use log::{Level, debug, info}; use console_log; use wasm_bindgen::prelude::*; mod forth; #[wasm_bindgen] extern { #[wasm_bindgen(js_namespace = console)] fn debug(s: &str); } #[wasm_bindgen] pub fn compile() { info!("compiling code"); } #[wasm_bindgen] pub fn tick() { info!("executing single instruction"); } #[wasm_bindgen] pub fn run() { info!("running to completion"); } #[wasm_bindgen(start)] pub fn init() -> Result<(), JsValue> { console_log::init_with_level(Level::Debug).expect("couldn't init console log"); debug!("starting run"); let window = web_sys::window().expect("no global `window` exists"); let document = window.document().expect("should have `document` on window"); let body = document.body().expect("document should have `body`"); let val = document.create_element("p")?; val.set_text_content(Some("hi there")); body.append_child(&val)?; debug!("done in rust's run"); Ok(()) }