UNPKG

@reactivex/ix-esnext-esm

Version:

The Interactive Extensions for JavaScript

18 lines (16 loc) 533 B
import { AsyncSink } from './asyncsink'; import { memoize } from './operators/memoize'; export function fromEventPattern(addHandler, removeHandler) { const sink = new AsyncSink(); const handler = (e) => sink.write(e); addHandler(handler); const yielder = async function* () { for (let next; !(next = await sink.next()).done;) { yield next.value; } removeHandler(handler); sink.end(); }; return memoize()(yielder()); } //# sourceMappingURL=fromeventpattern.mjs.map