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 中对普通数据对象进行类型检查。