(source, dest, preventClose, preventAbort, preventCancel, signal)
| 13041 | } |
| 13042 | const DOMException3 = getFromGlobal() || createPolyfill(); |
| 13043 | function ReadableStreamPipeTo(source, dest, preventClose, preventAbort, preventCancel, signal) { |
| 13044 | const reader = AcquireReadableStreamDefaultReader(source); |
| 13045 | const writer = AcquireWritableStreamDefaultWriter(dest); |
| 13046 | source._disturbed = true; |
| 13047 | let shuttingDown = false; |
| 13048 | let currentWrite = promiseResolvedWith(void 0); |
| 13049 | return newPromise((resolve, reject) => { |
| 13050 | let abortAlgorithm; |
| 13051 | if (signal !== void 0) { |
| 13052 | abortAlgorithm = () => { |
| 13053 | const error = signal.reason !== void 0 ? signal.reason : new DOMException3("Aborted", "AbortError"); |
| 13054 | const actions = []; |
| 13055 | if (!preventAbort) { |
| 13056 | actions.push(() => { |
| 13057 | if (dest._state === "writable") { |
| 13058 | return WritableStreamAbort(dest, error); |
| 13059 | } |
| 13060 | return promiseResolvedWith(void 0); |
| 13061 | }); |
| 13062 | } |
| 13063 | if (!preventCancel) { |
| 13064 | actions.push(() => { |
| 13065 | if (source._state === "readable") { |
| 13066 | return ReadableStreamCancel(source, error); |
| 13067 | } |
| 13068 | return promiseResolvedWith(void 0); |
| 13069 | }); |
| 13070 | } |
| 13071 | shutdownWithAction(() => Promise.all(actions.map((action) => action())), true, error); |
| 13072 | }; |
| 13073 | if (signal.aborted) { |
| 13074 | abortAlgorithm(); |
| 13075 | return; |
| 13076 | } |
| 13077 | signal.addEventListener("abort", abortAlgorithm); |
| 13078 | } |
| 13079 | function pipeLoop() { |
| 13080 | return newPromise((resolveLoop, rejectLoop) => { |
| 13081 | function next(done) { |
| 13082 | if (done) { |
| 13083 | resolveLoop(); |
| 13084 | } else { |
| 13085 | PerformPromiseThen(pipeStep(), next, rejectLoop); |
| 13086 | } |
| 13087 | } |
| 13088 | next(false); |
| 13089 | }); |
| 13090 | } |
| 13091 | function pipeStep() { |
| 13092 | if (shuttingDown) { |
| 13093 | return promiseResolvedWith(true); |
| 13094 | } |
| 13095 | return PerformPromiseThen(writer._readyPromise, () => { |
| 13096 | return newPromise((resolveRead, rejectRead) => { |
| 13097 | ReadableStreamDefaultReaderRead(reader, { |
| 13098 | _chunkSteps: (chunk) => { |
| 13099 | currentWrite = PerformPromiseThen(WritableStreamDefaultWriterWrite(writer, chunk), void 0, noop2); |
| 13100 | resolveRead(false); |
no test coverage detected
searching dependent graphs…