mirror of
https://github.com/whoisclebs/lodash.git
synced 2026-02-11 19:37:49 +00:00
Remove a isTypedArray check and unnecessary stack creation from baseIsEqualDeep.
This commit is contained in:
27
lodash.js
27
lodash.js
@@ -2877,41 +2877,36 @@
|
|||||||
|
|
||||||
if (!objIsArr) {
|
if (!objIsArr) {
|
||||||
objTag = getTag(object);
|
objTag = getTag(object);
|
||||||
if (objTag == argsTag) {
|
objTag = objTag == argsTag ? objectTag : objTag;
|
||||||
objTag = objectTag;
|
|
||||||
} else if (objTag != objectTag) {
|
|
||||||
objIsArr = isTypedArray(object);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
if (!othIsArr) {
|
if (!othIsArr) {
|
||||||
othTag = getTag(other);
|
othTag = getTag(other);
|
||||||
if (othTag == argsTag) {
|
othTag = othTag == argsTag ? objectTag : othTag;
|
||||||
othTag = objectTag;
|
|
||||||
} else if (othTag != objectTag) {
|
|
||||||
othIsArr = isTypedArray(other);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
var objIsObj = objTag == objectTag && !isHostObject(object),
|
var objIsObj = objTag == objectTag && !isHostObject(object),
|
||||||
othIsObj = othTag == objectTag && !isHostObject(other),
|
othIsObj = othTag == objectTag && !isHostObject(other),
|
||||||
isSameTag = objTag == othTag;
|
isSameTag = objTag == othTag;
|
||||||
|
|
||||||
stack || (stack = new Stack);
|
if (isSameTag && !objIsObj) {
|
||||||
if (isSameTag && !(objIsArr || objIsObj)) {
|
stack || (stack = new Stack);
|
||||||
return equalByTag(object, other, objTag, equalFunc, customizer, bitmask, stack);
|
return (objIsArr || isTypedArray(object))
|
||||||
|
? equalArrays(object, other, equalFunc, customizer, bitmask, stack)
|
||||||
|
: equalByTag(object, other, objTag, equalFunc, customizer, bitmask, stack);
|
||||||
}
|
}
|
||||||
var isPartial = bitmask & PARTIAL_COMPARE_FLAG;
|
if (!(bitmask & PARTIAL_COMPARE_FLAG)) {
|
||||||
if (!isPartial) {
|
|
||||||
var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),
|
var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),
|
||||||
othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');
|
othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');
|
||||||
|
|
||||||
if (objIsWrapped || othIsWrapped) {
|
if (objIsWrapped || othIsWrapped) {
|
||||||
|
stack || (stack = new Stack);
|
||||||
return equalFunc(objIsWrapped ? object.value() : object, othIsWrapped ? other.value() : other, customizer, bitmask, stack);
|
return equalFunc(objIsWrapped ? object.value() : object, othIsWrapped ? other.value() : other, customizer, bitmask, stack);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (!isSameTag) {
|
if (!isSameTag) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
return (objIsArr ? equalArrays : equalObjects)(object, other, equalFunc, customizer, bitmask, stack);
|
stack || (stack = new Stack);
|
||||||
|
return equalObjects(object, other, equalFunc, customizer, bitmask, stack);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
Reference in New Issue
Block a user