use std::fmt;
use std::marker::PhantomData;
use std::str::FromStr;
use serde::Deserialize;
use serde::Deserializer;
use super::DecimalVisitor;
pub(in crate::wire::decimal) struct ParsedDecimal<T>(
pub(in crate::wire::decimal) T,
);
impl<'de, T> Deserialize<'de> for ParsedDecimal<T>
where
T: FromStr + fmt::Display,
T::Err: fmt::Display,
{
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
where
D: Deserializer<'de>,
{
deserializer.deserialize_str(DecimalVisitor(PhantomData)).map(Self)
}
}