@tsed/event-emitter
Advanced tools
Comparing version 6.87.0 to 6.87.1
@@ -5,2 +5,3 @@ import { AfterListen, Logger } from "@tsed/common"; | ||
export declare class EventEmitterModule implements AfterListen { | ||
disableSummary: boolean; | ||
protected logger: Logger; | ||
@@ -10,7 +11,6 @@ protected injector: InjectorService; | ||
private loadEventEmitter; | ||
disableSummary: boolean; | ||
$afterListen(): Promise<any>; | ||
printEvents(): void; | ||
protected getProviders(): Provider<any>[]; | ||
private addEventListenerForProvider; | ||
protected getProviders(): Provider<any>[]; | ||
printEvents(): void; | ||
} |
@@ -22,18 +22,2 @@ "use strict"; | ||
} | ||
addEventListenerForProvider(provider) { | ||
const store = provider.store.get("eventEmitter"); | ||
const eventListenerDefinitions = Object.entries((store === null || store === void 0 ? void 0 : store.onEvent) || {}); | ||
for (const [propertyKey, { event, options }] of eventListenerDefinitions) { | ||
const listenerFn = provider.instance[propertyKey].bind(provider.instance); | ||
this.eventEmitter.on(event, listenerFn, options); | ||
} | ||
const anyEventListenerDefinitions = Object.keys((store === null || store === void 0 ? void 0 : store.onAny) || {}); | ||
for (const propertyKey of anyEventListenerDefinitions) { | ||
const listenerFn = provider.instance[propertyKey].bind(provider.instance); | ||
this.eventEmitter.onAny(listenerFn); | ||
} | ||
} | ||
getProviders() { | ||
return Array.from(this.injector.getProviders()); | ||
} | ||
printEvents() { | ||
@@ -57,4 +41,26 @@ const list = this.eventEmitter.eventNames().map((eventName) => { | ||
} | ||
getProviders() { | ||
return Array.from(this.injector.getProviders()); | ||
} | ||
addEventListenerForProvider(provider) { | ||
const store = provider.store.get("eventEmitter"); | ||
const eventListenerDefinitions = Object.entries((store === null || store === void 0 ? void 0 : store.onEvent) || {}); | ||
for (const [propertyKey, { event, options }] of eventListenerDefinitions) { | ||
const instance = this.injector.get(provider.token); | ||
const listenerFn = instance[propertyKey].bind(instance); | ||
this.eventEmitter.on(event, listenerFn, options); | ||
} | ||
const anyEventListenerDefinitions = Object.keys((store === null || store === void 0 ? void 0 : store.onAny) || {}); | ||
for (const propertyKey of anyEventListenerDefinitions) { | ||
const instance = this.injector.get(provider.token); | ||
const listenerFn = instance[propertyKey].bind(instance); | ||
this.eventEmitter.onAny(listenerFn); | ||
} | ||
} | ||
}; | ||
tslib_1.__decorate([ | ||
di_1.Constant("eventEmitter.disableSummary", false), | ||
tslib_1.__metadata("design:type", Boolean) | ||
], EventEmitterModule.prototype, "disableSummary", void 0); | ||
tslib_1.__decorate([ | ||
di_1.Inject(), | ||
@@ -75,6 +81,2 @@ tslib_1.__metadata("design:type", common_1.Logger) | ||
], EventEmitterModule.prototype, "loadEventEmitter", void 0); | ||
tslib_1.__decorate([ | ||
di_1.Constant("eventEmitter.disableSummary", false), | ||
tslib_1.__metadata("design:type", Boolean) | ||
], EventEmitterModule.prototype, "disableSummary", void 0); | ||
EventEmitterModule = tslib_1.__decorate([ | ||
@@ -81,0 +83,0 @@ di_1.Module() |
{ | ||
"name": "@tsed/event-emitter", | ||
"version": "6.87.0", | ||
"version": "6.87.1", | ||
"description": "EventEmitter package for Ts.ED framework", | ||
@@ -16,5 +16,5 @@ "main": "./lib/index.js", | ||
"devDependencies": { | ||
"@tsed/common": "6.87.0", | ||
"@tsed/core": "6.87.0", | ||
"@tsed/di": "6.87.0", | ||
"@tsed/common": "6.87.1", | ||
"@tsed/core": "6.87.1", | ||
"@tsed/di": "6.87.1", | ||
"eventemitter2": "^6.4.4" | ||
@@ -21,0 +21,0 @@ }, |
@@ -1,2 +0,2 @@ | ||
import {$log, AfterListen, Logger, OnDestroy} from "@tsed/common"; | ||
import {$log, AfterListen, Logger} from "@tsed/common"; | ||
import {Constant, Inject, InjectorService, Module, Provider} from "@tsed/di"; | ||
@@ -9,2 +9,5 @@ import {ListenerFn} from "eventemitter2"; | ||
export class EventEmitterModule implements AfterListen { | ||
@Constant("eventEmitter.disableSummary", false) | ||
disableSummary: boolean; | ||
@Inject() | ||
@@ -22,5 +25,2 @@ protected logger: Logger; | ||
@Constant("eventEmitter.disableSummary", false) | ||
disableSummary: boolean; | ||
async $afterListen(): Promise<any> { | ||
@@ -39,22 +39,2 @@ if (this.loadEventEmitter) { | ||
private addEventListenerForProvider(provider: Provider<any>) { | ||
const store = provider.store.get<EventEmitterStore | undefined>("eventEmitter"); | ||
const eventListenerDefinitions = Object.entries(store?.onEvent || {}); | ||
for (const [propertyKey, {event, options}] of eventListenerDefinitions) { | ||
const listenerFn: ListenerFn = provider.instance[propertyKey].bind(provider.instance) as ListenerFn; | ||
this.eventEmitter.on(event, listenerFn, options); | ||
} | ||
const anyEventListenerDefinitions = Object.keys(store?.onAny || {}); | ||
for (const propertyKey of anyEventListenerDefinitions) { | ||
const listenerFn: ListenerFn = provider.instance[propertyKey].bind(provider.instance) as ListenerFn; | ||
this.eventEmitter.onAny(listenerFn); | ||
} | ||
} | ||
protected getProviders(): Provider<any>[] { | ||
return Array.from(this.injector.getProviders()); | ||
} | ||
public printEvents() { | ||
@@ -81,2 +61,27 @@ const list = this.eventEmitter.eventNames().map((eventName) => { | ||
} | ||
protected getProviders(): Provider<any>[] { | ||
return Array.from(this.injector.getProviders()); | ||
} | ||
private addEventListenerForProvider(provider: Provider<any>) { | ||
const store = provider.store.get<EventEmitterStore | undefined>("eventEmitter"); | ||
const eventListenerDefinitions = Object.entries(store?.onEvent || {}); | ||
for (const [propertyKey, {event, options}] of eventListenerDefinitions) { | ||
const instance = this.injector.get(provider.token); | ||
const listenerFn: ListenerFn = instance[propertyKey].bind(instance) as ListenerFn; | ||
this.eventEmitter.on(event, listenerFn, options); | ||
} | ||
const anyEventListenerDefinitions = Object.keys(store?.onAny || {}); | ||
for (const propertyKey of anyEventListenerDefinitions) { | ||
const instance = this.injector.get(provider.token); | ||
const listenerFn: ListenerFn = instance[propertyKey].bind(instance) as ListenerFn; | ||
this.eventEmitter.onAny(listenerFn); | ||
} | ||
} | ||
} |
Sorry, the diff of this file is not supported yet
30036
379