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.

40 lines 1.01 kB
/** * @module RateLimiter */ import {} from "../../rate-limiter/contracts/rate-limiter-state.contract.js"; /** * The error is throw when rate limiter blocks the attempts. * * IMPORT_PATH: `"@daiso-tech/core/rate-limiter/contracts"` * @group Errors */ export class BlockedRateLimiterError extends Error { state; constructor(state, message, cause) { super(message, { cause }); this.state = state; this.name = BlockedRateLimiterError.name; } } /** * * IMPORT_PATH: `"@daiso-tech/core/rate-limiter/contracts"` * @group Errors */ export const CIRCUIT_BREAKER_ERRORS = { Blocked: BlockedRateLimiterError, }; /** * * IMPORT_PATH: `"@daiso-tech/core/rate-limiter/contracts"` * @group Errors */ export function isRateLimiterError(value) { for (const ErrorClass of Object.values(CIRCUIT_BREAKER_ERRORS)) { if (!(value instanceof ErrorClass)) { return false; } } return true; } //# sourceMappingURL=rate-limiter.errors.js.map