| 211 | }; |
| 212 | |
| 213 | const abortError = (signal: AbortSignal): unknown => { |
| 214 | if (signal.reason !== undefined) return signal.reason; |
| 215 | // oxlint-disable-next-line executor/no-error-constructor -- boundary: Fetch-compatible adapter must reject with an AbortError-shaped value |
| 216 | const error = new Error("The operation was aborted"); |
| 217 | error.name = "AbortError"; |
| 218 | return error; |
| 219 | }; |
| 220 | |
| 221 | /** An effect that completes when `signal` aborts (already-aborted = now). */ |
| 222 | const awaitAbort = (signal: AbortSignal): Effect.Effect<void> => |