use crate::{DependencyIdentifier,DependencyType};
use serde::{Deserialize,Serialize};
#[derive(Deserialize, Serialize, Debug, PartialEq, PartialOrd)]
#[serde(bound(deserialize = "'de: 'a"))]
pub struct Dependency<'a> {
pub dependency_type : DependencyType,
pub dependency_identifier : DependencyIdentifier<'a>
}
impl<'a> Dependency<'a> {
pub fn new(dependency_type: DependencyType, dependency_identifier: DependencyIdentifier<'a>) -> Self {
Dependency {
dependency_type,
dependency_identifier,
}
}
}
impl std::fmt::Display for Dependency<'_> {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
write!(f,"{}({})",self.dependency_type.to_string(),self.dependency_identifier.to_string())
}
}