easy_arg 0.2.6

EasyArg read variables from command line arguments/system envrioment/.env files
Documentation
use std::collections::HashMap;

pub fn to_bool(key: &str) -> bool {
    return match key {
        "true" | "True" | "TRUE" => true,
        "false" | "False" | "FALSE" | "0" | "null" | "NULL" | "Null" => false,
        _ => true,
    };
}

pub fn get_string(map: &HashMap<String, String>, key: &str) -> String {
    if let Some(val) = map.get(key) {
        return val.to_string();
    }
    return String::new();
}

pub fn get_bool(map: &HashMap<String, String>, key: &str) -> bool {
    if let Some(val) = map.get(key) {
        return to_bool(val);
    }
    return false;
}

pub fn get_vec(map: &HashMap<String, String>, key: &str) -> Vec<String> {
    if key.len() == 0 {
        return vec![];
    }
    let val = map.get(key);
    match val {
        Some(val) => val.split(",").map(|s| s.to_string()).collect(),
        None => vec![],
    }
}

pub fn must_get_string(map: &HashMap<String, String>, key: &str) -> String {
    if let Some(val) = map.get(key) {
        return val.to_string();
    }
    panic!("key: {} not found!", key);
}

pub fn must_get_bool(map: &HashMap<String, String>, key: &str) -> bool {
    if let Some(val) = map.get(key) {
        return to_bool(val);
    }
    panic!("key: {} not found!", key);
}