{"ast":null,"code":"import _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 _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 { Subscriber } from '../Subscriber';\nexport function refCount() {\n  return function refCountOperatorFunction(source) {\n    return source.lift(new RefCountOperator(source));\n  };\n}\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 _super = _createSuper(RefCountSubscriber);\n\n  function RefCountSubscriber(destination, connectable) {\n    var _this;\n\n    _classCallCheck(this, RefCountSubscriber);\n\n    _this = _super.call(this, destination);\n    _this.connectable = connectable;\n    return _this;\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=refCount.js.map","map":null,"metadata":{},"sourceType":"module"}