ut2 1.8.0 → 1.9.0
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.
- package/dist/ut2.js +116 -143
- package/dist/ut2.js.map +1 -1
- package/dist/ut2.min.js +1 -1
- package/dist/ut2.min.js.map +1 -1
- package/es/before.js +2 -1
- package/es/clamp.js +7 -6
- package/es/conformsTo.js +2 -1
- package/es/countBy.js +2 -2
- package/es/groupBy.js +2 -2
- package/es/internals/baseDebounce.js +15 -14
- package/es/internals/compare.js +19 -26
- package/es/internals/createExtremum.js +4 -3
- package/es/internals/createForEach.js +2 -2
- package/es/internals/createReduce.js +2 -2
- package/es/internals/getTagWithBugfix.js +7 -7
- package/es/internals/helpers.js +1 -1
- package/es/internals/isEqualDeep.js +4 -4
- package/es/internals/native.js +9 -6
- package/es/internals/nodeUtil.js +4 -2
- package/es/invert.js +2 -2
- package/es/isBlob.js +2 -2
- package/es/isEmpty.js +2 -2
- package/es/isEqual.js +2 -1
- package/es/isMatch.js +5 -5
- package/es/isUndefined.js +3 -1
- package/es/keyBy.js +2 -2
- package/es/max.js +4 -3
- package/es/merge.js +6 -5
- package/es/min.js +4 -3
- package/es/nth.js +2 -1
- package/es/orderBy.js +5 -4
- package/es/partition.js +2 -2
- package/es/toString.js +2 -2
- package/lib/before.js +2 -1
- package/lib/clamp.js +7 -6
- package/lib/conformsTo.js +2 -1
- package/lib/countBy.js +2 -2
- package/lib/groupBy.js +2 -2
- package/lib/internals/baseDebounce.js +15 -14
- package/lib/internals/compare.js +18 -27
- package/lib/internals/createExtremum.js +4 -3
- package/lib/internals/createForEach.js +2 -2
- package/lib/internals/createReduce.js +2 -2
- package/lib/internals/getTagWithBugfix.js +6 -6
- package/lib/internals/helpers.js +1 -1
- package/lib/internals/isEqualDeep.js +3 -3
- package/lib/internals/native.js +8 -5
- package/lib/internals/nodeUtil.js +4 -2
- package/lib/invert.js +2 -2
- package/lib/isBlob.js +1 -1
- package/lib/isEmpty.js +2 -2
- package/lib/isEqual.js +2 -1
- package/lib/isMatch.js +4 -4
- package/lib/isUndefined.js +3 -1
- package/lib/keyBy.js +2 -2
- package/lib/max.js +4 -3
- package/lib/merge.js +6 -5
- package/lib/min.js +4 -3
- package/lib/nth.js +2 -1
- package/lib/orderBy.js +5 -4
- package/lib/partition.js +2 -2
- package/lib/toString.js +1 -1
- package/package.json +1 -1
- package/types/countBy.d.ts +7 -5
- package/types/difference.d.ts +2 -2
- package/types/groupBy.d.ts +7 -5
- package/types/internals/compare.d.ts +4 -6
- package/types/internals/createExtremum.d.ts +2 -2
- package/types/internals/native.d.ts +3 -0
- package/types/internals/types.d.ts +9 -2
- package/types/intersection.d.ts +3 -3
- package/types/invert.d.ts +1 -1
- package/types/keyBy.d.ts +7 -5
- package/types/max.d.ts +5 -5
- package/types/merge.d.ts +3 -3
- package/types/min.d.ts +4 -4
- package/types/omitBy.d.ts +1 -1
- package/types/orderBy.d.ts +8 -6
- package/types/partition.d.ts +7 -5
- package/types/pickBy.d.ts +1 -1
- package/types/reduce.d.ts +1 -1
- package/types/reduceRight.d.ts +1 -1
- package/types/times.d.ts +1 -1
- package/types/union.d.ts +2 -2
- package/types/uniq.d.ts +2 -2
- package/types/xor.d.ts +3 -3
- package/es/internals/isPrototype.js +0 -12
- package/es/internals/specialKeys.js +0 -17
- package/lib/internals/isPrototype.js +0 -14
- package/lib/internals/specialKeys.js +0 -19
- package/types/internals/isPrototype.d.ts +0 -9
- package/types/internals/specialKeys.d.ts +0 -9
package/dist/ut2.js
CHANGED
|
@@ -4,6 +4,9 @@
|
|
|
4
4
|
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.ut2 = {}));
|
|
5
5
|
})(this, (function (exports) { 'use strict';
|
|
6
6
|
|
|
7
|
+
var nativeUndefined = void 0;
|
|
8
|
+
var stringUndefined = 'undefined';
|
|
9
|
+
var stringObject = 'object';
|
|
7
10
|
var objectProto = Object.prototype;
|
|
8
11
|
var objectProtoToString = objectProto.toString;
|
|
9
12
|
var objectProtoHasOwnProperty = objectProto.hasOwnProperty;
|
|
@@ -13,8 +16,8 @@
|
|
|
13
16
|
var objectKeys = Object.keys;
|
|
14
17
|
var functionProto = Function.prototype;
|
|
15
18
|
var functionProtoToString = functionProto.toString;
|
|
16
|
-
var symbolExisted = typeof Symbol !==
|
|
17
|
-
var symbolProto = symbolExisted ? Symbol.prototype :
|
|
19
|
+
var symbolExisted = typeof Symbol !== stringUndefined;
|
|
20
|
+
var symbolProto = symbolExisted ? Symbol.prototype : nativeUndefined;
|
|
18
21
|
var arrayProto = Array.prototype;
|
|
19
22
|
var arrayProtoSlice = arrayProto.slice;
|
|
20
23
|
var mathMin = Math.min;
|
|
@@ -26,9 +29,9 @@
|
|
|
26
29
|
var numberIsFinite = Number.isFinite;
|
|
27
30
|
var numberIsInteger = Number.isInteger;
|
|
28
31
|
var numberIsSafeInteger = Number.isSafeInteger;
|
|
29
|
-
var globalThisExisted = typeof globalThis ===
|
|
30
|
-
var globalExisted = typeof global ===
|
|
31
|
-
var selfExisted = typeof self ===
|
|
32
|
+
var globalThisExisted = typeof globalThis === stringObject && globalThis;
|
|
33
|
+
var globalExisted = typeof global === stringObject && global;
|
|
34
|
+
var selfExisted = typeof self === stringObject && self;
|
|
32
35
|
var MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || 9007199254740991;
|
|
33
36
|
var MIN_SAFE_INTEGER = Number.MIN_SAFE_INTEGER || -9007199254740991;
|
|
34
37
|
var MAX_ARRAY_LENGTH = 4294967295;
|
|
@@ -225,7 +228,7 @@
|
|
|
225
228
|
function nth(array, n) {
|
|
226
229
|
if (n === void 0) { n = 0; }
|
|
227
230
|
if (!isArrayLike(array)) {
|
|
228
|
-
return
|
|
231
|
+
return nativeUndefined;
|
|
229
232
|
}
|
|
230
233
|
n += n < 0 ? array.length : 0;
|
|
231
234
|
return array[n];
|
|
@@ -350,17 +353,24 @@
|
|
|
350
353
|
return unzip(arrays);
|
|
351
354
|
}
|
|
352
355
|
|
|
353
|
-
function
|
|
356
|
+
function getSymbols(object) {
|
|
357
|
+
if (!objectGetOwnPropertySymbols || object === null) {
|
|
358
|
+
return [];
|
|
359
|
+
}
|
|
360
|
+
return objectGetOwnPropertySymbols(object).filter(function (item) { return objectProtoPropertyIsEnumerable.call(object, item); });
|
|
361
|
+
}
|
|
362
|
+
|
|
363
|
+
function allKeys(object) {
|
|
354
364
|
if (!isObject(object)) {
|
|
355
365
|
return [];
|
|
356
366
|
}
|
|
357
|
-
return objectKeys(object);
|
|
367
|
+
return objectKeys(object).concat(getSymbols(object));
|
|
358
368
|
}
|
|
359
369
|
|
|
360
370
|
function createForEach(dir) {
|
|
361
371
|
var forEach = function (collection, iteratee) {
|
|
362
372
|
if (iteratee === void 0) { iteratee = identity; }
|
|
363
|
-
var _keys = !isArrayLike(collection) &&
|
|
373
|
+
var _keys = !isArrayLike(collection) && allKeys(collection);
|
|
364
374
|
var len = (_keys || collection).length;
|
|
365
375
|
var i = dir > 0 ? 0 : len - 1;
|
|
366
376
|
while (i >= 0 && i < len) {
|
|
@@ -380,8 +390,8 @@
|
|
|
380
390
|
var countBy = function (collection, iteratee) {
|
|
381
391
|
var result = {};
|
|
382
392
|
var internalIteratee = createIteratee(iteratee);
|
|
383
|
-
forEach(collection, function (item) {
|
|
384
|
-
var key = internalIteratee(item);
|
|
393
|
+
forEach(collection, function (item, index, arr) {
|
|
394
|
+
var key = internalIteratee(item, index, arr);
|
|
385
395
|
if (key in result) {
|
|
386
396
|
++result[key];
|
|
387
397
|
}
|
|
@@ -433,8 +443,8 @@
|
|
|
433
443
|
if (iteratee === void 0) { iteratee = identity; }
|
|
434
444
|
var result = {};
|
|
435
445
|
var internalIteratee = createIteratee(iteratee);
|
|
436
|
-
forEach(collection, function (item) {
|
|
437
|
-
var key = internalIteratee(item);
|
|
446
|
+
forEach(collection, function (item, index, arr) {
|
|
447
|
+
var key = internalIteratee(item, index, arr);
|
|
438
448
|
if (key in result) {
|
|
439
449
|
result[key].push(item);
|
|
440
450
|
}
|
|
@@ -449,18 +459,22 @@
|
|
|
449
459
|
if (iteratee === void 0) { iteratee = identity; }
|
|
450
460
|
var result = {};
|
|
451
461
|
var internalIteratee = createIteratee(iteratee);
|
|
452
|
-
forEach(collection, function (item) {
|
|
453
|
-
var key = internalIteratee(item);
|
|
462
|
+
forEach(collection, function (item, index, arr) {
|
|
463
|
+
var key = internalIteratee(item, index, arr);
|
|
454
464
|
result[key] = item;
|
|
455
465
|
});
|
|
456
466
|
return result;
|
|
457
467
|
};
|
|
458
468
|
|
|
469
|
+
function isNumber(value) {
|
|
470
|
+
return typeof value === 'number' || getTag(value) === numberTag;
|
|
471
|
+
}
|
|
472
|
+
|
|
459
473
|
function isNil(value) {
|
|
460
474
|
return value == null;
|
|
461
475
|
}
|
|
462
476
|
|
|
463
|
-
var symbolToString = symbolProto ? symbolProto.toString :
|
|
477
|
+
var symbolToString = symbolProto ? symbolProto.toString : nativeUndefined;
|
|
464
478
|
function baseToString(value) {
|
|
465
479
|
if (typeof value === 'string') {
|
|
466
480
|
return value;
|
|
@@ -478,31 +492,23 @@
|
|
|
478
492
|
return isNil(value) ? '' : baseToString(value);
|
|
479
493
|
}
|
|
480
494
|
|
|
481
|
-
function
|
|
482
|
-
var
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
var otherIsSymbol = isSymbol(other);
|
|
497
|
-
var valueStr = toString(value);
|
|
498
|
-
var otherStr = toString(other);
|
|
499
|
-
if (!otherIsSymbol && (valueIsSymbol || valueStr > otherStr)) {
|
|
500
|
-
return -1;
|
|
501
|
-
}
|
|
502
|
-
if (!valueIsSymbol && (otherIsSymbol || valueStr < otherStr)) {
|
|
503
|
-
return 1;
|
|
495
|
+
function createCompare(dir) {
|
|
496
|
+
var asc = dir === 1;
|
|
497
|
+
function wrapper(value, other) {
|
|
498
|
+
var valueIsSymbol = isSymbol(value);
|
|
499
|
+
var otherIsSymbol = isSymbol(other);
|
|
500
|
+
var isNeedConvertString = !valueIsSymbol && !otherIsSymbol && !(isNumber(value) && isNumber(other));
|
|
501
|
+
var _value = isNeedConvertString ? toString(value) : value;
|
|
502
|
+
var _other = isNeedConvertString ? toString(other) : other;
|
|
503
|
+
if (!otherIsSymbol && (valueIsSymbol || _value > _other)) {
|
|
504
|
+
return asc ? 1 : -1;
|
|
505
|
+
}
|
|
506
|
+
if (!valueIsSymbol && (otherIsSymbol || _value < _other)) {
|
|
507
|
+
return asc ? -1 : 1;
|
|
508
|
+
}
|
|
509
|
+
return 0;
|
|
504
510
|
}
|
|
505
|
-
return
|
|
511
|
+
return wrapper;
|
|
506
512
|
}
|
|
507
513
|
function compareMultiple(object, other, orders) {
|
|
508
514
|
var objCriteria = object.criteria;
|
|
@@ -511,7 +517,7 @@
|
|
|
511
517
|
var index = -1;
|
|
512
518
|
while (++index < length) {
|
|
513
519
|
var order = orders[index];
|
|
514
|
-
var cmpFn = typeof order === 'function' ? order : order === 'desc' ?
|
|
520
|
+
var cmpFn = typeof order === 'function' ? order : order === 'desc' ? createCompare(0) : createCompare(1);
|
|
515
521
|
var result = cmpFn(objCriteria[index], othCriteria[index]);
|
|
516
522
|
if (result) {
|
|
517
523
|
return result;
|
|
@@ -522,11 +528,11 @@
|
|
|
522
528
|
|
|
523
529
|
var orderBy = function (collection, iteratees, orders) {
|
|
524
530
|
var result = [];
|
|
525
|
-
iteratees = (isArray(iteratees) ? iteratees : iteratees !==
|
|
526
|
-
orders = (isArray(orders) ? orders : orders !==
|
|
531
|
+
iteratees = (isArray(iteratees) ? iteratees : iteratees !== nativeUndefined ? [iteratees] : [identity]);
|
|
532
|
+
orders = (isArray(orders) ? orders : orders !== nativeUndefined ? [orders] : []);
|
|
527
533
|
var index = -1;
|
|
528
|
-
forEach(collection, function (item) {
|
|
529
|
-
var criteria = iteratees.map(function (iteratee) { return createIteratee(iteratee)(item); });
|
|
534
|
+
forEach(collection, function (item, key, arr) {
|
|
535
|
+
var criteria = iteratees.map(function (iteratee) { return createIteratee(iteratee)(item, key, arr); });
|
|
530
536
|
result.push({
|
|
531
537
|
criteria: criteria,
|
|
532
538
|
index: ++index,
|
|
@@ -549,15 +555,15 @@
|
|
|
549
555
|
if (predicate === void 0) { predicate = identity; }
|
|
550
556
|
var result = [[], []];
|
|
551
557
|
var internalIteratee = createIteratee(predicate);
|
|
552
|
-
forEach(collection, function (item) {
|
|
553
|
-
result[internalIteratee(item) ? 0 : 1].push(item);
|
|
558
|
+
forEach(collection, function (item, index, arr) {
|
|
559
|
+
result[internalIteratee(item, index, arr) ? 0 : 1].push(item);
|
|
554
560
|
});
|
|
555
561
|
return result;
|
|
556
562
|
};
|
|
557
563
|
|
|
558
564
|
function createReduce(dir) {
|
|
559
565
|
function reducer(collection, iteratee, memo, initial) {
|
|
560
|
-
var _keys = !isArrayLike(collection) &&
|
|
566
|
+
var _keys = !isArrayLike(collection) && allKeys(collection);
|
|
561
567
|
var len = (_keys || collection).length;
|
|
562
568
|
var i = dir > 0 ? 0 : len - 1;
|
|
563
569
|
if (!initial && len > 0) {
|
|
@@ -599,7 +605,7 @@
|
|
|
599
605
|
return value == null || value !== value ? defaultValue : value;
|
|
600
606
|
};
|
|
601
607
|
|
|
602
|
-
var VERSION = "1.
|
|
608
|
+
var VERSION = "1.9.0";
|
|
603
609
|
var supportedArgumentsType = getTag((function () { return arguments; })()) === argumentsTag;
|
|
604
610
|
var FUNC_ERROR_TEXT = 'Expected a function';
|
|
605
611
|
function toSource(func) {
|
|
@@ -643,14 +649,14 @@
|
|
|
643
649
|
result = func.apply(this, arguments);
|
|
644
650
|
}
|
|
645
651
|
if (n <= 1) {
|
|
646
|
-
func =
|
|
652
|
+
func = nativeUndefined;
|
|
647
653
|
}
|
|
648
654
|
return result;
|
|
649
655
|
};
|
|
650
656
|
}
|
|
651
657
|
|
|
652
658
|
function isUndefined(value) {
|
|
653
|
-
return value ===
|
|
659
|
+
return value === nativeUndefined;
|
|
654
660
|
}
|
|
655
661
|
|
|
656
662
|
var PLACEHOLDER$1 = {
|
|
@@ -687,7 +693,7 @@
|
|
|
687
693
|
var timer, lastCallTime, lastInvokeTime, lastArgs, lastThis, result;
|
|
688
694
|
wait = defaultTo(toNumber(wait), 0);
|
|
689
695
|
function shouldInvoke(time) {
|
|
690
|
-
if (lastCallTime ===
|
|
696
|
+
if (lastCallTime === nativeUndefined) {
|
|
691
697
|
return true;
|
|
692
698
|
}
|
|
693
699
|
var timeSinceLastCall = time - lastCallTime;
|
|
@@ -697,7 +703,7 @@
|
|
|
697
703
|
function invokeFunc(time) {
|
|
698
704
|
lastInvokeTime = time;
|
|
699
705
|
result = func.apply(lastThis, lastArgs);
|
|
700
|
-
lastThis = lastArgs =
|
|
706
|
+
lastThis = lastArgs = nativeUndefined;
|
|
701
707
|
return result;
|
|
702
708
|
}
|
|
703
709
|
function debounced() {
|
|
@@ -709,36 +715,36 @@
|
|
|
709
715
|
lastArgs = args;
|
|
710
716
|
var time = Date.now();
|
|
711
717
|
var isInvoke = shouldInvoke(time);
|
|
712
|
-
var waitTime = !__throttle__ ? wait : !isInvoke && lastCallTime !==
|
|
718
|
+
var waitTime = !__throttle__ ? wait : !isInvoke && lastCallTime !== nativeUndefined && timer === nativeUndefined ? wait - (time - lastCallTime) : wait;
|
|
713
719
|
lastCallTime = time;
|
|
714
720
|
if (isInvoke) {
|
|
715
|
-
if (immediate && timer ===
|
|
721
|
+
if (immediate && timer === nativeUndefined) {
|
|
716
722
|
return invokeFunc(time);
|
|
717
723
|
}
|
|
718
724
|
}
|
|
719
|
-
if (timer !==
|
|
725
|
+
if (timer !== nativeUndefined && !__throttle__) {
|
|
720
726
|
clearTimeout(timer);
|
|
721
|
-
timer =
|
|
727
|
+
timer = nativeUndefined;
|
|
722
728
|
}
|
|
723
|
-
if (timer ===
|
|
729
|
+
if (timer === nativeUndefined) {
|
|
724
730
|
timer = setTimeout(function () {
|
|
725
|
-
timer =
|
|
731
|
+
timer = nativeUndefined;
|
|
726
732
|
invokeFunc(Date.now());
|
|
727
733
|
}, waitTime);
|
|
728
734
|
}
|
|
729
735
|
return result;
|
|
730
736
|
}
|
|
731
737
|
function cancel() {
|
|
732
|
-
if (timer !==
|
|
738
|
+
if (timer !== nativeUndefined) {
|
|
733
739
|
clearTimeout(timer);
|
|
734
|
-
timer =
|
|
740
|
+
timer = nativeUndefined;
|
|
735
741
|
}
|
|
736
|
-
lastCallTime = timer = lastArgs = lastThis =
|
|
742
|
+
lastCallTime = timer = lastArgs = lastThis = nativeUndefined;
|
|
737
743
|
}
|
|
738
744
|
function flush() {
|
|
739
|
-
if (timer !==
|
|
745
|
+
if (timer !== nativeUndefined) {
|
|
740
746
|
clearTimeout(timer);
|
|
741
|
-
timer =
|
|
747
|
+
timer = nativeUndefined;
|
|
742
748
|
if (lastArgs) {
|
|
743
749
|
return invokeFunc(Date.now());
|
|
744
750
|
}
|
|
@@ -746,7 +752,7 @@
|
|
|
746
752
|
return result;
|
|
747
753
|
}
|
|
748
754
|
function pending() {
|
|
749
|
-
return timer !==
|
|
755
|
+
return timer !== nativeUndefined;
|
|
750
756
|
}
|
|
751
757
|
debounced.cancel = cancel;
|
|
752
758
|
debounced.flush = flush;
|
|
@@ -822,8 +828,8 @@
|
|
|
822
828
|
return isObjectLike(value) && objectProtoHasOwnProperty.call(value, 'callee') && !objectProtoPropertyIsEnumerable.call(value, 'callee');
|
|
823
829
|
}
|
|
824
830
|
|
|
825
|
-
var freeExports = typeof exports ===
|
|
826
|
-
var freeModule = freeExports && typeof module ===
|
|
831
|
+
var freeExports = typeof exports === stringObject && exports && !exports.nodeType && exports;
|
|
832
|
+
var freeModule = freeExports && typeof module === stringObject && module && !module.nodeType && module;
|
|
827
833
|
var nodeUtil = (function () {
|
|
828
834
|
try {
|
|
829
835
|
var types = freeModule && freeModule.require && freeModule.require('util').types;
|
|
@@ -849,7 +855,7 @@
|
|
|
849
855
|
return typeof value === 'bigint' || getTag(value) === bigIntTag;
|
|
850
856
|
}
|
|
851
857
|
|
|
852
|
-
var blobExisted = typeof Blob !==
|
|
858
|
+
var blobExisted = typeof Blob !== stringUndefined;
|
|
853
859
|
function isBlob(value) {
|
|
854
860
|
if (blobExisted && value instanceof Blob) {
|
|
855
861
|
return true;
|
|
@@ -871,11 +877,11 @@
|
|
|
871
877
|
return false;
|
|
872
878
|
}
|
|
873
879
|
|
|
874
|
-
var dataViewExisted = typeof DataView !==
|
|
875
|
-
var mapExisted = typeof Map !==
|
|
876
|
-
var promiseExisted = typeof Promise !==
|
|
877
|
-
var setExisted = typeof Set !==
|
|
878
|
-
var weakMapExisted = typeof WeakMap !==
|
|
880
|
+
var dataViewExisted = typeof DataView !== stringUndefined;
|
|
881
|
+
var mapExisted = typeof Map !== stringUndefined;
|
|
882
|
+
var promiseExisted = typeof Promise !== stringUndefined;
|
|
883
|
+
var setExisted = typeof Set !== stringUndefined;
|
|
884
|
+
var weakMapExisted = typeof WeakMap !== stringUndefined;
|
|
879
885
|
var dataViewCtorString = toSource(DataView);
|
|
880
886
|
var mapCtorString = toSource(Map);
|
|
881
887
|
var promiseCtorString = toSource(Promise);
|
|
@@ -889,7 +895,7 @@
|
|
|
889
895
|
(weakMapExisted && getTag(new WeakMap()) !== weakMapTag)) {
|
|
890
896
|
getTagWithBugfix = function (value) {
|
|
891
897
|
var result = getTag(value);
|
|
892
|
-
var Ctor = result === objectTag ? value.constructor :
|
|
898
|
+
var Ctor = result === objectTag ? value.constructor : nativeUndefined;
|
|
893
899
|
var ctorString = Ctor ? toSource(Ctor) : '';
|
|
894
900
|
if (ctorString) {
|
|
895
901
|
switch (ctorString) {
|
|
@@ -935,28 +941,6 @@
|
|
|
935
941
|
return isObjectLike(value) && value.nodeType === 1 && !isPlainObject(value);
|
|
936
942
|
}
|
|
937
943
|
|
|
938
|
-
function isPrototype(value) {
|
|
939
|
-
if (typeof value !== 'object') {
|
|
940
|
-
return false;
|
|
941
|
-
}
|
|
942
|
-
var Ctor = value.constructor;
|
|
943
|
-
var proto = typeof Ctor === 'function' ? Ctor.prototype : objectProto;
|
|
944
|
-
return value === proto;
|
|
945
|
-
}
|
|
946
|
-
|
|
947
|
-
function keys(value) {
|
|
948
|
-
if (!isPrototype(value)) {
|
|
949
|
-
return objectKeys(value);
|
|
950
|
-
}
|
|
951
|
-
var result = [];
|
|
952
|
-
for (var key in Object(value)) {
|
|
953
|
-
if (objectProtoHasOwnProperty.call(value, key) && key !== 'constructor') {
|
|
954
|
-
result.push(key);
|
|
955
|
-
}
|
|
956
|
-
}
|
|
957
|
-
return result;
|
|
958
|
-
}
|
|
959
|
-
|
|
960
944
|
function isEmpty(value) {
|
|
961
945
|
if (isNil(value)) {
|
|
962
946
|
return true;
|
|
@@ -966,7 +950,7 @@
|
|
|
966
950
|
return !value.size;
|
|
967
951
|
}
|
|
968
952
|
if (isObjectLike(value)) {
|
|
969
|
-
return !
|
|
953
|
+
return !allKeys(value).length;
|
|
970
954
|
}
|
|
971
955
|
if (isArrayLike(value)) {
|
|
972
956
|
return !value.length;
|
|
@@ -974,20 +958,6 @@
|
|
|
974
958
|
return true;
|
|
975
959
|
}
|
|
976
960
|
|
|
977
|
-
function getSymbols(object) {
|
|
978
|
-
if (!objectGetOwnPropertySymbols || object === null) {
|
|
979
|
-
return [];
|
|
980
|
-
}
|
|
981
|
-
return objectGetOwnPropertySymbols(object).filter(function (item) { return objectProtoPropertyIsEnumerable.call(object, item); });
|
|
982
|
-
}
|
|
983
|
-
|
|
984
|
-
function allKeys(object) {
|
|
985
|
-
if (!isObject(object)) {
|
|
986
|
-
return [];
|
|
987
|
-
}
|
|
988
|
-
return objectKeys(object).concat(getSymbols(object));
|
|
989
|
-
}
|
|
990
|
-
|
|
991
961
|
function isTypedArray(value) {
|
|
992
962
|
if (nodeIsTypedArray) {
|
|
993
963
|
return nodeIsTypedArray(value);
|
|
@@ -999,7 +969,7 @@
|
|
|
999
969
|
return false;
|
|
1000
970
|
}
|
|
1001
971
|
|
|
1002
|
-
var symbolValueOf = symbolProto ? symbolProto.valueOf :
|
|
972
|
+
var symbolValueOf = symbolProto ? symbolProto.valueOf : nativeUndefined;
|
|
1003
973
|
function mapToArray(map) {
|
|
1004
974
|
var result = [];
|
|
1005
975
|
map.forEach(function (value, key) {
|
|
@@ -1112,7 +1082,7 @@
|
|
|
1112
1082
|
while (length--) {
|
|
1113
1083
|
if (hasCustomizer) {
|
|
1114
1084
|
var compared = customizer(value[length], other[length], length, value, other, valueStack, otherStack);
|
|
1115
|
-
if (compared !==
|
|
1085
|
+
if (compared !== nativeUndefined) {
|
|
1116
1086
|
if (!compared) {
|
|
1117
1087
|
return false;
|
|
1118
1088
|
}
|
|
@@ -1135,7 +1105,7 @@
|
|
|
1135
1105
|
var key = keys[length];
|
|
1136
1106
|
if (hasCustomizer) {
|
|
1137
1107
|
var compared = customizer(value[key], other[key], key, value, other, valueStack, otherStack);
|
|
1138
|
-
if (compared !==
|
|
1108
|
+
if (compared !== nativeUndefined) {
|
|
1139
1109
|
if (!compared) {
|
|
1140
1110
|
return false;
|
|
1141
1111
|
}
|
|
@@ -1169,7 +1139,7 @@
|
|
|
1169
1139
|
if (strictCheck === void 0) { strictCheck = false; }
|
|
1170
1140
|
if (typeof customizer === 'function') {
|
|
1171
1141
|
var result = customizer(value, other);
|
|
1172
|
-
if (result !==
|
|
1142
|
+
if (result !== nativeUndefined) {
|
|
1173
1143
|
return !!result;
|
|
1174
1144
|
}
|
|
1175
1145
|
}
|
|
@@ -1232,7 +1202,7 @@
|
|
|
1232
1202
|
}
|
|
1233
1203
|
if (hasCustomizer) {
|
|
1234
1204
|
var compared = customizer(object[key], source[key], key, object, source, objStack, srcStack);
|
|
1235
|
-
if (compared !==
|
|
1205
|
+
if (compared !== nativeUndefined) {
|
|
1236
1206
|
if (!compared) {
|
|
1237
1207
|
return false;
|
|
1238
1208
|
}
|
|
@@ -1250,7 +1220,7 @@
|
|
|
1250
1220
|
var result = isEqualDeep(object, source, function (objValue, srcValue, k, obj, src) {
|
|
1251
1221
|
if (hasCustomizer) {
|
|
1252
1222
|
var compared = customizer(objValue, srcValue, k, obj, src, objStack, srcStack);
|
|
1253
|
-
if (compared !==
|
|
1223
|
+
if (compared !== nativeUndefined) {
|
|
1254
1224
|
return compared;
|
|
1255
1225
|
}
|
|
1256
1226
|
}
|
|
@@ -1264,15 +1234,11 @@
|
|
|
1264
1234
|
if (strictCheck === void 0) { strictCheck = false; }
|
|
1265
1235
|
if (typeof customizer === 'function') {
|
|
1266
1236
|
var compared = customizer(object, source);
|
|
1267
|
-
if (compared !==
|
|
1237
|
+
if (compared !== nativeUndefined) {
|
|
1268
1238
|
return !!compared;
|
|
1269
1239
|
}
|
|
1270
1240
|
}
|
|
1271
|
-
return baseIsMatch(object, source, customizer, strictCheck,
|
|
1272
|
-
}
|
|
1273
|
-
|
|
1274
|
-
function isNumber(value) {
|
|
1275
|
-
return typeof value === 'number' || getTag(value) === numberTag;
|
|
1241
|
+
return baseIsMatch(object, source, customizer, strictCheck, nativeUndefined, nativeUndefined);
|
|
1276
1242
|
}
|
|
1277
1243
|
|
|
1278
1244
|
function isNaN(value) {
|
|
@@ -1361,9 +1327,9 @@
|
|
|
1361
1327
|
}
|
|
1362
1328
|
var result, computed;
|
|
1363
1329
|
var internalIteratee = createIteratee(iteratee);
|
|
1364
|
-
array.forEach(function (value) {
|
|
1365
|
-
var current = internalIteratee(value);
|
|
1366
|
-
if (current != null && (computed ===
|
|
1330
|
+
array.forEach(function (value, index) {
|
|
1331
|
+
var current = internalIteratee(value, index, array);
|
|
1332
|
+
if (current != null && (computed === nativeUndefined ? current === current && !isSymbol(current) : comparator(current, computed))) {
|
|
1367
1333
|
computed = current;
|
|
1368
1334
|
result = value;
|
|
1369
1335
|
}
|
|
@@ -1371,35 +1337,35 @@
|
|
|
1371
1337
|
return result;
|
|
1372
1338
|
}
|
|
1373
1339
|
|
|
1374
|
-
function
|
|
1340
|
+
var max = function (array, iteratee) {
|
|
1375
1341
|
return createExtremum(array, baseGt, iteratee);
|
|
1376
|
-
}
|
|
1342
|
+
};
|
|
1377
1343
|
|
|
1378
|
-
function
|
|
1344
|
+
var min = function (array, iteratee) {
|
|
1379
1345
|
return createExtremum(array, baseLt, iteratee);
|
|
1380
|
-
}
|
|
1346
|
+
};
|
|
1381
1347
|
|
|
1382
1348
|
function round(number, precision) {
|
|
1383
1349
|
return decimalAdjust('round', number, precision);
|
|
1384
1350
|
}
|
|
1385
1351
|
|
|
1386
1352
|
var clamp = function (number, lower, upper) {
|
|
1387
|
-
if (upper ===
|
|
1353
|
+
if (upper === nativeUndefined) {
|
|
1388
1354
|
upper = lower;
|
|
1389
|
-
lower =
|
|
1355
|
+
lower = nativeUndefined;
|
|
1390
1356
|
}
|
|
1391
|
-
if (upper !==
|
|
1357
|
+
if (upper !== nativeUndefined) {
|
|
1392
1358
|
upper = defaultTo(toNumber(upper), 0);
|
|
1393
1359
|
}
|
|
1394
|
-
if (lower !==
|
|
1360
|
+
if (lower !== nativeUndefined) {
|
|
1395
1361
|
lower = defaultTo(toNumber(lower), 0);
|
|
1396
1362
|
}
|
|
1397
1363
|
number = toNumber(number);
|
|
1398
1364
|
if (number === number) {
|
|
1399
|
-
if (upper !==
|
|
1365
|
+
if (upper !== nativeUndefined) {
|
|
1400
1366
|
number = number <= upper ? number : upper;
|
|
1401
1367
|
}
|
|
1402
|
-
if (lower !==
|
|
1368
|
+
if (lower !== nativeUndefined) {
|
|
1403
1369
|
number = number >= lower ? number : lower;
|
|
1404
1370
|
}
|
|
1405
1371
|
}
|
|
@@ -1455,7 +1421,7 @@
|
|
|
1455
1421
|
|
|
1456
1422
|
function invert(object, predicate) {
|
|
1457
1423
|
if (predicate === void 0) { predicate = stubTrue; }
|
|
1458
|
-
var _keys =
|
|
1424
|
+
var _keys = allKeys(object);
|
|
1459
1425
|
var result = {};
|
|
1460
1426
|
_keys.forEach(function (key) {
|
|
1461
1427
|
var value = object[key];
|
|
@@ -1470,6 +1436,13 @@
|
|
|
1470
1436
|
return result;
|
|
1471
1437
|
}
|
|
1472
1438
|
|
|
1439
|
+
function keys(object) {
|
|
1440
|
+
if (!isObject(object)) {
|
|
1441
|
+
return [];
|
|
1442
|
+
}
|
|
1443
|
+
return objectKeys(object);
|
|
1444
|
+
}
|
|
1445
|
+
|
|
1473
1446
|
function keysIn(object) {
|
|
1474
1447
|
if (!isObject(object)) {
|
|
1475
1448
|
return [];
|
|
@@ -1492,8 +1465,8 @@
|
|
|
1492
1465
|
obj[key] = srcValue;
|
|
1493
1466
|
}
|
|
1494
1467
|
else {
|
|
1495
|
-
var newValue = hasCustomizer ? customizer(obj[key], srcValue, key, obj, source) :
|
|
1496
|
-
if (newValue !==
|
|
1468
|
+
var newValue = hasCustomizer ? customizer(obj[key], srcValue, key, obj, source) : nativeUndefined;
|
|
1469
|
+
if (newValue !== nativeUndefined) {
|
|
1497
1470
|
obj[key] = newValue;
|
|
1498
1471
|
}
|
|
1499
1472
|
else {
|
|
@@ -1511,7 +1484,7 @@
|
|
|
1511
1484
|
if (newObjValue) {
|
|
1512
1485
|
obj[key] = baseMerge(newObjValue, srcValue, getKeys, customizer, stack);
|
|
1513
1486
|
}
|
|
1514
|
-
else if (srcValue !==
|
|
1487
|
+
else if (srcValue !== nativeUndefined || !(key in obj)) {
|
|
1515
1488
|
obj[key] = srcValue;
|
|
1516
1489
|
}
|
|
1517
1490
|
}
|
|
@@ -1520,7 +1493,7 @@
|
|
|
1520
1493
|
return obj;
|
|
1521
1494
|
}
|
|
1522
1495
|
function merge(object, source, customizer, getKeys) {
|
|
1523
|
-
if (getKeys === void 0) { getKeys =
|
|
1496
|
+
if (getKeys === void 0) { getKeys = allKeys; }
|
|
1524
1497
|
return baseMerge(object, source, getKeys, customizer);
|
|
1525
1498
|
}
|
|
1526
1499
|
|
|
@@ -1691,7 +1664,7 @@
|
|
|
1691
1664
|
var key = props[i];
|
|
1692
1665
|
var predicate = source[key];
|
|
1693
1666
|
var value = object[key];
|
|
1694
|
-
if ((value ===
|
|
1667
|
+
if ((value === nativeUndefined && !(key in object)) || !predicate(value)) {
|
|
1695
1668
|
return false;
|
|
1696
1669
|
}
|
|
1697
1670
|
}
|
|
@@ -1879,7 +1852,7 @@
|
|
|
1879
1852
|
exports.isWeakSet = isWeakSet;
|
|
1880
1853
|
exports.kebabCase = kebabCase;
|
|
1881
1854
|
exports.keyBy = keyBy;
|
|
1882
|
-
exports.keys = keys
|
|
1855
|
+
exports.keys = keys;
|
|
1883
1856
|
exports.keysIn = keysIn;
|
|
1884
1857
|
exports.lowerCase = lowerCase;
|
|
1885
1858
|
exports.lowerFirst = lowerFirst;
|