diff --git a/bin/returnTypes.js b/bin/returnTypes.js index f86d302e..cdbe6147 100644 --- a/bin/returnTypes.js +++ b/bin/returnTypes.js @@ -265,7 +265,7 @@ module.exports = { sort: "number" | "unknown[]", sortRo: "unknown[]", spop: (types) => (types.length > 1 ? "string[]" : "string | null"), - srandmember: "string | unknown[] | null", + srandmember: (types) => (types.length > 1 ? "string[]" : "string | null"), srem: "number", strlen: "number", sunion: "string[]", diff --git a/lib/utils/RedisCommander.ts b/lib/utils/RedisCommander.ts index 4f127db3..681710b8 100644 --- a/lib/utils/RedisCommander.ts +++ b/lib/utils/RedisCommander.ts @@ -8139,22 +8139,22 @@ interface RedisCommander { */ srandmember( key: RedisKey, - callback?: Callback - ): Result; + callback?: Callback + ): Result; srandmemberBuffer( key: RedisKey, - callback?: Callback - ): Result; + callback?: Callback + ): Result; srandmember( key: RedisKey, count: number | string, - callback?: Callback - ): Result; + callback?: Callback + ): Result; srandmemberBuffer( key: RedisKey, count: number | string, - callback?: Callback - ): Result; + callback?: Callback + ): Result; /** * Remove one or more members from a set diff --git a/test/typing/commands.test-d.ts b/test/typing/commands.test-d.ts index 247e514f..4e5fcdb6 100644 --- a/test/typing/commands.test-d.ts +++ b/test/typing/commands.test-d.ts @@ -71,6 +71,12 @@ expectType>( redis.lpos("key", "element", "RANK", -1, "COUNT", 2) ); +// SRANDMEMBER +expectType>(redis.srandmember("key")); +expectType>(redis.srandmemberBuffer("key")); +expectType>(redis.srandmember("key", 10)); +expectType>(redis.srandmemberBuffer("key", 10)); + // LMISMEMBER expectType>(redis.smismember("key", "e1", "e2"));