aboutsummaryrefslogtreecommitdiff
path: root/src/bun.js/os.exports.js
diff options
context:
space:
mode:
authorGravatar Hyro <generalkubo@gmail.com> 2022-08-26 04:38:28 +0200
committerGravatar GitHub <noreply@github.com> 2022-08-25 19:38:28 -0700
commit7a734e0a28d8782de404de13362f0b822ea91c11 (patch)
treec56944346223fe9996c4144ab3ae6b85433909a1 /src/bun.js/os.exports.js
parente0b35b3086b00fb27f950a72a082b360a3dad891 (diff)
downloadbun-7a734e0a28d8782de404de13362f0b822ea91c11.tar.gz
bun-7a734e0a28d8782de404de13362f0b822ea91c11.tar.zst
bun-7a734e0a28d8782de404de13362f0b822ea91c11.zip
feat: implement native os module (#1115)
* feat: implement os module * revert(bun-error): package-lock.json * feat: implement EOL * feat: implement EOL * feat: implement arch function * feat: implement homedir function * add comptime to homedir if * feat: add platform function * feat: implement type function * feat: add hostname (not sure iff works on all platforms) * chore: make requested changes * fix: change toValueGC into toValue in arch function * add EOL, devNull constant variables * fix: store only string * feat: add tests * feat: add endianness * ususe toValue for devNull & EOL * feat: implement endianness & fix release * revert javascript.zig fix * feat: implement tmpdir * feat: implement totalmem, freemem, uptime * feat: loadavg * feat: implement version * feat: add userInfo * feat: implement totalmem for macos * feat: add getPriority (not finished, waiting for dc response) * feat: finish userInfo implementation * feat: implement cpus, not done * feat: finish getPriority implementation & stats cpus() * feat: implement setPriority * reemove test.c * feat: implement constants.dlope.xn, constants.priority.x, constants.UV_UDP_REUSEADDR * feat: implement signals, errno * updated cpus function, stilldoesnt work * increase object length * feat: add t more ests * feat: add cpus() * remov some files * fix: handle empty array * started working on interface addresses (in C) ill use C++ after it work * fix interface_addresses * Improved getCpuInfo code, decreased ram usage, increased speed * getCpuTime optimizations * started working on networkInterfaces * feat: networkInterfaces implementation * delete unnecessary files * add benchs & fix code * add tests * add missing benchs * Increased buffer of getCpuInfo to 2048, it should skip few iterations * remove hardcoded constants * feat: implement errno constants * fix getWindowsErrorConstant * feat: add signal constants * feat: implement priority constants * remove duplications * fix: change value to ?i16 * fix(__defineConstant): make some parameters comptime, change value to ?i32 * fix: add E to ERRNO constants, add SIG to SIG constants * feat: add dlopen constants * change functions to private * feat: add UV_UDP_REUSEADDR * fix typo * simplify functions * rename functions in bindings * feat: implement loadavg for darwin * feat: implement system uptime * feat: implement get free memory for darwin * fix system memory bindings * feat: implement network interfaces for darwin * code cleanup * feat: support for macos version & release * some fixes * MacOS support for CpuInfo * Fixed minor mistake in getCpuInfo_B * Delete test.zig * Update c_cpp_properties.json * Update tasks.json * feat: implement scopeid * feat: implement cidr 🚀 * remove unnecesarry changes * remove unnecesarry changes * chore: requested changes Co-authored-by: Jarred Sumner <jarred@jarredsumner.com> * chore: requested changes Co-authored-by: Jarred Sumner <jarred@jarredsumner.com> * chore: requested changes Co-authored-by: Jarred Sumner <jarred@jarredsumner.com> * chore: requested changes Co-authored-by: Jarred Sumner <jarred@jarredsumner.com> * chore: requested changes Co-authored-by: Jarred Sumner <jarred@jarredsumner.com> * chore: requested changes Co-authored-by: Jarred Sumner <jarred@jarredsumner.com> * chore: requested changes Co-authored-by: Jarred Sumner <jarred@jarredsumner.com> * fix: import string * fix: change IPV6 to IPv6 * fix some things * chore: make requested changes * revert: launch.json * fix test * Fixed few memory leaks * testing * again * added len * another test * improved parsing * added small check * Bonk * FINISH 🚀🚀🚀🚀🚀🚀 * Update tasks.json * NetworkInterface test * FINISH 🚀🚀🚀 Co-authored-by: Fire-The-Fox <gajdos.jan77@gmail.com> Co-authored-by: Jarred Sumner <jarred@jarredsumner.com>
Diffstat (limited to 'src/bun.js/os.exports.js')
-rw-r--r--src/bun.js/os.exports.js53
1 files changed, 53 insertions, 0 deletions
diff --git a/src/bun.js/os.exports.js b/src/bun.js/os.exports.js
new file mode 100644
index 000000000..60eacab55
--- /dev/null
+++ b/src/bun.js/os.exports.js
@@ -0,0 +1,53 @@
+function bound(obj) {
+ return {
+ arch: obj.arch.bind(obj),
+ cpus: obj.cpus.bind(obj),
+ endianness: obj.endianness.bind(obj),
+ freemem: obj.freemem.bind(obj),
+ getPriority: obj.getPriority.bind(obj),
+ homedir: obj.homedir.bind(obj),
+ hostname: obj.hostname.bind(obj),
+ loadavg: obj.loadavg.bind(obj),
+ networkInterfaces: obj.networkInterfaces.bind(obj),
+ platform: obj.platform.bind(obj),
+ release: obj.release.bind(obj),
+ setPriority: obj.setPriority.bind(obj),
+ tmpdir: obj.tmpdir.bind(obj),
+ totalmem: obj.totalmem.bind(obj),
+ type: obj.type.bind(obj),
+ uptime: obj.uptime.bind(obj),
+ userInfo: obj.userInfo.bind(obj),
+ version: obj.version.bind(obj),
+ devNull: obj.devNull,
+ EOL: obj.EOL,
+ constants: obj.constants,
+ };
+}
+
+var os = bound(Bun._Os());
+
+export var {
+ arch,
+ cpus,
+ endianness,
+ freemem,
+ getPriority,
+ homedir,
+ hostname,
+ loadavg,
+ networkInterfaces,
+ platform,
+ release,
+ setPriority,
+ tmpdir,
+ totalmem,
+ type,
+ uptime,
+ userInfo,
+ version,
+ devNull,
+ EOL,
+ constants,
+} = os;
+
+export default os;