aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/bun.js/builtins/cpp/ReadableStreamBuiltins.cpp4
-rw-r--r--src/bun.js/builtins/js/ReadableStream.js2
-rw-r--r--test/bun.js/streams.test.js18
3 files changed, 21 insertions, 3 deletions
diff --git a/src/bun.js/builtins/cpp/ReadableStreamBuiltins.cpp b/src/bun.js/builtins/cpp/ReadableStreamBuiltins.cpp
index 223d8f564..e83da8d67 100644
--- a/src/bun.js/builtins/cpp/ReadableStreamBuiltins.cpp
+++ b/src/bun.js/builtins/cpp/ReadableStreamBuiltins.cpp
@@ -479,13 +479,13 @@ const char* const s_readableStreamPipeThroughCode =
const JSC::ConstructAbility s_readableStreamPipeToCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const JSC::ConstructorKind s_readableStreamPipeToCodeConstructorKind = JSC::ConstructorKind::None;
const JSC::ImplementationVisibility s_readableStreamPipeToCodeImplementationVisibility = JSC::ImplementationVisibility::Public;
-const int s_readableStreamPipeToCodeLength = 1628;
+const int s_readableStreamPipeToCodeLength = 1624;
static const JSC::Intrinsic s_readableStreamPipeToCodeIntrinsic = JSC::NoIntrinsic;
const char* const s_readableStreamPipeToCode =
"(function (destination)\n" \
"{\n" \
" \"use strict\";\n" \
- " if (!@isReadableStream(readable))\n" \
+ " if (!@isReadableStream(this))\n" \
" throw @makeTypeError(\"readable should be ReadableStream\");\n" \
"\n" \
" //\n" \
diff --git a/src/bun.js/builtins/js/ReadableStream.js b/src/bun.js/builtins/js/ReadableStream.js
index 6417c8ac1..cd5cf5a44 100644
--- a/src/bun.js/builtins/js/ReadableStream.js
+++ b/src/bun.js/builtins/js/ReadableStream.js
@@ -380,7 +380,7 @@ function pipeThrough(streams, options)
function pipeTo(destination)
{
"use strict";
- if (!@isReadableStream(readable))
+ if (!@isReadableStream(this))
throw @makeTypeError("readable should be ReadableStream");
// FIXME: https://bugs.webkit.org/show_bug.cgi?id=159869.
diff --git a/test/bun.js/streams.test.js b/test/bun.js/streams.test.js
index 577570221..ec803a9dd 100644
--- a/test/bun.js/streams.test.js
+++ b/test/bun.js/streams.test.js
@@ -48,6 +48,24 @@ describe("WritableStream", () => {
throw e;
}
});
+
+ it("pipeTo", async () => {
+ const rs = new ReadableStream({
+ start(controller) {
+ controller.enqueue("hello world");
+ controller.close();
+ },
+ });
+
+ let received;
+ const ws = new WritableStream({
+ write(chunk, controller) {
+ received = chunk;
+ },
+ });
+ await rs.pipeTo(ws);
+ expect(received).toBe("hello world");
+ });
});
describe("ReadableStream.prototype.tee", () => {