theatre-events
Version:
A full implementation of a standard event dispatcher for javascript
28 lines (27 loc) • 852 B
TypeScript
import EventEmitter from './../event-emitter';
import { EventTarget } from './../event-dispatcher';
import EventListener from './../event-listener';
import AsynchronousEventDispatcher from './../event-dispatcher/asynchronous-event-dispatcher';
/**
* An implementation of an asynchronous event emitter
*/
export default class AsynchronousEventEmitter implements EventEmitter {
private dispatcher;
constructor(dispatcher?: AsynchronousEventDispatcher);
/**
* {@inheritdoc}
*/
emit<T>(name: EventTarget, payload?: T): Promise<T>;
/**
* {@inheritdoc}
*/
on(name: EventTarget, listener: EventListener): void;
/**
* {@inheritdoc}
*/
removeEventListener(name: EventTarget, listener: EventListener): void;
/**
* {@inheritdoc}
*/
clearEventListeners(name?: EventTarget): void;
}