bwkit 0.1.0

A little utility toolkit created as an assignment for Rust course!
Documentation
pub fn reverse(text: &str) -> String {
    text
        .chars()
        .rev()
        .collect()
}

pub fn switch_case(text: &str) -> String {
    text
        .chars()
        .map(|c| if c.is_uppercase() {
            c.to_ascii_lowercase()
        } else if c.is_lowercase() {
            c.to_ascii_lowercase()
        } else {c})
        .collect()
}

pub fn stringify_value_9999(value: i64) -> Option<String> {
    if value > 9999 || value < 0 {
        return None;
    } else if value == 0 {
        return Some(String::from("zero"))
    }
    let thousands = value / 1000;
    let hundreds = (value - thousands * 1000) / 100;
    let tens = (value - thousands * 1000 - hundreds * 100) / 10;
    let ones = value - thousands * 1000 - hundreds * 100 - tens * 10;
    const STRINGIFIED:[&str; 9] = ["one", "two", "three", "four", "five", "six", "seven", "eight", "nine"];
    const STRINGIFIED_TEN:[&str; 10] = ["ten", "eleven", "twelve", "thirteen", "fourteen", "fifteen", "sixteen", "seventeen", "eighteen", "nineteen"];
    const STRINGIFIED_TENS:[&str; 8] = ["twenty", "thirty", "fourty", "fifty", "sixty", "seventy", "eighty", "ninty"];
    let mut result = String::new();

    if thousands > 0 {
        result.push_str(STRINGIFIED[(thousands-1) as usize]);
        result.push_str(" thousands");
    }
    if hundreds > 0 {
        if !result.is_empty() {
            // separator
            result.push(' ');
        }
        result.push_str(STRINGIFIED[(hundreds-1) as usize]);
        result.push_str(" hundreds");
    }
    if tens > 0 {
        if !result.is_empty() {
            // separator
            result.push(' ');
        }
        if tens == 1 {
            result.push_str(STRINGIFIED_TEN[ones as usize]);
        } else {
            result.push_str(STRINGIFIED_TENS[(tens - 2) as usize]);
        }
    }
    if ones > 0 && tens != 1 {
        if !result.is_empty() {
            // separator
            result.push(' ');
        }
    }
    result.push_str(STRINGIFIED[(ones - 1) as usize]);
    Some(result)
}