import { StreamMessageReply, transformReplyTuples } from './generic-transformers'; export const FIRST_KEY_INDEX = 2; export const IS_READ_ONLY = true; export function transformArguments(key: string): Array { return ['XINFO', 'STREAM', key]; } interface XInfoStreamReply { length: number; radixTreeKeys: number; radixTreeNodes: number; groups: number; lastGeneratedId: string; firstEntry: StreamMessageReply | null; lastEntry: StreamMessageReply | null; }; export function transformReply(reply: Array): XInfoStreamReply { return { length: reply[1], radixTreeKeys: reply[3], radixTreeNodes: reply[5], lastGeneratedId: reply[7], groups: reply[9], firstEntry: reply[11] ? { id: reply[11][0] ?? null, message: transformReplyTuples(reply[11][1]) } : null, lastEntry: reply[13] ? { id: reply[13][0], message: transformReplyTuples(reply[13][1]) } : null }; }