@lodestar/utils 1.17.0-dev.cd59df328b → 1.17.0-dev.e9a3f07a64

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/retry.d.ts CHANGED
@@ -19,6 +19,9 @@ export type RetryOptions = {
19
19
  * Milliseconds to wait before retrying again
20
20
  */
21
21
  retryDelay?: number;
22
+ /**
23
+ * Abort signal to stop retrying
24
+ */
22
25
  signal?: AbortSignal;
23
26
  };
24
27
  /**
package/lib/retry.js CHANGED
@@ -1,3 +1,4 @@
1
+ import { ErrorAborted } from "./errors.js";
1
2
  import { sleep } from "./sleep.js";
2
3
  /**
3
4
  * Retry a given function on error.
@@ -13,10 +14,15 @@ export async function retry(fn, opts) {
13
14
  const onRetry = opts?.onRetry;
14
15
  let lastError = Error("RetryError");
15
16
  for (let i = 1; i <= maxAttempts; i++) {
17
+ // If not the first attempt
18
+ if (i > 1) {
19
+ if (opts?.signal?.aborted) {
20
+ throw new ErrorAborted("retry");
21
+ }
22
+ // Invoke right before retrying
23
+ onRetry?.(lastError, i);
24
+ }
16
25
  try {
17
- // If not the first attempt, invoke right before retrying
18
- if (i > 1)
19
- onRetry?.(lastError, i);
20
26
  return await fn(i);
21
27
  }
22
28
  catch (e) {
package/lib/retry.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"retry.js","sourceRoot":"","sources":["../src/retry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,EAAC,MAAM,YAAY,CAAC;AA0BjC;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,KAAK,CAAI,EAAuC,EAAE,IAAmB;IACzF,MAAM,UAAU,GAAG,IAAI,EAAE,OAAO,IAAI,CAAC,CAAC;IACtC,0CAA0C;IAC1C,MAAM,WAAW,GAAG,UAAU,GAAG,CAAC,CAAC;IACnC,MAAM,WAAW,GAAG,IAAI,EAAE,WAAW,CAAC;IACtC,MAAM,OAAO,GAAG,IAAI,EAAE,OAAO,CAAC;IAE9B,IAAI,SAAS,GAAU,KAAK,CAAC,YAAY,CAAC,CAAC;IAC3C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,WAAW,EAAE,CAAC,EAAE,EAAE;QACrC,IAAI;YACF,yDAAyD;YACzD,IAAI,CAAC,GAAG,CAAC;gBAAE,OAAO,EAAE,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;YAEnC,OAAO,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;SACpB;QAAC,OAAO,CAAC,EAAE;YACV,SAAS,GAAG,CAAU,CAAC;YAEvB,IAAI,CAAC,KAAK,WAAW,EAAE;gBACrB,kFAAkF;gBAClF,MAAM;aACP;iBAAM,IAAI,WAAW,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE;gBACjD,MAAM;aACP;iBAAM,IAAI,IAAI,EAAE,UAAU,KAAK,SAAS,EAAE;gBACzC,MAAM,KAAK,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;aAC7C;SACF;KACF;IACD,MAAM,SAAS,CAAC;AAClB,CAAC"}
1
+ {"version":3,"file":"retry.js","sourceRoot":"","sources":["../src/retry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,aAAa,CAAC;AACzC,OAAO,EAAC,KAAK,EAAC,MAAM,YAAY,CAAC;AA6BjC;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,KAAK,CAAI,EAAuC,EAAE,IAAmB;IACzF,MAAM,UAAU,GAAG,IAAI,EAAE,OAAO,IAAI,CAAC,CAAC;IACtC,0CAA0C;IAC1C,MAAM,WAAW,GAAG,UAAU,GAAG,CAAC,CAAC;IACnC,MAAM,WAAW,GAAG,IAAI,EAAE,WAAW,CAAC;IACtC,MAAM,OAAO,GAAG,IAAI,EAAE,OAAO,CAAC;IAE9B,IAAI,SAAS,GAAU,KAAK,CAAC,YAAY,CAAC,CAAC;IAC3C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,WAAW,EAAE,CAAC,EAAE,EAAE;QACrC,2BAA2B;QAC3B,IAAI,CAAC,GAAG,CAAC,EAAE;YACT,IAAI,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE;gBACzB,MAAM,IAAI,YAAY,CAAC,OAAO,CAAC,CAAC;aACjC;YACD,+BAA+B;YAC/B,OAAO,EAAE,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;SACzB;QAED,IAAI;YACF,OAAO,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;SACpB;QAAC,OAAO,CAAC,EAAE;YACV,SAAS,GAAG,CAAU,CAAC;YAEvB,IAAI,CAAC,KAAK,WAAW,EAAE;gBACrB,kFAAkF;gBAClF,MAAM;aACP;iBAAM,IAAI,WAAW,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE;gBACjD,MAAM;aACP;iBAAM,IAAI,IAAI,EAAE,UAAU,KAAK,SAAS,EAAE;gBACzC,MAAM,KAAK,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;aAC7C;SACF;KACF;IACD,MAAM,SAAS,CAAC;AAClB,CAAC"}
package/package.json CHANGED
@@ -11,7 +11,7 @@
11
11
  "bugs": {
12
12
  "url": "https://github.com/ChainSafe/lodestar/issues"
13
13
  },
14
- "version": "1.17.0-dev.cd59df328b",
14
+ "version": "1.17.0-dev.e9a3f07a64",
15
15
  "type": "module",
16
16
  "exports": "./lib/index.js",
17
17
  "files": [
@@ -59,5 +59,5 @@
59
59
  "beacon",
60
60
  "blockchain"
61
61
  ],
62
- "gitHead": "490c8aa7603bf8625cff9a313acc6026ef94415d"
62
+ "gitHead": "7d1e0eb98f35d84a8d21b4d2db5f1bf27c95cfd7"
63
63
  }