use serde::{Deserialize, Deserializer};
pub fn deserialize_null_default<'de, D, T>(deserializer: D) -> Result<T, D::Error>
where
T: Default + Deserialize<'de>,
D: Deserializer<'de>,
{
Option::deserialize(deserializer).map(|opt| opt.unwrap_or_default())
}
pub fn deserialize_string_to_f64<'de, D>(deserializer: D) -> Result<f64, D::Error>
where
D: serde::Deserializer<'de>,
{
String::deserialize(deserializer)?
.parse::<f64>()
.map_err(serde::de::Error::custom)
}