summaryrefslogtreecommitdiffstats
path: root/src/env.rs
blob: 9792355babd35e9d1b07cc5b379b1fb78b0a2256 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
use std::env;

/// If `name` is set and, after trimming whitespace, is not empty string, then return that trimmed
/// string. Else None.
pub fn get_env_var(name: &str) -> Option<String> {
    match env::var(name).unwrap_or_else(|_| "".to_string()).trim() {
        "" => None,
        non_empty_string => Some(non_empty_string.to_string()),
    }
}

/// If `name` is set to any value at all (including "") then return true; else false.
pub fn get_boolean_env_var(name: &str) -> bool {
    env::var(name).ok().is_some()
}