From 49a0db0d2a2a697320ea95bacaca9bc61199c951 Mon Sep 17 00:00:00 2001 From: Yoshiya Hinosawa Date: Mon, 31 Jan 2022 14:44:19 +0900 Subject: feat(unstable): add Deno.getUid (#13496) --- runtime/ops/os.rs | 29 ++++++++++++++++++++++++++--- 1 file changed, 26 insertions(+), 3 deletions(-) (limited to 'runtime/ops/os.rs') diff --git a/runtime/ops/os.rs b/runtime/ops/os.rs index 877dbce21..405faf45a 100644 --- a/runtime/ops/os.rs +++ b/runtime/ops/os.rs @@ -17,16 +17,17 @@ use std::sync::Arc; pub fn init(maybe_exit_code: Option>) -> Extension { Extension::builder() .ops(vec![ - ("op_exit", op_sync(op_exit)), ("op_env", op_sync(op_env)), ("op_exec_path", op_sync(op_exec_path)), - ("op_set_env", op_sync(op_set_env)), - ("op_get_env", op_sync(op_get_env)), + ("op_exit", op_sync(op_exit)), ("op_delete_env", op_sync(op_delete_env)), + ("op_get_env", op_sync(op_get_env)), + ("op_getuid", op_sync(op_getuid)), ("op_hostname", op_sync(op_hostname)), ("op_loadavg", op_sync(op_loadavg)), ("op_network_interfaces", op_sync(op_network_interfaces)), ("op_os_release", op_sync(op_os_release)), + ("op_set_env", op_sync(op_set_env)), ("op_set_exit_code", op_sync(op_set_exit_code)), ("op_system_memory_info", op_sync(op_system_memory_info)), ]) @@ -237,3 +238,25 @@ fn op_system_memory_info( Err(_) => Ok(None), } } + +#[cfg(not(windows))] +fn op_getuid( + state: &mut OpState, + _: (), + _: (), +) -> Result, AnyError> { + super::check_unstable(state, "Deno.getUid"); + state.borrow_mut::().env.check_all()?; + unsafe { Ok(Some(libc::getuid())) } +} + +#[cfg(windows)] +fn op_getuid( + state: &mut OpState, + _: (), + _: (), +) -> Result, AnyError> { + super::check_unstable(state, "Deno.getUid"); + state.borrow_mut::().env.check_all()?; + Ok(None) +} -- cgit v1.2.3