Actualizacion maquina principal
[dotfiles/.git] / .config / coc / extensions / node_modules / coc-prettier / node_modules / rxjs / _esm2015 / internal / observable / dom / fetch.js
diff --git a/.config/coc/extensions/node_modules/coc-prettier/node_modules/rxjs/_esm2015/internal/observable/dom/fetch.js b/.config/coc/extensions/node_modules/coc-prettier/node_modules/rxjs/_esm2015/internal/observable/dom/fetch.js
new file mode 100644 (file)
index 0000000..d37f68d
--- /dev/null
@@ -0,0 +1,67 @@
+import * as tslib_1 from "tslib";
+import { Observable } from '../../Observable';
+import { Subscription } from '../../Subscription';
+import { from } from '../../observable/from';
+export function fromFetch(input, initWithSelector = {}) {
+    const { selector } = initWithSelector, init = tslib_1.__rest(initWithSelector, ["selector"]);
+    return new Observable(subscriber => {
+        const controller = new AbortController();
+        const signal = controller.signal;
+        let abortable = true;
+        let unsubscribed = false;
+        const subscription = new Subscription();
+        subscription.add(() => {
+            unsubscribed = true;
+            if (abortable) {
+                controller.abort();
+            }
+        });
+        let perSubscriberInit;
+        if (init) {
+            if (init.signal) {
+                if (init.signal.aborted) {
+                    controller.abort();
+                }
+                else {
+                    const outerSignal = init.signal;
+                    const outerSignalHandler = () => {
+                        if (!signal.aborted) {
+                            controller.abort();
+                        }
+                    };
+                    outerSignal.addEventListener('abort', outerSignalHandler);
+                    subscription.add(() => outerSignal.removeEventListener('abort', outerSignalHandler));
+                }
+            }
+            perSubscriberInit = Object.assign({}, init, { signal });
+        }
+        else {
+            perSubscriberInit = { signal };
+        }
+        fetch(input, perSubscriberInit).then(response => {
+            if (selector) {
+                subscription.add(from(selector(response)).subscribe(value => subscriber.next(value), err => {
+                    abortable = false;
+                    if (!unsubscribed) {
+                        subscriber.error(err);
+                    }
+                }, () => {
+                    abortable = false;
+                    subscriber.complete();
+                }));
+            }
+            else {
+                abortable = false;
+                subscriber.next(response);
+                subscriber.complete();
+            }
+        }).catch(err => {
+            abortable = false;
+            if (!unsubscribed) {
+                subscriber.error(err);
+            }
+        });
+        return subscription;
+    });
+}
+//# sourceMappingURL=fetch.js.map
\ No newline at end of file