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.

20 lines (19 loc) 876 B
/** * @module RateLimiter */ import { type IRateLimiterProvider } from "../../rate-limiter/contracts/rate-limiter-provider.contract.js"; /** * The `IRateLimiterProviderFactory` contract makes it easy to configure and switch between different {@link IRateLimiterProvider | `IRateLimiterProvider`} dynamically. * * IMPORT_PATH: `"@daiso-tech/core/rate-limiter/contracts"` * @group Contracts */ export type IRateLimiterProviderFactory<TAdapters extends string = string> = { /** * The `use` method will throw an error if you provide it unregisted adapter. * If no default adapter is defined an error will be thrown by `use` method. * @throws {UnregisteredAdapterError} {@link UnregisteredAdapterError} * @throws {DefaultAdapterNotDefinedError} {@link DefaultAdapterNotDefinedError} */ use(adapterName?: TAdapters): IRateLimiterProvider; };