ut2 1.5.0 → 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 +24 -18
- 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/helpers.js +1 -1
- package/es/internals/native.js +7 -1
- package/es/isInteger.js +2 -2
- package/es/isSafeInteger.js +2 -2
- 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/helpers.js +1 -1
- package/lib/internals/native.js +6 -0
- package/lib/isInteger.js +1 -1
- package/lib/isSafeInteger.js +1 -1
- 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 +2 -2
- package/types/internals/native.d.ts +6 -0
package/README.md
CHANGED
|
@@ -12,6 +12,12 @@
|
|
|
12
12
|
- 使用 TypeScript 实现,提供类型定义。
|
|
13
13
|
- 导出 `es`、`cjs`、`umd` 模块格式,支持不同开发环境使用。
|
|
14
14
|
|
|
15
|
+
## 兼容性
|
|
16
|
+
|
|
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
|
+
|
|
19
|
+
如果要兼容 IE 系列浏览器,建议使用 [@babel/preset-env](https://babeljs.io/docs/babel-preset-env) 设置对应的 `targets` 。
|
|
20
|
+
|
|
15
21
|
## 使用
|
|
16
22
|
|
|
17
23
|
### `es` 或 `node` 开发环境
|
package/dist/ut2.js
CHANGED
|
@@ -4,10 +4,6 @@
|
|
|
4
4
|
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.ut2 = {}));
|
|
5
5
|
})(this, (function (exports) { 'use strict';
|
|
6
6
|
|
|
7
|
-
function isArray(value) {
|
|
8
|
-
return Array.isArray(value);
|
|
9
|
-
}
|
|
10
|
-
|
|
11
7
|
var objectProto = Object.prototype;
|
|
12
8
|
var objectProtoToString = objectProto.toString;
|
|
13
9
|
var objectProtoHasOwnProperty = objectProto.hasOwnProperty;
|
|
@@ -23,6 +19,12 @@
|
|
|
23
19
|
var arrayProto = Array.prototype;
|
|
24
20
|
var arrayProtoSlice = arrayProto.slice;
|
|
25
21
|
var arrayProtoAt = arrayProto.at;
|
|
22
|
+
var mathMin = Math.min;
|
|
23
|
+
var mathMax = Math.max;
|
|
24
|
+
var mathRandom = Math.random;
|
|
25
|
+
var mathFloor = Math.floor;
|
|
26
|
+
var mathCeil = Math.ceil;
|
|
27
|
+
var mathAbs = Math.abs;
|
|
26
28
|
var numberIsFinite = Number.isFinite;
|
|
27
29
|
var numberIsInteger = Number.isInteger;
|
|
28
30
|
var numberIsSafeInteger = Number.isSafeInteger;
|
|
@@ -51,6 +53,10 @@
|
|
|
51
53
|
var setTag = '[object Set]';
|
|
52
54
|
var weakMapTag = '[object WeakMap]';
|
|
53
55
|
|
|
56
|
+
function isArray(value) {
|
|
57
|
+
return Array.isArray(value);
|
|
58
|
+
}
|
|
59
|
+
|
|
54
60
|
function isObject(value) {
|
|
55
61
|
var type = typeof value;
|
|
56
62
|
return value != null && (type === 'object' || type === 'function');
|
|
@@ -115,7 +121,7 @@
|
|
|
115
121
|
return [];
|
|
116
122
|
}
|
|
117
123
|
var length = array.length;
|
|
118
|
-
var result = Array(
|
|
124
|
+
var result = Array(mathCeil(length / size));
|
|
119
125
|
var resIndex = 0, index = 0;
|
|
120
126
|
while (index < length) {
|
|
121
127
|
result[resIndex++] = array.slice(index, (index += size));
|
|
@@ -234,14 +240,14 @@
|
|
|
234
240
|
if (upper === void 0) { upper = 1; }
|
|
235
241
|
lower = toFinite(lower);
|
|
236
242
|
upper = toFinite(upper);
|
|
237
|
-
var min =
|
|
238
|
-
var max =
|
|
243
|
+
var min = mathCeil(mathMin(lower, upper) || 0);
|
|
244
|
+
var max = mathFloor(mathMax(lower, upper) || 0);
|
|
239
245
|
if (min > max) {
|
|
240
246
|
var temp = min;
|
|
241
247
|
min = max;
|
|
242
248
|
max = temp;
|
|
243
249
|
}
|
|
244
|
-
return
|
|
250
|
+
return mathFloor(min + mathRandom() * (max - min + 1));
|
|
245
251
|
}
|
|
246
252
|
|
|
247
253
|
function shuffle(array) {
|
|
@@ -296,7 +302,7 @@
|
|
|
296
302
|
var length = 0;
|
|
297
303
|
array = array.filter(function (group) {
|
|
298
304
|
if (isArrayLikeObject(group)) {
|
|
299
|
-
length =
|
|
305
|
+
length = mathMax(group.length, length);
|
|
300
306
|
return true;
|
|
301
307
|
}
|
|
302
308
|
return false;
|
|
@@ -476,7 +482,7 @@
|
|
|
476
482
|
return value == null || value !== value ? defaultValue : value;
|
|
477
483
|
}
|
|
478
484
|
|
|
479
|
-
var VERSION = "1.5.
|
|
485
|
+
var VERSION = "1.5.1";
|
|
480
486
|
var supportedArgumentsType = objectProtoToString.call((function () { return arguments; })()) === argumentsTag;
|
|
481
487
|
var FUNC_ERROR_TEXT = 'Expected a function';
|
|
482
488
|
function toSource(func) {
|
|
@@ -1080,7 +1086,7 @@
|
|
|
1080
1086
|
}
|
|
1081
1087
|
|
|
1082
1088
|
function isInteger(value) {
|
|
1083
|
-
return numberIsInteger ? numberIsInteger(value) : isFinite(value) &&
|
|
1089
|
+
return numberIsInteger ? numberIsInteger(value) : isFinite(value) && mathFloor(value) === value;
|
|
1084
1090
|
}
|
|
1085
1091
|
|
|
1086
1092
|
function isDeepComparable(object, source) {
|
|
@@ -1170,7 +1176,7 @@
|
|
|
1170
1176
|
}
|
|
1171
1177
|
|
|
1172
1178
|
function isSafeInteger(value) {
|
|
1173
|
-
return numberIsSafeInteger ? numberIsSafeInteger(value) : isInteger(value) &&
|
|
1179
|
+
return numberIsSafeInteger ? numberIsSafeInteger(value) : isInteger(value) && mathAbs(value) <= MAX_SAFE_INTEGER;
|
|
1174
1180
|
}
|
|
1175
1181
|
|
|
1176
1182
|
function isString(value) {
|
|
@@ -1193,7 +1199,7 @@
|
|
|
1193
1199
|
if (precision === void 0) { precision = 0; }
|
|
1194
1200
|
var func = Math[type];
|
|
1195
1201
|
value = toNumber(value);
|
|
1196
|
-
precision =
|
|
1202
|
+
precision = mathMin(toInteger(precision), 292);
|
|
1197
1203
|
if (precision === 0 || !isFinite(value)) {
|
|
1198
1204
|
return func(value);
|
|
1199
1205
|
}
|
|
@@ -1302,7 +1308,7 @@
|
|
|
1302
1308
|
number = toNumber(number);
|
|
1303
1309
|
start = toNumber(start);
|
|
1304
1310
|
end = toNumber(end);
|
|
1305
|
-
return number >=
|
|
1311
|
+
return number >= mathMin(start, end) && number < mathMax(start, end);
|
|
1306
1312
|
}
|
|
1307
1313
|
|
|
1308
1314
|
function random(lower, upper) {
|
|
@@ -1310,9 +1316,9 @@
|
|
|
1310
1316
|
if (upper === void 0) { upper = 1; }
|
|
1311
1317
|
lower = toFinite(lower);
|
|
1312
1318
|
upper = toFinite(upper);
|
|
1313
|
-
var min =
|
|
1314
|
-
var max =
|
|
1315
|
-
return min +
|
|
1319
|
+
var min = mathMin(lower, upper);
|
|
1320
|
+
var max = mathMax(lower, upper);
|
|
1321
|
+
return min + mathRandom() * (max - min);
|
|
1316
1322
|
}
|
|
1317
1323
|
|
|
1318
1324
|
function getKeysIn(object) {
|
|
@@ -1605,7 +1611,7 @@
|
|
|
1605
1611
|
return [];
|
|
1606
1612
|
}
|
|
1607
1613
|
var index = 0;
|
|
1608
|
-
var length =
|
|
1614
|
+
var length = mathMin(isInteger(n) ? n : mathFloor(isFinite(n) ? n : 0), MAX_ARRAY_LENGTH);
|
|
1609
1615
|
var result = Array(length);
|
|
1610
1616
|
var func = typeof iteratee === 'function' ? iteratee : identity;
|
|
1611
1617
|
while (index < length) {
|