mirror of
https://github.com/fluencelabs/wasm-bindgen
synced 2025-05-11 21:37:16 +00:00
This commit enables `[NoInterfaceObject]` annotated interfaces in `web-sys`. The `NoInterfaceObject` attribute means that there's not actually a JS class for the object, but all of its properties and such can still be accessed structually and invoked. This should help provide more bindings for some more common types on the web! Note that this builds on recent features to ensure that `dyn_into` and friends always fail for `NoInterfaceObject` objects because they don't actually have a class. Closes #893 Closes #1257 Closes #1315
web-sys
Raw bindings to Web APIs for projects using wasm-bindgen
.
Crate features
This crate by default contains very little when compiled as almost all of its
exposed APIs are gated by Cargo features. The exhaustive list of features can be
found in crates/web-sys/Cargo.toml
, but the rule of thumb for web-sys
is
that each type has its own cargo feature (named after the type). Using an API
requires enabling the features for all types used in the API, and APIs should
mention in the documentation what features they require.