polysemy-db-0.0.1.0: Polysemy effects for databases
Safe HaskellSafe-Inferred
LanguageHaskell2010

Polysemy.Db.Effect.Store

Documentation

data QStore f q d :: Effect where Source #

Constructors

Insert :: d -> QStore f i d m () 
Upsert :: d -> QStore f i d m () 
Delete :: i -> QStore f i d m (f d) 
DeleteAll :: QStore f i d m [d] 
Fetch :: i -> QStore f i d m (f d) 
FetchAll :: QStore f i d m [d] 

fetchAll :: forall f i d r. Member (QStore f i d) r => Sem r [d] Source #

fetch :: forall f i d r. Member (QStore f i d) r => i -> Sem r (f d) Source #

deleteAll :: forall f i d r. Member (QStore f i d) r => Sem r [d] Source #

delete :: forall f i d r. Member (QStore f i d) r => i -> Sem r (f d) Source #

upsert :: forall f i d r. Member (QStore f i d) r => d -> Sem r () Source #

insert :: forall f i d r. Member (QStore f i d) r => d -> Sem r () Source #

type Store i d = QStore Maybe i (Uid i d) Source #

type family StoreEffects i e ds :: EffectRow where ... Source #

Equations

StoreEffects _ _ '[] = '[] 
StoreEffects i e (d ': ds) = (Store i d !! e) ': StoreEffects i e ds 

type family Stores i e ds r :: Constraint where ... Source #

Equations

Stores _ _ '[] _ = () 
Stores i e (d ': ds) r = (Member (Store i d !! e) r, Stores i e ds r) 

elem :: forall i d r. Member (Store i d) r => i -> Sem r Bool Source #

fetchPayload :: forall i d r. Member (Store i d) r => i -> Sem r (Maybe d) Source #

alter :: forall i d r. Member (Store i d) r => i -> (d -> d) -> Sem r () Source #