From 5213455f8a1930b76bbdc9157ae49c41458515b0 Mon Sep 17 00:00:00 2001 From: Innei Date: Fri, 10 Jun 2022 22:02:17 +0800 Subject: [PATCH] refactor(event-manager): move emit into handler --- package.json | 1 + src/processors/helper/helper.event.service.ts | 5 +++-- test/src/modules/configs/configs.service.spec.ts | 1 + 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 7a9f682b..ee17e520 100644 --- a/package.json +++ b/package.json @@ -55,6 +55,7 @@ "bump": { "before": [ "git pull --rebase", + "git-cliff > CHANGELOG.md", "pnpm i", "node scripts/get-latest-admin-version.js" ], diff --git a/src/processors/helper/helper.event.service.ts b/src/processors/helper/helper.event.service.ts index a9723dab..c5ce2d66 100644 --- a/src/processors/helper/helper.event.service.ts +++ b/src/processors/helper/helper.event.service.ts @@ -103,7 +103,7 @@ export class EventManagerService { if (instance instanceof EventEmitter2) { const isObjectLike = typeof data === 'object' && data !== null const payload = isObjectLike ? data : { data } - instance.emit(event, payload) + return instance.emit(this.#key, { event, payload, @@ -168,7 +168,8 @@ export class EventManagerService { this.emitter2.on(this.#key, (data) => { const { event, payload } = data console.debug(`Received event: [${event}]`, payload) - + // emit current event directly + this.emitter2.emit(event, payload) this.#handlers.forEach((handler) => handler(event, payload)) }) } diff --git a/test/src/modules/configs/configs.service.spec.ts b/test/src/modules/configs/configs.service.spec.ts index 4ab75ead..83984a1a 100644 --- a/test/src/modules/configs/configs.service.spec.ts +++ b/test/src/modules/configs/configs.service.spec.ts @@ -101,6 +101,7 @@ describe('Test ConfigsService', () => { it('should emit event if enable email option and update search', async () => { // + 1 call time because of `config.changed` event await service.patchAndValid('mailOptions', { enable: true }) + expect(mockEmitFn).toBeCalledTimes(3) mockEmitFn.mockClear()