4 releases
0.1.3 | Apr 6, 2024 |
---|---|
0.1.2 | Feb 20, 2023 |
0.1.1 | Aug 24, 2021 |
0.1.0 | Jan 27, 2020 |
#186 in Encoding
134,711 downloads per month
Used in 117 crates
(35 directly)
13KB
305 lines
serde_variant
So you have just carefully defined your enum
to be serialized and
deserialized using serde
as you intended and now you need an
additional FromStr
or Display
implementation that uses the same
names for enum
variants as serde
uses? You are reluctant to
duplicate all those definitions in two places?
serde_variant is a crate that allows you to retrieve back the
identifier of any enum
variant passed to it.
Usage
The crate provides a single function, to_variant_name
, that retrieves
the name of a passed in enum
variant. For example:
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");
Dependencies
~100–330KB