openai_agents_rust/utils/
env.rs

1use std::env;
2
3/// Read a boolean environment variable.
4/// Accepts 1/true/yes/on (case-insensitive) as true; 0/false/no/off as false.
5/// Returns `default` if the variable is unset or empty.
6pub fn var_bool(name: &str, default: bool) -> bool {
7    match env::var(name) {
8        Ok(v) if !v.trim().is_empty() => match v.trim().to_ascii_lowercase().as_str() {
9            "1" | "true" | "yes" | "on" => true,
10            "0" | "false" | "no" | "off" => false,
11            _ => default,
12        },
13        _ => default,
14    }
15}
16
17/// Returns the non-empty value of an environment variable or None.
18pub fn var_nonempty(name: &str) -> Option<String> {
19    env::var(name).ok().and_then(|v| {
20        let t = v.trim();
21        if t.is_empty() { None } else { Some(t.to_string()) }
22    })
23}
24
25/// Returns the raw environment variable value if present.
26pub fn var_opt(name: &str) -> Option<String> {
27    env::var(name).ok()
28}