2个不稳定版本
0.2.0 | 2023年10月2日 |
---|---|
0.1.0 | 2023年9月23日 |
#1450 in 过程宏
每月 21 次下载
23KB
446 行
struct_to_string
A Rust过程宏crate,用于将结构定义转换为字符串表示。
对于API文档等用途,它非常有用,您想在网页上展示您的Rust结构。
为了进一步帮助API文档等应用,它还可以将您的结构转换为其他语言的结构/类,如Go、Python、TypeScript、Java和C#。
对于复杂结构,结构到其他语言的转换可能并不总是完美。
安装
将 struct_to_string
添加到您的 Cargo.toml
[dependencies]
struct_to_string = "0.2.0"
用法
将 #[derive(StructToString)]
属性添加到您想要生成字符串表示的结构中
#[derive(StructToString)]
struct MyStruct {
field1: i32,
field2: String,
}
然后您可以使用生成的 to_rust_string()
函数
let my_struct_as_string = MyStruct::to_rust_string();
输出类似字符串
"struct MyStruct {
field1: i32,
field2: String,
}"
您还可以将您的结构转换为其他语言的struct/class字符串(用于API文档)
let my_struct_as_typescript_string = MyStruct::to_typescript_string();
输出类似字符串
"interface MyStruct {
field1: number;
field2: string;
}"
此crate可以将Rust结构转换为以下语言:
- Rust
- Go
- Python
- TypeScript
- Java
- C#
尽管对于复杂结构,转换可能并不总是完美。
许可
MIT
依赖项
~260–700KB
~17K SLoC