UNPKG

@dbs-portal/core-api

Version:

HTTP client and API utilities for DBS Portal

68 lines 2.1 kB
/** * Retry manager for failed requests */ import type { RetryConfig, ApiError } from '../types'; /** * Retry manager for handling failed requests */ export declare class RetryManager { private config; constructor(config: RetryConfig); /** * Executes a function with retry logic */ execute<T>(operation: () => Promise<T>): Promise<T>; /** * Updates retry configuration */ updateConfig(config: Partial<RetryConfig>): void; /** * Gets current configuration */ getConfig(): RetryConfig; /** * Determines if an error should trigger a retry */ private shouldRetry; /** * Calculates retry delay */ private calculateDelay; /** * Creates a delay promise */ private delay; /** * Creates a retry manager with exponential backoff */ static exponentialBackoff(retries?: number, baseDelay?: number, maxDelay?: number): RetryManager; /** * Creates a retry manager with linear backoff */ static linearBackoff(retries?: number, delay?: number): RetryManager; /** * Creates a retry manager with fixed delay */ static fixedDelay(retries?: number, delay?: number): RetryManager; /** * Creates a retry manager for network errors only */ static networkErrorsOnly(retries?: number): RetryManager; /** * Creates a retry manager for server errors only */ static serverErrorsOnly(retries?: number): RetryManager; /** * Creates a retry manager with custom condition */ static custom(retries: number, retryCondition: (error: ApiError) => boolean, retryDelay?: number | ((retryCount: number) => number)): RetryManager; /** * Creates a retry manager that respects Retry-After headers */ static withRetryAfter(retries?: number): RetryManager; /** * Creates a retry manager with jitter to avoid thundering herd */ static withJitter(retries?: number, baseDelay?: number, maxDelay?: number, jitterFactor?: number): RetryManager; } //# sourceMappingURL=retry-manager.d.ts.map