#[derive(Debug, PartialEq)]
pub struct DataBlock {
pub name: String,
pub items: Vec<Item>,
}
#[derive(Debug, PartialEq)]
pub enum Item {
DataItem(DataItem),
SaveFrame(SaveFrame),
}
#[derive(Debug, PartialEq)]
pub struct SaveFrame {
pub name: String,
pub items: Vec<DataItem>,
}
#[derive(Debug, PartialEq)]
pub enum DataItem {
Single(Single),
Loop(Loop),
}
#[derive(Debug, PartialEq)]
pub struct Single {
pub name: String,
pub content: Value,
}
#[derive(Debug, PartialEq)]
pub struct Loop {
pub header: Vec<String>,
pub data: Vec<Vec<Value>>,
}
#[derive(Debug, PartialEq)]
pub enum Value {
Inapplicable,
Unknown,
Numeric(f64),
NumericWithUncertainty(f64, u32),
Text(String),
}