Following up on @CAD97's answer, wasm-bindgen is now available. It does its best to expose all javascript functionality to Rust applications compiled to WebAssembly. Documented here is an example of using a serde macro to automatically encode and decode structs to/from javascript objects.

Only top voted, non community-wiki answers of a minimum length are eligible