main
When attached to the main function this attribute will adjust it to properly
throw errors if they can be.
#[wasm_bindgen(main)]
fn main() -> Result<(), JsValue> {
Err(JsValue::from("this error message will be thrown"))
}
The attribute also allows using async fn main() in Cargo binaries.
#[wasm_bindgen(main)]
async fn main() {
// ...
future.await;
}
This attribute is only intended to be used on the main function of binaries or
examples. Unlike #[wasm_bindgen(start)], it will not cause an arbitrary
function to be executed on start in a library.
The return type support is modeled after Termination. () and Infallible
are supported, but Termination itself is not. In order, wasm-bindgen will
first detect a Result<(), impl Into<JsValue>> and will throw proper
JsValues, Result<(), impl Debug> will convert an error to a string and throw
that.