vona-module-a-broadcast 5.0.29 → 5.1.2

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
@@ -53,3 +53,4 @@ declare module 'vona' {
53
53
  }
54
54
  }
55
55
  /** scope: end */
56
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/.metadata/index.ts"],"names":[],"mappings":"AACA,qBAAqB;AACrB,cAAc,yBAAyB,CAAC;AAExC,OAAO,oBAAoB,CAAC;AAC5B,OAAO,QAAQ,oBAAoB,CAAC;IAEhC,UAAiB,cAAc;QAC7B,uBAAuB,EAAE,KAAK,CAAC;KAChC;CAGJ;AACD,OAAO,QAAQ,yBAAyB,CAAC;IAEjC,UAAiB,gBAAgB;KAGhC;IAEC,UAAiB,gBAAgB;QAC/B,IAAI,aAAa,IAAI,+BAA+B,CAAC;QACrD,IAAI,UAAU,IAAI,uBAAuB,CAAC;KAE3C;CACV;AACD,mBAAmB;AACnB,qBAAqB;AACrB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAChE,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,gBAAgB,CAAC;CAC/B;AACD,mBAAmB;AACnB,qBAAqB;AAErB,OAAO,MAAM,CAAC;AACd,OAAO,QAAQ,MAAM,CAAC;IACpB,UAAiB,kBAAkB;QACjC,+BAA+B,EAAE,gBAAgB,CAAC;KACnD;CACF;AACD,mBAAmB;AACnB,oBAAoB;AACpB,cAAc,cAAc,CAAC;AAC7B,kBAAkB;AAClB,kBAAkB;AAClB,cAAc,YAAY,CAAC;AAC3B,gBAAgB;AAChB,mBAAmB;AACnB,OAAO,EAAE,aAAa,EAAE,KAAK,aAAa,EAAE,MAAM,MAAM,CAAC;AAGzD,qBACa,qBAAsB,SAAQ,aAAa;CAAG;AAE3D,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,aAAa,CAAC;IACtB,OAAO,EAAE,cAAc,CAAC;CACvB;AAED,OAAO,MAAM,CAAC;AACd,OAAO,QAAQ,MAAM,CAAC;IACpB,UAAiB,gBAAgB;QAC/B,aAAa,EAAE,qBAAqB,CAAC;KACtC;IAED,UAAiB,mBAAmB;QAClC,SAAS,EAAE,qBAAqB,CAAC;KAClC;CAOF;AACD,iBAAiB"}
@@ -1,2 +1,3 @@
1
1
  export declare const __ThisModule__ = "a-broadcast";
