nil-zonefile 0.3.0

A library for parsing and creating zonefiles on the new internet.
Documentation
use serde::{Deserialize, Serialize};
use std::collections::HashMap;

#[derive(Debug, Serialize, Deserialize, Clone, PartialEq, Eq)]
#[serde(default)]
pub struct Id {
    #[serde(skip_serializing_if = "Option::is_none")]
    pub name: Option<String>,
    #[serde(skip_serializing_if = "Option::is_none")]
    pub pfp: Option<String>,
    #[serde(skip_serializing_if = "Option::is_none")]
    pub site: Option<String>,
    #[serde(skip_serializing_if = "Option::is_none")]
    pub loc: Option<String>,
    #[serde(skip_serializing_if = "Option::is_none")]
    pub disp: Option<String>, // a display name name when its case is lowercased; clients MUST ignore this value if it does not (e.g. "larrysalibra.btc" could set this to "LarrySalibra.btc")
    #[serde(skip_serializing_if = "Option::is_none")]
    pub desc: Option<String>,
    #[serde(skip_serializing_if = "Option::is_none")]
    pub srvs: Option<HashMap<String, String>>
}

impl Default for Id {
    fn default() -> Self {
        Self { name: None, pfp: None, site: None, loc: None, disp: None, desc: None, srvs: None }
    }
}