lodash-rails 4.16.6 → 4.17.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|
}];
|