node_sys/interface/
wasi_options.rs

1use js_sys::Object;
2use wasm_bindgen::prelude::*;
3
4#[wasm_bindgen]
5#[derive(Clone, Debug, PartialEq)]
6pub struct WasiOptions {
7    args: Option<Box<[JsValue]>>,
8    env: Option<Object>,
9    preopens: Object,
10}
11
12#[wasm_bindgen]
13impl WasiOptions {
14    #[wasm_bindgen(constructor)]
15    pub fn new_with_values(args: Option<Box<[JsValue]>>, env: Option<Object>, preopens: Object) -> WasiOptions {
16        WasiOptions { args, env, preopens }
17    }
18
19    pub fn new(preopens: Object) -> WasiOptions {
20        let args = Default::default();
21        let env = Default::default();
22        WasiOptions::new_with_values(args, env, preopens)
23    }
24
25    #[wasm_bindgen(getter)]
26    pub fn args(&self) -> Option<Box<[JsValue]>> {
27        self.args.clone()
28    }
29
30    #[wasm_bindgen(setter)]
31    pub fn set_args(&mut self, value: Option<Box<[JsValue]>>) {
32        self.args = value;
33    }
34
35    #[wasm_bindgen(getter)]
36    pub fn env(&self) -> Option<Object> {
37        self.env.clone()
38    }
39
40    #[wasm_bindgen(setter)]
41    pub fn set_env(&mut self, value: Option<Object>) {
42        self.env = value;
43    }
44
45    #[wasm_bindgen(getter)]
46    pub fn preopens(&self) -> Object {
47        self.preopens.clone()
48    }
49
50    #[wasm_bindgen(setter)]
51    pub fn set_preopens(&mut self, value: Object) {
52        self.preopens = value;
53    }
54}