node_sys/interface/
domain.rs

1use crate::{class::EventEmitter, interface::Timer};
2use js_sys::Function;
3use wasm_bindgen::prelude::*;
4
5#[wasm_bindgen]
6extern {
7    #[wasm_bindgen(extends = EventEmitter)]
8    pub type Domain;
9
10    #[wasm_bindgen(method, js_name = "add")]
11    pub fn add_with_emitter(this: &Domain, emitter: &EventEmitter);
12
13    #[wasm_bindgen(method, js_name = "add")]
14    pub fn add_with_timer(this: &Domain, timer: &Timer);
15
16    #[wasm_bindgen(method)]
17    pub fn bind(this: &Domain, callback: &Function) -> Function;
18
19    #[wasm_bindgen(method)]
20    pub fn intercept(this: &Domain, callback: &Function) -> Function;
21
22    #[wasm_bindgen(method)]
23    pub fn remove_with_emitter(this: &Domain, emitter: &EventEmitter);
24
25    #[wasm_bindgen(method)]
26    pub fn remove_with_timer(this: &Domain, timer: &Timer);
27
28    #[wasm_bindgen(method, variadic)]
29    pub fn run(this: &Domain, callback: &Function, args: Box<[JsValue]>) -> JsValue;
30}