use js private

This commit is contained in:
2026-07-18 13:56:43 +00:00
parent 798ccdf32c
commit 7d40a40ea9

View File

@@ -10,7 +10,7 @@ import { ExponentialBackoffStoppedRetriesError, ExponentialBackoffMaxRetriesHitE
* The growth rate is the factor by which the delay increases with each attempt.
*/
export class ExponentialBackoff {
private readonly options: ExponentialBackoffOptions;
readonly #options: ExponentialBackoffOptions;
/**
* Creates a new exponential-backoff instance.
@@ -25,7 +25,7 @@ export class ExponentialBackoff {
* @param options.jitter - Maximum proportional reduction subtracted from each delay (01). Default: `0.1`.
*/
constructor(options: Partial<ExponentialBackoffOptions> = {}) {
this.options = {
this.#options = {
maxDelay: 10_000,
maxAttempts: 10,
baseDelay: 1_000,
@@ -125,7 +125,7 @@ export class ExponentialBackoff {
let attempt = 0;
// If the max attempts is 0, we should continue indefinitely.
const unlimitedAttempts = this.options.maxAttempts === 0;
const unlimitedAttempts = this.#options.maxAttempts === 0;
// Loop until we succeed, hit the max attempts, or the abort signal is activated
while (true) {
@@ -146,7 +146,7 @@ export class ExponentialBackoff {
// Calculate the count for next attempt. Do this now so we can exit before waiting and before running the next attempt.
const nextAttemptCount = attempt + 1;
const nextAttemptExceedsMaxAttempts = nextAttemptCount >= this.options.maxAttempts;
const nextAttemptExceedsMaxAttempts = nextAttemptCount >= this.#options.maxAttempts;
// If the next attempt exceeds the max attempts, break out of the loop
if (!unlimitedAttempts && nextAttemptExceedsMaxAttempts) {
@@ -160,7 +160,7 @@ export class ExponentialBackoff {
}
// Wait before going to the next attempt
const delay = ExponentialBackoff.calculateDelay(this.options, attempt);
const delay = ExponentialBackoff.calculateDelay(this.#options, attempt);
await new Promise((resolve) => setTimeout(resolve, delay));
attempt++;