pub fn snake_to_pascal(s: impl AsRef<str>, sep: &str) -> String {
s.as_ref().split(sep)
.filter(|part| !part.is_empty()) .map(|part| {
let mut chars = part.chars();
match chars.next() {
None => String::new(),
Some(first) => first.to_uppercase().collect::<String>() + chars.as_str(),
}
})
.collect::<String>()
}
pub fn write_log_src(sql: &str, args: &[String]) -> String {
let values = args
.iter()
.map(|it| format!("sqlx_context::log_value(&({}))", it))
.collect::<Vec<_>>()
.join(", ");
format!(
"if ctx.is_write_log_enabled() {{\n ctx.push_write_log({}, vec![{}]);\n}}\n",
sql, values
)
}