module MemoryTestImport ( EmbeddedState (..), StreamEmbeddedState, GlobalEmbeddedState, emptyEmbeddedState, setEventMap, setProjectionMap, ) where import Eventium.ProjectionCache.Memory import Eventium.Store.Memory import Eventium.UUID data EmbeddedState state event key position = EmbeddedState { dummyArgument :: Int, eventMap :: EventMap event, projectionMap :: ProjectionMap key position state } type StreamEmbeddedState state event = EmbeddedState state event UUID EventVersion type GlobalEmbeddedState state event = EmbeddedState state event () 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' em = state' {eventMap = em} setProjectionMap :: EmbeddedState state event key position -> ProjectionMap key position state -> EmbeddedState state event key position setProjectionMap state' pm = state' {projectionMap = pm}