docker_client 0.1.0-alpha4

docker-client library
Documentation
use crate::volume::VolumeInfo;
use serde::{Deserialize, Deserializer};

/// Volumes list structure
#[derive(Debug, Deserialize)]
pub struct VolumesList {

    #[serde(rename = "Volumes", deserialize_with = "nullable_priority_seq_info")]
    volumes: Vec<VolumeInfo>,

    #[serde(rename = "Warnings", deserialize_with = "nullable_priority_seq_str")]
    warnings: Vec<String>,
}

fn nullable_priority_seq_info<'de, D>(deserializer: D) -> Result<Vec<VolumeInfo>, D::Error>
    where D: Deserializer<'de>
{
    let opt = Option::deserialize(deserializer)?;
    Ok(opt.unwrap_or(Vec::new()))
}

fn nullable_priority_seq_str<'de, D>(deserializer: D) -> Result<Vec<String>, D::Error>
    where D: Deserializer<'de>
{
    let opt = Option::deserialize(deserializer)?;
    Ok(opt.unwrap_or(Vec::new()))
}