Add string util for #[serde(deserialize_with = "deserialize::to_lowercase")]
Signed-off-by: Jason Volk <jason@zemos.net>
This commit is contained in:
parent
4150b917d8
commit
f91b3b6a6c
2 changed files with 23 additions and 0 deletions
|
|
@ -1,4 +1,5 @@
|
|||
mod between;
|
||||
pub mod de;
|
||||
mod split;
|
||||
mod tests;
|
||||
mod unquote;
|
||||
|
|
|
|||
22
src/core/utils/string/de.rs
Normal file
22
src/core/utils/string/de.rs
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
use std::fmt;
|
||||
|
||||
use serde::de::{Deserializer, Error, Visitor};
|
||||
|
||||
struct ToLowercase;
|
||||
|
||||
#[inline]
|
||||
pub fn to_lowercase<'de, D>(deserializer: D) -> Result<String, D::Error>
|
||||
where
|
||||
D: Deserializer<'de>,
|
||||
{
|
||||
deserializer.deserialize_string(ToLowercase)
|
||||
}
|
||||
|
||||
impl Visitor<'_> for ToLowercase {
|
||||
type Value = String;
|
||||
|
||||
#[inline]
|
||||
fn visit_str<E: Error>(self, v: &str) -> Result<Self::Value, E> { Ok(v.to_lowercase()) }
|
||||
|
||||
fn expecting(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { f.write_str("String") }
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue