@@ -4,12 +4,15 @@ import {
4
4
RedisScripts ,
5
5
RespVersions ,
6
6
TypeMapping ,
7
- createClient as _createClient ,
7
+ createClient as genericCreateClient ,
8
8
RedisClientOptions ,
9
- RedisClientType as _RedisClientType ,
10
- createCluster as _createCluster ,
9
+ RedisClientType as GenericRedisClientType ,
10
+ createCluster as genericCreateCluster ,
11
11
RedisClusterOptions ,
12
- RedisClusterType as _RedisClusterType ,
12
+ RedisClusterType as genericRedisClusterType ,
13
+ RedisSentinelOptions ,
14
+ RedisSentinelType as genericRedisSentinelType ,
15
+ createSentinel as genericCreateSentinel
13
16
} from '@redis/client' ;
14
17
import RedisBloomModules from '@redis/bloom' ;
15
18
import RedisGraph from '@redis/graph' ;
@@ -40,7 +43,7 @@ export type RedisClientType<
40
43
S extends RedisScripts = { } ,
41
44
RESP extends RespVersions = 2 ,
42
45
TYPE_MAPPING extends TypeMapping = { }
43
- > = _RedisClientType < M , F , S , RESP , TYPE_MAPPING > ;
46
+ > = GenericRedisClientType < M , F , S , RESP , TYPE_MAPPING > ;
44
47
45
48
export function createClient <
46
49
M extends RedisModules ,
@@ -50,8 +53,8 @@ export function createClient<
50
53
TYPE_MAPPING extends TypeMapping
51
54
> (
52
55
options ?: RedisClientOptions < M , F , S , RESP , TYPE_MAPPING >
53
- ) : _RedisClientType < RedisDefaultModules & M , F , S , RESP , TYPE_MAPPING > {
54
- return _createClient ( {
56
+ ) : GenericRedisClientType < RedisDefaultModules & M , F , S , RESP , TYPE_MAPPING > {
57
+ return genericCreateClient ( {
55
58
...options ,
56
59
modules : {
57
60
...modules ,
@@ -66,7 +69,7 @@ export type RedisClusterType<
66
69
S extends RedisScripts = { } ,
67
70
RESP extends RespVersions = 2 ,
68
71
TYPE_MAPPING extends TypeMapping = { }
69
- > = _RedisClusterType < M , F , S , RESP , TYPE_MAPPING > ;
72
+ > = genericRedisClusterType < M , F , S , RESP , TYPE_MAPPING > ;
70
73
71
74
export function createCluster <
72
75
M extends RedisModules ,
@@ -77,7 +80,33 @@ export function createCluster<
77
80
> (
78
81
options : RedisClusterOptions < M , F , S , RESP , TYPE_MAPPING >
79
82
) : RedisClusterType < RedisDefaultModules & M , F , S , RESP , TYPE_MAPPING > {
80
- return _createCluster ( {
83
+ return genericCreateCluster ( {
84
+ ...options ,
85
+ modules : {
86
+ ...modules ,
87
+ ...( options ?. modules as M )
88
+ }
89
+ } ) ;
90
+ }
91
+
92
+ export type RedisSentinelType <
93
+ M extends RedisModules = RedisDefaultModules ,
94
+ F extends RedisFunctions = { } ,
95
+ S extends RedisScripts = { } ,
96
+ RESP extends RespVersions = 2 ,
97
+ TYPE_MAPPING extends TypeMapping = { }
98
+ > = genericRedisSentinelType < M , F , S , RESP , TYPE_MAPPING > ;
99
+
100
+ export function createSentinel <
101
+ M extends RedisModules ,
102
+ F extends RedisFunctions ,
103
+ S extends RedisScripts ,
104
+ RESP extends RespVersions ,
105
+ TYPE_MAPPING extends TypeMapping
106
+ > (
107
+ options : RedisSentinelOptions < M , F , S , RESP , TYPE_MAPPING >
108
+ ) : RedisSentinelType < RedisDefaultModules & M , F , S , RESP , TYPE_MAPPING > {
109
+ return genericCreateSentinel ( {
81
110
...options ,
82
111
modules : {
83
112
...modules ,
0 commit comments