{"version":3,"sources":["iterable/operators/tap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAIzC,MAAM,OAAO,WAAqB,SAAQ,SAAkB;IAI1D,YAAY,MAAyB,EAAE,QAAkC;QACvE,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;IAC5B,CAAC;IAED,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;QAChB,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC3C,OAAO,CAAC,EAAE;YACR,IAAI,IAAI,CAAC;YACT,IAAI;gBACF,IAAI,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC;gBACjB,IAAI,IAAI,CAAC,IAAI,EAAE;oBACb,MAAM;iBACP;aACF;YAAC,OAAO,CAAC,EAAE;gBACV,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE;oBACxB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;iBACzB;gBACD,MAAM,CAAC,CAAC;aACT;YAED,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE;gBACvB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aACjC;YACD,MAAM,IAAI,CAAC,KAAK,CAAC;SAClB;QAED,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE;YAC3B,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;SAC3B;IACH,CAAC;CACF;AAED,MAAM,UAAU,GAAG,CACjB,QAAkC;IAElC,OAAO,SAAS,mBAAmB,CAAC,MAAyB;QAC3D,OAAO,IAAI,WAAW,CAAU,MAAM,EAAE,QAAQ,CAAC,CAAC;IACpD,CAAC,CAAC;AACJ,CAAC","file":"tap.js","sourcesContent":["import { IterableX } from '../iterablex';\nimport { PartialObserver } from '../../observer';\nimport { MonoTypeOperatorFunction } from '../../interfaces';\n\nexport class TapIterable<TSource> extends IterableX<TSource> {\n  private _source: Iterable<TSource>;\n  private _observer: PartialObserver<TSource>;\n\n  constructor(source: Iterable<TSource>, observer: PartialObserver<TSource>) {\n    super();\n    this._source = source;\n    this._observer = observer;\n  }\n\n  *[Symbol.iterator]() {\n    const it = this._source[Symbol.iterator]();\n    while (1) {\n      let next;\n      try {\n        next = it.next();\n        if (next.done) {\n          break;\n        }\n      } catch (e) {\n        if (this._observer.error) {\n          this._observer.error(e);\n        }\n        throw e;\n      }\n\n      if (this._observer.next) {\n        this._observer.next(next.value);\n      }\n      yield next.value;\n    }\n\n    if (this._observer.complete) {\n      this._observer.complete();\n    }\n  }\n}\n\nexport function tap<TSource>(\n  observer: PartialObserver<TSource>\n): MonoTypeOperatorFunction<TSource> {\n  return function tapOperatorFunction(source: Iterable<TSource>): IterableX<TSource> {\n    return new TapIterable<TSource>(source, observer);\n  };\n}\n"]}