@rimbu/common
Version:
Common types and objects used in many other Rimbu packages
62 lines • 1.95 kB
JavaScript
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
;