diff options
author | Elias Sjögreen <eliassjogreen1@gmail.com> | 2020-10-26 15:54:27 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-10-26 10:54:27 -0400 |
commit | 305a9c04ba60630f9708b681cfebb522a6110cc3 (patch) | |
tree | 36761c300215f1674c0ad2865f19538d88ec129e /cli/ops/os.rs | |
parent | d52fb903cda4c30bb1673260c673ba27167ab7b1 (diff) |
feat(unstable): add Deno.systemCpuInfo() (#7774)
Diffstat (limited to 'cli/ops/os.rs')
-rw-r--r-- | cli/ops/os.rs | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/cli/ops/os.rs b/cli/ops/os.rs index 5265d4d08..6fd404a23 100644 --- a/cli/ops/os.rs +++ b/cli/ops/os.rs @@ -23,6 +23,7 @@ pub fn init(rt: &mut deno_core::JsRuntime) { super::reg_json_sync(rt, "op_loadavg", op_loadavg); super::reg_json_sync(rt, "op_os_release", op_os_release); super::reg_json_sync(rt, "op_system_memory_info", op_system_memory_info); + super::reg_json_sync(rt, "op_system_cpu_info", op_system_cpu_info); } fn op_exec_path( @@ -172,3 +173,20 @@ fn op_system_memory_info( Err(_) => Ok(json!({})), } } + +fn op_system_cpu_info( + state: &mut OpState, + _args: Value, + _zero_copy: &mut [ZeroCopyBuf], +) -> Result<Value, AnyError> { + super::check_unstable(state, "Deno.systemCpuInfo"); + state.borrow::<Permissions>().check_env()?; + + let cores = sys_info::cpu_num().ok(); + let speed = sys_info::cpu_speed().ok(); + + Ok(json!({ + "cores": cores, + "speed": speed + })) +} |