UNPKG

tav-ui

Version:
27 lines (26 loc) 1.04 kB
/** * copy to https://github.com/developit/mitt * Expand clear method */ export declare type EventType = string | symbol; export declare type Handler<T = any> = (event?: T) => void; export declare type WildcardHandler = (type: EventType, event?: any) => void; export declare type EventHandlerList = Array<Handler>; export declare type WildCardEventHandlerList = Array<WildcardHandler>; export declare type EventHandlerMap = Map<EventType, EventHandlerList | WildCardEventHandlerList>; export interface Emitter { all: EventHandlerMap; on<T = any>(type: EventType, handler: Handler<T>): void; on(type: '*', handler: WildcardHandler): void; off<T = any>(type: EventType, handler: Handler<T>): void; off(type: '*', handler: WildcardHandler): void; emit<T = any>(type: EventType, event?: T): void; emit(type: '*', event?: any): void; clear(): void; } /** * Mitt: Tiny (~200b) functional event emitter / pubsub. * @name mitt * @returns {Mitt} */ export declare function mitt(all?: EventHandlerMap): Emitter;