Actualizacion maquina principal
[dotfiles/.git] / .config / coc / extensions / node_modules / coc-prettier / node_modules / rxjs / _esm5 / internal / operators / repeatWhen.js
1 /** PURE_IMPORTS_START tslib,_Subject,_OuterSubscriber,_util_subscribeToResult PURE_IMPORTS_END */
2 import * as tslib_1 from "tslib";
3 import { Subject } from '../Subject';
4 import { OuterSubscriber } from '../OuterSubscriber';
5 import { subscribeToResult } from '../util/subscribeToResult';
6 export function repeatWhen(notifier) {
7     return function (source) { return source.lift(new RepeatWhenOperator(notifier)); };
8 }
9 var RepeatWhenOperator = /*@__PURE__*/ (function () {
10     function RepeatWhenOperator(notifier) {
11         this.notifier = notifier;
12     }
13     RepeatWhenOperator.prototype.call = function (subscriber, source) {
14         return source.subscribe(new RepeatWhenSubscriber(subscriber, this.notifier, source));
15     };
16     return RepeatWhenOperator;
17 }());
18 var RepeatWhenSubscriber = /*@__PURE__*/ (function (_super) {
19     tslib_1.__extends(RepeatWhenSubscriber, _super);
20     function RepeatWhenSubscriber(destination, notifier, source) {
21         var _this = _super.call(this, destination) || this;
22         _this.notifier = notifier;
23         _this.source = source;
24         _this.sourceIsBeingSubscribedTo = true;
25         return _this;
26     }
27     RepeatWhenSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {
28         this.sourceIsBeingSubscribedTo = true;
29         this.source.subscribe(this);
30     };
31     RepeatWhenSubscriber.prototype.notifyComplete = function (innerSub) {
32         if (this.sourceIsBeingSubscribedTo === false) {
33             return _super.prototype.complete.call(this);
34         }
35     };
36     RepeatWhenSubscriber.prototype.complete = function () {
37         this.sourceIsBeingSubscribedTo = false;
38         if (!this.isStopped) {
39             if (!this.retries) {
40                 this.subscribeToRetries();
41             }
42             if (!this.retriesSubscription || this.retriesSubscription.closed) {
43                 return _super.prototype.complete.call(this);
44             }
45             this._unsubscribeAndRecycle();
46             this.notifications.next();
47         }
48     };
49     RepeatWhenSubscriber.prototype._unsubscribe = function () {
50         var _a = this, notifications = _a.notifications, retriesSubscription = _a.retriesSubscription;
51         if (notifications) {
52             notifications.unsubscribe();
53             this.notifications = null;
54         }
55         if (retriesSubscription) {
56             retriesSubscription.unsubscribe();
57             this.retriesSubscription = null;
58         }
59         this.retries = null;
60     };
61     RepeatWhenSubscriber.prototype._unsubscribeAndRecycle = function () {
62         var _unsubscribe = this._unsubscribe;
63         this._unsubscribe = null;
64         _super.prototype._unsubscribeAndRecycle.call(this);
65         this._unsubscribe = _unsubscribe;
66         return this;
67     };
68     RepeatWhenSubscriber.prototype.subscribeToRetries = function () {
69         this.notifications = new Subject();
70         var retries;
71         try {
72             var notifier = this.notifier;
73             retries = notifier(this.notifications);
74         }
75         catch (e) {
76             return _super.prototype.complete.call(this);
77         }
78         this.retries = retries;
79         this.retriesSubscription = subscribeToResult(this, retries);
80     };
81     return RepeatWhenSubscriber;
82 }(OuterSubscriber));
83 //# sourceMappingURL=repeatWhen.js.map