diff options
Diffstat (limited to 'src')
| -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"); | 
