123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- import { Subscriber } from '../Subscriber';
- import { noop } from '../util/noop';
- import { isFunction } from '../util/isFunction';
- export function tap(nextOrObserver, error, complete) {
- return function tapOperatorFunction(source) {
- return source.lift(new DoOperator(nextOrObserver, error, complete));
- };
- }
- class DoOperator {
- constructor(nextOrObserver, error, complete) {
- this.nextOrObserver = nextOrObserver;
- this.error = error;
- this.complete = complete;
- }
- call(subscriber, source) {
- return source.subscribe(new TapSubscriber(subscriber, this.nextOrObserver, this.error, this.complete));
- }
- }
- class TapSubscriber extends Subscriber {
- constructor(destination, observerOrNext, error, complete) {
- super(destination);
- this._tapNext = noop;
- this._tapError = noop;
- this._tapComplete = noop;
- this._tapError = error || noop;
- this._tapComplete = complete || noop;
- if (isFunction(observerOrNext)) {
- this._context = this;
- this._tapNext = observerOrNext;
- }
- else if (observerOrNext) {
- this._context = observerOrNext;
- this._tapNext = observerOrNext.next || noop;
- this._tapError = observerOrNext.error || noop;
- this._tapComplete = observerOrNext.complete || noop;
- }
- }
- _next(value) {
- try {
- this._tapNext.call(this._context, value);
- }
- catch (err) {
- this.destination.error(err);
- return;
- }
- this.destination.next(value);
- }
- _error(err) {
- try {
- this._tapError.call(this._context, err);
- }
- catch (err) {
- this.destination.error(err);
- return;
- }
- this.destination.error(err);
- }
- _complete() {
- try {
- this._tapComplete.call(this._context);
- }
- catch (err) {
- this.destination.error(err);
- return;
- }
- return this.destination.complete();
- }
- }
- //# sourceMappingURL=tap.js.map
|