From 6e2941256d9f012fa82f2faace8ca6582e9bc637 Mon Sep 17 00:00:00 2001 From: Austin Beer Date: Thu, 12 Mar 2020 19:12:25 -0600 Subject: [PATCH] Add IORedis and redisURL to rate-limit-redis (#43070) * Update to support IORedis and redisURL to match rate-limit-redis 1.7.0 * Fix lint issue --- types/rate-limit-redis/index.d.ts | 9 ++++++--- types/rate-limit-redis/rate-limit-redis-tests.ts | 11 +++++++++++ 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/types/rate-limit-redis/index.d.ts b/types/rate-limit-redis/index.d.ts index 3969bb4e28..4b27c7edff 100644 --- a/types/rate-limit-redis/index.d.ts +++ b/types/rate-limit-redis/index.d.ts @@ -1,18 +1,21 @@ -// Type definitions for rate-limit-redis 1.6 +// Type definitions for rate-limit-redis 1.7 // Project: https://github.com/wyattjoh/rate-limit-redis#readme // Definitions by: Chris Suich -// Connor love +// Connor Love +// Austin Beer // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 2.7 import { RedisClient } from 'redis'; +import IORedis = require('ioredis'); import { Store } from 'express-rate-limit'; interface RedisStoreOptions { expiry?: number; prefix?: string; resetExpiryOnChange?: boolean; - client?: RedisClient; + client?: RedisClient | IORedis.Redis; + redisURL?: string; } declare var RedisStore: { diff --git a/types/rate-limit-redis/rate-limit-redis-tests.ts b/types/rate-limit-redis/rate-limit-redis-tests.ts index 45e9db675e..1aa8778c08 100644 --- a/types/rate-limit-redis/rate-limit-redis-tests.ts +++ b/types/rate-limit-redis/rate-limit-redis-tests.ts @@ -1,4 +1,5 @@ import { RedisClient } from 'redis'; +import IORedis = require('ioredis'); import RedisStore from 'rate-limit-redis'; import { Store } from 'express-rate-limit'; @@ -26,3 +27,13 @@ store = new RedisStore({ store = new RedisStore({ client: new RedisClient({}), }); + +// $ExpectType Store +store = new RedisStore({ + client: new IORedis({}), +}); + +// $ExpectType Store +store = new RedisStore({ + redisURL: 'redis://localhost:6379', +});