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