dotenv_space/formats/
docker.rs1use crate::core::converter::{ConvertOptions, Converter};
6use anyhow::Result;
7use std::collections::HashMap;
8
9pub struct DockerComposeConverter;
10
11impl Converter for DockerComposeConverter {
12 fn convert(&self, vars: &HashMap<String, String>, options: &ConvertOptions) -> Result<String> {
13 let filtered = options.filter_vars(vars);
14
15 let mut output = String::new();
16 output.push_str("environment:\n");
17
18 for (k, v) in filtered.iter() {
19 let key = options.transform_key(k);
20 let value = options.transform_value(v);
21 output.push_str(&format!(" - {}={}\n", key, value));
22 }
23
24 Ok(output)
25 }
26
27 fn name(&self) -> &str {
28 "docker-compose"
29 }
30
31 fn description(&self) -> &str {
32 "Docker Compose YAML environment section"
33 }
34}