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