#string-representation #string #struct #convert #string-conversion

macro struct_to_string

A Rust过程宏库,用于将结构定义转换为字符串表示。一个示例用途是用于API文档,您想在网页上展示API响应的Rust结构。

2个不稳定版本

0.2.0 2023年10月2日
0.1.0 2023年9月23日

#1450 in 过程宏

每月 21 次下载

MIT 协议

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