UNPKG

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