cqrs_core/
lib.rs

1//! # cqrs-core
2//!
3//! `cqrs-core` defines the core types for the CQRS aggregate system
4
5#![warn(unused_import_braces, unused_imports, unused_qualifications)]
6#![deny(
7    missing_debug_implementations,
8    missing_copy_implementations,
9    trivial_casts,
10    trivial_numeric_casts,
11    unsafe_code,
12    unused_must_use
13)]
14#![warn(missing_docs)]
15
16#[cfg(test)]
17extern crate void;
18
19mod aggregate;
20pub mod reactor;
21mod store;
22mod types;
23
24#[doc(inline)]
25pub use crate::aggregate::{
26    Aggregate, AggregateCommand, AggregateEvent, AggregateId, CommandError, DeserializableEvent,
27    Event, Events, ProducedEvent, ProducedEvents, SerializableEvent,
28};
29#[doc(inline)]
30pub use crate::store::{
31    AlwaysSnapshot, EventSink, EventSource, NeverSnapshot, SnapshotSink, SnapshotSource,
32    SnapshotStrategy,
33};
34#[doc(inline)]
35pub use crate::types::{
36    Before, BorrowedRawEvent, CqrsError, EventNumber, Precondition, RawEvent, Since,
37    SnapshotRecommendation, Version, VersionedAggregate, VersionedEvent,
38    VersionedEventWithMetadata,
39};