vona-module-a-redis 5.0.32 → 5.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/LICENSE CHANGED
File without changes
@@ -70,3 +70,4 @@ declare module 'vona' {
70
70
  }
71
71
  }
72
72
  /** scope: end */
73
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/.metadata/index.ts"],"names":[],"mappings":"AACA,kBAAkB;AAClB,cAAc,uBAAuB,CAAC;AAEtC,OAAO,MAAM,CAAC;AACd,OAAO,QAAQ,MAAM,CAAC;CAGrB;AACD,OAAO,QAAQ,qBAAqB,CAAC;IAE7B,UAAiB,SAAS;KAGzB;CACR;AACD,gBAAgB;AAChB,kBAAkB;AAClB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,MAAM,CAAC;AACd,OAAO,QAAQ,MAAM,CAAC;IACpB,UAAiB,iBAAiB;QAChC,OAAO,EAAE,SAAS,CAAC;KACpB;CACF;AACD,gBAAgB;AAChB,qBAAqB;AACrB,cAAc,qBAAqB,CAAC;AACpC,cAAc,4BAA4B,CAAC;AAE3C,OAAO,oBAAoB,CAAC;AAC5B,OAAO,QAAQ,oBAAoB,CAAC;IAEhC,UAAiB,cAAc;QAC7B,eAAe,EAAE,KAAK,CAAC;KACxB;CAGJ;AACD,OAAO,QAAQ,qBAAqB,CAAC;IAE7B,UAAiB,YAAY;KAG5B;IAEC,UAAiB,YAAY;QAC3B,IAAI,aAAa,IAAI,uBAAuB,CAAC;QAC7C,IAAI,UAAU,IAAI,eAAe,CAAC;KAEnC;CACV;AACD,mBAAmB;AACnB,qBAAqB;AACrB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,YAAY,CAAC;CACvB;AACD,mBAAmB;AACnB,qBAAqB;AAErB,OAAO,MAAM,CAAC;AACd,OAAO,QAAQ,MAAM,CAAC;IACpB,UAAiB,kBAAkB;QACjC,uBAAuB,EAAE,YAAY,CAAC;KACvC;CACF;AACD,mBAAmB;AACnB,kBAAkB;AAClB,cAAc,YAAY,CAAC;AAC3B,gBAAgB;AAChB,mBAAmB;AACnB,OAAO,EAAE,aAAa,EAAE,KAAK,aAAa,EAAE,MAAM,MAAM,CAAC;AAGzD,qBACa,iBAAkB,SAAQ,aAAa;CAAG;AAEvD,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,aAAa,CAAC;IACtB,OAAO,EAAE,cAAc,CAAC;CACvB;AAED,OAAO,MAAM,CAAC;AACd,OAAO,QAAQ,MAAM,CAAC;IACpB,UAAiB,gBAAgB;QAC/B,SAAS,EAAE,iBAAiB,CAAC;KAC9B;IAED,UAAiB,mBAAmB;QAClC,KAAK,EAAE,iBAAiB,CAAC;KAC1B;CAOF;AACD,iBAAiB"}
@@ -1,2 +1,3 @@
1
1
  export declare const __ThisModule__ = "a-redis";
2
2
  export { ScopeModuleARedis as ScopeModule } from './index.ts';
3
+ //# sourceMappingURL=this.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"this.d.ts","sourceRoot":"","sources":["../../src/.metadata/this.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc,YAAY,CAAC;AACxC,OAAO,EAAE,iBAAiB,IAAI,WAAW,EAAE,MAAM,YAAY,CAAC"}
@@ -1,7 +1,8 @@
1
- import type { IRedisClientRecord } from '../types/redis.ts';
2
1
  import { BeanBase } from 'vona';
2
+ import type { IRedisClientRecord } from '../types/redis.ts';
3
3
  import { ServiceRedisClient } from '../service/redisClient_.ts';
4
4
  export declare class BeanRedis extends BeanBase {
5
5
  getClient(clientName?: keyof IRedisClientRecord): ServiceRedisClient;
6
6
  get(clientName?: keyof IRedisClientRecord): import("ioredis").default;
7
7
  }
