aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJason Miller <[email protected]>2021-06-22 17:34:36 -0400
committerJason Miller <[email protected]>2021-06-22 17:34:36 -0400
commit7872a475779b68f22d26690f9bb2374237285618 (patch)
treead918e908d3fa8e52084c7ecff7a84a745c18a61
parent8f439b8ae54d3864c24ddf7205297031d64fbad6 (diff)
parent2d59261b75de2cbc4631ccee8db717911974467e (diff)
Merge branch 'cheaper' of https://github.com/sealice/mitt into sealice-cheaper
-rw-r--r--src/index.ts27
1 files changed, 17 insertions, 10 deletions
diff --git a/src/index.ts b/src/index.ts
index 00286bc..5365b6e 100644
--- a/src/index.ts
+++ b/src/index.ts
@@ -89,16 +89,23 @@ export default function mitt<Events extends Record<EventType, unknown>>(
* @memberOf mitt
*/
emit<Key extends keyof Events>(type: Key, evt?: Events[Key]) {
- ((all!.get(type) || []) as EventHandlerList<Events[keyof Events]>)
- .slice()
- .map((handler) => {
- handler(evt!);
- });
- ((all!.get('*') || []) as WildCardEventHandlerList<Events>)
- .slice()
- .map((handler) => {
- handler(type, evt!);
- });
+ let handlers = all!.get(type);
+ if (handlers) {
+ (handlers as EventHandlerList<Events[keyof Events]>)
+ .slice()
+ .map((handler) => {
+ handler(evt!);
+ });
+ }
+
+ handlers = all!.get('*');
+ if (handlers) {
+ (handlers as WildCardEventHandlerList<Events>)
+ .slice()
+ .map((handler) => {
+ handler(type, evt!);
+ });
+ }
}
};
}