2
2
  export { ScopeModuleABroadcast 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,gBAAgB,CAAC;AAC5C,OAAO,EAAE,qBAAqB,IAAI,WAAW,EAAE,MAAM,YAAY,CAAC"}
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 @@ function Broadcast(options) {
118
118
  }
119
119
 
120
120
  export { BeanBroadcastBase, Broadcast, Main, Monkey, ScopeModuleABroadcast, ServiceBroadcast };
121
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../src/service/broadcast.ts","../src/.metadata/this.ts","../src/monkey.ts","../src/main.ts","../src/.metadata/index.ts","../src/lib/beanBroadcastBase.ts","../src/lib/broadcast.ts"],"sourcesContent":[null,null,null,null,null,null,null],"names":["ServiceBroadcast","BeanBase","constructor","args","__callerId","__channelName","__sub","__pub","__init__","app","bean","worker","id","getRedisClientKeyPrefix","redis","get","duplicate","subscribe","on","_channel","info","_performTask","JSON","parse","then","catch","err","handleError","disposePub","disconnect","disposeSub","emit","callerId","publish","stringify","isEmitter","broadcastItem","onion","broadcast","getOnionSlice","broadcastName","broadcastConfig","getOnionOptions","instanceName","options","instance","isNil","meta","appReady","executor","newCtx","beanFullName","beanOptions","beanInstance","_getBean","execute","data","dbInfo","locale","tz","extraData","transaction","__decorate","Service","__z_BeanInfo","module","__ThisModule__","Monkey","BeanSimple","appClose","scopeSelf","scope","service","appClosed","Main","moduleLoading","moduleLoaded","configLoaded","_config","ScopeModuleABroadcast","BeanScopeBase","Scope","BeanBroadcastBase","$scope","_prepareInfo","prepareGeneralInfo","$onionName","Broadcast","createBeanDecorator"],"mappings":"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"}
@@ -1,6 +1,7 @@
1
- import type { IBroadcastEmitOptions } from '../types/broadcast.ts';
2
1
  import { BeanBase } from 'vona';
2
+ import type { IBroadcastEmitOptions } from '../types/broadcast.ts';
3
3
  export declare class BeanBroadcastBase<DATA = unknown> extends BeanBase {
4
4
  emit(data?: DATA, options?: IBroadcastEmitOptions): void;
5
5
  private _prepareInfo;
6
6
  }
7
+ //# sourceMappingURL=beanBroadcastBase.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"beanBroadcastBase.d.ts","sourceRoot":"","sources":["../../src/lib/beanBroadcastBase.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAEhC,OAAO,KAAK,EAAE,qBAAqB,EAAwB,MAAM,uBAAuB,CAAC;AAEzF,qBAAa,iBAAiB,CAAC,IAAI,GAAG,OAAO,CAAE,SAAQ,QAAQ;IAC7D,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,qBAAqB;IAIjD,OAAO,CAAC,YAAY;CAQrB"}
@@ -1,2 +1,3 @@
1
1
  import type { IDecoratorBroadcastOptions } from '../types/broadcast.ts';
2
2
  export declare function Broadcast(options?: IDecoratorBroadcastOptions): ClassDecorator;
3
+ //# sourceMappingURL=broadcast.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"broadcast.d.ts","sourceRoot":"","sources":["../../src/lib/broadcast.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AAExE,wBAAgB,SAAS,CAAC,OAAO,CAAC,EAAE,0BAA0B,GAAG,cAAc,CAE9E"}
@@ -1,2 +1,3 @@
1
1
  export * from './beanBroadcastBase.ts';
2
2
  export * from './broadcast.ts';
3
+ //# 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,wBAAwB,CAAC;AACvC,cAAc,gBAAgB,CAAC"}
package/dist/main.d.ts CHANGED
@@ -5,3 +5,4 @@ export declare class Main extends BeanSimple implements IModuleMain {
5
5
  moduleLoaded(): Promise<void>;
6
6
  configLoaded(_config: any): Promise<void>;
7
7
  }
8
+ //# 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,MAAM,MAAM,CAAC;AAExC,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAElC,qBAAa,IAAK,SAAQ,UAAW,YAAW,WAAW;IACnD,aAAa;IACb,YAAY;IAKZ,YAAY,CAAC,OAAO,EAAE,GAAG;CAChC"}
package/dist/monkey.d.ts CHANGED
@@ -4,3 +4,4 @@ export declare class Monkey extends BeanSimple implements IMonkeyAppClose, IMonk
4
4
  appClose(): Promise<void>;
5
5
  appClosed(): Promise<void>;
6
6
  }
7
+ //# sourceMappingURL=monkey.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"monkey.d.ts","sourceRoot":"","sources":["../src/monkey.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,MAAM,CAAC;AAE9D,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAIlC,qBAAa,MAAO,SAAQ,UAAW,YAAW,eAAe,EAAE,gBAAgB;IAC3E,QAAQ;IAKR,SAAS;CAIhB"}
@@ -1,5 +1,5 @@
1
- import type { IBroadcastJobContext } from '../types/broadcast.ts';
2
1
  import { BeanBase } from 'vona';
