firmware_controller/
util.rs1pub(crate) fn pascal_to_snake_case(s: &str) -> String {
5 let mut snake = String::new();
6 for ch in s.chars() {
7 if ch.is_ascii_uppercase() && !snake.is_empty() {
8 snake.push('_');
9 }
10 snake.push(ch.to_ascii_lowercase());
11 }
12 snake
13}
14
15pub(crate) fn snake_to_pascal_case(s: &str) -> String {
19 let mut pascal = String::new();
20 let mut capitalize = true;
21 for ch in s.chars() {
22 if ch == '_' {
23 capitalize = true;
24 } else if capitalize {
25 pascal.push(ch.to_ascii_uppercase());
26 capitalize = false;
27 } else {
28 pascal.push(ch);
29 }
30 }
31 pascal
32}