sqel-0.0.1.0: Guided derivation for Hasql statements
Safe HaskellSafe-Inferred
LanguageHaskell2010

Sqel.ReifyCodec

Documentation

class CompCodec c i a b as where Source #

Methods

compCodec :: NP b as -> b a Source #

Instances

Instances details
SumCodec b a as => CompCodec 'Sum i a b as Source # 
Instance details

Defined in Sqel.ReifyCodec

Methods

compCodec :: NP b as -> b a Source #

ProdCodec b a as => CompCodec ('Prod 'Reg) i a b as Source # 
Instance details

Defined in Sqel.ReifyCodec

Methods

compCodec :: NP b as -> b a Source #

ConCodec b as => CompCodec ('Prod ('Con as)) i (ConCol name record fields as) b as Source # 
Instance details

Defined in Sqel.ReifyCodec

Methods

compCodec :: NP b as -> b (ConCol name record fields as) Source #

class DefaultPrimCodec b a where Source #

Methods

defaultPrimCodec :: b a Source #

Instances

Instances details
PrimColumn a => DefaultPrimCodec Value (a :: Type) Source # 
Instance details

Defined in Sqel.ReifyCodec

PrimColumn a => DefaultPrimCodec Encoder (a :: Type) Source # 
Instance details

Defined in Sqel.ReifyCodec

PrimColumn a => DefaultPrimCodec FullCodec (a :: Type) Source # 
Instance details

Defined in Sqel.ReifyCodec

PrimColumn a => DefaultPrimCodec ValueCodec (a :: Type) Source # 
Instance details

Defined in Sqel.ReifyCodec

class DefaultCompCodec c i b a as where Source #

Methods

defaultCompCodec :: NP b as -> b a Source #

Instances

Instances details
CompCodec c i a Encoder as => DefaultCompCodec c i Encoder a as Source # 
Instance details

Defined in Sqel.ReifyCodec

CompCodec c i a FullCodec as => DefaultCompCodec c i FullCodec a as Source # 
Instance details

Defined in Sqel.ReifyCodec

class ReifyPrimCodec b ps a where Source #

Methods

reifyPrimCodec :: NP I ps -> b a Source #

Instances

