lodash-rails 4.16.6 → 4.17.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +1 -1
- data/lib/lodash/rails/version.rb +1 -1
- data/vendor/assets/javascripts/lodash.core.js +43 -57
- data/vendor/assets/javascripts/lodash.core.min.js +17 -17
- data/vendor/assets/javascripts/lodash.js +251 -204
- data/vendor/assets/javascripts/lodash.min.js +125 -124
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 71c27c620c28739345fd82e4ef9be84fb3e21f02
|
4
|
+
data.tar.gz: 59d36f9b1aabce710afda4f4102894ddb38d6b56
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2b50ca45973f7f56aeaf14bd118f3db873810769884ab7f885bc1ba411b0ee17e76ab0bfd7ceef7419870a3a61cbee1c04d8840ea95535ec6cc9f16bbdc26625
|
7
|
+
data.tar.gz: d870f9e4fa8312b2b6554ace284aecf94804bc9e238295cf0107f8417262137d41a6d7392a127ff9f69614626653333267025556be1ac287675c34aa8c218b0a
|
data/README.md
CHANGED
data/lib/lodash/rails/version.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
/**
|
2
2
|
* @license
|
3
|
-
*
|
3
|
+
* Lodash (Custom Build) <https://lodash.com/>
|
4
4
|
* Build: `lodash core -o ./dist/lodash.core.js`
|
5
5
|
* Copyright JS Foundation and other contributors <https://js.foundation/>
|
6
6
|
* Released under MIT license <https://lodash.com/license>
|
@@ -13,18 +13,18 @@
|
|
13
13
|
var undefined;
|
14
14
|
|
15
15
|
/** Used as the semantic version number. */
|
16
|
-
var VERSION = '4.
|
16
|
+
var VERSION = '4.17.2';
|
17
17
|
|
18
18
|
/** Error message constants. */
|
19
19
|
var FUNC_ERROR_TEXT = 'Expected a function';
|
20
20
|
|
21
|
-
/** Used to compose bitmasks for
|
22
|
-
var
|
23
|
-
|
21
|
+
/** Used to compose bitmasks for value comparisons. */
|
22
|
+
var COMPARE_PARTIAL_FLAG = 1,
|
23
|
+
COMPARE_UNORDERED_FLAG = 2;
|
24
24
|
|
25
|
-
/** Used to compose bitmasks for
|
26
|
-
var
|
27
|
-
|
25
|
+
/** Used to compose bitmasks for function metadata. */
|
26
|
+
var WRAP_BIND_FLAG = 1,
|
27
|
+
WRAP_PARTIAL_FLAG = 32;
|
28
28
|
|
29
29
|
/** Used as references for various `Number` constants. */
|
30
30
|
var INFINITY = 1 / 0,
|
@@ -662,22 +662,21 @@
|
|
662
662
|
* @private
|
663
663
|
* @param {*} value The value to compare.
|
664
664
|
* @param {*} other The other value to compare.
|
665
|
+
* @param {boolean} bitmask The bitmask flags.
|
666
|
+
* 1 - Unordered comparison
|
667
|
+
* 2 - Partial comparison
|
665
668
|
* @param {Function} [customizer] The function to customize comparisons.
|
666
|
-
* @param {boolean} [bitmask] The bitmask of comparison flags.
|
667
|
-
* The bitmask may be composed of the following flags:
|
668
|
-
* 1 - Unordered comparison
|
669
|
-
* 2 - Partial comparison
|
670
669
|
* @param {Object} [stack] Tracks traversed `value` and `other` objects.
|
671
670
|
* @returns {boolean} Returns `true` if the values are equivalent, else `false`.
|
672
671
|
*/
|
673
|
-
function baseIsEqual(value, other,
|
672
|
+
function baseIsEqual(value, other, bitmask, customizer, stack) {
|
674
673
|
if (value === other) {
|
675
674
|
return true;
|
676
675
|
}
|
677
676
|
if (value == null || other == null || (!isObject(value) && !isObjectLike(other))) {
|
678
677
|
return value !== value && other !== other;
|
679
678
|
}
|
680
|
-
return baseIsEqualDeep(value, other,
|
679
|
+
return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);
|
681
680
|
}
|
682
681
|
|
683
682
|
/**
|
@@ -688,14 +687,13 @@
|
|
688
687
|
* @private
|
689
688
|
* @param {Object} object The object to compare.
|
690
689
|
* @param {Object} other The other object to compare.
|
690
|
+
* @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.
|
691
|
+
* @param {Function} customizer The function to customize comparisons.
|
691
692
|
* @param {Function} equalFunc The function to determine equivalents of values.
|
692
|
-
* @param {Function} [customizer] The function to customize comparisons.
|
693
|
-
* @param {number} [bitmask] The bitmask of comparison flags. See `baseIsEqual`
|
694
|
-
* for more details.
|
695
693
|
* @param {Object} [stack] Tracks traversed `object` and `other` objects.
|
696
694
|
* @returns {boolean} Returns `true` if the objects are equivalent, else `false`.
|
697
695
|
*/
|
698
|
-
function baseIsEqualDeep(object, other,
|
696
|
+
function baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {
|
699
697
|
var objIsArr = isArray(object),
|
700
698
|
othIsArr = isArray(other),
|
701
699
|
objTag = arrayTag,
|
@@ -727,12 +725,12 @@
|
|
727
725
|
stack.push([other, object]);
|
728
726
|
if (isSameTag && !objIsObj) {
|
729
727
|
var result = (objIsArr)
|
730
|
-
? equalArrays(object, other,
|
731
|
-
: equalByTag(object, other, objTag,
|
728
|
+
? equalArrays(object, other, bitmask, customizer, equalFunc, stack)
|
729
|
+
: equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);
|
732
730
|
stack.pop();
|
733
731
|
return result;
|
734
732
|
}
|
735
|
-
if (!(bitmask &
|
733
|
+
if (!(bitmask & COMPARE_PARTIAL_FLAG)) {
|
736
734
|
var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),
|
737
735
|
othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');
|
738
736
|
|
@@ -740,7 +738,7 @@
|
|
740
738
|
var objUnwrapped = objIsWrapped ? object.value() : object,
|
741
739
|
othUnwrapped = othIsWrapped ? other.value() : other;
|
742
740
|
|
743
|
-
var result = equalFunc(objUnwrapped, othUnwrapped,
|
741
|
+
var result = equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);
|
744
742
|
stack.pop();
|
745
743
|
return result;
|
746
744
|
}
|
@@ -748,7 +746,7 @@
|
|
748
746
|
if (!isSameTag) {
|
749
747
|
return false;
|
750
748
|
}
|
751
|
-
var result = equalObjects(object, other,
|
749
|
+
var result = equalObjects(object, other, bitmask, customizer, equalFunc, stack);
|
752
750
|
stack.pop();
|
753
751
|
return result;
|
754
752
|
}
|
@@ -830,7 +828,7 @@
|
|
830
828
|
while (length--) {
|
831
829
|
var key = props[length];
|
832
830
|
if (!(key in object &&
|
833
|
-
baseIsEqual(source[key], object[key],
|
831
|
+
baseIsEqual(source[key], object[key], COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG)
|
834
832
|
)) {
|
835
833
|
return false;
|
836
834
|
}
|
@@ -845,7 +843,7 @@
|
|
845
843
|
*
|
846
844
|
* @private
|
847
845
|
* @param {Object} object The source object.
|
848
|
-
* @param {string[]}
|
846
|
+
* @param {string[]} paths The property paths to pick.
|
849
847
|
* @returns {Object} Returns the new object.
|
850
848
|
*/
|
851
849
|
function basePick(object, props) {
|
@@ -1162,7 +1160,7 @@
|
|
1162
1160
|
if (typeof func != 'function') {
|
1163
1161
|
throw new TypeError(FUNC_ERROR_TEXT);
|
1164
1162
|
}
|
1165
|
-
var isBind = bitmask &
|
1163
|
+
var isBind = bitmask & WRAP_BIND_FLAG,
|
1166
1164
|
Ctor = createCtor(func);
|
1167
1165
|
|
1168
1166
|
function wrapper() {
|
@@ -1191,15 +1189,14 @@
|
|
1191
1189
|
* @private
|
1192
1190
|
* @param {Array} array The array to compare.
|
1193
1191
|
* @param {Array} other The other array to compare.
|
1194
|
-
* @param {
|
1192
|
+
* @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.
|
1195
1193
|
* @param {Function} customizer The function to customize comparisons.
|
1196
|
-
* @param {
|
1197
|
-
* for more details.
|
1194
|
+
* @param {Function} equalFunc The function to determine equivalents of values.
|
1198
1195
|
* @param {Object} stack Tracks traversed `array` and `other` objects.
|
1199
1196
|
* @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.
|
1200
1197
|
*/
|
1201
|
-
function equalArrays(array, other,
|
1202
|
-
var isPartial = bitmask &
|
1198
|
+
function equalArrays(array, other, bitmask, customizer, equalFunc, stack) {
|
1199
|
+
var isPartial = bitmask & COMPARE_PARTIAL_FLAG,
|
1203
1200
|
arrLength = array.length,
|
1204
1201
|
othLength = other.length;
|
1205
1202
|
|
@@ -1208,7 +1205,7 @@
|
|
1208
1205
|
}
|
1209
1206
|
var index = -1,
|
1210
1207
|
result = true,
|
1211
|
-
seen = (bitmask &
|
1208
|
+
seen = (bitmask & COMPARE_UNORDERED_FLAG) ? [] : undefined;
|
1212
1209
|
|
1213
1210
|
// Ignore non-index properties.
|
1214
1211
|
while (++index < arrLength) {
|
@@ -1227,7 +1224,7 @@
|
|
1227
1224
|
if (seen) {
|
1228
1225
|
if (!baseSome(other, function(othValue, othIndex) {
|
1229
1226
|
if (!indexOf(seen, othIndex) &&
|
1230
|
-
(arrValue === othValue || equalFunc(arrValue, othValue,
|
1227
|
+
(arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {
|
1231
1228
|
return seen.push(othIndex);
|
1232
1229
|
}
|
1233
1230
|
})) {
|
@@ -1236,7 +1233,7 @@
|
|
1236
1233
|
}
|
1237
1234
|
} else if (!(
|
1238
1235
|
arrValue === othValue ||
|
1239
|
-
equalFunc(arrValue, othValue,
|
1236
|
+
equalFunc(arrValue, othValue, bitmask, customizer, stack)
|
1240
1237
|
)) {
|
1241
1238
|
result = false;
|
1242
1239
|
break;
|
@@ -1256,14 +1253,13 @@
|
|
1256
1253
|
* @param {Object} object The object to compare.
|
1257
1254
|
* @param {Object} other The other object to compare.
|
1258
1255
|
* @param {string} tag The `toStringTag` of the objects to compare.
|
1259
|
-
* @param {
|
1256
|
+
* @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.
|
1260
1257
|
* @param {Function} customizer The function to customize comparisons.
|
1261
|
-
* @param {
|
1262
|
-
* for more details.
|
1258
|
+
* @param {Function} equalFunc The function to determine equivalents of values.
|
1263
1259
|
* @param {Object} stack Tracks traversed `object` and `other` objects.
|
1264
1260
|
* @returns {boolean} Returns `true` if the objects are equivalent, else `false`.
|
1265
1261
|
*/
|
1266
|
-
function equalByTag(object, other, tag,
|
1262
|
+
function equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {
|
1267
1263
|
switch (tag) {
|
1268
1264
|
|
1269
1265
|
case boolTag:
|
@@ -1294,15 +1290,14 @@
|
|
1294
1290
|
* @private
|
1295
1291
|
* @param {Object} object The object to compare.
|
1296
1292
|
* @param {Object} other The other object to compare.
|
1297
|
-
* @param {
|
1293
|
+
* @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.
|
1298
1294
|
* @param {Function} customizer The function to customize comparisons.
|
1299
|
-
* @param {
|
1300
|
-
* for more details.
|
1295
|
+
* @param {Function} equalFunc The function to determine equivalents of values.
|
1301
1296
|
* @param {Object} stack Tracks traversed `object` and `other` objects.
|
1302
1297
|
* @returns {boolean} Returns `true` if the objects are equivalent, else `false`.
|
1303
1298
|
*/
|
1304
|
-
function equalObjects(object, other,
|
1305
|
-
var isPartial = bitmask &
|
1299
|
+
function equalObjects(object, other, bitmask, customizer, equalFunc, stack) {
|
1300
|
+
var isPartial = bitmask & COMPARE_PARTIAL_FLAG,
|
1306
1301
|
objProps = keys(object),
|
1307
1302
|
objLength = objProps.length,
|
1308
1303
|
othProps = keys(other),
|
@@ -1329,7 +1324,7 @@
|
|
1329
1324
|
var compared;
|
1330
1325
|
// Recursively compare objects (susceptible to call stack limits).
|
1331
1326
|
if (!(compared === undefined
|
1332
|
-
? (objValue === othValue || equalFunc(objValue, othValue,
|
1327
|
+
? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack))
|
1333
1328
|
: compared
|
1334
1329
|
)) {
|
1335
1330
|
result = false;
|
@@ -1444,15 +1439,6 @@
|
|
1444
1439
|
*/
|
1445
1440
|
var setToString = identity;
|
1446
1441
|
|
1447
|
-
/**
|
1448
|
-
* Converts `value` to a string key if it's not a string or symbol.
|
1449
|
-
*
|
1450
|
-
* @private
|
1451
|
-
* @param {*} value The value to inspect.
|
1452
|
-
* @returns {string|symbol} Returns the key.
|
1453
|
-
*/
|
1454
|
-
var toKey = String;
|
1455
|
-
|
1456
1442
|
/*------------------------------------------------------------------------*/
|
1457
1443
|
|
1458
1444
|
/**
|
@@ -2273,7 +2259,7 @@
|
|
2273
2259
|
* // => 'hi fred!'
|
2274
2260
|
*/
|
2275
2261
|
var bind = baseRest(function(func, thisArg, partials) {
|
2276
|
-
return createPartial(func,
|
2262
|
+
return createPartial(func, WRAP_BIND_FLAG | WRAP_PARTIAL_FLAG, thisArg, partials);
|
2277
2263
|
});
|
2278
2264
|
|
2279
2265
|
/**
|
@@ -3307,7 +3293,7 @@
|
|
3307
3293
|
* @memberOf _
|
3308
3294
|
* @category Object
|
3309
3295
|
* @param {Object} object The source object.
|
3310
|
-
* @param {...(string|string[])} [
|
3296
|
+
* @param {...(string|string[])} [paths] The property paths to pick.
|
3311
3297
|
* @returns {Object} Returns the new object.
|
3312
3298
|
* @example
|
3313
3299
|
*
|
@@ -3316,8 +3302,8 @@
|
|
3316
3302
|
* _.pick(object, ['a', 'c']);
|
3317
3303
|
* // => { 'a': 1, 'c': 3 }
|
3318
3304
|
*/
|
3319
|
-
var pick = flatRest(function(object,
|
3320
|
-
return object == null ? {} : basePick(object,
|
3305
|
+
var pick = flatRest(function(object, paths) {
|
3306
|
+
return object == null ? {} : basePick(object, paths);
|
3321
3307
|
});
|
3322
3308
|
|
3323
3309
|
/**
|
@@ -1,29 +1,29 @@
|
|
1
1
|
/**
|
2
2
|
* @license
|
3
|
-
*
|
3
|
+
* Lodash (Custom Build) lodash.com/license | Underscore.js 1.8.3 underscorejs.org/LICENSE
|
4
4
|
* Build: `lodash core -o ./dist/lodash.core.js`
|
5
5
|
*/
|
6
6
|
;(function(){function n(n){return K(n)&&pn.call(n,"callee")&&!bn.call(n,"callee")}function t(n,t){return n.push.apply(n,t),n}function r(n){return function(t){return null==t?nn:t[n]}}function e(n,t,r,e,u){return u(n,function(n,u,o){r=e?(e=false,n):t(r,n,u,o)}),r}function u(n,t){return d(t,function(t){return n[t]})}function o(n){return n instanceof i?n:new i(n)}function i(n,t){this.__wrapped__=n,this.__actions__=[],this.__chain__=!!t}function c(n,t,r,e){return n===nn||M(n,ln[r])&&!pn.call(e,r)?t:n}function f(n,t,r){
|
7
7
|
if(typeof n!="function")throw new TypeError("Expected a function");return setTimeout(function(){n.apply(nn,r)},t)}function a(n,t){var r=true;return mn(n,function(n,e,u){return r=!!t(n,e,u)}),r}function l(n,t,r){for(var e=-1,u=n.length;++e<u;){var o=n[e],i=t(o);if(null!=i&&(c===nn?i===i:r(i,c)))var c=i,f=o}return f}function p(n,t){var r=[];return mn(n,function(n,e,u){t(n,e,u)&&r.push(n)}),r}function s(n,r,e,u,o){var i=-1,c=n.length;for(e||(e=D),o||(o=[]);++i<c;){var f=n[i];0<r&&e(f)?1<r?s(f,r-1,e,u,o):t(o,f):u||(o[o.length]=f);
|
8
|
-
}return o}function h(n,t){return n&&On(n,t,
|
9
|
-
var p=
|
10
|
-
o.pop(),r):(i=i?n.value():n,f=f?t.value():t,r=
|
8
|
+
}return o}function h(n,t){return n&&On(n,t,In)}function v(n,t){return p(t,function(t){return V(n[t])})}function y(n,t){return n>t}function b(n,t,r,e,u){return n===t||(null==n||null==t||!H(n)&&!K(t)?n!==n&&t!==t:g(n,t,r,e,b,u))}function g(n,t,r,e,u,o){var i=Nn(n),c=Nn(t),f="[object Array]",a="[object Array]";i||(f=hn.call(n),f="[object Arguments]"==f?"[object Object]":f),c||(a=hn.call(t),a="[object Arguments]"==a?"[object Object]":a);var l="[object Object]"==f,c="[object Object]"==a,a=f==a;o||(o=[]);
|
9
|
+
var p=An(o,function(t){return t[0]==n}),s=An(o,function(n){return n[0]==t});if(p&&s)return p[1]==t;if(o.push([n,t]),o.push([t,n]),a&&!l){if(i)r=B(n,t,r,e,u,o);else n:{switch(f){case"[object Boolean]":case"[object Date]":case"[object Number]":r=M(+n,+t);break n;case"[object Error]":r=n.name==t.name&&n.message==t.message;break n;case"[object RegExp]":case"[object String]":r=n==t+"";break n}r=false}return o.pop(),r}return 1&r||(i=l&&pn.call(n,"__wrapped__"),f=c&&pn.call(t,"__wrapped__"),!i&&!f)?!!a&&(r=R(n,t,r,e,u,o),
|
10
|
+
o.pop(),r):(i=i?n.value():n,f=f?t.value():t,r=u(i,f,r,e,o),o.pop(),r)}function _(n){return typeof n=="function"?n:null==n?Y:(typeof n=="object"?m:r)(n)}function j(n,t){return n<t}function d(n,t){var r=-1,e=U(n)?Array(n.length):[];return mn(n,function(n,u,o){e[++r]=t(n,u,o)}),e}function m(n){var t=_n(n);return function(r){var e=t.length;if(null==r)return!e;for(r=Object(r);e--;){var u=t[e];if(!(u in r&&b(n[u],r[u],3)))return false}return true}}function O(n,t){return n=Object(n),G(t,function(t,r){return r in n&&(t[r]=n[r]),
|
11
11
|
t},{})}function x(n){return xn(q(n,void 0,Y),n+"")}function A(n,t,r){var e=-1,u=n.length;for(0>t&&(t=-t>u?0:u+t),r=r>u?u:r,0>r&&(r+=u),u=t>r?0:r-t>>>0,t>>>=0,r=Array(u);++e<u;)r[e]=n[e+t];return r}function E(n){return A(n,0,n.length)}function w(n,t){var r;return mn(n,function(n,e,u){return r=t(n,e,u),!r}),!!r}function k(n,r){return G(r,function(n,r){return r.func.apply(r.thisArg,t([n],r.args))},n)}function N(n,t,r,e){var u=!r;r||(r={});for(var o=-1,i=t.length;++o<i;){var c=t[o],f=e?e(r[c],n[c],c,r,n):nn;
|
12
|
-
if(f===nn&&(f=n[c]),u)r[c]=f;else{var a=r,l=a[c];pn.call(a,c)&&M(l,f)&&(f!==nn||c in a)||(a[c]=f)}}return r}function
|
13
|
-
for(;i--;)a[c++]=arguments[++o];return l.apply(t,a)}if(typeof n!="function")throw new TypeError("Expected a function");var u=
|
14
|
-
if(f!=a&&!i)return false;for(var l=f;l--;){var p=c[l];if(!(i?p in t:pn.call(t,p)))return false}for(a=true;++l<f;){var p=c[l],s=n[p],h=t[p];if(void 0!==nn||s!==h&&!
|
12
|
+
if(f===nn&&(f=n[c]),u)r[c]=f;else{var a=r,l=a[c];pn.call(a,c)&&M(l,f)&&(f!==nn||c in a)||(a[c]=f)}}return r}function F(n){return x(function(t,r){var e=-1,u=r.length,o=1<u?r[u-1]:nn,o=3<n.length&&typeof o=="function"?(u--,o):nn;for(t=Object(t);++e<u;){var i=r[e];i&&n(t,i,e,o)}return t})}function S(n){return function(){var t=arguments,r=dn(n.prototype),t=n.apply(r,t);return H(t)?t:r}}function T(n,t,r){function e(){for(var o=-1,i=arguments.length,c=-1,f=r.length,a=Array(f+i),l=this&&this!==on&&this instanceof e?u:n;++c<f;)a[c]=r[c];
|
13
|
+
for(;i--;)a[c++]=arguments[++o];return l.apply(t,a)}if(typeof n!="function")throw new TypeError("Expected a function");var u=S(n);return e}function B(n,t,r,e,u,o){var i=n.length,c=t.length;if(i!=c&&!(1&r&&c>i))return false;for(var c=-1,f=true,a=2&r?[]:nn;++c<i;){var l=n[c],p=t[c];if(void 0!==nn){f=false;break}if(a){if(!w(t,function(n,t){if(!z(a,t)&&(l===n||u(l,n,r,e,o)))return a.push(t)})){f=false;break}}else if(l!==p&&!u(l,p,r,e,o)){f=false;break}}return f}function R(n,t,r,e,u,o){var i=1&r,c=In(n),f=c.length,a=In(t).length;
|
14
|
+
if(f!=a&&!i)return false;for(var l=f;l--;){var p=c[l];if(!(i?p in t:pn.call(t,p)))return false}for(a=true;++l<f;){var p=c[l],s=n[p],h=t[p];if(void 0!==nn||s!==h&&!u(s,h,r,e,o)){a=false;break}i||(i="constructor"==p)}return a&&!i&&(r=n.constructor,e=t.constructor,r!=e&&"constructor"in n&&"constructor"in t&&!(typeof r=="function"&&r instanceof r&&typeof e=="function"&&e instanceof e)&&(a=false)),a}function D(t){return Nn(t)||n(t)}function I(n){var t=[];if(null!=n)for(var r in Object(n))t.push(r);return t}function q(n,t,r){
|
15
15
|
return t=jn(t===nn?n.length-1:t,0),function(){for(var e=arguments,u=-1,o=jn(e.length-t,0),i=Array(o);++u<o;)i[u]=e[t+u];for(u=-1,o=Array(t+1);++u<t;)o[u]=e[u];return o[t]=r(i),n.apply(this,o)}}function $(n){return(null==n?0:n.length)?s(n,1):[]}function P(n){return n&&n.length?n[0]:nn}function z(n,t,r){var e=null==n?0:n.length;r=typeof r=="number"?0>r?jn(e+r,0):r:0,r=(r||0)-1;for(var u=t===t;++r<e;){var o=n[r];if(u?o===t:o!==o)return r}return-1}function C(n,t){return mn(n,_(t))}function G(n,t,r){return e(n,_(t),r,3>arguments.length,mn);
|
16
16
|
}function J(n,t){var r;if(typeof t!="function")throw new TypeError("Expected a function");return n=Fn(n),function(){return 0<--n&&(r=t.apply(this,arguments)),1>=n&&(t=nn),r}}function M(n,t){return n===t||n!==n&&t!==t}function U(n){var t;return(t=null!=n)&&(t=n.length,t=typeof t=="number"&&-1<t&&0==t%1&&9007199254740991>=t),t&&!V(n)}function V(n){return!!H(n)&&(n=hn.call(n),"[object Function]"==n||"[object GeneratorFunction]"==n||"[object AsyncFunction]"==n||"[object Proxy]"==n)}function H(n){var t=typeof n;
|
17
|
-
return null!=n&&("object"==t||"function"==t)}function K(n){return null!=n&&typeof n=="object"}function L(n){return typeof n=="number"||K(n)&&"[object Number]"==hn.call(n)}function Q(n){return typeof n=="string"||!
|
17
|
+
return null!=n&&("object"==t||"function"==t)}function K(n){return null!=n&&typeof n=="object"}function L(n){return typeof n=="number"||K(n)&&"[object Number]"==hn.call(n)}function Q(n){return typeof n=="string"||!Nn(n)&&K(n)&&"[object String]"==hn.call(n)}function W(n){return typeof n=="string"?n:null==n?"":n+""}function X(n){return null==n?[]:u(n,In(n))}function Y(n){return n}function Z(n,r,e){var u=In(r),o=v(r,u);null!=e||H(r)&&(o.length||!u.length)||(e=r,r=n,n=this,o=v(r,In(r)));var i=!(H(e)&&"chain"in e&&!e.chain),c=V(n);
|
18
18
|
return mn(o,function(e){var u=r[e];n[e]=u,c&&(n.prototype[e]=function(){var r=this.__chain__;if(i||r){var e=n(this.__wrapped__);return(e.__actions__=E(this.__actions__)).push({func:u,args:arguments,thisArg:n}),e.__chain__=r,e}return u.apply(n,t([this.value()],arguments))})}),n}var nn,tn=1/0,rn=/[&<>"']/g,en=RegExp(rn.source),un=typeof self=="object"&&self&&self.Object===Object&&self,on=typeof global=="object"&&global&&global.Object===Object&&global||un||Function("return this")(),cn=(un=typeof exports=="object"&&exports&&!exports.nodeType&&exports)&&typeof module=="object"&&module&&!module.nodeType&&module,fn=function(n){
|
19
19
|
return function(t){return null==n?nn:n[t]}}({"&":"&","<":"<",">":">",'"':""","'":"'"}),an=Array.prototype,ln=Object.prototype,pn=ln.hasOwnProperty,sn=0,hn=ln.toString,vn=on._,yn=Object.create,bn=ln.propertyIsEnumerable,gn=on.isFinite,_n=function(n,t){return function(r){return n(t(r))}}(Object.keys,Object),jn=Math.max,dn=function(){function n(){}return function(t){return H(t)?yn?yn(t):(n.prototype=t,t=new n,n.prototype=nn,t):{}}}();i.prototype=dn(o.prototype),i.prototype.constructor=i;
|
20
|
-
var mn=function(n,t){return function(r,e){if(null==r)return r;if(!U(r))return n(r,e);for(var u=r.length,o=t?u:-1,i=Object(r);(t?o--:++o<u)&&false!==e(i[o],o,i););return r}}(h),On=function(n){return function(t,r,e){var u=-1,o=Object(t);e=e(t);for(var i=e.length;i--;){var c=e[n?i:++u];if(false===r(o[c],c,o))break}return t}}(),xn=Y,An=
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
var t=(/^(?:replace|split)$/.test(n)?String.prototype:an)[n],r=/^(?:push|sort|unshift)$/.test(n)?"tap":"thru",e=/^(?:pop|join|replace|shift)$/.test(n);o.prototype[n]=function(){var n=arguments;if(e&&!this.__chain__){var u=this.value();return t.apply(
|
20
|
+
var mn=function(n,t){return function(r,e){if(null==r)return r;if(!U(r))return n(r,e);for(var u=r.length,o=t?u:-1,i=Object(r);(t?o--:++o<u)&&false!==e(i[o],o,i););return r}}(h),On=function(n){return function(t,r,e){var u=-1,o=Object(t);e=e(t);for(var i=e.length;i--;){var c=e[n?i:++u];if(false===r(o[c],c,o))break}return t}}(),xn=Y,An=function(n){return function(t,r,e){var u=Object(t);if(!U(t)){var o=_(r);t=In(t),r=function(n){return o(u[n],n,u)}}return r=n(t,r,e),-1<r?u[o?t[r]:r]:nn}}(function(n,t,r){var e=null==n?0:n.length;
|
21
|
+
if(!e)return-1;r=null==r?0:Fn(r),0>r&&(r=jn(e+r,0));n:{for(t=_(t),e=n.length,r+=-1;++r<e;)if(t(n[r],r,n)){n=r;break n}n=-1}return n}),En=x(function(n,t,r){return T(n,t,r)}),wn=x(function(n,t){return f(n,1,t)}),kn=x(function(n,t,r){return f(n,Sn(t)||0,r)}),Nn=Array.isArray,Fn=Number,Sn=Number,Tn=F(function(n,t){N(t,_n(t),n)}),Bn=F(function(n,t){N(t,I(t),n)}),Rn=F(function(n,t,r,e){N(t,qn(t),n,e)}),Dn=x(function(n){return n.push(nn,c),Rn.apply(nn,n)}),In=_n,qn=I,$n=function(n){return xn(q(n,nn,$),n+"");
|
22
|
+
}(function(n,t){return null==n?{}:O(n,t)});o.assignIn=Bn,o.before=J,o.bind=En,o.chain=function(n){return n=o(n),n.__chain__=true,n},o.compact=function(n){return p(n,Boolean)},o.concat=function(){var n=arguments.length;if(!n)return[];for(var r=Array(n-1),e=arguments[0];n--;)r[n-1]=arguments[n];return t(Nn(e)?E(e):[e],s(r,1))},o.create=function(n,t){var r=dn(n);return null==t?r:Tn(r,t)},o.defaults=Dn,o.defer=wn,o.delay=kn,o.filter=function(n,t){return p(n,_(t))},o.flatten=$,o.flattenDeep=function(n){
|
23
|
+
return(null==n?0:n.length)?s(n,tn):[]},o.iteratee=_,o.keys=In,o.map=function(n,t){return d(n,_(t))},o.matches=function(n){return m(Tn({},n))},o.mixin=Z,o.negate=function(n){if(typeof n!="function")throw new TypeError("Expected a function");return function(){return!n.apply(this,arguments)}},o.once=function(n){return J(2,n)},o.pick=$n,o.slice=function(n,t,r){var e=null==n?0:n.length;return r=r===nn?e:+r,e?A(n,null==t?0:+t,r):[]},o.sortBy=function(n,t){var e=0;return t=_(t),d(d(n,function(n,r,u){return{
|
24
|
+
value:n,index:e++,criteria:t(n,r,u)}}).sort(function(n,t){var r;n:{r=n.criteria;var e=t.criteria;if(r!==e){var u=r!==nn,o=null===r,i=r===r,c=e!==nn,f=null===e,a=e===e;if(!f&&r>e||o&&c&&a||!u&&a||!i){r=1;break n}if(!o&&r<e||f&&u&&i||!c&&i||!a){r=-1;break n}}r=0}return r||n.index-t.index}),r("value"))},o.tap=function(n,t){return t(n),n},o.thru=function(n,t){return t(n)},o.toArray=function(n){return U(n)?n.length?E(n):[]:X(n)},o.values=X,o.extend=Bn,Z(o,o),o.clone=function(n){return H(n)?Nn(n)?E(n):N(n,_n(n)):n;
|
25
|
+
},o.escape=function(n){return(n=W(n))&&en.test(n)?n.replace(rn,fn):n},o.every=function(n,t,r){return t=r?nn:t,a(n,_(t))},o.find=An,o.forEach=C,o.has=function(n,t){return null!=n&&pn.call(n,t)},o.head=P,o.identity=Y,o.indexOf=z,o.isArguments=n,o.isArray=Nn,o.isBoolean=function(n){return true===n||false===n||K(n)&&"[object Boolean]"==hn.call(n)},o.isDate=function(n){return K(n)&&"[object Date]"==hn.call(n)},o.isEmpty=function(t){return U(t)&&(Nn(t)||Q(t)||V(t.splice)||n(t))?!t.length:!_n(t).length},o.isEqual=function(n,t){
|
26
|
+
return b(n,t)},o.isFinite=function(n){return typeof n=="number"&&gn(n)},o.isFunction=V,o.isNaN=function(n){return L(n)&&n!=+n},o.isNull=function(n){return null===n},o.isNumber=L,o.isObject=H,o.isRegExp=function(n){return K(n)&&"[object RegExp]"==hn.call(n)},o.isString=Q,o.isUndefined=function(n){return n===nn},o.last=function(n){var t=null==n?0:n.length;return t?n[t-1]:nn},o.max=function(n){return n&&n.length?l(n,Y,y):nn},o.min=function(n){return n&&n.length?l(n,Y,j):nn},o.noConflict=function(){return on._===this&&(on._=vn),
|
27
|
+
this},o.noop=function(){},o.reduce=G,o.result=function(n,t,r){return t=null==n?nn:n[t],t===nn&&(t=r),V(t)?t.call(n):t},o.size=function(n){return null==n?0:(n=U(n)?n:_n(n),n.length)},o.some=function(n,t,r){return t=r?nn:t,w(n,_(t))},o.uniqueId=function(n){var t=++sn;return W(n)+t},o.each=C,o.first=P,Z(o,function(){var n={};return h(o,function(t,r){pn.call(o.prototype,r)||(n[r]=t)}),n}(),{chain:false}),o.VERSION="4.17.2",mn("pop join replace reverse split push shift sort splice unshift".split(" "),function(n){
|
28
|
+
var t=(/^(?:replace|split)$/.test(n)?String.prototype:an)[n],r=/^(?:push|sort|unshift)$/.test(n)?"tap":"thru",e=/^(?:pop|join|replace|shift)$/.test(n);o.prototype[n]=function(){var n=arguments;if(e&&!this.__chain__){var u=this.value();return t.apply(Nn(u)?u:[],n)}return this[r](function(r){return t.apply(Nn(r)?r:[],n)})}}),o.prototype.toJSON=o.prototype.valueOf=o.prototype.value=function(){return k(this.__wrapped__,this.__actions__)},typeof define=="function"&&typeof define.amd=="object"&&define.amd?(on._=o,
|
29
29
|
define(function(){return o})):cn?((cn.exports=o)._=o,un._=o):on._=o}).call(this);
|
@@ -1,6 +1,6 @@
|
|
1
1
|
/**
|
2
2
|
* @license
|
3
|
-
*
|
3
|
+
* Lodash <https://lodash.com/>
|
4
4
|
* Copyright JS Foundation and other contributors <https://js.foundation/>
|
5
5
|
* Released under MIT license <https://lodash.com/license>
|
6
6
|
* Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
|
@@ -12,13 +12,13 @@
|
|
12
12
|
var undefined;
|
13
13
|
|
14
14
|
/** Used as the semantic version number. */
|
15
|
-
var VERSION = '4.
|
15
|
+
var VERSION = '4.17.2';
|
16
16
|
|
17
17
|
/** Used as the size to enable large array optimizations. */
|
18
18
|
var LARGE_ARRAY_SIZE = 200;
|
19
19
|
|
20
20
|
/** Error message constants. */
|
21
|
-
var CORE_ERROR_TEXT = 'Unsupported core-js use. Try https://
|
21
|
+
var CORE_ERROR_TEXT = 'Unsupported core-js use. Try https://npms.io/search?q=ponyfill.',
|
22
22
|
FUNC_ERROR_TEXT = 'Expected a function';
|
23
23
|
|
24
24
|
/** Used to stand-in for `undefined` hash values. */
|
@@ -30,21 +30,26 @@
|
|
30
30
|
/** Used as the internal argument placeholder. */
|
31
31
|
var PLACEHOLDER = '__lodash_placeholder__';
|
32
32
|
|
33
|
+
/** Used to compose bitmasks for cloning. */
|
34
|
+
var CLONE_DEEP_FLAG = 1,
|
35
|
+
CLONE_FLAT_FLAG = 2,
|
36
|
+
CLONE_SYMBOLS_FLAG = 4;
|
37
|
+
|
38
|
+
/** Used to compose bitmasks for value comparisons. */
|
39
|
+
var COMPARE_PARTIAL_FLAG = 1,
|
40
|
+
COMPARE_UNORDERED_FLAG = 2;
|
41
|
+
|
33
42
|
/** Used to compose bitmasks for function metadata. */
|
34
|
-
var
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
/** Used to compose bitmasks for comparison styles. */
|
46
|
-
var UNORDERED_COMPARE_FLAG = 1,
|
47
|
-
PARTIAL_COMPARE_FLAG = 2;
|
43
|
+
var WRAP_BIND_FLAG = 1,
|
44
|
+
WRAP_BIND_KEY_FLAG = 2,
|
45
|
+
WRAP_CURRY_BOUND_FLAG = 4,
|
46
|
+
WRAP_CURRY_FLAG = 8,
|
47
|
+
WRAP_CURRY_RIGHT_FLAG = 16,
|
48
|
+
WRAP_PARTIAL_FLAG = 32,
|
49
|
+
WRAP_PARTIAL_RIGHT_FLAG = 64,
|
50
|
+
WRAP_ARY_FLAG = 128,
|
51
|
+
WRAP_REARG_FLAG = 256,
|
52
|
+
WRAP_FLIP_FLAG = 512;
|
48
53
|
|
49
54
|
/** Used as default options for `_.truncate`. */
|
50
55
|
var DEFAULT_TRUNC_LENGTH = 30,
|
@@ -72,15 +77,15 @@
|
|
72
77
|
|
73
78
|
/** Used to associate wrap methods with their bit flags. */
|
74
79
|
var wrapFlags = [
|
75
|
-
['ary',
|
76
|
-
['bind',
|
77
|
-
['bindKey',
|
78
|
-
['curry',
|
79
|
-
['curryRight',
|
80
|
-
['flip',
|
81
|
-
['partial',
|
82
|
-
['partialRight',
|
83
|
-
['rearg',
|
80
|
+
['ary', WRAP_ARY_FLAG],
|
81
|
+
['bind', WRAP_BIND_FLAG],
|
82
|
+
['bindKey', WRAP_BIND_KEY_FLAG],
|
83
|
+
['curry', WRAP_CURRY_FLAG],
|
84
|
+
['curryRight', WRAP_CURRY_RIGHT_FLAG],
|
85
|
+
['flip', WRAP_FLIP_FLAG],
|
86
|
+
['partial', WRAP_PARTIAL_FLAG],
|
87
|
+
['partialRight', WRAP_PARTIAL_RIGHT_FLAG],
|
88
|
+
['rearg', WRAP_REARG_FLAG]
|
84
89
|
];
|
85
90
|
|
86
91
|
/** `Object#toString` result references. */
|
@@ -199,8 +204,10 @@
|
|
199
204
|
|
200
205
|
/** Used to compose unicode character classes. */
|
201
206
|
var rsAstralRange = '\\ud800-\\udfff',
|
202
|
-
rsComboMarksRange = '\\u0300-\\u036f
|
203
|
-
|
207
|
+
rsComboMarksRange = '\\u0300-\\u036f',
|
208
|
+
reComboHalfMarksRange = '\\ufe20-\\ufe2f',
|
209
|
+
rsComboSymbolsRange = '\\u20d0-\\u20ff',
|
210
|
+
rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange,
|
204
211
|
rsDingbatRange = '\\u2700-\\u27bf',
|
205
212
|
rsLowerRange = 'a-z\\xdf-\\xf6\\xf8-\\xff',
|
206
213
|
rsMathOpRange = '\\xac\\xb1\\xd7\\xf7',
|
@@ -215,7 +222,7 @@
|
|
215
222
|
var rsApos = "['\u2019]",
|
216
223
|
rsAstral = '[' + rsAstralRange + ']',
|
217
224
|
rsBreak = '[' + rsBreakRange + ']',
|
218
|
-
rsCombo = '[' +
|
225
|
+
rsCombo = '[' + rsComboRange + ']',
|
219
226
|
rsDigits = '\\d+',
|
220
227
|
rsDingbat = '[' + rsDingbatRange + ']',
|
221
228
|
rsLower = '[' + rsLowerRange + ']',
|
@@ -267,7 +274,7 @@
|
|
267
274
|
].join('|'), 'g');
|
268
275
|
|
269
276
|
/** Used to detect strings with [zero-width joiners or code points from the astral planes](http://eev.ee/blog/2015/09/12/dark-corners-of-unicode/). */
|
270
|
-
var reHasUnicode = RegExp('[' + rsZWJ + rsAstralRange +
|
277
|
+
var reHasUnicode = RegExp('[' + rsZWJ + rsAstralRange + rsComboRange + rsVarRange + ']');
|
271
278
|
|
272
279
|
/** Used to detect strings that need a more robust regexp to match words. */
|
273
280
|
var reHasUnicodeWord = /[a-z][A-Z]|[A-Z]{2,}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;
|
@@ -430,7 +437,7 @@
|
|
430
437
|
/** Used to access faster Node.js helpers. */
|
431
438
|
var nodeUtil = (function() {
|
432
439
|
try {
|
433
|
-
return freeProcess && freeProcess.binding('util');
|
440
|
+
return freeProcess && freeProcess.binding && freeProcess.binding('util');
|
434
441
|
} catch (e) {}
|
435
442
|
}());
|
436
443
|
|
@@ -2558,6 +2565,19 @@
|
|
2558
2565
|
return object && copyObject(source, keys(source), object);
|
2559
2566
|
}
|
2560
2567
|
|
2568
|
+
/**
|
2569
|
+
* The base implementation of `_.assignIn` without support for multiple sources
|
2570
|
+
* or `customizer` functions.
|
2571
|
+
*
|
2572
|
+
* @private
|
2573
|
+
* @param {Object} object The destination object.
|
2574
|
+
* @param {Object} source The source object.
|
2575
|
+
* @returns {Object} Returns `object`.
|
2576
|
+
*/
|
2577
|
+
function baseAssignIn(object, source) {
|
2578
|
+
return object && copyObject(source, keysIn(source), object);
|
2579
|
+
}
|
2580
|
+
|
2561
2581
|
/**
|
2562
2582
|
* The base implementation of `assignValue` and `assignMergeValue` without
|
2563
2583
|
* value checks.
|
@@ -2585,7 +2605,7 @@
|
|
2585
2605
|
*
|
2586
2606
|
* @private
|
2587
2607
|
* @param {Object} object The object to iterate over.
|
2588
|
-
* @param {string[]} paths The property paths
|
2608
|
+
* @param {string[]} paths The property paths to pick.
|
2589
2609
|
* @returns {Array} Returns the picked elements.
|
2590
2610
|
*/
|
2591
2611
|
function baseAt(object, paths) {
|
@@ -2627,16 +2647,22 @@
|
|
2627
2647
|
*
|
2628
2648
|
* @private
|
2629
2649
|
* @param {*} value The value to clone.
|
2630
|
-
* @param {boolean}
|
2631
|
-
*
|
2650
|
+
* @param {boolean} bitmask The bitmask flags.
|
2651
|
+
* 1 - Deep clone
|
2652
|
+
* 2 - Flatten inherited properties
|
2653
|
+
* 4 - Clone symbols
|
2632
2654
|
* @param {Function} [customizer] The function to customize cloning.
|
2633
2655
|
* @param {string} [key] The key of `value`.
|
2634
2656
|
* @param {Object} [object] The parent object of `value`.
|
2635
2657
|
* @param {Object} [stack] Tracks traversed objects and their clone counterparts.
|
2636
2658
|
* @returns {*} Returns the cloned value.
|
2637
2659
|
*/
|
2638
|
-
function baseClone(value,
|
2639
|
-
var result
|
2660
|
+
function baseClone(value, bitmask, customizer, key, object, stack) {
|
2661
|
+
var result,
|
2662
|
+
isDeep = bitmask & CLONE_DEEP_FLAG,
|
2663
|
+
isFlat = bitmask & CLONE_FLAT_FLAG,
|
2664
|
+
isFull = bitmask & CLONE_SYMBOLS_FLAG;
|
2665
|
+
|
2640
2666
|
if (customizer) {
|
2641
2667
|
result = object ? customizer(value, key, object, stack) : customizer(value);
|
2642
2668
|
}
|
@@ -2660,9 +2686,11 @@
|
|
2660
2686
|
return cloneBuffer(value, isDeep);
|
2661
2687
|
}
|
2662
2688
|
if (tag == objectTag || tag == argsTag || (isFunc && !object)) {
|
2663
|
-
result =
|
2689
|
+
result = (isFlat || isFunc) ? {} : initCloneObject(value);
|
2664
2690
|
if (!isDeep) {
|
2665
|
-
return
|
2691
|
+
return isFlat
|
2692
|
+
? copySymbolsIn(value, baseAssignIn(result, value))
|
2693
|
+
: copySymbols(value, baseAssign(result, value));
|
2666
2694
|
}
|
2667
2695
|
} else {
|
2668
2696
|
if (!cloneableTags[tag]) {
|
@@ -2679,14 +2707,18 @@
|
|
2679
2707
|
}
|
2680
2708
|
stack.set(value, result);
|
2681
2709
|
|
2682
|
-
var
|
2710
|
+
var keysFunc = isFull
|
2711
|
+
? (isFlat ? getAllKeysIn : getAllKeys)
|
2712
|
+
: (isFlat ? keysIn : keys);
|
2713
|
+
|
2714
|
+
var props = isArr ? undefined : keysFunc(value);
|
2683
2715
|
arrayEach(props || value, function(subValue, key) {
|
2684
2716
|
if (props) {
|
2685
2717
|
key = subValue;
|
2686
2718
|
subValue = value[key];
|
2687
2719
|
}
|
2688
2720
|
// Recursively populate clone (susceptible to call stack limits).
|
2689
|
-
assignValue(result, key, baseClone(subValue,
|
2721
|
+
assignValue(result, key, baseClone(subValue, bitmask, customizer, key, value, stack));
|
2690
2722
|
});
|
2691
2723
|
return result;
|
2692
2724
|
}
|
@@ -3024,7 +3056,7 @@
|
|
3024
3056
|
* @returns {*} Returns the resolved value.
|
3025
3057
|
*/
|
3026
3058
|
function baseGet(object, path) {
|
3027
|
-
path =
|
3059
|
+
path = castPath(path, object);
|
3028
3060
|
|
3029
3061
|
var index = 0,
|
3030
3062
|
length = path.length;
|
@@ -3210,12 +3242,9 @@
|
|
3210
3242
|
* @returns {*} Returns the result of the invoked method.
|
3211
3243
|
*/
|
3212
3244
|
function baseInvoke(object, path, args) {
|
3213
|
-
|
3214
|
-
|
3215
|
-
|
3216
|
-
path = last(path);
|
3217
|
-
}
|
3218
|
-
var func = object == null ? object : object[toKey(path)];
|
3245
|
+
path = castPath(path, object);
|
3246
|
+
object = parent(object, path);
|
3247
|
+
var func = object == null ? object : object[toKey(last(path))];
|
3219
3248
|
return func == null ? undefined : apply(func, object, args);
|
3220
3249
|
}
|
3221
3250
|
|
@@ -3259,22 +3288,21 @@
|
|
3259
3288
|
* @private
|
3260
3289
|
* @param {*} value The value to compare.
|
3261
3290
|
* @param {*} other The other value to compare.
|
3291
|
+
* @param {boolean} bitmask The bitmask flags.
|
3292
|
+
* 1 - Unordered comparison
|
3293
|
+
* 2 - Partial comparison
|
3262
3294
|
* @param {Function} [customizer] The function to customize comparisons.
|
3263
|
-
* @param {boolean} [bitmask] The bitmask of comparison flags.
|
3264
|
-
* The bitmask may be composed of the following flags:
|
3265
|
-
* 1 - Unordered comparison
|
3266
|
-
* 2 - Partial comparison
|
3267
3295
|
* @param {Object} [stack] Tracks traversed `value` and `other` objects.
|
3268
3296
|
* @returns {boolean} Returns `true` if the values are equivalent, else `false`.
|
3269
3297
|
*/
|
3270
|
-
function baseIsEqual(value, other,
|
3298
|
+
function baseIsEqual(value, other, bitmask, customizer, stack) {
|
3271
3299
|
if (value === other) {
|
3272
3300
|
return true;
|
3273
3301
|
}
|
3274
3302
|
if (value == null || other == null || (!isObject(value) && !isObjectLike(other))) {
|
3275
3303
|
return value !== value && other !== other;
|
3276
3304
|
}
|
3277
|
-
return baseIsEqualDeep(value, other,
|
3305
|
+
return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);
|
3278
3306
|
}
|
3279
3307
|
|
3280
3308
|
/**
|
@@ -3285,14 +3313,13 @@
|
|
3285
3313
|
* @private
|
3286
3314
|
* @param {Object} object The object to compare.
|
3287
3315
|
* @param {Object} other The other object to compare.
|
3316
|
+
* @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.
|
3317
|
+
* @param {Function} customizer The function to customize comparisons.
|
3288
3318
|
* @param {Function} equalFunc The function to determine equivalents of values.
|
3289
|
-
* @param {Function} [customizer] The function to customize comparisons.
|
3290
|
-
* @param {number} [bitmask] The bitmask of comparison flags. See `baseIsEqual`
|
3291
|
-
* for more details.
|
3292
3319
|
* @param {Object} [stack] Tracks traversed `object` and `other` objects.
|
3293
3320
|
* @returns {boolean} Returns `true` if the objects are equivalent, else `false`.
|
3294
3321
|
*/
|
3295
|
-
function baseIsEqualDeep(object, other,
|
3322
|
+
function baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {
|
3296
3323
|
var objIsArr = isArray(object),
|
3297
3324
|
othIsArr = isArray(other),
|
3298
3325
|
objTag = arrayTag,
|
@@ -3320,10 +3347,10 @@
|
|
3320
3347
|
if (isSameTag && !objIsObj) {
|
3321
3348
|
stack || (stack = new Stack);
|
3322
3349
|
return (objIsArr || isTypedArray(object))
|
3323
|
-
? equalArrays(object, other,
|
3324
|
-
: equalByTag(object, other, objTag,
|
3350
|
+
? equalArrays(object, other, bitmask, customizer, equalFunc, stack)
|
3351
|
+
: equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);
|
3325
3352
|
}
|
3326
|
-
if (!(bitmask &
|
3353
|
+
if (!(bitmask & COMPARE_PARTIAL_FLAG)) {
|
3327
3354
|
var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),
|
3328
3355
|
othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');
|
3329
3356
|
|
@@ -3332,14 +3359,14 @@
|
|
3332
3359
|
othUnwrapped = othIsWrapped ? other.value() : other;
|
3333
3360
|
|
3334
3361
|
stack || (stack = new Stack);
|
3335
|
-
return equalFunc(objUnwrapped, othUnwrapped,
|
3362
|
+
return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);
|
3336
3363
|
}
|
3337
3364
|
}
|
3338
3365
|
if (!isSameTag) {
|
3339
3366
|
return false;
|
3340
3367
|
}
|
3341
3368
|
stack || (stack = new Stack);
|
3342
|
-
return equalObjects(object, other,
|
3369
|
+
return equalObjects(object, other, bitmask, customizer, equalFunc, stack);
|
3343
3370
|
}
|
3344
3371
|
|
3345
3372
|
/**
|
@@ -3397,7 +3424,7 @@
|
|
3397
3424
|
var result = customizer(objValue, srcValue, key, object, source, stack);
|
3398
3425
|
}
|
3399
3426
|
if (!(result === undefined
|
3400
|
-
? baseIsEqual(srcValue, objValue,
|
3427
|
+
? baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG, customizer, stack)
|
3401
3428
|
: result
|
3402
3429
|
)) {
|
3403
3430
|
return false;
|
@@ -3587,7 +3614,7 @@
|
|
3587
3614
|
var objValue = get(object, path);
|
3588
3615
|
return (objValue === undefined && objValue === srcValue)
|
3589
3616
|
? hasIn(object, path)
|
3590
|
-
: baseIsEqual(srcValue, objValue,
|
3617
|
+
: baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG);
|
3591
3618
|
};
|
3592
3619
|
}
|
3593
3620
|
|
@@ -3749,13 +3776,13 @@
|
|
3749
3776
|
*
|
3750
3777
|
* @private
|
3751
3778
|
* @param {Object} object The source object.
|
3752
|
-
* @param {string[]}
|
3779
|
+
* @param {string[]} paths The property paths to pick.
|
3753
3780
|
* @returns {Object} Returns the new object.
|
3754
3781
|
*/
|
3755
|
-
function basePick(object,
|
3782
|
+
function basePick(object, paths) {
|
3756
3783
|
object = Object(object);
|
3757
|
-
return basePickBy(object,
|
3758
|
-
return
|
3784
|
+
return basePickBy(object, paths, function(value, path) {
|
3785
|
+
return hasIn(object, path);
|
3759
3786
|
});
|
3760
3787
|
}
|
3761
3788
|
|
@@ -3764,21 +3791,21 @@
|
|
3764
3791
|
*
|
3765
3792
|
* @private
|
3766
3793
|
* @param {Object} object The source object.
|
3767
|
-
* @param {string[]}
|
3794
|
+
* @param {string[]} paths The property paths to pick.
|
3768
3795
|
* @param {Function} predicate The function invoked per property.
|
3769
3796
|
* @returns {Object} Returns the new object.
|
3770
3797
|
*/
|
3771
|
-
function basePickBy(object,
|
3798
|
+
function basePickBy(object, paths, predicate) {
|
3772
3799
|
var index = -1,
|
3773
|
-
length =
|
3800
|
+
length = paths.length,
|
3774
3801
|
result = {};
|
3775
3802
|
|
3776
3803
|
while (++index < length) {
|
3777
|
-
var
|
3778
|
-
value = object
|
3804
|
+
var path = paths[index],
|
3805
|
+
value = baseGet(object, path);
|
3779
3806
|
|
3780
|
-
if (predicate(value,
|
3781
|
-
|
3807
|
+
if (predicate(value, path)) {
|
3808
|
+
baseSet(result, castPath(path, object), value);
|
3782
3809
|
}
|
3783
3810
|
}
|
3784
3811
|
return result;
|
@@ -3854,17 +3881,8 @@
|
|
3854
3881
|
var previous = index;
|
3855
3882
|
if (isIndex(index)) {
|
3856
3883
|
splice.call(array, index, 1);
|
3857
|
-
}
|
3858
|
-
|
3859
|
-
var path = castPath(index),
|
3860
|
-
object = parent(array, path);
|
3861
|
-
|
3862
|
-
if (object != null) {
|
3863
|
-
delete object[toKey(last(path))];
|
3864
|
-
}
|
3865
|
-
}
|
3866
|
-
else {
|
3867
|
-
delete array[toKey(index)];
|
3884
|
+
} else {
|
3885
|
+
baseUnset(array, index);
|
3868
3886
|
}
|
3869
3887
|
}
|
3870
3888
|
}
|
@@ -3985,7 +4003,7 @@
|
|
3985
4003
|
if (!isObject(object)) {
|
3986
4004
|
return object;
|
3987
4005
|
}
|
3988
|
-
path =
|
4006
|
+
path = castPath(path, object);
|
3989
4007
|
|
3990
4008
|
var index = -1,
|
3991
4009
|
length = path.length,
|
@@ -4322,15 +4340,13 @@
|
|
4322
4340
|
*
|
4323
4341
|
* @private
|
4324
4342
|
* @param {Object} object The object to modify.
|
4325
|
-
* @param {Array|string} path The path
|
4343
|
+
* @param {Array|string} path The property path to unset.
|
4326
4344
|
* @returns {boolean} Returns `true` if the property is deleted, else `false`.
|
4327
4345
|
*/
|
4328
4346
|
function baseUnset(object, path) {
|
4329
|
-
path =
|
4347
|
+
path = castPath(path, object);
|
4330
4348
|
object = parent(object, path);
|
4331
|
-
|
4332
|
-
var key = toKey(last(path));
|
4333
|
-
return !(object != null && hasOwnProperty.call(object, key)) || delete object[key];
|
4349
|
+
return object == null || delete object[toKey(last(path))];
|
4334
4350
|
}
|
4335
4351
|
|
4336
4352
|
/**
|
@@ -4470,10 +4486,14 @@
|
|
4470
4486
|
*
|
4471
4487
|
* @private
|
4472
4488
|
* @param {*} value The value to inspect.
|
4489
|
+
* @param {Object} [object] The object to query keys on.
|
4473
4490
|
* @returns {Array} Returns the cast property path array.
|
4474
4491
|
*/
|
4475
|
-
function castPath(value) {
|
4476
|
-
|
4492
|
+
function castPath(value, object) {
|
4493
|
+
if (isArray(value)) {
|
4494
|
+
return value;
|
4495
|
+
}
|
4496
|
+
return isKey(value, object) ? [value] : stringToPath(toString(value));
|
4477
4497
|
}
|
4478
4498
|
|
4479
4499
|
/**
|
@@ -4567,7 +4587,7 @@
|
|
4567
4587
|
* @returns {Object} Returns the cloned map.
|
4568
4588
|
*/
|
4569
4589
|
function cloneMap(map, isDeep, cloneFunc) {
|
4570
|
-
var array = isDeep ? cloneFunc(mapToArray(map),
|
4590
|
+
var array = isDeep ? cloneFunc(mapToArray(map), CLONE_DEEP_FLAG) : mapToArray(map);
|
4571
4591
|
return arrayReduce(array, addMapEntry, new map.constructor);
|
4572
4592
|
}
|
4573
4593
|
|
@@ -4594,7 +4614,7 @@
|
|
4594
4614
|
* @returns {Object} Returns the cloned set.
|
4595
4615
|
*/
|
4596
4616
|
function cloneSet(set, isDeep, cloneFunc) {
|
4597
|
-
var array = isDeep ? cloneFunc(setToArray(set),
|
4617
|
+
var array = isDeep ? cloneFunc(setToArray(set), CLONE_DEEP_FLAG) : setToArray(set);
|
4598
4618
|
return arrayReduce(array, addSetEntry, new set.constructor);
|
4599
4619
|
}
|
4600
4620
|
|
@@ -4829,7 +4849,7 @@
|
|
4829
4849
|
}
|
4830
4850
|
|
4831
4851
|
/**
|
4832
|
-
* Copies own
|
4852
|
+
* Copies own symbols of `source` to `object`.
|
4833
4853
|
*
|
4834
4854
|
* @private
|
4835
4855
|
* @param {Object} source The object to copy symbols from.
|
@@ -4840,6 +4860,18 @@
|
|
4840
4860
|
return copyObject(source, getSymbols(source), object);
|
4841
4861
|
}
|
4842
4862
|
|
4863
|
+
/**
|
4864
|
+
* Copies own and inherited symbols of `source` to `object`.
|
4865
|
+
*
|
4866
|
+
* @private
|
4867
|
+
* @param {Object} source The object to copy symbols from.
|
4868
|
+
* @param {Object} [object={}] The object to copy symbols to.
|
4869
|
+
* @returns {Object} Returns `object`.
|
4870
|
+
*/
|
4871
|
+
function copySymbolsIn(source, object) {
|
4872
|
+
return copyObject(source, getSymbolsIn(source), object);
|
4873
|
+
}
|
4874
|
+
|
4843
4875
|
/**
|
4844
4876
|
* Creates a function like `_.groupBy`.
|
4845
4877
|
*
|
@@ -4954,7 +4986,7 @@
|
|
4954
4986
|
* @returns {Function} Returns the new wrapped function.
|
4955
4987
|
*/
|
4956
4988
|
function createBind(func, bitmask, thisArg) {
|
4957
|
-
var isBind = bitmask &
|
4989
|
+
var isBind = bitmask & WRAP_BIND_FLAG,
|
4958
4990
|
Ctor = createCtor(func);
|
4959
4991
|
|
4960
4992
|
function wrapper() {
|
@@ -5127,7 +5159,7 @@
|
|
5127
5159
|
data = funcName == 'wrapper' ? getData(func) : undefined;
|
5128
5160
|
|
5129
5161
|
if (data && isLaziable(data[0]) &&
|
5130
|
-
data[1] == (
|
5162
|
+
data[1] == (WRAP_ARY_FLAG | WRAP_CURRY_FLAG | WRAP_PARTIAL_FLAG | WRAP_REARG_FLAG) &&
|
5131
5163
|
!data[4].length && data[9] == 1
|
5132
5164
|
) {
|
5133
5165
|
wrapper = wrapper[getFuncName(data[0])].apply(wrapper, data[3]);
|
@@ -5176,11 +5208,11 @@
|
|
5176
5208
|
* @returns {Function} Returns the new wrapped function.
|
5177
5209
|
*/
|
5178
5210
|
function createHybrid(func, bitmask, thisArg, partials, holders, partialsRight, holdersRight, argPos, ary, arity) {
|
5179
|
-
var isAry = bitmask &
|
5180
|
-
isBind = bitmask &
|
5181
|
-
isBindKey = bitmask &
|
5182
|
-
isCurried = bitmask & (
|
5183
|
-
isFlip = bitmask &
|
5211
|
+
var isAry = bitmask & WRAP_ARY_FLAG,
|
5212
|
+
isBind = bitmask & WRAP_BIND_FLAG,
|
5213
|
+
isBindKey = bitmask & WRAP_BIND_KEY_FLAG,
|
5214
|
+
isCurried = bitmask & (WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG),
|
5215
|
+
isFlip = bitmask & WRAP_FLIP_FLAG,
|
5184
5216
|
Ctor = isBindKey ? undefined : createCtor(func);
|
5185
5217
|
|
5186
5218
|
function wrapper() {
|
@@ -5331,7 +5363,7 @@
|
|
5331
5363
|
* @returns {Function} Returns the new wrapped function.
|
5332
5364
|
*/
|
5333
5365
|
function createPartial(func, bitmask, thisArg, partials) {
|
5334
|
-
var isBind = bitmask &
|
5366
|
+
var isBind = bitmask & WRAP_BIND_FLAG,
|
5335
5367
|
Ctor = createCtor(func);
|
5336
5368
|
|
5337
5369
|
function wrapper() {
|
@@ -5413,17 +5445,17 @@
|
|
5413
5445
|
* @returns {Function} Returns the new wrapped function.
|
5414
5446
|
*/
|
5415
5447
|
function createRecurry(func, bitmask, wrapFunc, placeholder, thisArg, partials, holders, argPos, ary, arity) {
|
5416
|
-
var isCurry = bitmask &
|
5448
|
+
var isCurry = bitmask & WRAP_CURRY_FLAG,
|
5417
5449
|
newHolders = isCurry ? holders : undefined,
|
5418
5450
|
newHoldersRight = isCurry ? undefined : holders,
|
5419
5451
|
newPartials = isCurry ? partials : undefined,
|
5420
5452
|
newPartialsRight = isCurry ? undefined : partials;
|
5421
5453
|
|
5422
|
-
bitmask |= (isCurry ?
|
5423
|
-
bitmask &= ~(isCurry ?
|
5454
|
+
bitmask |= (isCurry ? WRAP_PARTIAL_FLAG : WRAP_PARTIAL_RIGHT_FLAG);
|
5455
|
+
bitmask &= ~(isCurry ? WRAP_PARTIAL_RIGHT_FLAG : WRAP_PARTIAL_FLAG);
|
5424
5456
|
|
5425
|
-
if (!(bitmask &
|
5426
|
-
bitmask &= ~(
|
5457
|
+
if (!(bitmask & WRAP_CURRY_BOUND_FLAG)) {
|
5458
|
+
bitmask &= ~(WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG);
|
5427
5459
|
}
|
5428
5460
|
var newData = [
|
5429
5461
|
func, bitmask, thisArg, newPartials, newHolders, newPartialsRight,
|
@@ -5501,17 +5533,16 @@
|
|
5501
5533
|
* @private
|
5502
5534
|
* @param {Function|string} func The function or method name to wrap.
|
5503
5535
|
* @param {number} bitmask The bitmask flags.
|
5504
|
-
*
|
5505
|
-
*
|
5506
|
-
*
|
5507
|
-
*
|
5508
|
-
*
|
5509
|
-
*
|
5510
|
-
*
|
5511
|
-
*
|
5512
|
-
*
|
5513
|
-
*
|
5514
|
-
* 512 - `_.flip`
|
5536
|
+
* 1 - `_.bind`
|
5537
|
+
* 2 - `_.bindKey`
|
5538
|
+
* 4 - `_.curry` or `_.curryRight` of a bound function
|
5539
|
+
* 8 - `_.curry`
|
5540
|
+
* 16 - `_.curryRight`
|
5541
|
+
* 32 - `_.partial`
|
5542
|
+
* 64 - `_.partialRight`
|
5543
|
+
* 128 - `_.rearg`
|
5544
|
+
* 256 - `_.ary`
|
5545
|
+
* 512 - `_.flip`
|
5515
5546
|
* @param {*} [thisArg] The `this` binding of `func`.
|
5516
5547
|
* @param {Array} [partials] The arguments to be partially applied.
|
5517
5548
|
* @param {Array} [holders] The `partials` placeholder indexes.
|
@@ -5521,20 +5552,20 @@
|
|
5521
5552
|
* @returns {Function} Returns the new wrapped function.
|
5522
5553
|
*/
|
5523
5554
|
function createWrap(func, bitmask, thisArg, partials, holders, argPos, ary, arity) {
|
5524
|
-
var isBindKey = bitmask &
|
5555
|
+
var isBindKey = bitmask & WRAP_BIND_KEY_FLAG;
|
5525
5556
|
if (!isBindKey && typeof func != 'function') {
|
5526
5557
|
throw new TypeError(FUNC_ERROR_TEXT);
|
5527
5558
|
}
|
5528
5559
|
var length = partials ? partials.length : 0;
|
5529
5560
|
if (!length) {
|
5530
|
-
bitmask &= ~(
|
5561
|
+
bitmask &= ~(WRAP_PARTIAL_FLAG | WRAP_PARTIAL_RIGHT_FLAG);
|
5531
5562
|
partials = holders = undefined;
|
5532
5563
|
}
|
5533
5564
|
ary = ary === undefined ? ary : nativeMax(toInteger(ary), 0);
|
5534
5565
|
arity = arity === undefined ? arity : toInteger(arity);
|
5535
5566
|
length -= holders ? holders.length : 0;
|
5536
5567
|
|
5537
|
-
if (bitmask &
|
5568
|
+
if (bitmask & WRAP_PARTIAL_RIGHT_FLAG) {
|
5538
5569
|
var partialsRight = partials,
|
5539
5570
|
holdersRight = holders;
|
5540
5571
|
|
@@ -5559,14 +5590,14 @@
|
|
5559
5590
|
? (isBindKey ? 0 : func.length)
|
5560
5591
|
: nativeMax(newData[9] - length, 0);
|
5561
5592
|
|
5562
|
-
if (!arity && bitmask & (
|
5563
|
-
bitmask &= ~(
|
5593
|
+
if (!arity && bitmask & (WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG)) {
|
5594
|
+
bitmask &= ~(WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG);
|
5564
5595
|
}
|
5565
|
-
if (!bitmask || bitmask ==
|
5596
|
+
if (!bitmask || bitmask == WRAP_BIND_FLAG) {
|
5566
5597
|
var result = createBind(func, bitmask, thisArg);
|
5567
|
-
} else if (bitmask ==
|
5598
|
+
} else if (bitmask == WRAP_CURRY_FLAG || bitmask == WRAP_CURRY_RIGHT_FLAG) {
|
5568
5599
|
result = createCurry(func, bitmask, arity);
|
5569
|
-
} else if ((bitmask ==
|
5600
|
+
} else if ((bitmask == WRAP_PARTIAL_FLAG || bitmask == (WRAP_BIND_FLAG | WRAP_PARTIAL_FLAG)) && !holders.length) {
|
5570
5601
|
result = createPartial(func, bitmask, thisArg, partials);
|
5571
5602
|
} else {
|
5572
5603
|
result = createHybrid.apply(undefined, newData);
|
@@ -5582,15 +5613,14 @@
|
|
5582
5613
|
* @private
|
5583
5614
|
* @param {Array} array The array to compare.
|
5584
5615
|
* @param {Array} other The other array to compare.
|
5585
|
-
* @param {
|
5616
|
+
* @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.
|
5586
5617
|
* @param {Function} customizer The function to customize comparisons.
|
5587
|
-
* @param {
|
5588
|
-
* for more details.
|
5618
|
+
* @param {Function} equalFunc The function to determine equivalents of values.
|
5589
5619
|
* @param {Object} stack Tracks traversed `array` and `other` objects.
|
5590
5620
|
* @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.
|
5591
5621
|
*/
|
5592
|
-
function equalArrays(array, other,
|
5593
|
-
var isPartial = bitmask &
|
5622
|
+
function equalArrays(array, other, bitmask, customizer, equalFunc, stack) {
|
5623
|
+
var isPartial = bitmask & COMPARE_PARTIAL_FLAG,
|
5594
5624
|
arrLength = array.length,
|
5595
5625
|
othLength = other.length;
|
5596
5626
|
|
@@ -5604,7 +5634,7 @@
|
|
5604
5634
|
}
|
5605
5635
|
var index = -1,
|
5606
5636
|
result = true,
|
5607
|
-
seen = (bitmask &
|
5637
|
+
seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined;
|
5608
5638
|
|
5609
5639
|
stack.set(array, other);
|
5610
5640
|
stack.set(other, array);
|
@@ -5630,7 +5660,7 @@
|
|
5630
5660
|
if (seen) {
|
5631
5661
|
if (!arraySome(other, function(othValue, othIndex) {
|
5632
5662
|
if (!cacheHas(seen, othIndex) &&
|
5633
|
-
(arrValue === othValue || equalFunc(arrValue, othValue,
|
5663
|
+
(arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {
|
5634
5664
|
return seen.push(othIndex);
|
5635
5665
|
}
|
5636
5666
|
})) {
|
@@ -5639,7 +5669,7 @@
|
|
5639
5669
|
}
|
5640
5670
|
} else if (!(
|
5641
5671
|
arrValue === othValue ||
|
5642
|
-
equalFunc(arrValue, othValue,
|
5672
|
+
equalFunc(arrValue, othValue, bitmask, customizer, stack)
|
5643
5673
|
)) {
|
5644
5674
|
result = false;
|
5645
5675
|
break;
|
@@ -5661,14 +5691,13 @@
|
|
5661
5691
|
* @param {Object} object The object to compare.
|
5662
5692
|
* @param {Object} other The other object to compare.
|
5663
5693
|
* @param {string} tag The `toStringTag` of the objects to compare.
|
5664
|
-
* @param {
|
5694
|
+
* @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.
|
5665
5695
|
* @param {Function} customizer The function to customize comparisons.
|
5666
|
-
* @param {
|
5667
|
-
* for more details.
|
5696
|
+
* @param {Function} equalFunc The function to determine equivalents of values.
|
5668
5697
|
* @param {Object} stack Tracks traversed `object` and `other` objects.
|
5669
5698
|
* @returns {boolean} Returns `true` if the objects are equivalent, else `false`.
|
5670
5699
|
*/
|
5671
|
-
function equalByTag(object, other, tag,
|
5700
|
+
function equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {
|
5672
5701
|
switch (tag) {
|
5673
5702
|
case dataViewTag:
|
5674
5703
|
if ((object.byteLength != other.byteLength) ||
|
@@ -5706,7 +5735,7 @@
|
|
5706
5735
|
var convert = mapToArray;
|
5707
5736
|
|
5708
5737
|
case setTag:
|
5709
|
-
var isPartial = bitmask &
|
5738
|
+
var isPartial = bitmask & COMPARE_PARTIAL_FLAG;
|
5710
5739
|
convert || (convert = setToArray);
|
5711
5740
|
|
5712
5741
|
if (object.size != other.size && !isPartial) {
|
@@ -5717,11 +5746,11 @@
|
|
5717
5746
|
if (stacked) {
|
5718
5747
|
return stacked == other;
|
5719
5748
|
}
|
5720
|
-
bitmask |=
|
5749
|
+
bitmask |= COMPARE_UNORDERED_FLAG;
|
5721
5750
|
|
5722
5751
|
// Recursively compare objects (susceptible to call stack limits).
|
5723
5752
|
stack.set(object, other);
|
5724
|
-
var result = equalArrays(convert(object), convert(other),
|
5753
|
+
var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack);
|
5725
5754
|
stack['delete'](object);
|
5726
5755
|
return result;
|
5727
5756
|
|
@@ -5740,15 +5769,14 @@
|
|
5740
5769
|
* @private
|
5741
5770
|
* @param {Object} object The object to compare.
|
5742
5771
|
* @param {Object} other The other object to compare.
|
5743
|
-
* @param {
|
5772
|
+
* @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.
|
5744
5773
|
* @param {Function} customizer The function to customize comparisons.
|
5745
|
-
* @param {
|
5746
|
-
* for more details.
|
5774
|
+
* @param {Function} equalFunc The function to determine equivalents of values.
|
5747
5775
|
* @param {Object} stack Tracks traversed `object` and `other` objects.
|
5748
5776
|
* @returns {boolean} Returns `true` if the objects are equivalent, else `false`.
|
5749
5777
|
*/
|
5750
|
-
function equalObjects(object, other,
|
5751
|
-
var isPartial = bitmask &
|
5778
|
+
function equalObjects(object, other, bitmask, customizer, equalFunc, stack) {
|
5779
|
+
var isPartial = bitmask & COMPARE_PARTIAL_FLAG,
|
5752
5780
|
objProps = keys(object),
|
5753
5781
|
objLength = objProps.length,
|
5754
5782
|
othProps = keys(other),
|
@@ -5786,7 +5814,7 @@
|
|
5786
5814
|
}
|
5787
5815
|
// Recursively compare objects (susceptible to call stack limits).
|
5788
5816
|
if (!(compared === undefined
|
5789
|
-
? (objValue === othValue || equalFunc(objValue, othValue,
|
5817
|
+
? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack))
|
5790
5818
|
: compared
|
5791
5819
|
)) {
|
5792
5820
|
result = false;
|
@@ -5983,7 +6011,7 @@
|
|
5983
6011
|
}
|
5984
6012
|
|
5985
6013
|
/**
|
5986
|
-
* Creates an array of the own enumerable
|
6014
|
+
* Creates an array of the own enumerable symbols of `object`.
|
5987
6015
|
*
|
5988
6016
|
* @private
|
5989
6017
|
* @param {Object} object The object to query.
|
@@ -5992,8 +6020,7 @@
|
|
5992
6020
|
var getSymbols = nativeGetSymbols ? overArg(nativeGetSymbols, Object) : stubArray;
|
5993
6021
|
|
5994
6022
|
/**
|
5995
|
-
* Creates an array of the own and inherited enumerable
|
5996
|
-
* of `object`.
|
6023
|
+
* Creates an array of the own and inherited enumerable symbols of `object`.
|
5997
6024
|
*
|
5998
6025
|
* @private
|
5999
6026
|
* @param {Object} object The object to query.
|
@@ -6091,7 +6118,7 @@
|
|
6091
6118
|
* @returns {boolean} Returns `true` if `path` exists, else `false`.
|
6092
6119
|
*/
|
6093
6120
|
function hasPath(object, path, hasFunc) {
|
6094
|
-
path =
|
6121
|
+
path = castPath(path, object);
|
6095
6122
|
|
6096
6123
|
var index = -1,
|
6097
6124
|
length = path.length,
|
@@ -6425,22 +6452,22 @@
|
|
6425
6452
|
var bitmask = data[1],
|
6426
6453
|
srcBitmask = source[1],
|
6427
6454
|
newBitmask = bitmask | srcBitmask,
|
6428
|
-
isCommon = newBitmask < (
|
6455
|
+
isCommon = newBitmask < (WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG | WRAP_ARY_FLAG);
|
6429
6456
|
|
6430
6457
|
var isCombo =
|
6431
|
-
((srcBitmask ==
|
6432
|
-
((srcBitmask ==
|
6433
|
-
((srcBitmask == (
|
6458
|
+
((srcBitmask == WRAP_ARY_FLAG) && (bitmask == WRAP_CURRY_FLAG)) ||
|
6459
|
+
((srcBitmask == WRAP_ARY_FLAG) && (bitmask == WRAP_REARG_FLAG) && (data[7].length <= source[8])) ||
|
6460
|
+
((srcBitmask == (WRAP_ARY_FLAG | WRAP_REARG_FLAG)) && (source[7].length <= source[8]) && (bitmask == WRAP_CURRY_FLAG));
|
6434
6461
|
|
6435
6462
|
// Exit early if metadata can't be merged.
|
6436
6463
|
if (!(isCommon || isCombo)) {
|
6437
6464
|
return data;
|
6438
6465
|
}
|
6439
6466
|
// Use source `thisArg` if available.
|
6440
|
-
if (srcBitmask &
|
6467
|
+
if (srcBitmask & WRAP_BIND_FLAG) {
|
6441
6468
|
data[2] = source[2];
|
6442
6469
|
// Set when currying a bound function.
|
6443
|
-
newBitmask |= bitmask &
|
6470
|
+
newBitmask |= bitmask & WRAP_BIND_FLAG ? 0 : WRAP_CURRY_BOUND_FLAG;
|
6444
6471
|
}
|
6445
6472
|
// Compose partial arguments.
|
6446
6473
|
var value = source[3];
|
@@ -6462,7 +6489,7 @@
|
|
6462
6489
|
data[7] = value;
|
6463
6490
|
}
|
6464
6491
|
// Use source `ary` if it's smaller.
|
6465
|
-
if (srcBitmask &
|
6492
|
+
if (srcBitmask & WRAP_ARY_FLAG) {
|
6466
6493
|
data[8] = data[8] == null ? source[8] : nativeMin(data[8], source[8]);
|
6467
6494
|
}
|
6468
6495
|
// Use source `arity` if one is not provided.
|
@@ -6568,7 +6595,7 @@
|
|
6568
6595
|
* @returns {*} Returns the parent value.
|
6569
6596
|
*/
|
6570
6597
|
function parent(object, path) {
|
6571
|
-
return path.length
|
6598
|
+
return path.length < 2 ? object : baseGet(object, baseSlice(path, 0, -1));
|
6572
6599
|
}
|
6573
6600
|
|
6574
6601
|
/**
|
@@ -6708,8 +6735,6 @@
|
|
6708
6735
|
* @returns {Array} Returns the property path array.
|
6709
6736
|
*/
|
6710
6737
|
var stringToPath = memoizeCapped(function(string) {
|
6711
|
-
string = toString(string);
|
6712
|
-
|
6713
6738
|
var result = [];
|
6714
6739
|
if (reLeadingDot.test(string)) {
|
6715
6740
|
result.push('');
|
@@ -8779,7 +8804,7 @@
|
|
8779
8804
|
* @memberOf _
|
8780
8805
|
* @since 1.0.0
|
8781
8806
|
* @category Seq
|
8782
|
-
* @param {...(string|string[])} [paths] The property paths
|
8807
|
+
* @param {...(string|string[])} [paths] The property paths to pick.
|
8783
8808
|
* @returns {Object} Returns the new `lodash` wrapper instance.
|
8784
8809
|
* @example
|
8785
8810
|
*
|
@@ -9444,12 +9469,10 @@
|
|
9444
9469
|
var invokeMap = baseRest(function(collection, path, args) {
|
9445
9470
|
var index = -1,
|
9446
9471
|
isFunc = typeof path == 'function',
|
9447
|
-
isProp = isKey(path),
|
9448
9472
|
result = isArrayLike(collection) ? Array(collection.length) : [];
|
9449
9473
|
|
9450
9474
|
baseEach(collection, function(value) {
|
9451
|
-
|
9452
|
-
result[++index] = func ? apply(func, value, args) : baseInvoke(value, path, args);
|
9475
|
+
result[++index] = isFunc ? apply(path, value, args) : baseInvoke(value, path, args);
|
9453
9476
|
});
|
9454
9477
|
return result;
|
9455
9478
|
});
|
@@ -9998,7 +10021,7 @@
|
|
9998
10021
|
function ary(func, n, guard) {
|
9999
10022
|
n = guard ? undefined : n;
|
10000
10023
|
n = (func && n == null) ? func.length : n;
|
10001
|
-
return createWrap(func,
|
10024
|
+
return createWrap(func, WRAP_ARY_FLAG, undefined, undefined, undefined, undefined, n);
|
10002
10025
|
}
|
10003
10026
|
|
10004
10027
|
/**
|
@@ -10071,10 +10094,10 @@
|
|
10071
10094
|
* // => 'hi fred!'
|
10072
10095
|
*/
|
10073
10096
|
var bind = baseRest(function(func, thisArg, partials) {
|
10074
|
-
var bitmask =
|
10097
|
+
var bitmask = WRAP_BIND_FLAG;
|
10075
10098
|
if (partials.length) {
|
10076
10099
|
var holders = replaceHolders(partials, getHolder(bind));
|
10077
|
-
bitmask |=
|
10100
|
+
bitmask |= WRAP_PARTIAL_FLAG;
|
10078
10101
|
}
|
10079
10102
|
return createWrap(func, bitmask, thisArg, partials, holders);
|
10080
10103
|
});
|
@@ -10125,10 +10148,10 @@
|
|
10125
10148
|
* // => 'hiya fred!'
|
10126
10149
|
*/
|
10127
10150
|
var bindKey = baseRest(function(object, key, partials) {
|
10128
|
-
var bitmask =
|
10151
|
+
var bitmask = WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG;
|
10129
10152
|
if (partials.length) {
|
10130
10153
|
var holders = replaceHolders(partials, getHolder(bindKey));
|
10131
|
-
bitmask |=
|
10154
|
+
bitmask |= WRAP_PARTIAL_FLAG;
|
10132
10155
|
}
|
10133
10156
|
return createWrap(key, bitmask, object, partials, holders);
|
10134
10157
|
});
|
@@ -10176,7 +10199,7 @@
|
|
10176
10199
|
*/
|
10177
10200
|
function curry(func, arity, guard) {
|
10178
10201
|
arity = guard ? undefined : arity;
|
10179
|
-
var result = createWrap(func,
|
10202
|
+
var result = createWrap(func, WRAP_CURRY_FLAG, undefined, undefined, undefined, undefined, undefined, arity);
|
10180
10203
|
result.placeholder = curry.placeholder;
|
10181
10204
|
return result;
|
10182
10205
|
}
|
@@ -10221,7 +10244,7 @@
|
|
10221
10244
|
*/
|
10222
10245
|
function curryRight(func, arity, guard) {
|
10223
10246
|
arity = guard ? undefined : arity;
|
10224
|
-
var result = createWrap(func,
|
10247
|
+
var result = createWrap(func, WRAP_CURRY_RIGHT_FLAG, undefined, undefined, undefined, undefined, undefined, arity);
|
10225
10248
|
result.placeholder = curryRight.placeholder;
|
10226
10249
|
return result;
|
10227
10250
|
}
|
@@ -10466,7 +10489,7 @@
|
|
10466
10489
|
* // => ['d', 'c', 'b', 'a']
|
10467
10490
|
*/
|
10468
10491
|
function flip(func) {
|
10469
|
-
return createWrap(func,
|
10492
|
+
return createWrap(func, WRAP_FLIP_FLAG);
|
10470
10493
|
}
|
10471
10494
|
|
10472
10495
|
/**
|
@@ -10677,7 +10700,7 @@
|
|
10677
10700
|
*/
|
10678
10701
|
var partial = baseRest(function(func, partials) {
|
10679
10702
|
var holders = replaceHolders(partials, getHolder(partial));
|
10680
|
-
return createWrap(func,
|
10703
|
+
return createWrap(func, WRAP_PARTIAL_FLAG, undefined, partials, holders);
|
10681
10704
|
});
|
10682
10705
|
|
10683
10706
|
/**
|
@@ -10714,7 +10737,7 @@
|
|
10714
10737
|
*/
|
10715
10738
|
var partialRight = baseRest(function(func, partials) {
|
10716
10739
|
var holders = replaceHolders(partials, getHolder(partialRight));
|
10717
|
-
return createWrap(func,
|
10740
|
+
return createWrap(func, WRAP_PARTIAL_RIGHT_FLAG, undefined, partials, holders);
|
10718
10741
|
});
|
10719
10742
|
|
10720
10743
|
/**
|
@@ -10740,7 +10763,7 @@
|
|
10740
10763
|
* // => ['a', 'b', 'c']
|
10741
10764
|
*/
|
10742
10765
|
var rearg = flatRest(function(func, indexes) {
|
10743
|
-
return createWrap(func,
|
10766
|
+
return createWrap(func, WRAP_REARG_FLAG, undefined, undefined, undefined, indexes);
|
10744
10767
|
});
|
10745
10768
|
|
10746
10769
|
/**
|
@@ -11003,7 +11026,7 @@
|
|
11003
11026
|
* // => true
|
11004
11027
|
*/
|
11005
11028
|
function clone(value) {
|
11006
|
-
return baseClone(value,
|
11029
|
+
return baseClone(value, CLONE_SYMBOLS_FLAG);
|
11007
11030
|
}
|
11008
11031
|
|
11009
11032
|
/**
|
@@ -11039,7 +11062,7 @@
|
|
11039
11062
|
*/
|
11040
11063
|
function cloneWith(value, customizer) {
|
11041
11064
|
customizer = typeof customizer == 'function' ? customizer : undefined;
|
11042
|
-
return baseClone(value,
|
11065
|
+
return baseClone(value, CLONE_SYMBOLS_FLAG, customizer);
|
11043
11066
|
}
|
11044
11067
|
|
11045
11068
|
/**
|
@@ -11061,7 +11084,7 @@
|
|
11061
11084
|
* // => false
|
11062
11085
|
*/
|
11063
11086
|
function cloneDeep(value) {
|
11064
|
-
return baseClone(value,
|
11087
|
+
return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG);
|
11065
11088
|
}
|
11066
11089
|
|
11067
11090
|
/**
|
@@ -11094,7 +11117,7 @@
|
|
11094
11117
|
*/
|
11095
11118
|
function cloneDeepWith(value, customizer) {
|
11096
11119
|
customizer = typeof customizer == 'function' ? customizer : undefined;
|
11097
|
-
return baseClone(value,
|
11120
|
+
return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG, customizer);
|
11098
11121
|
}
|
11099
11122
|
|
11100
11123
|
/**
|
@@ -11543,7 +11566,7 @@
|
|
11543
11566
|
function isEqualWith(value, other, customizer) {
|
11544
11567
|
customizer = typeof customizer == 'function' ? customizer : undefined;
|
11545
11568
|
var result = customizer ? customizer(value, other) : undefined;
|
11546
|
-
return result === undefined ? baseIsEqual(value, other, customizer) : !!result;
|
11569
|
+
return result === undefined ? baseIsEqual(value, other, undefined, customizer) : !!result;
|
11547
11570
|
}
|
11548
11571
|
|
11549
11572
|
/**
|
@@ -12686,7 +12709,7 @@
|
|
12686
12709
|
* @since 1.0.0
|
12687
12710
|
* @category Object
|
12688
12711
|
* @param {Object} object The object to iterate over.
|
12689
|
-
* @param {...(string|string[])} [paths] The property paths
|
12712
|
+
* @param {...(string|string[])} [paths] The property paths to pick.
|
12690
12713
|
* @returns {Array} Returns the picked values.
|
12691
12714
|
* @example
|
12692
12715
|
*
|
@@ -13413,15 +13436,16 @@
|
|
13413
13436
|
|
13414
13437
|
/**
|
13415
13438
|
* The opposite of `_.pick`; this method creates an object composed of the
|
13416
|
-
* own and inherited enumerable
|
13417
|
-
*
|
13439
|
+
* own and inherited enumerable property paths of `object` that are not omitted.
|
13440
|
+
*
|
13441
|
+
* **Note:** This method is considerably slower than `_.pick`.
|
13418
13442
|
*
|
13419
13443
|
* @static
|
13420
13444
|
* @since 0.1.0
|
13421
13445
|
* @memberOf _
|
13422
13446
|
* @category Object
|
13423
13447
|
* @param {Object} object The source object.
|
13424
|
-
* @param {...(string|string[])} [
|
13448
|
+
* @param {...(string|string[])} [paths] The property paths to omit.
|
13425
13449
|
* @returns {Object} Returns the new object.
|
13426
13450
|
* @example
|
13427
13451
|
*
|
@@ -13430,12 +13454,26 @@
|
|
13430
13454
|
* _.omit(object, ['a', 'c']);
|
13431
13455
|
* // => { 'b': '2' }
|
13432
13456
|
*/
|
13433
|
-
var omit = flatRest(function(object,
|
13457
|
+
var omit = flatRest(function(object, paths) {
|
13458
|
+
var result = {};
|
13434
13459
|
if (object == null) {
|
13435
|
-
return
|
13460
|
+
return result;
|
13461
|
+
}
|
13462
|
+
var isDeep = false;
|
13463
|
+
paths = arrayMap(paths, function(path) {
|
13464
|
+
path = castPath(path, object);
|
13465
|
+
isDeep || (isDeep = path.length > 1);
|
13466
|
+
return path;
|
13467
|
+
});
|
13468
|
+
copyObject(object, getAllKeysIn(object), result);
|
13469
|
+
if (isDeep) {
|
13470
|
+
result = baseClone(result, CLONE_DEEP_FLAG | CLONE_FLAT_FLAG | CLONE_SYMBOLS_FLAG);
|
13471
|
+
}
|
13472
|
+
var length = paths.length;
|
13473
|
+
while (length--) {
|
13474
|
+
baseUnset(result, paths[length]);
|
13436
13475
|
}
|
13437
|
-
|
13438
|
-
return basePick(object, baseDifference(getAllKeysIn(object), props));
|
13476
|
+
return result;
|
13439
13477
|
});
|
13440
13478
|
|
13441
13479
|
/**
|
@@ -13470,7 +13508,7 @@
|
|
13470
13508
|
* @memberOf _
|
13471
13509
|
* @category Object
|
13472
13510
|
* @param {Object} object The source object.
|
13473
|
-
* @param {...(string|string[])} [
|
13511
|
+
* @param {...(string|string[])} [paths] The property paths to pick.
|
13474
13512
|
* @returns {Object} Returns the new object.
|
13475
13513
|
* @example
|
13476
13514
|
*
|
@@ -13479,8 +13517,8 @@
|
|
13479
13517
|
* _.pick(object, ['a', 'c']);
|
13480
13518
|
* // => { 'a': 1, 'c': 3 }
|
13481
13519
|
*/
|
13482
|
-
var pick = flatRest(function(object,
|
13483
|
-
return object == null ? {} : basePick(object,
|
13520
|
+
var pick = flatRest(function(object, paths) {
|
13521
|
+
return object == null ? {} : basePick(object, paths);
|
13484
13522
|
});
|
13485
13523
|
|
13486
13524
|
/**
|
@@ -13502,7 +13540,16 @@
|
|
13502
13540
|
* // => { 'a': 1, 'c': 3 }
|
13503
13541
|
*/
|
13504
13542
|
function pickBy(object, predicate) {
|
13505
|
-
|
13543
|
+
if (object == null) {
|
13544
|
+
return {};
|
13545
|
+
}
|
13546
|
+
var props = arrayMap(getAllKeysIn(object), function(prop) {
|
13547
|
+
return [prop];
|
13548
|
+
});
|
13549
|
+
predicate = getIteratee(predicate);
|
13550
|
+
return basePickBy(object, props, function(value, path) {
|
13551
|
+
return predicate(value, path[0]);
|
13552
|
+
});
|
13506
13553
|
}
|
13507
13554
|
|
13508
13555
|
/**
|
@@ -13535,15 +13582,15 @@
|
|
13535
13582
|
* // => 'default'
|
13536
13583
|
*/
|
13537
13584
|
function result(object, path, defaultValue) {
|
13538
|
-
path =
|
13585
|
+
path = castPath(path, object);
|
13539
13586
|
|
13540
13587
|
var index = -1,
|
13541
13588
|
length = path.length;
|
13542
13589
|
|
13543
13590
|
// Ensure the loop is entered when path is empty.
|
13544
13591
|
if (!length) {
|
13545
|
-
object = undefined;
|
13546
13592
|
length = 1;
|
13593
|
+
object = undefined;
|
13547
13594
|
}
|
13548
13595
|
while (++index < length) {
|
13549
13596
|
var value = object == null ? undefined : object[toKey(path[index])];
|
@@ -15273,7 +15320,7 @@
|
|
15273
15320
|
* // => [{ 'a': 1, 'b': 2 }]
|
15274
15321
|
*/
|
15275
15322
|
function conforms(source) {
|
15276
|
-
return baseConforms(baseClone(source,
|
15323
|
+
return baseConforms(baseClone(source, CLONE_DEEP_FLAG));
|
15277
15324
|
}
|
15278
15325
|
|
15279
15326
|
/**
|
@@ -15435,7 +15482,7 @@
|
|
15435
15482
|
* // => ['def']
|
15436
15483
|
*/
|
15437
15484
|
function iteratee(func) {
|
15438
|
-
return baseIteratee(typeof func == 'function' ? func : baseClone(func,
|
15485
|
+
return baseIteratee(typeof func == 'function' ? func : baseClone(func, CLONE_DEEP_FLAG));
|
15439
15486
|
}
|
15440
15487
|
|
15441
15488
|
/**
|
@@ -15467,7 +15514,7 @@
|
|
15467
15514
|
* // => [{ 'a': 4, 'b': 5, 'c': 6 }]
|
15468
15515
|
*/
|
15469
15516
|
function matches(source) {
|
15470
|
-
return baseMatches(baseClone(source,
|
15517
|
+
return baseMatches(baseClone(source, CLONE_DEEP_FLAG));
|
15471
15518
|
}
|
15472
15519
|
|
15473
15520
|
/**
|
@@ -15497,7 +15544,7 @@
|
|
15497
15544
|
* // => { 'a': 4, 'b': 5, 'c': 6 }
|
15498
15545
|
*/
|
15499
15546
|
function matchesProperty(path, srcValue) {
|
15500
|
-
return baseMatchesProperty(path, baseClone(srcValue,
|
15547
|
+
return baseMatchesProperty(path, baseClone(srcValue, CLONE_DEEP_FLAG));
|
15501
15548
|
}
|
15502
15549
|
|
15503
15550
|
/**
|
@@ -16053,7 +16100,7 @@
|
|
16053
16100
|
if (isArray(value)) {
|
16054
16101
|
return arrayMap(value, toKey);
|
16055
16102
|
}
|
16056
|
-
return isSymbol(value) ? [value] : copyArray(stringToPath(value));
|
16103
|
+
return isSymbol(value) ? [value] : copyArray(stringToPath(toString(value)));
|
16057
16104
|
}
|
16058
16105
|
|
16059
16106
|
/**
|
@@ -16957,7 +17004,7 @@
|
|
16957
17004
|
}
|
16958
17005
|
});
|
16959
17006
|
|
16960
|
-
realNames[createHybrid(undefined,
|
17007
|
+
realNames[createHybrid(undefined, WRAP_BIND_KEY_FLAG).name] = [{
|
16961
17008
|
'name': 'wrapper',
|
16962
17009
|
'func': undefined
|
16963
17010
|
}];
|