1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
use yeter::query;

query!(list, (), Vec<usize>);
query!(sum, (), usize);

fn main() {
    let mut db = yeter::Database::new();
    db.register::<list::Query>(|_db, ()| {
        vec![1, 2, 3]
    });
    db.register::<sum::Query>(|db, ()| {
        list::query(db, ()).iter().sum()
    });
    assert_eq!(*sum::query(&db, ()), 6);

    db.register::<list::Query>(|_db, ()| {
        vec![]
    });
    assert_eq!(*sum::query(&db, ()), 0);
}