From e4fa1e69e7ebfb627c7198fd1a9881e9327ec4d4 Mon Sep 17 00:00:00 2001 From: Pinapelz Date: Sat, 28 Jun 2025 17:26:46 -0700 Subject: initial commit: scaffolding --- .../rxjs/dist/esm/internal/observable/dom/fetch.js | 53 ++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 node_modules/rxjs/dist/esm/internal/observable/dom/fetch.js (limited to 'node_modules/rxjs/dist/esm/internal/observable/dom/fetch.js') diff --git a/node_modules/rxjs/dist/esm/internal/observable/dom/fetch.js b/node_modules/rxjs/dist/esm/internal/observable/dom/fetch.js new file mode 100644 index 0000000..48b0af3 --- /dev/null +++ b/node_modules/rxjs/dist/esm/internal/observable/dom/fetch.js @@ -0,0 +1,53 @@ +import { __rest } from "tslib"; +import { createOperatorSubscriber } from '../../operators/OperatorSubscriber'; +import { Observable } from '../../Observable'; +import { innerFrom } from '../../observable/innerFrom'; +export function fromFetch(input, initWithSelector = {}) { + const { selector } = initWithSelector, init = __rest(initWithSelector, ["selector"]); + return new Observable((subscriber) => { + const controller = new AbortController(); + const { signal } = controller; + let abortable = true; + const { signal: outerSignal } = init; + if (outerSignal) { + if (outerSignal.aborted) { + controller.abort(); + } + else { + const outerSignalHandler = () => { + if (!signal.aborted) { + controller.abort(); + } + }; + outerSignal.addEventListener('abort', outerSignalHandler); + subscriber.add(() => outerSignal.removeEventListener('abort', outerSignalHandler)); + } + } + const perSubscriberInit = Object.assign(Object.assign({}, init), { signal }); + const handleError = (err) => { + abortable = false; + subscriber.error(err); + }; + fetch(input, perSubscriberInit) + .then((response) => { + if (selector) { + innerFrom(selector(response)).subscribe(createOperatorSubscriber(subscriber, undefined, () => { + abortable = false; + subscriber.complete(); + }, handleError)); + } + else { + abortable = false; + subscriber.next(response); + subscriber.complete(); + } + }) + .catch(handleError); + return () => { + if (abortable) { + controller.abort(); + } + }; + }); +} +//# sourceMappingURL=fetch.js.map \ No newline at end of file -- cgit v1.2.3