UNPKG

express-rate-limiter-ts

Version:

A powerful, flexible and modern rate limiter middleware for Express.js written in TypeScript.

37 lines (36 loc) 1.49 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.DummyStore = void 0; // DummyStore: Does not actually limit, just shows how to implement the interface. // Each function and important lines have comments. class DummyStore { // Increment function. Always returns as if limit is not exceeded. async incr(key) { // Always returns 0 requests and not exceeded. return { current: 0, // Current request count remaining: 0, // Remaining requests (always 0 for dummy) resetTime: new Date(Date.now() + 60000), // Pretend to reset after 1 minute exceeded: false, // Limit is never exceeded }; } // Read counter function. Always returns 0. async get(key) { return { count: 0, resetTime: Date.now() + 60000 }; } // Reset counter function. Does nothing for dummy. async reset(key) { } // Record statistics. Does nothing for dummy. async recordStat(route) { } // Returns statistics. Returns empty object for dummy. async getStats() { return {}; } // Ban function. Does nothing for dummy. async ban(key, seconds, reason) { } // Ban check. Always returns as not banned. async isBanned(key) { return { banned: false }; } // Returns banned keys. Returns empty object for dummy. async getBanned() { return {}; } // Unban function. Does nothing for dummy. async unban(key) { } } exports.DummyStore = DummyStore;