4个版本
0.1.3 | 2024年4月6日 |
---|---|
0.1.2 | 2023年2月20日 |
0.1.1 | 2021年8月24日 |
0.1.0 | 2020年1月27日 |
#112 in 编码
75,690 每月下载量
在 101 个crate中使用 (28 直接)
13KB
305 行
serde_variant
因此,你已经仔细定义了你的 enum
,以使用 serde
进行序列化和反序列化,正如你所期望的,现在你需要一个额外的 FromStr
或 Display
实现来使用与 serde
相同的名称为 enum
变体?你不愿意在两个地方重复所有这些定义吗?
serde_variant 是一个crate,它允许你检索传递给它的任何 enum
变体的标识符。
用法
该crate提供了一个单函数 to_variant_name
,用于检索传入的 enum
变体的名称。例如
use serde_variant::to_variant_name;
#[derive(Serialize)]
enum Foo {
Var1,
#[serde(rename = "VAR2")]
Var2,
}
assert_eq!(to_variant_name(&Foo::Var1).unwrap(), "Var1");
assert_eq!(to_variant_name(&Foo::Var2).unwrap(), "VAR2");
依赖项
~110–345KB