diff --git a/types/redis-rate-limiter/index.d.ts b/types/redis-rate-limiter/index.d.ts index 6e36f60f3e..ec277ae82a 100644 --- a/types/redis-rate-limiter/index.d.ts +++ b/types/redis-rate-limiter/index.d.ts @@ -1,6 +1,7 @@ -// Type definitions for redis-rate-limiter 1.0.3 +// Type definitions for redis-rate-limiter 1.2 // Project: https://github.com/TabDigital/redis-rate-limiter // Definitions by: Seth Westphal +// Hasan Oezdemir // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 2.3 @@ -20,6 +21,8 @@ declare namespace RedisRateLimiter { window?: number; limit?: number; rate?: string; + deleteImmediatelyIfRaceCondition?: boolean; + onPossibleRaceCondition?: (key: string) => void; } export interface Response { @@ -31,4 +34,4 @@ declare namespace RedisRateLimiter { } } -export = RedisRateLimiter; \ No newline at end of file +export = RedisRateLimiter; diff --git a/types/redis-rate-limiter/redis-rate-limiter-tests.ts b/types/redis-rate-limiter/redis-rate-limiter-tests.ts index a121d28477..98cb34a4e0 100644 --- a/types/redis-rate-limiter/redis-rate-limiter-tests.ts +++ b/types/redis-rate-limiter/redis-rate-limiter-tests.ts @@ -30,7 +30,9 @@ limit(request, function(err, rate) { var middleware = rateLimiter.middleware({ redis: redisClient, key: 'ip', - rate: '100/minute' + rate: '100/minute', + deleteImmediatelyIfRaceCondition: true, + onPossibleRaceCondition: key => console.log(`A race condition has been detected for <${key}>!`) }); var app = express(); diff --git a/types/redis-rate-limiter/tslint.json b/types/redis-rate-limiter/tslint.json index a41bf5d19a..a0357daa61 100644 --- a/types/redis-rate-limiter/tslint.json +++ b/types/redis-rate-limiter/tslint.json @@ -7,7 +7,6 @@ "ban-types": false, "callable-types": false, "comment-format": false, - "dt-header": false, "eofline": false, "export-just-namespace": false, "import-spacing": false,