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

Sqel.Data.Codec

Documentation

data Encoder a Source #

Constructors

Encoder 

Fields

Instances

Instances details
Contravariant Encoder Source # 
Instance details

Defined in Sqel.Data.Codec

Methods

contramap :: (a' -> a) -> Encoder a -> Encoder a' #

(>$) :: b -> Encoder b -> Encoder a #

Invariant Encoder Source # 
Instance details

Defined in Sqel.Data.Codec

Methods

invmap :: (a -> b) -> (b -> a) -> Encoder a -> Encoder b #

GetDecoder FullCodec a Source # 
Instance details

Defined in Sqel.Codec.Product

GetEncoder Encoder a Source # 
Instance details

Defined in Sqel.Codec.Product

Methods

getEncoder :: Encoder a -> Encoder a Source #

GetEncoder FullCodec a Source # 
Instance details

Defined in Sqel.Codec.Product

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 #

ProdEncoder Encoder a as => ProdCodec Encoder a as Source # 
Instance details

Defined in Sqel.Codec.Product

Methods

prodCodec :: NP Encoder as -> Encoder a Source #

(ProdDecoder FullCodec a as, ProdEncoder FullCodec a as) => ProdCodec FullCodec a as Source # 
Instance details

Defined in Sqel.Codec.Product

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

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

(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 #

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

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 #

Monoid (Encoder a) Source # 
Instance details

Defined in Sqel.Data.Codec

Methods

mempty :: Encoder a #

mappend :: Encoder a -> Encoder a -> Encoder a #

mconcat :: [Encoder a] -> Encoder a #

Semigroup (Encoder a) Source # 
Instance details

Defined in Sqel.Data.Codec

Methods

(<>) :: Encoder a -> Encoder a -> Encoder a #

sconcat :: NonEmpty (Encoder a) -> Encoder a #

stimes :: Integral b => b -> Encoder a -> Encoder a #

Generic (Encoder a) Source # 
Instance details

Defined in Sqel.Data.Codec

Associated Types

type Rep (Encoder a) :: Type -> Type #

Methods

from :: Encoder a -> Rep (Encoder a) x #

to :: Rep (Encoder a) x -> Encoder a #

type Rep (Encoder a) Source # 
Instance details

Defined in Sqel.Data.Codec

type Rep (Encoder a) = D1 ('MetaData "Encoder" "Sqel.Data.Codec" "sqel-0.0.1.0-5k4czMecwS553bFrfF1Jzu" 'False) (C1 ('MetaCons "Encoder" 'PrefixI 'True) (S1 ('MetaSel ('Just "encodeValue") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Params a)) :*: S1 ('MetaSel ('Just "encodeNulls") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Params ()))))

data Decoder a Source #

Constructors

Decoder 

Fields

Instances

Instances details
Applicative Decoder Source # 
Instance details

Defined in Sqel.Data.Codec

Methods

pure :: a -> Decoder a #

(<*>) :: Decoder (a -> b) -> Decoder a -> Decoder b #

liftA2 :: (a -> b -> c) -> Decoder a -> Decoder b -> Decoder c #

(*>) :: Decoder a -> Decoder b -> Decoder b #

(<*) :: Decoder a -> Decoder b -> Decoder a #

Functor Decoder Source # 
Instance details

Defined in Sqel.Data.Codec

Methods

fmap :: (a -> b) -> Decoder a -> Decoder b #

(<$) :: a -> Decoder b -> Decoder a #

GetDecoder FullCodec a Source # 
Instance details

Defined in Sqel.Codec.Product

GetEncoder FullCodec a Source # 
Instance details

Defined in Sqel.Codec.Product

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 #

(ProdDecoder FullCodec a as, ProdEncoder FullCodec a as) => ProdCodec FullCodec a as Source # 
Instance details

Defined in Sqel.Codec.Product

PrimColumn a => DefaultPrimCodec FullCodec (a :: Type) 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

(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 #

(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

(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 #

Generic (Decoder a) Source # 
Instance details

Defined in Sqel.Data.Codec

Associated Types

type Rep (Decoder a) :: Type -> Type #

Methods

from :: Decoder a -> Rep (Decoder a) x #

to :: Rep (Decoder a) x -> Decoder a #

type Rep (Decoder a) Source # 
Instance details

Defined in Sqel.Data.Codec

type Rep (Decoder a) = D1 ('MetaData "Decoder" "Sqel.Data.Codec" "sqel-0.0.1.0-5k4czMecwS553bFrfF1Jzu" 'False) (C1 ('MetaCons "Decoder" 'PrefixI 'True) (S1 ('MetaSel ('Just "decodeValue") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Row a)) :*: S1 ('MetaSel ('Just "decodeNulls") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Row ()))))

data Codec e d a Source #

Constructors

Codec 

Fields

Instances

Instances details
GetDecoder FullCodec a Source # 
Instance details

Defined in Sqel.Codec.Product

GetEncoder FullCodec a Source # 
Instance details

Defined in Sqel.Codec.Product

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 #

(ProdDecoder FullCodec a as, ProdEncoder FullCodec a as) => ProdCodec FullCodec a as Source # 
Instance details

Defined in Sqel.Codec.Product

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

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

Defined in Sqel.ReifyCodec

(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 #

(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 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 #

(Contravariant e, Functor d) => Invariant (Codec e d) Source # 
Instance details

Defined in Sqel.Data.Codec

Methods

invmap :: (a -> b) -> (b -> a) -> Codec e d a -> Codec e d b #

Generic (Codec e d a) Source # 
Instance details

Defined in Sqel.Data.Codec

Associated Types

type Rep (Codec e d a) :: Type -> Type #

Methods

from :: Codec e d a -> Rep (Codec e d a) x #

to :: Rep (Codec e d a) x -> Codec e d a #

type Rep (Codec e d a) Source # 
Instance details

Defined in Sqel.Data.Codec

type Rep (Codec e d a) = D1 ('MetaData "Codec" "Sqel.Data.Codec" "sqel-0.0.1.0-5k4czMecwS553bFrfF1Jzu" 'False) (C1 ('MetaCons "Codec" 'PrefixI 'True) (S1 ('MetaSel ('Just "encoder") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (e a)) :*: S1 ('MetaSel ('Just "decoder") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (d a))))

newtype ColumnName Source #

Constructors

ColumnName 

Fields

Instances

Instances details
IsString ColumnName Source # 
Instance details

Defined in Sqel.Data.Codec

Show ColumnName Source # 
Instance details

Defined in Sqel.Data.Codec

Eq ColumnName Source # 
Instance details

Defined in Sqel.Data.Codec

Ord ColumnName Source # 
Instance details

Defined in Sqel.Data.Codec

symbolColumnName :: forall (name :: Symbol). KnownSymbol name => ColumnName Source #