typescript_custom_section

当添加到 const &'static str 时,它会将字符串的内容附加到由 wasm-bindgen-cli 导出的 .d.ts 文件(当启用 --typescript 标志时)。

#![allow(unused)]
fn main() {
#[wasm_bindgen(typescript_custom_section)]
const TS_APPEND_CONTENT: &'static str = r#"

export type Coords = { "latitude": number, "longitude": number, }; 

"#;
}

此功能的主要目标是用于代码生成。例如,您可以编写一个宏,允许您在结构体或 Rust 类型定义的同时导出 TypeScript 定义。

#![allow(unused)]
fn main() {
#[derive(MyTypescriptExport)]
struct Coords {
    latitude: u32,
    longitude: u32,
}
}

proc_derive_macro "MyTypescriptExport" 可以导出自己的 #[wasm_bindgen(typescript_custom_section)] 部分,然后会被 wasm-bindgen-cli 拾取。这相当于第一个示例中 TS_APPEND_CONTENT 字符串的内容。

此功能允许通过输出编译时生成的类型定义,在 Rust 和 TypeScript 中对普通数据对象进行类型检查。