1
2
3pub(crate) fn is_camel_or_pascal_case(name: &str) -> bool {
14 let mut has_uppercase = false;
15 let mut has_lowercase = false;
16
17 let mut chars = name.chars().peekable();
18
19 if let Some(first_char) = chars.peek() {
20 if first_char.is_lowercase() {
21 has_lowercase = true;
22 } else if first_char.is_uppercase() {
23 has_uppercase = true;
24 }
25 }
26
27 while let Some(c) = chars.next() {
28 if c.is_uppercase() {
29 has_uppercase = true;
30 } else if c.is_lowercase() {
31 has_lowercase = true;
32 } else if c.is_whitespace() || c == '_' {
33 continue;
35 }
36 }
37
38 has_uppercase && has_lowercase
39}
40
41pub(crate) fn starts_with_digit(name: &str) -> bool {
52 if let Some(first_char) = name.chars().next() {
53 if first_char.is_ascii_digit() {
54 return false;
55 }
56 }
57 true
58}