{"ast":null,"code":"import _assertThisInitialized from \"C:/Users/kgamal/Downloads/HijriGregorianDatepicker-master/HijriGregorianDatepicker-master/node_modules/@babel/runtime/helpers/esm/assertThisInitialized\";\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 _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 sequenceEqual(compareTo, comparator) {\n  return function (source) {\n    return source.lift(new SequenceEqualOperator(compareTo, comparator));\n  };\n}\nexport var SequenceEqualOperator = /*#__PURE__*/function () {\n  function SequenceEqualOperator(compareTo, comparator) {\n    _classCallCheck(this, SequenceEqualOperator);\n\n    this.compareTo = compareTo;\n    this.comparator = comparator;\n  }\n\n  _createClass(SequenceEqualOperator, [{\n    key: \"call\",\n    value: function call(subscriber, source) {\n      return source.subscribe(new SequenceEqualSubscriber(subscriber, this.compareTo, this.comparator));\n    }\n  }]);\n\n  return SequenceEqualOperator;\n}();\nexport var SequenceEqualSubscriber = /*#__PURE__*/function (_Subscriber) {\n  _inherits(SequenceEqualSubscriber, _Subscriber);\n\n  var _super = _createSuper(SequenceEqualSubscriber);\n\n  function SequenceEqualSubscriber(destination, compareTo, comparator) {\n    var _this;\n\n    _classCallCheck(this, SequenceEqualSubscriber);\n\n    _this = _super.call(this, destination);\n    _this.compareTo = compareTo;\n    _this.comparator = comparator;\n    _this._a = [];\n    _this._b = [];\n    _this._oneComplete = false;\n\n    _this.destination.add(compareTo.subscribe(new SequenceEqualCompareToSubscriber(destination, _assertThisInitialized(_this))));\n\n    return _this;\n  }\n\n  _createClass(SequenceEqualSubscriber, [{\n    key: \"_next\",\n    value: function _next(value) {\n      if (this._oneComplete && this._b.length === 0) {\n        this.emit(false);\n      } else {\n        this._a.push(value);\n\n        this.checkValues();\n      }\n    }\n  }, {\n    key: \"_complete\",\n    value: function _complete() {\n      if (this._oneComplete) {\n        this.emit(this._a.length === 0 && this._b.length === 0);\n      } else {\n        this._oneComplete = true;\n      }\n\n      this.unsubscribe();\n    }\n  }, {\n    key: \"checkValues\",\n    value: function checkValues() {\n      var _a = this._a,\n          _b = this._b,\n          comparator = this.comparator;\n\n      while (_a.length > 0 && _b.length > 0) {\n        var a = _a.shift();\n\n        var b = _b.shift();\n\n        var areEqual = false;\n\n        try {\n          areEqual = comparator ? comparator(a, b) : a === b;\n        } catch (e) {\n          this.destination.error(e);\n        }\n\n        if (!areEqual) {\n          this.emit(false);\n        }\n      }\n    }\n  }, {\n    key: \"emit\",\n    value: function emit(value) {\n      var destination = this.destination;\n      destination.next(value);\n      destination.complete();\n    }\n  }, {\n    key: \"nextB\",\n    value: function nextB(value) {\n      if (this._oneComplete && this._a.length === 0) {\n        this.emit(false);\n      } else {\n        this._b.push(value);\n\n        this.checkValues();\n      }\n    }\n  }, {\n    key: \"completeB\",\n    value: function completeB() {\n      if (this._oneComplete) {\n        this.emit(this._a.length === 0 && this._b.length === 0);\n      } else {\n        this._oneComplete = true;\n      }\n    }\n  }]);\n\n  return SequenceEqualSubscriber;\n}(Subscriber);\n\nvar SequenceEqualCompareToSubscriber = /*#__PURE__*/function (_Subscriber2) {\n  _inherits(SequenceEqualCompareToSubscriber, _Subscriber2);\n\n  var _super2 = _createSuper(SequenceEqualCompareToSubscriber);\n\n  function SequenceEqualCompareToSubscriber(destination, parent) {\n    var _this2;\n\n    _classCallCheck(this, SequenceEqualCompareToSubscriber);\n\n    _this2 = _super2.call(this, destination);\n    _this2.parent = parent;\n    return _this2;\n  }\n\n  _createClass(SequenceEqualCompareToSubscriber, [{\n    key: \"_next\",\n    value: function _next(value) {\n      this.parent.nextB(value);\n    }\n  }, {\n    key: \"_error\",\n    value: function _error(err) {\n      this.parent.error(err);\n      this.unsubscribe();\n    }\n  }, {\n    key: \"_complete\",\n    value: function _complete() {\n      this.parent.completeB();\n      this.unsubscribe();\n    }\n  }]);\n\n  return SequenceEqualCompareToSubscriber;\n}(Subscriber); //# sourceMappingURL=sequenceEqual.js.map","map":null,"metadata":{},"sourceType":"module"}