@micro-frame/marko
Version:
A Marko tag for building SSR friendly micro frontends.
24 lines (23 loc) • 558 B
JavaScript
const decoder = new TextDecoder();
function consumeResponseBody(res) {
if (res.body) {
if (res.body.getReader) {
return consumeBodyReader(res.body.getReader());
}
if (res.body[Symbol.asyncIterator]) {
return res.body[Symbol.asyncIterator]();
}
}
throw new Error("Response body must be a stream.");
}
async function* consumeBodyReader(reader) {
do {
const next = await reader.read();
if (next.done)
break;
yield decoder.decode(next.value);
} while (true);
}
export {
consumeResponseBody as default
};