UNPKG

1.66 kBSource Map (JSON)View Raw
1{"version":3,"sources":["asynciterable/asyncify.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,MAAM,UAAU,QAAQ,CAAU,IAAc;IAC9C,OAAO,UAAS,GAAG,IAAW;QAC5B,MAAM,IAAI,GAAG,IAAI,SAAS,EAAW,CAAC;QAEtC,MAAM,OAAO,GAAG,UAAS,GAAG,SAAgB;YAC1C,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC9D,IAAI,CAAC,GAAG,EAAE,CAAC;QACb,CAAC,CAAC;QAEF,IAAI;YACF,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;SAC/B;QAAC,OAAO,CAAC,EAAE;YACV,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACd,IAAI,CAAC,GAAG,EAAE,CAAC;SACZ;QAED,OAAO,OAAO,CACZ,CAAC,KAAK,SAAS,CAAC;YACd,KAAK,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,GAAI;gBACjD,MAAM,IAAI,CAAC,KAAK,CAAC;aAClB;QACH,CAAC,CAAC,EAAE,CACL,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC","file":"asyncify.js","sourcesContent":["import { AsyncIterableX } from './asynciterablex';\nimport { AsyncSink } from '../asyncsink';\nimport { memoize } from './memoize';\n\nexport function asyncify<TSource>(func: Function): (...args: any[]) => AsyncIterableX<TSource> {\n return function(...args: any[]) {\n const sink = new AsyncSink<TSource>();\n\n const handler = function(...innerArgs: any[]) {\n sink.write(innerArgs.length === 1 ? innerArgs[0] : innerArgs);\n sink.end();\n };\n\n try {\n func(...args.concat(handler));\n } catch (e) {\n sink.error(e);\n sink.end();\n }\n\n return memoize(\n (async function*() {\n for (let next; !(next = await sink.next()).done; ) {\n yield next.value;\n }\n })()\n );\n };\n}\n"]}
\No newline at end of file