summaryrefslogtreecommitdiff
path: root/cli/ops/os.rs
diff options
context:
space:
mode:
authorecyrbe <ecyrbe@gmail.com>2020-02-24 14:35:45 +0100
committerGitHub <noreply@github.com>2020-02-24 08:35:45 -0500
commitfb08cf7005c9dc781d51c7d02ae06060e44d32a3 (patch)
tree2a74abd57187a1b0015fd1d1873c10399e60fccd /cli/ops/os.rs
parentfe9ac35a650dfeea9168fc1cbbbf323b5689fc3b (diff)
Add missing node os.release() implementation (#4065)
Diffstat (limited to 'cli/ops/os.rs')
-rw-r--r--cli/ops/os.rs16
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)))
+}