UNPKG

1.35 kBSource Map (JSON)View Raw
1{"version":3,"sources":["asynciterable/fromeventpattern.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,MAAM,UAAU,gBAAgB,CAC9B,UAAuD,EACvD,aAA0D;IAE1D,MAAM,IAAI,GAAG,IAAI,SAAS,EAAW,CAAC;IACtC,MAAM,OAAO,GAAG,CAAC,CAAU,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAE9C,UAAU,CAAC,OAAO,CAAC,CAAC;IAEpB,OAAO,OAAO,CACZ,CAAC,KAAK,SAAS,CAAC;QACd,KAAK,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,GAAI;YACjD,MAAM,IAAI,CAAC,KAAK,CAAC;SAClB;QACD,aAAa,CAAC,OAAO,CAAC,CAAC;QACvB,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,CAAC,CAAC,EAAE,CACL,CAAC;AACJ,CAAC","file":"fromeventpattern.js","sourcesContent":["import { AsyncIterableX } from './asynciterablex';\nimport { AsyncSink } from '../asyncsink';\nimport { memoize } from './memoize';\n\nexport function fromEventPattern<TSource>(\n addHandler: (handler: (...args: any[]) => void) => void,\n removeHandler: (handler: (...args: any[]) => void) => void\n): AsyncIterableX<TSource> {\n const sink = new AsyncSink<TSource>();\n const handler = (e: TSource) => sink.write(e);\n\n addHandler(handler);\n\n return memoize(\n (async function*() {\n for (let next; !(next = await sink.next()).done; ) {\n yield next.value;\n }\n removeHandler(handler);\n sink.end();\n })()\n );\n}\n"]}
\No newline at end of file