1
0
mirror of https://github.com/redis/node-redis.git synced 2025-08-07 13:22:56 +03:00
This commit is contained in:
Leibale
2023-04-26 13:32:10 -04:00
parent 567ae381b0
commit e25bcff293
151 changed files with 2502 additions and 2504 deletions

View File

@@ -1,57 +1,57 @@
import { RedisCommandArgument, RedisCommandArguments } from '.';
// import { RedisCommandArgument, RedisCommandArguments } from '.';
export interface XReadGroupStream {
key: RedisCommandArgument;
id: RedisCommandArgument;
}
// export interface XReadGroupStream {
// key: RedisCommandArgument;
// id: RedisCommandArgument;
// }
export interface XReadGroupOptions {
COUNT?: number;
BLOCK?: number;
NOACK?: true;
}
// export interface XReadGroupOptions {
// COUNT?: number;
// BLOCK?: number;
// NOACK?: true;
// }
export const FIRST_KEY_INDEX = (
_group: RedisCommandArgument,
_consumer: RedisCommandArgument,
streams: Array<XReadGroupStream> | XReadGroupStream
): RedisCommandArgument => {
return Array.isArray(streams) ? streams[0].key : streams.key;
};
// export const FIRST_KEY_INDEX = (
// _group: RedisCommandArgument,
// _consumer: RedisCommandArgument,
// streams: Array<XReadGroupStream> | XReadGroupStream
// ): RedisCommandArgument => {
// return Array.isArray(streams) ? streams[0].key : streams.key;
// };
export const IS_READ_ONLY = true;
// export const IS_READ_ONLY = true;
export function transformArguments(
group: RedisCommandArgument,
consumer: RedisCommandArgument,
streams: Array<XReadGroupStream> | XReadGroupStream,
options?: XReadGroupOptions
): RedisCommandArguments {
const args = ['XREADGROUP', 'GROUP', group, consumer];
// export function transformArguments(
// group: RedisCommandArgument,
// consumer: RedisCommandArgument,
// streams: Array<XReadGroupStream> | XReadGroupStream,
// options?: XReadGroupOptions
// ): RedisCommandArguments {
// const args = ['XREADGROUP', 'GROUP', group, consumer];
if (options?.COUNT) {
args.push('COUNT', options.COUNT.toString());
}
// if (options?.COUNT) {
// args.push('COUNT', options.COUNT.toString());
// }
if (typeof options?.BLOCK === 'number') {
args.push('BLOCK', options.BLOCK.toString());
}
// if (typeof options?.BLOCK === 'number') {
// args.push('BLOCK', options.BLOCK.toString());
// }
if (options?.NOACK) {
args.push('NOACK');
}
// if (options?.NOACK) {
// args.push('NOACK');
// }
args.push('STREAMS');
// args.push('STREAMS');
const streamsArray = Array.isArray(streams) ? streams : [streams],
argsLength = args.length;
for (let i = 0; i < streamsArray.length; i++) {
const stream = streamsArray[i];
args[argsLength + i] = stream.key;
args[argsLength + streamsArray.length + i] = stream.id;
}
// const streamsArray = Array.isArray(streams) ? streams : [streams],
// argsLength = args.length;
// for (let i = 0; i < streamsArray.length; i++) {
// const stream = streamsArray[i];
// args[argsLength + i] = stream.key;
// args[argsLength + streamsArray.length + i] = stream.id;
// }
return args;
}
// return args;
// }
export { transformStreamsMessagesReply as transformReply } from './generic-transformers';
// export { transformStreamsMessagesReply as transformReply } from './generic-transformers';