(input, init = void 0)
| 13480 | } |
| 13481 | __name(handleFetchDone, "handleFetchDone"); |
| 13482 | function fetch2(input, init = void 0) { |
| 13483 | webidl.argumentLengthCheck(arguments, 1, "globalThis.fetch"); |
| 13484 | let p = Promise.withResolvers(); |
| 13485 | let requestObject; |
| 13486 | try { |
| 13487 | requestObject = new Request(input, init); |
| 13488 | } catch (e) { |
| 13489 | p.reject(e); |
| 13490 | return p.promise; |
| 13491 | } |
| 13492 | const request = getRequestState(requestObject); |
| 13493 | if (requestObject.signal.aborted) { |
| 13494 | abortFetch(p, request, null, requestObject.signal.reason, null); |
| 13495 | return p.promise; |
| 13496 | } |
| 13497 | const globalObject = request.client.globalObject; |
| 13498 | if (globalObject?.constructor?.name === "ServiceWorkerGlobalScope") { |
| 13499 | request.serviceWorkers = "none"; |
| 13500 | } |
| 13501 | let responseObject = null; |
| 13502 | let locallyAborted = false; |
| 13503 | let controller = null; |
| 13504 | const removeAbortListener = addAbortListener( |
| 13505 | requestObject.signal, |
| 13506 | () => { |
| 13507 | locallyAborted = true; |
| 13508 | assert(controller != null); |
| 13509 | controller.abort(requestObject.signal.reason); |
| 13510 | const realResponse = responseObject?.deref(); |
| 13511 | abortFetch(p, request, realResponse, requestObject.signal.reason, controller.controller); |
| 13512 | } |
| 13513 | ); |
| 13514 | const cleanupAbortListeners = /* @__PURE__ */ __name(() => { |
| 13515 | removeAbortListener(); |
| 13516 | removeRequestAbortListener(requestObject); |
| 13517 | }, "cleanupAbortListeners"); |
| 13518 | const processResponse = /* @__PURE__ */ __name((response) => { |
| 13519 | if (locallyAborted) { |
| 13520 | return; |
| 13521 | } |
| 13522 | if (response.aborted) { |
| 13523 | abortFetch(p, request, responseObject, controller.serializedAbortReason, controller.controller); |
| 13524 | cleanupAbortListeners(); |
| 13525 | return; |
| 13526 | } |
| 13527 | if (response.type === "error") { |
| 13528 | p.reject(new TypeError("fetch failed", { cause: response.error })); |
| 13529 | cleanupAbortListeners(); |
| 13530 | return; |
| 13531 | } |
| 13532 | responseObject = new WeakRef(fromInnerResponse(response, "immutable")); |
| 13533 | p.resolve(responseObject.deref()); |
| 13534 | p = null; |
| 13535 | }, "processResponse"); |
| 13536 | controller = fetching({ |
| 13537 | request, |
| 13538 | processResponseEndOfBody: /* @__PURE__ */ __name((response) => { |
| 13539 | handleFetchDone(response); |
nothing calls this directly
no test coverage detected
searching dependent graphs…