2
+ import type { IBroadcastJobContext } from '../types/broadcast.ts';
3
3
  export declare class ServiceBroadcast extends BeanBase {
4
4
  private __callerId;
5
5
  private __channelName;
@@ -11,3 +11,4 @@ export declare class ServiceBroadcast extends BeanBase {
11
11
  emit<DATA>(info: IBroadcastJobContext<DATA>): void;
12
12
  _performTask<DATA>(info: IBroadcastJobContext<DATA>): Promise<void>;
13
13
  }
14
+ //# sourceMappingURL=broadcast.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"broadcast.d.ts","sourceRoot":"","sources":["../../src/service/broadcast.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAIhC,OAAO,KAAK,EAAqB,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAErF,qBACa,gBAAiB,SAAQ,QAAQ;IAC5C,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,KAAK,CAAQ;IACrB,OAAO,CAAC,KAAK,CAAQ;IAErB,SAAS,CAAC,QAAQ;IAkBL,UAAU;IAIV,UAAU;IAIvB,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,oBAAoB,CAAC,IAAI,CAAC;IAKrC,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,oBAAoB,CAAC,IAAI,CAAC;CAgC1D"}
@@ -31,3 +31,4 @@ declare module 'vona' {
31
31
  broadcast: never;
32
32
  }
33
33
  }
34
+ //# sourceMappingURL=broadcast.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"broadcast.d.ts","sourceRoot":"","sources":["../../src/types/broadcast.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AACtC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAExD,MAAM,WAAW,qBAAsB,SAAQ,mBAAmB;CAAG;AAErE,MAAM,WAAW,iBAAiB,CAAC,IAAI,GAAG,OAAO;IAC/C,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1D;AAED,MAAM,WAAW,oBAAoB,CAAC,IAAI;IACxC,aAAa,EAAE,MAAM,gBAAgB,CAAC;IACtC,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,OAAO,CAAC,EAAE,qBAAqB,CAAC;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,gBAAgB;CAAG;AAEpC,MAAM,WAAW,0BAA0B;IACzC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,OAAO,QAAQ,qBAAqB,CAAC;IACnC,UAAiB,SAAS;QACxB,SAAS,EAAE,YAAY,CAAC,gBAAgB,CAAC,CAAC;KAC3C;CACF;AAED,OAAO,QAAQ,MAAM,CAAC;IACpB,UAAiB,YAAY;QAC3B,SAAS,EAAE,SAAS,CAAC,gBAAgB,CAAC,CAAC;KACxC;IAED,UAAiB,gBAAgB;QAC/B,SAAS,EAAE,KAAK,CAAC;KAClB;CACF"}
@@ -1 +1,2 @@
1
1
  export * from './broadcast.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,gBAAgB,CAAC"}
