1pub use labelled_enum_derive::*;
2
3#[cfg(feature = "serde")]
5pub mod serde_plugin {
6 use serde::*;
7 use std::str::FromStr;
8
9 pub fn serialize<S>(data: &impl ToString, serializer: S) -> Result<S::Ok, S::Error>
10 where
11 S: Serializer,
12 {
13 serializer.serialize_str(&data.to_string())
14 }
15
16 pub fn deserialize<'de, E, D>(deserializer: D) -> Result<E, D::Error>
17 where
18 D: Deserializer<'de>,
19 E: FromStr<Err = String>,
20 {
21 let s = String::deserialize(deserializer)?;
22 FromStr::from_str(&s).map_err(de::Error::custom)
23 }
24}