/node_modules/lodash/isError.js
https://bitbucket.org/coleman333/smartsite · JavaScript · 36 lines · 14 code · 3 blank · 19 comment · 8 complexity · ab9bfcb636d28e93e025d51cb42ae928 MD5 · raw file
- var baseGetTag = require('./_baseGetTag'),
- isObjectLike = require('./isObjectLike'),
- isPlainObject = require('./isPlainObject');
- /** `Object#toString` result references. */
- var domExcTag = '[object DOMException]',
- errorTag = '[object Error]';
- /**
- * Checks if `value` is an `Error`, `EvalError`, `RangeError`, `ReferenceError`,
- * `SyntaxError`, `TypeError`, or `URIError` object.
- *
- * @static
- * @memberOf _
- * @since 3.0.0
- * @category Lang
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is an error object, else `false`.
- * @example
- *
- * _.isError(new Error);
- * // => true
- *
- * _.isError(Error);
- * // => false
- */
- function isError(value) {
- if (!isObjectLike(value)) {
- return false;
- }
- var tag = baseGetTag(value);
- return tag == errorTag || tag == domExcTag ||
- (typeof value.message == 'string' && typeof value.name == 'string' && !isPlainObject(value));
- }
- module.exports = isError;