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