1
0
mirror of https://github.com/redis/node-redis.git synced 2025-08-07 13:22:56 +03:00

fix ZUNIONSTORE

This commit is contained in:
dovi
2023-05-02 17:43:10 -04:00
parent d643134dce
commit 31c91decec
4 changed files with 82 additions and 77 deletions

View File

@@ -1,29 +1,30 @@
// import { RedisCommandArgument, RedisCommandArguments } from '.';
// import { pushVariadicArgument } from './generic-transformers';
import { RedisArgument, NumberReply, Command, } from '../RESP/types';
import { RedisVariadicArgument, pushVariadicArgument } from './generic-transformers';
// export const FIRST_KEY_INDEX = 1;
export interface ZUnionOptions {
WEIGHTS?: Array<number>;
AGGREGATE?: 'SUM' | 'MIN' | 'MAX';
}
// interface ZUnionOptions {
// WEIGHTS?: Array<number>;
// AGGREGATE?: 'SUM' | 'MIN' | 'MAX';
// }
export default {
FIRST_KEY_INDEX: 1,
IS_READ_ONLY: false,
transformArguments(
destination: RedisArgument,
keys: RedisVariadicArgument,
options?: ZUnionOptions
) {
const args = pushVariadicArgument(['ZUNIONSTORE', destination], keys);
// export function transformArguments(
// destination: RedisCommandArgument,
// keys: Array<RedisCommandArgument> | RedisCommandArgument,
// options?: ZUnionOptions
// ): RedisCommandArguments {
// const args = pushVariadicArgument(['ZUNIONSTORE', destination], keys);
if (options?.WEIGHTS) {
args.push('WEIGHTS', ...options.WEIGHTS.map(weight => weight.toString()));
}
// if (options?.WEIGHTS) {
// args.push('WEIGHTS', ...options.WEIGHTS.map(weight => weight.toString()));
// }
if (options?.AGGREGATE) {
args.push('AGGREGATE', options.AGGREGATE);
}
// if (options?.AGGREGATE) {
// args.push('AGGREGATE', options.AGGREGATE);
// }
// return args;
// }
// export declare function transformReply(): number;
return args;
},
transformReply: undefined as unknown as () => NumberReply
} as const satisfies Command;