ut2 1.5.2 → 1.5.4
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/README.md +2 -2
- package/dist/ut2.js +103 -129
- package/dist/ut2.js.map +1 -1
- package/dist/ut2.min.js +1 -1
- package/dist/ut2.min.js.map +1 -1
- package/es/gt.js +3 -4
- package/es/gte.js +3 -4
- package/es/internals/createExtremum.js +19 -12
- package/es/internals/createIteratee.js +2 -1
- package/es/internals/getTag.js +2 -23
- package/es/internals/getTagWithBugfix.js +6 -6
- package/es/internals/helpers.js +6 -4
- package/es/internals/isEqualDeep.js +178 -0
- package/es/internals/native.js +1 -3
- package/es/isArguments.js +3 -2
- package/es/isArrayBuffer.js +3 -2
- package/es/isBlob.js +3 -2
- package/es/isBoolean.js +3 -2
- package/es/isDate.js +3 -2
- package/es/isEmpty.js +4 -3
- package/es/isEqual.js +1 -175
- package/es/isError.js +3 -2
- package/es/isFunction.js +3 -2
- package/es/isMatch.js +10 -11
- package/es/isNumber.js +3 -2
- package/es/isObject.js +1 -1
- package/es/isObjectLike.js +1 -1
- package/es/isRegExp.js +3 -2
- package/es/isString.js +3 -2
- package/es/isSymbol.js +3 -2
- package/es/isTypedArray.js +3 -2
- package/es/isWeakSet.js +3 -2
- package/es/lowerFirst.js +3 -4
- package/es/lt.js +3 -4
- package/es/lte.js +3 -4
- package/es/max.js +2 -4
- package/es/min.js +2 -4
- package/es/nth.js +2 -6
- package/es/omit.js +1 -1
- package/es/omitBy.js +2 -1
- package/es/pickBy.js +2 -1
- package/es/toString.js +1 -1
- package/es/uniq.js +13 -5
- package/es/upperFirst.js +3 -4
- package/lib/gt.js +3 -4
- package/lib/gte.js +3 -4
- package/lib/internals/createExtremum.js +19 -12
- package/lib/internals/createIteratee.js +2 -1
- package/lib/internals/getTag.js +1 -22
- package/lib/internals/getTagWithBugfix.js +5 -5
- package/lib/internals/helpers.js +4 -2
- package/lib/internals/isEqualDeep.js +180 -0
- package/lib/internals/native.js +0 -2
- package/lib/isArguments.js +2 -1
- package/lib/isArrayBuffer.js +2 -1
- package/lib/isBlob.js +2 -1
- package/lib/isBoolean.js +2 -1
- package/lib/isDate.js +2 -1
- package/lib/isEmpty.js +4 -3
- package/lib/isEqual.js +1 -175
- package/lib/isError.js +2 -1
- package/lib/isFunction.js +2 -1
- package/lib/isMatch.js +9 -10
- package/lib/isNumber.js +2 -1
- package/lib/isObject.js +1 -1
- package/lib/isObjectLike.js +1 -1
- package/lib/isRegExp.js +2 -1
- package/lib/isString.js +2 -1
- package/lib/isSymbol.js +2 -1
- package/lib/isTypedArray.js +2 -1
- package/lib/isWeakSet.js +2 -1
- package/lib/lowerFirst.js +3 -4
- package/lib/lt.js +3 -4
- package/lib/lte.js +3 -4
- package/lib/max.js +2 -4
- package/lib/min.js +2 -4
- package/lib/nth.js +2 -6
- package/lib/omit.js +1 -1
- package/lib/omitBy.js +2 -1
- package/lib/pickBy.js +2 -1
- package/lib/toString.js +1 -1
- package/lib/uniq.js +13 -5
- package/lib/upperFirst.js +3 -4
- package/package.json +7 -2
- package/types/gt.d.ts +2 -2
- package/types/gte.d.ts +2 -2
- package/types/identity.d.ts +1 -1
- package/types/internals/createExtremum.d.ts +1 -1
- package/types/internals/createIteratee.d.ts +2 -1
- package/types/internals/decimalAdjust.d.ts +1 -1
- package/types/internals/getTag.d.ts +1 -1
- package/types/internals/helpers.d.ts +1 -0
- package/types/internals/isEqualDeep.d.ts +26 -0
- package/types/internals/native.d.ts +0 -2
- package/types/isEqual.d.ts +2 -2
- package/types/lowerFirst.d.ts +2 -2
- package/types/lt.d.ts +2 -2
- package/types/lte.d.ts +2 -2
- package/types/upperFirst.d.ts +2 -2
package/README.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
一个现代 JavaScript 实用工具库。[点击查看在线文档]。
|
|
4
4
|
|
|
5
|
-
[![npm][npm]][npm-url] [](https://github.com/caijf/ut2/actions/workflows/ci.yml) [](https://codecov.io/gh/caijf/ut2)  
|
|
5
|
+
[![npm][npm]][npm-url] [](https://github.com/caijf/ut2/actions/workflows/ci.yml) [](https://codecov.io/gh/caijf/ut2) [](https://codesandbox.io/s/github/caijf/ut2/tree/main/benchmark)  
|
|
6
6
|
|
|
7
7
|
## 比较
|
|
8
8
|
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
|
|
17
17
|
兼容现代浏览器 [Firefox](https://www.firefox.com.cn/)、[Chrome](https://www.google.cn/chrome/index.html)、[Safari](https://www.apple.com.cn/safari/)、[Opera](https://www.opera.com/zh-cn),以及 [Node.js >= 10](https://nodejs.org/) 。
|
|
18
18
|
|
|
19
|
-
如果要兼容 IE
|
|
19
|
+
如果要兼容 IE 系列浏览器,需要提供相应的 Polyfill 支持,建议使用 [@babel/preset-env](https://babeljs.io/docs/babel-preset-env) 设置对应的 `targets` 。
|
|
20
20
|
|
|
21
21
|
## 使用
|
|
22
22
|
|
package/dist/ut2.js
CHANGED
|
@@ -15,10 +15,8 @@
|
|
|
15
15
|
var functionProtoToString = functionProto.toString;
|
|
16
16
|
var symbolExisted = typeof Symbol !== 'undefined';
|
|
17
17
|
var symbolProto = symbolExisted ? Symbol.prototype : undefined;
|
|
18
|
-
var symbolToStringTag = symbolExisted ? Symbol.toStringTag : undefined;
|
|
19
18
|
var arrayProto = Array.prototype;
|
|
20
19
|
var arrayProtoSlice = arrayProto.slice;
|
|
21
|
-
var arrayProtoAt = arrayProto.at;
|
|
22
20
|
var mathMin = Math.min;
|
|
23
21
|
var mathMax = Math.max;
|
|
24
22
|
var mathRandom = Math.random;
|
|
@@ -62,11 +60,15 @@
|
|
|
62
60
|
|
|
63
61
|
function isObject(value) {
|
|
64
62
|
var type = typeof value;
|
|
65
|
-
return
|
|
63
|
+
return type === 'function' || (type === 'object' && !!value);
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
function getTag(value) {
|
|
67
|
+
return objectProtoToString.call(value);
|
|
66
68
|
}
|
|
67
69
|
|
|
68
70
|
function isSymbol(value) {
|
|
69
|
-
return typeof value === 'symbol' ||
|
|
71
|
+
return typeof value === 'symbol' || getTag(value) === symbolTag;
|
|
70
72
|
}
|
|
71
73
|
|
|
72
74
|
var reIsBinary = /^0b[01]+$/i;
|
|
@@ -144,6 +146,10 @@
|
|
|
144
146
|
return value !== value && other !== other;
|
|
145
147
|
}
|
|
146
148
|
|
|
149
|
+
function identity(value) {
|
|
150
|
+
return value;
|
|
151
|
+
}
|
|
152
|
+
|
|
147
153
|
function createIteratee(iteratee) {
|
|
148
154
|
if (typeof iteratee === 'function') {
|
|
149
155
|
return iteratee;
|
|
@@ -151,7 +157,7 @@
|
|
|
151
157
|
if (typeof iteratee === 'string' || typeof iteratee === 'number' || isSymbol(iteratee)) {
|
|
152
158
|
return function (value) { return value[iteratee]; };
|
|
153
159
|
}
|
|
154
|
-
return
|
|
160
|
+
return identity;
|
|
155
161
|
}
|
|
156
162
|
|
|
157
163
|
function difference(array, values, iteratee, strictCheck) {
|
|
@@ -201,7 +207,7 @@
|
|
|
201
207
|
if (typeof value === 'function') {
|
|
202
208
|
return true;
|
|
203
209
|
}
|
|
204
|
-
var tag =
|
|
210
|
+
var tag = getTag(value);
|
|
205
211
|
return functionTags.some(function (item) { return item === tag; });
|
|
206
212
|
}
|
|
207
213
|
|
|
@@ -218,11 +224,8 @@
|
|
|
218
224
|
if (!isArrayLike(array)) {
|
|
219
225
|
return undefined;
|
|
220
226
|
}
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
}
|
|
224
|
-
var index = n < 0 ? n + array.length : n;
|
|
225
|
-
return array[index];
|
|
227
|
+
n += n < 0 ? array.length : 0;
|
|
228
|
+
return array[n];
|
|
226
229
|
}
|
|
227
230
|
|
|
228
231
|
var MAX_VALUE = 1.7976931348623157e308;
|
|
@@ -270,16 +273,27 @@
|
|
|
270
273
|
return result;
|
|
271
274
|
}
|
|
272
275
|
|
|
276
|
+
function isUndefined(value) {
|
|
277
|
+
return value === void 0;
|
|
278
|
+
}
|
|
279
|
+
|
|
273
280
|
function uniq(array, iteratee, strickCheck) {
|
|
274
281
|
if (strickCheck === void 0) { strickCheck = false; }
|
|
275
282
|
if (!isArray(array)) {
|
|
276
283
|
return [];
|
|
277
284
|
}
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
}
|
|
285
|
+
if (isUndefined(iteratee)) {
|
|
286
|
+
return array.filter(function (value, index, arr) {
|
|
287
|
+
return arr.findIndex(function (item) { return eq(item, value, strickCheck); }) === index;
|
|
288
|
+
});
|
|
289
|
+
}
|
|
290
|
+
else {
|
|
291
|
+
var internalIteratee_1 = createIteratee(iteratee);
|
|
292
|
+
return array.filter(function (value, index, arr) {
|
|
293
|
+
var current = internalIteratee_1(value);
|
|
294
|
+
return arr.findIndex(function (item) { return eq(internalIteratee_1(item), current, strickCheck); }) === index;
|
|
295
|
+
});
|
|
296
|
+
}
|
|
283
297
|
}
|
|
284
298
|
|
|
285
299
|
function union(array, other, iteratee, strickCheck) {
|
|
@@ -291,7 +305,7 @@
|
|
|
291
305
|
}
|
|
292
306
|
|
|
293
307
|
function isObjectLike(value) {
|
|
294
|
-
return value
|
|
308
|
+
return value !== null && typeof value === 'object';
|
|
295
309
|
}
|
|
296
310
|
|
|
297
311
|
function isArrayLikeObject(value) {
|
|
@@ -389,10 +403,6 @@
|
|
|
389
403
|
return result;
|
|
390
404
|
}
|
|
391
405
|
|
|
392
|
-
function identity(value) {
|
|
393
|
-
return value;
|
|
394
|
-
}
|
|
395
|
-
|
|
396
406
|
var symbolToString = symbolProto ? symbolProto.toString : undefined;
|
|
397
407
|
function baseToString(value) {
|
|
398
408
|
if (typeof value === 'string') {
|
|
@@ -405,7 +415,7 @@
|
|
|
405
415
|
return symbolToString ? symbolToString.call(value) : '';
|
|
406
416
|
}
|
|
407
417
|
var result = '' + value;
|
|
408
|
-
return result
|
|
418
|
+
return result === '0' && 1 / value === -Infinity ? '-0' : result;
|
|
409
419
|
}
|
|
410
420
|
function toString(value) {
|
|
411
421
|
return value == null ? '' : baseToString(value);
|
|
@@ -485,8 +495,8 @@
|
|
|
485
495
|
return value == null || value !== value ? defaultValue : value;
|
|
486
496
|
}
|
|
487
497
|
|
|
488
|
-
var VERSION = "1.5.
|
|
489
|
-
var supportedArgumentsType =
|
|
498
|
+
var VERSION = "1.5.4";
|
|
499
|
+
var supportedArgumentsType = getTag((function () { return arguments; })()) === argumentsTag;
|
|
490
500
|
var FUNC_ERROR_TEXT = 'Expected a function';
|
|
491
501
|
function toSource(func) {
|
|
492
502
|
if (func !== null) {
|
|
@@ -503,6 +513,7 @@
|
|
|
503
513
|
}
|
|
504
514
|
return '';
|
|
505
515
|
}
|
|
516
|
+
var stubFlase = function () { return false; };
|
|
506
517
|
|
|
507
518
|
function after(n, func) {
|
|
508
519
|
if (typeof func !== 'function') {
|
|
@@ -675,7 +686,7 @@
|
|
|
675
686
|
|
|
676
687
|
function isArguments(value) {
|
|
677
688
|
if (supportedArgumentsType) {
|
|
678
|
-
return
|
|
689
|
+
return getTag(value) === argumentsTag;
|
|
679
690
|
}
|
|
680
691
|
return isObjectLike(value) && objectProtoHasOwnProperty.call(value, 'callee') && !objectProtoPropertyIsEnumerable.call(value, 'callee');
|
|
681
692
|
}
|
|
@@ -700,7 +711,7 @@
|
|
|
700
711
|
var nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;
|
|
701
712
|
|
|
702
713
|
function isArrayBuffer(value) {
|
|
703
|
-
return nodeIsArrayBuffer ? nodeIsArrayBuffer(value) :
|
|
714
|
+
return nodeIsArrayBuffer ? nodeIsArrayBuffer(value) : getTag(value) === arrayBufferTag;
|
|
704
715
|
}
|
|
705
716
|
|
|
706
717
|
var blobExisted = typeof Blob !== 'undefined';
|
|
@@ -708,11 +719,11 @@
|
|
|
708
719
|
if (blobExisted && value instanceof Blob) {
|
|
709
720
|
return true;
|
|
710
721
|
}
|
|
711
|
-
return
|
|
722
|
+
return getTag(value) === blobTag;
|
|
712
723
|
}
|
|
713
724
|
|
|
714
725
|
function isBoolean(value) {
|
|
715
|
-
return value === true || value === false ||
|
|
726
|
+
return value === true || value === false || getTag(value) === booleanTag;
|
|
716
727
|
}
|
|
717
728
|
|
|
718
729
|
function isBuffer(value) {
|
|
@@ -725,31 +736,6 @@
|
|
|
725
736
|
return false;
|
|
726
737
|
}
|
|
727
738
|
|
|
728
|
-
function getRawTag(value) {
|
|
729
|
-
var isOwn = objectProtoHasOwnProperty.call(value, symbolToStringTag);
|
|
730
|
-
var tag = value[symbolToStringTag];
|
|
731
|
-
var unmasked = false;
|
|
732
|
-
try {
|
|
733
|
-
value[symbolToStringTag] = undefined;
|
|
734
|
-
unmasked = true;
|
|
735
|
-
}
|
|
736
|
-
catch (e) {
|
|
737
|
-
}
|
|
738
|
-
var result = objectProtoToString.call(value);
|
|
739
|
-
if (unmasked) {
|
|
740
|
-
if (isOwn) {
|
|
741
|
-
value[symbolToStringTag] = tag;
|
|
742
|
-
}
|
|
743
|
-
else {
|
|
744
|
-
delete value[symbolToStringTag];
|
|
745
|
-
}
|
|
746
|
-
}
|
|
747
|
-
return result;
|
|
748
|
-
}
|
|
749
|
-
function getTag(value) {
|
|
750
|
-
return symbolToStringTag && symbolToStringTag in Object(value) ? getRawTag(value) : objectProtoToString.call(value);
|
|
751
|
-
}
|
|
752
|
-
|
|
753
739
|
var dataViewExisted = typeof DataView !== 'undefined';
|
|
754
740
|
var mapExisted = typeof Map !== 'undefined';
|
|
755
741
|
var promiseExisted = typeof Promise !== 'undefined';
|
|
@@ -761,11 +747,11 @@
|
|
|
761
747
|
var setCtorString = toSource(Set);
|
|
762
748
|
var weakMapCtorString = toSource(WeakMap);
|
|
763
749
|
var getTagWithBugfix = getTag;
|
|
764
|
-
if ((dataViewExisted &&
|
|
765
|
-
(mapExisted &&
|
|
766
|
-
(promiseExisted &&
|
|
767
|
-
(setExisted &&
|
|
768
|
-
(weakMapExisted &&
|
|
750
|
+
if ((dataViewExisted && getTag(new DataView(new ArrayBuffer(1))) !== dataViewTag) ||
|
|
751
|
+
(mapExisted && getTag(new Map()) !== mapTag) ||
|
|
752
|
+
(promiseExisted && getTag(Promise.resolve()) !== promiseTag) ||
|
|
753
|
+
(setExisted && getTag(new Set()) !== setTag) ||
|
|
754
|
+
(weakMapExisted && getTag(new WeakMap()) !== weakMapTag)) {
|
|
769
755
|
getTagWithBugfix = function (value) {
|
|
770
756
|
var result = getTag(value);
|
|
771
757
|
var Ctor = result === objectTag ? value.constructor : undefined;
|
|
@@ -794,7 +780,7 @@
|
|
|
794
780
|
}
|
|
795
781
|
|
|
796
782
|
function isDate(value) {
|
|
797
|
-
return nodeIsDate ? nodeIsDate(value) :
|
|
783
|
+
return nodeIsDate ? nodeIsDate(value) : getTag(value) === dateTag;
|
|
798
784
|
}
|
|
799
785
|
|
|
800
786
|
var objectCtorString = functionProtoToString.call(Object);
|
|
@@ -836,22 +822,12 @@
|
|
|
836
822
|
return result;
|
|
837
823
|
}
|
|
838
824
|
|
|
839
|
-
function isMap(value) {
|
|
840
|
-
if (nodeIsMap) {
|
|
841
|
-
return nodeIsMap(value);
|
|
842
|
-
}
|
|
843
|
-
return getTagWithBugfix$1(value) === mapTag;
|
|
844
|
-
}
|
|
845
|
-
|
|
846
|
-
function isSet(value) {
|
|
847
|
-
return nodeIsSet ? nodeIsSet(value) : getTagWithBugfix$1(value) === setTag;
|
|
848
|
-
}
|
|
849
|
-
|
|
850
825
|
function isEmpty(value) {
|
|
851
826
|
if (value == null) {
|
|
852
827
|
return true;
|
|
853
828
|
}
|
|
854
|
-
|
|
829
|
+
var tag = getTag(value);
|
|
830
|
+
if (tag === mapTag || tag === setTag) {
|
|
855
831
|
return !value.size;
|
|
856
832
|
}
|
|
857
833
|
if (isObjectLike(value)) {
|
|
@@ -886,7 +862,7 @@
|
|
|
886
862
|
return nodeIsTypedArray(value);
|
|
887
863
|
}
|
|
888
864
|
if (isObjectLike(value) && isLength(value.length)) {
|
|
889
|
-
var tag_1 =
|
|
865
|
+
var tag_1 = getTag(value);
|
|
890
866
|
return typedArrayTags.some(function (item) { return item === tag_1; });
|
|
891
867
|
}
|
|
892
868
|
return false;
|
|
@@ -945,7 +921,7 @@
|
|
|
945
921
|
case symbolTag:
|
|
946
922
|
return symbolValueOf ? symbolValueOf.call(value) === symbolValueOf.call(other) : false;
|
|
947
923
|
case errorTag:
|
|
948
|
-
return value.name
|
|
924
|
+
return value.name === other.name && value.message === other.message;
|
|
949
925
|
case dataViewTag:
|
|
950
926
|
case arrayBufferTag:
|
|
951
927
|
if (value.byteLength !== other.byteLength || (value.byteOffset && value.byteOffset !== other.byteOffset)) {
|
|
@@ -1057,6 +1033,7 @@
|
|
|
1057
1033
|
otherStack.pop();
|
|
1058
1034
|
return result;
|
|
1059
1035
|
}
|
|
1036
|
+
|
|
1060
1037
|
function isEqual(value, other, customizer, strictCheck) {
|
|
1061
1038
|
if (strictCheck === void 0) { strictCheck = false; }
|
|
1062
1039
|
if (typeof customizer === 'function') {
|
|
@@ -1075,7 +1052,7 @@
|
|
|
1075
1052
|
if (value instanceof Error) {
|
|
1076
1053
|
return true;
|
|
1077
1054
|
}
|
|
1078
|
-
var tag =
|
|
1055
|
+
var tag = getTag(value);
|
|
1079
1056
|
return tag === errorTag || tag === domExceptionTag;
|
|
1080
1057
|
}
|
|
1081
1058
|
|
|
@@ -1092,11 +1069,17 @@
|
|
|
1092
1069
|
return numberIsInteger ? numberIsInteger(value) : isFinite(value) && mathFloor(value) === value;
|
|
1093
1070
|
}
|
|
1094
1071
|
|
|
1072
|
+
function isMap(value) {
|
|
1073
|
+
if (nodeIsMap) {
|
|
1074
|
+
return nodeIsMap(value);
|
|
1075
|
+
}
|
|
1076
|
+
return getTagWithBugfix$1(value) === mapTag;
|
|
1077
|
+
}
|
|
1078
|
+
|
|
1095
1079
|
function isDeepComparable(object, source) {
|
|
1096
|
-
return
|
|
1080
|
+
return getTag(object) === objectTag && getTag(source) === objectTag;
|
|
1097
1081
|
}
|
|
1098
|
-
function baseIsMatch(object, source, customizer, strictCheck, objStack, srcStack
|
|
1099
|
-
if (executedCustomizer === void 0) { executedCustomizer = false; }
|
|
1082
|
+
function baseIsMatch(object, source, customizer, strictCheck, objStack, srcStack) {
|
|
1100
1083
|
var hasCustomizer = typeof customizer === 'function';
|
|
1101
1084
|
if (isDeepComparable(object, source)) {
|
|
1102
1085
|
objStack = objStack || [];
|
|
@@ -1125,7 +1108,7 @@
|
|
|
1125
1108
|
continue;
|
|
1126
1109
|
}
|
|
1127
1110
|
}
|
|
1128
|
-
if (!baseIsMatch(object[key], source[key], customizer, strictCheck, objStack, srcStack
|
|
1111
|
+
if (!baseIsMatch(object[key], source[key], customizer, strictCheck, objStack, srcStack)) {
|
|
1129
1112
|
return false;
|
|
1130
1113
|
}
|
|
1131
1114
|
}
|
|
@@ -1133,18 +1116,17 @@
|
|
|
1133
1116
|
srcStack.pop();
|
|
1134
1117
|
return true;
|
|
1135
1118
|
}
|
|
1136
|
-
var result =
|
|
1137
|
-
if (
|
|
1119
|
+
var result = isEqualDeep(object, source, function (objValue, srcValue, k, obj, src) {
|
|
1120
|
+
if (hasCustomizer) {
|
|
1138
1121
|
var compared = customizer(objValue, srcValue, k, obj, src, objStack, srcStack);
|
|
1139
1122
|
if (compared !== undefined) {
|
|
1140
1123
|
return compared;
|
|
1141
1124
|
}
|
|
1142
1125
|
}
|
|
1143
|
-
executedCustomizer = false;
|
|
1144
1126
|
if (isDeepComparable(objValue, srcValue)) {
|
|
1145
1127
|
return baseIsMatch(objValue, srcValue, customizer, strictCheck, objStack, srcStack);
|
|
1146
1128
|
}
|
|
1147
|
-
}, strictCheck);
|
|
1129
|
+
}, strictCheck, objStack, srcStack);
|
|
1148
1130
|
return result;
|
|
1149
1131
|
}
|
|
1150
1132
|
function isMatch(object, source, customizer, strictCheck) {
|
|
@@ -1155,11 +1137,11 @@
|
|
|
1155
1137
|
return !!compared;
|
|
1156
1138
|
}
|
|
1157
1139
|
}
|
|
1158
|
-
return baseIsMatch(object, source, customizer, strictCheck, undefined, undefined
|
|
1140
|
+
return baseIsMatch(object, source, customizer, strictCheck, undefined, undefined);
|
|
1159
1141
|
}
|
|
1160
1142
|
|
|
1161
1143
|
function isNumber(value) {
|
|
1162
|
-
return typeof value === 'number' ||
|
|
1144
|
+
return typeof value === 'number' || getTag(value) === numberTag;
|
|
1163
1145
|
}
|
|
1164
1146
|
|
|
1165
1147
|
function isNaN(value) {
|
|
@@ -1175,19 +1157,19 @@
|
|
|
1175
1157
|
}
|
|
1176
1158
|
|
|
1177
1159
|
function isRegExp(value) {
|
|
1178
|
-
return nodeIsRegExp ? nodeIsRegExp(value) :
|
|
1160
|
+
return nodeIsRegExp ? nodeIsRegExp(value) : getTag(value) === regExpTag;
|
|
1179
1161
|
}
|
|
1180
1162
|
|
|
1181
1163
|
function isSafeInteger(value) {
|
|
1182
1164
|
return numberIsSafeInteger ? numberIsSafeInteger(value) : isInteger(value) && mathAbs(value) <= MAX_SAFE_INTEGER;
|
|
1183
1165
|
}
|
|
1184
1166
|
|
|
1185
|
-
function
|
|
1186
|
-
return
|
|
1167
|
+
function isSet(value) {
|
|
1168
|
+
return nodeIsSet ? nodeIsSet(value) : getTagWithBugfix$1(value) === setTag;
|
|
1187
1169
|
}
|
|
1188
1170
|
|
|
1189
|
-
function
|
|
1190
|
-
return value ===
|
|
1171
|
+
function isString(value) {
|
|
1172
|
+
return typeof value === 'string' || getTag(value) === stringTag;
|
|
1191
1173
|
}
|
|
1192
1174
|
|
|
1193
1175
|
function isWeakMap(value) {
|
|
@@ -1195,7 +1177,7 @@
|
|
|
1195
1177
|
}
|
|
1196
1178
|
|
|
1197
1179
|
function isWeakSet(value) {
|
|
1198
|
-
return
|
|
1180
|
+
return getTag(value) === weakSetTag;
|
|
1199
1181
|
}
|
|
1200
1182
|
|
|
1201
1183
|
function decimalAdjust(type, value, precision) {
|
|
@@ -1242,41 +1224,37 @@
|
|
|
1242
1224
|
return value <= other;
|
|
1243
1225
|
};
|
|
1244
1226
|
|
|
1245
|
-
function
|
|
1246
|
-
return createOperation(baseGt)(value, other);
|
|
1247
|
-
}
|
|
1248
|
-
|
|
1249
|
-
function createExtremum(array, iteratee, comparator) {
|
|
1227
|
+
function createExtremum(array, comparator, iteratee) {
|
|
1250
1228
|
if (!isArray(array)) {
|
|
1251
1229
|
return;
|
|
1252
1230
|
}
|
|
1253
1231
|
var result, computed;
|
|
1254
|
-
|
|
1255
|
-
|
|
1256
|
-
|
|
1257
|
-
|
|
1258
|
-
|
|
1259
|
-
|
|
1260
|
-
|
|
1261
|
-
|
|
1262
|
-
|
|
1263
|
-
|
|
1264
|
-
|
|
1232
|
+
if (isUndefined(iteratee)) {
|
|
1233
|
+
array.forEach(function (value) {
|
|
1234
|
+
if (value != null && (result === undefined ? value === value && !isSymbol(value) : comparator(value, result))) {
|
|
1235
|
+
result = value;
|
|
1236
|
+
}
|
|
1237
|
+
});
|
|
1238
|
+
}
|
|
1239
|
+
else {
|
|
1240
|
+
var internalIteratee_1 = createIteratee(iteratee);
|
|
1241
|
+
array.forEach(function (value) {
|
|
1242
|
+
var current = internalIteratee_1(value);
|
|
1243
|
+
if (current != null && (computed === undefined ? current === current && !isSymbol(current) : comparator(current, computed))) {
|
|
1244
|
+
computed = current;
|
|
1245
|
+
result = value;
|
|
1246
|
+
}
|
|
1247
|
+
});
|
|
1248
|
+
}
|
|
1265
1249
|
return result;
|
|
1266
1250
|
}
|
|
1267
1251
|
|
|
1268
1252
|
function max(array, iteratee) {
|
|
1269
|
-
|
|
1270
|
-
return createExtremum(array, iteratee, gt);
|
|
1271
|
-
}
|
|
1272
|
-
|
|
1273
|
-
function lt(value, other) {
|
|
1274
|
-
return createOperation(baseLt)(value, other);
|
|
1253
|
+
return createExtremum(array, baseGt, iteratee);
|
|
1275
1254
|
}
|
|
1276
1255
|
|
|
1277
1256
|
function min(array, iteratee) {
|
|
1278
|
-
|
|
1279
|
-
return createExtremum(array, iteratee, lt);
|
|
1257
|
+
return createExtremum(array, baseLt, iteratee);
|
|
1280
1258
|
}
|
|
1281
1259
|
|
|
1282
1260
|
function round(number, precision) {
|
|
@@ -1410,7 +1388,7 @@
|
|
|
1410
1388
|
var fieldArr = castArray(fields);
|
|
1411
1389
|
var result = {};
|
|
1412
1390
|
keys.forEach(function (key) {
|
|
1413
|
-
if (
|
|
1391
|
+
if (fieldArr.indexOf(key) === -1) {
|
|
1414
1392
|
result[key] = object[key];
|
|
1415
1393
|
}
|
|
1416
1394
|
});
|
|
@@ -1418,7 +1396,7 @@
|
|
|
1418
1396
|
}
|
|
1419
1397
|
|
|
1420
1398
|
function pickBy(object, predicate) {
|
|
1421
|
-
if (predicate === void 0) { predicate =
|
|
1399
|
+
if (predicate === void 0) { predicate = stubFlase; }
|
|
1422
1400
|
var result = {};
|
|
1423
1401
|
if (object === null) {
|
|
1424
1402
|
return result;
|
|
@@ -1433,7 +1411,7 @@
|
|
|
1433
1411
|
}
|
|
1434
1412
|
|
|
1435
1413
|
function omitBy(object, predicate) {
|
|
1436
|
-
if (predicate === void 0) { predicate =
|
|
1414
|
+
if (predicate === void 0) { predicate = stubFlase; }
|
|
1437
1415
|
return pickBy(object, negate(predicate));
|
|
1438
1416
|
}
|
|
1439
1417
|
|
|
@@ -1469,9 +1447,7 @@
|
|
|
1469
1447
|
};
|
|
1470
1448
|
}
|
|
1471
1449
|
|
|
1472
|
-
|
|
1473
|
-
return createCaseFirst('toUpperCase')(string);
|
|
1474
|
-
}
|
|
1450
|
+
var upperFirst = createCaseFirst('toUpperCase');
|
|
1475
1451
|
|
|
1476
1452
|
function camelCase(string, pattern) {
|
|
1477
1453
|
return splitCaseWords(string, pattern).reduce(function (prev, cur, index) {
|
|
@@ -1518,9 +1494,7 @@
|
|
|
1518
1494
|
return splitCaseWords(string, pattern).reduce(function (prev, cur, index) { return prev + (index ? ' ' : '') + cur.toLowerCase(); }, '');
|
|
1519
1495
|
}
|
|
1520
1496
|
|
|
1521
|
-
|
|
1522
|
-
return createCaseFirst('toLowerCase')(string);
|
|
1523
|
-
}
|
|
1497
|
+
var lowerFirst = createCaseFirst('toLowerCase');
|
|
1524
1498
|
|
|
1525
1499
|
function snakeCase(string, pattern) {
|
|
1526
1500
|
return splitCaseWords(string, pattern).reduce(function (prev, cur, index) { return prev + (index ? '_' : '') + cur.toLowerCase(); }, '');
|
|
@@ -1580,13 +1554,13 @@
|
|
|
1580
1554
|
};
|
|
1581
1555
|
}
|
|
1582
1556
|
|
|
1583
|
-
|
|
1584
|
-
return createOperation(baseGte)(value, other);
|
|
1585
|
-
}
|
|
1557
|
+
var gt = createOperation(baseGt);
|
|
1586
1558
|
|
|
1587
|
-
|
|
1588
|
-
|
|
1589
|
-
|
|
1559
|
+
var gte = createOperation(baseGte);
|
|
1560
|
+
|
|
1561
|
+
var lt = createOperation(baseLt);
|
|
1562
|
+
|
|
1563
|
+
var lte = createOperation(baseLte);
|
|
1590
1564
|
|
|
1591
1565
|
function noop() { }
|
|
1592
1566
|
|