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 Source #

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 Source #

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

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

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

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

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 Source #

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

Analogous to embeddedStateEventStore for a GlobalStreamEventStore.

data EventMap event Source #

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

Instances

Show event => Show (EventMap event) Source # 

Methods

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

show :: EventMap event -> String #

showList :: [EventMap event] -> ShowS #

emptyEventMap :: EventMap event Source #

What it says on the tin, an initialized empty EventMap

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

Initialize an EventMap in a TVar