gitql_parser/
name_generator.rsstatic COLUMN_NAME_PREFIX: &str = "column_";
static HIDDEN_NAME_PREFIX: &str = "_@temp_";
#[derive(Default)]
pub struct NameGenerator {
column_name_number: usize,
temp_name_number: usize,
}
impl NameGenerator {
pub fn generate_column_name(&mut self) -> String {
let name = format!("{}{}", COLUMN_NAME_PREFIX, self.column_name_number);
self.column_name_number += 1;
name
}
pub fn generate_temp_name(&mut self) -> String {
let name = format!("{}{}", HIDDEN_NAME_PREFIX, self.temp_name_number);
self.temp_name_number += 1;
name
}
pub fn reset_numbers(&mut self) {
self.column_name_number = 0;
self.temp_name_number = 0;
}
}