{"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 { async } from '../scheduler/async';\nimport { isDate } from '../util/isDate';\nimport { Subscriber } from '../Subscriber';\nimport { Notification } from '../Notification';\nexport function delay(delay) {\n  var scheduler = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : async;\n  var absoluteDelay = isDate(delay);\n  var delayFor = absoluteDelay ? +delay - scheduler.now() : Math.abs(delay);\n  return function (source) {\n    return source.lift(new DelayOperator(delayFor, scheduler));\n  };\n}\n\nvar DelayOperator = /*#__PURE__*/function () {\n  function DelayOperator(delay, scheduler) {\n    _classCallCheck(this, DelayOperator);\n\n    this.delay = delay;\n    this.scheduler = scheduler;\n  }\n\n  _createClass(DelayOperator, [{\n    key: \"call\",\n    value: function call(subscriber, source) {\n      return source.subscribe(new DelaySubscriber(subscriber, this.delay, this.scheduler));\n    }\n  }]);\n\n  return DelayOperator;\n}();\n\nvar DelaySubscriber = /*#__PURE__*/function (_Subscriber) {\n  _inherits(DelaySubscriber, _Subscriber);\n\n  var _super = _createSuper(DelaySubscriber);\n\n  function DelaySubscriber(destination, delay, scheduler) {\n    var _this;\n\n    _classCallCheck(this, DelaySubscriber);\n\n    _this = _super.call(this, destination);\n    _this.delay = delay;\n    _this.scheduler = scheduler;\n    _this.queue = [];\n    _this.active = false;\n    _this.errored = false;\n    return _this;\n  }\n\n  _createClass(DelaySubscriber, [{\n    key: \"_schedule\",\n    value: function _schedule(scheduler) {\n      this.active = true;\n      var destination = this.destination;\n      destination.add(scheduler.schedule(DelaySubscriber.dispatch, this.delay, {\n        source: this,\n        destination: this.destination,\n        scheduler: scheduler\n      }));\n    }\n  }, {\n    key: \"scheduleNotification\",\n    value: function scheduleNotification(notification) {\n      if (this.errored === true) {\n        return;\n      }\n\n      var scheduler = this.scheduler;\n      var message = new DelayMessage(scheduler.now() + this.delay, notification);\n      this.queue.push(message);\n\n      if (this.active === false) {\n        this._schedule(scheduler);\n      }\n    }\n  }, {\n    key: \"_next\",\n    value: function _next(value) {\n      this.scheduleNotification(Notification.createNext(value));\n    }\n  }, {\n    key: \"_error\",\n    value: function _error(err) {\n      this.errored = true;\n      this.queue = [];\n      this.destination.error(err);\n      this.unsubscribe();\n    }\n  }, {\n    key: \"_complete\",\n    value: function _complete() {\n      this.scheduleNotification(Notification.createComplete());\n      this.unsubscribe();\n    }\n  }], [{\n    key: \"dispatch\",\n    value: function dispatch(state) {\n      var source = state.source;\n      var queue = source.queue;\n      var scheduler = state.scheduler;\n      var destination = state.destination;\n\n      while (queue.length > 0 && queue[0].time - scheduler.now() <= 0) {\n        queue.shift().notification.observe(destination);\n      }\n\n      if (queue.length > 0) {\n        var _delay = Math.max(0, queue[0].time - scheduler.now());\n\n        this.schedule(state, _delay);\n      } else {\n        this.unsubscribe();\n        source.active = false;\n      }\n    }\n  }]);\n\n  return DelaySubscriber;\n}(Subscriber);\n\nvar DelayMessage = /*#__PURE__*/_createClass(function DelayMessage(time, notification) {\n  _classCallCheck(this, DelayMessage);\n\n  this.time = time;\n  this.notification = notification;\n}); //# sourceMappingURL=delay.js.map","map":null,"metadata":{},"sourceType":"module"}