{"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';\nimport { async } from '../scheduler/async';\nexport function debounceTime(dueTime) {\n  var scheduler = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : async;\n  return function (source) {\n    return source.lift(new DebounceTimeOperator(dueTime, scheduler));\n  };\n}\n\nvar DebounceTimeOperator = /*#__PURE__*/function () {\n  function DebounceTimeOperator(dueTime, scheduler) {\n    _classCallCheck(this, DebounceTimeOperator);\n\n    this.dueTime = dueTime;\n    this.scheduler = scheduler;\n  }\n\n  _createClass(DebounceTimeOperator, [{\n    key: \"call\",\n    value: function call(subscriber, source) {\n      return source.subscribe(new DebounceTimeSubscriber(subscriber, this.dueTime, this.scheduler));\n    }\n  }]);\n\n  return DebounceTimeOperator;\n}();\n\nvar DebounceTimeSubscriber = /*#__PURE__*/function (_Subscriber) {\n  _inherits(DebounceTimeSubscriber, _Subscriber);\n\n  var _super = _createSuper(DebounceTimeSubscriber);\n\n  function DebounceTimeSubscriber(destination, dueTime, scheduler) {\n    var _this;\n\n    _classCallCheck(this, DebounceTimeSubscriber);\n\n    _this = _super.call(this, destination);\n    _this.dueTime = dueTime;\n    _this.scheduler = scheduler;\n    _this.debouncedSubscription = null;\n    _this.lastValue = null;\n    _this.hasValue = false;\n    return _this;\n  }\n\n  _createClass(DebounceTimeSubscriber, [{\n    key: \"_next\",\n    value: function _next(value) {\n      this.clearDebounce();\n      this.lastValue = value;\n      this.hasValue = true;\n      this.add(this.debouncedSubscription = this.scheduler.schedule(dispatchNext, this.dueTime, this));\n    }\n  }, {\n    key: \"_complete\",\n    value: function _complete() {\n      this.debouncedNext();\n      this.destination.complete();\n    }\n  }, {\n    key: \"debouncedNext\",\n    value: function debouncedNext() {\n      this.clearDebounce();\n\n      if (this.hasValue) {\n        var lastValue = this.lastValue;\n        this.lastValue = null;\n        this.hasValue = false;\n        this.destination.next(lastValue);\n      }\n    }\n  }, {\n    key: \"clearDebounce\",\n    value: function clearDebounce() {\n      var debouncedSubscription = this.debouncedSubscription;\n\n      if (debouncedSubscription !== null) {\n        this.remove(debouncedSubscription);\n        debouncedSubscription.unsubscribe();\n        this.debouncedSubscription = null;\n      }\n    }\n  }]);\n\n  return DebounceTimeSubscriber;\n}(Subscriber);\n\nfunction dispatchNext(subscriber) {\n  subscriber.debouncedNext();\n} //# sourceMappingURL=debounceTime.js.map","map":null,"metadata":{},"sourceType":"module"}