UNPKG

2.94 kBSource Map (JSON)View Raw
1{"version":3,"sources":["asynciterable/catch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAEjE,MAAM,OAAO,qBAA+B,SAAQ,cAAuB;IAGzE,YAAY,MAAwC;QAClD,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;IACxB,CAAC;IAED,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC;QAC3B,IAAI,KAAK,GAAG,IAAI,EACd,QAAQ,GAAG,KAAK,CAAC;QAEnB,KAAK,IAAI,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE;YAC/B,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;YAE1C,KAAK,GAAG,IAAI,CAAC;YACb,QAAQ,GAAG,KAAK,CAAC;YAEjB,OAAO,CAAC,EAAE;gBACR,IAAI,CAAC,GAAY,EAAE,CAAC;gBAEpB,IAAI;oBACF,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC;oBACxC,IAAI,IAAI,EAAE;wBACR,MAAM,mBAAmB,CAAC,EAAE,CAAC,CAAC;wBAC9B,MAAM;qBACP;oBACD,CAAC,GAAG,KAAK,CAAC;iBACX;gBAAC,OAAO,CAAC,EAAE;oBACV,KAAK,GAAG,CAAC,CAAC;oBACV,QAAQ,GAAG,IAAI,CAAC;oBAChB,MAAM,mBAAmB,CAAC,EAAE,CAAC,CAAC;oBAC9B,MAAM;iBACP;gBAED,MAAM,CAAC,CAAC;aACT;YAED,IAAI,CAAC,QAAQ,EAAE;gBACb,MAAM;aACP;SACF;QAED,IAAI,QAAQ,EAAE;YACZ,MAAM,KAAK,CAAC;SACb;IACH,CAAC;CACF;AAED,MAAM,UAAU,SAAS,CACvB,MAAwC;IAExC,OAAO,IAAI,qBAAqB,CAAU,MAAM,CAAC,CAAC;AACpD,CAAC;AAED,MAAM,UAAU,MAAM,CACpB,MAAwB,EACxB,GAAG,IAAwB;IAE3B,OAAO,SAAS,CAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;AACzC,CAAC;AAED,MAAM,UAAU,YAAY,CAAI,GAAG,MAA0B;IAC3D,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC;AAC3B,CAAC","file":"catch.js","sourcesContent":["import { AsyncIterableX } from './asynciterablex';\nimport { returnAsyncIterator } from '../internal/returniterator';\n\nexport class CatchAllAsyncIterable<TSource> extends AsyncIterableX<TSource> {\n private _source: Iterable<AsyncIterable<TSource>>;\n\n constructor(source: Iterable<AsyncIterable<TSource>>) {\n super();\n this._source = source;\n }\n\n async *[Symbol.asyncIterator]() {\n let error = null,\n hasError = false;\n\n for (let source of this._source) {\n const it = source[Symbol.asyncIterator]();\n\n error = null;\n hasError = false;\n\n while (1) {\n let c = <TSource>{};\n\n try {\n const { done, value } = await it.next();\n if (done) {\n await returnAsyncIterator(it);\n break;\n }\n c = value;\n } catch (e) {\n error = e;\n hasError = true;\n await returnAsyncIterator(it);\n break;\n }\n\n yield c;\n }\n\n if (!hasError) {\n break;\n }\n }\n\n if (hasError) {\n throw error;\n }\n }\n}\n\nexport function _catchAll<TSource>(\n source: Iterable<AsyncIterable<TSource>>\n): AsyncIterableX<TSource> {\n return new CatchAllAsyncIterable<TSource>(source);\n}\n\nexport function _catch<T>(\n source: AsyncIterable<T>,\n ...args: AsyncIterable<T>[]\n): AsyncIterableX<T> {\n return _catchAll<T>([source, ...args]);\n}\n\nexport function _catchStatic<T>(...source: AsyncIterable<T>[]): AsyncIterableX<T> {\n return _catchAll(source);\n}\n"]}
\No newline at end of file