You've already forked node-redis
mirror of
https://github.com/redis/node-redis.git
synced 2025-08-06 02:15:48 +03:00
Support new muilti pop commands (#2051)
* Support new muilti pop commands
* remove .only
* clean code
* fix for 4558ec6a31
* fix tests
Co-authored-by: leibale <leibale1998@gmail.com>
This commit is contained in:
@@ -131,6 +131,13 @@ export function transformSortedSetMemberNullReply(
|
||||
): ZMember | null {
|
||||
if (!reply.length) return null;
|
||||
|
||||
return transformSortedSetMemberReply(reply);
|
||||
}
|
||||
|
||||
export function transformSortedSetMemberReply(
|
||||
reply: [RedisCommandArgument, RedisCommandArgument]
|
||||
): ZMember {
|
||||
|
||||
return {
|
||||
value: reply[0],
|
||||
score: transformNumberInfinityReply(reply[1])
|
||||
@@ -150,6 +157,52 @@ export function transformSortedSetWithScoresReply(reply: Array<RedisCommandArgum
|
||||
return members;
|
||||
}
|
||||
|
||||
export type SortedSetSide = 'MIN' | 'MAX';
|
||||
|
||||
export interface ZMPopOptions {
|
||||
COUNT?: number;
|
||||
}
|
||||
|
||||
export function transformZMPopArguments(
|
||||
args: RedisCommandArguments,
|
||||
keys: RedisCommandArgument | Array<RedisCommandArgument>,
|
||||
side: SortedSetSide,
|
||||
options?: ZMPopOptions
|
||||
): RedisCommandArguments {
|
||||
pushVerdictArgument(args, keys);
|
||||
|
||||
args.push(side);
|
||||
|
||||
if (options?.COUNT) {
|
||||
args.push('COUNT', options.COUNT.toString());
|
||||
}
|
||||
|
||||
return args;
|
||||
}
|
||||
|
||||
export type ListSide = 'LEFT' | 'RIGHT';
|
||||
|
||||
export interface LMPopOptions {
|
||||
COUNT?: number;
|
||||
}
|
||||
|
||||
export function transformLMPopArguments(
|
||||
args: RedisCommandArguments,
|
||||
keys: RedisCommandArgument | Array<RedisCommandArgument>,
|
||||
side: ListSide,
|
||||
options?: LMPopOptions
|
||||
): RedisCommandArguments {
|
||||
pushVerdictArgument(args, keys);
|
||||
|
||||
args.push(side);
|
||||
|
||||
if (options?.COUNT) {
|
||||
args.push('COUNT', options.COUNT.toString());
|
||||
}
|
||||
|
||||
return args;
|
||||
}
|
||||
|
||||
type GeoCountArgument = number | {
|
||||
value: number;
|
||||
ANY?: true
|
||||
|
Reference in New Issue
Block a user