@robotlegsjs/eventemitter3
Version:
RobotlegsJS integration with EventEmitter3
44 lines (43 loc) • 2.13 kB
TypeScript
import { IEventMap } from "@robotlegsjs/core";
import EventEmitter = require("eventemitter3");
export declare const IEventEmitterMap: unique symbol;
/**
* The Event Emitter Map keeps track of listeners and provides the ability
* to unregister all EventEmitter listeners with a single method call.
*/
export interface IEventEmitterMap extends IEventMap {
/**
* The same as calling <code>on</code> or <code>addListener</code> directly on the <code>EventEmitter</code>,
* but keeps a list of listeners for easy (usually automatic) removal.
*
* @param emitter The <code>EventEmitter</code> to listen to
* @param event The <code>event</code> type to listen for
* @param listener The <code>event</code> handler
* @param context the listener function's "this"
*/
on(emitter: EventEmitter, event: string | symbol, listener: EventEmitter.ListenerFn, context?: any): void;
/**
* The same as calling <code>once</code> directly on the <code>EventEmitter</code>,
* but keeps a list of listeners for easy (usually automatic) removal.
*
* @param emitter The <code>EventEmitter</code> to listen to
* @param event The <code>event</code> type to listen for
* @param listener The <code>event</code> handler
* @param context the listener function's "this"
*/
once(emitter: EventEmitter, event: string | symbol, listener: EventEmitter.ListenerFn, context?: any): void;
/**
* The same as calling <code>off</code> or <code>removeListener</code> directly on the <code>EventEmitter</code>,
* but updates our local list of listeners.
*
* @param emitter The <code>EventEmitter</code> to listen to
* @param event The <code>event</code> type to listen for
* @param listener The <code>event</code> handler
* @param context the listener function's "this"
*/
off(emitter: EventEmitter, event: string | symbol, listener?: EventEmitter.ListenerFn, context?: any): void;
/**
* Removes all listeners registered through <code>on</code> or <code>once</code>
*/
unmapEventEmitterListeners(): void;
}