Actualizacion maquina principal
[dotfiles/.git] / .config / coc / extensions / node_modules / coc-prettier / node_modules / rxjs / _esm2015 / internal / operators / repeatWhen.js
diff --git a/.config/coc/extensions/node_modules/coc-prettier/node_modules/rxjs/_esm2015/internal/operators/repeatWhen.js b/.config/coc/extensions/node_modules/coc-prettier/node_modules/rxjs/_esm2015/internal/operators/repeatWhen.js
new file mode 100644 (file)
index 0000000..fea24e2
--- /dev/null
@@ -0,0 +1,77 @@
+import { Subject } from '../Subject';
+import { OuterSubscriber } from '../OuterSubscriber';
+import { subscribeToResult } from '../util/subscribeToResult';
+export function repeatWhen(notifier) {
+    return (source) => source.lift(new RepeatWhenOperator(notifier));
+}
+class RepeatWhenOperator {
+    constructor(notifier) {
+        this.notifier = notifier;
+    }
+    call(subscriber, source) {
+        return source.subscribe(new RepeatWhenSubscriber(subscriber, this.notifier, source));
+    }
+}
+class RepeatWhenSubscriber extends OuterSubscriber {
+    constructor(destination, notifier, source) {
+        super(destination);
+        this.notifier = notifier;
+        this.source = source;
+        this.sourceIsBeingSubscribedTo = true;
+    }
+    notifyNext(outerValue, innerValue, outerIndex, innerIndex, innerSub) {
+        this.sourceIsBeingSubscribedTo = true;
+        this.source.subscribe(this);
+    }
+    notifyComplete(innerSub) {
+        if (this.sourceIsBeingSubscribedTo === false) {
+            return super.complete();
+        }
+    }
+    complete() {
+        this.sourceIsBeingSubscribedTo = false;
+        if (!this.isStopped) {
+            if (!this.retries) {
+                this.subscribeToRetries();
+            }
+            if (!this.retriesSubscription || this.retriesSubscription.closed) {
+                return super.complete();
+            }
+            this._unsubscribeAndRecycle();
+            this.notifications.next();
+        }
+    }
+    _unsubscribe() {
+        const { notifications, retriesSubscription } = this;
+        if (notifications) {
+            notifications.unsubscribe();
+            this.notifications = null;
+        }
+        if (retriesSubscription) {
+            retriesSubscription.unsubscribe();
+            this.retriesSubscription = null;
+        }
+        this.retries = null;
+    }
+    _unsubscribeAndRecycle() {
+        const { _unsubscribe } = this;
+        this._unsubscribe = null;
+        super._unsubscribeAndRecycle();
+        this._unsubscribe = _unsubscribe;
+        return this;
+    }
+    subscribeToRetries() {
+        this.notifications = new Subject();
+        let retries;
+        try {
+            const { notifier } = this;
+            retries = notifier(this.notifications);
+        }
+        catch (e) {
+            return super.complete();
+        }
+        this.retries = retries;
+        this.retriesSubscription = subscribeToResult(this, retries);
+    }
+}
+//# sourceMappingURL=repeatWhen.js.map
\ No newline at end of file