chrome_sys/runtime/
port.rs1use crate::bindings::Sender;
2use js_sys::Object;
3use wasm_bindgen::prelude::*;
4
5#[wasm_bindgen]
6extern "C" {
7
8 #[wasm_bindgen(extends = Object)]
9 #[derive(Debug)]
10 pub type Port;
11
12 #[wasm_bindgen(method, getter)]
13 pub fn sender(this: &Port) -> Sender;
14
15 #[wasm_bindgen(method, getter)]
16 pub fn name(this: &Port) -> Option<String>;
17
18 #[wasm_bindgen(method, getter, js_name = "onMessage")]
19 pub fn on_message(this: &Port) -> PortOnMessage;
20
21 #[wasm_bindgen(method, getter, js_name = "onDisconnect")]
22 pub fn on_disconnect(this: &Port) -> PortOnDisconnect;
23
24 #[wasm_bindgen(method, js_name = "postMessage")]
25 pub fn post_message(this: &Port, value: JsValue);
26
27 #[wasm_bindgen(extends = Object)]
28 #[derive(Debug)]
29 pub type PortOnMessage;
30
31 #[wasm_bindgen(method, js_name = "addListener")]
32 pub fn add_listener(this: &PortOnMessage, closure: &Closure<dyn FnMut(JsValue) -> JsValue>);
33
34 #[wasm_bindgen(extends = Object)]
35 #[derive(Debug)]
36 pub type PortOnDisconnect;
37
38 #[wasm_bindgen(method, js_name = "addListener")]
39 pub fn add_listener(this: &PortOnDisconnect, closure: &Closure<dyn FnMut(JsValue) -> JsValue>);
40
41}