serokell-util-0.1.5.3: General-purpose functions by Serokell

Safe HaskellNone
LanguageHaskell2010

Serokell.AcidState.ExtendedState

Description

The idea of ExtendedState is to store information about location of the state (either FilePath or memory).

Synopsis

Documentation

data ExtendedState st Source #

ExtendedState is like usual AcidState, but also stores information about FilePath (unless it's in memory).

Constructors

ESLocal (AcidState st) FilePath 
ESMemory (AcidState st) 

closeExtendedState :: MonadIO m => ExtendedState st -> m () Source #

Like closeAcidState, but operates on ExtendedState and in MonadIO.

extendedStateToAcid :: ExtendedState st -> AcidState st Source #

Convert ExtendedState to AcidState.

openLocalExtendedState :: (IsAcidic st, Typeable st, MonadIO m) => Bool -> FilePath -> st -> m (ExtendedState st) Source #

Like openLocalStateFrom, but returns ExtendedState and operates in MonadIO.

openMemoryExtendedState :: (IsAcidic st, Typeable st, MonadIO m) => st -> m (ExtendedState st) Source #

Like openMemoryState, but returns ExtendedState and operates in MonadIO.

queryExtended :: (EventState event ~ st, QueryEvent event, MonadIO m) => ExtendedState st -> event -> m (EventResult event) Source #

Like query', but works on ExtendedState.

tidyExtendedState :: MonadIO m => ExtendedState st -> m () Source #

Like tidyLocalState, but operates on ExtendedState.

updateExtended :: (EventState event ~ st, UpdateEvent event, MonadIO m) => ExtendedState st -> event -> m (EventResult event) Source #

Like update', but works on ExtendedState.