Crates.io | web-sys |
lib.rs | web-sys |
version | |
source | src |
created_at | 2018-07-19 19:42:48.824097 |
updated_at | 2024-12-07 01:15:49.155904 |
description | Bindings for all Web APIs, a procedurally generated crate from WebIDL |
homepage | https://rustwasm.github.io/wasm-bindgen/web-sys/index.html |
repository | https://github.com/rustwasm/wasm-bindgen/tree/master/crates/web-sys |
max_upload_size | |
id | 75113 |
Cargo.toml error: | TOML parse error at line 23, column 1 | 23 | autolib = false | ^^^^^^^ unknown field `autolib`, expected one of `name`, `version`, `edition`, `authors`, `description`, `readme`, `license`, `repository`, `homepage`, `documentation`, `build`, `resolver`, `links`, `default-run`, `default_dash_run`, `rust-version`, `rust_dash_version`, `rust_version`, `license-file`, `license_dash_file`, `license_file`, `licenseFile`, `license_capital_file`, `forced-target`, `forced_dash_target`, `autobins`, `autotests`, `autoexamples`, `autobenches`, `publish`, `metadata`, `keywords`, `categories`, `exclude`, `include` |
size | 0 |
web-sys
Raw bindings to Web APIs for projects using wasm-bindgen
.
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.
If you don't see a particular web API in web-sys
, here is how to add it.
Copy the WebIDL specification of the API and place it in a new file in the
webidls/unstable
folder. You can often find the IDL by going to the MDN
docs page for the API, scrolling to the bottom, clicking the
"Specifications" link, and scrolling to the bottom of the specification
page. For example, the bottom of the MDN
docs on the
MediaSession API takes you to the
spec. The
very bottom of that page
is the IDL.
Annotate the functions that can throw with [Throws]
cd crates/web-sys
Run cargo run --release --package wasm-bindgen-webidl -- webidls src/features ./Cargo.toml
If formatting fails, you can run cargo fmt
in the crates/web-sys
directory. On Windows, you might also want to run cargo fmt -- --config newline_style=Unix
depending on your git configuration.
Run git add .
to add all the generated files into git.
Add an entry in CHANGELOG.md like the following
...
## Unreleased
### Added
...
* Added <your addition>
[#1234](https://github.com/rustwasm/wasm-bindgen/pull/1234) # <- link to your PR