Skip to main content

tuwunel_core/utils/string/
de.rs

1use std::fmt;
2
3use serde::de::{Deserializer, Error, Visitor};
4
5struct ToLowercase;
6
7#[inline]
8pub fn to_lowercase<'de, D>(deserializer: D) -> Result<String, D::Error>
9where
10	D: Deserializer<'de>,
11{
12	deserializer.deserialize_string(ToLowercase)
13}
14
15impl Visitor<'_> for ToLowercase {
16	type Value = String;
17
18	#[inline]
19	fn visit_str<E: Error>(self, v: &str) -> Result<Self::Value, E> { Ok(v.to_lowercase()) }
20
21	fn expecting(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { f.write_str("String") }
22}