Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- data KVStore k v m a where
- lookupKV :: forall k v r. MemberWithError (KVStore k v) r => k -> Sem r (Maybe v)
- lookupOrThrowKV :: Members '[KVStore k v, Error e] r => (k -> e) -> k -> Sem r v
- existsKV :: Member (KVStore k v) r => k -> Sem r Bool
- writeKV :: Member (KVStore k v) r => k -> v -> Sem r ()
- deleteKV :: Member (KVStore k v) r => k -> Sem r ()
- updateKV :: forall k v r. MemberWithError (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)
- runKVStoreInRedis :: (Member (Embed Redis) r, Member (Error Reply) r, Binary k, Binary v) => (k -> ByteString) -> Sem (KVStore k v ': r) a -> Sem r 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.
Instances
type DefiningModule (KVStore :: Type -> Type -> k -> Type -> Type) Source # | |
Defined in Polysemy.KVStore |
Actions
lookupOrThrowKV :: Members '[KVStore k v, Error e] r => (k -> e) -> k -> Sem r v Source #
Since: 0.3.1.0
Since: 0.3.1.0