node_sys/interface/
node_module.rs

1use crate::interface::NodeRequireFunction;
2use js_sys::{JsString, Object};
3use wasm_bindgen::prelude::*;
4
5#[wasm_bindgen]
6extern {
7    #[wasm_bindgen(extends = Object)]
8    #[derive(Clone, Debug)]
9    pub type NodeModule;
10
11    #[wasm_bindgen(method, getter)]
12    pub fn children(this: &NodeModule) -> Box<[JsValue]>;
13
14    #[wasm_bindgen(method, getter)]
15    pub fn exports(this: &NodeModule) -> JsValue;
16
17    #[wasm_bindgen(method, getter)]
18    pub fn filename(this: &NodeModule) -> JsString;
19
20    #[wasm_bindgen(method, getter)]
21    pub fn id(this: &NodeModule) -> JsString;
22
23    #[wasm_bindgen(method, getter)]
24    pub fn loaded(this: &NodeModule) -> bool;
25
26    #[wasm_bindgen(method, getter)]
27    pub fn parent(this: &NodeModule) -> Option<NodeModule>;
28
29    #[wasm_bindgen(method, getter)]
30    pub fn paths(this: &NodeModule) -> Box<[JsValue]>;
31
32    #[wasm_bindgen(method, getter)]
33    pub fn require(this: &NodeModule) -> NodeRequireFunction;
34}