UNPKG

@developers-joyride/rate-limiter

Version:

A flexible rate limiting library with TypeScript support, Express middleware, and NestJS guard/interceptor capabilities

37 lines (36 loc) 1.03 kB
import { Request } from "express"; import { RateLimiterConfig, RateLimitResult, RateLimitInfo } from "../interfaces/rate-limiter.interface"; export declare class RateLimiterService { private config; private cacheProvider; private isInitialized; constructor(config: RateLimiterConfig); /** * Initialize the cache provider */ initialize(): Promise<void>; /** * Check if a request is allowed based on rate limiting rules */ checkLimit(req: Request): Promise<RateLimitResult>; /** * Reset rate limit for a specific key */ resetLimit(key: string): Promise<void>; /** * Get current rate limit info for a key */ getLimitInfo(key: string): Promise<RateLimitInfo | null>; /** * Ensure cache provider is initialized */ private ensureInitialized; /** * Close the cache provider connection */ close(): Promise<void>; /** * Get the current configuration */ getConfig(): Required<RateLimiterConfig>; }