js_class = Blah
The js_class
attribute is used to indicate that all the methods inside an
impl
block should be attached to the specified JS class instead of inferring
it from the self type in the impl
block. The js_class
attribute is most
frequently paired with the js_name
attribute on structs:
#![allow(unused)] fn main() { #[wasm_bindgen(js_name = Foo)] pub struct JsFoo { /* ... */ } #[wasm_bindgen(js_class = Foo)] impl JsFoo { #[wasm_bindgen(constructor)] pub fn new() -> JsFoo { /* ... */ } pub fn foo(&self) { /* ... */ } } }
which is accessed like:
#![allow(unused)] fn main() { import { Foo } from './my_module'; const x = new Foo(); x.foo(); }