5 releases
0.1.4 | Feb 9, 2024 |
---|---|
0.1.3 | Sep 28, 2022 |
0.1.2 | Sep 28, 2022 |
0.1.1 | Sep 28, 2022 |
0.1.0 | Sep 28, 2022 |
#279 in Rust patterns
11,030 downloads per month
Used in 16 crates
(7 directly)
6KB
83 lines
enum-display
enum-display
is a crate for implementing std::fmt::Display
on enum variants with macros.
Simple Example
use enum_display::EnumDisplay;
#[derive(EnumDisplay)]
enum Color {
Red,
Green,
Blue,
}
assert_eq!(Color::Red.to_string(), "Red");
assert_eq!(Color::Green.to_string(), "Green");
assert_eq!(Color::Blue.to_string(), "Blue");
Example With Custom Case Transform
Any case from convert_case is supported.
use enum_display::EnumDisplay;
#[derive(EnumDisplay)]
#[enum_display(case = "Kebab")]
enum Message {
HelloGreeting { name: String },
}
assert_eq!(Message::HelloGreeting { name: "Alice".to_string() }.to_string(), "hello-greeting");
lib.rs
:
enum-display is a crate for implementing std::fmt::Display
on enum variants with macros.
Simple Example
use enum_display::EnumDisplay;
#[derive(EnumDisplay)]
enum Color {
Red,
Green,
Blue,
}
assert_eq!(Color::Red.to_string(), "Red");
assert_eq!(Color::Green.to_string(), "Green");
assert_eq!(Color::Blue.to_string(), "Blue");
Example With Custom Case Transform
Any case from convert_case is supported.
use enum_display::EnumDisplay;
#[derive(EnumDisplay)]
#[enum_display(case = "Kebab")]
enum Message {
HelloGreeting { name: String },
}
assert_eq!(Message::HelloGreeting { name: "Alice".to_string() }.to_string(), "hello-greeting");
Dependencies
~2MB
~42K SLoC