import { DEFAULT_RETRY_DELAY_BASE, MAXIMUM_RETRY_DELAY } from "./constants"; export const getDefaultRetryBackoffStrategy = () => { let delayBase = DEFAULT_RETRY_DELAY_BASE; const computeNextBackoffDelay = (attempts) => { return Math.floor(Math.min(MAXIMUM_RETRY_DELAY, Math.random() * 2 ** attempts * delayBase)); }; const setDelayBase = (delay) => { delayBase = delay; }; return { computeNextBackoffDelay, setDelayBase, }; };