s3/
deserializer.rs

1use serde::de::*;
2
3pub fn bool_deserializer<'de, D>(d: D) -> Result<bool, D::Error>
4where
5    D: Deserializer<'de>,
6{
7    let s = String::deserialize(d)?;
8    match &s[..] {
9        "true" => Ok(true),
10        "false" => Ok(false),
11        other => Err(D::Error::custom(format!(
12            "got {}, but expected `true` or `false`",
13            other
14        ))),
15    }
16}