UNPKG

ts-retry

Version:

A little retry tool to execute a function until the function is successful. Can also bind a timeout to a function. This lib is usable in typescript, in javascript, in node, in SPA tools (rest, Vue, Svelte...) and browser (available in ESM and common js fo

24 lines (23 loc) 884 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.createExponetialDelay = createExponetialDelay; exports.createMutiplicableDelay = createMutiplicableDelay; exports.createRandomDelay = createRandomDelay; function createExponetialDelay(initialDelay) { const delay = ({ lastDelay }) => lastDelay !== undefined ? lastDelay * initialDelay : initialDelay; return delay; } function createMutiplicableDelay(initialDelay, multiplicator) { const delay = ({ currentTry }) => { if (currentTry === 1) { return initialDelay; } const actualMultiplicator = (currentTry - 1) * multiplicator; return initialDelay * actualMultiplicator; }; return delay; } function createRandomDelay(min, max) { const multiplicator = max - min + 1; return () => Math.floor(Math.random() * multiplicator + min); }