Refine _.isError checks to avoid false positives on plain objects.

This commit is contained in:
John-David Dalton
2016-10-09 19:54:37 -07:00
parent 054e78572b
commit 22b51ed232
2 changed files with 10 additions and 2 deletions

View File

@@ -88,6 +88,7 @@
arrayTag = '[object Array]',
boolTag = '[object Boolean]',
dateTag = '[object Date]',
domExcTag = '[object DOMException]',
errorTag = '[object Error]',
funcTag = '[object Function]',
genTag = '[object GeneratorFunction]',
@@ -11584,8 +11585,9 @@
if (!isObjectLike(value)) {
return false;
}
return (baseGetTag(value) == errorTag) ||
(typeof value.message == 'string' && typeof value.name == 'string');
var tag = baseGetTag(value);
return tag == errorTag || tag == domExcTag ||
(typeof value.message == 'string' && typeof value.name == 'string' && !isPlainObject(value));
}
/**