diff --git a/src/lib.rs b/src/lib.rs index 81e2518..28cb72c 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -61,13 +61,20 @@ impl Compose { } } +#[derive(Clone, Debug, Serialize, Deserialize, Eq, PartialEq, Hash)] +#[serde(untagged)] +pub enum StringOrList { + Simple(String), + List(Vec), +} + #[derive(Builder, Clone, Debug, Deserialize, Serialize, PartialEq, Default)] #[builder(setter(into), default)] pub struct Include { #[serde(skip_serializing_if = "Option::is_none")] pub project_directory: Option, #[serde(skip_serializing_if = "Option::is_none")] - pub path: Option, + pub path: Option, #[serde(skip_serializing_if = "Option::is_none")] pub env_file: Option, } @@ -301,12 +308,7 @@ impl Service { } } -#[derive(Clone, Debug, Serialize, Deserialize, Eq, PartialEq, Hash)] -#[serde(untagged)] -pub enum EnvFile { - Simple(String), - List(Vec), -} +type EnvFile = StringOrList; #[derive(Clone, Debug, Serialize, Deserialize, Eq, PartialEq)] #[serde(untagged)]