19 lines
420 B
TypeScript
19 lines
420 B
TypeScript
|
|
interface CircuitBreakerState {
|
||
|
|
status: "closed" | "open" | "half-open";
|
||
|
|
updatedAt: number;
|
||
|
|
}
|
||
|
|
|
||
|
|
const state: CircuitBreakerState = {
|
||
|
|
status: "closed",
|
||
|
|
updatedAt: Date.now(),
|
||
|
|
};
|
||
|
|
|
||
|
|
export function setCircuitBreakerState(status: CircuitBreakerState["status"]): void {
|
||
|
|
state.status = status;
|
||
|
|
state.updatedAt = Date.now();
|
||
|
|
}
|
||
|
|
|
||
|
|
export function getCircuitBreakerState(): CircuitBreakerState {
|
||
|
|
return { ...state };
|
||
|
|
}
|