Dev Build / cleanup (push) Canceled after 0s
Dev Build / typecheck (push) Canceled after 0s
Dev Build / build (linux-arm64, ubuntu-24.04-arm, linux-arm64) (push) Canceled after 0s
Dev Build / build (linux-x64, ubuntu-latest, linux-x64) (push) Canceled after 0s
Dev Build / build (win-x64, windows-latest, win32-x64) (push) Canceled after 0s
Dev Build / dispatch-dev-docker (push) Canceled after 0s
18 lines
570 B
Plaintext
18 lines
570 B
Plaintext
import { IBackOffOptions } from "../options";
|
|
import { SkipFirstDelay } from "./skip-first/skip-first.delay";
|
|
import { AlwaysDelay } from "./always/always.delay";
|
|
import { IDelay } from "./delay.interface";
|
|
|
|
export function DelayFactory(options: IBackOffOptions, attempt: number): IDelay {
|
|
const delay = initDelayClass(options);
|
|
delay.setAttemptNumber(attempt);
|
|
return delay;
|
|
}
|
|
|
|
function initDelayClass(options: IBackOffOptions) {
|
|
if (!options.delayFirstAttempt) {
|
|
return new SkipFirstDelay(options);
|
|
}
|
|
|
|
return new AlwaysDelay(options);
|
|
} |