aboutsummaryrefslogtreecommitdiffstats
path: root/node_modules/rxjs/dist/esm5/internal/observable/dom/fetch.js
diff options
context:
space:
mode:
authorPinapelz <yukais@pinapelz.com>2025-06-28 17:26:46 -0700
committerPinapelz <yukais@pinapelz.com>2025-06-28 17:43:56 -0700
commite4fa1e69e7ebfb627c7198fd1a9881e9327ec4d4 (patch)
tree06284a538a6008eca75051399e47db4e5d50301c /node_modules/rxjs/dist/esm5/internal/observable/dom/fetch.js
initial commit: scaffolding
Diffstat (limited to 'node_modules/rxjs/dist/esm5/internal/observable/dom/fetch.js')
-rw-r--r--node_modules/rxjs/dist/esm5/internal/observable/dom/fetch.js54
1 files changed, 54 insertions, 0 deletions
diff --git a/node_modules/rxjs/dist/esm5/internal/observable/dom/fetch.js b/node_modules/rxjs/dist/esm5/internal/observable/dom/fetch.js
new file mode 100644
index 0000000..ff9361e
--- /dev/null
+++ b/node_modules/rxjs/dist/esm5/internal/observable/dom/fetch.js
@@ -0,0 +1,54 @@
+import { __assign, __rest } from "tslib";
+import { createOperatorSubscriber } from '../../operators/OperatorSubscriber';
+import { Observable } from '../../Observable';
+import { innerFrom } from '../../observable/innerFrom';
+export function fromFetch(input, initWithSelector) {
+ if (initWithSelector === void 0) { initWithSelector = {}; }
+ var selector = initWithSelector.selector, init = __rest(initWithSelector, ["selector"]);
+ return new Observable(function (subscriber) {
+ var controller = new AbortController();
+ var signal = controller.signal;
+ var abortable = true;
+ var outerSignal = init.signal;
+ if (outerSignal) {
+ if (outerSignal.aborted) {
+ controller.abort();
+ }
+ else {
+ var outerSignalHandler_1 = function () {
+ if (!signal.aborted) {
+ controller.abort();
+ }
+ };
+ outerSignal.addEventListener('abort', outerSignalHandler_1);
+ subscriber.add(function () { return outerSignal.removeEventListener('abort', outerSignalHandler_1); });
+ }
+ }
+ var perSubscriberInit = __assign(__assign({}, init), { signal: signal });
+ var handleError = function (err) {
+ abortable = false;
+ subscriber.error(err);
+ };
+ fetch(input, perSubscriberInit)
+ .then(function (response) {
+ if (selector) {
+ innerFrom(selector(response)).subscribe(createOperatorSubscriber(subscriber, undefined, function () {
+ abortable = false;
+ subscriber.complete();
+ }, handleError));
+ }
+ else {
+ abortable = false;
+ subscriber.next(response);
+ subscriber.complete();
+ }
+ })
+ .catch(handleError);
+ return function () {
+ if (abortable) {
+ controller.abort();
+ }
+ };
+ });
+}
+//# sourceMappingURL=fetch.js.map \ No newline at end of file
send patches to the email below
yukais@pinapelz.com
include the subject [PATCH repo_name]
pinapelz.com
homepage