UNPKG

shelving

Version:

Toolkit for using data in JavaScript.

19 lines (18 loc) 626 B
/** An error that provides additional helpful functionality. */ export class BaseError extends Error { constructor(message, options) { if (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); } else { super(message); Error.captureStackTrace(this, BaseError); } } } BaseError.prototype.name = "BaseError"; BaseError.prototype.message = "Unknown error";