skip_typescript

默认情况下,Rust 导出到 JavaScript 的内容将生成 TypeScript 定义(除非使用 `--no-typescript`)。`skip_typescript` 属性可用于禁用每个函数、枚举、结构体或字段的类型生成。例如

#![allow(unused)]
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` 属性 结合使用时,这可用于手动指定更具体的函数类型,而不是使用生成的定义。