@bernierllc/retry-policy
Version:
Atomic retry policy utilities with exponential backoff and jitter
79 lines • 2.53 kB
TypeScript
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