1 | import { AsyncSink } from './asyncsink';
|
2 | import { memoize } from './operators/memoize';
|
3 | export 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
|