diff options
Diffstat (limited to 'node_modules/rxjs/dist/esm5/internal/operators/OperatorSubscriber.js')
| -rw-r--r-- | node_modules/rxjs/dist/esm5/internal/operators/OperatorSubscriber.js | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/node_modules/rxjs/dist/esm5/internal/operators/OperatorSubscriber.js b/node_modules/rxjs/dist/esm5/internal/operators/OperatorSubscriber.js new file mode 100644 index 0000000..55d9321 --- /dev/null +++ b/node_modules/rxjs/dist/esm5/internal/operators/OperatorSubscriber.js @@ -0,0 +1,61 @@ +import { __extends } from "tslib"; +import { Subscriber } from '../Subscriber'; +export function createOperatorSubscriber(destination, onNext, onComplete, onError, onFinalize) { + return new OperatorSubscriber(destination, onNext, onComplete, onError, onFinalize); +} +var OperatorSubscriber = (function (_super) { + __extends(OperatorSubscriber, _super); + function OperatorSubscriber(destination, onNext, onComplete, onError, onFinalize, shouldUnsubscribe) { + var _this = _super.call(this, destination) || this; + _this.onFinalize = onFinalize; + _this.shouldUnsubscribe = shouldUnsubscribe; + _this._next = onNext + ? function (value) { + try { + onNext(value); + } + catch (err) { + destination.error(err); + } + } + : _super.prototype._next; + _this._error = onError + ? function (err) { + try { + onError(err); + } + catch (err) { + destination.error(err); + } + finally { + this.unsubscribe(); + } + } + : _super.prototype._error; + _this._complete = onComplete + ? function () { + try { + onComplete(); + } + catch (err) { + destination.error(err); + } + finally { + this.unsubscribe(); + } + } + : _super.prototype._complete; + return _this; + } + OperatorSubscriber.prototype.unsubscribe = function () { + var _a; + if (!this.shouldUnsubscribe || this.shouldUnsubscribe()) { + var closed_1 = this.closed; + _super.prototype.unsubscribe.call(this); + !closed_1 && ((_a = this.onFinalize) === null || _a === void 0 ? void 0 : _a.call(this)); + } + }; + return OperatorSubscriber; +}(Subscriber)); +export { OperatorSubscriber }; +//# sourceMappingURL=OperatorSubscriber.js.map
\ No newline at end of file |
