clap_conf/
env.rs

1use crate::{Filter, Getter};
2
3pub static EV: Enver = Enver {};
4
5#[derive(Debug)]
6pub struct Enver {}
7
8impl<'a> Getter<'a> for Enver {
9    type Out = String;
10    type Iter = std::option::IntoIter<String>;
11    fn value<S: AsRef<str>>(&self, s: S, f: Filter) -> Option<String> {
12        if f == Filter::Env {
13            return std::env::var(s.as_ref()).ok();
14        }
15        None
16    }
17    fn values<S: AsRef<str>>(&self, s: S, f: Filter) -> Option<Self::Iter> {
18        if f == Filter::Env {
19            return Some(std::env::var(s.as_ref()).ok().into_iter());
20        }
21        None
22    }
23}