Skip to main content

cqrs_rust_lib/
lib.rs

1#[doc(hidden)]
2pub use async_trait::async_trait as __async_trait;
3
4/// Use this macro instead of `#[async_trait::async_trait]` for WASM compatibility.
5///
6/// On native targets, this expands to `#[async_trait::async_trait]` (Send futures).
7/// On WASM targets, this expands to `#[async_trait::async_trait(?Send)]` (no Send requirement).
8#[macro_export]
9macro_rules! cqrs_async_trait {
10    ($($tt:tt)*) => {
11        #[cfg_attr(not(target_arch = "wasm32"), $crate::__async_trait)]
12        #[cfg_attr(target_arch = "wasm32", $crate::__async_trait(?Send))]
13        $($tt)*
14    };
15}
16
17mod wasm_compat;
18pub use wasm_compat::*;
19
20mod aggregate;
21pub use aggregate::*;
22mod engine;
23pub use engine::*;
24
25mod denormalizer;
26pub use denormalizer::*;
27
28mod errors;
29#[allow(deprecated)]
30pub use errors::*;
31
32mod event;
33pub use event::*;
34
35mod event_store;
36pub use event_store::*;
37
38pub mod es;
39pub mod read;
40
41#[cfg(feature = "rest")]
42pub mod rest;
43
44mod context;
45pub use context::*;
46mod snapshot;
47
48pub use snapshot::*;
49pub mod dispatchers;
50
51pub mod prelude;
52pub use rest_sql as rsql;
53#[cfg(test)]
54pub mod testing;