1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
use warpgate_api::api_enum;

api_enum!(
    #[serde(untagged)]
    pub enum StringOrVec {
        String(String),
        Vec(Vec<String>),
    }
);

impl StringOrVec {
    pub fn as_string(&self) -> String {
        match self {
            Self::String(value) => value.to_owned(),
            Self::Vec(value) => value.to_vec().join(" "),
        }
    }
}