Instances details
DefaultPrimCodec b a => ReifyPrimCodec (b :: k -> Type) ('[] :: [Type]) (a :: k) Source # 
Instance details

Defined in Sqel.ReifyCodec

Methods

reifyPrimCodec :: NP I '[] -> b a Source #

ReifyPrimCodec Value mods w => ReifyPrimCodec Value (Newtype a w ': mods) (a :: Type) Source # 
Instance details

Defined in Sqel.ReifyCodec

Methods

reifyPrimCodec :: NP I (Newtype a w ': mods) -> Value a Source #

ReifyPrimCodec Value (PrimValueEncoder a ': ps) (a :: Type) Source # 
Instance details

Defined in Sqel.ReifyCodec

Methods

reifyPrimCodec :: NP I (PrimValueEncoder a ': ps) -> Value a Source #

ReifyPrimCodec Encoder (Ignore ': ps) (a :: Type) Source # 
Instance details

Defined in Sqel.ReifyCodec

Methods

reifyPrimCodec :: NP I (Ignore ': ps) -> Encoder a Source #

ReifyPrimCodec Encoder (PrimValueEncoder a ': ps) (a :: Type) Source # 
Instance details

Defined in Sqel.ReifyCodec

(Show a, EnumTable a) => ReifyPrimCodec FullCodec (EnumColumn ': ps) (a :: TYPE LiftedRep) Source # 
Instance details

Defined in Sqel.ReifyCodec

Methods

reifyPrimCodec :: NP I (EnumColumn ': ps) -> FullCodec a Source #

ReifyPrimCodec FullCodec (Ignore ': ps) (a :: Type) Source # 
Instance details

Defined in Sqel.ReifyCodec

Methods

reifyPrimCodec :: NP I (Ignore ': ps) -> FullCodec a Source #

(Show a, Read a) => ReifyPrimCodec FullCodec (ReadShowColumn ': ps) (a :: TYPE LiftedRep) Source # 
Instance details

Defined in Sqel.ReifyCodec

ReifyPrimCodec FullCodec (PrimValueCodec a ': ps) (a :: Type) Source # 
Instance details

Defined in Sqel.ReifyCodec

(Show a, EnumTable a) => ReifyPrimCodec ValueCodec (EnumColumn ': ps) (a :: TYPE LiftedRep) Source # 
Instance details

Defined in Sqel.ReifyCodec

(Show a, Read a) => ReifyPrimCodec ValueCodec (ReadShowColumn ': ps) (a :: TYPE LiftedRep) Source # 
Instance details

Defined in Sqel.ReifyCodec

ReifyPrimCodec ValueCodec (PrimValueCodec a ': ps) (a :: Type) Source # 
Instance details

Defined in Sqel.ReifyCodec

(ReifyPrimCodec c mods w, Invariant c) => ReifyPrimCodec (c :: Type -> Type) (Newtype a w ': mods) (a :: Type) Source # 
Instance details

Defined in Sqel.ReifyCodec

Methods

reifyPrimCodec :: NP I (Newtype a w ': mods) -> c a Source #

ReifyPrimCodec b ps a => ReifyPrimCodec (b :: k -> Type) (p ': ps) (a :: k) Source # 
Instance details

Defined in Sqel.ReifyCodec

Methods

reifyPrimCodec :: NP I (p ': ps) -> b a Source #

ReifyPrimCodec Value ps a => ReifyPrimCodec Encoder (Nullable ': ps) (Maybe a :: Type) Source # 
Instance details

Defined in Sqel.ReifyCodec

Methods

reifyPrimCodec :: NP I (Nullable ': ps) -> Encoder (Maybe a) Source #

(ReifyPrimCodec ValueCodec ps a, Foldable f, ArrayDecoder f a) => ReifyPrimCodec FullCodec (ArrayColumn f ': ps) (f a :: Type) Source # 
Instance details

Defined in Sqel.ReifyCodec

Methods

reifyPrimCodec :: NP I (ArrayColumn f ': ps) -> FullCodec (f a) Source #

ReifyPrimCodec ValueCodec ps a => ReifyPrimCodec FullCodec (Nullable ': ps) (Maybe a :: Type) Source # 
Instance details

Defined in Sqel.ReifyCodec

Methods

reifyPrimCodec :: NP I (Nullable ': ps) -> FullCodec (Maybe a) Source #

(ReifyPrimCodec ValueCodec ps a, Foldable f, ArrayDecoder f a) => ReifyPrimCodec ValueCodec (ArrayColumn f ': ps) (f a :: Type) Source # 
Instance details

Defined in Sqel.ReifyCodec

Methods

reifyPrimCodec :: NP I (ArrayColumn f ': ps) -> ValueCodec (f a) Source #

class ReifyCompCodec b c i ps as a where Source #

Methods

reifyCompCodec :: NP I ps -> NP b as -> b a Source #

Instances

Instances details
DefaultCompCodec c i b a as => ReifyCompCodec (b :: Type -> Type) (c :: Comp) (i :: CompInc) ps (as :: [Type]) (a :: Type) Source # 
Instance details

Defined in Sqel.ReifyCodec

Methods

reifyCompCodec :: NP I ps -> NP b as -> b a Source #

class ReifyCodec b s a | s -> a where Source #

Methods

reifyCodec :: Dd s -> b a Source #

Instances

Instances details
(ReifyCodecComp b sub as, ReifyCompCodec b c i ps as a) => ReifyCodec b ('DdK sel ps a ('Comp tsel c i sub)) a Source # 
Instance details

Defined in Sqel.ReifyCodec

Methods

reifyCodec :: Dd ('DdK sel ps a ('Comp tsel c i sub)) -> b a Source #

ReifyPrimCodec b ps a => ReifyCodec b ('DdK sel ps a 'Prim) a Source # 
Instance details

Defined in Sqel.ReifyCodec

Methods

reifyCodec :: Dd ('DdK sel ps a 'Prim) -> b a Source #

class ReifyCodecComp b s as | s -> as where Source #

Methods

reifyCodecComp :: NP Dd s -> NP b as Source #

Instances

Instances details
ReifyCodecComp b ('[] :: [DdK]) ('[] :: [Type]) Source # 
Instance details

Defined in Sqel.ReifyCodec

Methods

reifyCodecComp :: NP Dd '[] -> NP b '[] Source #

(ReifyCodec b s a, ReifyCodecComp b ss as) => ReifyCodecComp b (s ': ss) (a ': as) Source # 
Instance details

Defined in Sqel.ReifyCodec

Methods

reifyCodecComp :: NP Dd (s ': ss) -> NP b (a ': as) Source #