diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/index.ts | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/index.ts b/src/index.ts index 4648156..dfc0c1f 100644 --- a/src/index.ts +++ b/src/index.ts @@ -59,8 +59,10 @@ export default function mitt<Events extends Record<EventType, unknown>>( */ on<Key extends keyof Events>(type: Key, handler: GenericEventHandler) { const handlers: Array<GenericEventHandler> | undefined = all!.get(type); - const added = handlers && handlers.push(handler); - if (!added) { + if (handlers) { + handlers.push(handler); + } + else { all!.set(type, [handler] as EventHandlerList<Events[keyof Events]>); } }, @@ -79,7 +81,7 @@ export default function mitt<Events extends Record<EventType, unknown>>( handlers.splice(handlers.indexOf(handler) >>> 0, 1); } else { - all.delete(type); + all!.set(type, []); } } }, |
