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 +2 -0
- package/dist/ut2.js +131 -107
- package/dist/ut2.js.map +1 -1
- package/dist/ut2.min.js +1 -1
- package/dist/ut2.min.js.map +1 -1
- package/es/equalArrayLike.js +19 -0
- package/es/index.js +2 -0
- package/es/internals/helpers.js +1 -1
- package/es/limit.js +21 -0
- package/es/memoize.js +2 -13
- package/lib/equalArrayLike.js +21 -0
- package/lib/index.js +4 -0
- package/lib/internals/helpers.js +1 -1
- package/lib/limit.js +23 -0
- package/lib/memoize.js +2 -13
- package/package.json +1 -1
- package/types/equalArrayLike.d.ts +37 -0
- package/types/index.d.ts +2 -0
- package/types/limit.d.ts +28 -0
- package/types/memoize.d.ts +1 -1
- package/types/uniqueId.d.ts +5 -1
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.
|
|
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
|
-
|
|
788
|
-
|
|
789
|
-
|
|
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
|
-
|
|
792
|
-
|
|
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 :
|
|
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;
|