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}