1#![deny(missing_docs, missing_debug_implementations)]
19
20mod console_dbg;
21mod counter;
22#[doc(hidden)]
23pub mod externs;
24mod macros;
25mod timer;
26
27pub use counter::Counter;
28pub use timer::Timer;
29
30#[doc(hidden)]
31pub mod __macro {
32 use ianaio_utils::format::JsValueSerdeExt;
33 pub use js_sys::Array;
34 pub use wasm_bindgen::JsValue;
35 use wasm_bindgen::UnwrapThrowExt;
36
37 pub fn table_with_data_and_columns<'a>(
38 data: impl serde::Serialize,
39 columns: impl IntoIterator<Item = &'a str>,
40 ) {
41 let data = <JsValue as JsValueSerdeExt>::from_serde(&data).unwrap_throw();
42 let columns = columns.into_iter().map(JsValue::from_str).collect();
43
44 crate::externs::table_with_data_and_columns(data, columns);
45 }
46}