12345678910111213141516171819202122 |
- 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;
- }
|