envl-utils 0.8.0

util elements for envl
Documentation
pub fn camel_case_to_snake_case(txt: &str) -> String {
    let mut result = String::new();

    for (i, c) in txt.char_indices() {
        let converted = if c.is_uppercase() {
            if i == 0 {
                c.to_lowercase().to_string()
            } else {
                format!("_{}", c.to_lowercase())
            }
        } else {
            c.to_string()
        };
        result.push_str(&converted);
    }

    result
}

#[cfg(test)]
mod test {
    use crate::case::camel_case_to_snake_case;

    #[test]
    fn convert_test() {
        assert_eq!(
            camel_case_to_snake_case("thisIsATest"),
            "this_is_a_test".to_string()
        );
    }
}