Commit aa095dd
Move callback init
Changed files (5)
modifiedCargo.lockmodifiedCargo.tomlmodifiedexamples/clickcounter/Cargo.lockmodifiedexamples/clickcounter/src/lib.rsmodifiedsrc/lib.rs
Diff
@@ -30,16 +30,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" [[package]]-name = "ctor"-version = "0.1.26"-source = "registry+https://github.com/rust-lang/crates.io-index"-checksum = "6d2301688392eb071b0bf1a37be05c469d3cc4dbbd95df672fe28ab021e6a096"-dependencies = [- "quote",- "syn 1.0.109",-]--[[package]] name = "equivalent" version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index"@@ -98,7 +88,7 @@ checksum = "e835b70203e41293343137df5c0664546da5745f82ec9b84d40be8336958447b" dependencies = [ "proc-macro2", "quote",- "syn 2.0.117",+ "syn", ] [[package]]@@ -144,17 +134,6 @@ dependencies = [ ] [[package]]-name = "ghost"-version = "0.1.21"-source = "registry+https://github.com/rust-lang/crates.io-index"-checksum = "fe3de42e89f5bd0686d0058be48d545333311e34c763f85324938ba7cc473149"-dependencies = [- "proc-macro2",- "quote",- "syn 2.0.117",-]--[[package]] name = "gloo" version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index"@@ -345,7 +324,7 @@ dependencies = [ "proc-macro-crate", "proc-macro2", "quote",- "syn 2.0.117",+ "syn", ] [[package]]@@ -376,24 +355,11 @@ dependencies = [ [[package]] name = "inventory"-version = "0.1.11"-source = "registry+https://github.com/rust-lang/crates.io-index"-checksum = "f0eb5160c60ba1e809707918ee329adb99d222888155835c6feedba19f6c3fd4"-dependencies = [- "ctor",- "ghost",- "inventory-impl",-]--[[package]]-name = "inventory-impl"-version = "0.1.11"+version = "0.3.24" source = "registry+https://github.com/rust-lang/crates.io-index"-checksum = "7e41b53715c6f0c4be49510bb82dee2c1e51c8586d885abe65396e82ed518548"+checksum = "a4f0c30c76f2f4ccee3fe55a2435f691ca00c0e4bd87abe4f4a851b1d4dac39b" dependencies = [- "proc-macro2",- "quote",- "syn 1.0.109",+ "rustversion", ] [[package]]@@ -421,7 +387,7 @@ dependencies = [ "gloo", "proc-macro2", "quote",- "syn 2.0.117",+ "syn", ] [[package]]@@ -480,7 +446,7 @@ checksum = "c96395f0a926bc13b1c17622aaddda1ecb55d49c8f1bf9777e4d877800a43f8b" dependencies = [ "proc-macro2", "quote",- "syn 2.0.117",+ "syn", ] [[package]]@@ -588,7 +554,7 @@ checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79" dependencies = [ "proc-macro2", "quote",- "syn 2.0.117",+ "syn", ] [[package]]@@ -624,17 +590,6 @@ checksum = "0c790de23124f9ab44544d7ac05d60440adc586479ce501c1d6d7da3cd8c9cf5" [[package]] name = "syn"-version = "1.0.109"-source = "registry+https://github.com/rust-lang/crates.io-index"-checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237"-dependencies = [- "proc-macro2",- "quote",- "unicode-ident",-]--[[package]]-name = "syn" version = "2.0.117" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e665b8803e7b1d2a727f4023456bbbbe74da67099c585258af0ad9c5013b9b99"@@ -670,7 +625,7 @@ checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ "proc-macro2", "quote",- "syn 2.0.117",+ "syn", ] [[package]]@@ -681,7 +636,7 @@ checksum = "ebc4ee7f67670e9b64d05fa4253e753e016c6c95ff35b89b7941d6b856dec1d5" dependencies = [ "proc-macro2", "quote",- "syn 2.0.117",+ "syn", ] [[package]]@@ -755,7 +710,7 @@ dependencies = [ "bumpalo", "proc-macro2", "quote",- "syn 2.0.117",+ "syn", "wasm-bindgen-shared", ] @@ -11,5 +11,5 @@ wasm-bindgen = "0.2.122" web-sys = { version = "0.3.99", features = ["Element", "HtmlElement", "NodeList"] } serde = { version = "1.0", features = ["derive"] } serde-wasm-bindgen = "0.5"-inventory = "0.1"+inventory = "0.3.24" js-sys = "0.3"@@ -52,16 +52,6 @@ dependencies = [ ] [[package]]-name = "ctor"-version = "0.1.26"-source = "registry+https://github.com/rust-lang/crates.io-index"-checksum = "6d2301688392eb071b0bf1a37be05c469d3cc4dbbd95df672fe28ab021e6a096"-dependencies = [- "quote",- "syn 1.0.109",-]--[[package]] name = "equivalent" version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index"@@ -185,17 +175,6 @@ dependencies = [ ] [[package]]-name = "ghost"-version = "0.1.21"-source = "registry+https://github.com/rust-lang/crates.io-index"-checksum = "fe3de42e89f5bd0686d0058be48d545333311e34c763f85324938ba7cc473149"-dependencies = [- "proc-macro2",- "quote",- "syn 2.0.117",-]--[[package]] name = "gloo" version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index"@@ -440,17 +419,6 @@ dependencies = [ [[package]] name = "inventory"-version = "0.1.11"-source = "registry+https://github.com/rust-lang/crates.io-index"-checksum = "f0eb5160c60ba1e809707918ee329adb99d222888155835c6feedba19f6c3fd4"-dependencies = [- "ctor",- "ghost",- "inventory-impl",-]--[[package]]-name = "inventory" version = "0.3.24" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a4f0c30c76f2f4ccee3fe55a2435f691ca00c0e4bd87abe4f4a851b1d4dac39b"@@ -459,17 +427,6 @@ dependencies = [ ] [[package]]-name = "inventory-impl"-version = "0.1.11"-source = "registry+https://github.com/rust-lang/crates.io-index"-checksum = "7e41b53715c6f0c4be49510bb82dee2c1e51c8586d885abe65396e82ed518548"-dependencies = [- "proc-macro2",- "quote",- "syn 1.0.109",-]--[[package]] name = "itoa" version = "1.0.18" source = "registry+https://github.com/rust-lang/crates.io-index"@@ -515,7 +472,7 @@ version = "0.1.0" dependencies = [ "gloo", "gloo-console",- "inventory 0.1.11",+ "inventory", "js-sys", "kaja-callback-macro", "serde",@@ -530,7 +487,7 @@ version = "0.1.0" dependencies = [ "console_error_panic_hook", "gloo",- "inventory 0.3.24",+ "inventory", "js-sys", "kaja-callback-macro", "kaja-html-macro",@@ -790,7 +747,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" dependencies = [ "proc-macro2",- "quote", "unicode-ident", ] @@ -12,9 +12,6 @@ struct AppData { pub static APP_DATA: RwLock<AppData> = RwLock::new(AppData { current_count: 0 }); -pub struct InitFn(fn());-inventory::collect!(InitFn);- #[callback("incrementCounter")] pub fn increment_counter() { let mut app_data = APP_DATA.write().unwrap();@@ -58,12 +55,6 @@ fn update_counter_display(app_data: &AppData) { } } -pub fn init_callbacks() {- for init in inventory::iter::<InitFn> {- (init.0)();- }-}- #[wasm_bindgen(start)] pub fn init() { std::panic::set_hook(Box::new(console_error_panic_hook::hook));@@ -2,6 +2,9 @@ use gloo::console::log; use wasm_bindgen::JsCast; use web_sys::{Element, HtmlElement, NodeList}; +pub struct InitFn(pub fn());+inventory::collect!(InitFn);+ #[derive(Debug, Clone, Copy)] pub struct Error; @@ -22,6 +25,12 @@ unsafe impl Sync for CallbackRegistration {} inventory::collect!(CallbackRegistration); +pub fn init_callbacks() {+ for init in inventory::iter::<InitFn> {+ (init.0)();+ }+}+ impl App { pub fn new() -> Self { App {}