node_sys/interface/
wasi_options.rs1use 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}