dawars 0.0.2

Library to query Danmarks Adressers Web API (DAWA)
Documentation
use url::Url;
use serde::{Deserialize, Serialize};

#[derive(Debug, Serialize, Deserialize, PartialEq, Clone)]
pub struct ZipCode {
    #[serde(rename = "href")]
    href: Url,

    #[serde(rename = "nr")]
    code: String,

    #[serde(rename = "navn")]
    name: Option<String>,
}

impl ZipCode {
    pub fn href(&self) -> &Url {
        &self.href
    }

    pub fn code(&self) -> &str {
        &self.code
    }

    pub fn name(&self) -> Option<&str> {
        match &self.name {
            None => None,
            Some(name) => Some(&name),
        }
    }

    pub fn new(href: &Url, code: &str, name: Option<&str>) -> Self {
        Self {
            href: href.to_owned(),
            code: code.to_string(),
            name: name.map(String::from),
        }
    }
}