azure_devops_rust_api 0.37.0

Rust API library for Azure DevOps
Documentation
use serde::de::{Deserialize, Deserializer};
use std::result::Result;

#[allow(dead_code)]
pub(crate) fn deserialize_null_default<'de, D, T>(deserializer: D) -> Result<T, D::Error>
where
    T: Default + Deserialize<'de>,
    D: Deserializer<'de>,
{
    let opt = Option::deserialize(deserializer)?;
    Ok(opt.unwrap_or_default())
}

/// Deserialize JSON null as default
/// <https://github.com/serde-rs/serde/issues/1098>
pub fn deserialize_null_as_default<'de, D, T>(deserializer: D) -> Result<T, D::Error>
where
    T: Default + Deserialize<'de>,
    D: Deserializer<'de>,
{
    let opt = Option::deserialize(deserializer)?;
    Ok(opt.unwrap_or_default())
}