use std::default::Default; //use std::fmt::Display; use serde::{Deserialize, Serialize}; #[derive(Serialize, Deserialize, Clone)] pub struct BatteryJson { pub charge_rate: Option, pub charge_mode: Option, #[serde(default)] pub events: Vec, #[serde(skip_serializing_if = "Option::is_none")] pub root: Option, } #[derive(Serialize, Deserialize, Clone)] pub struct BatteryEventJson { pub trigger: String, pub charge_rate: Option, pub charge_mode: Option, } impl Default for BatteryJson { fn default() -> Self { Self { charge_rate: None, charge_mode: None, events: Vec::new(), root: None, } } }