UNPKG

reasonable-error

Version:

Create type-safe custom error classes with a specific reason + associated context.

24 lines 905 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.createErrorClass = void 0; const createErrorClass = () => (className) => { const ErrorClass = class extends Error { constructor(message, additionalInfo) { super(message, { cause: additionalInfo.cause, }); this.reason = additionalInfo.reason; this.context = additionalInfo.context; } }; // As a class (which is actually just a function) name is readonly, // we need to use definedProperty in order to set it Object.defineProperty(ErrorClass, "name", { value: className }); const isErrorClass = (value) => value instanceof ErrorClass; return { [`${className}`]: (ErrorClass), [`is${className}`]: isErrorClass, }; }; exports.createErrorClass = createErrorClass; //# sourceMappingURL=index.js.map