From 74948178424902e2762e5221d5f57e3273259d9c Mon Sep 17 00:00:00 2001 From: braks <78412429+bcakmakoglu@users.noreply.github.com> Date: Fri, 27 Oct 2023 19:19:09 +0200 Subject: [PATCH] refactor(core): remove default event listener void fn --- packages/core/src/utils/createExtendedEventHook.ts | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/packages/core/src/utils/createExtendedEventHook.ts b/packages/core/src/utils/createExtendedEventHook.ts index 15af9d07..cec9925e 100644 --- a/packages/core/src/utils/createExtendedEventHook.ts +++ b/packages/core/src/utils/createExtendedEventHook.ts @@ -10,12 +10,15 @@ export interface EventHookExtended extends EventHook { hasListeners: () => boolean } -export function createExtendedEventHook(defaultHandler: (param: T) => void = () => {}): EventHookExtended { +export function createExtendedEventHook(defaultHandler?: (param: T) => void): EventHookExtended { const fns = new Set<(param: T) => void>() + let hasDefaultHandler = false + const hasListeners = () => fns.size > 0 if (defaultHandler) { + hasDefaultHandler = true fns.add(defaultHandler) } @@ -24,7 +27,7 @@ export function createExtendedEventHook(defaultHandler: (param: T) => v } const on = (fn: (param: T) => void) => { - if (fns.has(defaultHandler)) { + if (defaultHandler && hasDefaultHandler) { fns.delete(defaultHandler) }