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.
49 lines
1.3 KiB
49 lines
1.3 KiB
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; |
|
} |
|
}
|
|
|