napkin-0.5.13
Safe HaskellNone
LanguageHaskell2010

Napkin.Run.Effects.Types

Synopsis

Documentation

type HookProgram' b a = Sem (HookProgramEffects b) a #

Programs packaged up for use in Specs. Intended for use in providing introspectable CustomCreate actions in specs.

type HookProgram b = HookProgram' b () #

Hooks have different cabapilities than specs

type SpecProgram b = SpecProgram' b () #

class RunBackendEffect b where #

Minimal complete definition

runBackendEffectFake

Methods

runBackendEffectReal :: (Members (Core b) r, Member (Embed IO) r) => BackendConn b -> Sem (BackendSpecificEffect b ': r) a -> Sem r a #

default runBackendEffectReal :: (Members (Core b) r, Member (Embed IO) r) => BackendConn b -> Sem (BackendSpecificEffect b ': r) a -> Sem r a #

runBackendEffectFake :: (Members (Core b) r, Member (Embed IO) r) => Sem (BackendSpecificEffect b ': r) a -> Sem r a #

Instances

Instances details
RunBackendEffect Sqlite # 
Instance details

Defined in Napkin.Run.Effects.Interpreters.Backend.Sqlite

Methods

runBackendEffectReal :: forall (r :: [(Type -> Type) -> Type -> Type]) a. (Members (Core Sqlite) r, Member (Embed IO) r) => BackendConn Sqlite -> Sem (BackendSpecificEffect Sqlite ': r) a -> Sem r a #

runBackendEffectFake :: forall (r :: [(Type -> Type) -> Type -> Type]) a. (Members (Core Sqlite) r, Member (Embed IO) r) => Sem (BackendSpecificEffect Sqlite ': r) a -> Sem r a #

RunBackendEffect Redshift # 
Instance details

Defined in Napkin.Run.Effects.Interpreters.Backend.Redshift

Methods

runBackendEffectReal :: forall (r :: [(Type -> Type) -> Type -> Type]) a. (Members (Core Redshift) r, Member (Embed IO) r) => BackendConn Redshift -> Sem (BackendSpecificEffect Redshift ': r) a -> Sem r a #

runBackendEffectFake :: forall (r :: [(Type -> Type) -> Type -> Type]) a. (Members (Core Redshift) r, Member (Embed IO) r) => Sem (BackendSpecificEffect Redshift ': r) a -> Sem r a #

RunBackendEffect Postgres # 
Instance details

Defined in Napkin.Run.Effects.Interpreters.Backend.Postgres

Methods

runBackendEffectReal :: forall (r :: [(Type -> Type) -> Type -> Type]) a. (Members (Core Postgres) r, Member (Embed IO) r) => BackendConn Postgres -> Sem (BackendSpecificEffect Postgres ': r) a -> Sem r a #

runBackendEffectFake :: forall (r :: [(Type -> Type) -> Type -> Type]) a. (Members (Core Postgres) r, Member (Embed IO) r) => Sem (BackendSpecificEffect Postgres ': r) a -> Sem r a #

RunBackendEffect BigQuery # 
Instance details

Defined in Napkin.Run.Effects.Interpreters.Backend.BigQuery

Methods

runBackendEffectReal :: forall (r :: [(Type -> Type) -> Type -> Type]) a. (Members (Core BigQuery) r, Member (Embed IO) r) => BackendConn BigQuery -> Sem (BackendSpecificEffect BigQuery ': r) a -> Sem r a #

runBackendEffectFake :: forall (r :: [(Type -> Type) -> Type -> Type]) a. (Members (Core BigQuery) r, Member (Embed IO) r) => Sem (BackendSpecificEffect BigQuery ': r) a -> Sem r a #

askQueryRewriterData :: forall a r. (Data a, Member (Reader QueryTransformer) r) => Sem r (a -> a) #