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 +0 -0
- package/dist/.metadata/index.d.ts +1 -0
- package/dist/.metadata/index.d.ts.map +1 -0
- package/dist/.metadata/this.d.ts +1 -0
- package/dist/.metadata/this.d.ts.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/beanBroadcastBase.d.ts +2 -1
- package/dist/lib/beanBroadcastBase.d.ts.map +1 -0
- package/dist/lib/broadcast.d.ts +1 -0
- package/dist/lib/broadcast.d.ts.map +1 -0
- package/dist/lib/index.d.ts +1 -0
- package/dist/lib/index.d.ts.map +1 -0
- package/dist/main.d.ts +1 -0
- package/dist/main.d.ts.map +1 -0
- package/dist/monkey.d.ts +1 -0
- package/dist/monkey.d.ts.map +1 -0
- package/dist/service/broadcast.d.ts +2 -1
- package/dist/service/broadcast.d.ts.map +1 -0
- package/dist/types/broadcast.d.ts +1 -0
- package/dist/types/broadcast.d.ts.map +1 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -0
- package/package.json +35 -30
- package/src/.metadata/index.ts +77 -0
- package/src/.metadata/this.ts +2 -0
- package/src/index.ts +3 -0
- package/src/lib/beanBroadcastBase.ts +18 -0
- package/src/lib/broadcast.ts +7 -0
- package/src/lib/index.ts +2 -0
- package/src/main.ts +13 -0
- package/src/monkey.ts +17 -0
- package/src/service/broadcast.ts +80 -0
- package/src/types/broadcast.ts +39 -0
- package/src/types/index.ts +1 -0
package/LICENSE
CHANGED
|
File without changes
|
|
@@ -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"}
|
package/dist/.metadata/this.d.ts
CHANGED
|
@@ -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
|
@@ -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
|
@@ -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":";;;;;;AAUO,IAAMA,gBAAgB,GAAtB,MAAMA,gBAAiB,SAAQC,QAAQ,CAAA;AAAAC,EAAAA,WAAAA,CAAA,GAAAC,IAAA,EAAA;AAAA,IAAA,KAAA,CAAA,GAAAA,IAAA,CAAA;AAAA,IAAA,IAAA,CACpCC,UAAU,GAAA,MAAA;AAAA,IAAA,IAAA,CACVC,aAAa,GAAA,MAAA;AAAA,IAAA,IAAA,CACbC,KAAK,GAAA,MAAA;AAAA,IAAA,IAAA,CACLC,KAAK,GAAA,MAAA;AAAA,EAAA;AAEHC,EAAAA,QAAQA,GAAA;AAChB,IAAA,MAAMC,GAAG,GAAG,IAAI,CAACA,GAAG;IACpB,IAAI,CAACL,UAAU,GAAGK,GAAG,CAACC,IAAI,CAACC,MAAM,CAACC,EAAE;IACpC,IAAI,CAACP,aAAa,GAAGQ,uBAAuB,CAAC,WAAW,EAAE,IAAI,CAACJ,GAAG,CAAC;AACnE,IAAA,IAAI,CAACF,KAAK,GAAGE,GAAG,CAACC,IAAI,CAACI,KAAK,CAACC,GAAG,CAAC,WAAW,CAAC,CAACC,SAAS,EAAE;AACxD,IAAA,IAAI,CAACV,KAAK,GAAGG,GAAG,CAACC,IAAI,CAACI,KAAK,CAACC,GAAG,CAAC,WAAW,CAAC,CAACC,SAAS,EAAE;AACxD,IAAA,IAAI,CAACV,KAAK,CAACW,SAAS,CAAC,IAAI,CAACZ,aAAa,EAAE,MAAK,CAAE,CAAC,CAAC;IAClD,IAAI,CAACC,KAAK,CAACY,EAAE,CAAC,SAAS,EAAE,CAACC,QAAQ,EAAEC,IAAI,KAAI;AAC1C,MAAA,IAAI,CAACC,YAAY,CAACC,IAAI,CAACC,KAAK,CAACH,IAAI,CAAC,CAAC,CAChCI,IAAI,CAAC,MAAK;AACT;AAAA,MAAA,CACD,CAAC,CACDC,KAAK,CAAEC,GAAU,IAAI;AACpB,QAAA,IAAI,CAACjB,GAAG,CAACkB,WAAW,CAACD,GAAG,CAAC;AAC3B,MAAA,CAAC,CAAC;AACN,IAAA,CAAC,CAAC;AACJ,EAAA;EAEO,MAAME,UAAUA,GAAA;AACrB,IAAA,MAAM,IAAI,CAACrB,KAAK,EAAEsB,UAAU,EAAE;AAChC,EAAA;EAEO,MAAMC,UAAUA,GAAA;AACrB,IAAA,MAAM,IAAI,CAACxB,KAAK,EAAEuB,UAAU,EAAE;AAChC,EAAA;EAEAE,IAAIA,CAAOX,IAAgC,EAAA;AACzCA,IAAAA,IAAI,CAACY,QAAQ,GAAG,IAAI,CAAC5B,UAAU;AAC/B,IAAA,IAAI,CAACG,KAAK,CAAC0B,OAAO,CAAC,IAAI,CAAC5B,aAAa,EAAEiB,IAAI,CAACY,SAAS,CAACd,IAAI,CAAC,CAAC;AAC9D,EAAA;EAEA,MAAMC,YAAYA,CAAOD,IAAgC,EAAA;AACvD;IACA,MAAMe,SAAS,GAAGf,IAAI,CAACY,QAAQ,KAAK,IAAI,CAAC5B,UAAU;AACnD;AACA,IAAA,MAAMgC,aAAa,GAAG,IAAI,CAAC1B,IAAI,CAAC2B,KAAK,CAACC,SAAS,CAACC,aAAa,CAACnB,IAAI,CAACoB,aAAa,CAAC;AACjF,IAAA,MAAMC,eAAe,GAAG,IAAI,CAAC/B,IAAI,CAAC2B,KAAK,CAACC,SAAS,CAACI,eAAe,CAACtB,IAAI,CAACoB,aAAa,CAAC;AACrF;AACA,IAAA,MAAMG,YAAY,GAAGvB,IAAI,CAACwB,OAAO,EAAED,YAAY;AAC/C,IAAA,MAAME,QAAQ,GAAGJ,eAAe,EAAEI,QAAQ,KAAK,KAAK;AACpD;AACA,IAAA,IAAI,CAAC,CAACC,KAAK,CAACH,YAAY,CAAC,IAAIE,QAAQ,KAAK,CAAC,IAAI,CAACpC,GAAG,CAACsC,IAAI,CAACC,QAAQ,EAAE;AACjE;AACA,MAAA;AACF,IAAA;AACA;IACA,OAAO,MAAM,IAAI,CAACtC,IAAI,CAACuC,QAAQ,CAACC,MAAM,CACpC,YAAW;AACT,MAAA,MAAMC,YAAY,GAAGf,aAAa,CAACgB,WAAW,CAACD,YAAY;MAC3D,MAAME,YAAY,GAA4B,IAAI,CAAC5C,GAAG,CAACC,IAAI,CAAC4C,QAAQ,CAACH,YAAmB,CAAC;MACzF,OAAO,MAAME,YAAY,CAACE,OAAO,CAACnC,IAAI,CAACoC,IAAI,EAAErB,SAAS,CAAC;AACzD,IAAA,CAAC,EACD;AACEsB,MAAAA,MAAM,EAAErC,IAAI,CAACwB,OAAO,EAAEa,MAAM;AAC5BC,MAAAA,MAAM,EAAEtC,IAAI,CAACwB,OAAO,EAAEc,MAAM;AAC5BC,MAAAA,EAAE,EAAEvC,IAAI,CAACwB,OAAO,EAAEe,EAAE;MACpBhB,YAAY;AACZiB,MAAAA,SAAS,EAAExC,IAAI,CAACwB,OAAO,EAAEgB,SAAS;MAClCC,WAAW,EAAEpB,eAAe,EAAEoB,WAAW;AACzChB,MAAAA;AACD,KAAA,CACF;AACH,EAAA;;AApEW7C,gBAAgB,GAAA8D,UAAA,CAAA,CAD5BC,OAAO,EAAE,EAAAC,QAAA,CAAA;EAAAC,MAAA,EAAA;AAAA,CAAA,CAAA,CACG,EAAAjE,gBAAgB,CAqE5B;;AC/EM,MAAMkE,cAAc,GAAG,aAAa;;ACMrC,MAAOC,MAAO,SAAQC,UAAU,CAAA;EACpC,MAAMC,QAAQA,GAAA;IACZ,MAAMC,SAAS,GAAG,IAAI,CAAC7D,GAAG,CAAC8D,KAAK,CAACL,cAAc,CAAC;IAChD,MAAMI,SAAS,CAACE,OAAO,CAAClC,SAAS,CAACR,UAAU,EAAE;AAChD,EAAA;EAEA,MAAM2C,SAASA,GAAA;IACb,MAAMH,SAAS,GAAG,IAAI,CAAC7D,GAAG,CAAC8D,KAAK,CAACL,cAAc,CAAC;IAChD,MAAMI,SAAS,CAACE,OAAO,CAAClC,SAAS,CAACV,UAAU,EAAE;AAChD,EAAA;AACD;;ACZK,MAAO8C,IAAK,SAAQN,UAAU,CAAA;EAClC,MAAMO,aAAaA,GAAA,CAAI;EACvB,MAAMC,YAAYA,GAAA;AAChB;AACA,IAAA,IAAI,CAAClE,IAAI,CAAC4C,QAAQ,CAAC,+BAA+B,CAAC;AACrD,EAAA;AAEA,EAAA,MAAMuB,YAAYA,CAACC,OAAY,GAAG;AACnC;;ACyCM,IAAMC,qBAAqB,GAA3B,MAAMA,qBAAsB,SAAQC,aAAa,CAAA;AAA3CD,qBAAqB,GAAAjB,UAAA,CAAA,CADjCmB,KAAK,EAAE,EAAAjB,QAAA,CAAA;EAAAC,MAAA,EAAA;AAAA,CAAA,CAAA,CACK,EAAAc,qBAAqB,CAAyB;AAuB3D;;ACxEM,MAAOG,iBAAkC,SAAQjF,QAAQ,CAAA;AAC7D8B,EAAAA,IAAIA,CAACyB,IAAW,EAAEZ,OAA+B,EAAA;IAC/C,OAAO,IAAI,CAACuC,MAAM,CAAC7C,SAAS,CAACkC,OAAO,CAAClC,SAAS,CAACP,IAAI,CAAC,IAAI,CAACqD,YAAY,CAAC5B,IAAI,EAAEZ,OAAO,CAAC,CAAC;AACvF,EAAA;AAEQwC,EAAAA,YAAYA,CAAC5B,IAAW,EAAEZ,OAA+B,EAAA;AAC/DA,IAAAA,OAAO,GAAG,IAAI,CAACuC,MAAM,CAAClC,QAAQ,CAACuB,OAAO,CAACvB,QAAQ,CAACoC,kBAAkB,CAACzC,OAAO,CAAC;IAC3E,OAAO;MACLJ,aAAa,EAAE,IAAI,CAAC8C,UAAmB;MACvC9B,IAAI;AACJZ,MAAAA;KACD;AACH,EAAA;AACD;;ACbK,SAAU2C,SAASA,CAAC3C,OAAoC,EAAA;AAC5D,EAAA,OAAO4C,mBAAmB,CAAC,WAAW,EAAE5C,OAAO,CAAC;AAClD;;;;"}
|
|
@@ -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"}
|
package/dist/lib/broadcast.d.ts
CHANGED
|
@@ -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"}
|
package/dist/lib/index.d.ts
CHANGED
|
@@ -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
|
@@ -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
|
@@ -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"}
|
|
@@ -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"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -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
|
-
"
|
|
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
|
-
"
|
|
38
|
-
"
|
|
39
|
-
"
|
|
40
|
-
"
|
|
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
|
-
"
|
|
47
|
-
|
|
48
|
-
"
|
|
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 */
|
package/src/index.ts
ADDED
|
@@ -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
|
+
}
|
package/src/lib/index.ts
ADDED
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';
|