{"version":3,"sources":["asynciterable/concat.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,MAAM,OAAO,mBAA6B,SAAQ,cAAuB;IAGvE,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,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,OAAO,EAAE;YAChC,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,KAAK,EAAE;gBAC9B,MAAM,IAAI,CAAC;aACZ;SACF;IACH,CAAC;CACF;AAED,MAAM,UAAU,UAAU,CACxB,MAAwC;IAExC,OAAO,IAAI,mBAAmB,CAAU,MAAM,CAAC,CAAC;AAClD,CAAC;AA+BD,MAAM,UAAU,MAAM,CAAI,GAAG,IAAwB;IACnD,OAAO,IAAI,mBAAmB,CAAI,IAAI,CAAC,CAAC;AAC1C,CAAC","file":"concat.js","sourcesContent":["import { AsyncIterableX } from './asynciterablex';\n\nexport class ConcatAsyncIterable<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    for (const outer of this._source) {\n      for await (const item of outer) {\n        yield item;\n      }\n    }\n  }\n}\n\nexport function _concatAll<TSource>(\n  source: Iterable<AsyncIterable<TSource>>\n): AsyncIterableX<TSource> {\n  return new ConcatAsyncIterable<TSource>(source);\n}\n\nexport function concat<T>(v1: AsyncIterable<T>): AsyncIterableX<T>;\nexport function concat<T, T2>(v1: AsyncIterable<T>, v2: AsyncIterable<T2>): AsyncIterableX<T | T2>;\nexport function concat<T, T2, T3>(\n  v1: AsyncIterable<T>,\n  v2: AsyncIterable<T2>,\n  v3: AsyncIterable<T3>\n): AsyncIterableX<T | T2 | T3>;\nexport function concat<T, T2, T3, T4>(\n  v1: AsyncIterable<T>,\n  v2: AsyncIterable<T2>,\n  v3: AsyncIterable<T3>,\n  v4: AsyncIterable<T4>\n): AsyncIterableX<T | T2 | T3 | T4>;\nexport function concat<T, T2, T3, T4, T5>(\n  v1: AsyncIterable<T>,\n  v2: AsyncIterable<T2>,\n  v3: AsyncIterable<T3>,\n  v4: AsyncIterable<T4>,\n  v5: AsyncIterable<T5>\n): AsyncIterable<T | T2 | T3 | T4 | T5>;\nexport function concat<T, T2, T3, T4, T5, T6>(\n  v1: AsyncIterable<T>,\n  v2: AsyncIterable<T2>,\n  v3: AsyncIterable<T3>,\n  v4: AsyncIterable<T4>,\n  v5: AsyncIterable<T5>,\n  v6: AsyncIterable<T6>\n): AsyncIterable<T | T2 | T3 | T4 | T5 | T6>;\n\nexport function concat<T>(...args: AsyncIterable<T>[]): AsyncIterableX<T> {\n  return new ConcatAsyncIterable<T>(args);\n}\n"]}