@eggjs/tegg-eventbus-plugin 4.0.0-beta.1 → 4.0.0-beta.11

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/README.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # @eggjs/tegg-eventbus-plugin
2
2
 
3
+ [![NPM version][npm-image]][npm-url]
4
+ [![Known Vulnerabilities][snyk-image]][snyk-url]
5
+ [![npm download][download-image]][download-url]
6
+ [![Node.js Version](https://img.shields.io/node/v/@eggjs/tegg-eventbus-plugin.svg?style=flat)](https://nodejs.org/en/download/)
7
+
8
+ [npm-image]: https://img.shields.io/npm/v/@eggjs/tegg-eventbus-plugin.svg?style=flat-square
9
+ [npm-url]: https://npmjs.org/package/@eggjs/tegg-eventbus-plugin
10
+ [snyk-image]: https://snyk.io/test/npm/@eggjs/tegg-eventbus-plugin/badge.svg?style=flat-square
11
+ [snyk-url]: https://snyk.io/test/npm/@eggjs/tegg-eventbus-plugin
12
+ [download-image]: https://img.shields.io/npm/dm/@eggjs/tegg-eventbus-plugin.svg?style=flat-square
13
+ [download-url]: https://npmjs.org/package/@eggjs/tegg-eventbus-plugin
14
+
3
15
  ## Usage
4
16
 
5
17
  ```js
@@ -0,0 +1,18 @@
1
+ import { Application } from 'egg';
2
+ import { type EventBus, type EventWaiter } from '@eggjs/tegg';
3
+ export default class EventBusApplicationUnittest extends Application {
4
+ getEventbus(): Promise<EventBus>;
5
+ getEventWaiter(): Promise<EventWaiter>;
6
+ }
7
+ declare module 'egg' {
8
+ interface Application {
9
+ /**
10
+ * Get the event bus, only for unittest
11
+ */
12
+ getEventbus(): Promise<EventBus>;
13
+ /**
14
+ * Get the event waiter, only for unittest
15
+ */
16
+ getEventWaiter(): Promise<EventWaiter>;
17
+ }
18
+ }
@@ -0,0 +1,17 @@
1
+ import { Application } from 'egg';
2
+ import { PrototypeUtil } from '@eggjs/tegg';
3
+ import { SingletonEventBus } from '@eggjs/tegg-eventbus-runtime';
4
+ import {} from '@eggjs/tegg-metadata';
5
+ export default class EventBusApplicationUnittest extends Application {
6
+ async getEventbus() {
7
+ const proto = PrototypeUtil.getClazzProto(SingletonEventBus);
8
+ const eggObject = await this.eggContainerFactory.getOrCreateEggObject(proto, proto.name);
9
+ return eggObject.obj;
10
+ }
11
+ async getEventWaiter() {
12
+ const proto = PrototypeUtil.getClazzProto(SingletonEventBus);
13
+ const eggObject = await this.eggContainerFactory.getOrCreateEggObject(proto, proto.name);
14
+ return eggObject.obj;
15
+ }
16
+ }
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGljYXRpb24udW5pdHRlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXBwL2V4dGVuZC9hcHBsaWNhdGlvbi51bml0dGVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sS0FBSyxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxhQUFhLEVBQW1DLE1BQU0sYUFBYSxDQUFDO0FBQzdFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2pFLE9BQU8sRUFBcUIsTUFBTSxzQkFBc0IsQ0FBQztBQUV6RCxNQUFNLENBQUMsT0FBTyxPQUFPLDJCQUE0QixTQUFRLFdBQVc7SUFDbEUsS0FBSyxDQUFDLFdBQVc7UUFDZixNQUFNLEtBQUssR0FBRyxhQUFhLENBQUMsYUFBYSxDQUFDLGlCQUFpQixDQUFpQixDQUFDO1FBQzdFLE1BQU0sU0FBUyxHQUFHLE1BQU0sSUFBSSxDQUFDLG1CQUFtQixDQUFDLG9CQUFvQixDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekYsT0FBTyxTQUFTLENBQUMsR0FBZSxDQUFDO0lBQ25DLENBQUM7SUFFRCxLQUFLLENBQUMsY0FBYztRQUNsQixNQUFNLEtBQUssR0FBRyxhQUFhLENBQUMsYUFBYSxDQUFDLGlCQUFpQixDQUFpQixDQUFDO1FBQzdFLE1BQU0sU0FBUyxHQUFHLE1BQU0sSUFBSSxDQUFDLG1CQUFtQixDQUFDLG9CQUFvQixDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekYsT0FBTyxTQUFTLENBQUMsR0FBa0IsQ0FBQztJQUN0QyxDQUFDO0NBQ0YifQ==
@@ -1,11 +1,11 @@
1
- import { Context } from '@eggjs/core';
2
- import { EggContextEventBus } from '../../lib/EggContextEventBus.js';
1
+ import { Context } from 'egg';
2
+ import { EggContextEventBus } from '../../lib/EggContextEventBus.ts';
3
3
  declare const EVENT_BUS: unique symbol;
4
4
  export default class EventBusContext extends Context {
5
5
  [EVENT_BUS]: EggContextEventBus;
6
6
  get eventBus(): EggContextEventBus;
7
7
  }
8
- declare module '@eggjs/core' {
8
+ declare module 'egg' {
9
9
  interface Context {
10
10
  get eventBus(): EggContextEventBus;
11
11
  }
@@ -0,0 +1,13 @@
1
+ import { Context } from 'egg';
2
+ import { EggContextEventBus } from "../../lib/EggContextEventBus.js";
3
+ const EVENT_BUS = Symbol.for('context#eventBus');
4
+ export default class EventBusContext extends Context {
5
+ [EVENT_BUS];
6
+ get eventBus() {
7
+ if (!this[EVENT_BUS]) {
8
+ this[EVENT_BUS] = new EggContextEventBus(this);
9
+ }
10
+ return this[EVENT_BUS];
11
+ }
12
+ }
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcHAvZXh0ZW5kL2NvbnRleHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLEtBQUssQ0FBQztBQUU5QixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUVyRSxNQUFNLFNBQVMsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLGtCQUFrQixDQUFDLENBQUM7QUFFakQsTUFBTSxDQUFDLE9BQU8sT0FBTyxlQUFnQixTQUFRLE9BQU87SUFDbEQsQ0FBQyxTQUFTLENBQUMsQ0FBcUI7SUFFaEMsSUFBSSxRQUFRO1FBQ1YsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO1lBQ3JCLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxJQUFJLGtCQUFrQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2pELENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUN6QixDQUFDO0NBQ0YifQ==
@@ -1,5 +1,5 @@
1
- import { EggCore as Application } from '@eggjs/core';
2
- export default class EventbusAppHook {
1
+ import { type Application, type ILifecycleBoot } from 'egg';
2
+ export default class EventbusAppHook implements ILifecycleBoot {
3
3
  private readonly app;
4
4
  private readonly eventHandlerProtoManager;
5
5
  private readonly eventbusLoadUnitHook;
@@ -7,5 +7,5 @@ export default class EventbusAppHook {
7
7
  constructor(app: Application);
8
8
  configDidLoad(): void;
9
9
  didLoad(): Promise<void>;
10
- beforeClose(): void;
10
+ beforeClose(): Promise<void>;
11
11
  }
package/dist/app.js ADDED
@@ -0,0 +1,29 @@
1
+ import {} from 'egg';
2
+ import { EventHandlerProtoManager } from "./lib/EventHandlerProtoManager.js";
3
+ import { EventbusLoadUnitHook } from "./lib/EventbusLoadUnitHook.js";
4
+ import { EventbusProtoHook } from "./lib/EventbusProtoHook.js";
5
+ export default class EventbusAppHook {
6
+ app;
7
+ eventHandlerProtoManager;
8
+ eventbusLoadUnitHook;
9
+ eventbusProtoHook;
10
+ constructor(app) {
11
+ this.app = app;
12
+ this.eventHandlerProtoManager = new EventHandlerProtoManager(app);
13
+ this.eventbusLoadUnitHook = new EventbusLoadUnitHook();
14
+ this.eventbusProtoHook = new EventbusProtoHook(this.eventHandlerProtoManager);
15
+ }
16
+ configDidLoad() {
17
+ this.app.eggPrototypeLifecycleUtil.registerLifecycle(this.eventbusProtoHook);
18
+ this.app.loadUnitLifecycleUtil.registerLifecycle(this.eventbusLoadUnitHook);
19
+ }
20
+ async didLoad() {
21
+ await this.app.moduleHandler.ready();
22
+ await this.eventHandlerProtoManager.register();
23
+ }
24
+ async beforeClose() {
25
+ this.app.eggPrototypeLifecycleUtil.deleteLifecycle(this.eventbusProtoHook);
26
+ this.app.loadUnitLifecycleUtil.deleteLifecycle(this.eventbusLoadUnitHook);
27
+ }
28
+ }
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2FwcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXlDLE1BQU0sS0FBSyxDQUFDO0FBQzVELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRS9ELE1BQU0sQ0FBQyxPQUFPLE9BQU8sZUFBZTtJQUNqQixHQUFHLENBQWM7SUFDakIsd0JBQXdCLENBQTJCO0lBQ25ELG9CQUFvQixDQUF1QjtJQUMzQyxpQkFBaUIsQ0FBb0I7SUFFdEQsWUFBWSxHQUFnQjtRQUMxQixJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQztRQUNmLElBQUksQ0FBQyx3QkFBd0IsR0FBRyxJQUFJLHdCQUF3QixDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2xFLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLG9CQUFvQixFQUFFLENBQUM7UUFDdkQsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksaUJBQWlCLENBQUMsSUFBSSxDQUFDLHdCQUF3QixDQUFDLENBQUM7SUFDaEYsQ0FBQztJQUVELGFBQWE7UUFDWCxJQUFJLENBQUMsR0FBRyxDQUFDLHlCQUF5QixDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQzdFLElBQUksQ0FBQyxHQUFHLENBQUMscUJBQXFCLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUM7SUFDOUUsQ0FBQztJQUVELEtBQUssQ0FBQyxPQUFPO1FBQ1gsTUFBTSxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNyQyxNQUFNLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNqRCxDQUFDO0lBRUQsS0FBSyxDQUFDLFdBQVc7UUFDZixJQUFJLENBQUMsR0FBRyxDQUFDLHlCQUF5QixDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUMzRSxJQUFJLENBQUMsR0FBRyxDQUFDLHFCQUFxQixDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsQ0FBQztJQUM1RSxDQUFDO0NBQ0YifQ==
@@ -0,0 +1 @@
1
+ import './types.ts';
package/dist/index.js ADDED
@@ -0,0 +1,2 @@
1
+ import "./types.js";
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxZQUFZLENBQUMifQ==
@@ -1,5 +1,5 @@
1
- import type { Context } from '@eggjs/core';
2
- import { Events, ContextEventBus } from '@eggjs/tegg';
1
+ import type { Context } from 'egg';
2
+ import { type Events, type ContextEventBus } from '@eggjs/tegg';
3
3
  import type { Arguments } from '@eggjs/tegg';
4
4
  export declare class EggContextEventBus implements ContextEventBus {
5
5
  private readonly eventBus;
@@ -0,0 +1,35 @@
1
+ import assert from 'node:assert/strict';
2
+ import { PrototypeUtil, CORK_ID } from '@eggjs/tegg';
3
+ import { SingletonEventBus } from '@eggjs/tegg-eventbus-runtime';
4
+ import {} from '@eggjs/tegg-metadata';
5
+ import { ContextHandler } from '@eggjs/tegg-runtime';
6
+ export class EggContextEventBus {
7
+ eventBus;
8
+ context;
9
+ corkId;
10
+ constructor(ctx) {
11
+ const proto = PrototypeUtil.getClazzProto(SingletonEventBus);
12
+ const eggObject = ctx.app.eggContainerFactory.getEggObject(proto, proto.name);
13
+ this.context = ContextHandler.getContext();
14
+ this.eventBus = eggObject.obj;
15
+ }
16
+ cork() {
17
+ if (!this.corkId) {
18
+ this.corkId = this.eventBus.generateCorkId();
19
+ this.context.set(CORK_ID, this.corkId);
20
+ }
21
+ this.eventBus.cork(this.corkId);
22
+ }
23
+ uncork() {
24
+ assert(this.corkId, 'eventbus uncork without cork');
25
+ if (this.eventBus.uncork(this.corkId)) {
26
+ this.context.set(CORK_ID, null);
27
+ this.corkId = undefined;
28
+ }
29
+ return true;
30
+ }
31
+ emit(event, ...args) {
32
+ return this.eventBus.emitWithContext(this.context, event, args);
33
+ }
34
+ }
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRWdnQ29udGV4dEV2ZW50QnVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xpYi9FZ2dDb250ZXh0RXZlbnRCdXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxNQUFNLE1BQU0sb0JBQW9CLENBQUM7QUFHeEMsT0FBTyxFQUFlLGFBQWEsRUFBRSxPQUFPLEVBQXdCLE1BQU0sYUFBYSxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2pFLE9BQU8sRUFBcUIsTUFBTSxzQkFBc0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsY0FBYyxFQUFtQixNQUFNLHFCQUFxQixDQUFDO0FBR3RFLE1BQU0sT0FBTyxrQkFBa0I7SUFDWixRQUFRLENBQW9CO0lBQzVCLE9BQU8sQ0FBYTtJQUM3QixNQUFNLENBQVU7SUFFeEIsWUFBWSxHQUFZO1FBQ3RCLE1BQU0sS0FBSyxHQUFHLGFBQWEsQ0FBQyxhQUFhLENBQUMsaUJBQWlCLENBQWlCLENBQUM7UUFDN0UsTUFBTSxTQUFTLEdBQUcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxtQkFBbUIsQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM5RSxJQUFJLENBQUMsT0FBTyxHQUFHLGNBQWMsQ0FBQyxVQUFVLEVBQUcsQ0FBQztRQUM1QyxJQUFJLENBQUMsUUFBUSxHQUFHLFNBQVMsQ0FBQyxHQUF3QixDQUFDO0lBQ3JELENBQUM7SUFFRCxJQUFJO1FBQ0YsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNqQixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDN0MsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN6QyxDQUFDO1FBQ0QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFRCxNQUFNO1FBQ0osTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsOEJBQThCLENBQUMsQ0FBQztRQUNwRCxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1lBQ3RDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQztZQUNoQyxJQUFJLENBQUMsTUFBTSxHQUFHLFNBQVMsQ0FBQztRQUMxQixDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsSUFBSSxDQUF5QixLQUFRLEVBQUUsR0FBRyxJQUEwQjtRQUNsRSxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ2xFLENBQUM7Q0FDRiJ9
@@ -1,5 +1,5 @@
1
- import { EggCore as Application } from '@eggjs/core';
1
+ import { Application } from 'egg';
2
2
  import { AbstractEggContext } from '@eggjs/tegg-runtime';
3
3
  import { IdenticalUtil } from '@eggjs/tegg';
4
- import { ContextCreator } from '@eggjs/tegg-eventbus-runtime';
4
+ import { type ContextCreator } from '@eggjs/tegg-eventbus-runtime';
5
5
  export declare function eggEventContextFactory(AbstractEggContextClazz: typeof AbstractEggContext, identicalUtil: typeof IdenticalUtil): (app: Application) => ContextCreator;
@@ -0,0 +1,31 @@
1
+ import { Context, Application } from 'egg';
2
+ import { AbstractEggContext } from '@eggjs/tegg-runtime';
3
+ import { IdenticalUtil } from '@eggjs/tegg';
4
+ import { EGG_CONTEXT, TEGG_CONTEXT } from '@eggjs/egg-module-common';
5
+ import {} from '@eggjs/tegg-eventbus-runtime';
6
+ // AbstractEggContext use lots of static method
7
+ // In chair application mode plugin is in .sff
8
+ // Make different @eggjs/tegg-runtime exits
9
+ export function eggEventContextFactory(AbstractEggContextClazz, identicalUtil) {
10
+ class EggEventContext extends AbstractEggContextClazz {
11
+ id;
12
+ constructor(context) {
13
+ super();
14
+ this.set(EGG_CONTEXT, context);
15
+ context[TEGG_CONTEXT] = this;
16
+ // In chair application mode,
17
+ // Plugin event may install in app dir,
18
+ // Plugin tegg may install in layer dir,
19
+ // Will has multi IdenticalUtil instance.
20
+ this.id = identicalUtil.createContextId(context.tracer?.traceId);
21
+ }
22
+ static createContextFactory(app) {
23
+ return () => {
24
+ const eggCtx = app.createAnonymousContext();
25
+ return new EggEventContext(eggCtx);
26
+ };
27
+ }
28
+ }
29
+ return EggEventContext.createContextFactory;
30
+ }
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRWdnRXZlbnRDb250ZXh0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xpYi9FZ2dFdmVudENvbnRleHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxLQUFLLENBQUM7QUFDM0MsT0FBTyxFQUFFLGtCQUFrQixFQUFtQixNQUFNLHFCQUFxQixDQUFDO0FBQzFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDNUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNyRSxPQUFPLEVBQXVCLE1BQU0sOEJBQThCLENBQUM7QUFFbkUsK0NBQStDO0FBQy9DLDhDQUE4QztBQUM5QywyQ0FBMkM7QUFDM0MsTUFBTSxVQUFVLHNCQUFzQixDQUFDLHVCQUFrRCxFQUFFLGFBQW1DO0lBQzVILE1BQU0sZUFBZ0IsU0FBUSx1QkFBdUI7UUFDMUMsRUFBRSxDQUFTO1FBRXBCLFlBQVksT0FBZ0I7WUFDMUIsS0FBSyxFQUFFLENBQUM7WUFDUixJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVcsRUFBRSxPQUFPLENBQUMsQ0FBQztZQUMvQixPQUFPLENBQUMsWUFBWSxDQUFDLEdBQUcsSUFBSSxDQUFDO1lBQzdCLDZCQUE2QjtZQUM3Qix1Q0FBdUM7WUFDdkMsd0NBQXdDO1lBQ3hDLHlDQUF5QztZQUN6QyxJQUFJLENBQUMsRUFBRSxHQUFHLGFBQWEsQ0FBQyxlQUFlLENBQUUsT0FBTyxDQUFDLE1BQTBDLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDeEcsQ0FBQztRQUVELE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxHQUFnQjtZQUMxQyxPQUFPLEdBQWUsRUFBRTtnQkFDdEIsTUFBTSxNQUFNLEdBQUcsR0FBRyxDQUFDLHNCQUFzQixFQUFFLENBQUM7Z0JBQzVDLE9BQU8sSUFBSSxlQUFlLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDckMsQ0FBQyxDQUFDO1FBQ0osQ0FBQztLQUNGO0lBQ0QsT0FBTyxlQUFlLENBQUMsb0JBQW9CLENBQUM7QUFDOUMsQ0FBQyJ9
@@ -1,5 +1,5 @@
1
- import { EggCore as Application } from '@eggjs/core';
2
- import { EggPrototype } from '@eggjs/tegg-metadata';
1
+ import { Application } from 'egg';
2
+ import { type EggPrototype } from '@eggjs/tegg-metadata';
3
3
  export declare class EventHandlerProtoManager {
4
4
  private readonly protos;
5
5
  private readonly app;
@@ -0,0 +1,29 @@
1
+ import { Application } from 'egg';
2
+ import {} from '@eggjs/tegg-metadata';
3
+ import { EventContextFactory, EventHandlerFactory } from '@eggjs/tegg-eventbus-runtime';
4
+ import { EVENT_NAME } from '@eggjs/tegg';
5
+ import { eggEventContextFactory } from "./EggEventContext.js";
6
+ export class EventHandlerProtoManager {
7
+ protos = new Set();
8
+ app;
9
+ constructor(app) {
10
+ this.app = app;
11
+ }
12
+ addProto(proto) {
13
+ this.protos.add(proto);
14
+ }
15
+ async register() {
16
+ const eventHandlerFactory = await this.app.getEggObject(EventHandlerFactory);
17
+ for (const proto of this.protos) {
18
+ const eventList = proto.getMetaData(EVENT_NAME) ?? [];
19
+ eventList.forEach(event => eventHandlerFactory.registerHandler(event, proto));
20
+ }
21
+ const eventFactory = await this.app.getEggObject(EventContextFactory);
22
+ const createContextFactory = eggEventContextFactory(this.app.abstractEggContext, this.app.identicalUtil);
23
+ eventFactory.registerContextCreator(createContextFactory(this.app));
24
+ }
25
+ getProtos() {
26
+ return Array.from(this.protos);
27
+ }
28
+ }
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXZlbnRIYW5kbGVyUHJvdG9NYW5hZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xpYi9FdmVudEhhbmRsZXJQcm90b01hbmFnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLEtBQUssQ0FBQztBQUNsQyxPQUFPLEVBQXFCLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLG1CQUFtQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDeEYsT0FBTyxFQUFFLFVBQVUsRUFBa0IsTUFBTSxhQUFhLENBQUM7QUFFekQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFOUQsTUFBTSxPQUFPLHdCQUF3QjtJQUNsQixNQUFNLEdBQXNCLElBQUksR0FBRyxFQUFFLENBQUM7SUFDdEMsR0FBRyxDQUFjO0lBRWxDLFlBQVksR0FBZ0I7UUFDMUIsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7SUFDakIsQ0FBQztJQUVELFFBQVEsQ0FBQyxLQUFtQjtRQUMxQixJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN6QixDQUFDO0lBRUQsS0FBSyxDQUFDLFFBQVE7UUFDWixNQUFNLG1CQUFtQixHQUFHLE1BQU0sSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUM3RSxLQUFLLE1BQU0sS0FBSyxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNoQyxNQUFNLFNBQVMsR0FBRyxLQUFLLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBZ0IsSUFBSSxFQUFFLENBQUM7WUFDckUsU0FBUyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLG1CQUFtQixDQUFDLGVBQWUsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUNoRixDQUFDO1FBRUQsTUFBTSxZQUFZLEdBQUcsTUFBTSxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQ3RFLE1BQU0sb0JBQW9CLEdBQUcsc0JBQXNCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3pHLFlBQVksQ0FBQyxzQkFBc0IsQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUN0RSxDQUFDO0lBRUQsU0FBUztRQUNQLE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDakMsQ0FBQztDQUNGIn0=
@@ -1,5 +1,5 @@
1
- import { LifecycleHook } from '@eggjs/tegg';
2
- import { LoadUnit, LoadUnitLifecycleContext } from '@eggjs/tegg-metadata';
1
+ import { type LifecycleHook } from '@eggjs/tegg';
2
+ import { type LoadUnit, type LoadUnitLifecycleContext } from '@eggjs/tegg-metadata';
3
3
  export declare class EventbusLoadUnitHook implements LifecycleHook<LoadUnitLifecycleContext, LoadUnit> {
4
4
  postCreate(_ctx: LoadUnitLifecycleContext, loadUnit: LoadUnit): Promise<void>;
5
5
  }
@@ -0,0 +1,23 @@
1
+ import { EggQualifierAttribute, EggType, QualifierUtil } from '@eggjs/tegg';
2
+ import { EggLoadUnitType, EggPrototypeCreatorFactory, EggPrototypeFactory, } from '@eggjs/tegg-metadata';
3
+ import { EventContextFactory, EventHandlerFactory, SingletonEventBus } from '@eggjs/tegg-eventbus-runtime';
4
+ const REGISTER_CLAZZ = [
5
+ EventHandlerFactory,
6
+ EventContextFactory,
7
+ SingletonEventBus,
8
+ ];
9
+ // EggQualifier only for egg plugin
10
+ QualifierUtil.addProperQualifier(SingletonEventBus, 'logger', EggQualifierAttribute, EggType.APP);
11
+ export class EventbusLoadUnitHook {
12
+ async postCreate(_ctx, loadUnit) {
13
+ if (loadUnit.type === EggLoadUnitType.APP) {
14
+ for (const clazz of REGISTER_CLAZZ) {
15
+ const protos = await EggPrototypeCreatorFactory.createProto(clazz, loadUnit);
16
+ for (const proto of protos) {
17
+ EggPrototypeFactory.instance.registerPrototype(proto, loadUnit);
18
+ }
19
+ }
20
+ }
21
+ }
22
+ }
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXZlbnRidXNMb2FkVW5pdEhvb2suanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbGliL0V2ZW50YnVzTG9hZFVuaXRIb29rLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxPQUFPLEVBQXNCLGFBQWEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNoRyxPQUFPLEVBQ0wsZUFBZSxFQUNmLDBCQUEwQixFQUMxQixtQkFBbUIsR0FHcEIsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsbUJBQW1CLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUUzRyxNQUFNLGNBQWMsR0FBRztJQUNyQixtQkFBbUI7SUFDbkIsbUJBQW1CO0lBQ25CLGlCQUFpQjtDQUNsQixDQUFDO0FBRUYsbUNBQW1DO0FBQ25DLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQyxpQkFBaUIsRUFBRSxRQUFRLEVBQUUscUJBQXFCLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBRWxHLE1BQU0sT0FBTyxvQkFBb0I7SUFDL0IsS0FBSyxDQUFDLFVBQVUsQ0FBQyxJQUE4QixFQUFFLFFBQWtCO1FBQ2pFLElBQUksUUFBUSxDQUFDLElBQUksS0FBSyxlQUFlLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDMUMsS0FBSyxNQUFNLEtBQUssSUFBSSxjQUFjLEVBQUUsQ0FBQztnQkFDbkMsTUFBTSxNQUFNLEdBQUcsTUFBTSwwQkFBMEIsQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxDQUFDO2dCQUM3RSxLQUFLLE1BQU0sS0FBSyxJQUFJLE1BQU0sRUFBRSxDQUFDO29CQUMzQixtQkFBbUIsQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxDQUFDO2dCQUNsRSxDQUFDO1lBQ0gsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0NBQ0YifQ==
@@ -1,6 +1,6 @@
1
- import { LifecycleHook } from '@eggjs/tegg';
2
- import { EggPrototype, EggPrototypeLifecycleContext } from '@eggjs/tegg-metadata';
3
- import { EventHandlerProtoManager } from './EventHandlerProtoManager.js';
1
+ import { type LifecycleHook } from '@eggjs/tegg';
2
+ import { type EggPrototype, type EggPrototypeLifecycleContext } from '@eggjs/tegg-metadata';
3
+ import { EventHandlerProtoManager } from './EventHandlerProtoManager.ts';
4
4
  export declare class EventbusProtoHook implements LifecycleHook<EggPrototypeLifecycleContext, EggPrototype> {
5
5
  private eventHandlerProtoManager;
6
6
  constructor(eventHandlerProtoManager: EventHandlerProtoManager);
@@ -0,0 +1,17 @@
1
+ import { EVENT_NAME } from '@eggjs/tegg';
2
+ import {} from '@eggjs/tegg-metadata';
3
+ import { EventHandlerProtoManager } from "./EventHandlerProtoManager.js";
4
+ export class EventbusProtoHook {
5
+ eventHandlerProtoManager;
6
+ constructor(eventHandlerProtoManager) {
7
+ this.eventHandlerProtoManager = eventHandlerProtoManager;
8
+ }
9
+ async postCreate(_ctx, obj) {
10
+ const event = obj.getMetaData(EVENT_NAME);
11
+ if (!event) {
12
+ return;
13
+ }
14
+ this.eventHandlerProtoManager.addProto(obj);
15
+ }
16
+ }
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXZlbnRidXNQcm90b0hvb2suanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbGliL0V2ZW50YnVzUHJvdG9Ib29rLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBc0IsVUFBVSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzdELE9BQU8sRUFBd0QsTUFBTSxzQkFBc0IsQ0FBQztBQUU1RixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUV6RSxNQUFNLE9BQU8saUJBQWlCO0lBQ3BCLHdCQUF3QixDQUEyQjtJQUUzRCxZQUFZLHdCQUFrRDtRQUM1RCxJQUFJLENBQUMsd0JBQXdCLEdBQUcsd0JBQXdCLENBQUM7SUFDM0QsQ0FBQztJQUVELEtBQUssQ0FBQyxVQUFVLENBQUMsSUFBa0MsRUFBRSxHQUFpQjtRQUNwRSxNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNYLE9BQU87UUFDVCxDQUFDO1FBQ0QsSUFBSSxDQUFDLHdCQUF3QixDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUM5QyxDQUFDO0NBQ0YifQ==
@@ -0,0 +1,3 @@
1
+ import '@eggjs/tegg-plugin/types';
2
+ import './app/extend/application.unittest.ts';
3
+ import './app/extend/context.ts';
package/dist/types.js ADDED
@@ -0,0 +1,4 @@
1
+ import '@eggjs/tegg-plugin/types';
2
+ import "./app/extend/application.unittest.js";
3
+ import "./app/extend/context.js";
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTywwQkFBMEIsQ0FBQztBQUVsQyxPQUFPLHNDQUFzQyxDQUFDO0FBQzlDLE9BQU8seUJBQXlCLENBQUMifQ==
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eggjs/tegg-eventbus-plugin",
3
- "version": "4.0.0-beta.1",
3
+ "version": "4.0.0-beta.11",
4
4
  "eggPlugin": {
5
5
  "name": "eventbusModule",
6
6
  "strict": false,
@@ -17,34 +17,23 @@
17
17
  "tegg"
18
18
  ],
19
19
  "files": [
20
- "app.js",
21
- "app.d.ts",
22
- "lib/**/*.js",
23
- "lib/**/*.d.ts",
24
- "app/**/*.js",
25
- "app/**/*.d.ts",
26
- "config/*.js",
27
- "config/*.d.ts",
28
- "index.js",
29
- "index.d.ts"
20
+ "dist"
30
21
  ],
31
22
  "type": "module",
32
23
  "exports": {
33
- ".": {
34
- "types": "./index.d.ts",
35
- "default": "./index.js"
36
- },
24
+ ".": "./dist/index.js",
25
+ "./app": "./dist/app.js",
26
+ "./app/extend/application.unittest": "./dist/app/extend/application.unittest.js",
27
+ "./app/extend/context": "./dist/app/extend/context.js",
28
+ "./lib/EggContextEventBus": "./dist/lib/EggContextEventBus.js",
29
+ "./lib/EggEventContext": "./dist/lib/EggEventContext.js",
30
+ "./lib/EventbusLoadUnitHook": "./dist/lib/EventbusLoadUnitHook.js",
31
+ "./lib/EventbusProtoHook": "./dist/lib/EventbusProtoHook.js",
32
+ "./lib/EventHandlerProtoManager": "./dist/lib/EventHandlerProtoManager.js",
33
+ "./types": "./dist/types.js",
37
34
  "./package.json": "./package.json"
38
35
  },
39
- "scripts": {
40
- "test": "egg-bin test",
41
- "cov": "egg-bin cov",
42
- "clean": "tsc -b --clean",
43
- "tsc": "npm run clean && tsc -p ./tsconfig.pub.json",
44
- "tsc:pub": "npm run tsc",
45
- "prepublishOnly": "npm run tsc"
46
- },
47
- "homepage": "https://github.com/eggjs/tegg",
36
+ "homepage": "https://github.com/eggjs/tegg/tree/next/plugin/eventbus",
48
37
  "bugs": {
49
38
  "url": "https://github.com/eggjs/tegg/issues"
50
39
  },
@@ -54,30 +43,45 @@
54
43
  "directory": "plugin/eventbus"
55
44
  },
56
45
  "engines": {
57
- "node": ">=20.0.0"
46
+ "node": ">=22.18.0"
58
47
  },
59
48
  "dependencies": {
60
- "@eggjs/core": "^6.4.0",
61
- "@eggjs/egg-module-common": "^4.0.0-beta.1",
62
- "@eggjs/tegg": "^4.0.0-beta.1",
63
- "@eggjs/tegg-eventbus-runtime": "^4.0.0-beta.1",
64
- "@eggjs/tegg-metadata": "^4.0.0-beta.1",
65
- "@eggjs/tegg-runtime": "^4.0.0-beta.1"
49
+ "@eggjs/egg-module-common": "4.0.0-beta.11",
50
+ "@eggjs/tegg-eventbus-runtime": "4.0.0-beta.11",
51
+ "@eggjs/tegg": "4.0.0-beta.11",
52
+ "@eggjs/tegg-metadata": "4.0.0-beta.11",
53
+ "@eggjs/tegg-runtime": "4.0.0-beta.11"
54
+ },
55
+ "peerDependencies": {
56
+ "egg": "beta",
57
+ "@eggjs/tegg-plugin": "4.0.0-beta.11"
66
58
  },
67
59
  "devDependencies": {
68
- "@eggjs/mock": "6",
69
- "@eggjs/tegg-common-util": "^4.0.0-beta.1",
70
- "@eggjs/tegg-config": "^4.0.0-beta.1",
71
- "@eggjs/tegg-plugin": "^4.0.0-beta.1",
72
- "@eggjs/tracer": "3",
73
- "@types/mocha": "10",
74
- "@types/node": "22",
75
- "egg": "4",
76
- "ts-node": "10",
77
- "typescript": "5"
60
+ "@eggjs/bin": "beta",
61
+ "@eggjs/mock": "beta",
62
+ "@eggjs/tracer": "beta",
63
+ "@types/mocha": "^10.0.10",
64
+ "@types/node": "^22.10.5",
65
+ "egg": "beta",
66
+ "mocha": "^11.0.1",
67
+ "tsdown": "^0.15.6",
68
+ "typescript": "^5.9.3",
69
+ "unplugin-unused": "^0.5.3",
70
+ "@eggjs/tegg-config": "4.0.0-beta.11",
71
+ "@eggjs/tegg-common-util": "4.0.0-beta.11",
72
+ "@eggjs/tegg-plugin": "4.0.0-beta.11"
78
73
  },
79
74
  "publishConfig": {
80
75
  "access": "public"
81
76
  },
82
- "gitHead": "79a22905272d6de7fe06152231dff65d213d9166"
83
- }
77
+ "main": "./dist/index.js",
78
+ "module": "./dist/index.js",
79
+ "types": "./dist/index.d.ts",
80
+ "scripts": {
81
+ "test:mocha": "egg-bin test",
82
+ "cov:mocha": "egg-bin cov",
83
+ "clean": "rimraf dist *.tsbuildinfo",
84
+ "build": "tsdown && npm run clean && tsc -p tsconfig.build.json",
85
+ "typecheck": "tsc --noEmit"
86
+ }
87
+ }
@@ -1,13 +0,0 @@
1
- import { EggCore as Application } from '@eggjs/core';
2
- import { type EventBus, type EventWaiter } from '@eggjs/tegg';
3
- declare const _default: {
4
- getEventbus(this: Application): Promise<EventBus>;
5
- getEventWaiter(this: Application): Promise<EventWaiter>;
6
- };
7
- export default _default;
8
- declare module '@eggjs/core' {
9
- interface EggCore {
10
- getEventbus(): Promise<EventBus>;
11
- getEventWaiter(): Promise<EventWaiter>;
12
- }
13
- }
@@ -1,15 +0,0 @@
1
- import { PrototypeUtil } from '@eggjs/tegg';
2
- import { SingletonEventBus } from '@eggjs/tegg-eventbus-runtime';
3
- export default {
4
- async getEventbus() {
5
- const proto = PrototypeUtil.getClazzProto(SingletonEventBus);
6
- const eggObject = await this.eggContainerFactory.getOrCreateEggObject(proto, proto.name);
7
- return eggObject.obj;
8
- },
9
- async getEventWaiter() {
10
- const proto = PrototypeUtil.getClazzProto(SingletonEventBus);
11
- const eggObject = await this.eggContainerFactory.getOrCreateEggObject(proto, proto.name);
12
- return eggObject.obj;
13
- },
14
- };
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGljYXRpb24udW5pdHRlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJhcHBsaWNhdGlvbi51bml0dGVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsYUFBYSxFQUFtQyxNQUFNLGFBQWEsQ0FBQztBQUM3RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUdqRSxlQUFlO0lBQ2IsS0FBSyxDQUFDLFdBQVc7UUFDZixNQUFNLEtBQUssR0FBRyxhQUFhLENBQUMsYUFBYSxDQUFDLGlCQUFpQixDQUFpQixDQUFDO1FBQzdFLE1BQU0sU0FBUyxHQUFHLE1BQU0sSUFBSSxDQUFDLG1CQUFtQixDQUFDLG9CQUFvQixDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekYsT0FBTyxTQUFTLENBQUMsR0FBZSxDQUFDO0lBQ25DLENBQUM7SUFFRCxLQUFLLENBQUMsY0FBYztRQUNsQixNQUFNLEtBQUssR0FBRyxhQUFhLENBQUMsYUFBYSxDQUFDLGlCQUFpQixDQUFpQixDQUFDO1FBQzdFLE1BQU0sU0FBUyxHQUFHLE1BQU0sSUFBSSxDQUFDLG1CQUFtQixDQUFDLG9CQUFvQixDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekYsT0FBTyxTQUFTLENBQUMsR0FBa0IsQ0FBQztJQUN0QyxDQUFDO0NBQ0YsQ0FBQyJ9
@@ -1,13 +0,0 @@
1
- import { Context } from '@eggjs/core';
2
- import { EggContextEventBus } from '../../lib/EggContextEventBus.js';
3
- const EVENT_BUS = Symbol.for('context#eventBus');
4
- export default class EventBusContext extends Context {
5
- [EVENT_BUS];
6
- get eventBus() {
7
- if (!this[EVENT_BUS]) {
8
- this[EVENT_BUS] = new EggContextEventBus(this);
9
- }
10
- return this[EVENT_BUS];
11
- }
12
- }
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImNvbnRleHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN0QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUVyRSxNQUFNLFNBQVMsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLGtCQUFrQixDQUFDLENBQUM7QUFFakQsTUFBTSxDQUFDLE9BQU8sT0FBTyxlQUFnQixTQUFRLE9BQU87SUFDbEQsQ0FBQyxTQUFTLENBQUMsQ0FBcUI7SUFFaEMsSUFBSSxRQUFRO1FBQ1YsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO1lBQ3JCLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxJQUFJLGtCQUFrQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2pELENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUN6QixDQUFDO0NBQ0YifQ==
package/app.js DELETED
@@ -1,28 +0,0 @@
1
- import { EventHandlerProtoManager } from './lib/EventHandlerProtoManager.js';
2
- import { EventbusLoadUnitHook } from './lib/EventbusLoadUnitHook.js';
3
- import { EventbusProtoHook } from './lib/EventbusProtoHook.js';
4
- export default class EventbusAppHook {
5
- app;
6
- eventHandlerProtoManager;
7
- eventbusLoadUnitHook;
8
- eventbusProtoHook;
9
- constructor(app) {
10
- this.app = app;
11
- this.eventHandlerProtoManager = new EventHandlerProtoManager(app);
12
- this.eventbusLoadUnitHook = new EventbusLoadUnitHook();
13
- this.eventbusProtoHook = new EventbusProtoHook(this.eventHandlerProtoManager);
14
- }
15
- configDidLoad() {
16
- this.app.eggPrototypeLifecycleUtil.registerLifecycle(this.eventbusProtoHook);
17
- this.app.loadUnitLifecycleUtil.registerLifecycle(this.eventbusLoadUnitHook);
18
- }
19
- async didLoad() {
20
- await this.app.moduleHandler.ready();
21
- await this.eventHandlerProtoManager.register();
22
- }
23
- beforeClose() {
24
- this.app.eggPrototypeLifecycleUtil.deleteLifecycle(this.eventbusProtoHook);
25
- this.app.loadUnitLifecycleUtil.deleteLifecycle(this.eventbusLoadUnitHook);
26
- }
27
- }
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiYXBwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRS9ELE1BQU0sQ0FBQyxPQUFPLE9BQU8sZUFBZTtJQUNqQixHQUFHLENBQWM7SUFDakIsd0JBQXdCLENBQTJCO0lBQ25ELG9CQUFvQixDQUF1QjtJQUMzQyxpQkFBaUIsQ0FBb0I7SUFFdEQsWUFBWSxHQUFnQjtRQUMxQixJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQztRQUNmLElBQUksQ0FBQyx3QkFBd0IsR0FBRyxJQUFJLHdCQUF3QixDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2xFLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLG9CQUFvQixFQUFFLENBQUM7UUFDdkQsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksaUJBQWlCLENBQUMsSUFBSSxDQUFDLHdCQUF3QixDQUFDLENBQUM7SUFDaEYsQ0FBQztJQUVELGFBQWE7UUFDWCxJQUFJLENBQUMsR0FBRyxDQUFDLHlCQUF5QixDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQzdFLElBQUksQ0FBQyxHQUFHLENBQUMscUJBQXFCLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUM7SUFDOUUsQ0FBQztJQUVELEtBQUssQ0FBQyxPQUFPO1FBQ1gsTUFBTSxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNyQyxNQUFNLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNqRCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxHQUFHLENBQUMseUJBQXlCLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQzNFLElBQUksQ0FBQyxHQUFHLENBQUMscUJBQXFCLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0lBQzVFLENBQUM7Q0FDRiJ9
package/index.d.ts DELETED
@@ -1,4 +0,0 @@
1
- import '@eggjs/tegg-plugin';
2
- import '@eggjs/tegg-config';
3
- import './app/extend/application.unittest.js';
4
- import './app/extend/context.js';
package/index.js DELETED
@@ -1,5 +0,0 @@
1
- import '@eggjs/tegg-plugin';
2
- import '@eggjs/tegg-config';
3
- import './app/extend/application.unittest.js';
4
- import './app/extend/context.js';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLG9CQUFvQixDQUFDO0FBQzVCLE9BQU8sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxzQ0FBc0MsQ0FBQztBQUM5QyxPQUFPLHlCQUF5QixDQUFDIn0=
@@ -1,34 +0,0 @@
1
- import assert from 'node:assert/strict';
2
- import { PrototypeUtil, CORK_ID } from '@eggjs/tegg';
3
- import { SingletonEventBus } from '@eggjs/tegg-eventbus-runtime';
4
- import { ContextHandler } from '@eggjs/tegg-runtime';
5
- export class EggContextEventBus {
6
- eventBus;
7
- context;
8
- corkId;
9
- constructor(ctx) {
10
- const proto = PrototypeUtil.getClazzProto(SingletonEventBus);
11
- const eggObject = ctx.app.eggContainerFactory.getEggObject(proto, proto.name);
12
- this.context = ContextHandler.getContext();
13
- this.eventBus = eggObject.obj;
14
- }
15
- cork() {
16
- if (!this.corkId) {
17
- this.corkId = this.eventBus.generateCorkId();
18
- this.context.set(CORK_ID, this.corkId);
19
- }
20
- this.eventBus.cork(this.corkId);
21
- }
22
- uncork() {
23
- assert(this.corkId, 'eventbus uncork without cork');
24
- if (this.eventBus.uncork(this.corkId)) {
25
- this.context.set(CORK_ID, null);
26
- this.corkId = undefined;
27
- }
28
- return true;
29
- }
30
- emit(event, ...args) {
31
- return this.eventBus.emitWithContext(this.context, event, args);
32
- }
33
- }
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRWdnQ29udGV4dEV2ZW50QnVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiRWdnQ29udGV4dEV2ZW50QnVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sTUFBTSxNQUFNLG9CQUFvQixDQUFDO0FBRXhDLE9BQU8sRUFBVSxhQUFhLEVBQUUsT0FBTyxFQUFtQixNQUFNLGFBQWEsQ0FBQztBQUM5RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUVqRSxPQUFPLEVBQUUsY0FBYyxFQUFjLE1BQU0scUJBQXFCLENBQUM7QUFHakUsTUFBTSxPQUFPLGtCQUFrQjtJQUNaLFFBQVEsQ0FBb0I7SUFDNUIsT0FBTyxDQUFhO0lBQzdCLE1BQU0sQ0FBVTtJQUV4QixZQUFZLEdBQVk7UUFDdEIsTUFBTSxLQUFLLEdBQUcsYUFBYSxDQUFDLGFBQWEsQ0FBQyxpQkFBaUIsQ0FBaUIsQ0FBQztRQUM3RSxNQUFNLFNBQVMsR0FBRyxHQUFHLENBQUMsR0FBRyxDQUFDLG1CQUFtQixDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzlFLElBQUksQ0FBQyxPQUFPLEdBQUcsY0FBYyxDQUFDLFVBQVUsRUFBRyxDQUFDO1FBQzVDLElBQUksQ0FBQyxRQUFRLEdBQUcsU0FBUyxDQUFDLEdBQXdCLENBQUM7SUFDckQsQ0FBQztJQUVELElBQUk7UUFDRixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ2pCLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUM3QyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3pDLENBQUM7UUFDRCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVELE1BQU07UUFDSixNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSw4QkFBOEIsQ0FBQyxDQUFDO1FBQ3BELElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7WUFDdEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQ2hDLElBQUksQ0FBQyxNQUFNLEdBQUcsU0FBUyxDQUFDO1FBQzFCLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxJQUFJLENBQXlCLEtBQVEsRUFBRSxHQUFHLElBQTBCO1FBQ2xFLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDbEUsQ0FBQztDQUNGIn0=
@@ -1,27 +0,0 @@
1
- import { EGG_CONTEXT, TEGG_CONTEXT } from '@eggjs/egg-module-common';
2
- // AbstractEggContext use lots of static method
3
- // In chair application mode plugin is in .sff
4
- // Make different @eggjs/tegg-runtime exits
5
- export function eggEventContextFactory(AbstractEggContextClazz, identicalUtil) {
6
- class EggEventContext extends AbstractEggContextClazz {
7
- id;
8
- constructor(context) {
9
- super();
10
- this.set(EGG_CONTEXT, context);
11
- context[TEGG_CONTEXT] = this;
12
- // In chair application mode,
13
- // Plugin event may install in app dir,
14
- // Plugin tegg may install in layer dir,
15
- // Will has multi IdenticalUtil instance.
16
- this.id = identicalUtil.createContextId(context.tracer?.traceId);
17
- }
18
- static createContextFactory(app) {
19
- return () => {
20
- const eggCtx = app.createAnonymousContext();
21
- return new EggEventContext(eggCtx);
22
- };
23
- }
24
- }
25
- return EggEventContext.createContextFactory;
26
- }
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRWdnRXZlbnRDb250ZXh0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiRWdnRXZlbnRDb250ZXh0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFHckUsK0NBQStDO0FBQy9DLDhDQUE4QztBQUM5QywyQ0FBMkM7QUFDM0MsTUFBTSxVQUFVLHNCQUFzQixDQUFDLHVCQUFrRCxFQUFFLGFBQW1DO0lBQzVILE1BQU0sZUFBZ0IsU0FBUSx1QkFBdUI7UUFDMUMsRUFBRSxDQUFTO1FBRXBCLFlBQVksT0FBZ0I7WUFDMUIsS0FBSyxFQUFFLENBQUM7WUFDUixJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVcsRUFBRSxPQUFPLENBQUMsQ0FBQztZQUMvQixPQUFPLENBQUMsWUFBWSxDQUFDLEdBQUcsSUFBSSxDQUFDO1lBQzdCLDZCQUE2QjtZQUM3Qix1Q0FBdUM7WUFDdkMsd0NBQXdDO1lBQ3hDLHlDQUF5QztZQUN6QyxJQUFJLENBQUMsRUFBRSxHQUFHLGFBQWEsQ0FBQyxlQUFlLENBQUUsT0FBTyxDQUFDLE1BQTBDLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDeEcsQ0FBQztRQUVELE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxHQUFnQjtZQUMxQyxPQUFPLEdBQWUsRUFBRTtnQkFDdEIsTUFBTSxNQUFNLEdBQUcsR0FBRyxDQUFDLHNCQUFzQixFQUFFLENBQUM7Z0JBQzVDLE9BQU8sSUFBSSxlQUFlLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDckMsQ0FBQyxDQUFDO1FBQ0osQ0FBQztLQUNGO0lBQ0QsT0FBTyxlQUFlLENBQUMsb0JBQW9CLENBQUM7QUFDOUMsQ0FBQyJ9
@@ -1,27 +0,0 @@
1
- import { EventContextFactory, EventHandlerFactory } from '@eggjs/tegg-eventbus-runtime';
2
- import { EVENT_NAME } from '@eggjs/tegg';
3
- import { eggEventContextFactory } from './EggEventContext.js';
4
- export class EventHandlerProtoManager {
5
- protos = new Set();
6
- app;
7
- constructor(app) {
8
- this.app = app;
9
- }
10
- addProto(proto) {
11
- this.protos.add(proto);
12
- }
13
- async register() {
14
- const eventHandlerFactory = await this.app.getEggObject(EventHandlerFactory);
15
- for (const proto of this.protos) {
16
- const eventList = proto.getMetaData(EVENT_NAME) ?? [];
17
- eventList.forEach(event => eventHandlerFactory.registerHandler(event, proto));
18
- }
19
- const eventFactory = await this.app.getEggObject(EventContextFactory);
20
- const createContextFactory = eggEventContextFactory(this.app.abstractEggContext, this.app.identicalUtil);
21
- eventFactory.registerContextCreator(createContextFactory(this.app));
22
- }
23
- getProtos() {
24
- return Array.from(this.protos);
25
- }
26
- }
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXZlbnRIYW5kbGVyUHJvdG9NYW5hZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiRXZlbnRIYW5kbGVyUHJvdG9NYW5hZ2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3hGLE9BQU8sRUFBRSxVQUFVLEVBQWEsTUFBTSxhQUFhLENBQUM7QUFDcEQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFOUQsTUFBTSxPQUFPLHdCQUF3QjtJQUNsQixNQUFNLEdBQXNCLElBQUksR0FBRyxFQUFFLENBQUM7SUFDdEMsR0FBRyxDQUFjO0lBRWxDLFlBQVksR0FBZ0I7UUFDMUIsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7SUFDakIsQ0FBQztJQUVELFFBQVEsQ0FBQyxLQUFtQjtRQUMxQixJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN6QixDQUFDO0lBRUQsS0FBSyxDQUFDLFFBQVE7UUFDWixNQUFNLG1CQUFtQixHQUFHLE1BQU0sSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUM3RSxLQUFLLE1BQU0sS0FBSyxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNoQyxNQUFNLFNBQVMsR0FBRyxLQUFLLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBZ0IsSUFBSSxFQUFFLENBQUM7WUFDckUsU0FBUyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLG1CQUFtQixDQUFDLGVBQWUsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUNoRixDQUFDO1FBRUQsTUFBTSxZQUFZLEdBQUcsTUFBTSxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQ3RFLE1BQU0sb0JBQW9CLEdBQUcsc0JBQXNCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3pHLFlBQVksQ0FBQyxzQkFBc0IsQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUN0RSxDQUFDO0lBRUQsU0FBUztRQUNQLE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDakMsQ0FBQztDQUNGIn0=
@@ -1,23 +0,0 @@
1
- import { EggQualifierAttribute, EggType, QualifierUtil } from '@eggjs/tegg';
2
- import { EggLoadUnitType, EggPrototypeCreatorFactory, EggPrototypeFactory, } from '@eggjs/tegg-metadata';
3
- import { EventContextFactory, EventHandlerFactory, SingletonEventBus } from '@eggjs/tegg-eventbus-runtime';
4
- const REGISTER_CLAZZ = [
5
- EventHandlerFactory,
6
- EventContextFactory,
7
- SingletonEventBus,
8
- ];
9
- // EggQualifier only for egg plugin
10
- QualifierUtil.addProperQualifier(SingletonEventBus, 'logger', EggQualifierAttribute, EggType.APP);
11
- export class EventbusLoadUnitHook {
12
- async postCreate(_ctx, loadUnit) {
13
- if (loadUnit.type === EggLoadUnitType.APP) {
14
- for (const clazz of REGISTER_CLAZZ) {
15
- const protos = await EggPrototypeCreatorFactory.createProto(clazz, loadUnit);
16
- for (const proto of protos) {
17
- EggPrototypeFactory.instance.registerPrototype(proto, loadUnit);
18
- }
19
- }
20
- }
21
- }
22
- }
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXZlbnRidXNMb2FkVW5pdEhvb2suanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJFdmVudGJ1c0xvYWRVbml0SG9vay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsT0FBTyxFQUFpQixhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDM0YsT0FBTyxFQUNMLGVBQWUsRUFDZiwwQkFBMEIsRUFDMUIsbUJBQW1CLEdBR3BCLE1BQU0sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyxFQUFFLG1CQUFtQixFQUFFLG1CQUFtQixFQUFFLGlCQUFpQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFM0csTUFBTSxjQUFjLEdBQUc7SUFDckIsbUJBQW1CO0lBQ25CLG1CQUFtQjtJQUNuQixpQkFBaUI7Q0FDbEIsQ0FBQztBQUVGLG1DQUFtQztBQUNuQyxhQUFhLENBQUMsa0JBQWtCLENBQUMsaUJBQWlCLEVBQUUsUUFBUSxFQUFFLHFCQUFxQixFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUVsRyxNQUFNLE9BQU8sb0JBQW9CO0lBQy9CLEtBQUssQ0FBQyxVQUFVLENBQUMsSUFBOEIsRUFBRSxRQUFrQjtRQUNqRSxJQUFJLFFBQVEsQ0FBQyxJQUFJLEtBQUssZUFBZSxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQzFDLEtBQUssTUFBTSxLQUFLLElBQUksY0FBYyxFQUFFLENBQUM7Z0JBQ25DLE1BQU0sTUFBTSxHQUFHLE1BQU0sMEJBQTBCLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsQ0FBQztnQkFDN0UsS0FBSyxNQUFNLEtBQUssSUFBSSxNQUFNLEVBQUUsQ0FBQztvQkFDM0IsbUJBQW1CLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsQ0FBQztnQkFDbEUsQ0FBQztZQUNILENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztDQUNGIn0=
@@ -1,15 +0,0 @@
1
- import { EVENT_NAME } from '@eggjs/tegg';
2
- export class EventbusProtoHook {
3
- eventHandlerProtoManager;
4
- constructor(eventHandlerProtoManager) {
5
- this.eventHandlerProtoManager = eventHandlerProtoManager;
6
- }
7
- async postCreate(_ctx, obj) {
8
- const event = obj.getMetaData(EVENT_NAME);
9
- if (!event) {
10
- return;
11
- }
12
- this.eventHandlerProtoManager.addProto(obj);
13
- }
14
- }
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXZlbnRidXNQcm90b0hvb2suanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJFdmVudGJ1c1Byb3RvSG9vay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFVBQVUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUl4RCxNQUFNLE9BQU8saUJBQWlCO0lBQ3BCLHdCQUF3QixDQUEyQjtJQUUzRCxZQUFZLHdCQUFrRDtRQUM1RCxJQUFJLENBQUMsd0JBQXdCLEdBQUcsd0JBQXdCLENBQUM7SUFDM0QsQ0FBQztJQUVELEtBQUssQ0FBQyxVQUFVLENBQUMsSUFBa0MsRUFBRSxHQUFpQjtRQUNwRSxNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNYLE9BQU87UUFDVCxDQUFDO1FBQ0QsSUFBSSxDQUFDLHdCQUF3QixDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUM5QyxDQUFDO0NBQ0YifQ==