Compare commits

..

No commits in common. "27ac19141fdf604b3b8b5381e1fef12525c52151" and "43d87b40f7b83bccd88671e11487342c8f40d1a4" have entirely different histories.

View File

@ -13,10 +13,6 @@ export type EventHandlerMap<Events extends Record<EventType, any>> = Map<
EventHandlerList<Events[keyof Events]> EventHandlerList<Events[keyof Events]>
>; >;
// Emitter function type
type IEmitParamType<E extends Record<EventType, any>, K extends keyof E> =
E[K] extends ( undefined | void ) ? [K] : [K, E[K]];
export class Emitter<Events extends Record<EventType, any>> { export class Emitter<Events extends Record<EventType, any>> {
/** /**
@ -78,8 +74,7 @@ export class Emitter<Events extends Record<EventType, any>> {
* @param {Any} [evt] Any value (object is recommended and powerful), passed to each handler * @param {Any} [evt] Any value (object is recommended and powerful), passed to each handler
* @memberOf mitt * @memberOf mitt
*/ */
public emit<Key extends keyof Events>(...param: IEmitParamType<Events, Key>): this { emit<Key extends keyof Events>(type: Key, evt: Events[Key]) {
const [ type, evt ] = param;
let handlers = this.all!.get(type); let handlers = this.all!.get(type);
if (handlers) { if (handlers) {
(handlers as EventHandlerList<Events[keyof Events]>) (handlers as EventHandlerList<Events[keyof Events]>)
@ -88,6 +83,5 @@ export class Emitter<Events extends Record<EventType, any>> {
handler(evt!); handler(evt!);
}); });
} }
return this;
} }
} }