keon 0.2.0

A human readable object notation that syntactic similar to Rust and fully supports Serde's data model.
Documentation
mod util;
use serde::*;

#[derive(Debug, PartialEq, Serialize, Deserialize)]
enum Enum {
    Unit,
    Newtype(Box<Enum>),
    Tuple(i32, i32, i32),
    Struct { a: i32, b: i32 },
}

#[test]
fn roundtrips() {
    util::rt_min(&Enum::Unit, "Unit").unwrap();
    util::rt_min(&Enum::Newtype(Box::new(Enum::Unit)), "Newtype%Unit").unwrap();
    util::rt_min(&Enum::Tuple(1, 2, 3), "Tuple(1,2,3)").unwrap();
    util::rt_min(&Enum::Struct { a: 1, b: 2 }, "Struct{a:1,b:2}").unwrap();

    util::rt_pre(&Enum::Unit, "Enum::Unit").unwrap();
    util::rt_pre(&Enum::Newtype(Box::new(Enum::Unit)), "Enum::Newtype(Enum::Unit)").unwrap();
    util::rt_pre(&Enum::Tuple(1, 2, 3), "Enum::Tuple(\n    1,\n    2,\n    3,\n)").unwrap();
    util::rt_pre(&Enum::Struct { a: 1, b: 2 }, "Enum::Struct {\n    a: 1,\n    b: 2,\n}").unwrap();
}