use idstring_maybe_empty;
use serde::de;
use serde::ser;
pub fn deserialize<'de, D>(deserializer: D) -> Result<String, D::Error>
where
D: de::Deserializer<'de>,
{
let s = idstring_maybe_empty::deserialize::<'de, D>(deserializer)?;
if s.is_empty() {
Err(de::Error::custom("must not be empty"))
} else {
Ok(s)
}
}
pub fn serialize<S>(s: &str, serializer: S) -> Result<S::Ok, S::Error>
where
S: ser::Serializer,
{
if !s.is_empty() {
Ok(idstring_maybe_empty::serialize::<S>(
s, serializer,
)?)
} else {
Err(ser::Error::custom("must not be empty"))
}
}