frontend/.pnpm-store/v3/files/2a/03e027c34b1a6fc38a518aa5e8eca0b412b46231bacbe581c13e1614e2e1d04da75da7dd7edb0fd156a5bfb2b63f491b397d6de293c7e46a749d8a97c24f4e

27 lines
976 B
Plaintext

import { innerFrom } from '../observable/innerFrom';
import { createOperatorSubscriber } from './OperatorSubscriber';
import { operate } from '../util/lift';
export function catchError(selector) {
return operate(function (source, subscriber) {
var innerSub = null;
var syncUnsub = false;
var handledResult;
innerSub = source.subscribe(createOperatorSubscriber(subscriber, undefined, undefined, function (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