refactor(core): remove default event listener void fn

This commit is contained in:
braks
2023-10-30 13:36:07 +01:00
committed by Braks
parent c834ae235a
commit 7494817842
@@ -10,12 +10,15 @@ export interface EventHookExtended<T> extends EventHook<T> {
hasListeners: () => boolean
}
export function createExtendedEventHook<T = any>(defaultHandler: (param: T) => void = () => {}): EventHookExtended<T> {
export function createExtendedEventHook<T = any>(defaultHandler?: (param: T) => void): EventHookExtended<T> {
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<T = any>(defaultHandler: (param: T) => v
}
const on = (fn: (param: T) => void) => {
if (fns.has(defaultHandler)) {
if (defaultHandler && hasDefaultHandler) {
fns.delete(defaultHandler)
}