1
0
mirror of https://github.com/redis/node-redis.git synced 2025-08-06 02:15:48 +03:00

fix: loop over arguments instead of spreading (#2160)

* fix: loop over arguments instead of spreading

* update to use concat

* use the returned array from pushVerdictArguments (instead of assuming it'll push to the original array)

* fix "Type 'RedisCommandArguments' is not assignable to type 'string[]'."

* fix "Argument of type 'RedisCommandArgument | RedisCommandArguments[]' is not assignable to parameter of type 'RedisCommandArgument | RedisCommandArgument[]'"

* fix "Type 'RedisCommandArguments' is not assignable to type 'string[]'"

Co-authored-by: Leibale Eidelman <leibale1998@gmail.com>
This commit is contained in:
Brandon Everett
2022-07-13 07:01:35 -04:00
committed by GitHub
parent 71d582368a
commit ac032d82a0
7 changed files with 32 additions and 36 deletions

View File

@@ -1,13 +1,14 @@
import { pushVerdictArguments } from './generic-transformers';
import { RedisCommandArgument, RedisCommandArguments } from '.';
export const IS_READ_ONLY = true;
export function transformArguments(channels?: Array<string> | string): Array<string> {
export function transformArguments(
channels?: Array<RedisCommandArgument> | RedisCommandArgument
): RedisCommandArguments {
const args = ['PUBSUB', 'NUMSUB'];
if (channels) {
pushVerdictArguments(args, channels);
}
if (channels) return pushVerdictArguments(args, channels);
return args;
}

View File

@@ -18,9 +18,10 @@ export function transformArguments(
id: RedisCommandArgument | Array<RedisCommandArgument>,
options?: XClaimOptions
): RedisCommandArguments {
const args = ['XCLAIM', key, group, consumer, minIdleTime.toString()];
pushVerdictArguments(args, id);
const args = pushVerdictArguments(
['XCLAIM', key, group, consumer, minIdleTime.toString()],
id
);
if (options?.IDLE) {
args.push('IDLE', options.IDLE.toString());

View File

@@ -428,7 +428,8 @@ export function pushEvalArguments(args: Array<string>, options?: EvalOptions): A
export function pushVerdictArguments(args: RedisCommandArguments, value: RedisCommandArgument | Array<RedisCommandArgument>): RedisCommandArguments {
if (Array.isArray(value)) {
args.push(...value);
// https://github.com/redis/node-redis/pull/2160
args = args.concat(value);
} else {
args.push(value);
}