annotations-design-patterns
    Preparing search index...

    Function RateLimit

    • Limita el método a maxCalls ejecuciones por ventana deslizante de windowMs milisegundos, por instancia. Las llamadas que exceden el límite se descartan en silencio. El método debe devolver void. Generalización de @Throttle (que equivale a RateLimit(1, intervalo)).

      Parameters

      • maxCalls: number
      • windowMs: number

      Returns <This, Args extends unknown[]>(
          target: (this: This, ...args: Args) => void,
          context: ClassMethodDecoratorContext<
              This,
              (this: This, ...args: Args) => void,
          >,
      ) => (this: This, ...args: Args) => void

      class Notifier {
      @RateLimit(5, 60_000) // máximo 5 avisos por minuto
      send(message: string): void { ... }
      }