use serde::Deserialize;
use serde::Deserializer;
use super::named_value_wire_owned_visitor::NamedValueWireOwnedVisitor;
use crate::ValueWireV1;
pub(in crate::named_value) struct NamedValueWireOwned {
pub(in crate::named_value) name: String,
pub(in crate::named_value) value: ValueWireV1,
}
impl<'de> Deserialize<'de> for NamedValueWireOwned {
#[inline]
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
where
D: Deserializer<'de>,
{
let allow_sequence = !deserializer.is_human_readable();
deserializer.deserialize_struct(
"NamedValueWireRef",
&["name", "value"],
NamedValueWireOwnedVisitor::new(allow_sequence),
)
}
}