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.

50 lines 1.76 kB
/** * @module CircuitBreaker */ import { resolveConsecutiveBreakerSettings } from "../../../circuit-breaker/implementations/policies/consecutive-breaker/_module.js"; import { resolveCountBreakerSettings } from "../../../circuit-breaker/implementations/policies/count-breaker/_module.js"; import { resolveSamplingBreakerSettings, serializeSamplingBreakerSettings, } from "../../../circuit-breaker/implementations/policies/sampling-breaker/_module.js"; import { BREAKER_POLICIES, } from "../../../circuit-breaker/implementations/policies/types.js"; /** * @internal */ export function resolveCircuitBreakerPolicySettings(settings) { if (settings.type === BREAKER_POLICIES.CONSECUTIVE) { return { type: BREAKER_POLICIES.CONSECUTIVE, ...resolveConsecutiveBreakerSettings(settings), }; } if (settings.type === BREAKER_POLICIES.SAMPLING) { return { type: BREAKER_POLICIES.SAMPLING, ...resolveSamplingBreakerSettings(settings), }; } return { type: BREAKER_POLICIES.COUNT, ...resolveCountBreakerSettings(settings), }; } /** * @internal */ export function serializeCircuitBreakerPolicySettingsEnum(settings) { if (settings.type === BREAKER_POLICIES.CONSECUTIVE) { return { type: BREAKER_POLICIES.CONSECUTIVE, ...resolveConsecutiveBreakerSettings(settings), }; } if (settings.type === BREAKER_POLICIES.SAMPLING) { return { type: BREAKER_POLICIES.SAMPLING, ...serializeSamplingBreakerSettings(settings), }; } return { type: BREAKER_POLICIES.COUNT, ...resolveCountBreakerSettings(settings), }; } //# sourceMappingURL=_shared.js.map