mnesis 0.1.0

A zero-compromise event-sourcing and CQRS kernel for Rust with maximum compile-time type safety
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
use crate::version::Version;
use thiserror::Error;

#[derive(Debug, Error)]
#[non_exhaustive]
pub enum KernelError {
    #[error("Version mismatch: expected {expected}, got {actual}")]
    VersionMismatch { expected: Version, actual: Version },

    #[error("Rehydration limit exceeded: max {max} events")]
    RehydrationLimitExceeded { max: usize },

    #[error("Version sequence exhausted: cannot exceed u64::MAX events")]
    VersionOverflow,
}