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