commit
This commit is contained in:
parent
70e2f7a8aa
commit
008d2f30d7
675 changed files with 189892 additions and 0 deletions
53
node_modules/failure/index.js
generated
vendored
Normal file
53
node_modules/failure/index.js
generated
vendored
Normal file
|
@ -0,0 +1,53 @@
|
|||
'use strict';
|
||||
|
||||
var has = Object.prototype.hasOwnProperty;
|
||||
|
||||
/**
|
||||
* Return an object with all the information that should be in the JSON output.
|
||||
* It doesn't matter if we list keys that might not be in the err as the
|
||||
* JSON.stringify will remove properties who's values are set to `undefined`. So
|
||||
* we want to make sure that we include some common properties.
|
||||
*
|
||||
* @returns {Object}
|
||||
* @api public
|
||||
*/
|
||||
function toJSON() {
|
||||
var obj = { message: this.message, stack: this.stack }, key;
|
||||
|
||||
for (key in this) {
|
||||
if (
|
||||
has.call(this, key)
|
||||
&& 'function' !== typeof this[key]
|
||||
) {
|
||||
obj[key] = this[key];
|
||||
}
|
||||
}
|
||||
|
||||
return obj;
|
||||
}
|
||||
|
||||
/**
|
||||
* Generate a custom wrapped error object.
|
||||
*
|
||||
* @param {String|Error} err Error that needs to have additional properties.
|
||||
* @param {Object} props Addition properties for the Error.
|
||||
* @returns {Error} The generated or returned Error instance
|
||||
* @api public
|
||||
*/
|
||||
module.exports = function failure(err, props) {
|
||||
if (!err) err = 'Unspecified error';
|
||||
if ('string' === typeof err) err = new Error(err);
|
||||
|
||||
if (props) for (var prop in props) {
|
||||
if (!(prop in err) && has.call(props, prop)) {
|
||||
err[prop] = props[prop];
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// Add a custom `toJSON` method so we can generate a useful output when
|
||||
// running these objects through JSON.stringify.
|
||||
//
|
||||
if ('function' !== typeof err.toJSON) err.toJSON = toJSON;
|
||||
return err;
|
||||
};
|
Loading…
Add table
Add a link
Reference in a new issue