diff --git a/examples/console_log/Cargo.toml b/examples/console_log/Cargo.toml index 25761c2d..aa558dc8 100644 --- a/examples/console_log/Cargo.toml +++ b/examples/console_log/Cargo.toml @@ -8,3 +8,4 @@ crate-type = ["cdylib"] [dependencies] wasm-bindgen = { path = "../.." } +web-sys = { path = "../../crates/web-sys" } \ No newline at end of file diff --git a/examples/console_log/README.md b/examples/console_log/README.md index 27a58418..dec3ea2e 100644 --- a/examples/console_log/README.md +++ b/examples/console_log/README.md @@ -2,8 +2,10 @@ [View this example online](https://webassembly.studio/?f=ppd7u8k9i9) -This directory is an example of using the `#[wasm_bindgen]` macro to import the -`console.log` function and call it + +This directory is an example of two ways to get access to the `console.log` function. +The first way uses the `#[wasm_bindgen]` macro to import the function and call it. +The second way uses the binding from the `web-sys` crate. You can build the example with: diff --git a/examples/console_log/src/lib.rs b/examples/console_log/src/lib.rs index 5b652e71..cd23275e 100644 --- a/examples/console_log/src/lib.rs +++ b/examples/console_log/src/lib.rs @@ -1,9 +1,14 @@ #![feature(use_extern_macros)] extern crate wasm_bindgen; +extern crate web_sys; use wasm_bindgen::prelude::*; +// You can use the console bindings from web-sys... +use web_sys::console; + +// ... or you can manually write the bindings yourself #[wasm_bindgen] extern "C" { #[wasm_bindgen(js_namespace = console)] @@ -19,4 +24,7 @@ pub fn run() { log("Hello from Rust!"); log_u32(42); log_many("Logging", "many values!"); + + console::log(JsValue::from("Another message from rust!")); + console::log(JsValue::from(56u32)); }