frontend/.pnpm-store/v3/files/58/cc2cddbff23b75c8d9f70fbfffbc9fdccee35a602ac6aab4f0a38b87bb6875daed67cfae9145cf5e3c50d48677bff517d20cd84ca1c297886dd9f39dabaa46

23 lines
692 B
Plaintext

import { Subscriber } from '../Subscriber';
import { Subject } from '../Subject';
/**
* Determines whether the ErrorObserver is closed or stopped or has a
* destination that is closed or stopped - in which case errors will
* need to be reported via a different mechanism.
* @param observer the observer
*/
export function canReportError(observer: Subscriber<any> | Subject<any>): boolean {
while (observer) {
const { closed, destination, isStopped } = observer as any;
if (closed || isStopped) {
return false;
} else if (destination && destination instanceof Subscriber) {
observer = destination;
} else {
observer = null;
}
}
return true;
}