UNPKG

533 BJavaScriptView Raw
1import { AsyncSink } from './asyncsink';
2import { memoize } from './operators/memoize';
3export function fromEventPattern(addHandler, removeHandler) {
4 const sink = new AsyncSink();
5 const handler = (e) => sink.write(e);
6 addHandler(handler);
7 const yielder = async function* () {
8 for (let next; !(next = await sink.next()).done;) {
9 yield next.value;
10 }
11 removeHandler(handler);
12 sink.end();
13 };
14 return memoize()(yielder());
15}
16
17//# sourceMappingURL=fromeventpattern.mjs.map