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