mesh_llm_runtime_event_contracts/
lib.rs1macro_rules! event_family {
4 ($name:ident { $($variant:ident => $id:literal),+ $(,)? }) => {
5 #[derive(Clone, Copy, Debug, Eq, PartialEq)]
6 pub enum $name {
7 $($variant),+
8 }
9
10 impl $name {
11 pub const ALL: &'static [Self] = &[$(Self::$variant),+];
12
13 #[must_use]
14 pub const fn as_str(self) -> &'static str {
15 match self {
16 $(Self::$variant => $id),+
17 }
18 }
19 }
20 };
21}
22
23mod carrier;
24mod delivery;
25mod fact_data;
26mod facts;
27mod families;
28mod identity;
29mod ingress;
30mod native;
31
32pub use carrier::*;
33pub use delivery::*;
34pub use fact_data::*;
35pub use facts::*;
36pub use families::*;
37pub use identity::*;
38pub use ingress::*;
39pub use native::*;
40
41#[cfg(test)]
42mod tests;