edgedb-derive 0.5.1

Derive macros for EdgeDB database client.
Documentation
use edgedb_derive::Queryable;
use edgedb_protocol::queryable::{Queryable, Decoder};

#[derive(Queryable, Debug, PartialEq)]
struct WeirdStruct {
    nfields: i64,
    elements: String,
    decoder: String,
    buf: i64,
}

#[test]
fn decode() {
    let data =  b"\0\0\0\x04\0\0\0\x14\0\0\0\x08\0\0\0\0\0\0\x03\0\0\0\
                  \0\x19\0\0\0\0\0\0\0\x19\0\0\0\x0bSomeDecoder\
                  \0\0\0\x14\0\0\0\x08\0\0\0\0\0\0\0{";
    let res = WeirdStruct::decode(&Decoder::default(), data);
    assert_eq!(res.unwrap(), WeirdStruct {
        decoder: "SomeDecoder".into(),
        buf: 123,
        nfields: 768,
        elements: "".into(),
    });
}