{"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 { SimpleOuterSubscriber, innerSubscribe, SimpleInnerSubscriber } from '../innerSubscribe';\nexport function distinct(keySelector, flushes) {\n  return function (source) {\n    return source.lift(new DistinctOperator(keySelector, flushes));\n  };\n}\n\nvar DistinctOperator = /*#__PURE__*/function () {\n  function DistinctOperator(keySelector, flushes) {\n    _classCallCheck(this, DistinctOperator);\n\n    this.keySelector = keySelector;\n    this.flushes = flushes;\n  }\n\n  _createClass(DistinctOperator, [{\n    key: \"call\",\n    value: function call(subscriber, source) {\n      return source.subscribe(new DistinctSubscriber(subscriber, this.keySelector, this.flushes));\n    }\n  }]);\n\n  return DistinctOperator;\n}();\n\nexport var DistinctSubscriber = /*#__PURE__*/function (_SimpleOuterSubscribe) {\n  _inherits(DistinctSubscriber, _SimpleOuterSubscribe);\n\n  var _super = _createSuper(DistinctSubscriber);\n\n  function DistinctSubscriber(destination, keySelector, flushes) {\n    var _this;\n\n    _classCallCheck(this, DistinctSubscriber);\n\n    _this = _super.call(this, destination);\n    _this.keySelector = keySelector;\n    _this.values = new Set();\n\n    if (flushes) {\n      _this.add(innerSubscribe(flushes, new SimpleInnerSubscriber(_assertThisInitialized(_this))));\n    }\n\n    return _this;\n  }\n\n  _createClass(DistinctSubscriber, [{\n    key: \"notifyNext\",\n    value: function notifyNext() {\n      this.values.clear();\n    }\n  }, {\n    key: \"notifyError\",\n    value: function notifyError(error) {\n      this._error(error);\n    }\n  }, {\n    key: \"_next\",\n    value: function _next(value) {\n      if (this.keySelector) {\n        this._useKeySelector(value);\n      } else {\n        this._finalizeNext(value, value);\n      }\n    }\n  }, {\n    key: \"_useKeySelector\",\n    value: function _useKeySelector(value) {\n      var key;\n      var destination = this.destination;\n\n      try {\n        key = this.keySelector(value);\n      } catch (err) {\n        destination.error(err);\n        return;\n      }\n\n      this._finalizeNext(key, value);\n    }\n  }, {\n    key: \"_finalizeNext\",\n    value: function _finalizeNext(key, value) {\n      var values = this.values;\n\n      if (!values.has(key)) {\n        values.add(key);\n        this.destination.next(value);\n      }\n    }\n  }]);\n\n  return DistinctSubscriber;\n}(SimpleOuterSubscriber); //# sourceMappingURL=distinct.js.map","map":null,"metadata":{},"sourceType":"module"}