1 import { SimpleOuterSubscriber, SimpleInnerSubscriber, innerSubscribe } from '../innerSubscribe';
2 export function catchError(selector) {
3 return function catchErrorOperatorFunction(source) {
4 const operator = new CatchOperator(selector);
5 const caught = source.lift(operator);
6 return (operator.caught = caught);
10 constructor(selector) {
11 this.selector = selector;
13 call(subscriber, source) {
14 return source.subscribe(new CatchSubscriber(subscriber, this.selector, this.caught));
17 class CatchSubscriber extends SimpleOuterSubscriber {
18 constructor(destination, selector, caught) {
20 this.selector = selector;
24 if (!this.isStopped) {
27 result = this.selector(err, this.caught);
33 this._unsubscribeAndRecycle();
34 const innerSubscriber = new SimpleInnerSubscriber(this);
35 this.add(innerSubscriber);
36 const innerSubscription = innerSubscribe(result, innerSubscriber);
37 if (innerSubscription !== innerSubscriber) {
38 this.add(innerSubscription);
43 //# sourceMappingURL=catchError.js.map