UNPKG

@bernierllc/retry-policy

Version:

Atomic retry policy utilities with exponential backoff and jitter

79 lines 2.53 kB
import { RetryPolicyOptions, BackoffConfig } from '../types'; /** * Runtime configuration interface for retry policy * Extends the base types with optional configuration */ export interface RetryPolicyRuntimeConfig extends Partial<RetryPolicyOptions> { /** Backoff configuration */ backoff?: Partial<BackoffConfig>; /** Enable/disable retry functionality globally */ enabled?: boolean; } /** * Configuration source tracking for transparency */ export interface ConfigurationSource { key: string; value: any; source: 'default' | 'file' | 'environment' | 'global' | 'override'; description: string; } /** * Set global configuration for dependency injection from service packages */ export declare function setGlobalRetryPolicyConfig(config: Partial<RetryPolicyRuntimeConfig>): void; /** * Get global configuration */ export declare function getGlobalRetryPolicyConfig(): Partial<RetryPolicyRuntimeConfig>; /** * Clear global configuration */ export declare function clearGlobalRetryPolicyConfig(): void; /** * Configuration loader with source tracking */ export declare class RetryPolicyConfigurationLoader { private sources; /** * Parse environment variable value to appropriate type */ private parseEnvironmentValue; /** * Set nested object value using dot notation */ private setNestedValue; /** * Merge configuration objects recursively */ private mergeConfiguration; /** * Load optional configuration from all sources */ loadOptionalConfiguration(): RetryPolicyRuntimeConfig; /** * Get configuration sources for transparency */ getConfigurationSources(): ConfigurationSource[]; /** * Get environment variable documentation */ getEnvironmentVariableDocumentation(): Record<string, string>; } /** * Load optional retry policy configuration * This function fails gracefully and returns empty config if loading fails */ export declare function loadOptionalRetryPolicyConfig(): RetryPolicyRuntimeConfig; /** * Load configuration with source tracking */ export declare function loadOptionalRetryPolicyConfigWithSources(): { config: RetryPolicyRuntimeConfig; sources: ConfigurationSource[]; }; /** * Merge configuration with precedence: defaults < global < file < environment < constructor */ export declare function mergeConfigurations(...configs: Partial<RetryPolicyRuntimeConfig>[]): RetryPolicyRuntimeConfig; //# sourceMappingURL=loadOptionalConfig.d.ts.map