Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Polysemy.KVStore
Contents
Synopsis
- data KVStore k v m a where
- lookupKV :: forall k v r. Member (KVStore k v) r => k -> Sem r (Maybe v)
- lookupOrThrowKV :: Members '[KVStore k v, Error e] r => (k -> e) -> k -> Sem r v
- existsKV :: forall k v r. Member (KVStore k v) r => k -> Sem r Bool
- writeKV :: Member (KVStore k v) r => k -> v -> Sem r ()
- deleteKV :: forall k v r. Member (KVStore k v) r => k -> Sem r ()
- updateKV :: forall k v r. Member (KVStore k v) r => k -> Maybe v -> Sem r ()
- modifyKV :: Member (KVStore k v) r => v -> (v -> v) -> k -> Sem r ()
- runKVStoreAsState :: Ord k => Sem (KVStore k v ': r) a -> Sem (State (Map k v) ': r) a
- runKVStorePurely :: Ord k => Map k v -> Sem (KVStore k v ': r) a -> Sem r (Map k v, a)
Effect
data KVStore k v m a where Source #
Models things like Redis, HTTP GET/POST, etc. Things that are keyed, have a value, and may or may not be there.
Actions
lookupOrThrowKV :: Members '[KVStore k v, Error e] r => (k -> e) -> k -> Sem r v Source #
Since: 0.3.1.0
Arguments
:: Member (KVStore k v) r | |
=> v | Default value if the key isn't present |
-> (v -> v) | |
-> k | |
-> Sem r () |
Since: 0.3.1.0