skip_typescript

預設情況下,暴露給 JavaScript 的 Rust 導出會產生 TypeScript 定義 (除非使用 --no-typescript)。 skip_typescript 屬性可用於禁用每個函式、列舉、結構或欄位的型別生成。例如


# #![allow(unused_variables)]
#fn main() {
#[wasm_bindgen(skip_typescript)]
pub enum MyHiddenEnum {
    One,
    Two,
    Three
}

#[wasm_bindgen]
pub struct MyPoint {
    pub x: u32,

    #[wasm_bindgen(skip_typescript)]
    pub y: u32,
}

#[wasm_bindgen]
impl MyPoint {

    #[wasm_bindgen(skip_typescript)]
    pub fn stringify(&self) -> String {
        format!("({}, {})", self.x, self.y)
    }
}
#}

將生成以下 .d.ts 檔案

/* tslint:disable */
/* eslint-disable */
export class MyPoint {
  free(): void;
  x: number;
}

當與typescript_custom_section 屬性結合使用時,這可用於手動指定更具體的函式型別,而不是使用生成的定義。