8
+ //# sourceMappingURL=bean.redis.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bean.redis.d.ts","sourceRoot":"","sources":["../../src/bean/bean.redis.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAGhC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAE5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAEhE,qBACa,SAAU,SAAQ,QAAQ;IACrC,SAAS,CAAC,UAAU,CAAC,EAAE,MAAM,kBAAkB;IAI/C,GAAG,CAAC,UAAU,CAAC,EAAE,MAAM,kBAAkB;CAI1C"}
package/dist/index.d.ts CHANGED
@@ -1,3 +1,4 @@
1
1
  export * from './.metadata/index.ts';
2
2
  export * from './lib/index.ts';
3
3
  export * from './types/index.ts';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC"}
package/dist/index.js CHANGED
@@ -118,3 +118,4 @@ ScopeModuleARedis = __decorate([Scope(), BeanInfo({
118
118
  /** scope: end */
119
119
 
120
120
  export { BeanRedis, Main, ScopeModuleARedis, ServiceRedis, ServiceRedisClient, configDefault, getRedisClientKeyPrefix, prepareRedisClientKeyPrefix };
121
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../src/lib/redis.ts","../src/service/redisClient_.ts","../src/bean/bean.redis.ts","../src/service/redis.ts","../src/main.ts","../src/.metadata/index.ts"],"sourcesContent":[null,null,null,null,null,null],"names":["getRedisClientKeyPrefix","clientName","app","mode","includes","configMeta","name","prepareRedisClientKeyPrefix","keyPrefix","ServiceRedisClient","BeanBase","constructor","args","_redisInstance","instance","__init__","_createClient","__dispose__","disconnect","configRedis","config","redis","configClient","clients","Error","cast","sentinels","Redis","nodes","Cluster","configNode","deepExtend","base","__decorate","Service","__z_BeanInfo","module","BeanRedis","getClient","bean","_getBeanSelector","get","client","Bean","ServiceRedis","clearAllData","_clearRedisKeys","_clientName","startsWith","pattern","options","keys","keysDel","fullKey","key","substring","length","push","del","Main","BeanSimple","moduleLoading","_configDefault","combineConfigDefault","configDefault","moduleLoaded","configLoaded","_config","_app","ScopeModuleARedis","BeanScopeBase","Scope"],"mappings":"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"}
@@ -1 +1,2 @@
1
1
  export * from './redis.ts';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lib/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC"}
@@ -1,3 +1,4 @@
1
1
  import type { VonaApplication } from 'vona';
2
2
  export declare function getRedisClientKeyPrefix(clientName: string, app: VonaApplication): string;
3
3
  export declare function prepareRedisClientKeyPrefix(keyPrefix: string | true | undefined, clientName: string, app: VonaApplication): string | undefined;
4
+ //# sourceMappingURL=redis.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"redis.d.ts","sourceRoot":"","sources":["../../src/lib/redis.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,MAAM,CAAC;AAE5C,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,eAAe,GAAG,MAAM,CAGxF;AAED,wBAAgB,2BAA2B,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,eAAe,GAAG,MAAM,GAAG,SAAS,CAE9I"}
package/dist/main.d.ts CHANGED
@@ -1,9 +1,10 @@
1
1
  import type { IModuleMain, PowerPartial, VonaApplication } from 'vona';
2
- import type { ConfigRedis } from './types/redis.ts';
3
2
  import { BeanSimple } from 'vona';
3
+ import type { ConfigRedis } from './types/redis.ts';
4
4
  export declare class Main extends BeanSimple implements IModuleMain {
5
5
  moduleLoading(): Promise<void>;
6
6
  moduleLoaded(): Promise<void>;
7
7
  configLoaded(_config: any): Promise<void>;
8
8
  }
9
9
  export declare function configDefault(_app: VonaApplication): Promise<PowerPartial<ConfigRedis>>;
10
+ //# sourceMappingURL=main.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,MAAM,CAAC;AAEvE,OAAO,EAAE,UAAU,EAAoC,MAAM,MAAM,CAAC;AAEpE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEpD,qBAAa,IAAK,SAAQ,UAAW,YAAW,WAAW;IACnD,aAAa;IAKb,YAAY;IAEZ,YAAY,CAAC,OAAO,EAAE,GAAG;CAChC;AAED,wBAAsB,aAAa,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,CAE7F"}
@@ -3,3 +3,4 @@ export declare class ServiceRedis extends BeanBase {
3
3
  clearAllData(): Promise<void>;
4
4
  private _clearRedisKeys;
5
5
  }
6
+ //# sourceMappingURL=redis.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"redis.d.ts","sourceRoot":"","sources":["../../src/service/redis.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAOhC,qBACa,YAAa,SAAQ,QAAQ;IAClC,YAAY;YAoBJ,eAAe;CAa9B"}
@@ -1,6 +1,6 @@
1
- import type { IRedisClientRecord } from '../types/redis.ts';
2
1
  import { Redis } from 'ioredis';
3
2
  import { BeanBase } from 'vona';
3
+ import type { IRedisClientRecord } from '../types/redis.ts';
4
4
  export declare class ServiceRedisClient extends BeanBase {
5
5
  private _redisInstance;
6
6
  get instance(): Redis;
@@ -8,3 +8,4 @@ export declare class ServiceRedisClient extends BeanBase {
8
8
  protected __dispose__(): Promise<void>;
9
9
  private _createClient;
10
10
  }
11
+ //# sourceMappingURL=redisClient_.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"redisClient_.d.ts","sourceRoot":"","sources":["../../src/service/redisClient_.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,QAAQ,EAAoB,MAAM,MAAM,CAAC;AAGlD,OAAO,KAAK,EAAsB,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAIhF,qBACa,kBAAmB,SAAQ,QAAQ;IAC9C,OAAO,CAAC,cAAc,CAAQ;IAE9B,IAAI,QAAQ,IAAI,KAAK,CAEpB;IAED,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,kBAAkB;cAKvC,WAAW;IAI3B,OAAO,CAAC,aAAa;CAetB"}
@@ -1 +1,2 @@
1
1
  export * from './redis.ts';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC"}
@@ -31,3 +31,4 @@ declare module 'vona' {
31
31
  REDIS_DEFAULT_DB: string | undefined;
32
32
  }
33
33
  }
34
+ //# sourceMappingURL=redis.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"redis.d.ts","sourceRoot":"","sources":["../../src/types/redis.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE5D,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,KAAK,CAAC;IACf,OAAO,EAAE,KAAK,CAAC;IACf,KAAK,EAAE,KAAK,CAAC;IACb,SAAS,EAAE,KAAK,CAAC;IACjB,KAAK,EAAE,KAAK,CAAC;IACb,EAAE,EAAE,KAAK,CAAC;IACV,MAAM,EAAE,KAAK,CAAC;IACd,KAAK,EAAE,KAAK,CAAC;IACb,MAAM,EAAE,KAAK,CAAC;CACf;AAED,MAAM,WAAW,mBAAoB,SAAQ,IAAI,CAAC,YAAY,EAAE,WAAW,CAAC;IAC1E,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,MAAM,WAAW,kBAAmB,SAAQ,cAAc;IACxD,KAAK,EAAE,YAAY,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,YAAY,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC,MAAM,kBAAkB,EAAE,mBAAmB,GAAG,kBAAkB,CAAC,CAAC;CACrF;AAED,OAAO,QAAQ,MAAM,CAAC;IACpB,UAAiB,UAAU;QACzB,KAAK,EAAE,WAAW,CAAC;KACpB;IAED,UAAiB,aAAa;QAC5B,kBAAkB,EAAE,MAAM,GAAG,SAAS,CAAC;QACvC,kBAAkB,EAAE,MAAM,GAAG,SAAS,CAAC;QACvC,sBAAsB,EAAE,MAAM,GAAG,SAAS,CAAC;QAC3C,gBAAgB,EAAE,MAAM,GAAG,SAAS,CAAC;KACtC;CACF"}
package/package.json CHANGED
@@ -1,19 +1,17 @@
1
1
  {
2
2
  "name": "vona-module-a-redis",
3
- "type": "module",
4
- "version": "5.0.32",
5
- "title": "a-redis",
6
- "vonaModule": {
7
- "dependencies": {},
8
- "globalDependencies": {
9
- "ioredis": true
10
- }
11
- },
3
+ "version": "5.1.1",
12
4
  "description": "",
13
- "author": "",
14
5
  "keywords": [
15
6
  "Vona Module"
16
7
  ],
8
+ "author": "",
9
+ "files": [
10
+ "assets",
11
+ "dist",
12
+ "src"
13
+ ],
14
+ "type": "module",
17
15
  "exports": {
18
16
  ".": {
19
17
  "types": [
@@ -24,19 +22,26 @@
24
22
  },
25
23
  "./package.json": "./package.json"
26
24
  },
27
- "files": [
28
- "assets",
29
- "dist"
30
- ],
25
+ "scripts": {
26
+ "clean": "rimraf dist tsconfig.build.tsbuildinfo",
27
+ "tsc:publish": "npm run clean && vona :bin:buildModule --sourcemap && tsc -p tsconfig.build.json",
28
+ "prepublishOnly": "npm run tsc:publish",
29
+ "prepack": "clean-package",
30
+ "postpack": "clean-package restore && npm run clean"
31
+ },
31
32
  "dependencies": {
32
- "ioredis": "^5.9.0"
33
+ "ioredis": "^5.9.3"
33
34
  },
34
35
  "devDependencies": {
35
36
  "clean-package": "^2.2.0",
36
37
  "rimraf": "^6.0.1"
37
38
  },
38
- "scripts": {
39
- "clean": "rimraf dist tsconfig.build.tsbuildinfo",
40
- "tsc:publish": "npm run clean && vona :bin:buildModule && tsc -p tsconfig.build.json"
41
- }
42
- }
39
+ "title": "a-redis",
40
+ "vonaModule": {
41
+ "dependencies": {},
42
+ "globalDependencies": {
43
+ "ioredis": true
44
+ }
45
+ },
46
+ "gitHead": "991189da4443b789fcf77872990b901ccf43bccb"
47
+ }
@@ -0,0 +1,100 @@
1
+ // eslint-disable
2
+ /** bean: begin */
3
+ export * from '../bean/bean.redis.ts';
4
+
5
+ import 'vona';
6
+ declare module 'vona' {
7
+
8
+
9
+ }
10
+ declare module 'vona-module-a-redis' {
11
+
12
+ export interface BeanRedis {
13
+ /** @internal */
14
+ get scope(): ScopeModuleARedis;
15
+ }
16
+ }
17
+ /** bean: end */
18
+ /** bean: begin */
19
+ import type { BeanRedis } from '../bean/bean.redis.ts';
20
+ import 'vona';
21
+ declare module 'vona' {
22
+ export interface IBeanRecordGlobal {
23
+ 'redis': BeanRedis;
24
+ }
25
+ }
26
+ /** bean: end */
27
+ /** service: begin */
28
+ export * from '../service/redis.ts';
29
+ export * from '../service/redisClient_.ts';
30
+
31
+ import 'vona-module-a-bean';
32
+ declare module 'vona-module-a-bean' {
33
+
34
+ export interface IServiceRecord {
35
+ 'a-redis:redis': never;
36
+ }
37
+
38
+
39
+ }
40
+ declare module 'vona-module-a-redis' {
41
+
42
+ export interface ServiceRedis {
43
+ /** @internal */
44
+ get scope(): ScopeModuleARedis;
45
+ }
46
+
47
+ export interface ServiceRedis {
48
+ get $beanFullName(): 'a-redis.service.redis';
49
+ get $onionName(): 'a-redis:redis';
50
+
51
+ }
52
+ }
53
+ /** service: end */
54
+ /** service: begin */
55
+ import type { ServiceRedis } from '../service/redis.ts';
56
+ export interface IModuleService {
57
+ 'redis': ServiceRedis;
58
+ }
59
+ /** service: end */
60
+ /** service: begin */
61
+
62
+ import 'vona';
63
+ declare module 'vona' {
64
+ export interface IBeanRecordGeneral {
65
+ 'a-redis.service.redis': ServiceRedis;
66
+ }
67
+ }
68
+ /** service: end */
69
+ /** main: begin */
70
+ export * from '../main.ts';
71
+ /** main: end */
72
+ /** scope: begin */
73
+ import { BeanScopeBase, type BeanScopeUtil } from 'vona';
74
+ import { Scope } from 'vona-module-a-bean';
75
+
76
+ @Scope()
77
+ export class ScopeModuleARedis extends BeanScopeBase {}
78
+
79
+ export interface ScopeModuleARedis {
80
+ util: BeanScopeUtil;
81
+ service: IModuleService;
82
+ }
83
+
84
+ import 'vona';
85
+ declare module 'vona' {
86
+ export interface IBeanScopeRecord {
87
+ 'a-redis': ScopeModuleARedis;
88
+ }
89
+
90
+ export interface IBeanScopeContainer {
91
+ redis: ScopeModuleARedis;
92
+ }
93
+
94
+
95
+
96
+
97
+
98
+
99
+ }
100
+ /** scope: end */
@@ -0,0 +1,2 @@
1
+ export const __ThisModule__ = 'a-redis';
2
+ export { ScopeModuleARedis as ScopeModule } from './index.ts';
@@ -0,0 +1,18 @@
1
+ import { BeanBase } from 'vona';
2
+ import { Bean } from 'vona-module-a-bean';
3
+
4
+ import type { IRedisClientRecord } from '../types/redis.ts';
5
+
6
+ import { ServiceRedisClient } from '../service/redisClient_.ts';
7
+
8
+ @Bean()
9
+ export class BeanRedis extends BeanBase {
10
+ getClient(clientName?: keyof IRedisClientRecord) {
11
+ return this.app.bean._getBeanSelector(ServiceRedisClient, clientName ?? 'default');
12
+ }
13
+
14
+ get(clientName?: keyof IRedisClientRecord) {
15
+ const client = this.getClient(clientName);
16
+ return client.instance;
17
+ }
18
+ }
package/src/index.ts ADDED
@@ -0,0 +1,3 @@
1
+ export * from './.metadata/index.ts';
2
+ export * from './lib/index.ts';
3
+ export * from './types/index.ts';
@@ -0,0 +1 @@
1
+ export * from './redis.ts';
@@ -0,0 +1,10 @@
1
+ import type { VonaApplication } from 'vona';
2
+
3
+ export function getRedisClientKeyPrefix(clientName: string, app: VonaApplication): string {
4
+ const mode = ['test', 'dev'].includes(app.configMeta.mode) ? '_local' : '';
5
+ return `${clientName}_${app.name}${mode}:`;
6
+ }
7
+
8
+ export function prepareRedisClientKeyPrefix(keyPrefix: string | true | undefined, clientName: string, app: VonaApplication): string | undefined {
9
+ return keyPrefix === true ? getRedisClientKeyPrefix(clientName, app) : keyPrefix;
10
+ }
package/src/main.ts ADDED
@@ -0,0 +1,20 @@
1
+ import type { IModuleMain, PowerPartial, VonaApplication } from 'vona';
2
+
3
+ import { BeanSimple, combineConfigDefault, deepExtend } from 'vona';
4
+
5
+ import type { ConfigRedis } from './types/redis.ts';
6
+
7
+ export class Main extends BeanSimple implements IModuleMain {
8
+ async moduleLoading() {
9
+ const _configDefault = await combineConfigDefault<ConfigRedis>(this.app, configDefault);
10
+ this.app.config.redis = deepExtend({}, _configDefault, this.app.config.redis);
11
+ }
12
+
13
+ async moduleLoaded() {}
14
+
15
+ async configLoaded(_config: any) {}
16
+ }
17
+
18
+ export async function configDefault(_app: VonaApplication): Promise<PowerPartial<ConfigRedis>> {
19
+ return {};
20
+ }
@@ -0,0 +1,45 @@
1
+ import type { Redis } from 'ioredis';
2
+
3
+ import { BeanBase } from 'vona';
4
+ import { Service } from 'vona-module-a-bean';
5
+
6
+ import type { IRedisClientRecord } from '../types/redis.ts';
7
+
8
+ import { getRedisClientKeyPrefix, prepareRedisClientKeyPrefix } from '../lib/redis.ts';
9
+
10
+ @Service()
11
+ export class ServiceRedis extends BeanBase {
12
+ async clearAllData() {
13
+ const app = this.app;
14
+ // clear keys
15
+ // await this._clearRedisKeys(app.bean.redis.get('limiter'), `b_${app.name}:*`);
16
+ await this._clearRedisKeys(app.bean.redis.get('queue'), `${getRedisClientKeyPrefix('bull', app)}*`);
17
+ // broadcast channel has subscribed
18
+ // await _clearRedisKeys(app.redis.get('broadcast'), `${getRedisClientKeyPrefix('broadcast', app)}*`);
19
+ for (const _clientName in app.config.redis.clients) {
20
+ const clientName = _clientName as keyof IRedisClientRecord;
21
+ if (['limiter', 'queue', 'broadcast'].includes(clientName)) continue;
22
+ if (clientName.startsWith('redlock')) {
23
+ await this._clearRedisKeys(app.bean.redis.get(clientName), `${getRedisClientKeyPrefix('redlock', app)}*`);
24
+ } else {
25
+ const client = app.config.redis.clients[clientName];
26
+ const keyPrefix = prepareRedisClientKeyPrefix(client.keyPrefix, clientName, this.app);
27
+ await this._clearRedisKeys(app.bean.redis.get(clientName), `${keyPrefix}*`);
28
+ }
29
+ }
30
+ }
31
+
32
+ private async _clearRedisKeys(redis: Redis, pattern: string) {
33
+ if (!redis) return;
34
+ const keyPrefix = redis.options.keyPrefix;
35
+ const keys = await redis.keys(pattern);
36
+ const keysDel: string[] = [];
37
+ for (const fullKey of keys) {
38
+ const key = keyPrefix ? fullKey.substring(keyPrefix.length) : fullKey;
39
+ keysDel.push(key);
40
+ }
41
+ if (keysDel.length > 0) {
42
+ await redis.del(keysDel);
43
+ }
44
+ }
45
+ }
@@ -0,0 +1,43 @@
1
+ import type { RedisOptions } from 'ioredis';
2
+
3
+ import { Redis } from 'ioredis';
4
+ import { BeanBase, cast, deepExtend } from 'vona';
5
+ import { Service } from 'vona-module-a-bean';
6
+
7
+ import type { ConfigRedisCluster, IRedisClientRecord } from '../types/redis.ts';
8
+
9
+ import { prepareRedisClientKeyPrefix } from '../lib/redis.ts';
10
+
11
+ @Service()
12
+ export class ServiceRedisClient extends BeanBase {
13
+ private _redisInstance: Redis;
14
+
15
+ get instance(): Redis {
16
+ return this._redisInstance;
17
+ }
18
+
19
+ protected __init__(clientName: keyof IRedisClientRecord) {
20
+ // instance
21
+ this._redisInstance = this._createClient(clientName);
22
+ }
23
+
24
+ protected async __dispose__() {
25
+ await this._redisInstance?.disconnect();
26
+ }
27
+
28
+ private _createClient(clientName: keyof IRedisClientRecord): Redis {
29
+ const configRedis = this.app.config.redis;
30
+ const configClient = configRedis.clients[clientName];
31
+ if (!configClient) throw new Error(`redis client not found: ${clientName}`);
32
+ if (cast<RedisOptions>(configClient).sentinels) {
33
+ // sentinels
34
+ return new Redis(configClient as RedisOptions);
35
+ } else if (cast<ConfigRedisCluster>(configClient).nodes) {
36
+ return new Redis.Cluster(cast<ConfigRedisCluster>(configClient).nodes, cast<ConfigRedisCluster>(configClient)) as unknown as Redis;
37
+ } else {
38
+ const keyPrefix = prepareRedisClientKeyPrefix(configClient.keyPrefix, clientName, this.app);
39
+ const configNode = deepExtend({}, configRedis.base, configClient, { keyPrefix });
40
+ return new Redis(configNode);
41
+ }
42
+ }
43
+ }
@@ -0,0 +1 @@
1
+ export * from './redis.ts';
@@ -0,0 +1,39 @@
1
+ import type { ClusterOptions, RedisOptions } from 'ioredis';
2
+
3
+ export interface IRedisClientRecord {
4
+ default: never;
5
+ redlock: never;
6
+ queue: never;
7
+ broadcast: never;
8
+ cache: never;
9
+ io: never;
10
+ summer: never;
11
+ model: never;
12
+ worker: never;
13
+ }
14
+
15
+ export interface IRedisClientOptions extends Omit<RedisOptions, 'keyPrefix'> {
16
+ keyPrefix?: string | true;
17
+ }
18
+
19
+ export interface ConfigRedisCluster extends ClusterOptions {
20
+ nodes: RedisOptions[];
21
+ }
22
+
23
+ export interface ConfigRedis {
24
+ base: RedisOptions;
25
+ clients: Record<keyof IRedisClientRecord, IRedisClientOptions | ConfigRedisCluster>;
26
+ }
27
+
28
+ declare module 'vona' {
29
+ export interface VonaConfig {
30
+ redis: ConfigRedis;
31
+ }
32
+
33
+ export interface VonaConfigEnv {
34
+ REDIS_DEFAULT_HOST: string | undefined;
35
+ REDIS_DEFAULT_PORT: string | undefined;
36
+ REDIS_DEFAULT_PASSWORD: string | undefined;
37
+ REDIS_DEFAULT_DB: string | undefined;
38
+ }
39
+ }