mirror of
https://github.com/whoisclebs/lodash.git
synced 2026-02-09 18:37:50 +00:00
Simplify isCommon and isCombo checks in mergeData.
This commit is contained in:
@@ -22,8 +22,8 @@
|
|||||||
CURRY_RIGHT_FLAG = 16,
|
CURRY_RIGHT_FLAG = 16,
|
||||||
PARTIAL_FLAG = 32,
|
PARTIAL_FLAG = 32,
|
||||||
PARTIAL_RIGHT_FLAG = 64,
|
PARTIAL_RIGHT_FLAG = 64,
|
||||||
REARG_FLAG = 128,
|
ARY_FLAG = 128,
|
||||||
ARY_FLAG = 256;
|
REARG_FLAG = 256;
|
||||||
|
|
||||||
/** Used as default options for `_.trunc`. */
|
/** Used as default options for `_.trunc`. */
|
||||||
var DEFAULT_TRUNC_LENGTH = 30,
|
var DEFAULT_TRUNC_LENGTH = 30,
|
||||||
@@ -3997,22 +3997,13 @@
|
|||||||
function mergeData(data, source) {
|
function mergeData(data, source) {
|
||||||
var bitmask = data[1],
|
var bitmask = data[1],
|
||||||
srcBitmask = source[1],
|
srcBitmask = source[1],
|
||||||
newBitmask = bitmask | srcBitmask;
|
newBitmask = bitmask | srcBitmask,
|
||||||
|
isCommon = newBitmask < ARY_FLAG;
|
||||||
|
|
||||||
var arityFlags = ARY_FLAG | REARG_FLAG,
|
var isCombo =
|
||||||
bindFlags = BIND_FLAG | BIND_KEY_FLAG,
|
(srcBitmask == ARY_FLAG && bitmask == CURRY_FLAG) ||
|
||||||
comboFlags = arityFlags | bindFlags | CURRY_BOUND_FLAG | CURRY_RIGHT_FLAG;
|
(srcBitmask == ARY_FLAG && bitmask == REARG_FLAG && data[7].length <= source[8]) ||
|
||||||
|
(srcBitmask == (ARY_FLAG | REARG_FLAG) && bitmask == CURRY_FLAG);
|
||||||
var isAry = bitmask & ARY_FLAG && !(srcBitmask & ARY_FLAG),
|
|
||||||
isRearg = bitmask & REARG_FLAG && !(srcBitmask & REARG_FLAG),
|
|
||||||
argPos = (isRearg ? data : source)[7],
|
|
||||||
ary = (isAry ? data : source)[8];
|
|
||||||
|
|
||||||
var isCommon = !(bitmask >= REARG_FLAG && srcBitmask > bindFlags) &&
|
|
||||||
!(bitmask > bindFlags && srcBitmask >= REARG_FLAG);
|
|
||||||
|
|
||||||
var isCombo = (newBitmask >= arityFlags && newBitmask <= comboFlags) &&
|
|
||||||
(bitmask < REARG_FLAG || ((isRearg || isAry) && argPos.length <= ary));
|
|
||||||
|
|
||||||
// Exit early if metadata can't be merged.
|
// Exit early if metadata can't be merged.
|
||||||
if (!(isCommon || isCombo)) {
|
if (!(isCommon || isCombo)) {
|
||||||
|
|||||||
Reference in New Issue
Block a user