eventium-memory-0.1.0: tests/MemoryTestImport.hs
module MemoryTestImport
( EmbeddedState (..),
StreamEmbeddedState,
GlobalStreamEmbeddedState,
emptyEmbeddedState,
setEventMap,
setProjectionMap,
)
where
import Eventium.ProjectionCache.Memory
import Eventium.Store.Memory
import Eventium.UUID
data EmbeddedState state event key position
= EmbeddedState
{ _embeddedDummyArgument :: Int,
embeddedEventMap :: EventMap event,
embeddedProjectionMap :: ProjectionMap key position state
}
type StreamEmbeddedState state event = EmbeddedState state event UUID EventVersion
type GlobalStreamEmbeddedState state event key = EmbeddedState state event key SequenceNumber
emptyEmbeddedState :: EmbeddedState state event key position
emptyEmbeddedState = EmbeddedState 100 emptyEventMap emptyProjectionMap
setEventMap :: EmbeddedState state event key position -> EventMap event -> EmbeddedState state event key position
setEventMap state' eventMap = state' {embeddedEventMap = eventMap}
setProjectionMap ::
EmbeddedState state event key position ->
ProjectionMap key position state ->
EmbeddedState state event key position
setProjectionMap state' projectionMap = state' {embeddedProjectionMap = projectionMap}