diff options
Diffstat (limited to 'node_modules/is-error/index.js')
-rw-r--r-- | node_modules/is-error/index.js | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/node_modules/is-error/index.js b/node_modules/is-error/index.js new file mode 100644 index 000000000..c0b4dbeab --- /dev/null +++ b/node_modules/is-error/index.js @@ -0,0 +1,23 @@ +'use strict'; + +var objectToString = Object.prototype.toString; +var getPrototypeOf = Object.getPrototypeOf; +var ERROR_TYPE = '[object Error]'; + +module.exports = function isError(err) { + if (typeof err !== 'object') { + return false; + } + if (err instanceof Error) { + // Accept `AssertionError`s from the `assert` module that ships + // with Node.js v6.1.0, compare issue #4. + return true; + } + while (err) { + if (objectToString.call(err) === ERROR_TYPE) { + return true; + } + err = getPrototypeOf(err); + } + return false; +}; |