UNPKG

@daiso-tech/core

Version:

The library offers flexible, framework-agnostic solutions for modern web applications, built on adaptable components that integrate seamlessly with popular frameworks like Next Js.

8 lines (7 loc) 1.06 kB
/** * @module CircuitBreaker */ /** * @internal */ export declare const circuitBreakerLua = "\n-- @template TMetrics\n-- @param circuitBreakerStorage CircuitBreakerStorage<TMetrics>\n-- @param circuitBreakerStateManager CircuitBreakerStateManager<TMetrics>\n-- @return ICircuitBreakerAdapter\nlocal function CircuitBreaker(circuitBreakerStorage, circuitBreakerStateManager)\n return {\n -- @param key string\n -- @return CircuitBreakerStateTransition\n updateState = function(key)\n return circuitBreakerStorage.atomicUpdate(key, circuitBreakerStateManager.updateState)\n end,\n\n -- @param key string\n -- @return void\n trackFailure = function(key)\n return circuitBreakerStorage.atomicUpdate(key, circuitBreakerStateManager.trackFailure)\n end,\n\n -- @param key string\n -- @return void\n trackSuccess = function(key)\n return circuitBreakerStorage.atomicUpdate(key, circuitBreakerStateManager.trackSuccess)\n end\n }\nend\n";