@felixgeelhaar/govee-api-client
Version:
Enterprise-grade TypeScript client library for the Govee Developer REST API
36 lines • 1.4 kB
JavaScript
/**
* 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();
* ```
*/
// Core retry policy and execution
export { RetryPolicy } from './RetryPolicy';
// Retryable request execution
export { RetryExecutor, RetryExecutorFactory } from './RetryableRequest';
// Repository integration
export { RetryableRepository } from './RetryableRepository';
// Configuration presets and builders
export { RetryConfigPresets, RetryConfigBuilder } from './RetryConfigPresets';
//# sourceMappingURL=index.js.map