utility_macros_internals/
case.rs

1use convert_case::Case;
2
3pub fn parse_case(s: &str) -> Result<Case, ()> {
4    match s.to_string().as_str() {
5        "upper" | "UPPER" => Ok(Case::Upper),
6        "lower" => Ok(Case::Lower),
7        "title" | "Title" => Ok(Case::Title),
8        "toggle" | "ToGgLe" => Ok(Case::Toggle),
9        "camel" => Ok(Case::Camel),
10        "pascal" | "Pascal" => Ok(Case::Pascal),
11        "snake" => Ok(Case::Snake),
12        "upper_snake" | "UPPER_SNAKE" => Ok(Case::UpperSnake),
13        "screaming_snake" | "SCREAMING_SNAKE" => Ok(Case::ScreamingSnake),
14        "kebab" => Ok(Case::Kebab),
15        "cobol" => Ok(Case::Cobol),
16        "train" | "Train" => Ok(Case::Train),
17        "flat" => Ok(Case::Flat),
18        "upper_flat" | "UPPER_FLAT" => Ok(Case::UpperFlat),
19        "alternating" | "aLtErNaTiNg" => Ok(Case::Alternating),
20        _ => Err(()),
21    }
22}