aboutsummaryrefslogtreecommitdiff
path: root/common/src/lib.rs
blob: af07e1c8f194e142b527c55473936ba5c515a4c4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
/*
    This file is part of jellything (https://codeberg.org/metamuffin/jellything)
    which is licensed under the GNU Affero General Public License (version 3); see /COPYING.
    Copyright (C) 2025 metamuffin <metamuffin.org>
*/
pub mod api;
pub mod node;
pub mod routes;
pub mod user;

pub use jellyobject;
pub use jellystream_types as stream;

pub use api::*;
pub use node::*;
pub use user::*;

use jellyobject::{Registry, TypedTag};
use std::sync::LazyLock;

pub static TAGREG: LazyLock<Registry> = LazyLock::new(|| {
    let mut reg = Registry::default();
    node::register_fields(&mut reg);
    node::register_enums(&mut reg);
    user::register_fields(&mut reg);
    reg
});

#[test]
fn check_tag_conflicts() {
    let _ = &*TAGREG;
}

pub struct Identifier(pub TypedTag<&'static str>, pub String);