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