parse-frequency 2.0.0

A simple library to parse frequency strings into a frequency in Hz.
Documentation
use super::{Frequency, parse_frequency, serde};
use ::serde::{Deserialize, Deserializer, Serialize, Serializer, de};

impl<'de> Deserialize<'de> for Frequency {
    fn deserialize<D>(
        deserializer: D,
    ) -> std::result::Result<Frequency, <D as serde::Deserializer<'de>>::Error>
    where
        D: Deserializer<'de>,
    {
        let s = String::deserialize(deserializer)?;
        parse_frequency(&s).map_err(de::Error::custom)
    }
}

impl Serialize for Frequency {
    fn serialize<S>(
        &self,
        serializer: S,
    ) -> std::result::Result<<S as serde::Serializer>::Ok, <S as serde::Serializer>::Error>
    where
        S: Serializer,
    {
        serializer.serialize_str(&self.to_string())
    }
}