aboutsummaryrefslogtreecommitdiff
path: root/src/js/node/stream.consumers.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/js/node/stream.consumers.js')
-rw-r--r--src/js/node/stream.consumers.js21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/js/node/stream.consumers.js b/src/js/node/stream.consumers.js
new file mode 100644
index 000000000..39d436eed
--- /dev/null
+++ b/src/js/node/stream.consumers.js
@@ -0,0 +1,21 @@
+// Hardcoded module "node:stream/consumers" / "readable-stream/consumer"
+const { Bun } = import.meta.primordials;
+
+export const arrayBuffer = Bun.readableStreamToArrayBuffer;
+export const text = Bun.readableStreamToText;
+export const json = stream => Bun.readableStreamToText(stream).then(JSON.parse);
+
+export const buffer = async readableStream => {
+ return new Buffer(await arrayBuffer(readableStream));
+};
+
+export const blob = Bun.readableStreamToBlob;
+
+export default {
+ [Symbol.for("CommonJS")]: 0,
+ arrayBuffer,
+ text,
+ json,
+ buffer,
+ blob,
+};