aboutsummaryrefslogtreecommitdiff
path: root/src/bun.js/builtins/cpp/ProcessObjectInternalsBuiltins.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/bun.js/builtins/cpp/ProcessObjectInternalsBuiltins.cpp')
-rw-r--r--src/bun.js/builtins/cpp/ProcessObjectInternalsBuiltins.cpp737
1 files changed, 0 insertions, 737 deletions
diff --git a/src/bun.js/builtins/cpp/ProcessObjectInternalsBuiltins.cpp b/src/bun.js/builtins/cpp/ProcessObjectInternalsBuiltins.cpp
deleted file mode 100644
index ecd86f811..000000000
--- a/src/bun.js/builtins/cpp/ProcessObjectInternalsBuiltins.cpp
+++ /dev/null
@@ -1,737 +0,0 @@
-/*
- * Copyright (c) 2015 Igalia
- * Copyright (c) 2015 Igalia S.L.
- * Copyright (c) 2015 Igalia.
- * Copyright (c) 2015, 2016 Canon Inc. All rights reserved.
- * Copyright (c) 2015, 2016, 2017 Canon Inc.
- * Copyright (c) 2016, 2020 Apple Inc. All rights reserved.
- * Copyright (c) 2023 Codeblog Corp. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
- * THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-
-// DO NOT EDIT THIS FILE. It is automatically generated from JavaScript files for
-// builtins by the script: Source/JavaScriptCore/Scripts/generate-js-builtins.py
-
-#include "config.h"
-#include "ProcessObjectInternalsBuiltins.h"
-
-#include "WebCoreJSClientData.h"
-#include <JavaScriptCore/IdentifierInlines.h>
-#include <JavaScriptCore/ImplementationVisibility.h>
-#include <JavaScriptCore/Intrinsic.h>
-#include <JavaScriptCore/JSObjectInlines.h>
-#include <JavaScriptCore/VM.h>
-
-namespace WebCore {
-
-const JSC::ConstructAbility s_processObjectInternalsBindingCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
-const JSC::ConstructorKind s_processObjectInternalsBindingCodeConstructorKind = JSC::ConstructorKind::None;
-const JSC::ImplementationVisibility s_processObjectInternalsBindingCodeImplementationVisibility = JSC::ImplementationVisibility::Public;
-const int s_processObjectInternalsBindingCodeLength = 709;
-static const JSC::Intrinsic s_processObjectInternalsBindingCodeIntrinsic = JSC::NoIntrinsic;
-const char* const s_processObjectInternalsBindingCode =
- "(function (bindingName) {\n" \
- " \"use strict\";\n" \
- " bindingName !== \"constants\" &&\n" \
- " @throwTypeError(\n" \
- " 'process.binding() is not supported in Bun. If that breaks something, please file an issue and include a reproducible code sample.'\n" \
- " );\n" \
- "\n" \
- " var cache = globalThis.Symbol.for(\"process.bindings.constants\");\n" \
- " var constants = globalThis[cache];\n" \
- " if (!constants) {\n" \
- " //\n" \
- " //\n" \
- " //\n" \
- " const {constants: fs} = globalThis[globalThis.Symbol.for(\"Bun.lazy\")](\n" \
- " \"createImportMeta\",\n" \
- " \"node:process\"\n" \
- " ).require(\n" \
- " \"node:fs\"\n" \
- " )\n" \
- " constants = {\n" \
- " fs,\n" \
- " zlib: {},\n" \
- " crypto: {},\n" \
- " os: @Bun._Os().constants,\n" \
- " };\n" \
- " globalThis[cache] = constants;\n" \
- " }\n" \
- " return constants;\n" \
- "})\n" \
-;
-
-const JSC::ConstructAbility s_processObjectInternalsGetStdioWriteStreamCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
-const JSC::ConstructorKind s_processObjectInternalsGetStdioWriteStreamCodeConstructorKind = JSC::ConstructorKind::None;
-const JSC::ImplementationVisibility s_processObjectInternalsGetStdioWriteStreamCodeImplementationVisibility = JSC::ImplementationVisibility::Public;
-const int s_processObjectInternalsGetStdioWriteStreamCodeLength = 10295;
-static const JSC::Intrinsic s_processObjectInternalsGetStdioWriteStreamCodeIntrinsic = JSC::NoIntrinsic;
-const char* const s_processObjectInternalsGetStdioWriteStreamCode =
- "(function (fd_, rawRequire) {\n" \
- " var module = { path: \"node:process\", require: rawRequire };\n" \
- " var require = path => module.require(path);\n" \
- "\n" \
- " function createStdioWriteStream(fd_) {\n" \
- " var { Duplex, eos, destroy } = require(\"node:stream\");\n" \
- " var StdioWriteStream = class StdioWriteStream extends Duplex {\n" \
- " #writeStream;\n" \
- " #readStream;\n" \
- "\n" \
- " #readable = true;\n" \
- " #writable = true;\n" \
- " #fdPath;\n" \
- "\n" \
- " #onClose;\n" \
- " #onDrain;\n" \
- " #onFinish;\n" \
- " #onReadable;\n" \
- " #isTTY;\n" \
- "\n" \
- " get isTTY() {\n" \
- " return (this.#isTTY ??= require(\"node:tty\").isatty(fd_));\n" \
- " }\n" \
- "\n" \
- " get fd() {\n" \
- " return fd_;\n" \
- " }\n" \
- "\n" \
- " constructor(fd) {\n" \
- " super({ readable: true, writable: true });\n" \
- " this.#fdPath = `/dev/fd/${fd}`;\n" \
- " }\n" \
- "\n" \
- " #onFinished(err) {\n" \
- " const cb = this.#onClose;\n" \
- " this.#onClose = null;\n" \
- "\n" \
- " if (cb) {\n" \
- " cb(err);\n" \
- " } else if (err) {\n" \
- " this.destroy(err);\n" \
- " } else if (!this.#readable && !this.#writable) {\n" \
- " this.destroy();\n" \
- " }\n" \
- " }\n" \
- "\n" \
- " _destroy(err, callback) {\n" \
- " if (!err && this.#onClose !== null) {\n" \
- " var AbortError = class AbortError extends Error {\n" \
- " constructor(message = \"The operation was aborted\", options = void 0) {\n" \
- " if (options !== void 0 && typeof options !== \"object\") {\n" \
- " throw new Error(`Invalid AbortError options:\\n" \
- "\\n" \
- "${JSON.stringify(options, null, 2)}`);\n" \
- " }\n" \
- " super(message, options);\n" \
- " this.code = \"ABORT_ERR\";\n" \
- " this.name = \"AbortError\";\n" \
- " }\n" \
- " };\n" \
- " err = new AbortError();\n" \
- " }\n" \
- "\n" \
- " this.#onDrain = null;\n" \
- " this.#onFinish = null;\n" \
- " if (this.#onClose === null) {\n" \
- " callback(err);\n" \
- " } else {\n" \
- " this.#onClose = callback;\n" \
- " if (this.#writeStream) destroy(this.#writeStream, err);\n" \
- " if (this.#readStream) destroy(this.#readStream, err);\n" \
- " }\n" \
- " }\n" \
- "\n" \
- " _write(chunk, encoding, callback) {\n" \
- " if (!this.#writeStream) {\n" \
- " var { createWriteStream } = require(\"node:fs\");\n" \
- " var stream = (this.#writeStream = createWriteStream(this.#fdPath));\n" \
- "\n" \
- " stream.on(\"finish\", () => {\n" \
- " if (this.#onFinish) {\n" \
- " const cb = this.#onFinish;\n" \
- " this.#onFinish = null;\n" \
- " cb();\n" \
- " }\n" \
- " });\n" \
- "\n" \
- " stream.on(\"drain\", () => {\n" \
- " if (this.#onDrain) {\n" \
- " const cb = this.#onDrain;\n" \
- " this.#onDrain = null;\n" \
- " cb();\n" \
- " }\n" \
- " });\n" \
- "\n" \
- " eos(stream, err => {\n" \
- " this.#writable = false;\n" \
- " if (err) {\n" \
- " destroy(stream, err);\n" \
- " }\n" \
- " this.#onFinished(err);\n" \
- " });\n" \
- " }\n" \
- " if (stream.write(chunk, encoding)) {\n" \
- " callback();\n" \
- " } else {\n" \
- " this.#onDrain = callback;\n" \
- " }\n" \
- " }\n" \
- "\n" \
- " _final(callback) {\n" \
- " this.#writeStream && this.#writeStream.end();\n" \
- " this.#onFinish = callback;\n" \
- " }\n" \
- "\n" \
- " #loadReadStream() {\n" \
- " var { createReadStream } = require(\"node:fs\");\n" \
- "\n" \
- " var readStream = (this.#readStream = createReadStream(this.#fdPath));\n" \
- "\n" \
- " readStream.on(\"readable\", () => {\n" \
- " if (this.#onReadable) {\n" \
- " const cb = this.#onReadable;\n" \
- " this.#onReadable = null;\n" \
- " cb();\n" \
- " } else {\n" \
- " this.read();\n" \
- " }\n" \
- " });\n" \
- "\n" \
- " readStream.on(\"end\", () => {\n" \
- " this.push(null);\n" \
- " });\n" \
- "\n" \
- " eos(readStream, err => {\n" \
- " this.#readable = false;\n" \
- " if (err) {\n" \
- " destroy(readStream, err);\n" \
- " }\n" \
- " this.#onFinished(err);\n" \
- " });\n" \
- " return readStream;\n" \
- " }\n" \
- "\n" \
- " _read() {\n" \
- " var stream = this.#readStream;\n" \
- " if (!stream) {\n" \
- " stream = this.#loadReadStream();\n" \
- " }\n" \
- "\n" \
- " while (true) {\n" \
- " const buf = stream.read();\n" \
- " if (buf === null || !this.push(buf)) {\n" \
- " return;\n" \
- " }\n" \
- " }\n" \
- " }\n" \
- " };\n" \
- " return new StdioWriteStream(fd_);\n" \
- " }\n" \
- "\n" \
- " var { EventEmitter } = require(\"node:events\");\n" \
- "\n" \
- " function isFastEncoding(encoding) {\n" \
- " if (!encoding) return true;\n" \
- "\n" \
- " var normalied = encoding.toLowerCase();\n" \
- " return normalied === \"utf8\" || normalied === \"utf-8\" || normalied === \"buffer\" || normalied === \"binary\";\n" \
- " }\n" \
- "\n" \
- " var readline;\n" \
- "\n" \
- " var FastStdioWriteStream = class StdioWriteStream extends EventEmitter {\n" \
- " #fd;\n" \
- " #innerStream;\n" \
- " #writer;\n" \
- " #isTTY;\n" \
- "\n" \
- " bytesWritten = 0;\n" \
- "\n" \
- " setDefaultEncoding(encoding) {\n" \
- " if (this.#innerStream || !isFastEncoding(encoding)) {\n" \
- " this.#ensureInnerStream();\n" \
- " return this.#innerStream.setDefaultEncoding(encoding);\n" \
- " }\n" \
- " }\n" \
- "\n" \
- " #createWriter() {\n" \
- " switch (this.#fd) {\n" \
- " case 1: {\n" \
- " var writer = Bun.stdout.writer({ highWaterMark: 0 });\n" \
- " writer.unref();\n" \
- " return writer;\n" \
- " }\n" \
- "\n" \
- " case 2: {\n" \
- " var writer = Bun.stderr.writer({ highWaterMark: 0 });\n" \
- " writer.unref();\n" \
- " return writer;\n" \
- " }\n" \
- " default: {\n" \
- " throw new Error(\"Unsupported writer\");\n" \
- " }\n" \
- " }\n" \
- " }\n" \
- "\n" \
- " #getWriter() {\n" \
- " return (this.#writer ??= this.#createWriter());\n" \
- " }\n" \
- "\n" \
- " constructor(fd_) {\n" \
- " super();\n" \
- " this.#fd = fd_;\n" \
- " }\n" \
- "\n" \
- " get fd() {\n" \
- " return this.#fd;\n" \
- " }\n" \
- "\n" \
- " get isTTY() {\n" \
- " return (this.#isTTY ??= require(\"node:tty\").isatty(this.#fd));\n" \
- " }\n" \
- "\n" \
- " cursorTo(x, y, callback) {\n" \
- " return (readline ??= require(\"readline\")).cursorTo(this, x, y, callback);\n" \
- " }\n" \
- "\n" \
- " moveCursor(dx, dy, callback) {\n" \
- " return (readline ??= require(\"readline\")).moveCursor(this, dx, dy, callback);\n" \
- " }\n" \
- "\n" \
- " clearLine(dir, callback) {\n" \
- " return (readline ??= require(\"readline\")).clearLine(this, dir, callback);\n" \
- " }\n" \
- "\n" \
- " clearScreenDown(callback) {\n" \
- " return (readline ??= require(\"readline\")).clearScreenDown(this, callback);\n" \
- " }\n" \
- "\n" \
- " //\n" \
- " //\n" \
- " //\n" \
- " //\n" \
- "\n" \
- " ref() {\n" \
- " this.#getWriter().ref();\n" \
- " }\n" \
- "\n" \
- " unref() {\n" \
- " this.#getWriter().unref();\n" \
- " }\n" \
- "\n" \
- " on(event, listener) {\n" \
- " if (event === \"close\" || event === \"finish\") {\n" \
- " this.#ensureInnerStream();\n" \
- " return this.#innerStream.on(event, listener);\n" \
- " }\n" \
- "\n" \
- " if (event === \"drain\") {\n" \
- " return super.on(\"drain\", listener);\n" \
- " }\n" \
- "\n" \
- " if (event === \"error\") {\n" \
- " return super.on(\"error\", listener);\n" \
- " }\n" \
- "\n" \
- " return super.on(event, listener);\n" \
- " }\n" \
- "\n" \
- " get _writableState() {\n" \
- " this.#ensureInnerStream();\n" \
- " return this.#innerStream._writableState;\n" \
- " }\n" \
- "\n" \
- " get _readableState() {\n" \
- " this.#ensureInnerStream();\n" \
- " return this.#innerStream._readableState;\n" \
- " }\n" \
- "\n" \
- " pipe(destination) {\n" \
- " this.#ensureInnerStream();\n" \
- " return this.#innerStream.pipe(destination);\n" \
- " }\n" \
- "\n" \
- " unpipe(destination) {\n" \
- " this.#ensureInnerStream();\n" \
- " return this.#innerStream.unpipe(destination);\n" \
- " }\n" \
- "\n" \
- " #ensureInnerStream() {\n" \
- " if (this.#innerStream) return;\n" \
- " this.#innerStream = createStdioWriteStream(this.#fd);\n" \
- " const events = this.eventNames();\n" \
- " for (const event of events) {\n" \
- " this.#innerStream.on(event, (...args) => {\n" \
- " this.emit(event, ...args);\n" \
- " });\n" \
- " }\n" \
- " }\n" \
- "\n" \
- " #write1(chunk) {\n" \
- " var writer = this.#getWriter();\n" \
- " const writeResult = writer.write(chunk);\n" \
- " this.bytesWritten += writeResult;\n" \
- " const flushResult = writer.flush(false);\n" \
- " return !!(writeResult || flushResult);\n" \
- " }\n" \
- "\n" \
- " #writeWithEncoding(chunk, encoding) {\n" \
- " if (!isFastEncoding(encoding)) {\n" \
- " this.#ensureInnerStream();\n" \
- " return this.#innerStream.write(chunk, encoding);\n" \
- " }\n" \
- "\n" \
- " return this.#write1(chunk);\n" \
- " }\n" \
- "\n" \
- " #performCallback(cb, err) {\n" \
- " if (err) {\n" \
- " this.emit(\"error\", err);\n" \
- " }\n" \
- "\n" \
- " try {\n" \
- " cb(err ? err : null);\n" \
- " } catch (err2) {\n" \
- " this.emit(\"error\", err2);\n" \
- " }\n" \
- " }\n" \
- "\n" \
- " #writeWithCallbackAndEncoding(chunk, encoding, callback) {\n" \
- " if (!isFastEncoding(encoding)) {\n" \
- " this.#ensureInnerStream();\n" \
- " return this.#innerStream.write(chunk, encoding, callback);\n" \
- " }\n" \
- "\n" \
- " var writer = this.#getWriter();\n" \
- " const writeResult = writer.write(chunk);\n" \
- " const flushResult = writer.flush(true);\n" \
- " if (flushResult?.then) {\n" \
- " flushResult.then(\n" \
- " () => {\n" \
- " this.#performCallback(callback);\n" \
- " this.emit(\"drain\");\n" \
- " },\n" \
- " err => this.#performCallback(callback, err),\n" \
- " );\n" \
- " return false;\n" \
- " }\n" \
- "\n" \
- " queueMicrotask(() => {\n" \
- " this.#performCallback(callback);\n" \
- " });\n" \
- "\n" \
- " return !!(writeResult || flushResult);\n" \
- " }\n" \
- "\n" \
- " write(chunk, encoding, callback) {\n" \
- " const result = this._write(chunk, encoding, callback);\n" \
- "\n" \
- " if (result) {\n" \
- " this.emit(\"drain\");\n" \
- " }\n" \
- "\n" \
- " return result;\n" \
- " }\n" \
- "\n" \
- " get hasColors() {\n" \
- " return Bun.tty[this.#fd].hasColors;\n" \
- " }\n" \
- "\n" \
- " _write(chunk, encoding, callback) {\n" \
- " var inner = this.#innerStream;\n" \
- " if (inner) {\n" \
- " return inner.write(chunk, encoding, callback);\n" \
- " }\n" \
- "\n" \
- " switch (arguments.length) {\n" \
- " case 0: {\n" \
- " var error = new Error(\"Invalid arguments\");\n" \
- " error.code = \"ERR_INVALID_ARG_TYPE\";\n" \
- " throw error;\n" \
- " }\n" \
- " case 1: {\n" \
- " return this.#write1(chunk);\n" \
- " }\n" \
- " case 2: {\n" \
- " if (typeof encoding === \"function\") {\n" \
- " return this.#writeWithCallbackAndEncoding(chunk, \"\", encoding);\n" \
- " } else if (typeof encoding === \"string\") {\n" \
- " return this.#writeWithEncoding(chunk, encoding);\n" \
- " }\n" \
- " }\n" \
- " default: {\n" \
- " if (\n" \
- " (typeof encoding !== \"undefined\" && typeof encoding !== \"string\") ||\n" \
- " (typeof callback !== \"undefined\" && typeof callback !== \"function\")\n" \
- " ) {\n" \
- " var error = new Error(\"Invalid arguments\");\n" \
- " error.code = \"ERR_INVALID_ARG_TYPE\";\n" \
- " throw error;\n" \
- " }\n" \
- "\n" \
- " if (typeof callback === \"undefined\") {\n" \
- " return this.#writeWithEncoding(chunk, encoding);\n" \
- " }\n" \
- "\n" \
- " return this.#writeWithCallbackAndEncoding(chunk, encoding, callback);\n" \
- " }\n" \
- " }\n" \
- " }\n" \
- "\n" \
- " destroy() {\n" \
- " return this;\n" \
- " }\n" \
- "\n" \
- " end() {\n" \
- " return this;\n" \
- " }\n" \
- " };\n" \
- "\n" \
- " return new FastStdioWriteStream(fd_);\n" \
- "})\n" \
-;
-
-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 = 4305;
-static const JSC::Intrinsic s_processObjectInternalsGetStdinStreamCodeIntrinsic = JSC::NoIntrinsic;
-const char* const s_processObjectInternalsGetStdinStreamCode =
- "(function (fd_, rawRequire, Bun) {\n" \
- " var module = { path: \"node:process\", require: rawRequire };\n" \
- " var require = path => module.require(path);\n" \
- "\n" \
- " var { Duplex, eos, destroy } = require(\"node:stream\");\n" \
- "\n" \
- " var StdinStream = class StdinStream extends Duplex {\n" \
- " #reader;\n" \
- " //\n" \
- "\n" \
- " #readRef;\n" \
- " #writeStream;\n" \
- "\n" \
- " #readable = true;\n" \
- " #unrefOnRead = false;\n" \
- " #writable = true;\n" \
- "\n" \
- " #onFinish;\n" \
- " #onClose;\n" \
- " #onDrain;\n" \
- "\n" \
- " get isTTY() {\n" \
- " return require(\"tty\").isatty(fd_);\n" \
- " }\n" \
- "\n" \
- " get fd() {\n" \
- " return fd_;\n" \
- " }\n" \
- "\n" \
- " constructor() {\n" \
- " super({ readable: true, writable: true });\n" \
- " }\n" \
- "\n" \
- " #onFinished(err) {\n" \
- " const cb = this.#onClose;\n" \
- " this.#onClose = null;\n" \
- "\n" \
- " if (cb) {\n" \
- " cb(err);\n" \
- " } else if (err) {\n" \
- " this.destroy(err);\n" \
- " } else if (!this.#readable && !this.#writable) {\n" \
- " this.destroy();\n" \
- " }\n" \
- " }\n" \
- "\n" \
- " _destroy(err, callback) {\n" \
- " if (!err && this.#onClose !== null) {\n" \
- " var AbortError = class AbortError extends Error {\n" \
- " constructor(message = \"The operation was aborted\", options = void 0) {\n" \
- " if (options !== void 0 && typeof options !== \"object\") {\n" \
- " throw new Error(`Invalid AbortError options:\\n" \
- "\\n" \
- "${JSON.stringify(options, null, 2)}`);\n" \
- " }\n" \
- " super(message, options);\n" \
- " this.code = \"ABORT_ERR\";\n" \
- " this.name = \"AbortError\";\n" \
- " }\n" \
- " };\n" \
- " err = new AbortError();\n" \
- " }\n" \
- "\n" \
- " if (this.#onClose === null) {\n" \
- " callback(err);\n" \
- " } else {\n" \
- " this.#onClose = callback;\n" \
- " if (this.#writeStream) destroy(this.#writeStream, err);\n" \
- " }\n" \
- " }\n" \
- "\n" \
- " setRawMode(mode) {}\n" \
- " on(name, callback) {\n" \
- " //\n" \
- " //\n" \
- " //\n" \
- " //\n" \
- " //\n" \
- " //\n" \
- " //\n" \
- " //\n" \
- " //\n" \
- " if (name === \"readable\") {\n" \
- " this.ref();\n" \
- " this.#unrefOnRead = true;\n" \
- " }\n" \
- " return super.on(name, callback);\n" \
- " }\n" \
- "\n" \
- " pause() {\n" \
- " this.unref();\n" \
- " return super.pause();\n" \
- " }\n" \
- "\n" \
- " resume() {\n" \
- " this.ref();\n" \
- " return super.resume();\n" \
- " }\n" \
- "\n" \
- " ref() {\n" \
- " this.#reader ??= Bun.stdin.stream().getReader();\n" \
- " this.#readRef ??= setInterval(() => {}, 1 << 30);\n" \
- " }\n" \
- "\n" \
- " unref() {\n" \
- " if (this.#readRef) {\n" \
- " clearInterval(this.#readRef);\n" \
- " this.#readRef = null;\n" \
- " }\n" \
- " }\n" \
- "\n" \
- " async #readInternal() {\n" \
- " try {\n" \
- " var done, value;\n" \
- " const read = this.#reader.readMany();\n" \
- "\n" \
- " //\n" \
- " if (!read?.then) {\n" \
- " ({ done, value } = read);\n" \
- " } else {\n" \
- " ({ done, value } = await read);\n" \
- " }\n" \
- "\n" \
- " if (!done) {\n" \
- " this.push(value[0]);\n" \
- "\n" \
- " //\n" \
- " const length = value.length;\n" \
- " for (let i = 1; i < length; i++) {\n" \
- " this.push(value[i]);\n" \
- " }\n" \
- " } else {\n" \
- " this.push(null);\n" \
- " this.pause();\n" \
- " this.#readable = false;\n" \
- " this.#onFinished();\n" \
- " }\n" \
- " } catch (err) {\n" \
- " this.#readable = false;\n" \
- " this.#onFinished(err);\n" \
- " }\n" \
- " }\n" \
- "\n" \
- " _read(size) {\n" \
- " if (this.#unrefOnRead) {\n" \
- " this.unref();\n" \
- " this.#unrefOnRead = false;\n" \
- " }\n" \
- " this.#readInternal();\n" \
- " }\n" \
- "\n" \
- " #constructWriteStream() {\n" \
- " var { createWriteStream } = require(\"node:fs\");\n" \
- " var writeStream = (this.#writeStream = createWriteStream(\"/dev/fd/0\"));\n" \
- "\n" \
- " writeStream.on(\"finish\", () => {\n" \
- " if (this.#onFinish) {\n" \
- " const cb = this.#onFinish;\n" \
- " this.#onFinish = null;\n" \
- " cb();\n" \
- " }\n" \
- " });\n" \
- "\n" \
- " writeStream.on(\"drain\", () => {\n" \
- " if (this.#onDrain) {\n" \
- " const cb = this.#onDrain;\n" \
- " this.#onDrain = null;\n" \
- " cb();\n" \
- " }\n" \
- " });\n" \
- "\n" \
- " eos(writeStream, err => {\n" \
- " this.#writable = false;\n" \
- " if (err) {\n" \
- " destroy(writeStream, err);\n" \
- " }\n" \
- " this.#onFinished(err);\n" \
- " });\n" \
- "\n" \
- " return writeStream;\n" \
- " }\n" \
- "\n" \
- " _write(chunk, encoding, callback) {\n" \
- " var writeStream = this.#writeStream;\n" \
- " if (!writeStream) {\n" \
- " writeStream = this.#constructWriteStream();\n" \
- " }\n" \
- "\n" \
- " if (writeStream.write(chunk, encoding)) {\n" \
- " callback();\n" \
- " } else {\n" \
- " this.#onDrain = callback;\n" \
- " }\n" \
- " }\n" \
- "\n" \
- " _final(callback) {\n" \
- " this.#writeStream.end();\n" \
- " this.#onFinish = (...args) => callback(...args);\n" \
- " }\n" \
- " };\n" \
- "\n" \
- " return new StdinStream();\n" \
- "})\n" \
-;
-
-
-#define DEFINE_BUILTIN_GENERATOR(codeName, functionName, overriddenName, argumentCount) \
-JSC::FunctionExecutable* codeName##Generator(JSC::VM& vm) \
-{\
- JSVMClientData* clientData = static_cast<JSVMClientData*>(vm.clientData); \
- return clientData->builtinFunctions().processObjectInternalsBuiltins().codeName##Executable()->link(vm, nullptr, clientData->builtinFunctions().processObjectInternalsBuiltins().codeName##Source(), std::nullopt, s_##codeName##Intrinsic); \
-}
-WEBCORE_FOREACH_PROCESSOBJECTINTERNALS_BUILTIN_CODE(DEFINE_BUILTIN_GENERATOR)
-#undef DEFINE_BUILTIN_GENERATOR
-
-
-} // namespace WebCore