| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 | import { EMPTY } from './observable/empty';import { of } from './observable/of';import { throwError } from './observable/throwError';import { isFunction } from './util/isFunction';export var NotificationKind;(function (NotificationKind) {    NotificationKind["NEXT"] = "N";    NotificationKind["ERROR"] = "E";    NotificationKind["COMPLETE"] = "C";})(NotificationKind || (NotificationKind = {}));export class Notification {    constructor(kind, value, error) {        this.kind = kind;        this.value = value;        this.error = error;        this.hasValue = kind === 'N';    }    observe(observer) {        return observeNotification(this, observer);    }    do(nextHandler, errorHandler, completeHandler) {        const { kind, value, error } = this;        return kind === 'N' ? nextHandler === null || nextHandler === void 0 ? void 0 : nextHandler(value) : kind === 'E' ? errorHandler === null || errorHandler === void 0 ? void 0 : errorHandler(error) : completeHandler === null || completeHandler === void 0 ? void 0 : completeHandler();    }    accept(nextOrObserver, error, complete) {        var _a;        return isFunction((_a = nextOrObserver) === null || _a === void 0 ? void 0 : _a.next)            ? this.observe(nextOrObserver)            : this.do(nextOrObserver, error, complete);    }    toObservable() {        const { kind, value, error } = this;        const result = kind === 'N'            ?                of(value)            :                kind === 'E'                    ?                        throwError(() => error)                    :                        kind === 'C'                            ?                                EMPTY                            :                                0;        if (!result) {            throw new TypeError(`Unexpected notification kind ${kind}`);        }        return result;    }    static createNext(value) {        return new Notification('N', value);    }    static createError(err) {        return new Notification('E', undefined, err);    }    static createComplete() {        return Notification.completeNotification;    }}Notification.completeNotification = new Notification('C');export function observeNotification(notification, observer) {    var _a, _b, _c;    const { kind, value, error } = notification;    if (typeof kind !== 'string') {        throw new TypeError('Invalid notification, missing "kind"');    }    kind === 'N' ? (_a = observer.next) === null || _a === void 0 ? void 0 : _a.call(observer, value) : kind === 'E' ? (_b = observer.error) === null || _b === void 0 ? void 0 : _b.call(observer, error) : (_c = observer.complete) === null || _c === void 0 ? void 0 : _c.call(observer);}//# sourceMappingURL=Notification.js.map
 |