UNPKG

@thi.ng/rstream

Version:

Reactive streams & subscription primitives for constructing dataflow graphs / pipelines

17 lines (16 loc) 658 B
import { __optsWithID } from "./idgen.js"; import { stream, Stream } from "./stream.js"; const fromEvent = (src, name, listenerOpts = false, streamOpts) => { const result = stream((stream2) => { let listener = (e) => stream2.next(e); src.addEventListener(name, listener, listenerOpts); return () => src.removeEventListener(name, listener, listenerOpts); }, __optsWithID(`event-${name}`, streamOpts)); streamOpts?.init !== void 0 && result.next(streamOpts.init); return result; }; const fromDOMEvent = (src, name, listenerOpts = false, streamOpts) => fromEvent(src, name, listenerOpts, streamOpts); export { fromDOMEvent, fromEvent };