//! Logging macros that work in both WebAssembly + JS environments and native
//! environments.
#[cfg(target_arch = "wasm32")]
use wasm_bindgen::prelude::*;
#[cfg(target_arch = "wasm32")]
#[wasm_bindgen]
extern "C" {
#[wasm_bindgen(js_namespace = console, js_name = log)]
pub fn js_console_log(s: &str);
}
#[cfg(target_arch = "wasm32")]
#[macro_export]
macro_rules! log {
($($t:tt)*) => {
$crate::log::js_console_log(&format_args!($($t)*).to_string())
}
}
#[cfg(not(target_arch = "wasm32"))]
#[macro_export]
macro_rules! log {
($($t:tt)*) => (println!($($t)*))
}