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}