node_sys/module/
os.rs

1use crate::interface::{OsConstants, UserInfoOptions};
2use js_sys::{JsString, Object};
3use wasm_bindgen::prelude::*;
4
5#[wasm_bindgen(module = "os")]
6extern {
7    //******************//
8    // Instance Methods //
9    //******************//
10
11    pub fn arch() -> JsString;
12
13    pub fn cpus() -> Box<[JsValue]>;
14
15    pub fn endianness() -> JsString;
16
17    pub fn freemem() -> f64;
18
19    #[wasm_bindgen(js_name = "getPriority")]
20    pub fn get_priority(pid: Option<u32>) -> u32;
21
22    pub fn homedir() -> JsString;
23
24    pub fn hostname() -> JsString;
25
26    pub fn loadavg() -> Box<[JsValue]>;
27
28    #[wasm_bindgen(js_name = "networkInterfaces")]
29    pub fn network_interfaces() -> Object;
30
31    pub fn platform() -> JsString;
32
33    pub fn release() -> JsString;
34
35    #[wasm_bindgen(js_name = "setPriority")]
36    pub fn set_priority(priority: i32);
37
38    #[wasm_bindgen(js_name = "setPriority")]
39    pub fn set_priority_for_pid(pid: u32, priority: i32);
40
41    pub fn tmpdir() -> JsString;
42
43    pub fn totalmem() -> f64;
44
45    #[wasm_bindgen(js_name = "type")]
46    pub fn type_() -> JsString;
47
48    pub fn uptime() -> f64;
49
50    #[wasm_bindgen(js_name = "userInfo")]
51    pub fn user_info(options: Option<UserInfoOptions>) -> Object;
52
53    //************//
54    // Properties //
55    //************//
56
57    pub static constants: OsConstants;
58
59    pub static EOL: JsString;
60}