sdl_parser/
common.rs

1use serde::{Deserialize, Serialize};
2
3#[derive(PartialEq, Eq, Debug, Serialize, Deserialize, Clone)]
4pub struct Source {
5    pub name: String,
6    pub version: String,
7}
8
9#[derive(PartialEq, Eq, Debug, Serialize, Deserialize, Clone)]
10#[serde(untagged)]
11pub enum HelperSource {
12    Source(Source),
13    ShortSource(String),
14}
15
16impl From<HelperSource> for Source {
17    fn from(helper_source: HelperSource) -> Self {
18        match helper_source {
19            HelperSource::Source(source) => source,
20            HelperSource::ShortSource(source) => Source {
21                name: source,
22                version: "*".to_string(),
23            },
24        }
25    }
26}