@lssm-tech/lib.resilience
v0.5.0
Published
Readme
@lssm-tech/lib.resilience
Resilience patterns for building robust, self-healing applications.
Features
- Circuit Breaker: Prevent cascading failures
- Retry: Automatic retry with exponential backoff
- Timeout: Hard limits on execution time
- Fallback: Graceful degradation
Installation
npm install @lssm-tech/lib.resilienceQuick Start
Circuit Breaker
import { CircuitBreaker } from '@lssm-tech/lib.resilience/circuit-breaker';
const breaker = new CircuitBreaker({
failureThreshold: 5,
resetTimeoutMs: 30000,
});
const result = await breaker.execute(async () => {
return await fetch('https://api.stripe.com/v1/charges');
});Retry
import { retry } from '@lssm-tech/lib.resilience/retry';
const result = await retry(
async () => fetchUser(id),
3, // retries
1000, // initial delay
true // backoff
);Timeout & Fallback
import { timeout, fallback } from '@lssm-tech/lib.resilience';
const result = await fallback(() => timeout(slowOperation, 5000), defaultValue);Documentation
Full docs: https://contractspec.io/docs/libraries/resilience
