ut2 1.17.0 → 1.18.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 CHANGED
@@ -94,6 +94,7 @@ const debounced = debounce(() => {
94
94
  - [curry](https://caijf.github.io/ut2/module-Function.html#.curry) - 柯里化函数。
95
95
  - [debounce](https://caijf.github.io/ut2/module-Function.html#.debounce) - 防抖函数。
96
96
  - [delay](https://caijf.github.io/ut2/module-Function.html#.delay) - 延迟触发。
97
+ - [limit](https://caijf.github.io/ut2/module-Function.html#.limit) - 限流函数。
97
98
  - [memoize](https://caijf.github.io/ut2/module-Function.html#.memoize) - 缓存函数结果。
98
99
  - [negate](https://caijf.github.io/ut2/module-Function.html#.negate) - 否定断言。
99
100
  - [once](https://caijf.github.io/ut2/module-Function.html#.once) - 只执行一次。
@@ -190,6 +191,7 @@ const debounced = debounce(() => {
190
191
  - [constant](https://caijf.github.io/ut2/module-Util.html#.constant) - 返回自身的函数。
191
192
  - [defaultTo](https://caijf.github.io/ut2/module-Util.html#.defaultTo) - 默认值。
192
193
  - [eq](https://caijf.github.io/ut2/module-Util.html#.eq) - 等于。
194
+ - [equalArrayLike](https://caijf.github.io/ut2/module-Util.html#.equalArrayLike) - 比较类数组。
193
195
  - [gt](https://caijf.github.io/ut2/module-Util.html#.gt) - 大于。
194
196
  - [gte](https://caijf.github.io/ut2/module-Util.html#.gte) - 大于等于。
195
197
  - [guard](https://caijf.github.io/ut2/module-Util.html#.guard) - 函数守卫。
package/dist/ut2.js CHANGED
@@ -607,7 +607,7 @@
607
607
  return value == null || value !== value ? defaultValue : value;
608
608
  };
609
609
 
610
- var VERSION = "1.17.0";
610
+ var VERSION = "1.18.1";
611
611
  var isBrowser = typeof window !== stringUndefined && isObjectLike(window) && typeof document !== stringUndefined && isObjectLike(document) && window.document === document;
612
612
  var supportedArgumentsType = getTag((function () { return arguments; })()) === argumentsTag;
613
613
  var FUNC_ERROR_TEXT = 'Expected a function';
@@ -784,21 +784,142 @@
784
784
  }, wait);
785
785
  }
786
786
 
787
- function argsEqual(newArgs, lastArgs) {
788
- if (newArgs.length !== lastArgs.length) {
789
- return false;
787
+ /******************************************************************************
788
+ Copyright (c) Microsoft Corporation.
789
+
790
+ Permission to use, copy, modify, and/or distribute this software for any
791
+ purpose with or without fee is hereby granted.
792
+
793
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
794
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
795
+ AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
796
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
797
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
798
+ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
799
+ PERFORMANCE OF THIS SOFTWARE.
800
+ ***************************************************************************** */
801
+ /* global Reflect, Promise, SuppressedError, Symbol, Iterator */
802
+
803
+
804
+ function __awaiter(thisArg, _arguments, P, generator) {
805
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
806
+ return new (P || (P = Promise))(function (resolve, reject) {
807
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
808
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
809
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
810
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
811
+ });
812
+ }
813
+
814
+ function __generator(thisArg, body) {
815
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
816
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
817
+ function verb(n) { return function (v) { return step([n, v]); }; }
818
+ function step(op) {
819
+ if (f) throw new TypeError("Generator is already executing.");
820
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
821
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
822
+ if (y = 0, t) op = [op[0] & 2, t.value];
823
+ switch (op[0]) {
824
+ case 0: case 1: t = op; break;
825
+ case 4: _.label++; return { value: op[1], done: false };
826
+ case 5: _.label++; y = op[1]; op = [0]; continue;
827
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
828
+ default:
829
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
830
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
831
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
832
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
833
+ if (t[2]) _.ops.pop();
834
+ _.trys.pop(); continue;
835
+ }
836
+ op = body.call(thisArg, _);
837
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
838
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
839
+ }
840
+ }
841
+
842
+ function __values(o) {
843
+ var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
844
+ if (m) return m.call(o);
845
+ if (o && typeof o.length === "number") return {
846
+ next: function () {
847
+ if (o && i >= o.length) o = void 0;
848
+ return { value: o && o[i++], done: !o };
849
+ }
850
+ };
851
+ throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
852
+ }
853
+
854
+ function __read(o, n) {
855
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
856
+ if (!m) return o;
857
+ var i = m.call(o), r, ar = [], e;
858
+ try {
859
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
860
+ }
861
+ catch (error) { e = { error: error }; }
862
+ finally {
863
+ try {
864
+ if (r && !r.done && (m = i["return"])) m.call(i);
865
+ }
866
+ finally { if (e) throw e.error; }
867
+ }
868
+ return ar;
869
+ }
870
+
871
+ function __spreadArray(to, from, pack) {
872
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
873
+ if (ar || !(i in from)) {
874
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
875
+ ar[i] = from[i];
876
+ }
877
+ }
878
+ return to.concat(ar || Array.prototype.slice.call(from));
879
+ }
880
+
881
+ typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
882
+ var e = new Error(message);
883
+ return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
884
+ };
885
+
886
+ function limit(fn, timespan) {
887
+ var pending = false;
888
+ function limited() {
889
+ var args = [];
890
+ for (var _i = 0; _i < arguments.length; _i++) {
891
+ args[_i] = arguments[_i];
892
+ }
893
+ if (pending)
894
+ return;
895
+ pending = true;
896
+ fn.apply(void 0, __spreadArray([], __read(args), false));
897
+ setTimeout(function () {
898
+ pending = false;
899
+ }, timespan);
790
900
  }
791
- for (var i = 0, len = newArgs.length; i < len; i++) {
792
- if (!eq(newArgs[i], lastArgs[i])) {
901
+ return limited;
902
+ }
903
+
904
+ function equalArrayLike(arg1, arg2, strictCheck) {
905
+ if (strictCheck === void 0) { strictCheck = true; }
906
+ if (eq(arg1, arg2, strictCheck))
907
+ return true;
908
+ if (!isArrayLike(arg1) || !isArrayLike(arg2))
909
+ return false;
910
+ if (arg1.length !== arg2.length)
911
+ return false;
912
+ for (var i = 0; i < arg1.length; i++) {
913
+ if (!eq(arg1[i], arg2[i], strictCheck))
793
914
  return false;
794
- }
795
915
  }
796
916
  return true;
797
917
  }
918
+
798
919
  function memoize(func, options) {
799
920
  var opts = options || {};
800
921
  var max = mathCeil(opts.max || 0);
801
- var isEqual = typeof opts.isEqual === 'function' ? opts.isEqual : argsEqual;
922
+ var isEqual = typeof opts.isEqual === 'function' ? opts.isEqual : equalArrayLike;
802
923
  var cache = [];
803
924
  function memoized() {
804
925
  var _this = this;
@@ -1474,105 +1595,6 @@
1474
1595
  return getKeysIn(object).concat(getSymbolsIn(object));
1475
1596
  }
1476
1597
 
1477
- /******************************************************************************
1478
- Copyright (c) Microsoft Corporation.
1479
-
1480
- Permission to use, copy, modify, and/or distribute this software for any
1481
- purpose with or without fee is hereby granted.
1482
-
1483
- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
1484
- REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
1485
- AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
1486
- INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
1487
- LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
1488
- OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
1489
- PERFORMANCE OF THIS SOFTWARE.
1490
- ***************************************************************************** */
1491
- /* global Reflect, Promise, SuppressedError, Symbol, Iterator */
1492
-
1493
-
1494
- function __awaiter(thisArg, _arguments, P, generator) {
1495
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
1496
- return new (P || (P = Promise))(function (resolve, reject) {
1497
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
1498
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
1499
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
1500
- step((generator = generator.apply(thisArg, _arguments || [])).next());
1501
- });
1502
- }
1503
-
1504
- function __generator(thisArg, body) {
1505
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
1506
- return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
1507
- function verb(n) { return function (v) { return step([n, v]); }; }
1508
- function step(op) {
1509
- if (f) throw new TypeError("Generator is already executing.");
1510
- while (g && (g = 0, op[0] && (_ = 0)), _) try {
1511
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
1512
- if (y = 0, t) op = [op[0] & 2, t.value];
1513
- switch (op[0]) {
1514
- case 0: case 1: t = op; break;
1515
- case 4: _.label++; return { value: op[1], done: false };
1516
- case 5: _.label++; y = op[1]; op = [0]; continue;
1517
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
1518
- default:
1519
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
1520
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
1521
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
1522
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
1523
- if (t[2]) _.ops.pop();
1524
- _.trys.pop(); continue;
1525
- }
1526
- op = body.call(thisArg, _);
1527
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
1528
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
1529
- }
1530
- }
1531
-
1532
- function __values(o) {
1533
- var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
1534
- if (m) return m.call(o);
1535
- if (o && typeof o.length === "number") return {
1536
- next: function () {
1537
- if (o && i >= o.length) o = void 0;
1538
- return { value: o && o[i++], done: !o };
1539
- }
1540
- };
1541
- throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
1542
- }
1543
-
1544
- function __read(o, n) {
1545
- var m = typeof Symbol === "function" && o[Symbol.iterator];
1546
- if (!m) return o;
1547
- var i = m.call(o), r, ar = [], e;
1548
- try {
1549
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
1550
- }
1551
- catch (error) { e = { error: error }; }
1552
- finally {
1553
- try {
1554
- if (r && !r.done && (m = i["return"])) m.call(i);
1555
- }
1556
- finally { if (e) throw e.error; }
1557
- }
1558
- return ar;
1559
- }
1560
-
1561
- function __spreadArray(to, from, pack) {
1562
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
1563
- if (ar || !(i in from)) {
1564
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
1565
- ar[i] = from[i];
1566
- }
1567
- }
1568
- return to.concat(ar || Array.prototype.slice.call(from));
1569
- }
1570
-
1571
- typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
1572
- var e = new Error(message);
1573
- return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
1574
- };
1575
-
1576
1598
  var findKey = function (obj, predicate) {
1577
1599
  var e_1, _a;
1578
1600
  if (predicate === void 0) { predicate = stubFlase; }
@@ -2198,6 +2220,7 @@
2198
2220
  exports.delay = delay;
2199
2221
  exports.difference = difference;
2200
2222
  exports.eq = eq;
2223
+ exports.equalArrayLike = equalArrayLike;
2201
2224
  exports.escape = escape;
2202
2225
  exports.escapeRegExp = escapeRegExp;
2203
2226
  exports.every = every;
@@ -2263,6 +2286,7 @@
2263
2286
  exports.keyBy = keyBy;
2264
2287
  exports.keys = keys;
2265
2288
  exports.keysIn = keysIn;
2289
+ exports.limit = limit;
2266
2290
  exports.list = list;
2267
2291
  exports.lowerCase = lowerCase;
2268
2292
  exports.lowerFirst = lowerFirst;