@felixgeelhaar/govee-api-client
Version:
Enterprise-grade TypeScript client library for the Govee Developer REST API
35 lines • 1.59 kB
TypeScript
/**
* Retry infrastructure for Govee API client
*
* This module provides enterprise-grade retry logic with:
* - Exponential backoff with configurable strategies
* - Jitter algorithms to prevent thundering herd
* - Circuit breaker pattern for resilience
* - Comprehensive retry metrics and observability
* - Type-safe error handling integration
*
* @example
* ```typescript
* import { RetryPolicy, RetryExecutor, RetryableRepository } from './infrastructure/retry';
* import { GoveeDeviceRepository } from './infrastructure/GoveeDeviceRepository';
*
* // Create retry-enabled repository
* const baseRepository = new GoveeDeviceRepository(config);
* const retryableRepository = new RetryableRepository({
* repository: baseRepository,
* retryExecutor: RetryExecutor.createForGoveeApi(logger)
* });
*
* // Use with automatic retries
* const devices = await retryableRepository.findAll();
* const metrics = retryableRepository.getRetryMetrics();
* ```
*/
export { RetryPolicy } from './RetryPolicy';
export type { BackoffStrategy, JitterConfig, RetryCondition, CircuitBreakerConfig, RetryPolicyConfig, RetryMetrics, } from './RetryPolicy';
export { RetryExecutor, RetryExecutorFactory } from './RetryableRequest';
export type { RetryableRequest, RetryResult, RetryAttempt, RetryExecutorConfig, } from './RetryableRequest';
export { RetryableRepository } from './RetryableRepository';
export type { RetryableRepositoryConfig } from './RetryableRepository';
export { RetryConfigPresets, RetryConfigBuilder } from './RetryConfigPresets';
//# sourceMappingURL=index.d.ts.map