@tsed/event-emitter 7.0.0-beta.2 → 7.0.0-beta.20

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/jest.config.js ADDED
@@ -0,0 +1,14 @@
1
+ // For a detailed explanation regarding each configuration property, visit:
2
+ // https://jestjs.io/docs/en/configuration.html
3
+
4
+ module.exports = {
5
+ ...require("@tsed/jest-config")(__dirname, "event-emitter"),
6
+ coverageThreshold: {
7
+ global: {
8
+ statements: 100,
9
+ branches: 100,
10
+ functions: 100,
11
+ lines: 100
12
+ }
13
+ }
14
+ };
@@ -2,10 +2,15 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.EventEmitterModule = void 0;
4
4
  const tslib_1 = require("tslib");
5
- const common_1 = require("@tsed/common");
6
5
  const di_1 = require("@tsed/di");
6
+ const logger_1 = require("@tsed/logger");
7
7
  const EventEmitterFactory_1 = require("./services/EventEmitterFactory");
8
8
  let EventEmitterModule = class EventEmitterModule {
9
+ disableSummary;
10
+ logger;
11
+ injector;
12
+ eventEmitter;
13
+ loadEventEmitter;
9
14
  async $afterListen() {
10
15
  if (this.loadEventEmitter) {
11
16
  const providers = this.getProviders();
@@ -27,28 +32,28 @@ let EventEmitterModule = class EventEmitterModule {
27
32
  listenerCount
28
33
  };
29
34
  });
30
- this.injector.logger.info("EventEmitter events mounted:");
31
- const str = common_1.$log.drawTable(list, {
35
+ this.logger.info("EventEmitter events mounted:");
36
+ const str = this.logger.drawTable(list, {
32
37
  padding: 1,
33
38
  header: {
34
39
  eventName: "Event name",
35
40
  listenerCount: "Number of listener"
36
41
  }
37
42
  });
38
- this.injector.logger.info("\n" + str.trim());
43
+ this.logger.info("\n" + str.trim());
39
44
  }
40
45
  getProviders() {
41
46
  return Array.from(this.injector.getProviders());
42
47
  }
43
48
  addEventListenerForProvider(provider) {
44
49
  const store = provider.store.get("eventEmitter");
45
- const eventListenerDefinitions = Object.entries((store === null || store === void 0 ? void 0 : store.onEvent) || {});
50
+ const eventListenerDefinitions = Object.entries(store?.onEvent || {});
46
51
  for (const [propertyKey, { event, options }] of eventListenerDefinitions) {
47
52
  const instance = this.injector.get(provider.token);
48
53
  const listenerFn = instance[propertyKey].bind(instance);
49
54
  this.eventEmitter.on(event, listenerFn, options);
50
55
  }
51
- const anyEventListenerDefinitions = Object.keys((store === null || store === void 0 ? void 0 : store.onAny) || {});
56
+ const anyEventListenerDefinitions = Object.keys(store?.onAny || {});
52
57
  for (const propertyKey of anyEventListenerDefinitions) {
53
58
  const instance = this.injector.get(provider.token);
54
59
  const listenerFn = instance[propertyKey].bind(instance);
@@ -56,27 +61,27 @@ let EventEmitterModule = class EventEmitterModule {
56
61
  }
57
62
  }
58
63
  };
59
- (0, tslib_1.__decorate)([
64
+ tslib_1.__decorate([
60
65
  (0, di_1.Constant)("eventEmitter.disableSummary", false),
61
- (0, tslib_1.__metadata)("design:type", Boolean)
66
+ tslib_1.__metadata("design:type", Boolean)
62
67
  ], EventEmitterModule.prototype, "disableSummary", void 0);
63
- (0, tslib_1.__decorate)([
68
+ tslib_1.__decorate([
64
69
  (0, di_1.Inject)(),
65
- (0, tslib_1.__metadata)("design:type", common_1.Logger)
70
+ tslib_1.__metadata("design:type", logger_1.Logger)
66
71
  ], EventEmitterModule.prototype, "logger", void 0);
67
- (0, tslib_1.__decorate)([
72
+ tslib_1.__decorate([
68
73
  (0, di_1.Inject)(),
69
- (0, tslib_1.__metadata)("design:type", di_1.InjectorService)
74
+ tslib_1.__metadata("design:type", di_1.InjectorService)
70
75
  ], EventEmitterModule.prototype, "injector", void 0);
71
- (0, tslib_1.__decorate)([
76
+ tslib_1.__decorate([
72
77
  (0, di_1.Inject)(),
73
- (0, tslib_1.__metadata)("design:type", EventEmitterFactory_1.EventEmitterService)
78
+ tslib_1.__metadata("design:type", EventEmitterFactory_1.EventEmitterService)
74
79
  ], EventEmitterModule.prototype, "eventEmitter", void 0);
75
- (0, tslib_1.__decorate)([
80
+ tslib_1.__decorate([
76
81
  (0, di_1.Constant)("eventEmitter.enabled", false),
77
- (0, tslib_1.__metadata)("design:type", Boolean)
82
+ tslib_1.__metadata("design:type", Boolean)
78
83
  ], EventEmitterModule.prototype, "loadEventEmitter", void 0);
79
- EventEmitterModule = (0, tslib_1.__decorate)([
84
+ EventEmitterModule = tslib_1.__decorate([
80
85
  (0, di_1.Module)()
81
86
  ], EventEmitterModule);
82
87
  exports.EventEmitterModule = EventEmitterModule;
@@ -1 +1 @@
1
- {"version":3,"file":"EventEmitterModule.js","sourceRoot":"","sources":["../../src/EventEmitterModule.ts"],"names":[],"mappings":"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","sourcesContent":["import {$log, AfterListen, Logger} from \"@tsed/common\";\nimport {Constant, Inject, InjectorService, Module, Provider} from \"@tsed/di\";\nimport {ListenerFn} from \"eventemitter2\";\nimport {EventEmitterStore} from \"./interfaces/EventEmitterStore\";\nimport {EventEmitterService} from \"./services/EventEmitterFactory\";\n\n@Module()\nexport class EventEmitterModule implements AfterListen {\n @Constant(\"eventEmitter.disableSummary\", false)\n disableSummary: boolean;\n\n @Inject()\n protected logger: Logger;\n\n @Inject()\n protected injector: InjectorService;\n\n @Inject()\n protected eventEmitter: EventEmitterService;\n\n @Constant(\"eventEmitter.enabled\", false)\n private loadEventEmitter: boolean;\n\n async $afterListen(): Promise<any> {\n if (this.loadEventEmitter) {\n const providers = this.getProviders();\n providers.forEach((provider) => this.addEventListenerForProvider(provider));\n if (!this.disableSummary) {\n this.printEvents();\n }\n this.logger.info(\"EventEmitter listening...\");\n } else {\n this.logger.info(\"EventEmitter disabled...\");\n }\n }\n\n public printEvents() {\n const list = this.eventEmitter.eventNames().map((eventName) => {\n const listenerCount = this.eventEmitter.listenerCount(eventName).toString();\n return {\n eventName,\n listenerCount\n };\n });\n\n this.injector.logger.info(\"EventEmitter events mounted:\");\n\n const str = $log.drawTable(list, {\n padding: 1,\n header: {\n eventName: \"Event name\",\n listenerCount: \"Number of listener\"\n }\n });\n\n this.injector.logger.info(\"\\n\" + str.trim());\n }\n\n protected getProviders(): Provider<any>[] {\n return Array.from(this.injector.getProviders());\n }\n\n private addEventListenerForProvider(provider: Provider<any>) {\n const store = provider.store.get<EventEmitterStore | undefined>(\"eventEmitter\");\n\n const eventListenerDefinitions = Object.entries(store?.onEvent || {});\n\n for (const [propertyKey, {event, options}] of eventListenerDefinitions) {\n const instance = this.injector.get(provider.token);\n\n const listenerFn: ListenerFn = instance[propertyKey].bind(instance) as ListenerFn;\n this.eventEmitter.on(event, listenerFn, options);\n }\n\n const anyEventListenerDefinitions = Object.keys(store?.onAny || {});\n for (const propertyKey of anyEventListenerDefinitions) {\n const instance = this.injector.get(provider.token);\n\n const listenerFn: ListenerFn = instance[propertyKey].bind(instance) as ListenerFn;\n this.eventEmitter.onAny(listenerFn);\n }\n }\n}\n"]}
1
+ {"version":3,"file":"EventEmitterModule.js","sourceRoot":"","sources":["../../src/EventEmitterModule.ts"],"names":[],"mappings":";;;;AAAA,iCAA6E;AAC7E,yCAAoC;AAGpC,wEAAmE;AAGnE,IAAa,kBAAkB,GAA/B,MAAa,kBAAkB;IAE7B,cAAc,CAAU;IAGd,MAAM,CAAS;IAGf,QAAQ,CAAkB;IAG1B,YAAY,CAAsB;IAGpC,gBAAgB,CAAU;IAElC,KAAK,CAAC,YAAY;QAChB,IAAI,IAAI,CAAC,gBAAgB,EAAE;YACzB,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;YACtC,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,2BAA2B,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC5E,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;gBACxB,IAAI,CAAC,WAAW,EAAE,CAAC;aACpB;YACD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;SAC/C;aAAM;YACL,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;SAC9C;IACH,CAAC;IAEM,WAAW;QAChB,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE;YAC5D,MAAM,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE,CAAC;YAC5E,OAAO;gBACL,SAAS;gBACT,aAAa;aACd,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;QAEjD,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE;YACtC,OAAO,EAAE,CAAC;YACV,MAAM,EAAE;gBACN,SAAS,EAAE,YAAY;gBACvB,aAAa,EAAE,oBAAoB;aACpC;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;IACtC,CAAC;IAES,YAAY;QACpB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAC;IAClD,CAAC;IAEO,2BAA2B,CAAC,QAAuB;QACzD,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAgC,cAAc,CAAC,CAAC;QAEhF,MAAM,wBAAwB,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC;QAEtE,KAAK,MAAM,CAAC,WAAW,EAAE,EAAC,KAAK,EAAE,OAAO,EAAC,CAAC,IAAI,wBAAwB,EAAE;YACtE,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAEnD,MAAM,UAAU,GAAe,QAAQ,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAe,CAAC;YAClF,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;SAClD;QAED,MAAM,2BAA2B,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;QACpE,KAAK,MAAM,WAAW,IAAI,2BAA2B,EAAE;YACrD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAEnD,MAAM,UAAU,GAAe,QAAQ,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAe,CAAC;YAClF,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;SACrC;IACH,CAAC;CACF,CAAA;AAzEC;IADC,IAAA,aAAQ,EAAC,6BAA6B,EAAE,KAAK,CAAC;;0DACvB;AAGxB;IADC,IAAA,WAAM,GAAE;sCACS,eAAM;kDAAC;AAGzB;IADC,IAAA,WAAM,GAAE;sCACW,oBAAe;oDAAC;AAGpC;IADC,IAAA,WAAM,GAAE;sCACe,yCAAmB;wDAAC;AAG5C;IADC,IAAA,aAAQ,EAAC,sBAAsB,EAAE,KAAK,CAAC;;4DACN;AAdvB,kBAAkB;IAD9B,IAAA,WAAM,GAAE;GACI,kBAAkB,CA2E9B;AA3EY,gDAAkB","sourcesContent":["import {Constant, Inject, InjectorService, Module, Provider} from \"@tsed/di\";\nimport {Logger} from \"@tsed/logger\";\nimport {ListenerFn} from \"eventemitter2\";\nimport {EventEmitterStore} from \"./interfaces/EventEmitterStore\";\nimport {EventEmitterService} from \"./services/EventEmitterFactory\";\n\n@Module()\nexport class EventEmitterModule {\n @Constant(\"eventEmitter.disableSummary\", false)\n disableSummary: boolean;\n\n @Inject()\n protected logger: Logger;\n\n @Inject()\n protected injector: InjectorService;\n\n @Inject()\n protected eventEmitter: EventEmitterService;\n\n @Constant(\"eventEmitter.enabled\", false)\n private loadEventEmitter: boolean;\n\n async $afterListen(): Promise<any> {\n if (this.loadEventEmitter) {\n const providers = this.getProviders();\n providers.forEach((provider) => this.addEventListenerForProvider(provider));\n if (!this.disableSummary) {\n this.printEvents();\n }\n this.logger.info(\"EventEmitter listening...\");\n } else {\n this.logger.info(\"EventEmitter disabled...\");\n }\n }\n\n public printEvents() {\n const list = this.eventEmitter.eventNames().map((eventName) => {\n const listenerCount = this.eventEmitter.listenerCount(eventName).toString();\n return {\n eventName,\n listenerCount\n };\n });\n\n this.logger.info(\"EventEmitter events mounted:\");\n\n const str = this.logger.drawTable(list, {\n padding: 1,\n header: {\n eventName: \"Event name\",\n listenerCount: \"Number of listener\"\n }\n });\n\n this.logger.info(\"\\n\" + str.trim());\n }\n\n protected getProviders(): Provider<any>[] {\n return Array.from(this.injector.getProviders());\n }\n\n private addEventListenerForProvider(provider: Provider<any>) {\n const store = provider.store.get<EventEmitterStore | undefined>(\"eventEmitter\");\n\n const eventListenerDefinitions = Object.entries(store?.onEvent || {});\n\n for (const [propertyKey, {event, options}] of eventListenerDefinitions) {\n const instance = this.injector.get(provider.token);\n\n const listenerFn: ListenerFn = instance[propertyKey].bind(instance) as ListenerFn;\n this.eventEmitter.on(event, listenerFn, options);\n }\n\n const anyEventListenerDefinitions = Object.keys(store?.onAny || {});\n for (const propertyKey of anyEventListenerDefinitions) {\n const instance = this.injector.get(provider.token);\n\n const listenerFn: ListenerFn = instance[propertyKey].bind(instance) as ListenerFn;\n this.eventEmitter.onAny(listenerFn);\n }\n }\n}\n"]}
package/lib/cjs/index.js CHANGED
@@ -1,7 +1,13 @@
1
1
  "use strict";
2
+ /**
3
+ * @file Automatically generated by barrelsby.
4
+ */
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
6
  const tslib_1 = require("tslib");
4
- (0, tslib_1.__exportStar)(require("./EventEmitterModule"), exports);
5
- (0, tslib_1.__exportStar)(require("./services/EventEmitterFactory"), exports);
6
- (0, tslib_1.__exportStar)(require("./decorators"), exports);
7
+ tslib_1.__exportStar(require("./EventEmitterModule"), exports);
8
+ tslib_1.__exportStar(require("./decorators/onAny"), exports);
9
+ tslib_1.__exportStar(require("./decorators/onEvent"), exports);
10
+ tslib_1.__exportStar(require("./interfaces/EventEmitterStore"), exports);
11
+ tslib_1.__exportStar(require("./interfaces/interfaces"), exports);
12
+ tslib_1.__exportStar(require("./services/EventEmitterFactory"), exports);
7
13
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAmBA,oEAAqC;AACrC,8EAA+C;AAC/C,4DAA6B","sourcesContent":["import {ConstructorOptions} from \"eventemitter2\";\n\ndeclare global {\n namespace TsED {\n interface Configuration {\n eventEmitter?: {\n /**\n * Enable Event Emitter. Default `false`.\n */\n enabled?: boolean;\n /**\n * Disable event table displayed in the logger. Default `false`.\n */\n disableSummary?: boolean;\n } & ConstructorOptions;\n }\n }\n}\n\nexport * from \"./EventEmitterModule\";\nexport * from \"./services/EventEmitterFactory\";\nexport * from \"./decorators\";\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,+DAAqC;AACrC,6DAAmC;AACnC,+DAAqC;AACrC,yEAA+C;AAC/C,kEAAwC;AACxC,yEAA+C","sourcesContent":["/**\n * @file Automatically generated by barrelsby.\n */\n\nexport * from \"./EventEmitterModule\";\nexport * from \"./decorators/onAny\";\nexport * from \"./decorators/onEvent\";\nexport * from \"./interfaces/EventEmitterStore\";\nexport * from \"./interfaces/interfaces\";\nexport * from \"./services/EventEmitterFactory\";\n"]}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=interfaces.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../../src/interfaces/interfaces.ts"],"names":[],"mappings":"","sourcesContent":["import {ConstructorOptions} from \"eventemitter2\";\n\ndeclare global {\n namespace TsED {\n interface Configuration {\n eventEmitter?: {\n /**\n * Enable Event Emitter. Default `false`.\n */\n enabled?: boolean;\n /**\n * Disable event table displayed in the logger. Default `false`.\n */\n disableSummary?: boolean;\n } & ConstructorOptions;\n }\n }\n}\n"]}
@@ -0,0 +1,3 @@
1
+ {
2
+ "type": "commonjs"
3
+ }
@@ -1,8 +1,13 @@
1
1
  import { __decorate, __metadata } from "tslib";
2
- import { $log, Logger } from "@tsed/common";
3
2
  import { Constant, Inject, InjectorService, Module } from "@tsed/di";
4
- import { EventEmitterService } from "./services/EventEmitterFactory";
3
+ import { Logger } from "@tsed/logger";
4
+ import { EventEmitterService } from "./services/EventEmitterFactory.js";
5
5
  let EventEmitterModule = class EventEmitterModule {
6
+ disableSummary;
7
+ logger;
8
+ injector;
9
+ eventEmitter;
10
+ loadEventEmitter;
6
11
  async $afterListen() {
7
12
  if (this.loadEventEmitter) {
8
13
  const providers = this.getProviders();
@@ -24,28 +29,28 @@ let EventEmitterModule = class EventEmitterModule {
24
29
  listenerCount
25
30
  };
26
31
  });
27
- this.injector.logger.info("EventEmitter events mounted:");
28
- const str = $log.drawTable(list, {
32
+ this.logger.info("EventEmitter events mounted:");
33
+ const str = this.logger.drawTable(list, {
29
34
  padding: 1,
30
35
  header: {
31
36
  eventName: "Event name",
32
37
  listenerCount: "Number of listener"
33
38
  }
34
39
  });
35
- this.injector.logger.info("\n" + str.trim());
40
+ this.logger.info("\n" + str.trim());
36
41
  }
37
42
  getProviders() {
38
43
  return Array.from(this.injector.getProviders());
39
44
  }
40
45
  addEventListenerForProvider(provider) {
41
46
  const store = provider.store.get("eventEmitter");
42
- const eventListenerDefinitions = Object.entries((store === null || store === void 0 ? void 0 : store.onEvent) || {});
47
+ const eventListenerDefinitions = Object.entries(store?.onEvent || {});
43
48
  for (const [propertyKey, { event, options }] of eventListenerDefinitions) {
44
49
  const instance = this.injector.get(provider.token);
45
50
  const listenerFn = instance[propertyKey].bind(instance);
46
51
  this.eventEmitter.on(event, listenerFn, options);
47
52
  }
48
- const anyEventListenerDefinitions = Object.keys((store === null || store === void 0 ? void 0 : store.onAny) || {});
53
+ const anyEventListenerDefinitions = Object.keys(store?.onAny || {});
49
54
  for (const propertyKey of anyEventListenerDefinitions) {
50
55
  const instance = this.injector.get(provider.token);
51
56
  const listenerFn = instance[propertyKey].bind(instance);
@@ -1 +1 @@
1
- {"version":3,"file":"EventEmitterModule.js","sourceRoot":"","sources":["../../src/EventEmitterModule.ts"],"names":[],"mappings":"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","sourcesContent":["import {$log, AfterListen, Logger} from \"@tsed/common\";\nimport {Constant, Inject, InjectorService, Module, Provider} from \"@tsed/di\";\nimport {ListenerFn} from \"eventemitter2\";\nimport {EventEmitterStore} from \"./interfaces/EventEmitterStore\";\nimport {EventEmitterService} from \"./services/EventEmitterFactory\";\n\n@Module()\nexport class EventEmitterModule implements AfterListen {\n @Constant(\"eventEmitter.disableSummary\", false)\n disableSummary: boolean;\n\n @Inject()\n protected logger: Logger;\n\n @Inject()\n protected injector: InjectorService;\n\n @Inject()\n protected eventEmitter: EventEmitterService;\n\n @Constant(\"eventEmitter.enabled\", false)\n private loadEventEmitter: boolean;\n\n async $afterListen(): Promise<any> {\n if (this.loadEventEmitter) {\n const providers = this.getProviders();\n providers.forEach((provider) => this.addEventListenerForProvider(provider));\n if (!this.disableSummary) {\n this.printEvents();\n }\n this.logger.info(\"EventEmitter listening...\");\n } else {\n this.logger.info(\"EventEmitter disabled...\");\n }\n }\n\n public printEvents() {\n const list = this.eventEmitter.eventNames().map((eventName) => {\n const listenerCount = this.eventEmitter.listenerCount(eventName).toString();\n return {\n eventName,\n listenerCount\n };\n });\n\n this.injector.logger.info(\"EventEmitter events mounted:\");\n\n const str = $log.drawTable(list, {\n padding: 1,\n header: {\n eventName: \"Event name\",\n listenerCount: \"Number of listener\"\n }\n });\n\n this.injector.logger.info(\"\\n\" + str.trim());\n }\n\n protected getProviders(): Provider<any>[] {\n return Array.from(this.injector.getProviders());\n }\n\n private addEventListenerForProvider(provider: Provider<any>) {\n const store = provider.store.get<EventEmitterStore | undefined>(\"eventEmitter\");\n\n const eventListenerDefinitions = Object.entries(store?.onEvent || {});\n\n for (const [propertyKey, {event, options}] of eventListenerDefinitions) {\n const instance = this.injector.get(provider.token);\n\n const listenerFn: ListenerFn = instance[propertyKey].bind(instance) as ListenerFn;\n this.eventEmitter.on(event, listenerFn, options);\n }\n\n const anyEventListenerDefinitions = Object.keys(store?.onAny || {});\n for (const propertyKey of anyEventListenerDefinitions) {\n const instance = this.injector.get(provider.token);\n\n const listenerFn: ListenerFn = instance[propertyKey].bind(instance) as ListenerFn;\n this.eventEmitter.onAny(listenerFn);\n }\n }\n}\n"]}
1
+ {"version":3,"file":"EventEmitterModule.js","sourceRoot":"","sources":["../../src/EventEmitterModule.ts"],"names":[],"mappings":"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","sourcesContent":["import {Constant, Inject, InjectorService, Module, Provider} from \"@tsed/di\";\nimport {Logger} from \"@tsed/logger\";\nimport {ListenerFn} from \"eventemitter2\";\nimport {EventEmitterStore} from \"./interfaces/EventEmitterStore\";\nimport {EventEmitterService} from \"./services/EventEmitterFactory\";\n\n@Module()\nexport class EventEmitterModule {\n @Constant(\"eventEmitter.disableSummary\", false)\n disableSummary: boolean;\n\n @Inject()\n protected logger: Logger;\n\n @Inject()\n protected injector: InjectorService;\n\n @Inject()\n protected eventEmitter: EventEmitterService;\n\n @Constant(\"eventEmitter.enabled\", false)\n private loadEventEmitter: boolean;\n\n async $afterListen(): Promise<any> {\n if (this.loadEventEmitter) {\n const providers = this.getProviders();\n providers.forEach((provider) => this.addEventListenerForProvider(provider));\n if (!this.disableSummary) {\n this.printEvents();\n }\n this.logger.info(\"EventEmitter listening...\");\n } else {\n this.logger.info(\"EventEmitter disabled...\");\n }\n }\n\n public printEvents() {\n const list = this.eventEmitter.eventNames().map((eventName) => {\n const listenerCount = this.eventEmitter.listenerCount(eventName).toString();\n return {\n eventName,\n listenerCount\n };\n });\n\n this.logger.info(\"EventEmitter events mounted:\");\n\n const str = this.logger.drawTable(list, {\n padding: 1,\n header: {\n eventName: \"Event name\",\n listenerCount: \"Number of listener\"\n }\n });\n\n this.logger.info(\"\\n\" + str.trim());\n }\n\n protected getProviders(): Provider<any>[] {\n return Array.from(this.injector.getProviders());\n }\n\n private addEventListenerForProvider(provider: Provider<any>) {\n const store = provider.store.get<EventEmitterStore | undefined>(\"eventEmitter\");\n\n const eventListenerDefinitions = Object.entries(store?.onEvent || {});\n\n for (const [propertyKey, {event, options}] of eventListenerDefinitions) {\n const instance = this.injector.get(provider.token);\n\n const listenerFn: ListenerFn = instance[propertyKey].bind(instance) as ListenerFn;\n this.eventEmitter.on(event, listenerFn, options);\n }\n\n const anyEventListenerDefinitions = Object.keys(store?.onAny || {});\n for (const propertyKey of anyEventListenerDefinitions) {\n const instance = this.injector.get(provider.token);\n\n const listenerFn: ListenerFn = instance[propertyKey].bind(instance) as ListenerFn;\n this.eventEmitter.onAny(listenerFn);\n }\n }\n}\n"]}
package/lib/esm/index.js CHANGED
@@ -1,4 +1,10 @@
1
- export * from "./EventEmitterModule";
2
- export * from "./services/EventEmitterFactory";
3
- export * from "./decorators";
1
+ /**
2
+ * @file Automatically generated by barrelsby.
3
+ */
4
+ export * from "./EventEmitterModule.js";
5
+ export * from "./decorators/onAny.js";
6
+ export * from "./decorators/onEvent.js";
7
+ export * from "./interfaces/EventEmitterStore.js";
8
+ export * from "./interfaces/interfaces.js";
9
+ export * from "./services/EventEmitterFactory.js";
4
10
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAmBA,cAAc,sBAAsB,CAAC;AACrC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,cAAc,CAAC","sourcesContent":["import {ConstructorOptions} from \"eventemitter2\";\n\ndeclare global {\n namespace TsED {\n interface Configuration {\n eventEmitter?: {\n /**\n * Enable Event Emitter. Default `false`.\n */\n enabled?: boolean;\n /**\n * Disable event table displayed in the logger. Default `false`.\n */\n disableSummary?: boolean;\n } & ConstructorOptions;\n }\n }\n}\n\nexport * from \"./EventEmitterModule\";\nexport * from \"./services/EventEmitterFactory\";\nexport * from \"./decorators\";\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,yBAAyB,CAAC;AACxC,cAAc,gCAAgC,CAAC","sourcesContent":["/**\n * @file Automatically generated by barrelsby.\n */\n\nexport * from \"./EventEmitterModule\";\nexport * from \"./decorators/onAny\";\nexport * from \"./decorators/onEvent\";\nexport * from \"./interfaces/EventEmitterStore\";\nexport * from \"./interfaces/interfaces\";\nexport * from \"./services/EventEmitterFactory\";\n"]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=interfaces.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../../src/interfaces/interfaces.ts"],"names":[],"mappings":"","sourcesContent":["import {ConstructorOptions} from \"eventemitter2\";\n\ndeclare global {\n namespace TsED {\n interface Configuration {\n eventEmitter?: {\n /**\n * Enable Event Emitter. Default `false`.\n */\n enabled?: boolean;\n /**\n * Disable event table displayed in the logger. Default `false`.\n */\n disableSummary?: boolean;\n } & ConstructorOptions;\n }\n }\n}\n"]}
@@ -0,0 +1,3 @@
1
+ {
2
+ "type": "module"
3
+ }
@@ -1,7 +1,7 @@
1
- import { AfterListen, Logger } from "@tsed/common";
2
1
  import { InjectorService, Provider } from "@tsed/di";
2
+ import { Logger } from "@tsed/logger";
3
3
  import { EventEmitterService } from "./services/EventEmitterFactory";
4
- export declare class EventEmitterModule implements AfterListen {
4
+ export declare class EventEmitterModule {
5
5
  disableSummary: boolean;
6
6
  protected logger: Logger;
7
7
  protected injector: InjectorService;
@@ -1,20 +1,9 @@
1
- import { ConstructorOptions } from "eventemitter2";
2
- declare global {
3
- namespace TsED {
4
- interface Configuration {
5
- eventEmitter?: {
6
- /**
7
- * Enable Event Emitter. Default `false`.
8
- */
9
- enabled?: boolean;
10
- /**
11
- * Disable event table displayed in the logger. Default `false`.
12
- */
13
- disableSummary?: boolean;
14
- } & ConstructorOptions;
15
- }
16
- }
17
- }
1
+ /**
2
+ * @file Automatically generated by barrelsby.
3
+ */
18
4
  export * from "./EventEmitterModule";
5
+ export * from "./decorators/onAny";
6
+ export * from "./decorators/onEvent";
7
+ export * from "./interfaces/EventEmitterStore";
8
+ export * from "./interfaces/interfaces";
19
9
  export * from "./services/EventEmitterFactory";
20
- export * from "./decorators";
@@ -0,0 +1,17 @@
1
+ import { ConstructorOptions } from "eventemitter2";
2
+ declare global {
3
+ namespace TsED {
4
+ interface Configuration {
5
+ eventEmitter?: {
6
+ /**
7
+ * Enable Event Emitter. Default `false`.
8
+ */
9
+ enabled?: boolean;
10
+ /**
11
+ * Disable event table displayed in the logger. Default `false`.
12
+ */
13
+ disableSummary?: boolean;
14
+ } & ConstructorOptions;
15
+ }
16
+ }
17
+ }
package/package.json CHANGED
@@ -1,9 +1,10 @@
1
1
  {
2
2
  "name": "@tsed/event-emitter",
3
- "version": "7.0.0-beta.2",
3
+ "version": "7.0.0-beta.20",
4
4
  "description": "EventEmitter package for Ts.ED framework",
5
5
  "source": "./src/index.ts",
6
6
  "main": "./lib/cjs/index.js",
7
+ "module": "./lib/esm/index.js",
7
8
  "typings": "./lib/types/index.d.ts",
8
9
  "exports": {
9
10
  "types": "./lib/types/index.d.ts",
@@ -12,19 +13,20 @@
12
13
  "default": "./lib/esm/index.js"
13
14
  },
14
15
  "scripts": {
15
- "build": "yarn run build:esm && yarn run build:cjs",
16
+ "build": "yarn barrels && yarn run build:esm && yarn run build:cjs",
16
17
  "build:cjs": "tsc --build tsconfig.compile.json",
17
18
  "build:esm": "tsc --build tsconfig.compile.esm.json",
18
- "test": "cross-env NODE_ENV=test nyc mocha"
19
+ "barrels": "yarn barrelsby --delete -d ./src -e \"\\.spec\\.ts\" -e \"__mock__\" -e \".benchmark.ts\"",
20
+ "test": "cross-env NODE_ENV=test yarn jest --max-workers=2"
19
21
  },
20
22
  "dependencies": {
21
- "tslib": "2.2.0"
23
+ "tslib": "2.4.0"
22
24
  },
23
25
  "private": false,
24
26
  "devDependencies": {
25
- "@tsed/common": "7.0.0-beta.2",
26
- "@tsed/core": "7.0.0-beta.2",
27
- "@tsed/di": "7.0.0-beta.2",
27
+ "@tsed/common": "7.0.0-beta.20",
28
+ "@tsed/core": "7.0.0-beta.20",
29
+ "@tsed/di": "7.0.0-beta.20",
28
30
  "eventemitter2": "^6.4.4"
29
31
  },
30
32
  "peerDependencies": {
@@ -34,7 +36,10 @@
34
36
  "bugs": {
35
37
  "url": "https://github.com/tsedio/tsed/issues"
36
38
  },
37
- "homepage": "https://github.com/tsedio/tsed/tree/alpha/packages/third-parties/event-emitter",
39
+ "homepage": "https://github.com/tsedio/tsed/tree/beta/packages/third-parties/event-emitter",
38
40
  "author": "Romain Lenzotti",
39
- "license": "MIT"
41
+ "license": "MIT",
42
+ "publishConfig": {
43
+ "tag": "beta"
44
+ }
40
45
  }
package/readme.md CHANGED
@@ -12,7 +12,8 @@
12
12
  [![npm version](https://badge.fury.io/js/%40tsed%2Fcommon.svg)](https://badge.fury.io/js/%40tsed%2Fcommon)
13
13
  [![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release)
14
14
  [![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square)](https://github.com/prettier/prettier)
15
- [![backers](https://opencollective.com/tsed/tiers/badge.svg)](https://opencollective.com/tsed)
15
+ [![github](https://img.shields.io/static/v1?label=Github%20sponsor&message=%E2%9D%A4&logo=GitHub&color=%23fe8e86)](https://github.com/sponsors/romakita)
16
+ [![opencollective](https://img.shields.io/static/v1?label=OpenCollective%20sponsor&message=%E2%9D%A4&logo=OpenCollective&color=%23fe8e86)](https://opencollective.com/tsed)
16
17
 
17
18
  </div>
18
19
 
@@ -64,14 +65,12 @@ import "@tsed/event-emitter"; // import event emitter ts.ed module
64
65
 
65
66
  @Configuration({
66
67
  eventEmitter: {
67
- enabled: true, // Enable events for this instance.
68
- // pass any options that you would normally pass to new EventEmitter2(), e.g.
69
- wildcard: true
68
+ enabled: true, // Enable events for this instance.
69
+ // pass any options that you would normally pass to new EventEmitter2(), e.g.
70
+ wildcard: true
70
71
  }
71
72
  })
72
- export class Server {
73
-
74
- }
73
+ export class Server {}
75
74
  ```
76
75
 
77
76
  ## Setup event listener
@@ -109,7 +108,6 @@ import {EventEmitterService} from "@tsed/event-emitter";
109
108
 
110
109
  @Service()
111
110
  export class OrderService {
112
-
113
111
  @Inject()
114
112
  private eventEmitter: EventEmitterService;
115
113
 
@@ -118,23 +116,21 @@ export class OrderService {
118
116
  // then send an event
119
117
  this.eventEmitter.emit("order.shipped", {orderId});
120
118
  }
121
-
122
119
  }
123
120
  ```
124
121
 
125
122
  ## Contributors
123
+
126
124
  Please read [contributing guidelines here](https://tsed.io/CONTRIBUTING.html)
127
125
 
128
126
  <a href="https://github.com/tsedio/tsed/graphs/contributors"><img src="https://opencollective.com/tsed/contributors.svg?width=890" /></a>
129
127
 
130
-
131
128
  ## Backers
132
129
 
133
130
  Thank you to all our backers! 🙏 [[Become a backer](https://opencollective.com/tsed#backer)]
134
131
 
135
132
  <a href="https://opencollective.com/tsed#backers" target="_blank"><img src="https://opencollective.com/tsed/backers.svg?width=890"></a>
136
133
 
137
-
138
134
  ## Sponsors
139
135
 
140
136
  Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [[Become a sponsor](https://opencollective.com/tsed#sponsor)]
@@ -1,11 +1,11 @@
1
- import {$log, AfterListen, Logger} from "@tsed/common";
2
1
  import {Constant, Inject, InjectorService, Module, Provider} from "@tsed/di";
2
+ import {Logger} from "@tsed/logger";
3
3
  import {ListenerFn} from "eventemitter2";
4
4
  import {EventEmitterStore} from "./interfaces/EventEmitterStore";
5
5
  import {EventEmitterService} from "./services/EventEmitterFactory";
6
6
 
7
7
  @Module()
8
- export class EventEmitterModule implements AfterListen {
8
+ export class EventEmitterModule {
9
9
  @Constant("eventEmitter.disableSummary", false)
10
10
  disableSummary: boolean;
11
11
 
@@ -43,9 +43,9 @@ export class EventEmitterModule implements AfterListen {
43
43
  };
44
44
  });
45
45
 
46
- this.injector.logger.info("EventEmitter events mounted:");
46
+ this.logger.info("EventEmitter events mounted:");
47
47
 
48
- const str = $log.drawTable(list, {
48
+ const str = this.logger.drawTable(list, {
49
49
  padding: 1,
50
50
  header: {
51
51
  eventName: "Event name",
@@ -53,7 +53,7 @@ export class EventEmitterModule implements AfterListen {
53
53
  }
54
54
  });
55
55
 
56
- this.injector.logger.info("\n" + str.trim());
56
+ this.logger.info("\n" + str.trim());
57
57
  }
58
58
 
59
59
  protected getProviders(): Provider<any>[] {
@@ -1,5 +1,4 @@
1
- import {descriptorOf, Store} from "@tsed/core";
2
- import {expect} from "chai";
1
+ import {Store} from "@tsed/core";
3
2
  import {OnAny} from "./onAny";
4
3
 
5
4
  describe("@OnAny()", () => {
@@ -13,7 +12,7 @@ describe("@OnAny()", () => {
13
12
 
14
13
  const store = Store.from(Test);
15
14
 
16
- expect(store.get("eventEmitter")).to.deep.eq({
15
+ expect(store.get("eventEmitter")).toEqual({
17
16
  onAny: {
18
17
  testAnyEventListener: {}
19
18
  }
@@ -1,5 +1,4 @@
1
- import {descriptorOf, Store} from "@tsed/core";
2
- import {expect} from "chai";
1
+ import {Store} from "@tsed/core";
3
2
  import {OnEvent} from "../decorators/onEvent";
4
3
 
5
4
  describe("@OnEvent()", () => {
@@ -18,7 +17,7 @@ describe("@OnEvent()", () => {
18
17
 
19
18
  const store = Store.from(Test);
20
19
 
21
- expect(store.get("eventEmitter")).to.deep.eq({
20
+ expect(store.get("eventEmitter")).toEqual({
22
21
  onEvent: {
23
22
  testEventListener1: {
24
23
  event: "testEvent",
package/src/index.ts CHANGED
@@ -1,22 +1,10 @@
1
- import {ConstructorOptions} from "eventemitter2";
2
-
3
- declare global {
4
- namespace TsED {
5
- interface Configuration {
6
- eventEmitter?: {
7
- /**
8
- * Enable Event Emitter. Default `false`.
9
- */
10
- enabled?: boolean;
11
- /**
12
- * Disable event table displayed in the logger. Default `false`.
13
- */
14
- disableSummary?: boolean;
15
- } & ConstructorOptions;
16
- }
17
- }
18
- }
1
+ /**
2
+ * @file Automatically generated by barrelsby.
3
+ */
19
4
 
20
5
  export * from "./EventEmitterModule";
6
+ export * from "./decorators/onAny";
7
+ export * from "./decorators/onEvent";
8
+ export * from "./interfaces/EventEmitterStore";
9
+ export * from "./interfaces/interfaces";
21
10
  export * from "./services/EventEmitterFactory";
22
- export * from "./decorators";
@@ -0,0 +1,18 @@
1
+ import {ConstructorOptions} from "eventemitter2";
2
+
3
+ declare global {
4
+ namespace TsED {
5
+ interface Configuration {
6
+ eventEmitter?: {
7
+ /**
8
+ * Enable Event Emitter. Default `false`.
9
+ */
10
+ enabled?: boolean;
11
+ /**
12
+ * Disable event table displayed in the logger. Default `false`.
13
+ */
14
+ disableSummary?: boolean;
15
+ } & ConstructorOptions;
16
+ }
17
+ }
18
+ }
@@ -8,16 +8,5 @@
8
8
  "declaration": true,
9
9
  "declarationDir": "./lib/types"
10
10
  },
11
- "exclude": [
12
- "node_modules",
13
- "test",
14
- "lib",
15
- "benchmark",
16
- "coverage",
17
- "spec",
18
- "**/*.benchmark.ts",
19
- "**/*.spec.ts",
20
- "keys",
21
- "jest.config.js"
22
- ]
11
+ "exclude": ["node_modules", "test", "lib", "benchmark", "coverage", "spec", "**/*.benchmark.ts", "**/*.spec.ts", "keys", "jest.config.js"]
23
12
  }
package/.mocharc.js DELETED
@@ -1,5 +0,0 @@
1
- module.exports = {
2
- ...require('@tsed/mocha-config')(),
3
- spec: ["{src,test}/**/*.spec.ts"],
4
- exclude: [],
5
- };
package/.nycrc DELETED
@@ -1,26 +0,0 @@
1
- {
2
- "include": [
3
- "src/**/*.ts"
4
- ],
5
- "exclude": [
6
- "**/*.d.ts",
7
- "node_modules",
8
- "**/interfaces/**",
9
- "**/index.ts"
10
- ],
11
- "extension": [
12
- ".ts"
13
- ],
14
- "require": [],
15
- "reporter": [
16
- "text-summary",
17
- "html",
18
- "lcov",
19
- "json"
20
- ],
21
- "check-coverage": true,
22
- "statements": 100,
23
- "branches": 86.67,
24
- "functions": 83.33,
25
- "lines": 100
26
- }
@@ -1,6 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- (0, tslib_1.__exportStar)(require("./onEvent"), exports);
5
- (0, tslib_1.__exportStar)(require("./onAny"), exports);
6
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/decorators/index.ts"],"names":[],"mappings":";;;AAAA,yDAA0B;AAC1B,uDAAwB","sourcesContent":["export * from \"./onEvent\";\nexport * from \"./onAny\";\n"]}
@@ -1,3 +0,0 @@
1
- export * from "./onEvent";
2
- export * from "./onAny";
3
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/decorators/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC","sourcesContent":["export * from \"./onEvent\";\nexport * from \"./onAny\";\n"]}
@@ -1,2 +0,0 @@
1
- export * from "./onEvent";
2
- export * from "./onAny";
@@ -1,2 +0,0 @@
1
- export * from "./onEvent";
2
- export * from "./onAny";