ts-rate-limiter
Version:
High-performance, flexible rate limiting for TypeScript and Bun
15 lines (14 loc) • 653 B
TypeScript
import type { MemoryStorageOptions, StorageProvider } from '../types';
/**
* In-memory storage implementation with optimized performance
*/
export declare class MemoryStorage implements StorageProvider {
constructor(options?: MemoryStorageOptions);
increment(key: string, windowMs: number): Promise<{ count: number, resetTime: number }>;
reset(key: string): Promise<void>;
getCount(key: string): Promise<number>;
getSlidingWindowCount(key: string, windowMs: number): Promise<number>;
batchIncrement(keys: string[], windowMs: number): Promise<Map<string, { count: number, resetTime: number }>>;
cleanExpired(): void;
dispose(): void;
}