Ohm-Management - Projektarbeit B-ME
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

timeoutWith.js 2.9KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. /** PURE_IMPORTS_START tslib,_scheduler_async,_util_isDate,_OuterSubscriber,_util_subscribeToResult PURE_IMPORTS_END */
  2. import * as tslib_1 from "tslib";
  3. import { async } from '../scheduler/async';
  4. import { isDate } from '../util/isDate';
  5. import { OuterSubscriber } from '../OuterSubscriber';
  6. import { subscribeToResult } from '../util/subscribeToResult';
  7. export function timeoutWith(due, withObservable, scheduler) {
  8. if (scheduler === void 0) {
  9. scheduler = async;
  10. }
  11. return function (source) {
  12. var absoluteTimeout = isDate(due);
  13. var waitFor = absoluteTimeout ? (+due - scheduler.now()) : Math.abs(due);
  14. return source.lift(new TimeoutWithOperator(waitFor, absoluteTimeout, withObservable, scheduler));
  15. };
  16. }
  17. var TimeoutWithOperator = /*@__PURE__*/ (function () {
  18. function TimeoutWithOperator(waitFor, absoluteTimeout, withObservable, scheduler) {
  19. this.waitFor = waitFor;
  20. this.absoluteTimeout = absoluteTimeout;
  21. this.withObservable = withObservable;
  22. this.scheduler = scheduler;
  23. }
  24. TimeoutWithOperator.prototype.call = function (subscriber, source) {
  25. return source.subscribe(new TimeoutWithSubscriber(subscriber, this.absoluteTimeout, this.waitFor, this.withObservable, this.scheduler));
  26. };
  27. return TimeoutWithOperator;
  28. }());
  29. var TimeoutWithSubscriber = /*@__PURE__*/ (function (_super) {
  30. tslib_1.__extends(TimeoutWithSubscriber, _super);
  31. function TimeoutWithSubscriber(destination, absoluteTimeout, waitFor, withObservable, scheduler) {
  32. var _this = _super.call(this, destination) || this;
  33. _this.absoluteTimeout = absoluteTimeout;
  34. _this.waitFor = waitFor;
  35. _this.withObservable = withObservable;
  36. _this.scheduler = scheduler;
  37. _this.action = null;
  38. _this.scheduleTimeout();
  39. return _this;
  40. }
  41. TimeoutWithSubscriber.dispatchTimeout = function (subscriber) {
  42. var withObservable = subscriber.withObservable;
  43. subscriber._unsubscribeAndRecycle();
  44. subscriber.add(subscribeToResult(subscriber, withObservable));
  45. };
  46. TimeoutWithSubscriber.prototype.scheduleTimeout = function () {
  47. var action = this.action;
  48. if (action) {
  49. this.action = action.schedule(this, this.waitFor);
  50. }
  51. else {
  52. this.add(this.action = this.scheduler.schedule(TimeoutWithSubscriber.dispatchTimeout, this.waitFor, this));
  53. }
  54. };
  55. TimeoutWithSubscriber.prototype._next = function (value) {
  56. if (!this.absoluteTimeout) {
  57. this.scheduleTimeout();
  58. }
  59. _super.prototype._next.call(this, value);
  60. };
  61. TimeoutWithSubscriber.prototype._unsubscribe = function () {
  62. this.action = null;
  63. this.scheduler = null;
  64. this.withObservable = null;
  65. };
  66. return TimeoutWithSubscriber;
  67. }(OuterSubscriber));
  68. //# sourceMappingURL=timeoutWith.js.map