shelving
Version:
Toolkit for using data in JavaScript.
12 lines (11 loc) • 424 B
JavaScript
/** An error that provides additional helpful functionality. */
export class BaseError extends Error {
constructor(message, options = {}) {
super(message, options);
const { cause, caller = BaseError, ...rest } = options;
for (const [key, value] of Object.entries(rest))
this[key] = value;
Error.captureStackTrace(this, caller);
}
}
BaseError.prototype.name = "BaseError";