@@ -13,20 +13,13 @@ export interface RedisSocketCommonOptions {
13
13
reconnectStrategy ?( retries : number ) : number | Error ;
14
14
}
15
15
16
- export interface RedisNetSocketOptions extends RedisSocketCommonOptions {
17
- port ?: number ;
18
- host ?: string ;
19
- }
20
-
21
- export interface RedisUnixSocketOptions extends RedisSocketCommonOptions {
22
- path : string ;
23
- }
16
+ export type RedisNetSocketOptions = Partial < net . SocketConnectOpts > ;
24
17
25
- export interface RedisTlsSocketOptions extends RedisNetSocketOptions , tls . SecureContextOptions , tls . CommonConnectionOptions {
18
+ export interface RedisTlsSocketOptions extends RedisSocketCommonOptions , tls . ConnectionOptions {
26
19
tls : true ;
27
20
}
28
21
29
- export type RedisSocketOptions = RedisNetSocketOptions | RedisUnixSocketOptions | RedisTlsSocketOptions ;
22
+ export type RedisSocketOptions = RedisSocketCommonOptions & ( RedisNetSocketOptions | RedisTlsSocketOptions ) ;
30
23
31
24
interface CreateSocketReturn < T > {
32
25
connectEvent : string ;
@@ -38,9 +31,9 @@ export type RedisSocketInitiator = () => Promise<void>;
38
31
export default class RedisSocket extends EventEmitter {
39
32
static #initiateOptions( options ?: RedisSocketOptions ) : RedisSocketOptions {
40
33
options ??= { } ;
41
- if ( ! RedisSocket . #isUnixSocket ( options ) ) {
42
- ( options as RedisNetSocketOptions ) . port ??= 6379 ;
43
- ( options as RedisNetSocketOptions ) . host ??= '127.0.0.1' ;
34
+ if ( ! ( options as net . IpcSocketConnectOpts ) . path ) {
35
+ ( options as net . TcpSocketConnectOpts ) . port ??= 6379 ;
36
+ ( options as net . TcpSocketConnectOpts ) . host ??= '127.0.0.1' ;
44
37
}
45
38
46
39
options . connectTimeout ??= 5000 ;
@@ -54,10 +47,6 @@ export default class RedisSocket extends EventEmitter {
54
47
return Math . min ( retries * 50 , 500 ) ;
55
48
}
56
49
57
- static #isUnixSocket( options : RedisSocketOptions ) : options is RedisUnixSocketOptions {
58
- return Object . prototype . hasOwnProperty . call ( options , 'path' ) ;
59
- }
60
-
61
50
static #isTlsSocket( options : RedisSocketOptions ) : options is RedisTlsSocketOptions {
62
51
return ( options as RedisTlsSocketOptions ) . tls === true ;
63
52
}
0 commit comments