ut2 1.8.0 → 1.8.1
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 +57 -54
- 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/internals/baseDebounce.js +15 -14
- package/es/internals/createExtremum.js +2 -1
- 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/isBlob.js +2 -2
- package/es/isEqual.js +2 -1
- package/es/isMatch.js +5 -5
- package/es/isUndefined.js +3 -1
- package/es/merge.js +4 -3
- package/es/nth.js +2 -1
- package/es/orderBy.js +3 -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/internals/baseDebounce.js +15 -14
- package/lib/internals/createExtremum.js +2 -1
- 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/isBlob.js +1 -1
- package/lib/isEqual.js +2 -1
- package/lib/isMatch.js +4 -4
- package/lib/isUndefined.js +3 -1
- package/lib/merge.js +4 -3
- package/lib/nth.js +2 -1
- package/lib/orderBy.js +3 -2
- package/lib/toString.js +1 -1
- package/package.json +1 -1
- package/types/internals/compare.d.ts +4 -4
- package/types/internals/native.d.ts +3 -0
- package/types/orderBy.d.ts +3 -3
|
@@ -11,7 +11,7 @@ var isObjectLike = require('../isObjectLike.js');
|
|
|
11
11
|
var isTypedArray = require('../isTypedArray.js');
|
|
12
12
|
var orderBy = require('../orderBy.js');
|
|
13
13
|
|
|
14
|
-
var symbolValueOf = native.symbolProto ? native.symbolProto.valueOf :
|
|
14
|
+
var symbolValueOf = native.symbolProto ? native.symbolProto.valueOf : native.nativeUndefined;
|
|
15
15
|
function mapToArray(map) {
|
|
16
16
|
var result = [];
|
|
17
17
|
map.forEach(function (value, key) {
|
|
@@ -124,7 +124,7 @@ function isEqualDeep(value, other, customizer, strictCheck, valueStack, otherSta
|
|
|
124
124
|
while (length--) {
|
|
125
125
|
if (hasCustomizer) {
|
|
126
126
|
var compared = customizer(value[length], other[length], length, value, other, valueStack, otherStack);
|
|
127
|
-
if (compared !==
|
|
127
|
+
if (compared !== native.nativeUndefined) {
|
|
128
128
|
if (!compared) {
|
|
129
129
|
return false;
|
|
130
130
|
}
|
|
@@ -147,7 +147,7 @@ function isEqualDeep(value, other, customizer, strictCheck, valueStack, otherSta
|
|
|
147
147
|
var key = keys[length];
|
|
148
148
|
if (hasCustomizer) {
|
|
149
149
|
var compared = customizer(value[key], other[key], key, value, other, valueStack, otherStack);
|
|
150
|
-
if (compared !==
|
|
150
|
+
if (compared !== native.nativeUndefined) {
|
|
151
151
|
if (!compared) {
|
|
152
152
|
return false;
|
|
153
153
|
}
|
package/lib/internals/native.js
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
+
exports.nativeUndefined = void 0;
|
|
4
|
+
exports.stringUndefined = 'undefined';
|
|
5
|
+
exports.stringObject = 'object';
|
|
3
6
|
exports.objectProto = Object.prototype;
|
|
4
7
|
exports.objectProtoToString = exports.objectProto.toString;
|
|
5
8
|
exports.objectProtoHasOwnProperty = exports.objectProto.hasOwnProperty;
|
|
@@ -9,8 +12,8 @@ exports.objectGetPrototypeOf = Object.getPrototypeOf;
|
|
|
9
12
|
exports.objectKeys = Object.keys;
|
|
10
13
|
exports.functionProto = Function.prototype;
|
|
11
14
|
exports.functionProtoToString = exports.functionProto.toString;
|
|
12
|
-
var symbolExisted = typeof Symbol !==
|
|
13
|
-
exports.symbolProto = symbolExisted ? Symbol.prototype :
|
|
15
|
+
var symbolExisted = typeof Symbol !== exports.stringUndefined;
|
|
16
|
+
exports.symbolProto = symbolExisted ? Symbol.prototype : exports.nativeUndefined;
|
|
14
17
|
exports.arrayProto = Array.prototype;
|
|
15
18
|
exports.arrayProtoSlice = exports.arrayProto.slice;
|
|
16
19
|
exports.mathMin = Math.min;
|
|
@@ -22,9 +25,9 @@ exports.mathAbs = Math.abs;
|
|
|
22
25
|
exports.numberIsFinite = Number.isFinite;
|
|
23
26
|
exports.numberIsInteger = Number.isInteger;
|
|
24
27
|
exports.numberIsSafeInteger = Number.isSafeInteger;
|
|
25
|
-
exports.globalThisExisted = typeof globalThis ===
|
|
26
|
-
exports.globalExisted = typeof global ===
|
|
27
|
-
exports.selfExisted = typeof self ===
|
|
28
|
+
exports.globalThisExisted = typeof globalThis === exports.stringObject && globalThis;
|
|
29
|
+
exports.globalExisted = typeof global === exports.stringObject && global;
|
|
30
|
+
exports.selfExisted = typeof self === exports.stringObject && self;
|
|
28
31
|
exports.MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || 9007199254740991;
|
|
29
32
|
exports.MIN_SAFE_INTEGER = Number.MIN_SAFE_INTEGER || -9007199254740991;
|
|
30
33
|
exports.MAX_ARRAY_LENGTH = 4294967295;
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
|
|
3
|
+
var native = require('./native.js');
|
|
4
|
+
|
|
5
|
+
var freeExports = typeof exports === native.stringObject && exports && !exports.nodeType && exports;
|
|
6
|
+
var freeModule = freeExports && typeof module === native.stringObject && module && !module.nodeType && module;
|
|
5
7
|
var nodeUtil = (function () {
|
|
6
8
|
try {
|
|
7
9
|
var types = freeModule && freeModule.require && freeModule.require('util').types;
|
package/lib/isBlob.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
var getTag = require('./internals/getTag.js');
|
|
4
4
|
var native = require('./internals/native.js');
|
|
5
5
|
|
|
6
|
-
var blobExisted = typeof Blob !==
|
|
6
|
+
var blobExisted = typeof Blob !== native.stringUndefined;
|
|
7
7
|
function isBlob(value) {
|
|
8
8
|
if (blobExisted && value instanceof Blob) {
|
|
9
9
|
return true;
|
package/lib/isEqual.js
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var isEqualDeep = require('./internals/isEqualDeep.js');
|
|
4
|
+
var native = require('./internals/native.js');
|
|
4
5
|
|
|
5
6
|
function isEqual(value, other, customizer, strictCheck) {
|
|
6
7
|
if (strictCheck === void 0) { strictCheck = false; }
|
|
7
8
|
if (typeof customizer === 'function') {
|
|
8
9
|
var result = customizer(value, other);
|
|
9
|
-
if (result !==
|
|
10
|
+
if (result !== native.nativeUndefined) {
|
|
10
11
|
return !!result;
|
|
11
12
|
}
|
|
12
13
|
}
|
package/lib/isMatch.js
CHANGED
|
@@ -30,7 +30,7 @@ function baseIsMatch(object, source, customizer, strictCheck, objStack, srcStack
|
|
|
30
30
|
}
|
|
31
31
|
if (hasCustomizer) {
|
|
32
32
|
var compared = customizer(object[key], source[key], key, object, source, objStack, srcStack);
|
|
33
|
-
if (compared !==
|
|
33
|
+
if (compared !== native.nativeUndefined) {
|
|
34
34
|
if (!compared) {
|
|
35
35
|
return false;
|
|
36
36
|
}
|
|
@@ -48,7 +48,7 @@ function baseIsMatch(object, source, customizer, strictCheck, objStack, srcStack
|
|
|
48
48
|
var result = isEqualDeep(object, source, function (objValue, srcValue, k, obj, src) {
|
|
49
49
|
if (hasCustomizer) {
|
|
50
50
|
var compared = customizer(objValue, srcValue, k, obj, src, objStack, srcStack);
|
|
51
|
-
if (compared !==
|
|
51
|
+
if (compared !== native.nativeUndefined) {
|
|
52
52
|
return compared;
|
|
53
53
|
}
|
|
54
54
|
}
|
|
@@ -62,11 +62,11 @@ function isMatch(object, source, customizer, strictCheck) {
|
|
|
62
62
|
if (strictCheck === void 0) { strictCheck = false; }
|
|
63
63
|
if (typeof customizer === 'function') {
|
|
64
64
|
var compared = customizer(object, source);
|
|
65
|
-
if (compared !==
|
|
65
|
+
if (compared !== native.nativeUndefined) {
|
|
66
66
|
return !!compared;
|
|
67
67
|
}
|
|
68
68
|
}
|
|
69
|
-
return baseIsMatch(object, source, customizer, strictCheck,
|
|
69
|
+
return baseIsMatch(object, source, customizer, strictCheck, native.nativeUndefined, native.nativeUndefined);
|
|
70
70
|
}
|
|
71
71
|
|
|
72
72
|
module.exports = isMatch;
|
package/lib/isUndefined.js
CHANGED
package/lib/merge.js
CHANGED
|
@@ -5,6 +5,7 @@ var isArray = require('./isArray.js');
|
|
|
5
5
|
var isObject = require('./isObject.js');
|
|
6
6
|
var isObjectLike = require('./isObjectLike.js');
|
|
7
7
|
var isPlainObject = require('./isPlainObject.js');
|
|
8
|
+
var native = require('./internals/native.js');
|
|
8
9
|
|
|
9
10
|
function baseMerge(object, source, getKeys, customizer, stack) {
|
|
10
11
|
if (stack === void 0) { stack = new WeakMap(); }
|
|
@@ -21,8 +22,8 @@ function baseMerge(object, source, getKeys, customizer, stack) {
|
|
|
21
22
|
obj[key] = srcValue;
|
|
22
23
|
}
|
|
23
24
|
else {
|
|
24
|
-
var newValue = hasCustomizer ? customizer(obj[key], srcValue, key, obj, source) :
|
|
25
|
-
if (newValue !==
|
|
25
|
+
var newValue = hasCustomizer ? customizer(obj[key], srcValue, key, obj, source) : native.nativeUndefined;
|
|
26
|
+
if (newValue !== native.nativeUndefined) {
|
|
26
27
|
obj[key] = newValue;
|
|
27
28
|
}
|
|
28
29
|
else {
|
|
@@ -40,7 +41,7 @@ function baseMerge(object, source, getKeys, customizer, stack) {
|
|
|
40
41
|
if (newObjValue) {
|
|
41
42
|
obj[key] = baseMerge(newObjValue, srcValue, getKeys, customizer, stack);
|
|
42
43
|
}
|
|
43
|
-
else if (srcValue !==
|
|
44
|
+
else if (srcValue !== native.nativeUndefined || !(key in obj)) {
|
|
44
45
|
obj[key] = srcValue;
|
|
45
46
|
}
|
|
46
47
|
}
|
package/lib/nth.js
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
+
var native = require('./internals/native.js');
|
|
3
4
|
var isArrayLike = require('./isArrayLike.js');
|
|
4
5
|
|
|
5
6
|
function nth(array, n) {
|
|
6
7
|
if (n === void 0) { n = 0; }
|
|
7
8
|
if (!isArrayLike(array)) {
|
|
8
|
-
return
|
|
9
|
+
return native.nativeUndefined;
|
|
9
10
|
}
|
|
10
11
|
n += n < 0 ? array.length : 0;
|
|
11
12
|
return array[n];
|
package/lib/orderBy.js
CHANGED
|
@@ -5,11 +5,12 @@ var createIteratee = require('./internals/createIteratee.js');
|
|
|
5
5
|
var compare = require('./internals/compare.js');
|
|
6
6
|
var isArray = require('./isArray.js');
|
|
7
7
|
var forEach = require('./forEach.js');
|
|
8
|
+
var native = require('./internals/native.js');
|
|
8
9
|
|
|
9
10
|
var orderBy = function (collection, iteratees, orders) {
|
|
10
11
|
var result = [];
|
|
11
|
-
iteratees = (isArray(iteratees) ? iteratees : iteratees !==
|
|
12
|
-
orders = (isArray(orders) ? orders : orders !==
|
|
12
|
+
iteratees = (isArray(iteratees) ? iteratees : iteratees !== native.nativeUndefined ? [iteratees] : [identity]);
|
|
13
|
+
orders = (isArray(orders) ? orders : orders !== native.nativeUndefined ? [orders] : []);
|
|
13
14
|
var index = -1;
|
|
14
15
|
forEach(collection, function (item) {
|
|
15
16
|
var criteria = iteratees.map(function (iteratee) { return createIteratee(iteratee)(item); });
|
package/lib/toString.js
CHANGED
|
@@ -5,7 +5,7 @@ var isArray = require('./isArray.js');
|
|
|
5
5
|
var isNil = require('./isNil.js');
|
|
6
6
|
var isSymbol = require('./isSymbol.js');
|
|
7
7
|
|
|
8
|
-
var symbolToString = native.symbolProto ? native.symbolProto.toString :
|
|
8
|
+
var symbolToString = native.symbolProto ? native.symbolProto.toString : native.nativeUndefined;
|
|
9
9
|
function baseToString(value) {
|
|
10
10
|
if (typeof value === 'string') {
|
|
11
11
|
return value;
|
package/package.json
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
export declare function compareAsc(value: any, other: any): 0 | 1 | -1;
|
|
2
2
|
export declare function compareDesc(value: any, other: any): 0 | 1 | -1;
|
|
3
|
-
export type
|
|
3
|
+
export type CompareOrderData<T> = {
|
|
4
4
|
criteria: any[];
|
|
5
5
|
index: number;
|
|
6
6
|
value: T;
|
|
7
7
|
};
|
|
8
|
-
export type
|
|
9
|
-
export type
|
|
10
|
-
export declare function compareMultiple<T>(object:
|
|
8
|
+
export type CompareOrderBase = 'asc' | 'desc';
|
|
9
|
+
export type CompareOrder = CompareOrderBase | ((a: any, b: any) => number);
|
|
10
|
+
export declare function compareMultiple<T>(object: CompareOrderData<T>, other: CompareOrderData<T>, orders: CompareOrder[]): number;
|
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
export declare const nativeUndefined: undefined;
|
|
2
|
+
export declare const stringUndefined = "undefined";
|
|
3
|
+
export declare const stringObject = "object";
|
|
1
4
|
export declare const objectProto: Object;
|
|
2
5
|
export declare const objectProtoToString: () => string;
|
|
3
6
|
export declare const objectProtoHasOwnProperty: (v: PropertyKey) => boolean;
|
package/types/orderBy.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { CompareOrder } from './internals/compare';
|
|
2
2
|
import { CollectionList, CollectionObject, IterateeParam, Many } from './internals/types';
|
|
3
3
|
interface OrderBy {
|
|
4
|
-
<T>(collection: CollectionList<T>, iteratee?: Many<IterateeParam<T>>, orders?: Many<
|
|
5
|
-
<T extends object, V extends T[keyof T]>(collection: CollectionObject<T>, iteratee?: Many<IterateeParam<V>>, orders?: Many<
|
|
4
|
+
<T>(collection: CollectionList<T>, iteratee?: Many<IterateeParam<T>>, orders?: Many<CompareOrder>): T[];
|
|
5
|
+
<T extends object, V extends T[keyof T]>(collection: CollectionObject<T>, iteratee?: Many<IterateeParam<V>>, orders?: Many<CompareOrder>): V[];
|
|
6
6
|
}
|
|
7
7
|
/**
|
|
8
8
|
* 创建一个元素数组,以迭代函数处理的结果排序。如果没有指定排序,默认为升序排序。
|