Skip to main content

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}