diff options
author | ecyrbe <ecyrbe@gmail.com> | 2020-02-24 14:35:45 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-02-24 08:35:45 -0500 |
commit | fb08cf7005c9dc781d51c7d02ae06060e44d32a3 (patch) | |
tree | 2a74abd57187a1b0015fd1d1873c10399e60fccd /cli/ops/os.rs | |
parent | fe9ac35a650dfeea9168fc1cbbbf323b5689fc3b (diff) |
Add missing node os.release() implementation (#4065)
Diffstat (limited to 'cli/ops/os.rs')
-rw-r--r-- | cli/ops/os.rs | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/cli/ops/os.rs b/cli/ops/os.rs index 10c5e247e..8e4f1e95d 100644 --- a/cli/ops/os.rs +++ b/cli/ops/os.rs @@ -21,6 +21,10 @@ pub fn init(i: &mut Isolate, s: &State) { i.register_op("get_dir", s.core_op(json_op(s.stateful_op(op_get_dir)))); i.register_op("hostname", s.core_op(json_op(s.stateful_op(op_hostname)))); i.register_op("loadavg", s.core_op(json_op(s.stateful_op(op_loadavg)))); + i.register_op( + "os_release", + s.core_op(json_op(s.stateful_op(op_os_release))), + ); } #[derive(Deserialize)] @@ -185,6 +189,16 @@ fn op_hostname( _zero_copy: Option<ZeroCopyBuf>, ) -> Result<JsonOp, OpError> { state.check_env()?; - let hostname = sys_info::hostname().unwrap_or_else(|_| "".to_owned()); + let hostname = sys_info::hostname().unwrap_or_else(|_| "".to_string()); Ok(JsonOp::Sync(json!(hostname))) } + +fn op_os_release( + state: &State, + _args: Value, + _zero_copy: Option<ZeroCopyBuf>, +) -> Result<JsonOp, OpError> { + state.check_env()?; + let release = sys_info::os_release().unwrap_or_else(|_| "".to_string()); + Ok(JsonOp::Sync(json!(release))) +} |