napkin-1.0.0
Safe HaskellNone
LanguageGHC2021

Napkin.Run.Effects.Interpreters.FakeLocal

Description

A SqlBackend interpreter that performs a minimal amount of table state management to facilitate dry runs and trivial unwrapping of SqlBackend effects.

It produces a report of used dependencies, but this is not intended for use in the Spec system for figuring out dependencies. User's forced/added dependencies would not show up here, for example. This is meant more for dry runs and simulations.

Synopsis

Documentation

data IState #

Constructors

IState 

Fields

Instances

Instances details
Generic IState # 
Instance details

Defined in Napkin.Run.Effects.Interpreters.FakeLocal

Associated Types

type Rep IState 
Instance details

Defined in Napkin.Run.Effects.Interpreters.FakeLocal

type Rep IState = D1 ('MetaData "IState" "Napkin.Run.Effects.Interpreters.FakeLocal" "napkin-1.0.0-5YkWAC9Wc776PT0LDghaFb" 'False) (C1 ('MetaCons "IState" 'PrefixI 'True) ((S1 ('MetaSel ('Just "created") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Set (Ref Table))) :*: S1 ('MetaSel ('Just "managed") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Set (Ref Table)))) :*: (S1 ('MetaSel ('Just "external") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Set (Ref Table))) :*: (S1 ('MetaSel ('Just "hidden") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Set (Ref Table))) :*: S1 ('MetaSel ('Just "targetCheck") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)))))

Methods

from :: IState -> Rep IState x #

to :: Rep IState x -> IState #

Show IState # 
Instance details

Defined in Napkin.Run.Effects.Interpreters.FakeLocal

Eq IState # 
Instance details

Defined in Napkin.Run.Effects.Interpreters.FakeLocal

Methods

(==) :: IState -> IState -> Bool #

(/=) :: IState -> IState -> Bool #

type Rep IState # 
Instance details

Defined in Napkin.Run.Effects.Interpreters.FakeLocal

type Rep IState = D1 ('MetaData "IState" "Napkin.Run.Effects.Interpreters.FakeLocal" "napkin-1.0.0-5YkWAC9Wc776PT0LDghaFb" 'False) (C1 ('MetaCons "IState" 'PrefixI 'True) ((S1 ('MetaSel ('Just "created") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Set (Ref Table))) :*: S1 ('MetaSel ('Just "managed") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Set (Ref Table)))) :*: (S1 ('MetaSel ('Just "external") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Set (Ref Table))) :*: (S1 ('MetaSel ('Just "hidden") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Set (Ref Table))) :*: S1 ('MetaSel ('Just "targetCheck") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)))))

createReference :: forall (r :: EffectRow). Member (State IState :: (Type -> Type) -> Type -> Type) r => Ref Table -> Sem r () #

Simulate creation of a table

useDependency :: forall (r :: EffectRow). (Member (State IState :: (Type -> Type) -> Type -> Type) r, Member (Reader HiddenDependencies) r) => Ref Table -> Sem r () #

Simulate use of a table

newtype TargetExists #

Constructors

TargetExists Bool 

runSqlReadFake :: forall {k} (r :: EffectRow) (b :: k) a. Members '[State IState :: (Type -> Type) -> Type -> Type, Reader HiddenDependencies, Input (Transformed TargetName) :: (Type -> Type) -> Type -> Type] r => TargetExists -> Sem ((SqlRead b :: (Type -> Type) -> Type -> Type) ': r) a -> Sem r a #

runAnnotateWriteFake :: forall {k} (r :: EffectRow) (b :: k) a. (Member (State IState :: (Type -> Type) -> Type -> Type) r, Member (Reader HiddenDependencies) r) => Sem ((AnnotateWrite b :: (Type -> Type) -> Type -> Type) ': r) a -> Sem r a #

runAnnotateReadFake :: forall {k} (r :: EffectRow) (b :: k) a. (Member (State IState :: (Type -> Type) -> Type -> Type) r, Member (Reader HiddenDependencies) r) => Sem ((AnnotateRead b :: (Type -> Type) -> Type -> Type) ': r) a -> Sem r a #

runSqlWriteFake :: forall (r :: EffectRow) b a. (Member (State IState :: (Type -> Type) -> Type -> Type) r, Member (Reader HiddenDependencies) r) => Sem ((SqlWrite b :: (Type -> Type) -> Type -> Type) ': r) a -> Sem r a #

runExternalFakeSuccess :: forall (effs :: EffectRow) a. Members '[State IState :: (Type -> Type) -> Type -> Type, Input (Transformed TargetName) :: (Type -> Type) -> Type -> Type] effs => Sem ((External :: (Type -> Type) -> Type -> Type) ': effs) a -> Sem effs a #