parse_frequency/
serde.rs

1use super::{Frequency, parse_frequency, serde};
2use ::serde::{Deserialize, Deserializer, Serialize, Serializer, de};
3
4impl<'de> Deserialize<'de> for Frequency {
5    fn deserialize<D>(
6        deserializer: D,
7    ) -> std::result::Result<Frequency, <D as serde::Deserializer<'de>>::Error>
8    where
9        D: Deserializer<'de>,
10    {
11        let s = String::deserialize(deserializer)?;
12        parse_frequency(&s).map_err(de::Error::custom)
13    }
14}
15
16impl Serialize for Frequency {
17    fn serialize<S>(
18        &self,
19        serializer: S,
20    ) -> std::result::Result<<S as serde::Serializer>::Ok, <S as serde::Serializer>::Error>
21    where
22        S: Serializer,
23    {
24        serializer.serialize_str(&self.to_string())
25    }
26}