UNPKG

@reactivex/ix-esnext-esm

Version:

The Interactive Extensions for JavaScript

41 lines (39 loc) 1.06 kB
import { IterableX } from '../iterablex'; export class TapIterable extends IterableX { constructor(source, observer) { super(); this._source = source; this._observer = observer; } *[Symbol.iterator]() { const it = this._source[Symbol.iterator](); while (1) { let next; try { next = it.next(); if (next.done) { break; } } catch (e) { if (this._observer.error) { this._observer.error(e); } throw e; } if (this._observer.next) { this._observer.next(next.value); } yield next.value; } if (this._observer.complete) { this._observer.complete(); } } } export function tap(observer) { return function tapOperatorFunction(source) { return new TapIterable(source, observer); }; } //# sourceMappingURL=tap.mjs.map