UNPKG

@kitstack/nest-powertools

Version:

A comprehensive collection of NestJS powertools, decorators, and utilities to supercharge your backend development

27 lines (26 loc) 807 B
import { type CanActivate, type ExecutionContext } from '@nestjs/common'; import type { RateLimitOptions } from '../types'; export declare class RateLimitGuard implements CanActivate { private options; private requests; constructor(options?: RateLimitOptions & { strategy?: 'delay' | 'reject'; delayAfter?: number; delayMs?: number; maxDelayMs?: number; delayMultiplier?: number; }); canActivate(context: ExecutionContext): Promise<boolean>; private handleRejectStrategy; private handleDelayStrategy; private sleep; private getKey; getStatus(request: any): { requests: number; remaining: number; resetTime: number; resetIn: number; strategy: string; willDelay: boolean; }; }