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

Sqel.Codec.Sum

Documentation

unconsNS :: NS (NP I) (ds ': dss) -> Either (NP I ds) (NS (NP I) dss) Source #

newtype ConB b as Source #

Constructors

ConB 

Fields

readNull :: forall as. Decoder (NP I as) -> Row () Source #

readNulls :: forall ass. SListI2 ass => NP (ConB Decoder) ass -> Row () Source #

sumRows :: All2 Top ass => NP (ConB Decoder) ass -> Int64 -> Row (NS (NP I) ass) Source #

writeNull :: forall a as. ConB Encoder as -> Params a Source #

writeNulls :: forall a ass. SListI2 ass => NP (ConB Encoder) ass -> Params a Source #

sumParams :: All2 Top ass => NP (ConB Encoder) ass -> Params (NS (NP I) ass) Source #

class WrapConB b ass as where Source #

Methods

wrapConB :: NP b as -> NP (ConB b) ass Source #

Instances

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

Defined in Sqel.Codec.Sum

Methods

wrapConB :: NP b '[] -> NP (ConB b) '[] Source #

(Invariant b, WrapConB b ass as) => WrapConB b (as' ': ass) (ConCol name record fields as' ': as) Source # 
Instance details

Defined in Sqel.Codec.Sum

Methods

wrapConB :: NP b (ConCol name record fields as' ': as) -> NP (ConB b) (as' ': ass) Source #

class SumCodec b a as where Source #

Methods

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

Instances

Instances details
(ConstructSOP a ass, WrapConB Encoder ass as) => SumCodec Encoder a (Int64 ': as) Source # 
Instance details

Defined in Sqel.Codec.Sum

Methods

sumCodec :: NP Encoder (Int64 ': as) -> Encoder a Source #

(ReifySOP a ass, ConstructSOP a ass, WrapConB FullCodec ass as) => SumCodec FullCodec a (Int64 ': as) Source # 
Instance details

Defined in Sqel.Codec.Sum

Methods

sumCodec :: NP FullCodec (Int64 ': as) -> FullCodec a Source #

class ConCodec b as where Source #

Methods

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

Instances

Instances details
SListI as => ConCodec Encoder as Source # 
Instance details

Defined in Sqel.Codec.Sum

Methods

conCodec :: forall (name :: Symbol) (record :: Bool) (fields :: [ProductField]). NP Encoder as -> Encoder (ConCol name record fields as) Source #

SListI as => ConCodec FullCodec as Source # 
Instance details

Defined in Sqel.Codec.Sum

Methods

conCodec :: forall (name :: Symbol) (record :: Bool) (fields :: [ProductField]). NP FullCodec as -> FullCodec (ConCol name record fields as) Source #