You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							36 lines
						
					
					
						
							961 B
						
					
					
				
			
		
		
	
	
							36 lines
						
					
					
						
							961 B
						
					
					
				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;
 | 
						|
 |