Open hxzhao527 opened 3 months ago
similar as #818. but this allows different values for the same type. for example
#[derive(Debug, serde::Deserialize, serde::Serialize)] struct TCP { #[serde(skip_serializing_when = true)] no_delay: bool, #[serde(skip_serializing_when = true)] keep_alive: bool, #[serde(skip_serializing_when = false)] prefer_ipv4: bool, } #[derive(Debug, serde::Deserialize, serde::Serialize)] struct Mux { enabled: bool, #[serde(skip_serializing_when = 8)] concurrency: u32, #[serde(skip_serializing_if = 60)] idle_timeout: u64, } #[derive(Debug, serde::Deserialize, serde::Serialize)] struct Router { enabled: bool, bypass: Vec<String>, proxy: Vec<String>, block: Vec<String>, #[serde(skip_serializing_when = "proxy".to_string())] default_policy: String, #[serde(skip_serializing_when = "as_is".to_string())] domain_strategy: String, geoip: String, geosite: String, }
similar as #818. but this allows different values for the same type. for example