@devgrid/messagepack
Version:
Extandable MessagePack serializer
32 lines • 1.13 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.getStdErrorId = exports.createError = exports.idErrorMap = exports.stdErrors = exports.stdIdMap = exports.errorIdMap = void 0;
exports.errorIdMap = {};
exports.stdIdMap = {};
exports.stdErrors = [];
exports.idErrorMap = {
1: Error,
2: SyntaxError,
3: TypeError,
4: ReferenceError,
5: RangeError,
6: EvalError,
7: URIError,
};
const keys = Object.keys(exports.idErrorMap).map((v) => +v);
for (let i = 0; i < keys.length; i++) {
const errCode = keys[i];
const ExceptionClass = exports.idErrorMap[errCode];
exports.errorIdMap[ExceptionClass] = errCode;
exports.stdErrors.push(ExceptionClass);
exports.stdIdMap[ExceptionClass.name] = errCode;
}
const createError = (id, message, stack) => {
const err = new exports.idErrorMap[id](message);
err.stack = stack;
return err;
};
exports.createError = createError;
const getStdErrorId = (err) => exports.stdIdMap[err.constructor.name] ?? exports.stdIdMap[Error.name];
exports.getStdErrorId = getStdErrorId;
//# sourceMappingURL=errors.js.map