frontend/.pnpm-store/v3/files/1c/914fe47eb161e7797f67ee9b4f1b078f6838446b9616a4c6d7500fb5a1690ae0e0e6c92518ae6d1fc2b8598b06a07d6a40b83dc5780f7c4026e8f8c47bbcec

27 lines
964 B
Plaintext

import { innerFrom } from '../observable/innerFrom';
import { createOperatorSubscriber } from './OperatorSubscriber';
import { operate } from '../util/lift';
export function catchError(selector) {
return operate((source, subscriber) => {
let innerSub = null;
let syncUnsub = false;
let handledResult;
innerSub = source.subscribe(createOperatorSubscriber(subscriber, undefined, undefined, (err) => {
handledResult = innerFrom(selector(err, catchError(selector)(source)));
if (innerSub) {
innerSub.unsubscribe();
innerSub = null;
handledResult.subscribe(subscriber);
}
else {
syncUnsub = true;
}
}));
if (syncUnsub) {
innerSub.unsubscribe();
innerSub = null;
handledResult.subscribe(subscriber);
}
});
}
//# sourceMappingURL=catchError.js.map