nest-ratelimiter
Version:
Distributed consistent flexible NestJS rate limiter based on Redis
19 lines (18 loc) • 810 B
TypeScript
import { LimiterInfo } from 'ratelimiter';
import { RateLimiterParams } from './params';
import { RequireField } from './utils/require-field';
export declare const RATE_LIMITER_ASSERTER_TOKEN: unique symbol;
export interface RateLimiterAsserter {
/**
* Asserts that the request is not rate limited. If the request is rate
* limited, throws an exception. Otherwise, returns the limiter info.
* @param params The parameters for the rate limiter.
* @returns The limiter info.
* @throws `RateLimiterError` If the request is rate limited.
*/
assert(params: RequireField<RateLimiterParams, 'id'>): Promise<LimiterInfo>;
}
export declare class RateLimiterError extends Error {
readonly limiterInfo: LimiterInfo;
constructor(message: unknown, limiterInfo: LimiterInfo);
}