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

Fix: XAUTOCLAIM after a TRIM with pending messages returns nil (#2565)

* fix(client): XCLAIM & XAUTOCLAIM after a TRIM might return nils

* fix(client): Fix race condition in specs

* revert test utils changes

* make tests faster

---------

Co-authored-by: Leibale Eidelman <me@leibale.com>
This commit is contained in:
Charley DAVID
2023-09-19 23:37:16 +02:00
committed by GitHub
parent 4ec97be4f0
commit e00041e0eb
6 changed files with 154 additions and 27 deletions

View File

@@ -92,19 +92,27 @@ export interface StreamMessageReply {
message: Record<string, RedisCommandArgument>;
}
export function transformStreamMessageReply([id, message]: Array<any>): StreamMessageReply {
return {
id,
message: transformTuplesReply(message)
};
}
export function transformStreamMessageNullReply(reply: Array<any>): StreamMessageReply | null {
if (reply === null) return null;
return transformStreamMessageReply(reply);
}
export type StreamMessagesReply = Array<StreamMessageReply>;
export function transformStreamMessagesReply(reply: Array<any>): StreamMessagesReply {
const messages = [];
return reply.map(transformStreamMessageReply);
}
for (const [id, message] of reply) {
messages.push({
id,
message: transformTuplesReply(message)
});
}
return messages;
export type StreamMessagesNullReply = Array<StreamMessageReply | null>;
export function transformStreamMessagesNullReply(reply: Array<any>): StreamMessagesNullReply {
return reply.map(transformStreamMessageNullReply);
}
export type StreamsMessagesReply = Array<{