UNPKG

event-emitters

Version:
18 lines (17 loc) 725 B
import { EventSink } from './EventSink'; import { EventSource, Listener } from './EventSource'; /** * The same as node's EventEmitter but: * Only emits a single "event". * Throw an exception when a client registers the same listener more than once. * Throw an exception when a client tries to remove a listener that is not listening. */ export declare class EventEmitter<T> implements EventSink<T>, EventSource<T>, AsyncIterable<T> { protected listeners: Listener<T>[]; emit(newMessage: T): void; subscribe(listener: Listener<T>): Listener<T>; unsubscribe(listener: Listener<T>): void; hasListeners(): boolean; [Symbol.asyncIterator](): AsyncIterator<T>; asyncIterator(): AsyncIterator<T>; }