use std::collections::HashMap;
use serde::Deserialize;
use serde::Deserializer;
use super::strict_string_map_visitor::StrictStringMapVisitor;
pub(in crate::wire) struct StrictStringMap<V>(
HashMap<String, V>,
);
impl<V> StrictStringMap<V> {
#[must_use]
#[inline]
pub(in crate::wire) fn into_inner(self) -> HashMap<String, V> {
self.0
}
}
impl<'de, V> Deserialize<'de> for StrictStringMap<V>
where
V: Deserialize<'de>,
{
#[inline]
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
where
D: Deserializer<'de>,
{
deserializer.deserialize_map(StrictStringMapVisitor::new()).map(Self)
}
}