The Wayback Machine - https://web.archive.org/web/20170626180339/https://github.com/lodash/lodash/blob/master/isError.js
Skip to content
Permalink
6cb3460 Feb 6, 2017
31 lines (28 sloc) 834 Bytes
import baseGetTag from './.internal/baseGetTag.js'
import isObjectLike from './isObjectLike.js'
import isPlainObject from './isPlainObject.js'
/**
* Checks if `value` is an `Error`, `EvalError`, `RangeError`, `ReferenceError`,
* `SyntaxError`, `TypeError`, or `URIError` object.
*
* @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
}
const tag = baseGetTag(value)
return tag == '[object Error]' || tag == '[object DOMException]' ||
(typeof value.message == 'string' && typeof value.name == 'string' && !isPlainObject(value))
}
export default isError
You can't perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Morty Proxy This is a proxified and sanitized view of the page, visit original site.