UNPKG

@rimbu/common

Version:

Common types and objects used in many other Rimbu packages

62 lines 1.95 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ErrBase = exports.Err = void 0; var tslib_1 = require("tslib"); /** * Throws an `Err.ForcedError` error when called. * @example * ```ts * const emptyMap = HashMap.empty<number, string>() * emptyMap.get(5, Err); * // throws: Err.CustomError(message: 'Err: forced to throw error') * ``` */ function Err() { return ErrBase.msg('Err: Forced to throw error')(); } exports.Err = Err; var ErrBase; (function (ErrBase) { /** * A custom error instance. */ var CustomError = /** @class */ (function () { function CustomError(message) { this.message = message; } Object.defineProperty(CustomError.prototype, "name", { get: function () { return this.constructor.name; }, enumerable: false, configurable: true }); return CustomError; }()); ErrBase.CustomError = CustomError; var ForcedError = /** @class */ (function (_super) { tslib_1.__extends(ForcedError, _super); function ForcedError() { return _super !== null && _super.apply(this, arguments) || this; } return ForcedError; }(CustomError)); ErrBase.ForcedError = ForcedError; /** * Returns a function that, when called, throws an `Err.ForcedError` with the given `message` string. * @param message - the message to put in the `Err.ForcedError` instance. * @example * ```ts * const emptyMap = HashMap.empty<number, string>() * emptyMap.get(5, ErrBase.msg('not found')); * // throws: Err.CustomError(message: 'not found') * ``` */ function msg(message) { return function () { throw new ErrBase.ForcedError(message); }; } ErrBase.msg = msg; })(ErrBase || (exports.ErrBase = ErrBase = {})); //# sourceMappingURL=err.cjs.map