#![doc(html_root_url = "https://docs.rs/eventmill/0.4.0")]
#![deny(unsafe_code, unstable_features)]
#![warn(
bare_trait_objects,
missing_copy_implementations,
missing_debug_implementations,
rust_2018_idioms,
trivial_casts,
trivial_numeric_casts,
unused_extern_crates,
unused_import_braces,
unused_qualifications
)]
pub mod aggregate;
pub mod command;
pub mod dispatch;
pub mod event;
pub mod inmemory_store;
pub mod metadata;
pub mod query;
pub mod store;
pub mod test_support;
pub use crate::aggregate::{
Aggregate, AggregateIdOf, AggregateState, AggregateType, Generation, InitializeAggregate,
VersionedAggregate, WithAggregateId,
};
pub use crate::command::{DomainCommand, HandleCommand};
pub use crate::dispatch::{DispatchCommand, DispatchEvent};
pub use crate::event::{DomainEvent, EventType, NewEvent, Sequence};
pub use crate::metadata::Metadata;
pub use crate::query::ReceiveEvent;
pub use crate::store::{EventSink, EventSinkError, EventSource, EventSourceError};
#[cfg(feature = "derive")]
pub use eventmill_derive::{AggregateType, EventType};