@@ -14,6 +14,8 @@ import { setTimeout } from 'node:timers/promises';
14
14
import RedisSentinelModule from './module'
15
15
import { RedisVariadicArgument } from '../commands/generic-transformers' ;
16
16
import { WaitQueue } from './wait-queue' ;
17
+ import { TcpNetConnectOpts } from 'node:net' ;
18
+ import { RedisTcpSocketOptions } from '../client/socket' ;
17
19
18
20
interface ClientInfo {
19
21
id : number ;
@@ -578,8 +580,8 @@ class RedisSentinelInternal<
578
580
}
579
581
580
582
readonly #name: string ;
581
- readonly #nodeClientOptions: RedisClientOptions < M , F , S , RESP , TYPE_MAPPING > ;
582
- readonly #sentinelClientOptions: RedisClientOptions < typeof RedisSentinelModule , F , S , RESP , TYPE_MAPPING > ;
583
+ readonly #nodeClientOptions: RedisClientOptions < M , F , S , RESP , TYPE_MAPPING , RedisTcpSocketOptions > ;
584
+ readonly #sentinelClientOptions: RedisClientOptions < typeof RedisSentinelModule , F , S , RESP , TYPE_MAPPING , RedisTcpSocketOptions > ;
583
585
readonly #scanInterval: number ;
584
586
readonly #passthroughClientErrorEvents: boolean ;
585
587
@@ -624,12 +626,12 @@ class RedisSentinelInternal<
624
626
this . #scanInterval = options . scanInterval ?? 0 ;
625
627
this . #passthroughClientErrorEvents = options . passthroughClientErrorEvents ?? false ;
626
628
627
- this . #nodeClientOptions = options . nodeClientOptions ? Object . assign ( { } as RedisClientOptions < M , F , S , RESP , TYPE_MAPPING > , options . nodeClientOptions ) : { } ;
629
+ this . #nodeClientOptions = options . nodeClientOptions ? Object . assign ( { } as RedisClientOptions < M , F , S , RESP , TYPE_MAPPING , RedisTcpSocketOptions > , options . nodeClientOptions ) : { } ;
628
630
if ( this . #nodeClientOptions. url !== undefined ) {
629
631
throw new Error ( "invalid nodeClientOptions for Sentinel" ) ;
630
632
}
631
633
632
- this . #sentinelClientOptions = options . sentinelClientOptions ? Object . assign ( { } as RedisClientOptions < typeof RedisSentinelModule , F , S , RESP , TYPE_MAPPING > , options . sentinelClientOptions ) : { } ;
634
+ this . #sentinelClientOptions = options . sentinelClientOptions ? Object . assign ( { } as RedisClientOptions < typeof RedisSentinelModule , F , S , RESP , TYPE_MAPPING , RedisTcpSocketOptions > , options . sentinelClientOptions ) : { } ;
633
635
this . #sentinelClientOptions. modules = RedisSentinelModule ;
634
636
635
637
if ( this . #sentinelClientOptions. url !== undefined ) {
@@ -754,7 +756,8 @@ class RedisSentinelInternal<
754
756
await this . #reset( ) ;
755
757
continue ;
756
758
}
757
- this . #trace( "attemping to send command to " + client . options ?. socket ?. host + ":" + client . options ?. socket ?. port )
759
+ const sockOpts = client . options ?. socket as TcpNetConnectOpts | undefined ;
760
+ this . #trace( "attemping to send command to " + sockOpts ?. host + ":" + sockOpts ?. port )
758
761
759
762
try {
760
763
/*
@@ -1198,7 +1201,8 @@ class RedisSentinelInternal<
1198
1201
1199
1202
if ( replicaCloseSet . has ( str ) || ! replica . isOpen ) {
1200
1203
if ( replica . isOpen ) {
1201
- this . #trace( `destroying replica client to ${ replica . options ?. socket ?. host } :${ replica . options ?. socket ?. port } ` ) ;
1204
+ const sockOpts = replica . options ?. socket as TcpNetConnectOpts | undefined ;
1205
+ this . #trace( `destroying replica client to ${ sockOpts ?. host } :${ sockOpts ?. port } ` ) ;
1202
1206
replica . destroy ( )
1203
1207
}
1204
1208
if ( ! removedSet . has ( str ) ) {
0 commit comments