envuse_parser/envuse/
to_envs.rs

1use std::collections::BTreeMap;
2
3use super::to_optional_string::ToOptionalString;
4
5pub trait ToEnvs {
6    fn to_envs(self) -> BTreeMap<String, Option<String>>;
7}
8
9impl ToEnvs for BTreeMap<String, Option<String>> {
10    fn to_envs(self) -> BTreeMap<String, Option<String>> {
11        self
12    }
13}
14
15impl<T: ToString, D: ToOptionalString, const Z: usize> ToEnvs for [(T, D); Z] {
16    fn to_envs(self) -> BTreeMap<String, Option<String>> {
17        BTreeMap::from(self.map(|t| (t.0.to_string(), t.1.to_optional_string())))
18    }
19}
20
21impl ToEnvs for Option<BTreeMap<String, Option<String>>> {
22    fn to_envs(self) -> BTreeMap<String, Option<String>> {
23        BTreeMap::new()
24    }
25}