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.

37 lines 1.34 kB
/** * @module RateLimiter */ import { resolveFixedWindowLimiterSettings, serializeFixedWindowLimiterSettings, } from "../../../rate-limiter/implementations/policies/fixed-window-limiter/_module.js"; import { resolveSlidingWindowLimiterSettings, serializeSlidingWindowLimiterSettings, } from "../../../rate-limiter/implementations/policies/sliding-window-limiter/_module.js"; import { LIMITER_POLICIES, } from "../../../rate-limiter/implementations/policies/types.js"; /** * @internal */ export function resolveRateLimiterPolicySettings(settings) { if (settings.type === LIMITER_POLICIES.FIXED_WINDOW) { return { type: LIMITER_POLICIES.FIXED_WINDOW, ...resolveFixedWindowLimiterSettings(settings), }; } return { type: LIMITER_POLICIES.SLIDING_WINDOW, ...resolveSlidingWindowLimiterSettings(settings), }; } /** * @internal */ export function serializeRateLimiterPolicySettingsEnum(settings) { if (settings.type === LIMITER_POLICIES.FIXED_WINDOW) { return { type: LIMITER_POLICIES.FIXED_WINDOW, ...serializeFixedWindowLimiterSettings(settings), }; } return { type: LIMITER_POLICIES.SLIDING_WINDOW, ...serializeSlidingWindowLimiterSettings(settings), }; } //# sourceMappingURL=_shared.js.map