Skip to main content

workflow_node/node_sys/class/
event_emitter.rs

1use js_sys::{Function, Object};
2use wasm_bindgen::prelude::*;
3
4#[wasm_bindgen(module = "events")]
5extern "C" {
6    #[wasm_bindgen(extends = Object)]
7    #[derive(Clone, Debug)]
8    pub type EventEmitter;
9
10    #[wasm_bindgen(constructor)]
11    pub fn new() -> EventEmitter;
12
13    #[wasm_bindgen(method, getter, js_name = "defaultMaxListeners")]
14    pub fn default_max_listeners(this: &EventEmitter) -> f64;
15
16    #[wasm_bindgen(method, setter, js_name = "defaultMaxListeners")]
17    pub fn set_default_max_listeners(this: &EventEmitter, value: f64);
18
19    #[wasm_bindgen(method, js_name = "addListener")]
20    pub fn add_listener(this: &EventEmitter, event_name: &str, listener: &Function)
21    -> EventEmitter;
22
23    #[wasm_bindgen(method, variadic)]
24    pub fn emit(this: &EventEmitter, event_name: &str, args: Box<[JsValue]>) -> bool;
25
26    #[wasm_bindgen(method, js_name = "eventNames")]
27    pub fn event_names(this: &EventEmitter) -> Box<[JsValue]>;
28
29    #[wasm_bindgen(method, js_name = "getMaxListeners")]
30    pub fn get_max_listeners(this: &EventEmitter);
31
32    #[wasm_bindgen(method, js_name = "listenerCount")]
33    pub fn listener_count(this: &EventEmitter) -> f64;
34
35    #[wasm_bindgen(method)]
36    pub fn listeners(this: &EventEmitter, event_name: &str) -> Box<[JsValue]>;
37
38    #[wasm_bindgen(method)]
39    pub fn off(this: &EventEmitter, event_name: &str, listener: &Function) -> EventEmitter;
40
41    #[wasm_bindgen(method, js_name = "on")]
42    pub fn on(this: &EventEmitter, event_name: &str, listener: &Function) -> EventEmitter;
43
44    #[wasm_bindgen(method, js_name = "once")]
45    pub fn once(this: &EventEmitter, event_name: &str, listener: &Function) -> EventEmitter;
46
47    #[wasm_bindgen(method, js_name = "prependListener")]
48    pub fn prepend_listener(
49        this: &EventEmitter,
50        event_name: &str,
51        listener: &Function,
52    ) -> EventEmitter;
53
54    #[wasm_bindgen(method, js_name = "prependOnceListener")]
55    pub fn prepend_once_listener(
56        this: &EventEmitter,
57        event_name: &str,
58        listener: &Function,
59    ) -> EventEmitter;
60
61    #[wasm_bindgen(method, js_name = "removeAllListeners")]
62    pub fn remove_all_listeners(this: &EventEmitter, event_name: Option<&str>) -> EventEmitter;
63
64    #[wasm_bindgen(method, js_name = "removeListener")]
65    pub fn remove_listener(
66        this: &EventEmitter,
67        event_name: &str,
68        listener: &Function,
69    ) -> EventEmitter;
70
71    #[wasm_bindgen(method, js_name = "setMaxListeners")]
72    pub fn set_max_listeners(this: &EventEmitter, n: f64) -> EventEmitter;
73
74    #[wasm_bindgen(method, js_name = "rawListeners")]
75    pub fn raw_listeners(this: &EventEmitter, event_name: &str) -> Box<[JsValue]>;
76}