@infra-blocks/retry 0.5.0 → 0.5.1-alpha.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/lib/cjs/index.js +9 -6
- package/lib/cjs/index.js.map +1 -1
- package/lib/esm/index.js +4 -6
- package/lib/esm/index.js.map +1 -1
- package/package.json +4 -4
package/lib/cjs/index.js
CHANGED
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
|
|
6
|
+
exports.DEFAULT_RETRY_CONFIG = void 0;
|
|
7
|
+
exports.retry = retry;
|
|
5
8
|
const emitter_1 = require("@infra-blocks/emitter");
|
|
9
|
+
const promise_retry_1 = __importDefault(require("promise-retry"));
|
|
6
10
|
/**
|
|
7
11
|
* Default retry configuration.
|
|
8
12
|
*
|
|
@@ -20,11 +24,11 @@ exports.DEFAULT_RETRY_CONFIG = {
|
|
|
20
24
|
maxIntervalMs: Number.POSITIVE_INFINITY,
|
|
21
25
|
isRetryableError: () => true,
|
|
22
26
|
};
|
|
23
|
-
class RetryImpl extends emitter_1.
|
|
27
|
+
class RetryImpl extends emitter_1.IgnoringEachEmitterLikeBase {
|
|
24
28
|
promise;
|
|
25
29
|
retryConfig;
|
|
26
30
|
constructor(fn, options) {
|
|
27
|
-
super(
|
|
31
|
+
super();
|
|
28
32
|
this.retryConfig = { ...exports.DEFAULT_RETRY_CONFIG, ...options };
|
|
29
33
|
const wrapper = (attempt) => {
|
|
30
34
|
this.emit("attempt", {
|
|
@@ -56,7 +60,6 @@ class RetryImpl extends emitter_1.EmitterLikeBase {
|
|
|
56
60
|
function retry(fn, options) {
|
|
57
61
|
return new RetryImpl(fn, options);
|
|
58
62
|
}
|
|
59
|
-
exports.retry = retry;
|
|
60
63
|
/**
|
|
61
64
|
* The wraps a function into a retry promise.
|
|
62
65
|
*
|
|
@@ -71,7 +74,7 @@ exports.retry = retry;
|
|
|
71
74
|
*/
|
|
72
75
|
async function retryPromise(fn, options) {
|
|
73
76
|
const { retries = exports.DEFAULT_RETRY_CONFIG.retries, factor = exports.DEFAULT_RETRY_CONFIG.factor, minIntervalMs = exports.DEFAULT_RETRY_CONFIG.minIntervalMs, maxIntervalMs = exports.DEFAULT_RETRY_CONFIG.maxIntervalMs, isRetryableError = exports.DEFAULT_RETRY_CONFIG.isRetryableError, } = options ?? {};
|
|
74
|
-
return await
|
|
77
|
+
return await (0, promise_retry_1.default)({ retries, factor, minTimeout: minIntervalMs, maxTimeout: maxIntervalMs }, async (retryInner, attempt) => {
|
|
75
78
|
try {
|
|
76
79
|
return await fn(attempt);
|
|
77
80
|
}
|
package/lib/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;AAgKA,sBAKC;AArKD,mDAG+B;AAE/B,kEAAyC;AAEzC;;;;;;;;;GASG;AACU,QAAA,oBAAoB,GAAmC;IAClE,OAAO,EAAE,EAAE;IACX,MAAM,EAAE,CAAC;IACT,aAAa,EAAE,IAAI;IACnB,aAAa,EAAE,MAAM,CAAC,iBAAiB;IACvC,gBAAgB,EAAE,GAAY,EAAE,CAAC,IAAI;CACtC,CAAC;AAwFF,MAAM,SACJ,SAAQ,qCAA2C;IAGhC,OAAO,CAAiB;IACxB,WAAW,CAA2B;IAEzD,YAAY,EAAoB,EAAE,OAAwB;QACxD,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,WAAW,GAAG,EAAE,GAAG,4BAAoB,EAAE,GAAG,OAAO,EAAE,CAAC;QAE3D,MAAM,OAAO,GAAG,CAAC,OAAe,EAAE,EAAE;YAClC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;gBACnB,OAAO;gBACP,WAAW,EAAE,EAAE,GAAG,IAAI,CAAC,WAAW,EAAE;aACrC,CAAC,CAAC;YACH,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;gBAChB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;oBACjB,KAAK,EAAE,OAAO,GAAG,CAAC;oBAClB,WAAW,EAAE,EAAE,GAAG,IAAI,CAAC,WAAW,EAAE;iBACrC,CAAC,CAAC;YACL,CAAC;YACD,OAAO,EAAE,EAAE,CAAC;QACd,CAAC,CAAC;QACF,IAAI,CAAC,OAAO,GAAG,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IACzD,CAAC;IAED,IAAI,CACF,WAGQ,EACR,UAGQ;QAER,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;IACpD,CAAC;CACF;AAED;;;;;;;GAOG;AACH,SAAgB,KAAK,CACnB,EAAoB,EACpB,OAAwB;IAExB,OAAO,IAAI,SAAS,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;AACpC,CAAC;AAED;;;;;;;;;;;GAWG;AACH,KAAK,UAAU,YAAY,CACzB,EAAmC,EACnC,OAAwB;IAExB,MAAM,EACJ,OAAO,GAAG,4BAAoB,CAAC,OAAO,EACtC,MAAM,GAAG,4BAAoB,CAAC,MAAM,EACpC,aAAa,GAAG,4BAAoB,CAAC,aAAa,EAClD,aAAa,GAAG,4BAAoB,CAAC,aAAa,EAClD,gBAAgB,GAAG,4BAAoB,CAAC,gBAAgB,GACzD,GAAG,OAAO,IAAI,EAAE,CAAC;IAElB,OAAO,MAAM,IAAA,uBAAY,EACvB,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,aAAa,EAAE,UAAU,EAAE,aAAa,EAAE,EACzE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,EAAE;QAC5B,IAAI,CAAC;YACH,OAAO,MAAM,EAAE,CAAC,OAAO,CAAC,CAAC;QAC3B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,gBAAgB,CAAC,GAAQ,CAAC,EAAE,CAAC;gBAC/B,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC;YACzB,CAAC;YACD,MAAM,GAAG,CAAC;QACZ,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
|
package/lib/esm/index.js
CHANGED
|
@@ -1,7 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
const promiseRetry = __require("promise-retry");
|
|
4
|
-
import { Emitter, EmitterLikeBase, } from "@infra-blocks/emitter";
|
|
1
|
+
import { IgnoringEachEmitterLikeBase, } from "@infra-blocks/emitter";
|
|
2
|
+
import promiseRetry from "promise-retry";
|
|
5
3
|
/**
|
|
6
4
|
* Default retry configuration.
|
|
7
5
|
*
|
|
@@ -19,11 +17,11 @@ export const DEFAULT_RETRY_CONFIG = {
|
|
|
19
17
|
maxIntervalMs: Number.POSITIVE_INFINITY,
|
|
20
18
|
isRetryableError: () => true,
|
|
21
19
|
};
|
|
22
|
-
class RetryImpl extends
|
|
20
|
+
class RetryImpl extends IgnoringEachEmitterLikeBase {
|
|
23
21
|
promise;
|
|
24
22
|
retryConfig;
|
|
25
23
|
constructor(fn, options) {
|
|
26
|
-
super(
|
|
24
|
+
super();
|
|
27
25
|
this.retryConfig = { ...DEFAULT_RETRY_CONFIG, ...options };
|
|
28
26
|
const wrapper = (attempt) => {
|
|
29
27
|
this.emit("attempt", {
|
package/lib/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,2BAA2B,GAC5B,MAAM,uBAAuB,CAAC;AAE/B,OAAO,YAAY,MAAM,eAAe,CAAC;AAEzC;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAmC;IAClE,OAAO,EAAE,EAAE;IACX,MAAM,EAAE,CAAC;IACT,aAAa,EAAE,IAAI;IACnB,aAAa,EAAE,MAAM,CAAC,iBAAiB;IACvC,gBAAgB,EAAE,GAAY,EAAE,CAAC,IAAI;CACtC,CAAC;AAwFF,MAAM,SACJ,SAAQ,2BAA2C;IAGhC,OAAO,CAAiB;IACxB,WAAW,CAA2B;IAEzD,YAAY,EAAoB,EAAE,OAAwB;QACxD,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,WAAW,GAAG,EAAE,GAAG,oBAAoB,EAAE,GAAG,OAAO,EAAE,CAAC;QAE3D,MAAM,OAAO,GAAG,CAAC,OAAe,EAAE,EAAE;YAClC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;gBACnB,OAAO;gBACP,WAAW,EAAE,EAAE,GAAG,IAAI,CAAC,WAAW,EAAE;aACrC,CAAC,CAAC;YACH,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;gBAChB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;oBACjB,KAAK,EAAE,OAAO,GAAG,CAAC;oBAClB,WAAW,EAAE,EAAE,GAAG,IAAI,CAAC,WAAW,EAAE;iBACrC,CAAC,CAAC;YACL,CAAC;YACD,OAAO,EAAE,EAAE,CAAC;QACd,CAAC,CAAC;QACF,IAAI,CAAC,OAAO,GAAG,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IACzD,CAAC;IAED,IAAI,CACF,WAGQ,EACR,UAGQ;QAER,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;IACpD,CAAC;CACF;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,KAAK,CACnB,EAAoB,EACpB,OAAwB;IAExB,OAAO,IAAI,SAAS,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;AACpC,CAAC;AAED;;;;;;;;;;;GAWG;AACH,KAAK,UAAU,YAAY,CACzB,EAAmC,EACnC,OAAwB;IAExB,MAAM,EACJ,OAAO,GAAG,oBAAoB,CAAC,OAAO,EACtC,MAAM,GAAG,oBAAoB,CAAC,MAAM,EACpC,aAAa,GAAG,oBAAoB,CAAC,aAAa,EAClD,aAAa,GAAG,oBAAoB,CAAC,aAAa,EAClD,gBAAgB,GAAG,oBAAoB,CAAC,gBAAgB,GACzD,GAAG,OAAO,IAAI,EAAE,CAAC;IAElB,OAAO,MAAM,YAAY,CACvB,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,aAAa,EAAE,UAAU,EAAE,aAAa,EAAE,EACzE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,EAAE;QAC5B,IAAI,CAAC;YACH,OAAO,MAAM,EAAE,CAAC,OAAO,CAAC,CAAC;QAC3B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,gBAAgB,CAAC,GAAQ,CAAC,EAAE,CAAC;gBAC/B,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC;YACzB,CAAC;YACD,MAAM,GAAG,CAAC;QACZ,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@infra-blocks/retry",
|
|
3
|
-
"version": "0.5.0",
|
|
3
|
+
"version": "0.5.1-alpha.0",
|
|
4
4
|
"description": "This repository exports utilities for generic retry logic.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"retry",
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
"test:unit": "mocha --config test/unit/.mocharc.cjs 'test/unit/**/*.spec.ts'"
|
|
39
39
|
},
|
|
40
40
|
"dependencies": {
|
|
41
|
-
"@infra-blocks/emitter": "^0.
|
|
41
|
+
"@infra-blocks/emitter": "^0.3.0",
|
|
42
42
|
"promise-retry": "^2.0.1"
|
|
43
43
|
},
|
|
44
44
|
"devDependencies": {
|
|
@@ -54,8 +54,8 @@
|
|
|
54
54
|
"lefthook": "^1.11.16",
|
|
55
55
|
"mocha": "^10.2.0",
|
|
56
56
|
"prettier": "^2.8.8",
|
|
57
|
-
"
|
|
58
|
-
"typescript": "^5.
|
|
57
|
+
"tsx": "^4.21.0",
|
|
58
|
+
"typescript": "^5.9.3",
|
|
59
59
|
"verror": "^1.10.1"
|
|
60
60
|
},
|
|
61
61
|
"engines": {
|