{"version":3,"file":"retryNTimesWithDelay.cjs","sources":["../../src/scheduler/retryNTimesWithDelay.js"],"sourcesContent":["const retryNTimesWithDelay = async function ({\n    verbose = false,\n    attempts,\n    delayStrategy,\n    delay,\n    exponentialDelayMultiplier = 2,\n    maxDelay,\n    fn\n}) {\n    // With delayStrategy, the delay is exponential\n    let theError;\n    let delayToUse = 0;\n    for (let i = 0; i < attempts; i++) {\n        try {\n            if (verbose) {\n                console.log('Attempt:', i + 1, 'of', attempts, 'with delay:', delayToUse, 'ms', 'started');\n            }\n            await fn();\n            if (verbose) {\n                console.log('Attempt:', i + 1, 'of', attempts, 'with delay:', delayToUse, 'ms', 'succeeded');\n            }\n            return;\n        } catch (err) {\n            if (verbose) {\n                console.log('Attempt:', i + 1, 'of', attempts, 'with delay:', delayToUse, 'ms', 'failed');\n            }\n            theError = err;\n            if (delayToUse === 0) {\n                delayToUse = delay;\n            } else {\n                if (delayStrategy === 'exponential') {\n                    delayToUse = delayToUse * exponentialDelayMultiplier;\n                } else if (delayStrategy === 'linear') {\n                    delayToUse = delayToUse + delay;\n                } else { // delayStrategy === 'constant'\n                    delayToUse = delay;\n                }\n\n                delayToUse = Math.min(delayToUse, maxDelay);\n            }\n            await new Promise((resolve) => { setTimeout(resolve, delayToUse); });\n        }\n    }\n    throw theError;\n};\n\nexport { retryNTimesWithDelay };\n"],"names":["async","verbose","attempts","delayStrategy","delay","exponentialDelayMultiplier","maxDelay","fn","theError","delayToUse","i","console","log","err","Math","min","Promise","resolve","setTimeout"],"mappings":";6BAA6BA,gBAAgBC,QACzCA,SAAU,EAAKC,SACfA,SAAQC,cACRA,cAAaC,MACbA,MAAKC,2BACLA,2BAA6B,EAACC,SAC9BA,SAAQC,GACRA,KAGA,IAAIC,SACAC,WAAa;AACjB,IAAK,IAAIC,EAAI,EAAGA,EAAIR,SAAUQ,IAC1B,IACQT,SACAU,QAAQC,IAAI,WAAYF,EAAI,EAAG,KAAMR,SAAU,cAAeO,WAAY,KAAM;MAE9EF;AACFN,SACAU,QAAQC,IAAI,WAAYF,EAAI,EAAG,KAAMR,SAAU,cAAeO,WAAY,KAAM;AAEpF,MACJ,CAAE,MAAOI,KACDZ,SACAU,QAAQC,IAAI,WAAYF,EAAI,EAAG,KAAMR,SAAU,cAAeO,WAAY,KAAM;AAEpFD,SAAWK;AACX,GAAmB,IAAfJ,WACAA,WAAaL;IACV,CACmB,gBAAlBD,cACAM,YAA0BJ,2BACD,WAAlBF,cACPM,YAA0BL,MAE1BK,WAAaL;AAGjBK,WAAaK,KAAKC,IAAIN,WAAYH,SACtC,OACM,IAAIU,QAASC,UAAcC,WAAWD,QAASR,aACzD,CAEJ,MAAMD,QACV"}