@frinkly/utils
Advanced tools
+4
-0
@@ -6,2 +6,6 @@ # Change Log | ||
| ## [0.37.1](https://github.com/RequestNetwork/requestNetwork/compare/@frinkly/utils@0.37.0...@frinkly/utils@0.37.1) (2023-02-26) | ||
| **Note:** Version bump only for package @frinkly/utils | ||
| # 0.37.0 (2023-02-26) | ||
@@ -8,0 +12,0 @@ |
+2
-1
@@ -10,3 +10,3 @@ /** | ||
| */ | ||
| declare const retry: <TParams extends unknown[], TReturn>(target: (...params: TParams) => TReturn | Promise<TReturn>, { context, maxRetries, retryDelay, exponentialBackoff, exponentialBackoffDelay, }?: { | ||
| declare const retry: <TParams extends unknown[], TReturn>(target: (...params: TParams) => TReturn | Promise<TReturn>, { context, maxRetries, retryDelay, exponentialBackoff, exponentialBackoffDelay, maxExponentialBackoffDelay, }?: { | ||
| context?: unknown; | ||
@@ -17,4 +17,5 @@ maxRetries?: number | undefined; | ||
| exponentialBackoffDelay?: number | undefined; | ||
| maxExponentialBackoffDelay?: number | undefined; | ||
| }) => (...params: TParams) => Promise<TReturn>; | ||
| export { retry }; | ||
| //# sourceMappingURL=retry.d.ts.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"retry.d.ts","sourceRoot":"","sources":["../src/retry.ts"],"names":[],"mappings":"AASA;;;;;;;;GAQG;AACH,QAAA,MAAM,KAAK;;;;;;8CAmDV,CAAC;AAEF,OAAO,EAAE,KAAK,EAAE,CAAC"} | ||
| {"version":3,"file":"retry.d.ts","sourceRoot":"","sources":["../src/retry.ts"],"names":[],"mappings":"AAYA;;;;;;;;GAQG;AACH,QAAA,MAAM,KAAK;;;;;;;8CAwDV,CAAC;AAEF,OAAO,EAAE,KAAK,EAAE,CAAC"} |
+7
-2
@@ -11,2 +11,4 @@ "use strict"; | ||
| const DEFAULT_EXPONENTIAL_BACKOFF_DELAY = 1000; | ||
| // Maximum exponential backoff delay allowed | ||
| const DEFAULT_MAX_EXPONENTIAL_BACKOFF_DELAY = 30000; | ||
| /** | ||
@@ -21,3 +23,3 @@ * A method that retries a function a defined amount of times if it fails. | ||
| */ | ||
| const retry = (target, { context, maxRetries = DEFAULT_MAX_RETRIES, retryDelay = DEFAULT_RETRY_DELAY, exponentialBackoff = false, exponentialBackoffDelay = DEFAULT_EXPONENTIAL_BACKOFF_DELAY, } = {}) => { | ||
| const retry = (target, { context, maxRetries = DEFAULT_MAX_RETRIES, retryDelay = DEFAULT_RETRY_DELAY, exponentialBackoff = false, exponentialBackoffDelay = DEFAULT_EXPONENTIAL_BACKOFF_DELAY, maxExponentialBackoffDelay = DEFAULT_MAX_EXPONENTIAL_BACKOFF_DELAY, } = {}) => { | ||
| // If a context was passed in, bind it to to the target function | ||
@@ -43,3 +45,6 @@ if (context) { | ||
| // Wait for the delay before retrying | ||
| yield new Promise((resolve) => setTimeout(resolve, retryDelay + (exponentialBackoff ? Math.pow(exponentialBackoffDelay, retry) : 0))); | ||
| yield new Promise((resolve) => setTimeout(resolve, retryDelay + | ||
| (exponentialBackoff | ||
| ? Math.min(maxExponentialBackoffDelay, exponentialBackoffDelay * Math.pow(2, retry)) | ||
| : 0))); | ||
| return retryFunction(...innerArgs); | ||
@@ -46,0 +51,0 @@ } |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"retry.js","sourceRoot":"","sources":["../src/retry.ts"],"names":[],"mappings":";;;;AAAA,4BAA4B;AAC5B,MAAM,mBAAmB,GAAG,CAAC,CAAC;AAE9B,gCAAgC;AAChC,MAAM,mBAAmB,GAAG,GAAG,CAAC;AAEhC,8CAA8C;AAC9C,MAAM,iCAAiC,GAAG,IAAI,CAAC;AAE/C;;;;;;;;GAQG;AACH,MAAM,KAAK,GAAG,CACZ,MAA0D,EAC1D,EACE,OAAO,EACP,UAAU,GAAG,mBAAmB,EAChC,UAAU,GAAG,mBAAmB,EAChC,kBAAkB,GAAG,KAAK,EAC1B,uBAAuB,GAAG,iCAAiC,MAOzD,EAAE,EACsC,EAAE;IAC9C,gEAAgE;IAChE,IAAI,OAAO,EAAE;QACX,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KAC/B;IAED,mEAAmE;IACnE,OAAO,CAAO,GAAG,IAAa,EAAoB,EAAE;QAClD,gCAAgC;QAChC,IAAI,KAAK,GAAG,CAAC,CAAC;QAEd,mDAAmD;QACnD,OAAO,CAAC,SAAe,aAAa,CAAC,GAAG,SAAkB;;gBACxD,IAAI;oBACF,6DAA6D;oBAC7D,OAAO,MAAM,MAAM,CAAC,GAAG,SAAS,CAAC,CAAC;iBACnC;gBAAC,OAAO,CAAC,EAAE;oBACV,4DAA4D;oBAC5D,IAAI,KAAK,GAAG,UAAU,EAAE;wBACtB,KAAK,EAAE,CAAC;wBACR,qCAAqC;wBACrC,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAC5B,UAAU,CACR,OAAO,EACP,UAAU,GAAG,CAAC,kBAAkB,CAAC,CAAC,CAAC,SAAA,uBAAuB,EAAI,KAAK,CAAA,CAAC,CAAC,CAAC,CAAC,CAAC,CACzE,CACF,CAAC;wBAEF,OAAO,aAAa,CAAC,GAAG,SAAS,CAAC,CAAC;qBACpC;yBAAM;wBACL,0CAA0C;wBAC1C,MAAM,CAAC,CAAC;qBACT;iBACF;YACH,CAAC;SAAA,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IACd,CAAC,CAAA,CAAC;AACJ,CAAC,CAAC;AAEO,sBAAK"} | ||
| {"version":3,"file":"retry.js","sourceRoot":"","sources":["../src/retry.ts"],"names":[],"mappings":";;;;AAAA,4BAA4B;AAC5B,MAAM,mBAAmB,GAAG,CAAC,CAAC;AAE9B,gCAAgC;AAChC,MAAM,mBAAmB,GAAG,GAAG,CAAC;AAEhC,8CAA8C;AAC9C,MAAM,iCAAiC,GAAG,IAAI,CAAC;AAE/C,4CAA4C;AAC5C,MAAM,qCAAqC,GAAG,KAAK,CAAC;AAEpD;;;;;;;;GAQG;AACH,MAAM,KAAK,GAAG,CACZ,MAA0D,EAC1D,EACE,OAAO,EACP,UAAU,GAAG,mBAAmB,EAChC,UAAU,GAAG,mBAAmB,EAChC,kBAAkB,GAAG,KAAK,EAC1B,uBAAuB,GAAG,iCAAiC,EAC3D,0BAA0B,GAAG,qCAAqC,MAQhE,EAAE,EACsC,EAAE;IAC9C,gEAAgE;IAChE,IAAI,OAAO,EAAE;QACX,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KAC/B;IAED,mEAAmE;IACnE,OAAO,CAAO,GAAG,IAAa,EAAoB,EAAE;QAClD,gCAAgC;QAChC,IAAI,KAAK,GAAG,CAAC,CAAC;QAEd,mDAAmD;QACnD,OAAO,CAAC,SAAe,aAAa,CAAC,GAAG,SAAkB;;gBACxD,IAAI;oBACF,6DAA6D;oBAC7D,OAAO,MAAM,MAAM,CAAC,GAAG,SAAS,CAAC,CAAC;iBACnC;gBAAC,OAAO,CAAC,EAAE;oBACV,4DAA4D;oBAC5D,IAAI,KAAK,GAAG,UAAU,EAAE;wBACtB,KAAK,EAAE,CAAC;wBACR,qCAAqC;wBACrC,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAC5B,UAAU,CACR,OAAO,EACP,UAAU;4BACR,CAAC,kBAAkB;gCACjB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,0BAA0B,EAAE,uBAAuB,GAAG,SAAA,CAAC,EAAI,KAAK,CAAA,CAAC;gCAC5E,CAAC,CAAC,CAAC,CAAC,CACT,CACF,CAAC;wBAEF,OAAO,aAAa,CAAC,GAAG,SAAS,CAAC,CAAC;qBACpC;yBAAM;wBACL,0CAA0C;wBAC1C,MAAM,CAAC,CAAC;qBACT;iBACF;YACH,CAAC;SAAA,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IACd,CAAC,CAAA,CAAC;AACJ,CAAC,CAAC;AAEO,sBAAK"} |
+2
-2
| { | ||
| "name": "@frinkly/utils", | ||
| "version": "0.37.0", | ||
| "version": "0.37.1", | ||
| "publishConfig": { | ||
@@ -60,3 +60,3 @@ "access": "public" | ||
| }, | ||
| "gitHead": "23b44e8acb2d4dcdf76ffbd1812f675382be9db1" | ||
| "gitHead": "8d21a76869c6ee6233cc28b0b4bcfebd4a22228d" | ||
| } |
177718
0.39%1818
0.33%