ut2 1.4.10 → 1.5.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 -0
- package/dist/ut2.js +75 -71
- package/dist/ut2.js.map +1 -1
- package/dist/ut2.min.js +1 -1
- package/dist/ut2.min.js.map +1 -1
- package/es/chunk.js +2 -1
- package/es/inRange.js +2 -1
- package/es/internals/decimalAdjust.js +2 -1
- package/es/internals/getSymbols.js +2 -2
- package/es/internals/getTag.js +8 -8
- package/es/internals/getTagWithBugfix.js +6 -6
- package/es/internals/helpers.js +4 -4
- package/es/internals/keys.js +2 -2
- package/es/internals/native.js +15 -8
- package/es/internals/nodeUtil.js +0 -5
- package/es/isArguments.js +3 -3
- package/es/isArrayBuffer.js +2 -2
- package/es/isBlob.js +2 -2
- package/es/isBoolean.js +2 -2
- package/es/isDate.js +2 -2
- package/es/isEqual.js +3 -3
- package/es/isError.js +2 -2
- package/es/isFunction.js +2 -2
- package/es/isInteger.js +2 -2
- package/es/isMatch.js +2 -2
- package/es/isNumber.js +2 -2
- package/es/isPlainObject.js +4 -4
- package/es/isRegExp.js +2 -2
- package/es/isSafeInteger.js +2 -2
- package/es/isString.js +2 -2
- package/es/isSymbol.js +2 -2
- package/es/isTypedArray.js +2 -2
- package/es/isWeakSet.js +2 -2
- package/es/nth.js +3 -3
- package/es/random.js +4 -3
- package/es/randomInt.js +4 -3
- package/es/times.js +2 -2
- package/es/unzip.js +2 -1
- package/lib/chunk.js +2 -1
- package/lib/inRange.js +2 -1
- package/lib/internals/decimalAdjust.js +2 -1
- package/lib/internals/getSymbols.js +1 -1
- package/lib/internals/getTag.js +7 -7
- package/lib/internals/getTagWithBugfix.js +5 -5
- package/lib/internals/helpers.js +3 -3
- package/lib/internals/keys.js +1 -1
- package/lib/internals/native.js +14 -7
- package/lib/internals/nodeUtil.js +0 -5
- package/lib/isArguments.js +2 -2
- package/lib/isArrayBuffer.js +1 -1
- package/lib/isBlob.js +1 -1
- package/lib/isBoolean.js +1 -1
- package/lib/isDate.js +1 -1
- package/lib/isEqual.js +2 -2
- package/lib/isError.js +1 -1
- package/lib/isFunction.js +1 -1
- package/lib/isInteger.js +1 -1
- package/lib/isMatch.js +1 -1
- package/lib/isNumber.js +1 -1
- package/lib/isPlainObject.js +3 -3
- package/lib/isRegExp.js +1 -1
- package/lib/isSafeInteger.js +1 -1
- package/lib/isString.js +1 -1
- package/lib/isSymbol.js +1 -1
- package/lib/isTypedArray.js +1 -1
- package/lib/isWeakSet.js +1 -1
- package/lib/nth.js +2 -2
- package/lib/random.js +4 -3
- package/lib/randomInt.js +4 -3
- package/lib/times.js +1 -1
- package/lib/unzip.js +2 -1
- package/package.json +4 -1
- package/types/internals/native.d.ts +14 -7
package/es/chunk.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { mathCeil } from './internals/native.js';
|
|
1
2
|
import isArray from './isArray.js';
|
|
2
3
|
import toLength from './toLength.js';
|
|
3
4
|
|
|
@@ -8,7 +9,7 @@ function chunk(array, size) {
|
|
|
8
9
|
return [];
|
|
9
10
|
}
|
|
10
11
|
var length = array.length;
|
|
11
|
-
var result = Array(
|
|
12
|
+
var result = Array(mathCeil(length / size));
|
|
12
13
|
var resIndex = 0, index = 0;
|
|
13
14
|
while (index < length) {
|
|
14
15
|
result[resIndex++] = array.slice(index, (index += size));
|
package/es/inRange.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { mathMin, mathMax } from './internals/native.js';
|
|
1
2
|
import toNumber from './toNumber.js';
|
|
2
3
|
|
|
3
4
|
function inRange(number, start, end) {
|
|
@@ -5,7 +6,7 @@ function inRange(number, start, end) {
|
|
|
5
6
|
number = toNumber(number);
|
|
6
7
|
start = toNumber(start);
|
|
7
8
|
end = toNumber(end);
|
|
8
|
-
return number >=
|
|
9
|
+
return number >= mathMin(start, end) && number < mathMax(start, end);
|
|
9
10
|
}
|
|
10
11
|
|
|
11
12
|
export { inRange as default };
|
|
@@ -2,12 +2,13 @@ import isFinite from '../isFinite.js';
|
|
|
2
2
|
import toInteger from '../toInteger.js';
|
|
3
3
|
import toNumber from '../toNumber.js';
|
|
4
4
|
import toString from '../toString.js';
|
|
5
|
+
import { mathMin } from './native.js';
|
|
5
6
|
|
|
6
7
|
function decimalAdjust(type, value, precision) {
|
|
7
8
|
if (precision === void 0) { precision = 0; }
|
|
8
9
|
var func = Math[type];
|
|
9
10
|
value = toNumber(value);
|
|
10
|
-
precision =
|
|
11
|
+
precision = mathMin(toInteger(precision), 292);
|
|
11
12
|
if (precision === 0 || !isFinite(value)) {
|
|
12
13
|
return func(value);
|
|
13
14
|
}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { objectGetOwnPropertySymbols,
|
|
1
|
+
import { objectGetOwnPropertySymbols, objectProtoPropertyIsEnumerable } from './native.js';
|
|
2
2
|
|
|
3
3
|
function getSymbols(object) {
|
|
4
4
|
if (!objectGetOwnPropertySymbols || object === null) {
|
|
5
5
|
return [];
|
|
6
6
|
}
|
|
7
|
-
return objectGetOwnPropertySymbols(object).filter(function (item) { return
|
|
7
|
+
return objectGetOwnPropertySymbols(object).filter(function (item) { return objectProtoPropertyIsEnumerable.call(object, item); });
|
|
8
8
|
}
|
|
9
9
|
|
|
10
10
|
export { getSymbols as default };
|
package/es/internals/getTag.js
CHANGED
|
@@ -1,28 +1,28 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { symbolToStringTag, objectProtoToString, objectProtoHasOwnProperty } from './native.js';
|
|
2
2
|
|
|
3
3
|
function getRawTag(value) {
|
|
4
|
-
var isOwn =
|
|
5
|
-
var tag = value[
|
|
4
|
+
var isOwn = objectProtoHasOwnProperty.call(value, symbolToStringTag);
|
|
5
|
+
var tag = value[symbolToStringTag];
|
|
6
6
|
var unmasked = false;
|
|
7
7
|
try {
|
|
8
|
-
value[
|
|
8
|
+
value[symbolToStringTag] = undefined;
|
|
9
9
|
unmasked = true;
|
|
10
10
|
}
|
|
11
11
|
catch (e) {
|
|
12
12
|
}
|
|
13
|
-
var result =
|
|
13
|
+
var result = objectProtoToString.call(value);
|
|
14
14
|
if (unmasked) {
|
|
15
15
|
if (isOwn) {
|
|
16
|
-
value[
|
|
16
|
+
value[symbolToStringTag] = tag;
|
|
17
17
|
}
|
|
18
18
|
else {
|
|
19
|
-
delete value[
|
|
19
|
+
delete value[symbolToStringTag];
|
|
20
20
|
}
|
|
21
21
|
}
|
|
22
22
|
return result;
|
|
23
23
|
}
|
|
24
24
|
function getTag(value) {
|
|
25
|
-
return
|
|
25
|
+
return symbolToStringTag && symbolToStringTag in Object(value) ? getRawTag(value) : objectProtoToString.call(value);
|
|
26
26
|
}
|
|
27
27
|
|
|
28
28
|
export { getTag as default };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { objectProtoToString, dataViewTag, mapTag, promiseTag, setTag, weakMapTag, objectTag } from './native.js';
|
|
2
2
|
import { toSource } from './helpers.js';
|
|
3
3
|
import getTag from './getTag.js';
|
|
4
4
|
|
|
@@ -13,11 +13,11 @@ var promiseCtorString = toSource(Promise);
|
|
|
13
13
|
var setCtorString = toSource(Set);
|
|
14
14
|
var weakMapCtorString = toSource(WeakMap);
|
|
15
15
|
var getTagWithBugfix = getTag;
|
|
16
|
-
if ((dataViewExisted &&
|
|
17
|
-
(mapExisted &&
|
|
18
|
-
(promiseExisted &&
|
|
19
|
-
(setExisted &&
|
|
20
|
-
(weakMapExisted &&
|
|
16
|
+
if ((dataViewExisted && objectProtoToString.call(new DataView(new ArrayBuffer(1))) !== dataViewTag) ||
|
|
17
|
+
(mapExisted && objectProtoToString.call(new Map()) !== mapTag) ||
|
|
18
|
+
(promiseExisted && objectProtoToString.call(Promise.resolve()) !== promiseTag) ||
|
|
19
|
+
(setExisted && objectProtoToString.call(new Set()) !== setTag) ||
|
|
20
|
+
(weakMapExisted && objectProtoToString.call(new WeakMap()) !== weakMapTag)) {
|
|
21
21
|
getTagWithBugfix = function (value) {
|
|
22
22
|
var result = getTag(value);
|
|
23
23
|
var Ctor = result === objectTag ? value.constructor : undefined;
|
package/es/internals/helpers.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { objectProtoToString, argumentsTag, functionProtoToString } from './native.js';
|
|
2
2
|
|
|
3
|
-
var VERSION = "1.
|
|
4
|
-
var supportedArgumentsType =
|
|
3
|
+
var VERSION = "1.5.1";
|
|
4
|
+
var supportedArgumentsType = objectProtoToString.call((function () { return arguments; })()) === argumentsTag;
|
|
5
5
|
var FUNC_ERROR_TEXT = 'Expected a function';
|
|
6
6
|
function toSource(func) {
|
|
7
7
|
if (func !== null) {
|
|
8
8
|
try {
|
|
9
|
-
return
|
|
9
|
+
return functionProtoToString.call(func);
|
|
10
10
|
}
|
|
11
11
|
catch (e) {
|
|
12
12
|
}
|
package/es/internals/keys.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import isPrototype from './isPrototype.js';
|
|
2
|
-
import { objectKeys,
|
|
2
|
+
import { objectKeys, objectProtoHasOwnProperty } from './native.js';
|
|
3
3
|
|
|
4
4
|
function keys(value) {
|
|
5
5
|
if (!isPrototype(value)) {
|
|
@@ -7,7 +7,7 @@ function keys(value) {
|
|
|
7
7
|
}
|
|
8
8
|
var result = [];
|
|
9
9
|
for (var key in Object(value)) {
|
|
10
|
-
if (
|
|
10
|
+
if (objectProtoHasOwnProperty.call(value, key) && key !== 'constructor') {
|
|
11
11
|
result.push(key);
|
|
12
12
|
}
|
|
13
13
|
}
|
package/es/internals/native.js
CHANGED
|
@@ -1,17 +1,24 @@
|
|
|
1
1
|
var objectProto = Object.prototype;
|
|
2
|
-
var
|
|
2
|
+
var objectProtoToString = objectProto.toString;
|
|
3
|
+
var objectProtoHasOwnProperty = objectProto.hasOwnProperty;
|
|
4
|
+
var objectProtoPropertyIsEnumerable = objectProto.propertyIsEnumerable;
|
|
3
5
|
var objectGetOwnPropertySymbols = Object.getOwnPropertySymbols;
|
|
4
6
|
var objectGetPrototypeOf = Object.getPrototypeOf;
|
|
5
7
|
var objectKeys = Object.keys;
|
|
6
|
-
var
|
|
7
|
-
var
|
|
8
|
-
var functionToString = Function.prototype.toString;
|
|
8
|
+
var functionProto = Function.prototype;
|
|
9
|
+
var functionProtoToString = functionProto.toString;
|
|
9
10
|
var symbolExisted = typeof Symbol !== 'undefined';
|
|
10
11
|
var symbolProto = symbolExisted ? Symbol.prototype : undefined;
|
|
11
|
-
var
|
|
12
|
+
var symbolToStringTag = symbolExisted ? Symbol.toStringTag : undefined;
|
|
12
13
|
var arrayProto = Array.prototype;
|
|
13
|
-
var
|
|
14
|
-
var
|
|
14
|
+
var arrayProtoSlice = arrayProto.slice;
|
|
15
|
+
var arrayProtoAt = arrayProto.at;
|
|
16
|
+
var mathMin = Math.min;
|
|
17
|
+
var mathMax = Math.max;
|
|
18
|
+
var mathRandom = Math.random;
|
|
19
|
+
var mathFloor = Math.floor;
|
|
20
|
+
var mathCeil = Math.ceil;
|
|
21
|
+
var mathAbs = Math.abs;
|
|
15
22
|
var numberIsFinite = Number.isFinite;
|
|
16
23
|
var numberIsInteger = Number.isInteger;
|
|
17
24
|
var numberIsSafeInteger = Number.isSafeInteger;
|
|
@@ -40,4 +47,4 @@ var promiseTag = '[object Promise]';
|
|
|
40
47
|
var setTag = '[object Set]';
|
|
41
48
|
var weakMapTag = '[object WeakMap]';
|
|
42
49
|
|
|
43
|
-
export { MAX_ARRAY_LENGTH, MAX_SAFE_INTEGER, MIN_SAFE_INTEGER, argumentsTag,
|
|
50
|
+
export { MAX_ARRAY_LENGTH, MAX_SAFE_INTEGER, MIN_SAFE_INTEGER, argumentsTag, arrayBufferTag, arrayProto, arrayProtoAt, arrayProtoSlice, arrayTag, blobTag, booleanTag, dataViewTag, dateTag, domExceptionTag, errorTag, functionProto, functionProtoToString, functionTags, mapTag, mathAbs, mathCeil, mathFloor, mathMax, mathMin, mathRandom, numberIsFinite, numberIsInteger, numberIsSafeInteger, numberTag, objectGetOwnPropertySymbols, objectGetPrototypeOf, objectKeys, objectProto, objectProtoHasOwnProperty, objectProtoPropertyIsEnumerable, objectProtoToString, objectTag, promiseTag, regExpTag, setTag, stringTag, symbolProto, symbolTag, symbolToStringTag, typedArrayTags, weakMapTag, weakSetTag };
|
package/es/internals/nodeUtil.js
CHANGED
|
@@ -1,16 +1,11 @@
|
|
|
1
|
-
import root from './root.js';
|
|
2
|
-
|
|
3
1
|
var freeExports = typeof exports === 'object' && exports && !exports.nodeType && exports;
|
|
4
2
|
var freeModule = freeExports && typeof module === 'object' && module && !module.nodeType && module;
|
|
5
|
-
var moduleExports = freeModule && freeModule.exports === freeExports;
|
|
6
|
-
var freeProcess = moduleExports && root.process;
|
|
7
3
|
var nodeUtil = (function () {
|
|
8
4
|
try {
|
|
9
5
|
var types = freeModule && freeModule.require && freeModule.require('util').types;
|
|
10
6
|
if (types) {
|
|
11
7
|
return types;
|
|
12
8
|
}
|
|
13
|
-
return freeProcess && freeProcess.binding && freeProcess.binding('util');
|
|
14
9
|
}
|
|
15
10
|
catch (e) {
|
|
16
11
|
}
|
package/es/isArguments.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { objectProtoToString, argumentsTag, objectProtoHasOwnProperty, objectProtoPropertyIsEnumerable } from './internals/native.js';
|
|
2
2
|
import { supportedArgumentsType } from './internals/helpers.js';
|
|
3
3
|
import isObjectLike from './isObjectLike.js';
|
|
4
4
|
|
|
5
5
|
function isArguments(value) {
|
|
6
6
|
if (supportedArgumentsType) {
|
|
7
|
-
return
|
|
7
|
+
return objectProtoToString.call(value) === argumentsTag;
|
|
8
8
|
}
|
|
9
|
-
return isObjectLike(value) &&
|
|
9
|
+
return isObjectLike(value) && objectProtoHasOwnProperty.call(value, 'callee') && !objectProtoPropertyIsEnumerable.call(value, 'callee');
|
|
10
10
|
}
|
|
11
11
|
|
|
12
12
|
export { isArguments as default };
|
package/es/isArrayBuffer.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { objectProtoToString, arrayBufferTag } from './internals/native.js';
|
|
2
2
|
import { nodeIsArrayBuffer } from './internals/nodeUtil.js';
|
|
3
3
|
|
|
4
4
|
function isArrayBuffer(value) {
|
|
5
|
-
return nodeIsArrayBuffer ? nodeIsArrayBuffer(value) :
|
|
5
|
+
return nodeIsArrayBuffer ? nodeIsArrayBuffer(value) : objectProtoToString.call(value) === arrayBufferTag;
|
|
6
6
|
}
|
|
7
7
|
|
|
8
8
|
export { isArrayBuffer as default };
|
package/es/isBlob.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { objectProtoToString, blobTag } from './internals/native.js';
|
|
2
2
|
|
|
3
3
|
var blobExisted = typeof Blob !== 'undefined';
|
|
4
4
|
function isBlob(value) {
|
|
5
5
|
if (blobExisted && value instanceof Blob) {
|
|
6
6
|
return true;
|
|
7
7
|
}
|
|
8
|
-
return
|
|
8
|
+
return objectProtoToString.call(value) === blobTag;
|
|
9
9
|
}
|
|
10
10
|
|
|
11
11
|
export { isBlob as default };
|
package/es/isBoolean.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { objectProtoToString, booleanTag } from './internals/native.js';
|
|
2
2
|
|
|
3
3
|
function isBoolean(value) {
|
|
4
|
-
return value === true || value === false ||
|
|
4
|
+
return value === true || value === false || objectProtoToString.call(value) === booleanTag;
|
|
5
5
|
}
|
|
6
6
|
|
|
7
7
|
export { isBoolean as default };
|
package/es/isDate.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { objectProtoToString, dateTag } from './internals/native.js';
|
|
2
2
|
import { nodeIsDate } from './internals/nodeUtil.js';
|
|
3
3
|
|
|
4
4
|
function isDate(value) {
|
|
5
|
-
return nodeIsDate ? nodeIsDate(value) :
|
|
5
|
+
return nodeIsDate ? nodeIsDate(value) : objectProtoToString.call(value) === dateTag;
|
|
6
6
|
}
|
|
7
7
|
|
|
8
8
|
export { isDate as default };
|
package/es/isEqual.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import allKeys from './allKeys.js';
|
|
2
2
|
import eq from './eq.js';
|
|
3
3
|
import getTagWithBugfix from './internals/getTagWithBugfix.js';
|
|
4
|
-
import { symbolProto, arrayBufferTag, dataViewTag, errorTag, symbolTag, regExpTag, stringTag, dateTag, booleanTag, numberTag, objectTag,
|
|
4
|
+
import { symbolProto, arrayBufferTag, dataViewTag, errorTag, symbolTag, regExpTag, stringTag, dateTag, booleanTag, numberTag, objectTag, objectProtoHasOwnProperty, argumentsTag, setTag, mapTag, arrayTag, arrayProtoSlice } from './internals/native.js';
|
|
5
5
|
import isBuffer from './isBuffer.js';
|
|
6
6
|
import isFunction from './isFunction.js';
|
|
7
7
|
import isNil from './isNil.js';
|
|
@@ -25,7 +25,7 @@ function setToArray(set) {
|
|
|
25
25
|
return orderBy(result);
|
|
26
26
|
}
|
|
27
27
|
function argToArray(arg) {
|
|
28
|
-
return
|
|
28
|
+
return arrayProtoSlice.call(arg);
|
|
29
29
|
}
|
|
30
30
|
function toBufferView(bufferSource) {
|
|
31
31
|
return new Uint8Array(bufferSource.buffer || bufferSource, bufferSource.byteOffset || 0, bufferSource.byteLength);
|
|
@@ -152,7 +152,7 @@ function isEqualDeep(value, other, customizer, strictCheck, valueStack, otherSta
|
|
|
152
152
|
continue;
|
|
153
153
|
}
|
|
154
154
|
}
|
|
155
|
-
if (!(
|
|
155
|
+
if (!(objectProtoHasOwnProperty.call(other, key) && isEqualDeep(value[key], other[key], customizer, strictCheck, valueStack, otherStack))) {
|
|
156
156
|
return false;
|
|
157
157
|
}
|
|
158
158
|
if (!skipCtor && key === 'constructor') {
|
package/es/isError.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { objectProtoToString, errorTag, domExceptionTag } from './internals/native.js';
|
|
2
2
|
import isObjectLike from './isObjectLike.js';
|
|
3
3
|
|
|
4
4
|
function isError(value) {
|
|
@@ -8,7 +8,7 @@ function isError(value) {
|
|
|
8
8
|
if (value instanceof Error) {
|
|
9
9
|
return true;
|
|
10
10
|
}
|
|
11
|
-
var tag =
|
|
11
|
+
var tag = objectProtoToString.call(value);
|
|
12
12
|
return tag === errorTag || tag === domExceptionTag;
|
|
13
13
|
}
|
|
14
14
|
|
package/es/isFunction.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { objectProtoToString, functionTags } from './internals/native.js';
|
|
2
2
|
|
|
3
3
|
function isFunction(value) {
|
|
4
4
|
if (typeof value === 'function') {
|
|
5
5
|
return true;
|
|
6
6
|
}
|
|
7
|
-
var tag =
|
|
7
|
+
var tag = objectProtoToString.call(value);
|
|
8
8
|
return functionTags.some(function (item) { return item === tag; });
|
|
9
9
|
}
|
|
10
10
|
|
package/es/isInteger.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { numberIsInteger } from './internals/native.js';
|
|
1
|
+
import { numberIsInteger, mathFloor } from './internals/native.js';
|
|
2
2
|
import isFinite from './isFinite.js';
|
|
3
3
|
|
|
4
4
|
function isInteger(value) {
|
|
5
|
-
return numberIsInteger ? numberIsInteger(value) : isFinite(value) &&
|
|
5
|
+
return numberIsInteger ? numberIsInteger(value) : isFinite(value) && mathFloor(value) === value;
|
|
6
6
|
}
|
|
7
7
|
|
|
8
8
|
export { isInteger as default };
|
package/es/isMatch.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import allKeys from './allKeys.js';
|
|
2
|
-
import {
|
|
2
|
+
import { objectProtoToString, objectTag } from './internals/native.js';
|
|
3
3
|
import isEqual from './isEqual.js';
|
|
4
4
|
|
|
5
5
|
function isDeepComparable(object, source) {
|
|
6
|
-
return
|
|
6
|
+
return objectProtoToString.call(object) === objectTag && objectProtoToString.call(source) === objectTag;
|
|
7
7
|
}
|
|
8
8
|
function baseIsMatch(object, source, customizer, strictCheck, objStack, srcStack, executedCustomizer) {
|
|
9
9
|
if (executedCustomizer === void 0) { executedCustomizer = false; }
|
package/es/isNumber.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { objectProtoToString, numberTag } from './internals/native.js';
|
|
2
2
|
|
|
3
3
|
function isNumber(value) {
|
|
4
|
-
return typeof value === 'number' ||
|
|
4
|
+
return typeof value === 'number' || objectProtoToString.call(value) === numberTag;
|
|
5
5
|
}
|
|
6
6
|
|
|
7
7
|
export { isNumber as default };
|
package/es/isPlainObject.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import getTag from './internals/getTag.js';
|
|
2
|
-
import {
|
|
2
|
+
import { functionProtoToString, objectTag, objectGetPrototypeOf, objectProtoHasOwnProperty } from './internals/native.js';
|
|
3
3
|
import isObjectLike from './isObjectLike.js';
|
|
4
4
|
|
|
5
|
-
var objectCtorString =
|
|
5
|
+
var objectCtorString = functionProtoToString.call(Object);
|
|
6
6
|
function isPlainObject(value) {
|
|
7
7
|
if (!isObjectLike(value) || getTag(value) !== objectTag) {
|
|
8
8
|
return false;
|
|
@@ -11,8 +11,8 @@ function isPlainObject(value) {
|
|
|
11
11
|
if (proto === null) {
|
|
12
12
|
return true;
|
|
13
13
|
}
|
|
14
|
-
var Ctor =
|
|
15
|
-
return typeof Ctor === 'function' && Ctor instanceof Ctor &&
|
|
14
|
+
var Ctor = objectProtoHasOwnProperty.call(proto, 'constructor') && proto.constructor;
|
|
15
|
+
return typeof Ctor === 'function' && Ctor instanceof Ctor && functionProtoToString.call(Ctor) === objectCtorString;
|
|
16
16
|
}
|
|
17
17
|
|
|
18
18
|
export { isPlainObject as default };
|
package/es/isRegExp.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { objectProtoToString, regExpTag } from './internals/native.js';
|
|
2
2
|
import { nodeIsRegExp } from './internals/nodeUtil.js';
|
|
3
3
|
|
|
4
4
|
function isRegExp(value) {
|
|
5
|
-
return nodeIsRegExp ? nodeIsRegExp(value) :
|
|
5
|
+
return nodeIsRegExp ? nodeIsRegExp(value) : objectProtoToString.call(value) === regExpTag;
|
|
6
6
|
}
|
|
7
7
|
|
|
8
8
|
export { isRegExp as default };
|
package/es/isSafeInteger.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { numberIsSafeInteger, MAX_SAFE_INTEGER } from './internals/native.js';
|
|
1
|
+
import { numberIsSafeInteger, mathAbs, MAX_SAFE_INTEGER } from './internals/native.js';
|
|
2
2
|
import isInteger from './isInteger.js';
|
|
3
3
|
|
|
4
4
|
function isSafeInteger(value) {
|
|
5
|
-
return numberIsSafeInteger ? numberIsSafeInteger(value) : isInteger(value) &&
|
|
5
|
+
return numberIsSafeInteger ? numberIsSafeInteger(value) : isInteger(value) && mathAbs(value) <= MAX_SAFE_INTEGER;
|
|
6
6
|
}
|
|
7
7
|
|
|
8
8
|
export { isSafeInteger as default };
|
package/es/isString.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { objectProtoToString, stringTag } from './internals/native.js';
|
|
2
2
|
|
|
3
3
|
function isString(value) {
|
|
4
|
-
return typeof value === 'string' ||
|
|
4
|
+
return typeof value === 'string' || objectProtoToString.call(value) === stringTag;
|
|
5
5
|
}
|
|
6
6
|
|
|
7
7
|
export { isString as default };
|
package/es/isSymbol.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { objectProtoToString, symbolTag } from './internals/native.js';
|
|
2
2
|
|
|
3
3
|
function isSymbol(value) {
|
|
4
|
-
return typeof value === 'symbol' ||
|
|
4
|
+
return typeof value === 'symbol' || objectProtoToString.call(value) === symbolTag;
|
|
5
5
|
}
|
|
6
6
|
|
|
7
7
|
export { isSymbol as default };
|
package/es/isTypedArray.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { objectProtoToString, typedArrayTags } from './internals/native.js';
|
|
2
2
|
import { nodeIsTypedArray } from './internals/nodeUtil.js';
|
|
3
3
|
import isLength from './isLength.js';
|
|
4
4
|
import isObjectLike from './isObjectLike.js';
|
|
@@ -8,7 +8,7 @@ function isTypedArray(value) {
|
|
|
8
8
|
return nodeIsTypedArray(value);
|
|
9
9
|
}
|
|
10
10
|
if (isObjectLike(value) && isLength(value.length)) {
|
|
11
|
-
var tag_1 =
|
|
11
|
+
var tag_1 = objectProtoToString.call(value);
|
|
12
12
|
return typedArrayTags.some(function (item) { return item === tag_1; });
|
|
13
13
|
}
|
|
14
14
|
return false;
|
package/es/isWeakSet.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { objectProtoToString, weakSetTag } from './internals/native.js';
|
|
2
2
|
|
|
3
3
|
function isWeakSet(value) {
|
|
4
|
-
return
|
|
4
|
+
return objectProtoToString.call(value) === weakSetTag;
|
|
5
5
|
}
|
|
6
6
|
|
|
7
7
|
export { isWeakSet as default };
|
package/es/nth.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { arrayProtoAt } from './internals/native.js';
|
|
2
2
|
import isArrayLike from './isArrayLike.js';
|
|
3
3
|
|
|
4
4
|
function nth(array, n) {
|
|
@@ -6,8 +6,8 @@ function nth(array, n) {
|
|
|
6
6
|
if (!isArrayLike(array)) {
|
|
7
7
|
return undefined;
|
|
8
8
|
}
|
|
9
|
-
if (typeof
|
|
10
|
-
return
|
|
9
|
+
if (typeof arrayProtoAt === 'function') {
|
|
10
|
+
return arrayProtoAt.call(array, n);
|
|
11
11
|
}
|
|
12
12
|
var index = n < 0 ? n + array.length : n;
|
|
13
13
|
return array[index];
|
package/es/random.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { mathMin, mathMax, mathRandom } from './internals/native.js';
|
|
1
2
|
import toFinite from './toFinite.js';
|
|
2
3
|
|
|
3
4
|
function random(lower, upper) {
|
|
@@ -5,9 +6,9 @@ function random(lower, upper) {
|
|
|
5
6
|
if (upper === void 0) { upper = 1; }
|
|
6
7
|
lower = toFinite(lower);
|
|
7
8
|
upper = toFinite(upper);
|
|
8
|
-
var min =
|
|
9
|
-
var max =
|
|
10
|
-
return min +
|
|
9
|
+
var min = mathMin(lower, upper);
|
|
10
|
+
var max = mathMax(lower, upper);
|
|
11
|
+
return min + mathRandom() * (max - min);
|
|
11
12
|
}
|
|
12
13
|
|
|
13
14
|
export { random as default };
|
package/es/randomInt.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { mathCeil, mathMin, mathFloor, mathMax, mathRandom } from './internals/native.js';
|
|
1
2
|
import toFinite from './toFinite.js';
|
|
2
3
|
|
|
3
4
|
function randomInt(lower, upper) {
|
|
@@ -5,14 +6,14 @@ function randomInt(lower, upper) {
|
|
|
5
6
|
if (upper === void 0) { upper = 1; }
|
|
6
7
|
lower = toFinite(lower);
|
|
7
8
|
upper = toFinite(upper);
|
|
8
|
-
var min =
|
|
9
|
-
var max =
|
|
9
|
+
var min = mathCeil(mathMin(lower, upper) || 0);
|
|
10
|
+
var max = mathFloor(mathMax(lower, upper) || 0);
|
|
10
11
|
if (min > max) {
|
|
11
12
|
var temp = min;
|
|
12
13
|
min = max;
|
|
13
14
|
max = temp;
|
|
14
15
|
}
|
|
15
|
-
return
|
|
16
|
+
return mathFloor(min + mathRandom() * (max - min + 1));
|
|
16
17
|
}
|
|
17
18
|
|
|
18
19
|
export { randomInt as default };
|
package/es/times.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import identity from './identity.js';
|
|
2
|
-
import { MAX_SAFE_INTEGER, MAX_ARRAY_LENGTH } from './internals/native.js';
|
|
2
|
+
import { MAX_SAFE_INTEGER, mathMin, mathFloor, MAX_ARRAY_LENGTH } from './internals/native.js';
|
|
3
3
|
import isInteger from './isInteger.js';
|
|
4
4
|
import isFinite from './isFinite.js';
|
|
5
5
|
|
|
@@ -9,7 +9,7 @@ function times(n, iteratee) {
|
|
|
9
9
|
return [];
|
|
10
10
|
}
|
|
11
11
|
var index = 0;
|
|
12
|
-
var length =
|
|
12
|
+
var length = mathMin(isInteger(n) ? n : mathFloor(isFinite(n) ? n : 0), MAX_ARRAY_LENGTH);
|
|
13
13
|
var result = Array(length);
|
|
14
14
|
var func = typeof iteratee === 'function' ? iteratee : identity;
|
|
15
15
|
while (index < length) {
|
package/es/unzip.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { mathMax } from './internals/native.js';
|
|
1
2
|
import isArray from './isArray.js';
|
|
2
3
|
import isArrayLikeObject from './isArrayLikeObject.js';
|
|
3
4
|
|
|
@@ -8,7 +9,7 @@ function unzip(array) {
|
|
|
8
9
|
var length = 0;
|
|
9
10
|
array = array.filter(function (group) {
|
|
10
11
|
if (isArrayLikeObject(group)) {
|
|
11
|
-
length =
|
|
12
|
+
length = mathMax(group.length, length);
|
|
12
13
|
return true;
|
|
13
14
|
}
|
|
14
15
|
return false;
|
package/lib/chunk.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
+
var native = require('./internals/native.js');
|
|
3
4
|
var isArray = require('./isArray.js');
|
|
4
5
|
var toLength = require('./toLength.js');
|
|
5
6
|
|
|
@@ -10,7 +11,7 @@ function chunk(array, size) {
|
|
|
10
11
|
return [];
|
|
11
12
|
}
|
|
12
13
|
var length = array.length;
|
|
13
|
-
var result = Array(
|
|
14
|
+
var result = Array(native.mathCeil(length / size));
|
|
14
15
|
var resIndex = 0, index = 0;
|
|
15
16
|
while (index < length) {
|
|
16
17
|
result[resIndex++] = array.slice(index, (index += size));
|
package/lib/inRange.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
+
var native = require('./internals/native.js');
|
|
3
4
|
var toNumber = require('./toNumber.js');
|
|
4
5
|
|
|
5
6
|
function inRange(number, start, end) {
|
|
@@ -7,7 +8,7 @@ function inRange(number, start, end) {
|
|
|
7
8
|
number = toNumber(number);
|
|
8
9
|
start = toNumber(start);
|
|
9
10
|
end = toNumber(end);
|
|
10
|
-
return number >=
|
|
11
|
+
return number >= native.mathMin(start, end) && number < native.mathMax(start, end);
|
|
11
12
|
}
|
|
12
13
|
|
|
13
14
|
module.exports = inRange;
|
|
@@ -4,12 +4,13 @@ var isFinite = require('../isFinite.js');
|
|
|
4
4
|
var toInteger = require('../toInteger.js');
|
|
5
5
|
var toNumber = require('../toNumber.js');
|
|
6
6
|
var toString = require('../toString.js');
|
|
7
|
+
var native = require('./native.js');
|
|
7
8
|
|
|
8
9
|
function decimalAdjust(type, value, precision) {
|
|
9
10
|
if (precision === void 0) { precision = 0; }
|
|
10
11
|
var func = Math[type];
|
|
11
12
|
value = toNumber(value);
|
|
12
|
-
precision =
|
|
13
|
+
precision = native.mathMin(toInteger(precision), 292);
|
|
13
14
|
if (precision === 0 || !isFinite(value)) {
|
|
14
15
|
return func(value);
|
|
15
16
|
}
|
|
@@ -6,7 +6,7 @@ function getSymbols(object) {
|
|
|
6
6
|
if (!native.objectGetOwnPropertySymbols || object === null) {
|
|
7
7
|
return [];
|
|
8
8
|
}
|
|
9
|
-
return native.objectGetOwnPropertySymbols(object).filter(function (item) { return native.
|
|
9
|
+
return native.objectGetOwnPropertySymbols(object).filter(function (item) { return native.objectProtoPropertyIsEnumerable.call(object, item); });
|
|
10
10
|
}
|
|
11
11
|
|
|
12
12
|
module.exports = getSymbols;
|