23 lines
812 B
JavaScript
23 lines
812 B
JavaScript
export class ProviderError extends Error {
|
|
constructor(message, options = true) {
|
|
let logger;
|
|
let tryNextLink = true;
|
|
if (typeof options === "boolean") {
|
|
logger = undefined;
|
|
tryNextLink = options;
|
|
}
|
|
else if (options != null && typeof options === "object") {
|
|
logger = options.logger;
|
|
tryNextLink = options.tryNextLink ?? true;
|
|
}
|
|
super(message);
|
|
this.name = "ProviderError";
|
|
this.tryNextLink = tryNextLink;
|
|
Object.setPrototypeOf(this, ProviderError.prototype);
|
|
logger?.debug?.(`@smithy/property-provider ${tryNextLink ? "->" : "(!)"} ${message}`);
|
|
}
|
|
static from(error, options = true) {
|
|
return Object.assign(new this(error.message, options), error);
|
|
}
|
|
}
|