{"version":3,"sources":["iterable/todomstream.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EACL,WAAW,IAAI,wBAAwB,EAGxC,MAAM,8BAA8B,CAAC;AActC,MAAM,UAAU,WAAW,CACzB,MAAqB,EACrB,OAAsF;IAEtF,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC,MAAM,IAAI,OAAO,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,OAAO,EAAE;QACnE,OAAO,wBAAwB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC;KACxD;IACD,OAAO,wBAAwB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC;AACzD,CAAC;AAED,SAAS,CAAC,SAAS,CAAC,GAAG,GAAG;IACxB,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC;AACnC,CAAC,CAAC;AAEF,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,UAE3B,QAA2B,EAC3B,OAAqB;IAErB,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;AACvD,CAAC,CAAC;AAEF,SAAS,CAAC,SAAS,CAAC,WAAW,GAAG,UAEhC,MAAoD,EACpD,OAAqB;IAErB,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAC1D,CAAC,CAAC;AAEF,SAAS,aAAa,CAAI,IAAS;IACjC,OAAO,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAK,EAAE,WAAW,CAAC,CAAC,CAAC;AACrF,CAAC;AAiBD,MAAM,UAAU,gBAAgB,CAE9B,OAAsF;IAEtF,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AACnE,CAAC;AAED,SAAS,CAAC,SAAS,CAAC,WAAW,GAAG,gBAAgB,CAAC","file":"todomstream.js","sourcesContent":["import { from } from '../asynciterable/from';\nimport { publish } from './operators/publish';\nimport { IterableX } from '../iterable/iterablex';\nimport {\n  toDOMStream as asyncIterableToDOMStream,\n  ReadableBYOBStreamOptions,\n  ReadableByteStreamOptions\n} from '../asynciterable/todomstream';\n\nexport function toDOMStream<T>(\n  source: Iterable<T>,\n  strategy?: QueuingStrategy<T>\n): ReadableStream<T>;\nexport function toDOMStream<T>(\n  source: Iterable<T>,\n  options: ReadableBYOBStreamOptions<Uint8Array>\n): ReadableStream<Uint8Array>;\nexport function toDOMStream<T>(\n  source: Iterable<T>,\n  options: ReadableByteStreamOptions<Uint8Array>\n): ReadableStream<Uint8Array>;\nexport function toDOMStream(\n  source: Iterable<any>,\n  options?: QueuingStrategy<any> | ReadableBYOBStreamOptions | ReadableByteStreamOptions\n) {\n  if (!options || !('type' in options) || options['type'] !== 'bytes') {\n    return asyncIterableToDOMStream(from(source), options);\n  }\n  return asyncIterableToDOMStream(from(source), options);\n}\n\nIterableX.prototype.tee = function<T> (this: IterableX<T>) {\n  return _getDOMStream(this).tee();\n};\n\nIterableX.prototype.pipeTo = function<T> (\n  this: IterableX<T>,\n  writable: WritableStream<T>,\n  options?: PipeOptions\n) {\n  return _getDOMStream(this).pipeTo(writable, options);\n};\n\nIterableX.prototype.pipeThrough = function<T, R extends ReadableStream<any>> (\n  this: IterableX<T>,\n  duplex: { writable: WritableStream<T>; readable: R },\n  options?: PipeOptions\n) {\n  return _getDOMStream(this).pipeThrough(duplex, options);\n};\n\nfunction _getDOMStream<T>(self: any) {\n  return self._DOMStream || (self._DOMStream = self.pipe(publish<T>(), toDOMStream));\n}\n\n/**\n * @ignore\n */\nexport function toDOMStreamProto<T>(\n  this: Iterable<T>,\n  strategy?: QueuingStrategy<T>\n): ReadableStream<T>;\nexport function toDOMStreamProto<T>(\n  this: Iterable<T>,\n  options: ReadableBYOBStreamOptions<Uint8Array>\n): ReadableStream<Uint8Array>;\nexport function toDOMStreamProto<T>(\n  this: Iterable<T>,\n  options: ReadableByteStreamOptions<Uint8Array>\n): ReadableStream<Uint8Array>;\nexport function toDOMStreamProto(\n  this: Iterable<any>,\n  options?: QueuingStrategy<any> | ReadableBYOBStreamOptions | ReadableByteStreamOptions\n) {\n  return !options ? toDOMStream(this) : toDOMStream(this, options);\n}\n\nIterableX.prototype.toDOMStream = toDOMStreamProto;\n\ndeclare module '../iterable/iterablex' {\n  interface IterableX<T> {\n    toDOMStream: typeof toDOMStreamProto;\n    tee(): [ReadableStream<T>, ReadableStream<T>];\n    pipeTo(writable: WritableStream<T>, options?: PipeOptions): Promise<void>;\n    pipeThrough<R extends ReadableStream<any>>(\n      duplex: { writable: WritableStream<T>; readable: R },\n      options?: PipeOptions\n    ): ReadableStream<T>;\n  }\n}\n"]}