Actualizacion maquina principal
[dotfiles/.git] / .config / coc / extensions / node_modules / coc-prettier / node_modules / rxjs / _esm2015 / internal / operators / timeoutWith.js
diff --git a/.config/coc/extensions/node_modules/coc-prettier/node_modules/rxjs/_esm2015/internal/operators/timeoutWith.js b/.config/coc/extensions/node_modules/coc-prettier/node_modules/rxjs/_esm2015/internal/operators/timeoutWith.js
new file mode 100644 (file)
index 0000000..0526cc7
--- /dev/null
@@ -0,0 +1,59 @@
+import { async } from '../scheduler/async';
+import { isDate } from '../util/isDate';
+import { OuterSubscriber } from '../OuterSubscriber';
+import { subscribeToResult } from '../util/subscribeToResult';
+export function timeoutWith(due, withObservable, scheduler = async) {
+    return (source) => {
+        let absoluteTimeout = isDate(due);
+        let waitFor = absoluteTimeout ? (+due - scheduler.now()) : Math.abs(due);
+        return source.lift(new TimeoutWithOperator(waitFor, absoluteTimeout, withObservable, scheduler));
+    };
+}
+class TimeoutWithOperator {
+    constructor(waitFor, absoluteTimeout, withObservable, scheduler) {
+        this.waitFor = waitFor;
+        this.absoluteTimeout = absoluteTimeout;
+        this.withObservable = withObservable;
+        this.scheduler = scheduler;
+    }
+    call(subscriber, source) {
+        return source.subscribe(new TimeoutWithSubscriber(subscriber, this.absoluteTimeout, this.waitFor, this.withObservable, this.scheduler));
+    }
+}
+class TimeoutWithSubscriber extends OuterSubscriber {
+    constructor(destination, absoluteTimeout, waitFor, withObservable, scheduler) {
+        super(destination);
+        this.absoluteTimeout = absoluteTimeout;
+        this.waitFor = waitFor;
+        this.withObservable = withObservable;
+        this.scheduler = scheduler;
+        this.action = null;
+        this.scheduleTimeout();
+    }
+    static dispatchTimeout(subscriber) {
+        const { withObservable } = subscriber;
+        subscriber._unsubscribeAndRecycle();
+        subscriber.add(subscribeToResult(subscriber, withObservable));
+    }
+    scheduleTimeout() {
+        const { action } = this;
+        if (action) {
+            this.action = action.schedule(this, this.waitFor);
+        }
+        else {
+            this.add(this.action = this.scheduler.schedule(TimeoutWithSubscriber.dispatchTimeout, this.waitFor, this));
+        }
+    }
+    _next(value) {
+        if (!this.absoluteTimeout) {
+            this.scheduleTimeout();
+        }
+        super._next(value);
+    }
+    _unsubscribe() {
+        this.action = null;
+        this.scheduler = null;
+        this.withObservable = null;
+    }
+}
+//# sourceMappingURL=timeoutWith.js.map
\ No newline at end of file