askui
Version:
Reliable, automated end-to-end-testing that depends on what is shown on your screen instead of the technology you are running on
26 lines (25 loc) • 906 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.LinearRetryStrategy = void 0;
/**
* LinearRetryStrategy implements a retry strategy that uses a linear backoff algorithm.
*/
class LinearRetryStrategy {
/**
* @param baseDelayMs - The initial delay before the first retry (default is 1000ms)
* @param retryCount - The maximum number of retries (default is 3)
*/
constructor(baseDelayMs = 1000, retryCount = 3) {
this.baseDelayMs = baseDelayMs;
this.retryCount = retryCount;
}
/**
* Calculates the delay for a given retry attempt using linear backoff.
* @param attempt - The current retry attempt number (1-based)
* @returns The delay in milliseconds for the current attempt
*/
getDelay(attempt) {
return this.baseDelayMs * attempt;
}
}
exports.LinearRetryStrategy = LinearRetryStrategy;