constructor
When attached to a Rust "constructor" it will make the generated JavaScript
bindings callable as new Foo()
.
For example, consider this exported Rust type and constructor
annotation:
#![allow(unused_variables)]
fn main() {
#[wasm_bindgen]
pub struct Foo {
contents: u32,
}
#[wasm_bindgen]
impl Foo {
#[wasm_bindgen(constructor)]
pub fn new() -> Foo {
Foo { contents: 0 }
}
pub fn get_contents(&self) -> u32 {
self.contents
}
}
}
This can be used in JavaScript as:
import { Foo } from './my_module';
const f = new Foo();
console.log(f.get_contents());