@@ -46,7 +46,7 @@ export function transformStringDoubleArgument(num: RedisArgument | number): Redi
4646export const transformDoubleReply = {
4747 2 : ( reply : BlobStringReply , preserve ?: any , typeMapping ?: TypeMapping ) : DoubleReply => {
4848 const double = typeMapping ? typeMapping [ RESP_TYPES . DOUBLE ] : undefined ;
49-
49+
5050 switch ( double ) {
5151 case String : {
5252 return reply as unknown as DoubleReply ;
@@ -58,13 +58,13 @@ export const transformDoubleReply = {
5858 case 'inf' :
5959 case '+inf' :
6060 ret = Infinity ;
61-
61+
6262 case '-inf' :
6363 ret = - Infinity ;
64-
64+
6565 case 'nan' :
6666 ret = NaN ;
67-
67+
6868 default :
6969 ret = Number ( reply ) ;
7070 }
@@ -98,7 +98,7 @@ export function createTransformNullableDoubleReplyResp2Func(preserve?: any, type
9898export const transformNullableDoubleReply = {
9999 2 : ( reply : BlobStringReply | NullReply , preserve ?: any , typeMapping ?: TypeMapping ) => {
100100 if ( reply === null ) return null ;
101-
101+
102102 return transformDoubleReply [ 2 ] ( reply as BlobStringReply , preserve , typeMapping ) ;
103103 } ,
104104 3 : undefined as unknown as ( ) => DoubleReply | NullReply
@@ -514,19 +514,25 @@ export function parseArgs(command: Command, ...args: Array<any>): CommandArgumen
514514
515515export type StreamMessageRawReply = TuplesReply < [
516516 id : BlobStringReply ,
517- message : ArrayReply < BlobStringReply >
517+ message : ArrayReply < BlobStringReply > ,
518+ millisElapsedFromDelivery ?: NumberReply ,
519+ deliveriesCounter ?: NumberReply
518520] > ;
519521
520522export type StreamMessageReply = {
521523 id : BlobStringReply ,
522524 message : MapReply < BlobStringReply | string , BlobStringReply > ,
525+ millisElapsedFromDelivery ?: number
526+ deliveriesCounter ?: number
523527} ;
524528
525529export function transformStreamMessageReply ( typeMapping : TypeMapping | undefined , reply : StreamMessageRawReply ) : StreamMessageReply {
526- const [ id , message ] = reply as unknown as UnwrapReply < typeof reply > ;
530+ const [ id , message , millisElapsedFromDelivery , deliveriesCounter ] = reply as unknown as UnwrapReply < typeof reply > ;
527531 return {
528532 id : id ,
529- message : transformTuplesReply ( message , undefined , typeMapping )
533+ message : transformTuplesReply ( message , undefined , typeMapping ) ,
534+ ...( millisElapsedFromDelivery !== undefined ? { millisElapsedFromDelivery : Number ( millisElapsedFromDelivery ) } : { } ) ,
535+ ...( deliveriesCounter !== undefined ? { deliveriesCounter : Number ( deliveriesCounter ) } : { } )
530536 } ;
531537}
532538
@@ -557,7 +563,7 @@ export function transformStreamsMessagesReplyResp2(
557563 reply : UnwrapReply < StreamsMessagesRawReply2 | NullReply > ,
558564 preserve ?: any ,
559565 typeMapping ?: TypeMapping
560- ) : StreamsMessagesReply | NullReply {
566+ ) : StreamsMessagesReply | NullReply {
561567 // FUTURE: resposne type if resp3 was working, reverting to old v4 for now
562568 //: MapReply<BlobStringReply | string, StreamMessagesReply> | NullReply {
563569 if ( reply === null ) return null as unknown as NullReply ;
@@ -569,25 +575,25 @@ export function transformStreamsMessagesReplyResp2(
569575
570576 for (let i=0; i < reply.length; i++) {
571577 const stream = reply[i] as unknown as UnwrapReply<StreamMessagesRawReply>;
572-
578+
573579 const name = stream[0];
574580 const rawMessages = stream[1];
575-
581+
576582 ret.set(name.toString(), transformStreamMessagesReply(rawMessages, typeMapping));
577583 }
578-
584+
579585 return ret as unknown as MapReply<string, StreamMessagesReply>;
580586 }
581587 case Array: {
582588 const ret: Array<BlobStringReply | StreamMessagesReply> = [];
583589
584590 for (let i=0; i < reply.length; i++) {
585591 const stream = reply[i] as unknown as UnwrapReply<StreamMessagesRawReply>;
586-
592+
587593 const name = stream[0];
588594 const rawMessages = stream[1];
589-
590- ret.push(name);
595+
596+ ret.push(name);
591597 ret.push(transformStreamMessagesReply(rawMessages, typeMapping));
592598 }
593599
@@ -598,13 +604,13 @@ export function transformStreamsMessagesReplyResp2(
598604
599605 for (let i=0; i < reply.length; i++) {
600606 const stream = reply[i] as unknown as UnwrapReply<StreamMessagesRawReply>;
601-
607+
602608 const name = stream[0] as unknown as UnwrapReply<BlobStringReply>;
603609 const rawMessages = stream[1];
604-
610+
605611 ret[name.toString()] = transformStreamMessagesReply(rawMessages);
606612 }
607-
613+
608614 return ret as unknown as MapReply<string, StreamMessagesReply>;
609615 }
610616*/
@@ -630,7 +636,7 @@ type StreamsMessagesRawReply3 = MapReply<BlobStringReply, ArrayReply<StreamMessa
630636
631637export function transformStreamsMessagesReplyResp3 ( reply : UnwrapReply < StreamsMessagesRawReply3 | NullReply > ) : MapReply < BlobStringReply , StreamMessagesReply > | NullReply {
632638 if ( reply === null ) return null as unknown as NullReply ;
633-
639+
634640 if ( reply instanceof Map ) {
635641 const ret = new Map < string , StreamMessagesReply > ( ) ;
636642
0 commit comments