#[derive(Debug, Clone, PartialEq, Eq)]
pub enum Revision {
Rev(String),
Tag(String),
}
impl Revision {
pub fn as_str(&self) -> &str {
match self {
Self::Rev(rev) => rev,
Self::Tag(tag) => tag,
}
}
}
#[derive(Debug, Clone, PartialEq, Eq)]
pub struct Dependency {
src: String,
revision: Revision,
}
impl Dependency {
pub fn new(src: impl Into<String>, revision: Revision) -> Self {
Self {
src: src.into(),
revision,
}
}
pub fn src(&self) -> &str {
&self.src
}
pub fn revision(&self) -> &Revision {
&self.revision
}
}