mecha10_cli_core/utils/
string_case.rs1pub fn to_pascal_case(s: &str) -> String {
5 s.split('_')
6 .map(|word| {
7 let mut c = word.chars();
8 match c.next() {
9 None => String::new(),
10 Some(f) => f.to_uppercase().collect::<String>() + c.as_str(),
11 }
12 })
13 .collect()
14}
15
16pub fn to_snake_case(s: &str) -> String {
18 let mut result = String::new();
19 for (i, ch) in s.chars().enumerate() {
20 if ch.is_uppercase() && i > 0 {
21 result.push('_');
22 }
23 result.push(ch.to_lowercase().next().unwrap());
24 }
25 result
26}