Actualizacion maquina principal
[dotfiles/.git] / .config / coc / extensions / node_modules / coc-prettier / node_modules / rxjs / _esm2015 / internal / observable / race.js
diff --git a/.config/coc/extensions/node_modules/coc-prettier/node_modules/rxjs/_esm2015/internal/observable/race.js b/.config/coc/extensions/node_modules/coc-prettier/node_modules/rxjs/_esm2015/internal/observable/race.js
new file mode 100644 (file)
index 0000000..10b093e
--- /dev/null
@@ -0,0 +1,64 @@
+import { isArray } from '../util/isArray';
+import { fromArray } from './fromArray';
+import { OuterSubscriber } from '../OuterSubscriber';
+import { subscribeToResult } from '../util/subscribeToResult';
+export function race(...observables) {
+    if (observables.length === 1) {
+        if (isArray(observables[0])) {
+            observables = observables[0];
+        }
+        else {
+            return observables[0];
+        }
+    }
+    return fromArray(observables, undefined).lift(new RaceOperator());
+}
+export class RaceOperator {
+    call(subscriber, source) {
+        return source.subscribe(new RaceSubscriber(subscriber));
+    }
+}
+export class RaceSubscriber extends OuterSubscriber {
+    constructor(destination) {
+        super(destination);
+        this.hasFirst = false;
+        this.observables = [];
+        this.subscriptions = [];
+    }
+    _next(observable) {
+        this.observables.push(observable);
+    }
+    _complete() {
+        const observables = this.observables;
+        const len = observables.length;
+        if (len === 0) {
+            this.destination.complete();
+        }
+        else {
+            for (let i = 0; i < len && !this.hasFirst; i++) {
+                let observable = observables[i];
+                let subscription = subscribeToResult(this, observable, observable, i);
+                if (this.subscriptions) {
+                    this.subscriptions.push(subscription);
+                }
+                this.add(subscription);
+            }
+            this.observables = null;
+        }
+    }
+    notifyNext(outerValue, innerValue, outerIndex, innerIndex, innerSub) {
+        if (!this.hasFirst) {
+            this.hasFirst = true;
+            for (let i = 0; i < this.subscriptions.length; i++) {
+                if (i !== outerIndex) {
+                    let subscription = this.subscriptions[i];
+                    subscription.unsubscribe();
+                    this.remove(subscription);
+                }
+            }
+            this.subscriptions = null;
+        }
+        this.destination.next(innerValue);
+    }
+}
+//# sourceMappingURL=race.js.map
\ No newline at end of file