package/package.json CHANGED
@@ -1,29 +1,18 @@
1
1
  {
2
2
  "name": "vona-module-a-broadcast",
3
- "type": "module",
4
- "version": "5.0.29",
5
- "title": "a-broadcast",
6
- "vonaModule": {
7
- "dependencies": {
8
- "a-worker": "5.0.0"
9
- },
10
- "onions": {
11
- "broadcast": {
12
- "optionsGlobalInterfaceName": "IDecoratorBroadcastOptions",
13
- "optionsGlobalInterfaceFrom": "vona-module-a-broadcast",
14
- "scopeResource": true,
15
- "boilerplate": "boilerplate"
16
- }
17
- },
18
- "capabilities": {
19
- "monkey": true
20
- }
21
- },
3
+ "version": "5.1.2",
22
4
  "description": "",
23
- "author": "",
24
5
  "keywords": [
25
6
  "Vona Module"
26
7
  ],
8
+ "author": "",
9
+ "files": [
10
+ "assets",
11
+ "cli",
12
+ "dist",
13
+ "src"
14
+ ],
15
+ "type": "module",
27
16
  "exports": {
28
17
  ".": {
29
18
  "types": [
@@ -34,17 +23,33 @@
34
23
  },
35
24
  "./package.json": "./package.json"
36
25
  },
37
- "files": [
38
- "assets",
39
- "cli",
40
- "dist"
41
- ],
26
+ "scripts": {
27
+ "clean": "rimraf dist tsconfig.build.tsbuildinfo",
28
+ "tsc:publish": "npm run clean && vona :bin:buildModule --sourcemap && tsc -p tsconfig.build.json",
29
+ "prepublishOnly": "npm run tsc:publish",
30
+ "prepack": "clean-package",
31
+ "postpack": "clean-package restore && npm run clean"
32
+ },
42
33
  "devDependencies": {
43
34
  "clean-package": "^2.2.0",
44
35
  "rimraf": "^6.0.1"
45
36
  },
46
- "scripts": {
47
- "clean": "rimraf dist tsconfig.build.tsbuildinfo",
48
- "tsc:publish": "npm run clean && vona :bin:buildModule && tsc -p tsconfig.build.json"
49
- }
50
- }
37
+ "title": "a-broadcast",
38
+ "vonaModule": {
39
+ "dependencies": {
40
+ "a-worker": "5.0.0"
41
+ },
42
+ "onions": {
43
+ "broadcast": {
44
+ "optionsGlobalInterfaceName": "IDecoratorBroadcastOptions",
45
+ "optionsGlobalInterfaceFrom": "vona-module-a-broadcast",
46
+ "scopeResource": true,
47
+ "boilerplate": "boilerplate"
48
+ }
49
+ },
50
+ "capabilities": {
51
+ "monkey": true
52
+ }
53
+ },
54
+ "gitHead": "a79189b882c17af5911573896a781bbb0046d37d"
55
+ }
@@ -0,0 +1,77 @@
1
+ // eslint-disable
2
+ /** service: begin */
3
+ export * from '../service/broadcast.ts';
4
+
5
+ import 'vona-module-a-bean';
6
+ declare module 'vona-module-a-bean' {
7
+
8
+ export interface IServiceRecord {
9
+ 'a-broadcast:broadcast': never;
10
+ }
11
+
12
+
13
+ }
14
+ declare module 'vona-module-a-broadcast' {
15
+
16
+ export interface ServiceBroadcast {
17
+ /** @internal */
18
+ get scope(): ScopeModuleABroadcast;
19
+ }
20
+
21
+ export interface ServiceBroadcast {
22
+ get $beanFullName(): 'a-broadcast.service.broadcast';
23
+ get $onionName(): 'a-broadcast:broadcast';
24
+
25
+ }
26
+ }
27
+ /** service: end */
28
+ /** service: begin */
29
+ import type { ServiceBroadcast } from '../service/broadcast.ts';
30
+ export interface IModuleService {
31
+ 'broadcast': ServiceBroadcast;
32
+ }
33
+ /** service: end */
34
+ /** service: begin */
35
+
36
+ import 'vona';
37
+ declare module 'vona' {
38
+ export interface IBeanRecordGeneral {
39
+ 'a-broadcast.service.broadcast': ServiceBroadcast;
40
+ }
41
+ }
42
+ /** service: end */
43
+ /** monkey: begin */
44
+ export * from '../monkey.ts';
45
+ /** monkey: end */
46
+ /** main: begin */
47
+ export * from '../main.ts';
48
+ /** main: end */
49
+ /** scope: begin */
50
+ import { BeanScopeBase, type BeanScopeUtil } from 'vona';
51
+ import { Scope } from 'vona-module-a-bean';
52
+
53
+ @Scope()
54
+ export class ScopeModuleABroadcast extends BeanScopeBase {}
55
+
56
+ export interface ScopeModuleABroadcast {
57
+ util: BeanScopeUtil;
58
+ service: IModuleService;
59
+ }
60
+
61
+ import 'vona';
62
+ declare module 'vona' {
63
+ export interface IBeanScopeRecord {
64
+ 'a-broadcast': ScopeModuleABroadcast;
65
+ }
66
+
67
+ export interface IBeanScopeContainer {
68
+ broadcast: ScopeModuleABroadcast;
69
+ }
70
+
71
+
72
+
73
+
74
+
75
+
76
+ }
77
+ /** scope: end */
@@ -0,0 +1,2 @@
1
+ export const __ThisModule__ = 'a-broadcast';
2
+ export { ScopeModuleABroadcast as ScopeModule } from './index.ts';
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,18 @@
1
+ import { BeanBase } from 'vona';
2
+
3
+ import type { IBroadcastEmitOptions, IBroadcastJobContext } from '../types/broadcast.ts';
4
+
5
+ export class BeanBroadcastBase<DATA = unknown> extends BeanBase {
6
+ emit(data?: DATA, options?: IBroadcastEmitOptions) {
7
+ return this.$scope.broadcast.service.broadcast.emit(this._prepareInfo(data, options));
8
+ }
9
+
10
+ private _prepareInfo(data?: DATA, options?: IBroadcastEmitOptions): IBroadcastJobContext<DATA> {
11
+ options = this.$scope.executor.service.executor.prepareGeneralInfo(options);
12
+ return {
13
+ broadcastName: this.$onionName as never,
14
+ data,
15
+ options,
16
+ };
17
+ }
18
+ }
@@ -0,0 +1,7 @@
1
+ import { createBeanDecorator } from 'vona';
2
+
3
+ import type { IDecoratorBroadcastOptions } from '../types/broadcast.ts';
4
+
5
+ export function Broadcast(options?: IDecoratorBroadcastOptions): ClassDecorator {
6
+ return createBeanDecorator('broadcast', options);
7
+ }
@@ -0,0 +1,2 @@
1
+ export * from './beanBroadcastBase.ts';
2
+ export * from './broadcast.ts';
package/src/main.ts ADDED
@@ -0,0 +1,13 @@
1
+ import type { IModuleMain } from 'vona';
2
+
3
+ import { BeanSimple } from 'vona';
4
+
5
+ export class Main extends BeanSimple implements IModuleMain {
6
+ async moduleLoading() {}
7
+ async moduleLoaded() {
8
+ // force broadcast init
9
+ this.bean._getBean('a-broadcast.service.broadcast');
10
+ }
11
+
12
+ async configLoaded(_config: any) {}
13
+ }
package/src/monkey.ts ADDED
@@ -0,0 +1,17 @@
1
+ import type { IMonkeyAppClose, IMonkeyAppClosed } from 'vona';
2
+
3
+ import { BeanSimple } from 'vona';
4
+
5
+ import { __ThisModule__ } from './.metadata/this.ts';
6
+
7
+ export class Monkey extends BeanSimple implements IMonkeyAppClose, IMonkeyAppClosed {
8
+ async appClose() {
9
+ const scopeSelf = this.app.scope(__ThisModule__);
10
+ await scopeSelf.service.broadcast.disposeSub();
11
+ }
12
+
13
+ async appClosed() {
14
+ const scopeSelf = this.app.scope(__ThisModule__);
15
+ await scopeSelf.service.broadcast.disposePub();
16
+ }
17
+ }
@@ -0,0 +1,80 @@
1
+ import type { Redis } from 'ioredis';
2
+
3
+ import { isNil } from '@cabloy/utils';
4
+ import { BeanBase } from 'vona';
5
+ import { Service } from 'vona-module-a-bean';
6
+ import { getRedisClientKeyPrefix } from 'vona-module-a-redis';
7
+
8
+ import type { IBroadcastExecute, IBroadcastJobContext } from '../types/broadcast.ts';
9
+
10
+ @Service()
11
+ export class ServiceBroadcast extends BeanBase {
12
+ private __callerId: string;
13
+ private __channelName: string;
14
+ private __sub: Redis;
15
+ private __pub: Redis;
16
+
17
+ protected __init__() {
18
+ const app = this.app;
19
+ this.__callerId = app.bean.worker.id;
20
+ this.__channelName = getRedisClientKeyPrefix('broadcast', this.app);
21
+ this.__pub = app.bean.redis.get('broadcast').duplicate();
22
+ this.__sub = app.bean.redis.get('broadcast').duplicate();
23
+ this.__sub.subscribe(this.__channelName, () => {});
24
+ this.__sub.on('message', (_channel, info) => {
25
+ this._performTask(JSON.parse(info))
26
+ .then(() => {
27
+ // do nothing
28
+ })
29
+ .catch((err: Error) => {
30
+ this.app.handleError(err);
31
+ });
32
+ });
33
+ }
34
+
35
+ public async disposePub() {
36
+ await this.__pub?.disconnect();
37
+ }
38
+
39
+ public async disposeSub() {
40
+ await this.__sub?.disconnect();
41
+ }
42
+
43
+ emit<DATA>(info: IBroadcastJobContext<DATA>) {
44
+ info.callerId = this.__callerId;
45
+ this.__pub.publish(this.__channelName, JSON.stringify(info));
46
+ }
47
+
48
+ async _performTask<DATA>(info: IBroadcastJobContext<DATA>) {
49
+ // isEmitter
50
+ const isEmitter = info.callerId === this.__callerId;
51
+ // broadcast config
52
+ const broadcastItem = this.bean.onion.broadcast.getOnionSlice(info.broadcastName);
53
+ const broadcastConfig = this.bean.onion.broadcast.getOnionOptions(info.broadcastName);
54
+ // instance
55
+ const instanceName = info.options?.instanceName;
56
+ const instance = broadcastConfig?.instance !== false;
57
+ // check
58
+ if ((!isNil(instanceName) || instance) && !this.app.meta.appReady) {
59
+ // ignore
60
+ return;
61
+ }
62
+ // execute
63
+ return await this.bean.executor.newCtx(
64
+ async () => {
65
+ const beanFullName = broadcastItem.beanOptions.beanFullName;
66
+ const beanInstance = <IBroadcastExecute<DATA>>this.app.bean._getBean(beanFullName as any);
67
+ return await beanInstance.execute(info.data, isEmitter);
68
+ },
69
+ {
70
+ dbInfo: info.options?.dbInfo,
71
+ locale: info.options?.locale,
72
+ tz: info.options?.tz,
73
+ instanceName,
74
+ extraData: info.options?.extraData,
75
+ transaction: broadcastConfig?.transaction,
76
+ instance,
77
+ },
78
+ );
79
+ }
80
+ }
@@ -0,0 +1,39 @@
1
+ import type { OmitNever } from 'vona';
2
+ import type { IGeneralInfoOptions } from 'vona-module-a-executor';
3
+ import type { ServiceOnion } from 'vona-module-a-onion';
4
+
5
+ export interface IBroadcastEmitOptions extends IGeneralInfoOptions {}
6
+
7
+ export interface IBroadcastExecute<DATA = unknown> {
8
+ execute(data?: DATA, isEmitter?: boolean): Promise<void>;
9
+ }
10
+
11
+ export interface IBroadcastJobContext<DATA> {
12
+ broadcastName: keyof IBroadcastRecord;
13
+ data?: DATA;
14
+ options?: IBroadcastEmitOptions;
15
+ callerId?: string;
16
+ }
17
+
18
+ export interface IBroadcastRecord {}
19
+
20
+ export interface IDecoratorBroadcastOptions {
21
+ transaction?: boolean;
22
+ instance?: boolean;
23
+ }
24
+
25
+ declare module 'vona-module-a-onion' {
26
+ export interface BeanOnion {
27
+ broadcast: ServiceOnion<IBroadcastRecord>;
28
+ }
29
+ }
30
+
31
+ declare module 'vona' {
32
+ export interface ConfigOnions {
33
+ broadcast: OmitNever<IBroadcastRecord>;
34
+ }
35
+
36
+ export interface IBeanSceneRecord {
37
+ broadcast: never;
38
+ }
39
+ }
@@ -0,0 +1 @@
1
+ export * from './broadcast.ts';