1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- /**
- * A callback function called when a an event is triggered.
- */
- export type Listener = (...args: Array<any>) => void;
- /**
- * An **EventEmitterable** behaves similar to an EventEmitter
- * except provides async access to its methods.
- *
- * An EventEmitter implements the observer pattern.
- */
- export interface EventEmitterable<T> {
- /**
- * Registers a %%listener%% that is called whenever the
- * %%event%% occurs until unregistered.
- */
- on(event: T, listener: Listener): Promise<this>;
- /**
- * Registers a %%listener%% that is called the next time
- * %%event%% occurs.
- */
- once(event: T, listener: Listener): Promise<this>;
- /**
- * Triggers each listener for %%event%% with the %%args%%.
- */
- emit(event: T, ...args: Array<any>): Promise<boolean>;
- /**
- * Resolves to the number of listeners for %%event%%.
- */
- listenerCount(event?: T): Promise<number>;
- /**
- * Resolves to the listeners for %%event%%.
- */
- listeners(event?: T): Promise<Array<Listener>>;
- /**
- * Unregister the %%listener%% for %%event%%. If %%listener%%
- * is unspecified, all listeners are unregistered.
- */
- off(event: T, listener?: Listener): Promise<this>;
- /**
- * Unregister all listeners for %%event%%.
- */
- removeAllListeners(event?: T): Promise<this>;
- /**
- * Alias for [[on]].
- */
- addListener(event: T, listener: Listener): Promise<this>;
- /**
- * Alias for [[off]].
- */
- removeListener(event: T, listener: Listener): Promise<this>;
- }
- /**
- * When an [[EventEmitterable]] triggers a [[Listener]], the
- * callback always ahas one additional argument passed, which is
- * an **EventPayload**.
- */
- export declare class EventPayload<T> {
- #private;
- /**
- * The event filter.
- */
- readonly filter: T;
- /**
- * The **EventEmitterable**.
- */
- readonly emitter: EventEmitterable<T>;
- /**
- * Create a new **EventPayload** for %%emitter%% with
- * the %%listener%% and for %%filter%%.
- */
- constructor(emitter: EventEmitterable<T>, listener: null | Listener, filter: T);
- /**
- * Unregister the triggered listener for future events.
- */
- removeListener(): Promise<void>;
- }
- //# sourceMappingURL=events.d.ts.map
|