2 个版本
0.1.1 | 2022 年 3 月 26 日 |
---|---|
0.1.0 | 2022 年 3 月 26 日 |
#2419 in Rust 模式
5KB
标记化枚举
将枚举转换为字符串/从字符串转换枚举。
入门指南
实现了 Derives ToString, FromStr 实现方法
#[derive(ToString, FromStr)]
enum Test {
Foo,
Bar,
}
assert_eq!(Test::Foo.to_string(), "Foo");
assert_eq!(Test::from_str("Foo").unwrap(), Test::Foo);
大小写
您可以使用属性指定 snake_case
#[derive(ToString, FromStr)]
#[label(rename_all = "snake_case")]
enum Test {
SnakeCase,
}
与 serde 一起使用
labelled-enum 提供 serde_plugin
功能,以便与 serde Serializer/Deserializer 一起使用
// install labelled-enum with --features serde_plugin
#[derive(Serialize, Deserialize)]
struct Wrapper {
#[serde(with = "labelled_enum::serde_plugin")]
test_snake_case: TestSnakeCase,
}
依赖关系
~1.5MB
~37K SLoC