streams
Version:
A lazy streams library for functional composition in JavaScript.
13 lines (12 loc) • 913 B
TypeScript
export type EventHandler<T> = (event: T) => unknown;
type EventEmitter<T> = {
on?(eventName: string | symbol, listener: EventHandler<T>): void;
off?(eventName: string | symbol, listener: EventHandler<T>): void;
addListener?(eventName: string | symbol, listener: EventHandler<T>): void;
removeListener?(eventName: string | symbol, listener: EventHandler<T>): void;
addEventListener?(eventName: string | symbol, listener: EventHandler<T>, options?: object): void;
removeEventListener?(eventName: string | symbol, listener: EventHandler<T>, options?: object): void;
};
export declare function fromEvent<T>(target: EventEmitter<T>, eventName: string | symbol, options?: object): AsyncGenerator<T>;
export declare function fromEventPattern<T>(addHandler: (handler: EventHandler<T>) => void, removeHandler?: (handler: EventHandler<T>) => void): AsyncGenerator<T, undefined, unknown>;
export {};