workflow_node/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(
16 args: Option<Box<[JsValue]>>,
17 env: Option<Object>,
18 preopens: Object,
19 ) -> WasiOptions {
20 WasiOptions {
21 args,
22 env,
23 preopens,
24 }
25 }
26
27 pub fn new(preopens: Object) -> WasiOptions {
28 let args = Default::default();
29 let env = Default::default();
30 WasiOptions::new_with_values(args, env, preopens)
31 }
32
33 #[wasm_bindgen(getter)]
34 pub fn args(&self) -> Option<Box<[JsValue]>> {
35 self.args.clone()
36 }
37
38 #[wasm_bindgen(setter)]
39 pub fn set_args(&mut self, value: Option<Box<[JsValue]>>) {
40 self.args = value;
41 }
42
43 #[wasm_bindgen(getter)]
44 pub fn env(&self) -> Option<Object> {
45 self.env.clone()
46 }
47
48 #[wasm_bindgen(setter)]
49 pub fn set_env(&mut self, value: Option<Object>) {
50 self.env = value;
51 }
52
53 #[wasm_bindgen(getter)]
54 pub fn preopens(&self) -> Object {
55 self.preopens.clone()
56 }
57
58 #[wasm_bindgen(setter)]
59 pub fn set_preopens(&mut self, value: Object) {
60 self.preopens = value;
61 }
62}