1 | import { isAsyncIterableIterator, isBlob, isNodeResponse, isNodeReadableStream, isReadableStream, isStreamableBlob, } from "../../utilities/common/responseIterator.js";
|
2 | import asyncIterator from "./iterators/async.js";
|
3 | import nodeStreamIterator from "./iterators/nodeStream.js";
|
4 | import promiseIterator from "./iterators/promise.js";
|
5 | import readerIterator from "./iterators/reader.js";
|
6 | export function responseIterator(response) {
|
7 | var body = response;
|
8 | if (isNodeResponse(response))
|
9 | body = response.body;
|
10 | if (isAsyncIterableIterator(body))
|
11 | return asyncIterator(body);
|
12 | if (isReadableStream(body))
|
13 | return readerIterator(body.getReader());
|
14 | if (isStreamableBlob(body)) {
|
15 | return readerIterator(body.stream().getReader());
|
16 | }
|
17 | if (isBlob(body))
|
18 | return promiseIterator(body.arrayBuffer());
|
19 | if (isNodeReadableStream(body))
|
20 | return nodeStreamIterator(body);
|
21 | throw new Error("Unknown body type for responseIterator. Please pass a streamable response.");
|
22 | }
|
23 |
|
\ | No newline at end of file |