From 80e43db2cac84e588c2ef3889e8d90b76bd53714 Mon Sep 17 00:00:00 2001 From: Florian Dold Date: Mon, 28 Mar 2022 23:21:49 +0200 Subject: wallet: timeout handling refactoring WIP --- packages/taler-wallet-core/src/util/retries.ts | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'packages/taler-wallet-core/src/util') diff --git a/packages/taler-wallet-core/src/util/retries.ts b/packages/taler-wallet-core/src/util/retries.ts index 4b78d38ef..25b4c5055 100644 --- a/packages/taler-wallet-core/src/util/retries.ts +++ b/packages/taler-wallet-core/src/util/retries.ts @@ -92,3 +92,18 @@ export function initRetryInfo(p: RetryPolicy = defaultRetryPolicy): RetryInfo { updateRetryInfoTimeout(info, p); return info; } + +export namespace RetryInfo { + export function increment( + r: RetryInfo | undefined, + p: RetryPolicy = defaultRetryPolicy, + ) { + if (!r) { + return initRetryInfo(p); + } + const r2 = { ...r }; + r2.retryCounter++; + updateRetryInfoTimeout(r2, p); + return r2; + } +} -- cgit v1.2.3