use serde_utils;
#[derive(Serialize, Deserialize, Debug, Clone, PartialEq)]
pub struct Source {
#[serde(skip_serializing_if = "Option::is_none")]
pub fd: Option<u8>,
#[serde(skip_serializing_if = "Option::is_none")]
pub tid: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub pchain: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub ext: Option<serde_utils::Ext>,
}
#[cfg(test)]
mod tests {
use super::*;
use serde_json;
#[test]
fn serialization_skip_fields() {
let s = Source {
fd: None,
tid: None,
pchain: None,
ext: None,
};
let expected = r#"{}"#;
let serialized = serde_json::to_string(&s).unwrap();
assert_eq!(expected, serialized)
}
}