use super::structure::Link;
const MISSING_REFERENCE: &str = "Link reference is required";
pub struct LinkBuilder {
reference: Option<String>,
}
impl LinkBuilder {
pub fn new() -> Self {
LinkBuilder { reference: None }
}
pub fn reference(mut self, reference: String) -> Self {
self.reference = Some(reference);
self
}
pub fn build(self) -> Result<Link, &'static str> {
Ok(Link {
reference: self.reference.ok_or(MISSING_REFERENCE)?,
})
}
}
impl Default for LinkBuilder {
fn default() -> Self {
Self::new()
}
}