config_struct 0.5.0

Create struct definitions from config files at build time.
Documentation
use std::collections::BTreeMap;

/// Represents a Rust struct.
#[derive(Debug, Clone)]
pub struct GenericStruct {
    pub struct_name: String,
    pub fields: BTreeMap<String, GenericValue>,
}

/// Represents a typed Rust value.
#[derive(Debug, Clone)]
#[allow(dead_code)]
pub enum GenericValue {
    Unit,
    Bool(bool),
    Char(char),
    I8(i8),
    I16(i16),
    I32(i32),
    I64(i64),
    U8(u8),
    U16(u16),
    U32(u32),
    U64(u64),
    ISize(isize),
    Usize(usize),
    F32(f32),
    F64(f64),
    String(String),
    Option(Option<Box<GenericValue>>),
    Array(Vec<GenericValue>),
    Struct(GenericStruct),
}