/// A module that deserializes `[]` optionally
pub mod empty_params {
use serde::{Deserialize, Deserializer};
pub fn deserialize<'de, D>(d: D) -> Result<(), D::Error>
where
D: Deserializer<'de>,
{
let seq = Option::<Vec<()>>::deserialize(d)?.unwrap_or_default();
if !seq.is_empty() {
return Err(serde::de::Error::custom(format!(
"expected params sequence with length 0 but got {}",
seq.len()
)));
}
Ok(())
}
}