limepot-xyz/BETA/mybulma/node_modules/err-code/index.js
LimePot 76722fec47 Beta Site
Going to slowly work on a Bulma site, which will end up being the main site.

Currently under the /BETA/ folder so Alpha site will still be main site.
2022-12-20 16:23:37 -07:00

47 lines
933 B
JavaScript

'use strict';
function assign(obj, props) {
for (const key in props) {
Object.defineProperty(obj, key, {
value: props[key],
enumerable: true,
configurable: true,
});
}
return obj;
}
function createError(err, code, props) {
if (!err || typeof err === 'string') {
throw new TypeError('Please pass an Error to err-code');
}
if (!props) {
props = {};
}
if (typeof code === 'object') {
props = code;
code = undefined;
}
if (code != null) {
props.code = code;
}
try {
return assign(err, props);
} catch (_) {
props.message = err.message;
props.stack = err.stack;
const ErrClass = function () {};
ErrClass.prototype = Object.create(Object.getPrototypeOf(err));
return assign(new ErrClass(), props);
}
}
module.exports = createError;