1 unstable release
0.1.0 | Nov 26, 2022 |
---|
#229 in Parser tooling
60 downloads per month
15KB
from-str-sequential
A utility crate which implement a simple FromStrSequential
trait similar to FromStr
. Used on enums with unit and un-named variants, and try to convert the string to each variant sequentially (from top to bottom variant). For unit variant,
the string must be the variant name (case-insentive). For un-named variants, the string must match the FromStr
implementation of the un-named type.
This crate was initially released to allow multiple input formats for clap::Command
Example
use from_str_sequential::FromStrSequential;
#[derive(Debug, FromStrSequential, PartialEq, Eq)]
enum Foo {
Bar,
Baz(usize),
}
assert_eq!(Foo::Bar, Foo::from_str_sequential("bar").unwrap());
assert_eq!(Foo::Bar, Foo::from_str_sequential("BaR").unwrap());
assert_eq!(Foo::Baz(100), Foo::from_str_sequential("100").unwrap());
Dependencies
~1.5MB
~34K SLoC