diff options
author | 2022-12-11 13:01:41 -0800 | |
---|---|---|
committer | 2022-12-11 13:01:41 -0800 | |
commit | 37b16a900740a070cb29a77109cb8cd23e82f24d (patch) | |
tree | f2bd084d8231382c72b007d87536f5dec84d6026 | |
parent | a2d96f9040043f1ecfd6fb32c9b765912c012367 (diff) | |
download | bun-37b16a900740a070cb29a77109cb8cd23e82f24d.tar.gz bun-37b16a900740a070cb29a77109cb8cd23e82f24d.tar.zst bun-37b16a900740a070cb29a77109cb8cd23e82f24d.zip |
Add _read
-rw-r--r-- | src/bun.js/builtins/cpp/ProcessObjectInternalsBuiltins.cpp | 21 | ||||
-rw-r--r-- | src/bun.js/builtins/js/ProcessObjectInternals.js | 19 |
2 files changed, 35 insertions, 5 deletions
diff --git a/src/bun.js/builtins/cpp/ProcessObjectInternalsBuiltins.cpp b/src/bun.js/builtins/cpp/ProcessObjectInternalsBuiltins.cpp index b0bda6a59..bcb4611ff 100644 --- a/src/bun.js/builtins/cpp/ProcessObjectInternalsBuiltins.cpp +++ b/src/bun.js/builtins/cpp/ProcessObjectInternalsBuiltins.cpp @@ -473,7 +473,7 @@ const char* const s_processObjectInternalsGetStdioWriteStreamCode = const JSC::ConstructAbility s_processObjectInternalsGetStdinStreamCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_processObjectInternalsGetStdinStreamCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_processObjectInternalsGetStdinStreamCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_processObjectInternalsGetStdinStreamCodeLength = 3793; +const int s_processObjectInternalsGetStdinStreamCodeLength = 4099; static const JSC::Intrinsic s_processObjectInternalsGetStdinStreamCodeIntrinsic = JSC::NoIntrinsic; const char* const s_processObjectInternalsGetStdinStreamCode = "(function (fd, rawRequire, Bun) {\n" \ @@ -554,10 +554,21 @@ const char* const s_processObjectInternalsGetStdinStreamCode = " }\n" \ "\n" \ " on(ev, cb) {\n" \ + " super.on(ev, cb);\n" \ " if (!this.#readStream && (ev === \"readable\" || ev === \"data\")) {\n" \ " this.#loadReadStream();\n" \ " }\n" \ - " return super.on(ev, cb);\n" \ + "\n" \ + " return this;\n" \ + " }\n" \ + "\n" \ + " once(ev, cb) {\n" \ + " super.once(ev, cb);\n" \ + " if (!this.#readStream && (ev === \"readable\" || ev === \"data\")) {\n" \ + " this.#loadReadStream();\n" \ + " }\n" \ + "\n" \ + " return this;\n" \ " }\n" \ "\n" \ " #loadReadStream() {\n" \ @@ -590,7 +601,11 @@ const char* const s_processObjectInternalsGetStdinStreamCode = " this.#readStream?.unref?.();\n" \ " }\n" \ "\n" \ - " _read(encoding, callback) {}\n" \ + " _read(encoding, callback) {\n" \ + " if (!this.#readStream) this.#loadReadStream();\n" \ + "\n" \ + " return this.#readStream._read(...arguments);\n" \ + " }\n" \ "\n" \ " #constructWriteStream() {\n" \ " var { createWriteStream } = require(\"node:fs\");\n" \ diff --git a/src/bun.js/builtins/js/ProcessObjectInternals.js b/src/bun.js/builtins/js/ProcessObjectInternals.js index be23220b1..bcbc7873e 100644 --- a/src/bun.js/builtins/js/ProcessObjectInternals.js +++ b/src/bun.js/builtins/js/ProcessObjectInternals.js @@ -511,10 +511,21 @@ function getStdinStream(fd, rawRequire, Bun) { } on(ev, cb) { + super.on(ev, cb); if (!this.#readStream && (ev === "readable" || ev === "data")) { this.#loadReadStream(); } - return super.on(ev, cb); + + return this; + } + + once(ev, cb) { + super.once(ev, cb); + if (!this.#readStream && (ev === "readable" || ev === "data")) { + this.#loadReadStream(); + } + + return this; } #loadReadStream() { @@ -547,7 +558,11 @@ function getStdinStream(fd, rawRequire, Bun) { this.#readStream?.unref?.(); } - _read(encoding, callback) {} + _read(encoding, callback) { + if (!this.#readStream) this.#loadReadStream(); + + return this.#readStream._read(...arguments); + } #constructWriteStream() { var { createWriteStream } = require("node:fs"); |