1
0
mirror of https://github.com/redis/node-redis.git synced 2025-08-04 15:02:09 +03:00
Files
node-redis/packages/client/lib/commands/ZMPOP.ts
Avital Fine b1a0b48d2c 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>
2022-04-25 07:50:43 -04:00

35 lines
914 B
TypeScript

import { RedisCommandArgument, RedisCommandArguments } from '.';
import { SortedSetSide, transformSortedSetMemberReply, transformZMPopArguments, ZMember, ZMPopOptions } from './generic-transformers';
export const FIRST_KEY_INDEX = 2;
export function transformArguments(
keys: RedisCommandArgument | Array<RedisCommandArgument>,
side: SortedSetSide,
options?: ZMPopOptions
): RedisCommandArguments {
return transformZMPopArguments(
['ZMPOP'],
keys,
side,
options
);
}
type ZMPopRawReply = null | [
key: string,
elements: Array<[RedisCommandArgument, RedisCommandArgument]>
];
type ZMPopReply = null | {
key: string,
elements: Array<ZMember>
};
export function transformReply(reply: ZMPopRawReply): ZMPopReply {
return reply === null ? null : {
key: reply[0],
elements: reply[1].map(transformSortedSetMemberReply)
};
}