UNPKG

@adonisjs/limiter

Version:

Rate limiting package for AdonisJS framework

39 lines (36 loc) 1.03 kB
import { RateLimiterBridge, debug_default } from "./chunk-RWNA5JOS.js"; // src/stores/memory.ts import string from "@adonisjs/core/helpers/string"; import { RateLimiterMemory } from "rate-limiter-flexible"; var LimiterMemoryStore = class extends RateLimiterBridge { #config; get name() { return "memory"; } constructor(config) { debug_default("creating memory limiter store %O", config); const resolvedConfig = { keyPrefix: config.keyPrefix, execEvenly: config.execEvenly, points: config.requests, duration: string.seconds.parse(config.duration), blockDuration: config.blockDuration ? string.seconds.parse(config.blockDuration) : void 0 }; super(new RateLimiterMemory(resolvedConfig)); this.#config = resolvedConfig; } /** * Clears the existing memory store to reset * rate limits */ async clear() { debug_default("clearing memory store"); this.rateLimiter = new RateLimiterMemory(this.#config); } }; export { LimiterMemoryStore };