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