#[derive(Debug)] pub enum FileHeaderSpec { Null, Bool, Integer, UInteger, Float, Text, Key { name: String, value_type: Box }, Array { allowed_types: Box> }, } #[derive(Debug)] pub enum FileHeaderData { Null, Bool(bool), Integer(i64), UInteger(u64), Float(f64), Text(String), Key { name: String, value: Box }, Array { values: Box> }, } pub trait FileData : Sized { fn get_fulltext(&self) -> String; fn get_abbrev(&self) -> String; }