chrome-sys 0.2.0

Raw wasm_bindgen bindings for the Chrome Browser Extension API.
Documentation
use crate::bindings::Sender;
use js_sys::Object;
use wasm_bindgen::prelude::*;

#[wasm_bindgen]
extern "C" {

    #[wasm_bindgen(extends = Object)]
    #[derive(Debug)]
    pub type Port;

    #[wasm_bindgen(method, getter)]
    pub fn sender(this: &Port) -> Sender;

    #[wasm_bindgen(method, getter)]
    pub fn name(this: &Port) -> Option<String>;

    #[wasm_bindgen(method, getter, js_name = "onMessage")]
    pub fn on_message(this: &Port) -> PortOnMessage;

    #[wasm_bindgen(method, getter, js_name = "onDisconnect")]
    pub fn on_disconnect(this: &Port) -> PortOnDisconnect;

    #[wasm_bindgen(method, js_name = "postMessage")]
    pub fn post_message(this: &Port, value: JsValue);

    #[wasm_bindgen(extends = Object)]
    #[derive(Debug)]
    pub type PortOnMessage;

    #[wasm_bindgen(method, js_name = "addListener")]
    pub fn add_listener(this: &PortOnMessage, closure: &Closure<dyn FnMut(JsValue) -> JsValue>);

    #[wasm_bindgen(extends = Object)]
    #[derive(Debug)]
    pub type PortOnDisconnect;

    #[wasm_bindgen(method, js_name = "addListener")]
    pub fn add_listener(this: &PortOnDisconnect, closure: &Closure<dyn FnMut(JsValue) -> JsValue>);

}