{"ast":null,"code":"import _get from \"C:/Users/kgamal/Downloads/HijriGregorianDatepicker-master/HijriGregorianDatepicker-master/node_modules/@babel/runtime/helpers/esm/get\";\nimport _getPrototypeOf from \"C:/Users/kgamal/Downloads/HijriGregorianDatepicker-master/HijriGregorianDatepicker-master/node_modules/@babel/runtime/helpers/esm/getPrototypeOf\";\nimport _classCallCheck from \"C:/Users/kgamal/Downloads/HijriGregorianDatepicker-master/HijriGregorianDatepicker-master/node_modules/@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"C:/Users/kgamal/Downloads/HijriGregorianDatepicker-master/HijriGregorianDatepicker-master/node_modules/@babel/runtime/helpers/esm/createClass\";\nimport _inherits from \"C:/Users/kgamal/Downloads/HijriGregorianDatepicker-master/HijriGregorianDatepicker-master/node_modules/@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"C:/Users/kgamal/Downloads/HijriGregorianDatepicker-master/HijriGregorianDatepicker-master/node_modules/@babel/runtime/helpers/esm/createSuper\";\nimport { SubjectSubscriber } from '../Subject';\nimport { Observable } from '../Observable';\nimport { Subscriber } from '../Subscriber';\nimport { Subscription } from '../Subscription';\nimport { refCount as higherOrderRefCount } from '../operators/refCount';\nexport var ConnectableObservable = /*#__PURE__*/function (_Observable) {\n  _inherits(ConnectableObservable, _Observable);\n\n  var _super = _createSuper(ConnectableObservable);\n\n  function ConnectableObservable(source, subjectFactory) {\n    var _this;\n\n    _classCallCheck(this, ConnectableObservable);\n\n    _this = _super.call(this);\n    _this.source = source;\n    _this.subjectFactory = subjectFactory;\n    _this._refCount = 0;\n    _this._isComplete = false;\n    return _this;\n  }\n\n  _createClass(ConnectableObservable, [{\n    key: \"_subscribe\",\n    value: function _subscribe(subscriber) {\n      return this.getSubject().subscribe(subscriber);\n    }\n  }, {\n    key: \"getSubject\",\n    value: function getSubject() {\n      var subject = this._subject;\n\n      if (!subject || subject.isStopped) {\n        this._subject = this.subjectFactory();\n      }\n\n      return this._subject;\n    }\n  }, {\n    key: \"connect\",\n    value: function connect() {\n      var connection = this._connection;\n\n      if (!connection) {\n        this._isComplete = false;\n        connection = this._connection = new Subscription();\n        connection.add(this.source.subscribe(new ConnectableSubscriber(this.getSubject(), this)));\n\n        if (connection.closed) {\n          this._connection = null;\n          connection = Subscription.EMPTY;\n        }\n      }\n\n      return connection;\n    }\n  }, {\n    key: \"refCount\",\n    value: function refCount() {\n      return higherOrderRefCount()(this);\n    }\n  }]);\n\n  return ConnectableObservable;\n}(Observable);\nexport var connectableObservableDescriptor = /*@__PURE__*/function () {\n  var connectableProto = ConnectableObservable.prototype;\n  return {\n    operator: {\n      value: null\n    },\n    _refCount: {\n      value: 0,\n      writable: true\n    },\n    _subject: {\n      value: null,\n      writable: true\n    },\n    _connection: {\n      value: null,\n      writable: true\n    },\n    _subscribe: {\n      value: connectableProto._subscribe\n    },\n    _isComplete: {\n      value: connectableProto._isComplete,\n      writable: true\n    },\n    getSubject: {\n      value: connectableProto.getSubject\n    },\n    connect: {\n      value: connectableProto.connect\n    },\n    refCount: {\n      value: connectableProto.refCount\n    }\n  };\n}();\n\nvar ConnectableSubscriber = /*#__PURE__*/function (_SubjectSubscriber) {\n  _inherits(ConnectableSubscriber, _SubjectSubscriber);\n\n  var _super2 = _createSuper(ConnectableSubscriber);\n\n  function ConnectableSubscriber(destination, connectable) {\n    var _this2;\n\n    _classCallCheck(this, ConnectableSubscriber);\n\n    _this2 = _super2.call(this, destination);\n    _this2.connectable = connectable;\n    return _this2;\n  }\n\n  _createClass(ConnectableSubscriber, [{\n    key: \"_error\",\n    value: function _error(err) {\n      this._unsubscribe();\n\n      _get(_getPrototypeOf(ConnectableSubscriber.prototype), \"_error\", this).call(this, err);\n    }\n  }, {\n    key: \"_complete\",\n    value: function _complete() {\n      this.connectable._isComplete = true;\n\n      this._unsubscribe();\n\n      _get(_getPrototypeOf(ConnectableSubscriber.prototype), \"_complete\", this).call(this);\n    }\n  }, {\n    key: \"_unsubscribe\",\n    value: function _unsubscribe() {\n      var connectable = this.connectable;\n\n      if (connectable) {\n        this.connectable = null;\n        var connection = connectable._connection;\n        connectable._refCount = 0;\n        connectable._subject = null;\n        connectable._connection = null;\n\n        if (connection) {\n          connection.unsubscribe();\n        }\n      }\n    }\n  }]);\n\n  return ConnectableSubscriber;\n}(SubjectSubscriber);\n\nvar RefCountOperator = /*#__PURE__*/function () {\n  function RefCountOperator(connectable) {\n    _classCallCheck(this, RefCountOperator);\n\n    this.connectable = connectable;\n  }\n\n  _createClass(RefCountOperator, [{\n    key: \"call\",\n    value: function call(subscriber, source) {\n      var connectable = this.connectable;\n      connectable._refCount++;\n      var refCounter = new RefCountSubscriber(subscriber, connectable);\n      var subscription = source.subscribe(refCounter);\n\n      if (!refCounter.closed) {\n        refCounter.connection = connectable.connect();\n      }\n\n      return subscription;\n    }\n  }]);\n\n  return RefCountOperator;\n}();\n\nvar RefCountSubscriber = /*#__PURE__*/function (_Subscriber) {\n  _inherits(RefCountSubscriber, _Subscriber);\n\n  var _super3 = _createSuper(RefCountSubscriber);\n\n  function RefCountSubscriber(destination, connectable) {\n    var _this3;\n\n    _classCallCheck(this, RefCountSubscriber);\n\n    _this3 = _super3.call(this, destination);\n    _this3.connectable = connectable;\n    return _this3;\n  }\n\n  _createClass(RefCountSubscriber, [{\n    key: \"_unsubscribe\",\n    value: function _unsubscribe() {\n      var connectable = this.connectable;\n\n      if (!connectable) {\n        this.connection = null;\n        return;\n      }\n\n      this.connectable = null;\n      var refCount = connectable._refCount;\n\n      if (refCount <= 0) {\n        this.connection = null;\n        return;\n      }\n\n      connectable._refCount = refCount - 1;\n\n      if (refCount > 1) {\n        this.connection = null;\n        return;\n      }\n\n      var connection = this.connection;\n      var sharedConnection = connectable._connection;\n      this.connection = null;\n\n      if (sharedConnection && (!connection || sharedConnection === connection)) {\n        sharedConnection.unsubscribe();\n      }\n    }\n  }]);\n\n  return RefCountSubscriber;\n}(Subscriber); //# sourceMappingURL=ConnectableObservable.js.map","map":null,"metadata":{},"sourceType":"module"}