nitinol/
lib.rs

1pub use nitinol_core::identifier::*;
2pub use nitinol_core::event::Event;
3pub use nitinol_core::command::Command;
4
5#[cfg(feature = "macro")]
6pub use self::macros::*;
7
8#[cfg(feature = "macro")]
9mod macros {
10    pub use nitinol_macro::Event;
11    pub use nitinol_macro::Command;
12}
13
14pub mod setup {
15    #[cfg(feature = "eventstream")]
16    pub use nitinol_eventstream::init_eventstream;
17    
18    #[cfg(feature = "persistence")]
19    pub use nitinol_persistence::set_writer;
20    
21    #[cfg(feature = "projection")]
22    pub use nitinol_projection::set_global_projector;
23}
24
25#[cfg(feature = "eventstream")]
26pub mod eventstream {
27    pub use nitinol_eventstream::eventstream::EventStream;
28    pub use nitinol_eventstream::resolver;
29    pub use nitinol_eventstream::subscriber::EventSubscriber;
30}
31
32#[cfg(feature = "protocol")]
33pub mod protocol {
34    pub use nitinol_protocol::Payload;
35    pub use nitinol_protocol::io;
36}
37
38#[cfg(feature = "process")]
39pub mod process {
40    pub use nitinol_process::any;
41    pub use nitinol_process::manager;
42    pub use nitinol_process::Receptor;
43    pub use nitinol_process::Context;
44    pub use nitinol_process::Process;
45    pub use nitinol_process::{EventApplicator, CommandHandler, TryEventApplicator};
46    
47    #[cfg(feature = "persistence")]
48    pub mod persistence {
49        pub use nitinol_persistence::process::*;
50        pub use nitinol_persistence::writer;
51    }
52    
53    #[cfg(feature = "eventstream")]
54    pub mod eventstream {
55        pub use nitinol_eventstream::process::WithStreamPublisher;
56        pub use nitinol_eventstream::process::WithEventSubscriber;
57    }
58}
59
60#[cfg(any(feature = "projection", feature = "eventstream"))]
61pub mod resolver {
62    pub use nitinol_resolver::*;
63}
64
65#[cfg(feature = "projection")]
66pub mod projection {
67    pub use nitinol_projection::projection::*;
68    pub use nitinol_projection::projector;
69    pub use nitinol_projection::resolver;
70}
71
72pub mod errors {
73    pub use nitinol_core::errors::*;
74    
75    #[cfg(feature = "process")]
76    pub use nitinol_process::errors::*;
77    
78    #[cfg(feature = "protocol")]
79    pub use nitinol_protocol::errors::*;
80    
81    #[cfg(feature = "projection")]
82    pub use nitinol_projection::errors::*;
83}