eventful-memory-0.2.0: In-memory implementations for eventful

Safe HaskellNone
LanguageHaskell2010

Eventful.Store.Memory

Synopsis

Documentation

tvarEventStoreReader :: TVar (EventMap event) -> VersionedEventStoreReader STM event #

An EventStoreReader that stores events in a TVar and runs in STM. This functions initializes the store by creating the TVar and hooking up the event store API to that TVar.

stateEventStoreReader :: MonadState (EventMap event) m => VersionedEventStoreReader m event #

Specialized version of embeddedStateEventStoreReader that only contains an EventMap in the state.

stateEventStoreWriter :: MonadState (EventMap event) m => EventStoreWriter m event #

Specialized version of embeddedStateEventStoreWriter that only contains an EventMap in the state.

embeddedStateEventStoreReader :: MonadState s m => (s -> EventMap event) -> VersionedEventStoreReader m event #

An EventStore that runs on some MonadState that contains an EventMap. This is useful if you want to include other state in your MonadState.

embeddedStateEventStoreWriter :: MonadState s m => (s -> EventMap event) -> (s -> EventMap event -> s) -> EventStoreWriter m event #

embeddedStateGlobalEventStoreReader :: MonadState s m => (s -> EventMap event) -> GlobalEventStoreReader m event #

Analogous to embeddedStateEventStore for a GlobalStreamEventStore.

data EventMap event #

Internal data structure used for the in-memory event stores.

Instances

Show event => Show (EventMap event) # 

Methods

showsPrec :: Int -> EventMap event -> ShowS #

show :: EventMap event -> String #

showList :: [EventMap event] -> ShowS #

emptyEventMap :: EventMap event #

What it says on the tin, an initialized empty EventMap

eventMapTVar :: IO (TVar (EventMap event)) #

Initialize an EventMap in a TVar