edgedb-derive 0.5.1

Derive macros for EdgeDB database client.
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
use edgedb_derive::Queryable;
use edgedb_protocol::queryable::{Queryable, Decoder};

#[derive(Queryable, Debug, PartialEq)]
enum Status {
    Open,
    Closed,
    Invalid,
}

#[test]
fn enumeration() {
    let dec = Decoder::default();
    assert_eq!(Status::decode(&dec, &b"Open"[..]).unwrap(), Status::Open);
    assert_eq!(Status::decode(&dec, &b"Closed"[..]).unwrap(), Status::Closed);
    assert_eq!(Status::decode(&dec, &b"Invalid"[..]).unwrap(), Status::Invalid);
    Status::decode(&dec, &b"closed"[..]).unwrap_err();
}