Skip to content

Commit 5f813f3

Browse files
joni7777luin
andauthored
fix: srandmember with count argument should return array of strings (#1620)
Co-authored-by: Zihua Li <[email protected]>
1 parent d8a87bc commit 5f813f3

File tree

3 files changed

+15
-9
lines changed

3 files changed

+15
-9
lines changed

Diff for: bin/returnTypes.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -265,7 +265,7 @@ module.exports = {
265265
sort: "number" | "unknown[]",
266266
sortRo: "unknown[]",
267267
spop: (types) => (types.length > 1 ? "string[]" : "string | null"),
268-
srandmember: "string | unknown[] | null",
268+
srandmember: (types) => (types.length > 1 ? "string[]" : "string | null"),
269269
srem: "number",
270270
strlen: "number",
271271
sunion: "string[]",

Diff for: lib/utils/RedisCommander.ts

+8-8
Original file line numberDiff line numberDiff line change
@@ -8139,22 +8139,22 @@ interface RedisCommander<Context extends ClientContext = { type: "default" }> {
81398139
*/
81408140
srandmember(
81418141
key: RedisKey,
8142-
callback?: Callback<string | unknown[] | null>
8143-
): Result<string | unknown[] | null, Context>;
8142+
callback?: Callback<string | null>
8143+
): Result<string | null, Context>;
81448144
srandmemberBuffer(
81458145
key: RedisKey,
8146-
callback?: Callback<Buffer | unknown[] | null>
8147-
): Result<Buffer | unknown[] | null, Context>;
8146+
callback?: Callback<Buffer | null>
8147+
): Result<Buffer | null, Context>;
81488148
srandmember(
81498149
key: RedisKey,
81508150
count: number | string,
8151-
callback?: Callback<string | unknown[] | null>
8152-
): Result<string | unknown[] | null, Context>;
8151+
callback?: Callback<string[]>
8152+
): Result<string[], Context>;
81538153
srandmemberBuffer(
81548154
key: RedisKey,
81558155
count: number | string,
8156-
callback?: Callback<Buffer | unknown[] | null>
8157-
): Result<Buffer | unknown[] | null, Context>;
8156+
callback?: Callback<Buffer[]>
8157+
): Result<Buffer[], Context>;
81588158

81598159
/**
81608160
* Remove one or more members from a set

Diff for: test/typing/commands.test-d.ts

+6
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,12 @@ expectType<Promise<number[]>>(
7171
redis.lpos("key", "element", "RANK", -1, "COUNT", 2)
7272
);
7373

74+
// SRANDMEMBER
75+
expectType<Promise<string | null>>(redis.srandmember("key"));
76+
expectType<Promise<Buffer | null>>(redis.srandmemberBuffer("key"));
77+
expectType<Promise<string[]>>(redis.srandmember("key", 10));
78+
expectType<Promise<Buffer[]>>(redis.srandmemberBuffer("key", 10));
79+
7480
// LMISMEMBER
7581
expectType<Promise<number[]>>(redis.smismember("key", "e1", "e2"));
7682

0 commit comments

Comments
 (0)