fumble 0.6.1

an oxidized implementation of the original clumsy tool, designed to simulate adverse network conditions on Windows systems.
1
2
3
4
5
6
7
8
9
10
11
12
use serde::{Serialize, Serializer};

pub fn serialize_option<S, T>(value: &Option<T>, serializer: S) -> Result<S::Ok, S::Error>
where
    S: Serializer,
    T: Serialize + Default,
{
    match value {
        Some(v) => serializer.serialize_some(v),
        None => serializer.serialize_some(&T::default()),
    }
}