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}