You've already forked node-redis
mirror of
https://github.com/redis/node-redis.git
synced 2025-08-09 00:22:08 +03:00
48
index.ts
48
index.ts
@@ -1,5 +1,13 @@
|
|||||||
import { createClient as _createClient, createCluster as _createCluster, RedisClientOptions, RedisClientType, RedisClusterOptions, RedisClusterType } from '@node-redis/client';
|
import {
|
||||||
import { RedisScripts } from '@node-redis/client/dist/lib/commands';
|
RedisModules,
|
||||||
|
RedisScripts,
|
||||||
|
createClient as _createClient,
|
||||||
|
RedisClientOptions,
|
||||||
|
RedisClientType as _RedisClientType,
|
||||||
|
createCluster as _createCluster,
|
||||||
|
RedisClusterOptions,
|
||||||
|
RedisClusterType as _RedisClusterType
|
||||||
|
} from '@node-redis/client';
|
||||||
import RedisBloomModules from '@node-redis/bloom';
|
import RedisBloomModules from '@node-redis/bloom';
|
||||||
import RedisGraph from '@node-redis/graph';
|
import RedisGraph from '@node-redis/graph';
|
||||||
import RedisJSON from '@node-redis/json';
|
import RedisJSON from '@node-redis/json';
|
||||||
@@ -13,7 +21,7 @@ export * from '@node-redis/json';
|
|||||||
export * from '@node-redis/search';
|
export * from '@node-redis/search';
|
||||||
export * from '@node-redis/time-series';
|
export * from '@node-redis/time-series';
|
||||||
|
|
||||||
const modules = {
|
const modules = {
|
||||||
...RedisBloomModules,
|
...RedisBloomModules,
|
||||||
graph: RedisGraph,
|
graph: RedisGraph,
|
||||||
json: RedisJSON,
|
json: RedisJSON,
|
||||||
@@ -21,20 +29,38 @@ const modules = {
|
|||||||
ts: RedisTimeSeries
|
ts: RedisTimeSeries
|
||||||
};
|
};
|
||||||
|
|
||||||
export function createClient<S extends RedisScripts>(
|
export type RedisDefaultModules = typeof modules;
|
||||||
options?: Omit<RedisClientOptions<never, S>, 'modules'>
|
|
||||||
): RedisClientType<typeof modules, S> {
|
export type RedisClientType<
|
||||||
|
M extends RedisModules = RedisDefaultModules,
|
||||||
|
S extends RedisScripts = Record<string, never>
|
||||||
|
> = _RedisClientType<M, S>;
|
||||||
|
|
||||||
|
export function createClient<M extends RedisModules, S extends RedisScripts>(
|
||||||
|
options?: RedisClientOptions<M, S>
|
||||||
|
): _RedisClientType<RedisDefaultModules & M, S> {
|
||||||
return _createClient({
|
return _createClient({
|
||||||
...options,
|
...options,
|
||||||
modules
|
modules: {
|
||||||
|
...modules,
|
||||||
|
...(options?.modules as M)
|
||||||
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
export function createCluster<S extends RedisScripts>(
|
export type RedisClusterType<
|
||||||
options: Omit<RedisClusterOptions<never, S>, 'modules'>
|
M extends RedisModules = RedisDefaultModules,
|
||||||
): RedisClusterType<typeof modules, S> {
|
S extends RedisScripts = Record<string, never>
|
||||||
|
> = _RedisClusterType<M, S>;
|
||||||
|
|
||||||
|
export function createCluster<M extends RedisModules, S extends RedisScripts>(
|
||||||
|
options: RedisClusterOptions<M, S>
|
||||||
|
): RedisClusterType<RedisDefaultModules & M, S> {
|
||||||
return _createCluster({
|
return _createCluster({
|
||||||
...options,
|
...options,
|
||||||
modules
|
modules: {
|
||||||
|
...modules,
|
||||||
|
...(options?.modules as M)
|
||||||
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user