You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
50 lines
1.3 KiB
50 lines
1.3 KiB
2 years ago
|
declare var mitt: mitt.MittStatic;
|
||
|
|
||
|
declare module "mitt" {
|
||
|
export = mitt;
|
||
|
}
|
||
|
|
||
|
declare namespace mitt {
|
||
|
type Handler = (event?: any) => void;
|
||
|
type WildcardHandler = (type?: string, event?: any) => void;
|
||
|
|
||
|
interface MittStatic {
|
||
|
(all?: {[key: string]: Array<Handler>}): Emitter;
|
||
|
}
|
||
|
|
||
|
interface Emitter {
|
||
|
/**
|
||
|
* Register an event handler for the given type.
|
||
|
*
|
||
|
* @param {string} type Type of event to listen for, or `"*"` for all events.
|
||
|
* @param {Handler} handler Function to call in response to the given event.
|
||
|
*
|
||
|
* @memberOf Mitt
|
||
|
*/
|
||
|
on(type: string, handler: Handler): void;
|
||
|
on(type: "*", handler: WildcardHandler): void;
|
||
|
|
||
|
/**
|
||
|
* Function to call in response to the given event
|
||
|
*
|
||
|
* @param {string} type Type of event to unregister `handler` from, or `"*"`
|
||
|
* @param {Handler} handler Handler function to remove.
|
||
|
*
|
||
|
* @memberOf Mitt
|
||
|
*/
|
||
|
off(type: string, handler: Handler): void;
|
||
|
off(type: "*", handler: WildcardHandler): void;
|
||
|
|
||
|
/**
|
||
|
* Invoke all handlers for the given type.
|
||
|
* If present, `"*"` handlers are invoked prior to type-matched handlers.
|
||
|
*
|
||
|
* @param {string} type The event type to invoke
|
||
|
* @param {any} [event] An event object, passed to each handler
|
||
|
*
|
||
|
* @memberOf Mitt
|
||
|
*/
|
||
|
emit(type: string, event?: any): void;
|
||
|
}
|
||
|
}
|