[WIP] esyn

github crates.io docs.rs build status

Rusty Config File Parser.

Example

```rust fn main() { use esyn::{Esyn, EsynDe};

#[derive(Debug, PartialEq, EsynDe)]
struct Test {
    _string: String,
    _vec_u32: Vec<u32>,
    _opt_i64: Option<i64>,
}

let config = r#"

fn main() { let a = Test { string: "hello", _vecu32: [1, 2, 4], }; a.opti64 = Some(-9223372036854775807i64); } "#;

let ast = Esyn::ast(config).unwrap();
let esyn = Esyn::new(&ast).unwrap();

let a = &esyn.get::<Test>("main", "a").unwrap();

assert_eq!(
    a,
    &Test {
        _string: format!("hello"),
        _vec_u32: vec![1, 2, 4],
        _opt_i64: Some(-9223372036854775807i64)
    }
);

} ```

For more examples take a look on tests

Supported Types

```rust u8 u16 u32 u64 u128 usize i8 i16 i32 i64 i128 isize f32 f64 bool char String

Vec Option HashMap BTreeMap

Option Option Option

Struct Enum Tuple

fastimageresize::FilterType

?Box

```

TODO

to_string() Debug -> ? Default -> ?