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

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