refactor(event-manager): move emit into handler

This commit is contained in:
Innei
2022-06-10 22:02:17 +08:00
parent 1be687f9d1
commit 5213455f8a
3 changed files with 5 additions and 2 deletions

View File

@@ -55,6 +55,7 @@
"bump": {
"before": [
"git pull --rebase",
"git-cliff > CHANGELOG.md",
"pnpm i",
"node scripts/get-latest-admin-version.js"
],

View File

@@ -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))
})
}

View File

@@ -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()