queueable
Version:
Convert push-based streams to pull-based async iterables
13 lines (12 loc) • 824 B
TypeScript
import { PushAdapter } from './common';
export type EventMap = GlobalEventHandlersEventMap;
/**
* Convert DOM events to an async iterable iterator.
*/
declare const fromDom: <T extends keyof GlobalEventHandlersEventMap>(init: () => PushAdapter<GlobalEventHandlersEventMap[T]>) => (type: T, target: Target<T, Listener<T>, boolean | AddEventListenerOptions>, options?: boolean | AddEventListenerOptions) => AsyncIterableIterator<GlobalEventHandlersEventMap[T]>;
export type Listener<T extends keyof EventMap> = (e: EventMap[T]) => void;
export type Target<T extends keyof EventMap, L = Listener<T>, O = boolean | AddEventListenerOptions> = EventTarget & {
addEventListener(type: T, listener: L, options?: O): void;
removeEventListener(type: T, listener: L, options?: O): void;
};
export default fromDom;