update
This commit is contained in:
47
package/node_modules/err-code/index.js
generated
vendored
Normal file
47
package/node_modules/err-code/index.js
generated
vendored
Normal file
@@ -0,0 +1,47 @@
|
||||
'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;
|
Reference in New Issue
Block a user