ut2 1.12.0 → 1.14.0
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 +5 -1
- package/dist/ut2.js +230 -15
- package/dist/ut2.js.map +1 -1
- package/dist/ut2.min.js +1 -1
- package/dist/ut2.min.js.map +1 -1
- package/es/findKey.js +40 -0
- package/es/guard.js +19 -0
- package/es/index.js +5 -1
- package/es/internals/helpers.js +1 -1
- package/es/retry.js +43 -0
- package/es/tryit.js +30 -0
- package/lib/findKey.js +42 -0
- package/lib/guard.js +21 -0
- package/lib/index.js +10 -2
- package/lib/internals/helpers.js +1 -1
- package/lib/retry.js +45 -0
- package/lib/tryit.js +32 -0
- package/package.json +4 -2
- package/types/after.d.ts +0 -1
- package/types/allKeys.d.ts +2 -1
- package/types/allKeysIn.d.ts +2 -1
- package/types/before.d.ts +0 -1
- package/types/camelCase.d.ts +1 -2
- package/types/capitalize.d.ts +0 -1
- package/types/castArray.d.ts +0 -1
- package/types/ceil.d.ts +1 -2
- package/types/chunk.d.ts +0 -1
- package/types/compact.d.ts +1 -2
- package/types/constant.d.ts +0 -1
- package/types/debounce.d.ts +0 -1
- package/types/delay.d.ts +0 -1
- package/types/difference.d.ts +0 -1
- package/types/eq.d.ts +1 -2
- package/types/escape.d.ts +1 -2
- package/types/escapeRegExp.d.ts +1 -2
- package/types/filter.d.ts +0 -1
- package/types/findKey.d.ts +24 -0
- package/types/floor.d.ts +1 -2
- package/types/fromPairs.d.ts +0 -1
- package/types/groupBy.d.ts +0 -1
- package/types/guard.d.ts +22 -0
- package/types/identity.d.ts +0 -1
- package/types/inRange.d.ts +0 -1
- package/types/index.d.ts +5 -1
- package/types/internals/helpers.d.ts +2 -6
- package/types/internals/native.d.ts +6 -12
- package/types/internals/root.d.ts +2 -3
- package/types/internals/types.d.ts +7 -0
- package/types/intersection.d.ts +0 -1
- package/types/invert.d.ts +1 -2
- package/types/isArguments.d.ts +0 -1
- package/types/isArray.d.ts +0 -1
- package/types/isArrayBuffer.d.ts +0 -1
- package/types/isArrayLike.d.ts +0 -1
- package/types/isArrayLikeObject.d.ts +0 -1
- package/types/isBigInt.d.ts +0 -1
- package/types/isBlob.d.ts +2 -3
- package/types/isBoolean.d.ts +0 -1
- package/types/isBuffer.d.ts +0 -1
- package/types/isDataView.d.ts +0 -1
- package/types/isDate.d.ts +0 -1
- package/types/isElement.d.ts +0 -1
- package/types/isEmpty.d.ts +0 -1
- package/types/isEqual.d.ts +0 -1
- package/types/isError.d.ts +0 -1
- package/types/isFile.d.ts +1 -2
- package/types/isFinite.d.ts +0 -1
- package/types/isFunction.d.ts +0 -1
- package/types/isInteger.d.ts +0 -1
- package/types/isLength.d.ts +1 -2
- package/types/isMap.d.ts +0 -1
- package/types/isMatch.d.ts +0 -1
- package/types/isNaN.d.ts +0 -1
- package/types/isNil.d.ts +0 -1
- package/types/isNull.d.ts +0 -1
- package/types/isNumber.d.ts +0 -1
- package/types/isObject.d.ts +1 -2
- package/types/isObjectLike.d.ts +0 -1
- package/types/isPlainObject.d.ts +0 -1
- package/types/isPromiseLike.d.ts +0 -1
- package/types/isRegExp.d.ts +0 -1
- package/types/isSafeInteger.d.ts +0 -1
- package/types/isSet.d.ts +0 -1
- package/types/isString.d.ts +0 -1
- package/types/isSymbol.d.ts +0 -1
- package/types/isTypedArray.d.ts +1 -2
- package/types/isUndefined.d.ts +0 -1
- package/types/isWeakMap.d.ts +0 -1
- package/types/isWeakSet.d.ts +0 -1
- package/types/isWindow.d.ts +0 -1
- package/types/kebabCase.d.ts +1 -2
- package/types/keys.d.ts +0 -1
- package/types/keysIn.d.ts +0 -1
- package/types/lowerCase.d.ts +0 -1
- package/types/map.d.ts +0 -1
- package/types/merge.d.ts +0 -1
- package/types/min.d.ts +0 -1
- package/types/move.d.ts +1 -2
- package/types/negate.d.ts +0 -1
- package/types/noop.d.ts +0 -1
- package/types/nth.d.ts +0 -1
- package/types/nthArg.d.ts +0 -1
- package/types/omit.d.ts +0 -1
- package/types/omitBy.d.ts +1 -2
- package/types/once.d.ts +0 -1
- package/types/orderBy.d.ts +1 -1
- package/types/partition.d.ts +2 -3
- package/types/pascalCase.d.ts +1 -2
- package/types/pick.d.ts +0 -1
- package/types/pickBy.d.ts +1 -2
- package/types/random.d.ts +0 -1
- package/types/randomInt.d.ts +0 -1
- package/types/retry.d.ts +31 -0
- package/types/round.d.ts +1 -2
- package/types/shuffle.d.ts +0 -1
- package/types/sleep.d.ts +0 -1
- package/types/snakeCase.d.ts +1 -2
- package/types/throttle.d.ts +0 -1
- package/types/toFinite.d.ts +0 -1
- package/types/toInteger.d.ts +0 -1
- package/types/toLength.d.ts +1 -2
- package/types/toNumber.d.ts +0 -1
- package/types/toSafeInteger.d.ts +0 -1
- package/types/toString.d.ts +0 -1
- package/types/tryit.d.ts +31 -0
- package/types/unescape.d.ts +0 -1
- package/types/union.d.ts +0 -1
- package/types/uniq.d.ts +0 -1
- package/types/uniqueId.d.ts +0 -1
- package/types/unzip.d.ts +0 -1
- package/types/upperCase.d.ts +0 -1
- package/types/words.d.ts +1 -2
- package/types/xor.d.ts +0 -1
- package/types/zip.d.ts +0 -1
package/README.md
CHANGED
|
@@ -154,6 +154,7 @@ const debounced = debounce(() => {
|
|
|
154
154
|
- [Object](https://caijf.github.io/ut2/module-Object.html) 对象
|
|
155
155
|
- [allKeys](https://caijf.github.io/ut2/module-Object.html#.allKeys) - 对象自身的可枚举属性(包含 `Symbol` 属性)。
|
|
156
156
|
- [allKeysIn](https://caijf.github.io/ut2/module-Object.html#.allKeysIn) - 对象自身及继承的可枚举属性(包含 `Symbol` 属性)。
|
|
157
|
+
- [findKey](https://caijf.github.io/ut2/module-Object.html#.findKey) - 查找对象的键。
|
|
157
158
|
- [invert](https://caijf.github.io/ut2/module-Object.html#.invert) - 对象自身的可枚举属性(包含 `Symbol` 属性)和值反转。
|
|
158
159
|
- [keys](https://caijf.github.io/ut2/module-Object.html#.keys) - 对象自身的可枚举属性(不包含 `Symbol` 属性)。
|
|
159
160
|
- [keysIn](https://caijf.github.io/ut2/module-Object.html#.keysIn) - 对象自身及继承的可枚举属性(不包含 `Symbol` 属性)。
|
|
@@ -184,7 +185,8 @@ const debounced = debounce(() => {
|
|
|
184
185
|
- [defaultTo](https://caijf.github.io/ut2/module-Util.html#.defaultTo) - 默认值。
|
|
185
186
|
- [eq](https://caijf.github.io/ut2/module-Util.html#.eq) - 等于。
|
|
186
187
|
- [gt](https://caijf.github.io/ut2/module-Util.html#.gt) - 大于。
|
|
187
|
-
- [gte](https://caijf.github.io/ut2/module-Util.html#.gte) -
|
|
188
|
+
- [gte](https://caijf.github.io/ut2/module-Util.html#.gte) - 大于等于。
|
|
189
|
+
- [guard](https://caijf.github.io/ut2/module-Util.html#.guard) - 函数守卫。
|
|
188
190
|
- [identity](https://caijf.github.io/ut2/module-Util.html#.identity) - 返回第一个参数的函数。
|
|
189
191
|
- [list](https://caijf.github.io/ut2/module-Util.html#.list) - 迭代执行次数。
|
|
190
192
|
- [lt](https://caijf.github.io/ut2/module-Util.html#.lt) - 小于。
|
|
@@ -192,6 +194,7 @@ const debounced = debounce(() => {
|
|
|
192
194
|
- [noop](https://caijf.github.io/ut2/module-Util.html#.noop) - 空函数。
|
|
193
195
|
- [nthArg](https://caijf.github.io/ut2/module-Util.html#.nthArg) - 返回指定位置参数的函数。
|
|
194
196
|
- [range](https://caijf.github.io/ut2/module-Util.html#.range) - 创建升序或降序的数字数组。
|
|
197
|
+
- [retry](https://caijf.github.io/ut2/module-Util.html#.retry) - 异步函数错误重试。
|
|
195
198
|
- [sleep](https://caijf.github.io/ut2/module-Util.html#.sleep) - 返回 `promise` 延迟。
|
|
196
199
|
- [toFinite](https://caijf.github.io/ut2/module-Util.html#.toFinite) - 转为有限数字。
|
|
197
200
|
- [toInteger](https://caijf.github.io/ut2/module-Util.html#.toInteger) - 转为整数。
|
|
@@ -199,6 +202,7 @@ const debounced = debounce(() => {
|
|
|
199
202
|
- [toNumber](https://caijf.github.io/ut2/module-Util.html#.toNumber) - 转为数字。
|
|
200
203
|
- [toSafeInteger](https://caijf.github.io/ut2/module-Util.html#.toSafeInteger) - 转为安全整数。
|
|
201
204
|
- [toString](https://caijf.github.io/ut2/module-Util.html#.toString) - 转为字符串。
|
|
205
|
+
- [tryit](https://caijf.github.io/ut2/module-Util.html#.tryit) - 包装函数为错误优先函数。
|
|
202
206
|
- [uniqueId](https://caijf.github.io/ut2/module-Util.html#.uniqueId) - 唯一 ID。
|
|
203
207
|
- [GLOBAL](https://caijf.github.io/ut2/global.html) 其他导出的成员
|
|
204
208
|
- [MAX_ARRAY_LENGTH](https://caijf.github.io/ut2/global.html#MAX_ARRAY_LENGTH) - 最大数组长度。
|
package/dist/ut2.js
CHANGED
|
@@ -606,7 +606,7 @@
|
|
|
606
606
|
return value == null || value !== value ? defaultValue : value;
|
|
607
607
|
};
|
|
608
608
|
|
|
609
|
-
var VERSION = "1.
|
|
609
|
+
var VERSION = "1.14.0";
|
|
610
610
|
var isBrowser = typeof window !== stringUndefined && isObjectLike(window) && typeof document !== stringUndefined && isObjectLike(document) && window.document === document;
|
|
611
611
|
var supportedArgumentsType = getTag((function () { return arguments; })()) === argumentsTag;
|
|
612
612
|
var FUNC_ERROR_TEXT = 'Expected a function';
|
|
@@ -1430,6 +1430,138 @@
|
|
|
1430
1430
|
return getKeysIn(object).concat(getSymbolsIn(object));
|
|
1431
1431
|
}
|
|
1432
1432
|
|
|
1433
|
+
/******************************************************************************
|
|
1434
|
+
Copyright (c) Microsoft Corporation.
|
|
1435
|
+
|
|
1436
|
+
Permission to use, copy, modify, and/or distribute this software for any
|
|
1437
|
+
purpose with or without fee is hereby granted.
|
|
1438
|
+
|
|
1439
|
+
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
|
1440
|
+
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
|
1441
|
+
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
|
1442
|
+
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
|
1443
|
+
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
1444
|
+
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
1445
|
+
PERFORMANCE OF THIS SOFTWARE.
|
|
1446
|
+
***************************************************************************** */
|
|
1447
|
+
/* global Reflect, Promise, SuppressedError, Symbol, Iterator */
|
|
1448
|
+
|
|
1449
|
+
|
|
1450
|
+
function __awaiter(thisArg, _arguments, P, generator) {
|
|
1451
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
1452
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
1453
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
1454
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
1455
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
1456
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
1457
|
+
});
|
|
1458
|
+
}
|
|
1459
|
+
|
|
1460
|
+
function __generator(thisArg, body) {
|
|
1461
|
+
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);
|
|
1462
|
+
return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
1463
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
1464
|
+
function step(op) {
|
|
1465
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
1466
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
1467
|
+
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;
|
|
1468
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
1469
|
+
switch (op[0]) {
|
|
1470
|
+
case 0: case 1: t = op; break;
|
|
1471
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
1472
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
1473
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
1474
|
+
default:
|
|
1475
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
1476
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
1477
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
1478
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
1479
|
+
if (t[2]) _.ops.pop();
|
|
1480
|
+
_.trys.pop(); continue;
|
|
1481
|
+
}
|
|
1482
|
+
op = body.call(thisArg, _);
|
|
1483
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
1484
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
1485
|
+
}
|
|
1486
|
+
}
|
|
1487
|
+
|
|
1488
|
+
function __values(o) {
|
|
1489
|
+
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
|
|
1490
|
+
if (m) return m.call(o);
|
|
1491
|
+
if (o && typeof o.length === "number") return {
|
|
1492
|
+
next: function () {
|
|
1493
|
+
if (o && i >= o.length) o = void 0;
|
|
1494
|
+
return { value: o && o[i++], done: !o };
|
|
1495
|
+
}
|
|
1496
|
+
};
|
|
1497
|
+
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
|
|
1498
|
+
}
|
|
1499
|
+
|
|
1500
|
+
function __read(o, n) {
|
|
1501
|
+
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
1502
|
+
if (!m) return o;
|
|
1503
|
+
var i = m.call(o), r, ar = [], e;
|
|
1504
|
+
try {
|
|
1505
|
+
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
1506
|
+
}
|
|
1507
|
+
catch (error) { e = { error: error }; }
|
|
1508
|
+
finally {
|
|
1509
|
+
try {
|
|
1510
|
+
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
1511
|
+
}
|
|
1512
|
+
finally { if (e) throw e.error; }
|
|
1513
|
+
}
|
|
1514
|
+
return ar;
|
|
1515
|
+
}
|
|
1516
|
+
|
|
1517
|
+
function __spreadArray(to, from, pack) {
|
|
1518
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
1519
|
+
if (ar || !(i in from)) {
|
|
1520
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
1521
|
+
ar[i] = from[i];
|
|
1522
|
+
}
|
|
1523
|
+
}
|
|
1524
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
1525
|
+
}
|
|
1526
|
+
|
|
1527
|
+
typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
|
|
1528
|
+
var e = new Error(message);
|
|
1529
|
+
return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
|
|
1530
|
+
};
|
|
1531
|
+
|
|
1532
|
+
var findKey = function (obj, predicate) {
|
|
1533
|
+
var e_1, _a;
|
|
1534
|
+
if (predicate === void 0) { predicate = stubFlase; }
|
|
1535
|
+
var key;
|
|
1536
|
+
if (isMap(obj)) {
|
|
1537
|
+
try {
|
|
1538
|
+
for (var obj_1 = __values(obj), obj_1_1 = obj_1.next(); !obj_1_1.done; obj_1_1 = obj_1.next()) {
|
|
1539
|
+
var _b = __read(obj_1_1.value, 2), k = _b[0], v = _b[1];
|
|
1540
|
+
if (predicate(v, k)) {
|
|
1541
|
+
key = k;
|
|
1542
|
+
break;
|
|
1543
|
+
}
|
|
1544
|
+
}
|
|
1545
|
+
}
|
|
1546
|
+
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
1547
|
+
finally {
|
|
1548
|
+
try {
|
|
1549
|
+
if (obj_1_1 && !obj_1_1.done && (_a = obj_1.return)) _a.call(obj_1);
|
|
1550
|
+
}
|
|
1551
|
+
finally { if (e_1) throw e_1.error; }
|
|
1552
|
+
}
|
|
1553
|
+
}
|
|
1554
|
+
else if (isObject(obj)) {
|
|
1555
|
+
forEach(obj, function (v, k) {
|
|
1556
|
+
if (predicate(v, k)) {
|
|
1557
|
+
key = k;
|
|
1558
|
+
return false;
|
|
1559
|
+
}
|
|
1560
|
+
});
|
|
1561
|
+
}
|
|
1562
|
+
return key;
|
|
1563
|
+
};
|
|
1564
|
+
|
|
1433
1565
|
function invert(object, predicate) {
|
|
1434
1566
|
if (predicate === void 0) { predicate = stubTrue; }
|
|
1435
1567
|
var _keys = allKeys(object);
|
|
@@ -1697,6 +1829,38 @@
|
|
|
1697
1829
|
|
|
1698
1830
|
var gte = createOperation(baseGte);
|
|
1699
1831
|
|
|
1832
|
+
var guard = function (fn, shouldGuard) {
|
|
1833
|
+
var _guard = function (err) {
|
|
1834
|
+
if (shouldGuard && !shouldGuard(err)) {
|
|
1835
|
+
throw err;
|
|
1836
|
+
}
|
|
1837
|
+
return undefined;
|
|
1838
|
+
};
|
|
1839
|
+
try {
|
|
1840
|
+
var result = fn();
|
|
1841
|
+
return isPromiseLike(result) ? result.catch(_guard) : result;
|
|
1842
|
+
}
|
|
1843
|
+
catch (err) {
|
|
1844
|
+
return _guard(err);
|
|
1845
|
+
}
|
|
1846
|
+
};
|
|
1847
|
+
|
|
1848
|
+
var list = function (n, iteratee) {
|
|
1849
|
+
if (iteratee === void 0) { iteratee = identity; }
|
|
1850
|
+
if (n < 1 || n > MAX_SAFE_INTEGER) {
|
|
1851
|
+
return [];
|
|
1852
|
+
}
|
|
1853
|
+
var index = 0;
|
|
1854
|
+
var length = mathMin(isInteger(n) ? n : mathFloor(isFinite(n) ? n : 0), MAX_ARRAY_LENGTH);
|
|
1855
|
+
var result = Array(length);
|
|
1856
|
+
var func = typeof iteratee === 'function' ? iteratee : identity;
|
|
1857
|
+
while (index < length) {
|
|
1858
|
+
result[index] = func(index);
|
|
1859
|
+
index++;
|
|
1860
|
+
}
|
|
1861
|
+
return result;
|
|
1862
|
+
};
|
|
1863
|
+
|
|
1700
1864
|
var lt = createOperation(baseLt);
|
|
1701
1865
|
|
|
1702
1866
|
var lte = createOperation(baseLte);
|
|
@@ -1744,22 +1908,69 @@
|
|
|
1744
1908
|
});
|
|
1745
1909
|
}
|
|
1746
1910
|
|
|
1747
|
-
var
|
|
1748
|
-
|
|
1749
|
-
|
|
1750
|
-
|
|
1751
|
-
|
|
1752
|
-
|
|
1753
|
-
|
|
1754
|
-
|
|
1755
|
-
|
|
1756
|
-
|
|
1757
|
-
|
|
1758
|
-
|
|
1759
|
-
|
|
1760
|
-
|
|
1911
|
+
var tryit = function (fn) {
|
|
1912
|
+
return function () {
|
|
1913
|
+
var args = [];
|
|
1914
|
+
for (var _i = 0; _i < arguments.length; _i++) {
|
|
1915
|
+
args[_i] = arguments[_i];
|
|
1916
|
+
}
|
|
1917
|
+
try {
|
|
1918
|
+
var result = fn.apply(void 0, __spreadArray([], __read(args), false));
|
|
1919
|
+
if (isPromiseLike(result)) {
|
|
1920
|
+
return result
|
|
1921
|
+
.then(function (res) {
|
|
1922
|
+
return [null, res];
|
|
1923
|
+
})
|
|
1924
|
+
.catch(function (err) {
|
|
1925
|
+
return [err, nativeUndefined];
|
|
1926
|
+
});
|
|
1927
|
+
}
|
|
1928
|
+
return [null, result];
|
|
1929
|
+
}
|
|
1930
|
+
catch (err) {
|
|
1931
|
+
return [err, nativeUndefined];
|
|
1932
|
+
}
|
|
1933
|
+
};
|
|
1761
1934
|
};
|
|
1762
1935
|
|
|
1936
|
+
function retry(fn, options) {
|
|
1937
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
1938
|
+
var _a, _b, times, delay, backoff, exit, i, _c, err, result;
|
|
1939
|
+
return __generator(this, function (_d) {
|
|
1940
|
+
switch (_d.label) {
|
|
1941
|
+
case 0:
|
|
1942
|
+
_a = options || {}, _b = _a.times, times = _b === void 0 ? 3 : _b, delay = _a.delay, backoff = _a.backoff, exit = _a.exit;
|
|
1943
|
+
i = 1;
|
|
1944
|
+
_d.label = 1;
|
|
1945
|
+
case 1:
|
|
1946
|
+
if (!(i <= times)) return [3, 7];
|
|
1947
|
+
return [4, tryit(fn)()];
|
|
1948
|
+
case 2:
|
|
1949
|
+
_c = __read.apply(void 0, [_d.sent(), 2]), err = _c[0], result = _c[1];
|
|
1950
|
+
if (!err)
|
|
1951
|
+
return [2, result];
|
|
1952
|
+
if ((exit && exit(err, i)) || i === times)
|
|
1953
|
+
throw err;
|
|
1954
|
+
if (!delay) return [3, 4];
|
|
1955
|
+
return [4, sleep(delay)];
|
|
1956
|
+
case 3:
|
|
1957
|
+
_d.sent();
|
|
1958
|
+
_d.label = 4;
|
|
1959
|
+
case 4:
|
|
1960
|
+
if (!backoff) return [3, 6];
|
|
1961
|
+
return [4, sleep(backoff(i))];
|
|
1962
|
+
case 5:
|
|
1963
|
+
_d.sent();
|
|
1964
|
+
_d.label = 6;
|
|
1965
|
+
case 6:
|
|
1966
|
+
i++;
|
|
1967
|
+
return [3, 1];
|
|
1968
|
+
case 7: return [2];
|
|
1969
|
+
}
|
|
1970
|
+
});
|
|
1971
|
+
});
|
|
1972
|
+
}
|
|
1973
|
+
|
|
1763
1974
|
var times = list;
|
|
1764
1975
|
|
|
1765
1976
|
function toSafeInteger(value) {
|
|
@@ -1813,6 +2024,7 @@
|
|
|
1813
2024
|
exports.every = every;
|
|
1814
2025
|
exports.filter = filter;
|
|
1815
2026
|
exports.find = find;
|
|
2027
|
+
exports.findKey = findKey;
|
|
1816
2028
|
exports.floor = floor;
|
|
1817
2029
|
exports.forEach = forEach;
|
|
1818
2030
|
exports.forEachRight = forEachRight;
|
|
@@ -1820,6 +2032,7 @@
|
|
|
1820
2032
|
exports.groupBy = groupBy;
|
|
1821
2033
|
exports.gt = gt;
|
|
1822
2034
|
exports.gte = gte;
|
|
2035
|
+
exports.guard = guard;
|
|
1823
2036
|
exports.identity = identity;
|
|
1824
2037
|
exports.inRange = inRange;
|
|
1825
2038
|
exports.intersection = intersection;
|
|
@@ -1897,6 +2110,7 @@
|
|
|
1897
2110
|
exports.range = range;
|
|
1898
2111
|
exports.reduce = reduce;
|
|
1899
2112
|
exports.reduceRight = reduceRight;
|
|
2113
|
+
exports.retry = retry;
|
|
1900
2114
|
exports.root = root;
|
|
1901
2115
|
exports.round = round;
|
|
1902
2116
|
exports.shuffle = shuffle;
|
|
@@ -1911,6 +2125,7 @@
|
|
|
1911
2125
|
exports.toNumber = toNumber;
|
|
1912
2126
|
exports.toSafeInteger = toSafeInteger;
|
|
1913
2127
|
exports.toString = toString;
|
|
2128
|
+
exports.tryit = tryit;
|
|
1914
2129
|
exports.unescape = unescape;
|
|
1915
2130
|
exports.union = union;
|
|
1916
2131
|
exports.uniq = uniq;
|