chara_card 0.3.2

A library to deal with character card formats and `.charx` in Rust.
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
use serdev::{Deserialize, Deserializer, Serialize, Serializer};

pub fn serialize<S, T: Serialize>(option: &Option<T>, serializer: S) -> Result<S::Ok, S::Error>
where
    S: Serializer,
{
    option.serialize(serializer)
}

pub fn deserialize<'de, D, T: Deserialize<'de>>(deserializer: D) -> Result<Option<T>, D::Error>
where
    D: Deserializer<'de>,
{
    match T::deserialize(deserializer) {
        Ok(val) => Ok(Some(val)),
        Err(_) => Ok(None),
    }
}