1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- "use strict";
- var __extends = (this && this.__extends) || (function () {
- var extendStatics = function (d, b) {
- extendStatics = Object.setPrototypeOf ||
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
- return extendStatics(d, b);
- };
- return function (d, b) {
- if (typeof b !== "function" && b !== null)
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
- extendStatics(d, b);
- function __() { this.constructor = d; }
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
- };
- })();
- Object.defineProperty(exports, "__esModule", { value: true });
- exports.ConnectableObservable = void 0;
- var Observable_1 = require("../Observable");
- var Subscription_1 = require("../Subscription");
- var refCount_1 = require("../operators/refCount");
- var OperatorSubscriber_1 = require("../operators/OperatorSubscriber");
- var lift_1 = require("../util/lift");
- var ConnectableObservable = (function (_super) {
- __extends(ConnectableObservable, _super);
- function ConnectableObservable(source, subjectFactory) {
- var _this = _super.call(this) || this;
- _this.source = source;
- _this.subjectFactory = subjectFactory;
- _this._subject = null;
- _this._refCount = 0;
- _this._connection = null;
- if (lift_1.hasLift(source)) {
- _this.lift = source.lift;
- }
- return _this;
- }
- ConnectableObservable.prototype._subscribe = function (subscriber) {
- return this.getSubject().subscribe(subscriber);
- };
- ConnectableObservable.prototype.getSubject = function () {
- var subject = this._subject;
- if (!subject || subject.isStopped) {
- this._subject = this.subjectFactory();
- }
- return this._subject;
- };
- ConnectableObservable.prototype._teardown = function () {
- this._refCount = 0;
- var _connection = this._connection;
- this._subject = this._connection = null;
- _connection === null || _connection === void 0 ? void 0 : _connection.unsubscribe();
- };
- ConnectableObservable.prototype.connect = function () {
- var _this = this;
- var connection = this._connection;
- if (!connection) {
- connection = this._connection = new Subscription_1.Subscription();
- var subject_1 = this.getSubject();
- connection.add(this.source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subject_1, undefined, function () {
- _this._teardown();
- subject_1.complete();
- }, function (err) {
- _this._teardown();
- subject_1.error(err);
- }, function () { return _this._teardown(); })));
- if (connection.closed) {
- this._connection = null;
- connection = Subscription_1.Subscription.EMPTY;
- }
- }
- return connection;
- };
- ConnectableObservable.prototype.refCount = function () {
- return refCount_1.refCount()(this);
- };
- return ConnectableObservable;
- }(Observable_1.Observable));
- exports.ConnectableObservable = ConnectableObservable;
- //# sourceMappingURL=ConnectableObservable.js.map
|