@thi.ng/rstream
Version:
Reactive streams & subscription primitives for constructing dataflow graphs / pipelines
17 lines (16 loc) • 658 B
JavaScript
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
};