ut2 1.7.2 → 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/README.md +6 -2
- package/dist/ut2.js +127 -64
- 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/conforms.js +4 -3
- package/es/conformsTo.js +2 -1
- package/es/curry.js +32 -0
- package/es/index.js +4 -0
- 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 +3 -2
- package/es/internals/isEqualDeep.js +4 -4
- package/es/internals/native.js +10 -6
- package/es/internals/nodeUtil.js +4 -2
- package/es/invert.js +22 -0
- package/es/isBigInt.js +8 -0
- 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/omit.js +4 -3
- package/es/orderBy.js +3 -2
- package/es/partial.js +1 -1
- package/es/pascalCase.js +11 -0
- package/es/pick.js +4 -3
- package/es/toString.js +2 -2
- package/lib/before.js +2 -1
- package/lib/clamp.js +7 -6
- package/lib/conforms.js +4 -3
- package/lib/conformsTo.js +2 -1
- package/lib/curry.js +34 -0
- package/lib/index.js +8 -0
- 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 +2 -1
- package/lib/internals/isEqualDeep.js +3 -3
- package/lib/internals/native.js +9 -5
- package/lib/internals/nodeUtil.js +4 -2
- package/lib/invert.js +24 -0
- package/lib/isBigInt.js +10 -0
- 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/omit.js +4 -3
- package/lib/orderBy.js +3 -2
- package/lib/partial.js +1 -1
- package/lib/pascalCase.js +13 -0
- package/lib/pick.js +4 -3
- package/lib/toString.js +1 -1
- package/package.json +1 -1
- package/types/allKeys.d.ts +1 -1
- package/types/allKeysIn.d.ts +1 -1
- package/types/conforms.d.ts +7 -2
- package/types/conformsTo.d.ts +3 -3
- package/types/curry.d.ts +123 -0
- package/types/delay.d.ts +1 -1
- package/types/index.d.ts +4 -0
- package/types/internals/compare.d.ts +4 -4
- package/types/internals/helpers.d.ts +1 -0
- package/types/internals/native.d.ts +4 -0
- package/types/internals/types.d.ts +2 -0
- package/types/invert.d.ts +19 -0
- package/types/isBigInt.d.ts +22 -0
- package/types/keys.d.ts +1 -1
- package/types/keysIn.d.ts +1 -1
- package/types/omit.d.ts +6 -1
- package/types/omitBy.d.ts +3 -2
- package/types/orderBy.d.ts +3 -3
- package/types/partial.d.ts +5 -5
- package/types/pascalCase.d.ts +27 -0
- package/types/pick.d.ts +6 -1
- package/types/pickBy.d.ts +3 -2
package/lib/clamp.js
CHANGED
|
@@ -1,25 +1,26 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var defaultTo = require('./defaultTo.js');
|
|
4
|
+
var native = require('./internals/native.js');
|
|
4
5
|
var toNumber = require('./toNumber.js');
|
|
5
6
|
|
|
6
7
|
var clamp = function (number, lower, upper) {
|
|
7
|
-
if (upper ===
|
|
8
|
+
if (upper === native.nativeUndefined) {
|
|
8
9
|
upper = lower;
|
|
9
|
-
lower =
|
|
10
|
+
lower = native.nativeUndefined;
|
|
10
11
|
}
|
|
11
|
-
if (upper !==
|
|
12
|
+
if (upper !== native.nativeUndefined) {
|
|
12
13
|
upper = defaultTo(toNumber(upper), 0);
|
|
13
14
|
}
|
|
14
|
-
if (lower !==
|
|
15
|
+
if (lower !== native.nativeUndefined) {
|
|
15
16
|
lower = defaultTo(toNumber(lower), 0);
|
|
16
17
|
}
|
|
17
18
|
number = toNumber(number);
|
|
18
19
|
if (number === number) {
|
|
19
|
-
if (upper !==
|
|
20
|
+
if (upper !== native.nativeUndefined) {
|
|
20
21
|
number = number <= upper ? number : upper;
|
|
21
22
|
}
|
|
22
|
-
if (lower !==
|
|
23
|
+
if (lower !== native.nativeUndefined) {
|
|
23
24
|
number = number >= lower ? number : lower;
|
|
24
25
|
}
|
|
25
26
|
}
|
package/lib/conforms.js
CHANGED
|
@@ -2,10 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
var conformsTo = require('./conformsTo.js');
|
|
4
4
|
|
|
5
|
-
function
|
|
5
|
+
var conforms = function (source) {
|
|
6
6
|
return function (object) {
|
|
7
7
|
return conformsTo(object, source);
|
|
8
8
|
};
|
|
9
|
-
}
|
|
9
|
+
};
|
|
10
|
+
var conforms$1 = conforms;
|
|
10
11
|
|
|
11
|
-
module.exports = conforms;
|
|
12
|
+
module.exports = conforms$1;
|
package/lib/conformsTo.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var allKeys = require('./allKeys.js');
|
|
4
|
+
var native = require('./internals/native.js');
|
|
4
5
|
var isNil = require('./isNil.js');
|
|
5
6
|
|
|
6
7
|
var conformsTo = function (object, source) {
|
|
@@ -16,7 +17,7 @@ var conformsTo = function (object, source) {
|
|
|
16
17
|
var key = props[i];
|
|
17
18
|
var predicate = source[key];
|
|
18
19
|
var value = object[key];
|
|
19
|
-
if ((value ===
|
|
20
|
+
if ((value === native.nativeUndefined && !(key in object)) || !predicate(value)) {
|
|
20
21
|
return false;
|
|
21
22
|
}
|
|
22
23
|
}
|
package/lib/curry.js
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var native = require('./internals/native.js');
|
|
4
|
+
var isUndefined = require('./isUndefined.js');
|
|
5
|
+
var toInteger = require('./toInteger.js');
|
|
6
|
+
|
|
7
|
+
var PLACEHOLDER = {
|
|
8
|
+
__ut2_curry_ph__: null
|
|
9
|
+
};
|
|
10
|
+
var curry = function (func, arity) {
|
|
11
|
+
arity = isUndefined(arity) ? func.length : native.mathMax(toInteger(arity), 0);
|
|
12
|
+
function wrap() {
|
|
13
|
+
var args = native.arrayProtoSlice.call(arguments);
|
|
14
|
+
var context = this;
|
|
15
|
+
function inner() {
|
|
16
|
+
var argsInner = native.arrayProtoSlice.call(arguments);
|
|
17
|
+
for (var i = 0; i < args.length; i++) {
|
|
18
|
+
args[i] = args[i] === PLACEHOLDER && argsInner.length > 0 ? argsInner.shift() : args[i];
|
|
19
|
+
}
|
|
20
|
+
args = args.concat(argsInner);
|
|
21
|
+
var realArgsLength = args.filter(function (arg) { return arg !== PLACEHOLDER; }).length;
|
|
22
|
+
if (realArgsLength >= arity) {
|
|
23
|
+
return func.apply(context, args);
|
|
24
|
+
}
|
|
25
|
+
return inner;
|
|
26
|
+
}
|
|
27
|
+
return inner();
|
|
28
|
+
}
|
|
29
|
+
return wrap;
|
|
30
|
+
};
|
|
31
|
+
curry.placeholder = curry._ = PLACEHOLDER;
|
|
32
|
+
var curry$1 = curry;
|
|
33
|
+
|
|
34
|
+
module.exports = curry$1;
|
package/lib/index.js
CHANGED
|
@@ -28,6 +28,7 @@ var reduceRight = require('./reduceRight.js');
|
|
|
28
28
|
var some = require('./some.js');
|
|
29
29
|
var after = require('./after.js');
|
|
30
30
|
var before = require('./before.js');
|
|
31
|
+
var curry = require('./curry.js');
|
|
31
32
|
var debounce = require('./debounce.js');
|
|
32
33
|
var delay = require('./delay.js');
|
|
33
34
|
var negate = require('./negate.js');
|
|
@@ -39,6 +40,7 @@ var isArray = require('./isArray.js');
|
|
|
39
40
|
var isArrayBuffer = require('./isArrayBuffer.js');
|
|
40
41
|
var isArrayLike = require('./isArrayLike.js');
|
|
41
42
|
var isArrayLikeObject = require('./isArrayLikeObject.js');
|
|
43
|
+
var isBigInt = require('./isBigInt.js');
|
|
42
44
|
var isBlob = require('./isBlob.js');
|
|
43
45
|
var isBoolean = require('./isBoolean.js');
|
|
44
46
|
var isBuffer = require('./isBuffer.js');
|
|
@@ -82,6 +84,7 @@ var random = require('./random.js');
|
|
|
82
84
|
var randomInt = require('./randomInt.js');
|
|
83
85
|
var allKeys = require('./allKeys.js');
|
|
84
86
|
var allKeysIn = require('./allKeysIn.js');
|
|
87
|
+
var invert = require('./invert.js');
|
|
85
88
|
var keys = require('./keys.js');
|
|
86
89
|
var keysIn = require('./keysIn.js');
|
|
87
90
|
var merge = require('./merge.js');
|
|
@@ -96,6 +99,7 @@ var escapeRegExp = require('./escapeRegExp.js');
|
|
|
96
99
|
var kebabCase = require('./kebabCase.js');
|
|
97
100
|
var lowerCase = require('./lowerCase.js');
|
|
98
101
|
var lowerFirst = require('./lowerFirst.js');
|
|
102
|
+
var pascalCase = require('./pascalCase.js');
|
|
99
103
|
var snakeCase = require('./snakeCase.js');
|
|
100
104
|
var unescape = require('./unescape.js');
|
|
101
105
|
var upperCase = require('./upperCase.js');
|
|
@@ -157,6 +161,7 @@ exports.reduceRight = reduceRight;
|
|
|
157
161
|
exports.some = some;
|
|
158
162
|
exports.after = after;
|
|
159
163
|
exports.before = before;
|
|
164
|
+
exports.curry = curry;
|
|
160
165
|
exports.debounce = debounce;
|
|
161
166
|
exports.delay = delay;
|
|
162
167
|
exports.negate = negate;
|
|
@@ -168,6 +173,7 @@ exports.isArray = isArray;
|
|
|
168
173
|
exports.isArrayBuffer = isArrayBuffer;
|
|
169
174
|
exports.isArrayLike = isArrayLike;
|
|
170
175
|
exports.isArrayLikeObject = isArrayLikeObject;
|
|
176
|
+
exports.isBigInt = isBigInt;
|
|
171
177
|
exports.isBlob = isBlob;
|
|
172
178
|
exports.isBoolean = isBoolean;
|
|
173
179
|
exports.isBuffer = isBuffer;
|
|
@@ -211,6 +217,7 @@ exports.random = random;
|
|
|
211
217
|
exports.randomInt = randomInt;
|
|
212
218
|
exports.allKeys = allKeys;
|
|
213
219
|
exports.allKeysIn = allKeysIn;
|
|
220
|
+
exports.invert = invert;
|
|
214
221
|
exports.keys = keys;
|
|
215
222
|
exports.keysIn = keysIn;
|
|
216
223
|
exports.merge = merge;
|
|
@@ -225,6 +232,7 @@ exports.escapeRegExp = escapeRegExp;
|
|
|
225
232
|
exports.kebabCase = kebabCase;
|
|
226
233
|
exports.lowerCase = lowerCase;
|
|
227
234
|
exports.lowerFirst = lowerFirst;
|
|
235
|
+
exports.pascalCase = pascalCase;
|
|
228
236
|
exports.snakeCase = snakeCase;
|
|
229
237
|
exports.unescape = unescape;
|
|
230
238
|
exports.upperCase = upperCase;
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
var defaultTo = require('../defaultTo.js');
|
|
4
4
|
var toNumber = require('../toNumber.js');
|
|
5
5
|
var helpers = require('./helpers.js');
|
|
6
|
+
var native = require('./native.js');
|
|
6
7
|
|
|
7
8
|
function baseDebounce(func, wait, immediate, __throttle__) {
|
|
8
9
|
if (__throttle__ === void 0) { __throttle__ = false; }
|
|
@@ -12,7 +13,7 @@ function baseDebounce(func, wait, immediate, __throttle__) {
|
|
|
12
13
|
var timer, lastCallTime, lastInvokeTime, lastArgs, lastThis, result;
|
|
13
14
|
wait = defaultTo(toNumber(wait), 0);
|
|
14
15
|
function shouldInvoke(time) {
|
|
15
|
-
if (lastCallTime ===
|
|
16
|
+
if (lastCallTime === native.nativeUndefined) {
|
|
16
17
|
return true;
|
|
17
18
|
}
|
|
18
19
|
var timeSinceLastCall = time - lastCallTime;
|
|
@@ -22,7 +23,7 @@ function baseDebounce(func, wait, immediate, __throttle__) {
|
|
|
22
23
|
function invokeFunc(time) {
|
|
23
24
|
lastInvokeTime = time;
|
|
24
25
|
result = func.apply(lastThis, lastArgs);
|
|
25
|
-
lastThis = lastArgs =
|
|
26
|
+
lastThis = lastArgs = native.nativeUndefined;
|
|
26
27
|
return result;
|
|
27
28
|
}
|
|
28
29
|
function debounced() {
|
|
@@ -34,36 +35,36 @@ function baseDebounce(func, wait, immediate, __throttle__) {
|
|
|
34
35
|
lastArgs = args;
|
|
35
36
|
var time = Date.now();
|
|
36
37
|
var isInvoke = shouldInvoke(time);
|
|
37
|
-
var waitTime = !__throttle__ ? wait : !isInvoke && lastCallTime !==
|
|
38
|
+
var waitTime = !__throttle__ ? wait : !isInvoke && lastCallTime !== native.nativeUndefined && timer === native.nativeUndefined ? wait - (time - lastCallTime) : wait;
|
|
38
39
|
lastCallTime = time;
|
|
39
40
|
if (isInvoke) {
|
|
40
|
-
if (immediate && timer ===
|
|
41
|
+
if (immediate && timer === native.nativeUndefined) {
|
|
41
42
|
return invokeFunc(time);
|
|
42
43
|
}
|
|
43
44
|
}
|
|
44
|
-
if (timer !==
|
|
45
|
+
if (timer !== native.nativeUndefined && !__throttle__) {
|
|
45
46
|
clearTimeout(timer);
|
|
46
|
-
timer =
|
|
47
|
+
timer = native.nativeUndefined;
|
|
47
48
|
}
|
|
48
|
-
if (timer ===
|
|
49
|
+
if (timer === native.nativeUndefined) {
|
|
49
50
|
timer = setTimeout(function () {
|
|
50
|
-
timer =
|
|
51
|
+
timer = native.nativeUndefined;
|
|
51
52
|
invokeFunc(Date.now());
|
|
52
53
|
}, waitTime);
|
|
53
54
|
}
|
|
54
55
|
return result;
|
|
55
56
|
}
|
|
56
57
|
function cancel() {
|
|
57
|
-
if (timer !==
|
|
58
|
+
if (timer !== native.nativeUndefined) {
|
|
58
59
|
clearTimeout(timer);
|
|
59
|
-
timer =
|
|
60
|
+
timer = native.nativeUndefined;
|
|
60
61
|
}
|
|
61
|
-
lastCallTime = timer = lastArgs = lastThis =
|
|
62
|
+
lastCallTime = timer = lastArgs = lastThis = native.nativeUndefined;
|
|
62
63
|
}
|
|
63
64
|
function flush() {
|
|
64
|
-
if (timer !==
|
|
65
|
+
if (timer !== native.nativeUndefined) {
|
|
65
66
|
clearTimeout(timer);
|
|
66
|
-
timer =
|
|
67
|
+
timer = native.nativeUndefined;
|
|
67
68
|
if (lastArgs) {
|
|
68
69
|
return invokeFunc(Date.now());
|
|
69
70
|
}
|
|
@@ -71,7 +72,7 @@ function baseDebounce(func, wait, immediate, __throttle__) {
|
|
|
71
72
|
return result;
|
|
72
73
|
}
|
|
73
74
|
function pending() {
|
|
74
|
-
return timer !==
|
|
75
|
+
return timer !== native.nativeUndefined;
|
|
75
76
|
}
|
|
76
77
|
debounced.cancel = cancel;
|
|
77
78
|
debounced.flush = flush;
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
var isArray = require('../isArray.js');
|
|
4
4
|
var isSymbol = require('../isSymbol.js');
|
|
5
5
|
var createIteratee = require('./createIteratee.js');
|
|
6
|
+
var native = require('./native.js');
|
|
6
7
|
|
|
7
8
|
function createExtremum(array, comparator, iteratee) {
|
|
8
9
|
if (!isArray(array)) {
|
|
@@ -12,7 +13,7 @@ function createExtremum(array, comparator, iteratee) {
|
|
|
12
13
|
var internalIteratee = createIteratee(iteratee);
|
|
13
14
|
array.forEach(function (value) {
|
|
14
15
|
var current = internalIteratee(value);
|
|
15
|
-
if (current != null && (computed ===
|
|
16
|
+
if (current != null && (computed === native.nativeUndefined ? current === current && !isSymbol(current) : comparator(current, computed))) {
|
|
16
17
|
computed = current;
|
|
17
18
|
result = value;
|
|
18
19
|
}
|
|
@@ -4,11 +4,11 @@ var native = require('./native.js');
|
|
|
4
4
|
var helpers = require('./helpers.js');
|
|
5
5
|
var getTag = require('./getTag.js');
|
|
6
6
|
|
|
7
|
-
var dataViewExisted = typeof DataView !==
|
|
8
|
-
var mapExisted = typeof Map !==
|
|
9
|
-
var promiseExisted = typeof Promise !==
|
|
10
|
-
var setExisted = typeof Set !==
|
|
11
|
-
var weakMapExisted = typeof WeakMap !==
|
|
7
|
+
var dataViewExisted = typeof DataView !== native.stringUndefined;
|
|
8
|
+
var mapExisted = typeof Map !== native.stringUndefined;
|
|
9
|
+
var promiseExisted = typeof Promise !== native.stringUndefined;
|
|
10
|
+
var setExisted = typeof Set !== native.stringUndefined;
|
|
11
|
+
var weakMapExisted = typeof WeakMap !== native.stringUndefined;
|
|
12
12
|
var dataViewCtorString = helpers.toSource(DataView);
|
|
13
13
|
var mapCtorString = helpers.toSource(Map);
|
|
14
14
|
var promiseCtorString = helpers.toSource(Promise);
|
|
@@ -22,7 +22,7 @@ if ((dataViewExisted && getTag(new DataView(new ArrayBuffer(1))) !== native.data
|
|
|
22
22
|
(weakMapExisted && getTag(new WeakMap()) !== native.weakMapTag)) {
|
|
23
23
|
getTagWithBugfix = function (value) {
|
|
24
24
|
var result = getTag(value);
|
|
25
|
-
var Ctor = result === native.objectTag ? value.constructor :
|
|
25
|
+
var Ctor = result === native.objectTag ? value.constructor : native.nativeUndefined;
|
|
26
26
|
var ctorString = Ctor ? helpers.toSource(Ctor) : '';
|
|
27
27
|
if (ctorString) {
|
|
28
28
|
switch (ctorString) {
|
package/lib/internals/helpers.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
var getTag = require('./getTag.js');
|
|
4
4
|
var native = require('./native.js');
|
|
5
5
|
|
|
6
|
-
exports.VERSION = "1.
|
|
6
|
+
exports.VERSION = "1.8.1";
|
|
7
7
|
exports.supportedArgumentsType = getTag((function () { return arguments; })()) === native.argumentsTag;
|
|
8
8
|
exports.FUNC_ERROR_TEXT = 'Expected a function';
|
|
9
9
|
function toSource(func) {
|
|
@@ -22,5 +22,6 @@ function toSource(func) {
|
|
|
22
22
|
return '';
|
|
23
23
|
}
|
|
24
24
|
exports.stubFlase = function () { return false; };
|
|
25
|
+
exports.stubTrue = function () { return true; };
|
|
25
26
|
|
|
26
27
|
exports.toSource = toSource;
|
|
@@ -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,12 +25,13 @@ 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;
|
|
34
|
+
exports.bigIntTag = '[object BigInt]';
|
|
31
35
|
exports.numberTag = '[object Number]';
|
|
32
36
|
exports.booleanTag = '[object Boolean]';
|
|
33
37
|
exports.stringTag = '[object String]';
|
|
@@ -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/invert.js
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var helpers = require('./internals/helpers.js');
|
|
4
|
+
var native = require('./internals/native.js');
|
|
5
|
+
var keys = require('./keys.js');
|
|
6
|
+
|
|
7
|
+
function invert(object, predicate) {
|
|
8
|
+
if (predicate === void 0) { predicate = helpers.stubTrue; }
|
|
9
|
+
var _keys = keys(object);
|
|
10
|
+
var result = {};
|
|
11
|
+
_keys.forEach(function (key) {
|
|
12
|
+
var value = object[key];
|
|
13
|
+
if (predicate(value, key)) {
|
|
14
|
+
var valueStr = value != null && typeof value.toString != 'function' ? native.objectProtoToString.call(value) : value;
|
|
15
|
+
result[valueStr] = key;
|
|
16
|
+
}
|
|
17
|
+
else {
|
|
18
|
+
result[key] = value;
|
|
19
|
+
}
|
|
20
|
+
});
|
|
21
|
+
return result;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
module.exports = invert;
|
package/lib/isBigInt.js
ADDED
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/omit.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
var allKeysIn = require('./allKeysIn.js');
|
|
4
4
|
var castArray = require('./castArray.js');
|
|
5
5
|
|
|
6
|
-
function
|
|
6
|
+
var omit = function (object, fields) {
|
|
7
7
|
if (fields === void 0) { fields = []; }
|
|
8
8
|
var keys = allKeysIn(object);
|
|
9
9
|
var fieldArr = castArray(fields);
|
|
@@ -14,6 +14,7 @@ function omit(object, fields) {
|
|
|
14
14
|
}
|
|
15
15
|
});
|
|
16
16
|
return result;
|
|
17
|
-
}
|
|
17
|
+
};
|
|
18
|
+
var omit$1 = omit;
|
|
18
19
|
|
|
19
|
-
module.exports = omit;
|
|
20
|
+
module.exports = omit$1;
|
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/partial.js
CHANGED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var splitCaseWords = require('./internals/splitCaseWords.js');
|
|
4
|
+
var upperFirst = require('./upperFirst.js');
|
|
5
|
+
|
|
6
|
+
function pascalCase(string, pattern) {
|
|
7
|
+
return splitCaseWords(string, pattern).reduce(function (prev, cur) {
|
|
8
|
+
cur = cur.toLowerCase();
|
|
9
|
+
return prev + upperFirst(cur);
|
|
10
|
+
}, '');
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
module.exports = pascalCase;
|
package/lib/pick.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
var castArray = require('./castArray.js');
|
|
4
4
|
|
|
5
|
-
function
|
|
5
|
+
var pick = function (object, fields) {
|
|
6
6
|
if (fields === void 0) { fields = []; }
|
|
7
7
|
var result = {};
|
|
8
8
|
var fieldArr = castArray(fields);
|
|
@@ -12,6 +12,7 @@ function pick(object, fields) {
|
|
|
12
12
|
}
|
|
13
13
|
});
|
|
14
14
|
return result;
|
|
15
|
-
}
|
|
15
|
+
};
|
|
16
|
+
var pick$1 = pick;
|
|
16
17
|
|
|
17
|
-
module.exports = pick;
|
|
18
|
+
module.exports = pick$1;
|
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
package/types/allKeys.d.ts
CHANGED
package/types/allKeysIn.d.ts
CHANGED