UNPKG

ix

Version:

The Interactive Extensions for JavaScript

26 lines (25 loc) 1.33 kB
import { AsyncIterableX } from './asynciterablex.js'; type CommonEventHandler = (...args: any[]) => void; /** @ignore */ export interface OnOffEventEmitter { on(event: string | symbol, listener: CommonEventHandler): this; off(event: string | symbol, listener: CommonEventHandler): this; } /** @ignore */ export interface NodeEventEmitter { addListener(event: string | symbol, listener: CommonEventHandler): this; removeListener(event: string | symbol, listener: CommonEventHandler): this; } /** @ignore */ export type EventListenerOptions = { capture?: boolean; passive?: boolean; once?: boolean; } | boolean; /** @ignore */ export type EventedTarget = EventTarget | OnOffEventEmitter | NodeEventEmitter; export declare function fromEvent<TSource>(obj: EventedTarget, eventName: string): AsyncIterableX<TSource>; export declare function fromEvent<TSource>(obj: EventedTarget, eventName: string, resultSelector: (...args: any[]) => TSource): AsyncIterableX<TSource>; export declare function fromEvent<TSource>(obj: EventedTarget, eventName: string, options: EventListenerOptions): AsyncIterableX<TSource>; export declare function fromEvent<TSource>(obj: EventedTarget, eventName: string, options: EventListenerOptions, resultSelector: (...args: any[]) => TSource): AsyncIterableX<TSource>; export {};