ut2 1.5.0 → 1.5.2

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 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,9 +19,18 @@
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;
31
+ var globalThisExisted = typeof globalThis === 'object' && globalThis;
32
+ var globalExisted = typeof global === 'object' && global;
33
+ var selfExisted = typeof self === 'object' && self;
29
34
  var MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || 9007199254740991;
30
35
  var MIN_SAFE_INTEGER = Number.MIN_SAFE_INTEGER || -9007199254740991;
31
36
  var MAX_ARRAY_LENGTH = 4294967295;
@@ -51,6 +56,10 @@
51
56
  var setTag = '[object Set]';
52
57
  var weakMapTag = '[object WeakMap]';
53
58
 
59
+ function isArray(value) {
60
+ return Array.isArray(value);
61
+ }
62
+
54
63
  function isObject(value) {
55
64
  var type = typeof value;
56
65
  return value != null && (type === 'object' || type === 'function');
@@ -115,7 +124,7 @@
115
124
  return [];
116
125
  }
117
126
  var length = array.length;
118
- var result = Array(Math.ceil(length / size));
127
+ var result = Array(mathCeil(length / size));
119
128
  var resIndex = 0, index = 0;
120
129
  while (index < length) {
121
130
  result[resIndex++] = array.slice(index, (index += size));
@@ -234,14 +243,14 @@
234
243
  if (upper === void 0) { upper = 1; }
235
244
  lower = toFinite(lower);
236
245
  upper = toFinite(upper);
237
- var min = Math.ceil(Math.min(lower, upper) || 0);
238
- var max = Math.floor(Math.max(lower, upper) || 0);
246
+ var min = mathCeil(mathMin(lower, upper) || 0);
247
+ var max = mathFloor(mathMax(lower, upper) || 0);
239
248
  if (min > max) {
240
249
  var temp = min;
241
250
  min = max;
242
251
  max = temp;
243
252
  }
244
- return Math.floor(min + Math.random() * (max - min + 1));
253
+ return mathFloor(min + mathRandom() * (max - min + 1));
245
254
  }
246
255
 
247
256
  function shuffle(array) {
@@ -296,7 +305,7 @@
296
305
  var length = 0;
297
306
  array = array.filter(function (group) {
298
307
  if (isArrayLikeObject(group)) {
299
- length = Math.max(group.length, length);
308
+ length = mathMax(group.length, length);
300
309
  return true;
301
310
  }
302
311
  return false;
@@ -476,7 +485,7 @@
476
485
  return value == null || value !== value ? defaultValue : value;
477
486
  }
478
487
 
479
- var VERSION = "1.5.0";
488
+ var VERSION = "1.5.2";
480
489
  var supportedArgumentsType = objectProtoToString.call((function () { return arguments; })()) === argumentsTag;
481
490
  var FUNC_ERROR_TEXT = 'Expected a function';
482
491
  function toSource(func) {
@@ -1070,17 +1079,17 @@
1070
1079
  return tag === errorTag || tag === domExceptionTag;
1071
1080
  }
1072
1081
 
1073
- var freeGlobalThis = typeof globalThis === 'object' && globalThis && globalThis.Object === Object && globalThis;
1074
- var freeGlobal = typeof global === 'object' && global && global.Object === Object && global;
1075
- var freeSelf = typeof self === 'object' && self && self.Object === Object && self;
1076
- var root = freeGlobalThis || freeGlobal || freeSelf || Function('return this')() || {};
1082
+ var freeGlobalThis = globalThisExisted && globalThis.Object === Object && globalThis;
1083
+ var freeGlobal = globalExisted && global.Object === Object && global;
1084
+ var freeSelf = selfExisted && self.Object === Object && self;
1085
+ var root = freeGlobalThis || freeGlobal || freeSelf || Function('return this')();
1077
1086
 
1078
1087
  function isFinite(value) {
1079
1088
  return numberIsFinite ? numberIsFinite(value) : typeof value === 'number' && root.isFinite(value);
1080
1089
  }
1081
1090
 
1082
1091
  function isInteger(value) {
1083
- return numberIsInteger ? numberIsInteger(value) : isFinite(value) && Math.floor(value) === value;
1092
+ return numberIsInteger ? numberIsInteger(value) : isFinite(value) && mathFloor(value) === value;
1084
1093
  }
1085
1094
 
1086
1095
  function isDeepComparable(object, source) {
@@ -1170,7 +1179,7 @@
1170
1179
  }
1171
1180
 
1172
1181
  function isSafeInteger(value) {
1173
- return numberIsSafeInteger ? numberIsSafeInteger(value) : isInteger(value) && Math.abs(value) <= MAX_SAFE_INTEGER;
1182
+ return numberIsSafeInteger ? numberIsSafeInteger(value) : isInteger(value) && mathAbs(value) <= MAX_SAFE_INTEGER;
1174
1183
  }
1175
1184
 
1176
1185
  function isString(value) {
@@ -1193,7 +1202,7 @@
1193
1202
  if (precision === void 0) { precision = 0; }
1194
1203
  var func = Math[type];
1195
1204
  value = toNumber(value);
1196
- precision = Math.min(toInteger(precision), 292);
1205
+ precision = mathMin(toInteger(precision), 292);
1197
1206
  if (precision === 0 || !isFinite(value)) {
1198
1207
  return func(value);
1199
1208
  }
@@ -1302,7 +1311,7 @@
1302
1311
  number = toNumber(number);
1303
1312
  start = toNumber(start);
1304
1313
  end = toNumber(end);
1305
- return number >= Math.min(start, end) && number < Math.max(start, end);
1314
+ return number >= mathMin(start, end) && number < mathMax(start, end);
1306
1315
  }
1307
1316
 
1308
1317
  function random(lower, upper) {
@@ -1310,9 +1319,9 @@
1310
1319
  if (upper === void 0) { upper = 1; }
1311
1320
  lower = toFinite(lower);
1312
1321
  upper = toFinite(upper);
1313
- var min = Math.min(lower, upper);
1314
- var max = Math.max(lower, upper);
1315
- return min + Math.random() * (max - min);
1322
+ var min = mathMin(lower, upper);
1323
+ var max = mathMax(lower, upper);
1324
+ return min + mathRandom() * (max - min);
1316
1325
  }
1317
1326
 
1318
1327
  function getKeysIn(object) {
@@ -1605,7 +1614,7 @@
1605
1614
  return [];
1606
1615
  }
1607
1616
  var index = 0;
1608
- var length = Math.min(isInteger(n) ? n : Math.floor(isFinite(n) ? n : 0), MAX_ARRAY_LENGTH);
1617
+ var length = mathMin(isInteger(n) ? n : mathFloor(isFinite(n) ? n : 0), MAX_ARRAY_LENGTH);
1609
1618
  var result = Array(length);
1610
1619
  var func = typeof iteratee === 'function' ? iteratee : identity;
1611
1620
  while (index < length) {