payload
Version:
Node, React, Headless CMS and Application Framework built on Next.js
26 lines (25 loc) • 715 B
JavaScript
// @ts-strict-ignore
import fs from 'fs';
export function iteratorToStream(iterator) {
return new ReadableStream({
async pull (controller) {
const { done, value } = await iterator.next();
if (done) {
controller.close();
} else {
controller.enqueue(value);
}
}
});
}
export async function* nodeStreamToIterator(stream) {
for await (const chunk of stream){
yield new Uint8Array(chunk);
}
}
export function streamFile(path) {
const nodeStream = fs.createReadStream(path);
const data = iteratorToStream(nodeStreamToIterator(nodeStream));
return data;
}
//# sourceMappingURL=index.js.map