effectful-opaleye
Safe HaskellNone
LanguageHaskell2010

Effectful.Opaleye

Synopsis

Effect

data Opaleye (a :: Type -> Type) b where Source #

A dynamic effect to perform opaleye operations.

Constructors

RunSelectExplicit :: forall fields haskells (a :: Type -> Type). FromFields fields haskells -> Select fields -> Opaleye a [haskells]

Lifted RunSelectExplicit.

RunSelectFoldExplicit :: forall fields haskells b (a :: Type -> Type). FromFields fields haskells -> Select fields -> b -> (b -> haskells -> a b) -> Opaleye a b

Lifted RunSelectFoldExplicit.

RunInsert :: forall b (a :: Type -> Type). Insert b -> Opaleye a b

Lifted RunInsert.

RunDelete :: forall b (a :: Type -> Type). Delete b -> Opaleye a b

Lifted RunDelete.

RunUpdate :: forall b (a :: Type -> Type). Update b -> Opaleye a b

Lifted RunUpdate.

Instances

Instances details
type DispatchOf Opaleye Source # 
Instance details

Defined in Effectful.Opaleye

Effectful functions

Select

runSelect :: forall (es :: [Effect]) fields haskells. (HasCallStack, Opaleye :> es, Default FromFields fields haskells) => Select fields -> Eff es [haskells] Source #

Lifted runSelect.

runSelectI :: forall (es :: [Effect]) fields haskells. (HasCallStack, Opaleye :> es, Default (Inferrable FromFields) fields haskells) => Select fields -> Eff es [haskells] Source #

Lifted runSelectI.

runSelectExplicit :: forall fields haskells (es :: [Effect]). (HasCallStack, Opaleye :> es) => FromFields fields haskells -> Select fields -> Eff es [haskells] Source #

Perform the operation RunSelectExplicit.

Select-fold

runSelectFold :: forall (es :: [Effect]) fields haskells b. (HasCallStack, Opaleye :> es, Default FromFields fields haskells) => Select fields -> b -> (b -> haskells -> Eff es b) -> Eff es b Source #

runSelectFoldExplicit :: forall fields haskells b (es :: [Effect]). (HasCallStack, Opaleye :> es) => FromFields fields haskells -> Select fields -> b -> (b -> haskells -> Eff es b) -> Eff es b Source #

Perform the operation RunSelectFoldExplicit.

Insert

runInsert :: forall haskells (es :: [Effect]). (HasCallStack, Opaleye :> es) => Insert haskells -> Eff es haskells Source #

Perform the operation RunInsert.

Delete

runDelete :: forall haskells (es :: [Effect]). (HasCallStack, Opaleye :> es) => Delete haskells -> Eff es haskells Source #

Perform the operation RunDelete.

Update

runUpdate :: forall haskells (es :: [Effect]). (HasCallStack, Opaleye :> es) => Update haskells -> Eff es haskells Source #

Perform the operation RunUpdate.

Interpreters

runOpaleyeWithConnection :: forall (es :: [Effect]) a. (HasCallStack, WithConnection :> es, IOE :> es) => Eff (Opaleye ': es) a -> Eff es a Source #

runOpaleyeConnection :: forall (es :: [Effect]) a. (HasCallStack, IOE :> es) => Connection -> Eff (Opaleye ': es) a -> Eff es a Source #