aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2019-11-22 02:18:06 -0500
committerJesse Luehrs <doy@tozt.net>2019-11-22 02:18:06 -0500
commit16f9dfd4a1a1989c06d8e5d88a23d306c0813b68 (patch)
treed930db439b08e5b3b206f6005fb6cf10e395e658
parent7d2300ff8cd4cc7c8e64f2d13dea66411e0de9fb (diff)
downloadteleterm-16f9dfd4a1a1989c06d8e5d88a23d306c0813b68.tar.gz
teleterm-16f9dfd4a1a1989c06d8e5d88a23d306c0813b68.zip
start using seed on the web side
-rw-r--r--Cargo.lock111
-rw-r--r--teleterm-web/Cargo.toml2
-rw-r--r--teleterm-web/src/lib.rs99
-rw-r--r--teleterm-web/src/prelude.rs2
-rw-r--r--teleterm-web/src/ws.rs55
-rw-r--r--teleterm/static/index.html6
-rw-r--r--teleterm/static/teleterm_web.js630
-rw-r--r--teleterm/static/teleterm_web_bg.wasmbin26093 -> 304649 bytes
8 files changed, 837 insertions, 68 deletions
diff --git a/Cargo.lock b/Cargo.lock
index 0b4fdd2..69e2815 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -316,6 +316,16 @@ dependencies = [
]
[[package]]
+name = "console_error_panic_hook"
+version = "0.1.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b8d976903543e0c48546a91908f21588a680a8c8f984df9a5d69feccb2b2a211"
+dependencies = [
+ "cfg-if",
+ "wasm-bindgen",
+]
+
+[[package]]
name = "constant_time_eq"
version = "0.1.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -475,6 +485,15 @@ dependencies = [
]
[[package]]
+name = "dbg"
+version = "1.0.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4677188513e0e9d7adced5997cf9a1e7a3c996c994f90093325c5332c1a8b221"
+dependencies = [
+ "version_check 0.1.5",
+]
+
+[[package]]
name = "digest"
version = "0.7.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -533,6 +552,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bb1f6b1ce1c140482ea30ddd3335fc0024ac7ee112895426e0a629a6c20adfe3"
[[package]]
+name = "enclose"
+version = "1.1.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1056f553da426e9c025a662efa48b52e62e0a3a7648aa2d15aeaaf7f0d329357"
+
+[[package]]
name = "encoding_rs"
version = "0.8.20"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -583,7 +608,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3ab49e9dcb602294bc42f9a7dfc9bc6e936fca4418ea300dbfb84fe16de0b7d9"
dependencies = [
"backtrace",
- "version_check",
+ "version_check 0.1.5",
]
[[package]]
@@ -723,6 +748,15 @@ dependencies = [
]
[[package]]
+name = "getopts"
+version = "0.2.21"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "14dbbfd5c71d70241ecf9e6f13737f7b5ce823821063188d7e46c41d371eebd5"
+dependencies = [
+ "unicode-width",
+]
+
+[[package]]
name = "getrandom"
version = "0.1.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -740,6 +774,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8be18de09a56b60ed0edf84bc9df007e30040691af7acd1c41874faac5895bfb"
[[package]]
+name = "gloo-timers"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "31e1136fb2586cee1d7eeea23a85eab15f9336294bb8fccafac62fa3410a1f28"
+dependencies = [
+ "js-sys",
+ "wasm-bindgen",
+ "web-sys",
+]
+
+[[package]]
name = "gotham"
version = "0.5.0-dev"
source = "git+https://github.com/gotham-rs/gotham?rev=d2395926b93710832f8d72b49c9bd3e77516e386#d2395926b93710832f8d72b49c9bd3e77516e386"
@@ -1163,7 +1208,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2ad2a91a8e869eeb30b9cb3119ae87773a8f4ae617f41b1eb9c154b2905f7bd6"
dependencies = [
"memchr",
- "version_check",
+ "version_check 0.1.5",
]
[[package]]
@@ -1361,6 +1406,18 @@ dependencies = [
]
[[package]]
+name = "pulldown-cmark"
+version = "0.5.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "77043da1282374688ee212dc44b3f37ff929431de9c9adc3053bd3cee5630357"
+dependencies = [
+ "bitflags",
+ "getopts",
+ "memchr",
+ "unicase",
+]
+
+[[package]]
name = "quick-error"
version = "1.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1766,6 +1823,29 @@ dependencies = [
]
[[package]]
+name = "seed"
+version = "0.4.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f6c7a232f602b6ff24f090ef43dd71527ad4cd12cb29e028c5e597565bc5c426"
+dependencies = [
+ "console_error_panic_hook",
+ "cookie",
+ "dbg",
+ "enclose",
+ "futures",
+ "gloo-timers",
+ "indexmap",
+ "js-sys",
+ "pulldown-cmark 0.5.3",
+ "serde",
+ "serde_json",
+ "version_check 0.9.1",
+ "wasm-bindgen",
+ "wasm-bindgen-futures",
+ "web-sys",
+]
+
+[[package]]
name = "semver"
version = "0.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1884,7 +1964,7 @@ dependencies = [
"cargo_metadata",
"error-chain",
"glob",
- "pulldown-cmark",
+ "pulldown-cmark 0.2.0",
"serde_json",
"tempdir",
"walkdir",
@@ -2047,6 +2127,8 @@ dependencies = [
name = "teleterm-web"
version = "0.1.0"
dependencies = [
+ "js-sys",
+ "seed",
"wasm-bindgen",
"web-sys",
]
@@ -2496,7 +2578,7 @@ version = "2.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2e2e6bd1e59e56598518beb94fd6db628ded570326f0a98c679a304bd9f00150"
dependencies = [
- "version_check",
+ "version_check 0.1.5",
]
[[package]]
@@ -2627,6 +2709,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "914b1a6776c4c929a602fafd8bc742e06365d4bcbe48c30f9cca5824f70dc9dd"
[[package]]
+name = "version_check"
+version = "0.9.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "078775d0255232fb988e6fccf26ddc9d1ac274299aaedcedce21c6f72cc533ce"
+
+[[package]]
name = "vt100"
version = "0.6.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2684,6 +2772,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c4568ae1b4e07ca907b1a4de41174eaa3e5be4066c024475586b7842725f69a9"
dependencies = [
"cfg-if",
+ "serde",
+ "serde_json",
"wasm-bindgen-macro",
]
@@ -2703,6 +2793,19 @@ dependencies = [
]
[[package]]
+name = "wasm-bindgen-futures"
+version = "0.3.27"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "83420b37346c311b9ed822af41ec2e82839bfe99867ec6c54e2da43b7538771c"
+dependencies = [
+ "cfg-if",
+ "futures",
+ "js-sys",
+ "wasm-bindgen",
+ "web-sys",
+]
+
+[[package]]
name = "wasm-bindgen-macro"
version = "0.2.54"
source = "registry+https://github.com/rust-lang/crates.io-index"
diff --git a/teleterm-web/Cargo.toml b/teleterm-web/Cargo.toml
index be9fed2..7a9a7f9 100644
--- a/teleterm-web/Cargo.toml
+++ b/teleterm-web/Cargo.toml
@@ -11,5 +11,7 @@ publish = false
crate-type = ["cdylib", "rlib"]
[dependencies]
+js-sys = "0.3"
+seed = "0.4"
wasm-bindgen = "0.2"
web-sys = { version = "0.3", features = ["ErrorEvent", "MessageEvent", "WebSocket"] }
diff --git a/teleterm-web/src/lib.rs b/teleterm-web/src/lib.rs
index 4d3e84d..8b770a5 100644
--- a/teleterm-web/src/lib.rs
+++ b/teleterm-web/src/lib.rs
@@ -1,5 +1,7 @@
-use wasm_bindgen::prelude::*;
-use wasm_bindgen::JsCast as _;
+mod prelude;
+mod ws;
+
+use crate::prelude::*;
#[wasm_bindgen]
extern "C" {
@@ -7,44 +9,65 @@ extern "C" {
fn log(s: &str);
}
-#[wasm_bindgen(start)]
-pub fn main() -> Result<(), JsValue> {
- log("loaded");
-
- let ws = web_sys::WebSocket::new("ws://127.0.0.1:4145/watch")?;
-
- let msg_cb =
- Closure::wrap(Box::new(move |event: web_sys::MessageEvent| {
- log(&format!("message {:?}", event));
- }) as Box<dyn FnMut(web_sys::MessageEvent)>);
- ws.set_onmessage(Some(msg_cb.as_ref().unchecked_ref()));
- msg_cb.forget();
-
- let err_cb = Closure::wrap(Box::new(move |event: web_sys::ErrorEvent| {
- log(&format!("error {:?}", event));
- }) as Box<dyn FnMut(web_sys::ErrorEvent)>);
- ws.set_onerror(Some(err_cb.as_ref().unchecked_ref()));
- err_cb.forget();
-
- let cloned_ws = ws.clone();
- let open_cb = Closure::wrap(Box::new(move |_| {
- log("opened");
- match cloned_ws.send_with_str("ping1") {
- Ok(_) => log("sent ping1 successfully"),
- Err(e) => {
- log(&format!("error sending ping: {:?}", e));
- return;
+const WATCH_URL: &str = "ws://127.0.0.1:4145/watch";
+
+#[derive(Clone)]
+enum Msg {
+ Connected(JsValue),
+ Disconnected(JsValue),
+ Message(MessageEvent),
+ Error(JsValue),
+}
+
+struct Model {
+ ws: WebSocket,
+}
+
+fn init(_: Url, orders: &mut impl Orders<Msg>) -> Init<Model> {
+ log("init");
+ let ws = ws::connect(WATCH_URL, orders);
+ log("created ws");
+ Init::new(Model { ws })
+}
+
+fn update(msg: Msg, model: &mut Model, _orders: &mut impl Orders<Msg>) {
+ log("update");
+ match msg {
+ Msg::Connected(_) => {
+ log("connected");
+ match model.ws.send_with_str("ping1") {
+ Ok(_) => log("sent ping1 successfully"),
+ Err(e) => {
+ log(&format!("error sending ping: {:?}", e));
+ return;
+ }
}
- }
- match cloned_ws.send_with_str("ping2") {
- Ok(_) => log("sent ping2 successfully"),
- Err(e) => {
- log(&format!("error sending ping: {:?}", e));
+ match model.ws.send_with_str("ping2") {
+ Ok(_) => log("sent ping2 successfully"),
+ Err(e) => {
+ log(&format!("error sending ping: {:?}", e));
+ }
}
}
- }) as Box<dyn FnMut(JsValue)>);
- ws.set_onopen(Some(open_cb.as_ref().unchecked_ref()));
- open_cb.forget();
+ Msg::Disconnected(_) => {
+ log("disconnected");
+ }
+ Msg::Message(msg) => {
+ log(&format!("message {:?}", msg));
+ }
+ Msg::Error(e) => {
+ log(&format!("error {:?}", e));
+ }
+ }
+}
+
+fn view(_model: &Model) -> impl View<Msg> {
+ log("view");
+ vec![seed::h1!["it's a seed app"]]
+}
- Ok(())
+#[wasm_bindgen(start)]
+pub fn start() {
+ log("start");
+ seed::App::build(init, update, view).build_and_start();
}
diff --git a/teleterm-web/src/prelude.rs b/teleterm-web/src/prelude.rs
new file mode 100644
index 0000000..369318c
--- /dev/null
+++ b/teleterm-web/src/prelude.rs
@@ -0,0 +1,2 @@
+pub use seed::prelude::*;
+pub use web_sys::*;
diff --git a/teleterm-web/src/ws.rs b/teleterm-web/src/ws.rs
new file mode 100644
index 0000000..a2ab566
--- /dev/null
+++ b/teleterm-web/src/ws.rs
@@ -0,0 +1,55 @@
+use crate::prelude::*;
+use wasm_bindgen::JsCast as _;
+
+pub(crate) fn connect(
+ url: &str,
+ orders: &mut impl Orders<crate::Msg>,
+) -> WebSocket {
+ let ws = WebSocket::new(url).unwrap();
+
+ register_ws_handler(
+ WebSocket::set_onopen,
+ crate::Msg::Connected,
+ &ws,
+ orders,
+ );
+ register_ws_handler(
+ WebSocket::set_onclose,
+ crate::Msg::Disconnected,
+ &ws,
+ orders,
+ );
+ register_ws_handler(
+ WebSocket::set_onmessage,
+ crate::Msg::Message,
+ &ws,
+ orders,
+ );
+ register_ws_handler(
+ WebSocket::set_onerror,
+ crate::Msg::Error,
+ &ws,
+ orders,
+ );
+
+ ws
+}
+
+fn register_ws_handler<T, F>(
+ ws_cb_setter: fn(&WebSocket, Option<&js_sys::Function>),
+ msg: F,
+ ws: &web_sys::WebSocket,
+ orders: &mut impl Orders<crate::Msg>,
+) where
+ T: wasm_bindgen::convert::FromWasmAbi + 'static,
+ F: Fn(T) -> crate::Msg + 'static,
+{
+ let (app, msg_mapper) = (orders.clone_app(), orders.msg_mapper());
+
+ let closure = Closure::new(move |data| {
+ app.update(msg_mapper(msg(data)));
+ });
+
+ ws_cb_setter(ws, Some(closure.as_ref().unchecked_ref()));
+ closure.forget();
+}
diff --git a/teleterm/static/index.html b/teleterm/static/index.html
index 58a7c36..2b8e30e 100644
--- a/teleterm/static/index.html
+++ b/teleterm/static/index.html
@@ -1,12 +1,10 @@
<!doctype html>
<html>
- <head>
+ <body>
+ <section id="app"></section>
<script type="module">
import init from "./teleterm_web.js";
init();
</script>
- </head>
- <body>
- <h1>it's a page</h1>
</body>
</html>
diff --git a/teleterm/static/teleterm_web.js b/teleterm/static/teleterm_web.js
index 824d843..b553b27 100644
--- a/teleterm/static/teleterm_web.js
+++ b/teleterm/static/teleterm_web.js
@@ -18,18 +18,30 @@ function addHeapObject(obj) {
return idx;
}
function __wbg_elem_binding0(arg0, arg1, arg2) {
- wasm.__wbg_function_table.get(2)(arg0, arg1, addHeapObject(arg2));
+ wasm.__wbg_function_table.get(19)(arg0, arg1, addHeapObject(arg2));
}
function __wbg_elem_binding1(arg0, arg1, arg2) {
- wasm.__wbg_function_table.get(2)(arg0, arg1, addHeapObject(arg2));
+ wasm.__wbg_function_table.get(19)(arg0, arg1, addHeapObject(arg2));
}
function __wbg_elem_binding2(arg0, arg1, arg2) {
- wasm.__wbg_function_table.get(2)(arg0, arg1, addHeapObject(arg2));
+ wasm.__wbg_function_table.get(19)(arg0, arg1, addHeapObject(arg2));
+}
+function __wbg_elem_binding3(arg0, arg1, arg2) {
+ wasm.__wbg_function_table.get(23)(arg0, arg1, arg2);
+}
+function __wbg_elem_binding4(arg0, arg1, arg2) {
+ wasm.__wbg_function_table.get(143)(arg0, arg1, addHeapObject(arg2));
+}
+function __wbg_elem_binding5(arg0, arg1, arg2, arg3, arg4) {
+ wasm.__wbg_function_table.get(170)(arg0, arg1, addHeapObject(arg2), arg3, addHeapObject(arg4));
+}
+function __wbg_elem_binding6(arg0, arg1, arg2, arg3) {
+ wasm.__wbg_function_table.get(174)(arg0, arg1, addHeapObject(arg2), addHeapObject(arg3));
}
/**
*/
-export function main() {
- wasm.main();
+export function start() {
+ wasm.start();
}
function getObject(idx) { return heap[idx]; }
@@ -62,10 +74,6 @@ function getStringFromWasm(ptr, len) {
return cachedTextDecoder.decode(getUint8Memory().subarray(ptr, ptr + len));
}
-function handleError(e) {
- wasm.__wbindgen_exn_store(addHeapObject(e));
-}
-
let WASM_VECTOR_LEN = 0;
let cachedTextEncoder = new TextEncoder('utf-8');
@@ -121,6 +129,22 @@ function getInt32Memory() {
return cachegetInt32Memory;
}
+function handleError(e) {
+ wasm.__wbindgen_exn_store(addHeapObject(e));
+}
+
+function isLikeNone(x) {
+ return x === undefined || x === null;
+}
+
+let cachegetUint32Memory = null;
+function getUint32Memory() {
+ if (cachegetUint32Memory === null || cachegetUint32Memory.buffer !== wasm.memory.buffer) {
+ cachegetUint32Memory = new Uint32Array(wasm.memory.buffer);
+ }
+ return cachegetUint32Memory;
+}
+
function debugString(val) {
// primitive types
const type = typeof val;
@@ -193,19 +217,400 @@ function init(module) {
let result;
const imports = {};
imports.wbg = {};
+ imports.wbg.__wbindgen_object_drop_ref = function(arg0) {
+ takeObject(arg0);
+ };
imports.wbg.__wbindgen_cb_forget = function(arg0) {
takeObject(arg0);
};
+ imports.wbg.__wbindgen_cb_drop = function(arg0) {
+ const obj = takeObject(arg0).original;
+ if (obj.cnt-- == 1) {
+ obj.a = 0;
+ return true;
+ }
+ const ret = false;
+ return ret;
+ };
+ imports.wbg.__wbindgen_json_parse = function(arg0, arg1) {
+ const ret = JSON.parse(getStringFromWasm(arg0, arg1));
+ return addHeapObject(ret);
+ };
+ imports.wbg.__wbindgen_string_new = function(arg0, arg1) {
+ const ret = getStringFromWasm(arg0, arg1);
+ return addHeapObject(ret);
+ };
imports.wbg.__wbg_log_93d35dab6e237612 = function(arg0, arg1) {
console.log(getStringFromWasm(arg0, arg1));
};
- imports.wbg.__wbindgen_object_drop_ref = function(arg0) {
- takeObject(arg0);
- };
imports.wbg.__wbindgen_object_clone_ref = function(arg0) {
const ret = getObject(arg0);
return addHeapObject(ret);
};
+ imports.wbg.__wbg_new_59cb74e423758ede = function() {
+ const ret = new Error();
+ return addHeapObject(ret);
+ };
+ imports.wbg.__wbg_stack_558ba5917b466edd = function(arg0, arg1) {
+ const ret = getObject(arg1).stack;
+ const ret0 = passStringToWasm(ret);
+ const ret1 = WASM_VECTOR_LEN;
+ getInt32Memory()[arg0 / 4 + 0] = ret0;
+ getInt32Memory()[arg0 / 4 + 1] = ret1;
+ };
+ imports.wbg.__wbg_error_4bb6c2a97407129a = function(arg0, arg1) {
+ const v0 = getStringFromWasm(arg0, arg1).slice();
+ wasm.__wbindgen_free(arg0, arg1 * 1);
+ console.error(v0);
+ };
+ imports.wbg.__widl_instanceof_Window = function(arg0) {
+ const ret = getObject(arg0) instanceof Window;
+ return ret;
+ };
+ imports.wbg.__widl_f_create_element_Document = function(arg0, arg1, arg2) {
+ try {
+ const ret = getObject(arg0).createElement(getStringFromWasm(arg1, arg2));
+ return addHeapObject(ret);
+ } catch (e) {
+ handleError(e)
+ }
+ };
+ imports.wbg.__widl_f_create_element_ns_Document = function(arg0, arg1, arg2, arg3, arg4) {
+ try {
+ const ret = getObject(arg0).createElementNS(arg1 === 0 ? undefined : getStringFromWasm(arg1, arg2), getStringFromWasm(arg3, arg4));
+ return addHeapObject(ret);
+ } catch (e) {
+ handleError(e)
+ }
+ };
+ imports.wbg.__widl_f_create_text_node_Document = function(arg0, arg1, arg2) {
+ const ret = getObject(arg0).createTextNode(getStringFromWasm(arg1, arg2));
+ return addHeapObject(ret);
+ };
+ imports.wbg.__widl_f_get_element_by_id_Document = function(arg0, arg1, arg2) {
+ const ret = getObject(arg0).getElementById(getStringFromWasm(arg1, arg2));
+ return isLikeNone(ret) ? 0 : addHeapObject(ret);
+ };
+ imports.wbg.__widl_f_query_selector_Document = function(arg0, arg1, arg2) {
+ try {
+ const ret = getObject(arg0).querySelector(getStringFromWasm(arg1, arg2));
+ return isLikeNone(ret) ? 0 : addHeapObject(ret);
+ } catch (e) {
+ handleError(e)
+ }
+ };
+ imports.wbg.__widl_instanceof_Element = function(arg0) {
+ const ret = getObject(arg0) instanceof Element;
+ return ret;
+ };
+ imports.wbg.__widl_f_closest_Element = function(arg0, arg1, arg2) {
+ try {
+ const ret = getObject(arg0).closest(getStringFromWasm(arg1, arg2));
+ return isLikeNone(ret) ? 0 : addHeapObject(ret);
+ } catch (e) {
+ handleError(e)
+ }
+ };
+ imports.wbg.__widl_f_get_attribute_Element = function(arg0, arg1, arg2, arg3) {
+ const ret = getObject(arg1).getAttribute(getStringFromWasm(arg2, arg3));
+ const ptr0 = isLikeNone(ret) ? 0 : passStringToWasm(ret);
+ const len0 = WASM_VECTOR_LEN;
+ const ret0 = ptr0;
+ const ret1 = len0;
+ getInt32Memory()[arg0 / 4 + 0] = ret0;
+ getInt32Memory()[arg0 / 4 + 1] = ret1;
+ };
+ imports.wbg.__widl_f_get_attribute_names_Element = function(arg0) {
+ const ret = getObject(arg0).getAttributeNames();
+ return addHeapObject(ret);
+ };
+ imports.wbg.__widl_f_remove_attribute_Element = function(arg0, arg1, arg2) {
+ try {
+ getObject(arg0).removeAttribute(getStringFromWasm(arg1, arg2));
+ } catch (e) {
+ handleError(e)
+ }
+ };
+ imports.wbg.__widl_f_set_attribute_Element = function(arg0, arg1, arg2, arg3, arg4) {
+ try {
+ getObject(arg0).setAttribute(getStringFromWasm(arg1, arg2), getStringFromWasm(arg3, arg4));
+ } catch (e) {
+ handleError(e)
+ }
+ };
+ imports.wbg.__widl_f_namespace_uri_Element = function(arg0, arg1) {
+ const ret = getObject(arg1).namespaceURI;
+ const ptr0 = isLikeNone(ret) ? 0 : passStringToWasm(ret);
+ const len0 = WASM_VECTOR_LEN;
+ const ret0 = ptr0;
+ const ret1 = len0;
+ getInt32Memory()[arg0 / 4 + 0] = ret0;
+ getInt32Memory()[arg0 / 4 + 1] = ret1;
+ };
+ imports.wbg.__widl_f_tag_name_Element = function(arg0, arg1) {
+ const ret = getObject(arg1).tagName;
+ const ret0 = passStringToWasm(ret);
+ const ret1 = WASM_VECTOR_LEN;
+ getInt32Memory()[arg0 / 4 + 0] = ret0;
+ getInt32Memory()[arg0 / 4 + 1] = ret1;
+ };
+ imports.wbg.__widl_f_prevent_default_Event = function(arg0) {
+ getObject(arg0).preventDefault();
+ };
+ imports.wbg.__widl_f_target_Event = function(arg0) {
+ const ret = getObject(arg0).target;
+ return isLikeNone(ret) ? 0 : addHeapObject(ret);
+ };
+ imports.wbg.__widl_f_add_event_listener_with_callback_EventTarget = function(arg0, arg1, arg2, arg3) {
+ try {
+ getObject(arg0).addEventListener(getStringFromWasm(arg1, arg2), getObject(arg3));
+ } catch (e) {
+ handleError(e)
+ }
+ };
+ imports.wbg.__widl_f_remove_event_listener_with_callback_EventTarget = function(arg0, arg1, arg2, arg3) {
+ try {
+ getObject(arg0).removeEventListener(getStringFromWasm(arg1, arg2), getObject(arg3));
+ } catch (e) {
+ handleError(e)
+ }
+ };
+ imports.wbg.__widl_instanceof_HTMLButtonElement = function(arg0) {
+ const ret = getObject(arg0) instanceof HTMLButtonElement;
+ return ret;
+ };
+ imports.wbg.__widl_f_set_value_HTMLButtonElement = function(arg0, arg1, arg2) {
+ getObject(arg0).value = getStringFromWasm(arg1, arg2);
+ };
+ imports.wbg.__widl_instanceof_HTMLDataElement = function(arg0) {
+ const ret = getObject(arg0) instanceof HTMLDataElement;
+ return ret;
+ };
+ imports.wbg.__widl_f_set_value_HTMLDataElement = function(arg0, arg1, arg2) {
+ getObject(arg0).value = getStringFromWasm(arg1, arg2);
+ };
+ imports.wbg.__widl_instanceof_HTMLElement = function(arg0) {
+ const ret = getObject(arg0) instanceof HTMLElement;
+ return ret;
+ };
+ imports.wbg.__widl_f_focus_HTMLElement = function(arg0) {
+ try {
+ getObject(arg0).focus();
+ } catch (e) {
+ handleError(e)
+ }
+ };
+ imports.wbg.__widl_instanceof_HTMLInputElement = function(arg0) {
+ const ret = getObject(arg0) instanceof HTMLInputElement;
+ return ret;
+ };
+ imports.wbg.__widl_f_set_checked_HTMLInputElement = function(arg0, arg1) {
+ getObject(arg0).checked = arg1 !== 0;
+ };
+ imports.wbg.__widl_f_type_HTMLInputElement = function(arg0, arg1) {
+ const ret = getObject(arg1).type;
+ const ret0 = passStringToWasm(ret);
+ const ret1 = WASM_VECTOR_LEN;
+ getInt32Memory()[arg0 / 4 + 0] = ret0;
+ getInt32Memory()[arg0 / 4 + 1] = ret1;
+ };
+ imports.wbg.__widl_f_set_value_HTMLInputElement = function(arg0, arg1, arg2) {
+ getObject(arg0).value = getStringFromWasm(arg1, arg2);
+ };
+ imports.wbg.__widl_instanceof_HTMLLIElement = function(arg0) {
+ const ret = getObject(arg0) instanceof HTMLLIElement;
+ return ret;
+ };
+ imports.wbg.__widl_f_set_value_HTMLLIElement = function(arg0, arg1) {
+ getObject(arg0).value = arg1;
+ };
+ imports.wbg.__widl_instanceof_HTMLMenuItemElement = function(arg0) {
+ const ret = getObject(arg0) instanceof HTMLMenuItemElement;
+ return ret;
+ };
+ imports.wbg.__widl_f_set_checked_HTMLMenuItemElement = function(arg0, arg1) {
+ getObject(arg0).checked = arg1 !== 0;
+ };
+ imports.wbg.__widl_instanceof_HTMLMeterElement = function(arg0) {
+ const ret = getObject(arg0) instanceof HTMLMeterElement;
+ return ret;
+ };
+ imports.wbg.__widl_f_set_value_HTMLMeterElement = function(arg0, arg1) {
+ getObject(arg0).value = arg1;
+ };
+ imports.wbg.__widl_instanceof_HTMLOptionElement = function(arg0) {
+ const ret = getObject(arg0) instanceof HTMLOptionElement;
+ return ret;
+ };
+ imports.wbg.__widl_f_set_value_HTMLOptionElement = function(arg0, arg1, arg2) {
+ getObject(arg0).value = getStringFromWasm(arg1, arg2);
+ };
+ imports.wbg.__widl_instanceof_HTMLOutputElement = function(arg0) {
+ const ret = getObject(arg0) instanceof HTMLOutputElement;
+ return ret;
+ };
+ imports.wbg.__widl_f_set_value_HTMLOutputElement = function(arg0, arg1, arg2) {
+ getObject(arg0).value = getStringFromWasm(arg1, arg2);
+ };
+ imports.wbg.__widl_instanceof_HTMLParamElement = function(arg0) {
+ const ret = getObject(arg0) instanceof HTMLParamElement;
+ return ret;
+ };
+ imports.wbg.__widl_f_set_value_HTMLParamElement = function(arg0, arg1, arg2) {
+ getObject(arg0).value = getStringFromWasm(arg1, arg2);
+ };
+ imports.wbg.__widl_instanceof_HTMLProgressElement = function(arg0) {
+ const ret = getObject(arg0) instanceof HTMLProgressElement;
+ return ret;
+ };
+ imports.wbg.__widl_f_set_value_HTMLProgressElement = function(arg0, arg1) {
+ getObject(arg0).value = arg1;
+ };
+ imports.wbg.__widl_instanceof_HTMLSelectElement = function(arg0) {
+ const ret = getObject(arg0) instanceof HTMLSelectElement;
+ return ret;
+ };
+ imports.wbg.__widl_f_set_value_HTMLSelectElement = function(arg0, arg1, arg2) {
+ getObject(arg0).value = getStringFromWasm(arg1, arg2);
+ };
+ imports.wbg.__widl_instanceof_HTMLTextAreaElement = function(arg0) {
+ const ret = getObject(arg0) instanceof HTMLTextAreaElement;
+ return ret;
+ };
+ imports.wbg.__widl_f_set_value_HTMLTextAreaElement = function(arg0, arg1, arg2) {
+ getObject(arg0).value = getStringFromWasm(arg1, arg2);
+ };
+ imports.wbg.__widl_instanceof_HashChangeEvent = function(arg0) {
+ const ret = getObject(arg0) instanceof HashChangeEvent;
+ return ret;
+ };
+ imports.wbg.__widl_f_new_url_HashChangeEvent = function(arg0, arg1) {
+ const ret = getObject(arg1).newURL;
+ const ret0 = passStringToWasm(ret);
+ const ret1 = WASM_VECTOR_LEN;
+ getInt32Memory()[arg0 / 4 + 0] = ret0;
+ getInt32Memory()[arg0 / 4 + 1] = ret1;
+ };
+ imports.wbg.__widl_f_push_state_with_url_History = function(arg0, arg1, arg2, arg3, arg4, arg5) {
+ try {
+ getObject(arg0).pushState(getObject(arg1), getStringFromWasm(arg2, arg3), arg4 === 0 ? undefined : getStringFromWasm(arg4, arg5));
+ } catch (e) {
+ handleError(e)
+ }
+ };
+ imports.wbg.__widl_f_pathname_Location = function(arg0, arg1) {
+ try {
+ const ret = getObject(arg1).pathname;
+ const ret0 = passStringToWasm(ret);
+ const ret1 = WASM_VECTOR_LEN;
+ getInt32Memory()[arg0 / 4 + 0] = ret0;
+ getInt32Memory()[arg0 / 4 + 1] = ret1;
+ } catch (e) {
+ handleError(e)
+ }
+ };
+ imports.wbg.__widl_f_search_Location = function(arg0, arg1) {
+ try {
+ const ret = getObject(arg1).search;
+ const ret0 = passStringToWasm(ret);
+ const ret1 = WASM_VECTOR_LEN;
+ getInt32Memory()[arg0 / 4 + 0] = ret0;
+ getInt32Memory()[arg0 / 4 + 1] = ret1;
+ } catch (e) {
+ handleError(e)
+ }
+ };
+ imports.wbg.__widl_f_hash_Location = function(arg0, arg1) {
+ try {
+ const ret = getObject(arg1).hash;
+ const ret0 = passStringToWasm(ret);
+ const ret1 = WASM_VECTOR_LEN;
+ getInt32Memory()[arg0 / 4 + 0] = ret0;
+ getInt32Memory()[arg0 / 4 + 1] = ret1;
+ } catch (e) {
+ handleError(e)
+ }
+ };
+ imports.wbg.__widl_instanceof_Node = function(arg0) {
+ const ret = getObject(arg0) instanceof Node;
+ return ret;
+ };
+ imports.wbg.__widl_f_append_child_Node = function(arg0, arg1) {
+ try {
+ const ret = getObject(arg0).appendChild(getObject(arg1));
+ return addHeapObject(ret);
+ } catch (e) {
+ handleError(e)
+ }
+ };
+ imports.wbg.__widl_f_insert_before_Node = function(arg0, arg1, arg2) {
+ try {
+ const ret = getObject(arg0).insertBefore(getObject(arg1), getObject(arg2));
+ return addHeapObject(ret);
+ } catch (e) {
+ handleError(e)
+ }
+ };
+ imports.wbg.__widl_f_remove_child_Node = function(arg0, arg1) {
+ try {
+ const ret = getObject(arg0).removeChild(getObject(arg1));
+ return addHeapObject(ret);
+ } catch (e) {
+ handleError(e)
+ }
+ };
+ imports.wbg.__widl_f_replace_child_Node = function(arg0, arg1, arg2) {
+ try {
+ const ret = getObject(arg0).replaceChild(getObject(arg1), getObject(arg2));
+ return addHeapObject(ret);
+ } catch (e) {
+ handleError(e)
+ }
+ };
+ imports.wbg.__widl_f_node_type_Node = function(arg0) {
+ const ret = getObject(arg0).nodeType;
+ return ret;
+ };
+ imports.wbg.__widl_f_child_nodes_Node = function(arg0) {
+ const ret = getObject(arg0).childNodes;
+ return addHeapObject(ret);
+ };
+ imports.wbg.__widl_f_first_child_Node = function(arg0) {
+ const ret = getObject(arg0).firstChild;
+ return isLikeNone(ret) ? 0 : addHeapObject(ret);
+ };
+ imports.wbg.__widl_f_next_sibling_Node = function(arg0) {
+ const ret = getObject(arg0).nextSibling;
+ return isLikeNone(ret) ? 0 : addHeapObject(ret);
+ };
+ imports.wbg.__widl_f_text_content_Node = function(arg0, arg1) {
+ const ret = getObject(arg1).textContent;
+ const ptr0 = isLikeNone(ret) ? 0 : passStringToWasm(ret);
+ const len0 = WASM_VECTOR_LEN;
+ const ret0 = ptr0;
+ const ret1 = len0;
+ getInt32Memory()[arg0 / 4 + 0] = ret0;
+ getInt32Memory()[arg0 / 4 + 1] = ret1;
+ };
+ imports.wbg.__widl_f_set_text_content_Node = function(arg0, arg1, arg2) {
+ getObject(arg0).textContent = arg1 === 0 ? undefined : getStringFromWasm(arg1, arg2);
+ };
+ imports.wbg.__widl_f_get_NodeList = function(arg0, arg1) {
+ const ret = getObject(arg0)[arg1 >>> 0];
+ return isLikeNone(ret) ? 0 : addHeapObject(ret);
+ };
+ imports.wbg.__widl_f_length_NodeList = function(arg0) {
+ const ret = getObject(arg0).length;
+ return ret;
+ };
+ imports.wbg.__widl_instanceof_PopStateEvent = function(arg0) {
+ const ret = getObject(arg0) instanceof PopStateEvent;
+ return ret;
+ };
+ imports.wbg.__widl_f_state_PopStateEvent = function(arg0) {
+ const ret = getObject(arg0).state;
+ return addHeapObject(ret);
+ };
imports.wbg.__widl_f_new_WebSocket = function(arg0, arg1) {
try {
const ret = new WebSocket(getStringFromWasm(arg0, arg1));
@@ -227,9 +632,157 @@ function init(module) {
imports.wbg.__widl_f_set_onerror_WebSocket = function(arg0, arg1) {
getObject(arg0).onerror = getObject(arg1);
};
+ imports.wbg.__widl_f_set_onclose_WebSocket = function(arg0, arg1) {
+ getObject(arg0).onclose = getObject(arg1);
+ };
imports.wbg.__widl_f_set_onmessage_WebSocket = function(arg0, arg1) {
getObject(arg0).onmessage = getObject(arg1);
};
+ imports.wbg.__widl_f_cancel_animation_frame_Window = function(arg0, arg1) {
+ try {
+ getObject(arg0).cancelAnimationFrame(arg1);
+ } catch (e) {
+ handleError(e)
+ }
+ };
+ imports.wbg.__widl_f_request_animation_frame_Window = function(arg0, arg1) {
+ try {
+ const ret = getObject(arg0).requestAnimationFrame(getObject(arg1));
+ return ret;
+ } catch (e) {
+ handleError(e)
+ }
+ };
+ imports.wbg.__widl_f_document_Window = function(arg0) {
+ const ret = getObject(arg0).document;
+ return isLikeNone(ret) ? 0 : addHeapObject(ret);
+ };
+ imports.wbg.__widl_f_location_Window = function(arg0) {
+ const ret = getObject(arg0).location;
+ return addHeapObject(ret);
+ };
+ imports.wbg.__widl_f_history_Window = function(arg0) {
+ try {
+ const ret = getObject(arg0).history;
+ return addHeapObject(ret);
+ } catch (e) {
+ handleError(e)
+ }
+ };
+ imports.wbg.__widl_f_error_1_ = function(arg0) {
+ console.error(getObject(arg0));
+ };
+ imports.wbg.__wbg_call_aa56d0132fec7569 = function(arg0, arg1) {
+ try {
+ const ret = getObject(arg0).call(getObject(arg1));
+ return addHeapObject(ret);
+ } catch (e) {
+ handleError(e)
+ }
+ };
+ imports.wbg.__wbg_forEach_e651488daf2c21cc = function(arg0, arg1, arg2) {
+ const state0 = {a: arg1, b: arg2};
+ const cb0 = (arg0, arg1, arg2) => {
+ const a = state0.a;
+ state0.a = 0;
+ try {
+ return __wbg_elem_binding5(a, state0.b, arg0, arg1, arg2);
+ } finally {
+ state0.a = a;
+ }
+ };
+ try {
+ getObject(arg0).forEach(cb0);
+ } finally {
+ state0.a = state0.b = 0;
+ }
+ };
+ imports.wbg.__wbg_newnoargs_0c3c518a7f7c56bf = function(arg0, arg1) {
+ const ret = new Function(getStringFromWasm(arg0, arg1));
+ return addHeapObject(ret);
+ };
+ imports.wbg.__wbg_call_34f87007c5d2a397 = function(arg0, arg1, arg2) {
+ try {
+ const ret = getObject(arg0).call(getObject(arg1), getObject(arg2));
+ return addHeapObject(ret);
+ } catch (e) {
+ handleError(e)
+ }
+ };
+ imports.wbg.__wbg_new_5e8d465c199e6ff3 = function(arg0, arg1) {
+ const state0 = {a: arg0, b: arg1};
+ const cb0 = (arg0, arg1) => {
+ const a = state0.a;
+ state0.a = 0;
+ try {
+ return __wbg_elem_binding6(a, state0.b, arg0, arg1);
+ } finally {
+ state0.a = a;
+ }
+ };
+ try {
+ const ret = new Promise(cb0);
+ return addHeapObject(ret);
+ } finally {
+ state0.a = state0.b = 0;
+ }
+ };
+ imports.wbg.__wbg_resolve_04ca3cb0d333a4f0 = function(arg0) {
+ const ret = Promise.resolve(getObject(arg0));
+ return addHeapObject(ret);
+ };
+ imports.wbg.__wbg_then_1fa2e92ee4bdbc93 = function(arg0, arg1) {
+ const ret = getObject(arg0).then(getObject(arg1));
+ return addHeapObject(ret);
+ };
+ imports.wbg.__wbg_then_486e2e2b1fb1bbf4 = function(arg0, arg1, arg2) {
+ const ret = getObject(arg0).then(getObject(arg1), getObject(arg2));
+ return addHeapObject(ret);
+ };
+ imports.wbg.__wbg_globalThis_4fa2faeae7a7a380 = function() {
+ try {
+ const ret = globalThis.globalThis;
+ return addHeapObject(ret);
+ } catch (e) {
+ handleError(e)
+ }
+ };
+ imports.wbg.__wbg_self_ed02073ec1d8fef4 = function() {
+ try {
+ const ret = self.self;
+ return addHeapObject(ret);
+ } catch (e) {
+ handleError(e)
+ }
+ };
+ imports.wbg.__wbg_window_356847be61f4a80f = function() {
+ try {
+ const ret = window.window;
+ return addHeapObject(ret);
+ } catch (e) {
+ handleError(e)
+ }
+ };
+ imports.wbg.__wbg_global_6580a67633b0dbc1 = function() {
+ try {
+ const ret = global.global;
+ return addHeapObject(ret);
+ } catch (e) {
+ handleError(e)
+ }
+ };
+ imports.wbg.__wbindgen_is_undefined = function(arg0) {
+ const ret = getObject(arg0) === undefined;
+ return ret;
+ };
+ imports.wbg.__wbindgen_string_get = function(arg0, arg1) {
+ const obj = getObject(arg0);
+ if (typeof(obj) !== 'string') return 0;
+ const ptr = passStringToWasm(obj);
+ getUint32Memory()[arg1 / 4] = WASM_VECTOR_LEN;
+ const ret = ptr;
+ return ret;
+ };
imports.wbg.__wbindgen_debug_string = function(arg0, arg1) {
const ret = debugString(getObject(arg1));
const ret0 = passStringToWasm(ret);
@@ -240,10 +793,7 @@ function init(module) {
imports.wbg.__wbindgen_throw = function(arg0, arg1) {
throw new Error(getStringFromWasm(arg0, arg1));
};
- imports.wbg.__wbindgen_rethrow = function(arg0) {
- throw takeObject(arg0);
- };
- imports.wbg.__wbindgen_closure_wrapper17 = function(arg0, arg1, arg2) {
+ imports.wbg.__wbindgen_closure_wrapper163 = function(arg0, arg1, arg2) {
const state = { a: arg0, b: arg1, cnt: 1 };
const real = (arg0) => {
state.cnt++;
@@ -252,7 +802,7 @@ function init(module) {
try {
return __wbg_elem_binding0(a, state.b, arg0);
} finally {
- if (--state.cnt === 0) wasm.__wbg_function_table.get(3)(a, state.b);
+ if (--state.cnt === 0) wasm.__wbg_function_table.get(20)(a, state.b);
else state.a = a;
}
}
@@ -261,16 +811,16 @@ function init(module) {
const ret = real;
return addHeapObject(ret);
};
- imports.wbg.__wbindgen_closure_wrapper19 = function(arg0, arg1, arg2) {
+ imports.wbg.__wbindgen_closure_wrapper159 = function(arg0, arg1, arg2) {
const state = { a: arg0, b: arg1, cnt: 1 };
const real = (arg0) => {
state.cnt++;
const a = state.a;
state.a = 0;
try {
- return __wbg_elem_binding1(a, state.b, arg0);
+ return __wbg_elem_binding3(a, state.b, arg0);
} finally {
- if (--state.cnt === 0) wasm.__wbg_function_table.get(3)(a, state.b);
+ if (--state.cnt === 0) wasm.__wbg_function_table.get(20)(a, state.b);
else state.a = a;
}
}
@@ -279,7 +829,25 @@ function init(module) {
const ret = real;
return addHeapObject(ret);
};
- imports.wbg.__wbindgen_closure_wrapper21 = function(arg0, arg1, arg2) {
+ imports.wbg.__wbindgen_closure_wrapper692 = function(arg0, arg1, arg2) {
+ const state = { a: arg0, b: arg1, cnt: 1 };
+ const real = (arg0) => {
+ state.cnt++;
+ const a = state.a;
+ state.a = 0;
+ try {
+ return __wbg_elem_binding4(a, state.b, arg0);
+ } finally {
+ if (--state.cnt === 0) wasm.__wbg_function_table.get(144)(a, state.b);
+ else state.a = a;
+ }
+ }
+ ;
+ real.original = state;
+ const ret = real;
+ return addHeapObject(ret);
+ };
+ imports.wbg.__wbindgen_closure_wrapper157 = function(arg0, arg1, arg2) {
const state = { a: arg0, b: arg1, cnt: 1 };
const real = (arg0) => {
state.cnt++;
@@ -288,7 +856,25 @@ function init(module) {
try {
return __wbg_elem_binding2(a, state.b, arg0);
} finally {
- if (--state.cnt === 0) wasm.__wbg_function_table.get(3)(a, state.b);
+ if (--state.cnt === 0) wasm.__wbg_function_table.get(20)(a, state.b);
+ else state.a = a;
+ }
+ }
+ ;
+ real.original = state;
+ const ret = real;
+ return addHeapObject(ret);
+ };
+ imports.wbg.__wbindgen_closure_wrapper161 = function(arg0, arg1, arg2) {
+ const state = { a: arg0, b: arg1, cnt: 1 };
+ const real = (arg0) => {
+ state.cnt++;
+ const a = state.a;
+ state.a = 0;
+ try {
+ return __wbg_elem_binding1(a, state.b, arg0);
+ } finally {
+ if (--state.cnt === 0) wasm.__wbg_function_table.get(20)(a, state.b);
else state.a = a;
}
}
diff --git a/teleterm/static/teleterm_web_bg.wasm b/teleterm/static/teleterm_web_bg.wasm
index 37ef254..9070ad9 100644
--- a/teleterm/static/teleterm_web_bg.wasm
+++ b/teleterm/static/teleterm_web_bg.wasm
Binary files differ