monzo-lib 0.6.1

async Monzo client in pure rust.
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
use serde::{de::IntoDeserializer, Deserialize};

// see https://github.com/serde-rs/serde/issues/1425#issuecomment-439729881
pub fn empty_string_as_none<'de, D, T>(de: D) -> std::result::Result<Option<T>, D::Error>
where
    D: serde::Deserializer<'de>,
    T: serde::Deserialize<'de>,
{
    let opt = Option::<String>::deserialize(de)?;
    let opt = opt.as_deref();
    match opt {
        None | Some("") => Ok(None),
        Some(s) => T::deserialize(s.into_deserializer()).map(Some),
    }
}