sqlcx_core/generator/go/common/naming.rs
1// Naming helpers shared across Go driver generators.
2
3use crate::utils::pascal_case;
4
5/// Generate the SQL constant name for a query: `getUserSQL`, `listUsersSQL`, etc.
6pub fn sql_const_name(query_name: &str) -> String {
7 format!("{}SQL", lcfirst(&pascal_case(query_name)))
8}
9
10/// Lowercase the first character of a string.
11pub fn lcfirst(s: &str) -> String {
12 let mut c = s.chars();
13 match c.next() {
14 None => String::new(),
15 Some(f) => f.to_lowercase().collect::<String>() + c.as_str(),
16 }
17}