use serde::{Deserialize, Serialize};
#[derive(Clone, Debug, Serialize, Deserialize)]
pub enum Value {
StringArrayCharacteristic(Vec<String>),
IntegerArrayCharacteristic(Vec<i32>),
StringCharacteristic(String),
NumberCharacteristic(f32),
BooleanCharacteristic(bool),
NumberArrayCharacteristic(Vec<f32>),
IntegerCharacteristic(i32),
}
#[derive(Clone, Default, Debug, Serialize, Deserialize)]
pub struct Characteristic {
#[serde(skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub value: Option<Value>,
}