在 web-sys
中支持更多 Web API
-
确保描述该接口的
.webidl
文件存在于crates/web-sys/webidls/enabled
目录中的某处。首先,检查我们是否有你的 API 的 WebIDL 定义文件
grep -rn MyWebApi crates/web-sys/webidls
-
如果你的接口定义在
crates/web-sys/webidls/enabled
目录内的.webidl
文件中,请跳到步骤 (3)。 -
如果你的接口尚未在任何文件中定义,请在相关标准中查找 WebIDL 定义,并将其作为新的
.webidl
文件添加到crates/web-sys/webidls/enabled
中。请确保它是一个标准的 Web API!我们不想将非标准的 API 添加到这个 crate 中。 -
如果你的接口定义在任何
crates/web-sys/webidls/unavailable_*
目录中的.webidl
文件中,则需要将其移动到crates/web-sys/webidls/enabled
中,例如:cd crates/web-sys git mv webidls/unavailable_enum_ident/MyWebApi.webidl webidls/enabled/MyWebApi.webidl
-
-
重新生成
web-sys
crate 自动生成的绑定,你可以使用以下命令执行此操作cd crates/web-sys cargo run --release --package wasm-bindgen-webidl -- webidls src/features ./Cargo.toml
然后你可以使用
git diff
来确保绑定看起来正确。