web-sys 中支援更多 Web API

  1. 確保描述介面的 .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
      
  2. 重新產生 web-sys crate 自動產生的綁定,您可以使用以下命令來完成

    cd crates/web-sys
    cargo run --release --package wasm-bindgen-webidl -- webidls src/features ./Cargo.toml
    

    然後,您可以使用 git diff 來確保綁定看起來正確。