2022-02-11 02:00:15 +00:00
|
|
|
#![allow(clippy::unused_unit, non_upper_case_globals)]
|
|
|
|
|
2022-02-04 06:56:54 +00:00
|
|
|
use js_sys::Function;
|
2022-02-01 20:54:32 +00:00
|
|
|
use wasm_bindgen::prelude::*;
|
2022-02-04 06:56:54 +00:00
|
|
|
use web_sys::{Element, Node};
|
2022-02-01 20:57:07 +00:00
|
|
|
|
2022-02-04 06:56:54 +00:00
|
|
|
#[wasm_bindgen(module = "/src/interpreter.js")]
|
|
|
|
extern "C" {
|
2022-02-01 20:54:32 +00:00
|
|
|
pub type Interpreter;
|
|
|
|
|
|
|
|
#[wasm_bindgen(constructor)]
|
|
|
|
pub fn new(arg: Element) -> Interpreter;
|
|
|
|
|
|
|
|
#[wasm_bindgen(method)]
|
|
|
|
pub fn set_node(this: &Interpreter, id: usize, node: Node);
|
|
|
|
|
|
|
|
#[wasm_bindgen(method)]
|
|
|
|
pub fn PushRoot(this: &Interpreter, root: u64);
|
|
|
|
|
|
|
|
#[wasm_bindgen(method)]
|
|
|
|
pub fn AppendChildren(this: &Interpreter, many: u32);
|
|
|
|
|
|
|
|
#[wasm_bindgen(method)]
|
|
|
|
pub fn ReplaceWith(this: &Interpreter, root: u64, m: u32);
|
|
|
|
|
|
|
|
#[wasm_bindgen(method)]
|
|
|
|
pub fn InsertAfter(this: &Interpreter, root: u64, n: u32);
|
|
|
|
|
|
|
|
#[wasm_bindgen(method)]
|
|
|
|
pub fn InsertBefore(this: &Interpreter, root: u64, n: u32);
|
|
|
|
|
|
|
|
#[wasm_bindgen(method)]
|
|
|
|
pub fn Remove(this: &Interpreter, root: u64);
|
|
|
|
|
|
|
|
#[wasm_bindgen(method)]
|
2022-02-07 15:17:16 +00:00
|
|
|
pub fn CreateTextNode(this: &Interpreter, text: JsValue, root: u64);
|
2022-02-01 20:54:32 +00:00
|
|
|
|
|
|
|
#[wasm_bindgen(method)]
|
|
|
|
pub fn CreateElement(this: &Interpreter, tag: &str, root: u64);
|
|
|
|
|
|
|
|
#[wasm_bindgen(method)]
|
|
|
|
pub fn CreateElementNs(this: &Interpreter, tag: &str, root: u64, ns: &str);
|
|
|
|
|
|
|
|
#[wasm_bindgen(method)]
|
|
|
|
pub fn CreatePlaceholder(this: &Interpreter, root: u64);
|
|
|
|
|
|
|
|
#[wasm_bindgen(method)]
|
|
|
|
pub fn NewEventListener(this: &Interpreter, name: &str, root: u64, handler: &Function);
|
|
|
|
|
|
|
|
#[wasm_bindgen(method)]
|
|
|
|
pub fn RemoveEventListener(this: &Interpreter, root: u64, name: &str);
|
|
|
|
|
|
|
|
#[wasm_bindgen(method)]
|
2022-02-07 15:17:16 +00:00
|
|
|
pub fn SetText(this: &Interpreter, root: u64, text: JsValue);
|
2022-02-01 20:54:32 +00:00
|
|
|
|
|
|
|
#[wasm_bindgen(method)]
|
2022-02-07 15:17:16 +00:00
|
|
|
pub fn SetAttribute(
|
|
|
|
this: &Interpreter,
|
|
|
|
root: u64,
|
|
|
|
field: &str,
|
|
|
|
value: JsValue,
|
|
|
|
ns: Option<&str>,
|
|
|
|
);
|
2022-02-01 20:54:32 +00:00
|
|
|
|
|
|
|
#[wasm_bindgen(method)]
|
|
|
|
pub fn RemoveAttribute(this: &Interpreter, root: u64, field: &str);
|
2022-02-01 20:44:08 +00:00
|
|
|
}
|