Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
This module provides TemplateHaskell
support for the cassava
library, so you can avoid deriving Generic
and the compilation
overhead that brings.
Synopsis
- deriveToNamedRecord :: Options -> Name -> DecsQ
- deriveToRecord :: Name -> DecsQ
- deriveDefaultOrdered :: CsvOptions -> Name -> DecsQ
- deriveNamedRecord :: CsvOptions -> Name -> DecsQ
- deriveFromNamedRecord :: CsvOptions -> Name -> DecsQ
- deriveFromRecord :: Name -> DecsQ
- deriveToAndFromRecord :: Name -> DecsQ
- deriveToNamedRecordAndDefaultOrdered :: Options -> Name -> DecsQ
- deriveToAndFromNamedRecordAndDefaultOrdered :: Options -> Name -> DecsQ
- type CsvOptions = Options
- csvDefaultOptions :: Options
Documentation
deriveToNamedRecord :: Options -> Name -> DecsQ Source #
Derives a ToNamedRecord
instance for a given type.
deriveToRecord :: Name -> DecsQ Source #
Derive an instance of the ToRecord
type class. This only works for
non-record types.
deriveDefaultOrdered :: CsvOptions -> Name -> DecsQ Source #
Derive an instance of DefaultOrdered
for the type.
deriveNamedRecord :: CsvOptions -> Name -> DecsQ Source #
Derive an instance of both ToNamedRecord
and FromNamedRecord
for a record type.
deriveFromNamedRecord :: CsvOptions -> Name -> DecsQ Source #
Derive an instance of FromNamedRecord
for record types.
deriveFromRecord :: Name -> DecsQ Source #
Derive FromRecord
for a type. This ignores the record fields and uses
the position of the fields to determine how to parse the record.
deriveToAndFromRecord :: Name -> DecsQ Source #
deriveToNamedRecordAndDefaultOrdered :: Options -> Name -> DecsQ Source #
A helper for the common case of deriving both ToNamedRecord
and
DefaultOrdered
, sharing the same options.
deriveToAndFromNamedRecordAndDefaultOrdered :: Options -> Name -> DecsQ Source #
A helper for the common case of deriving ToNamedRecord
,
FromNamedRecord
, and DefaultOrdered
, sharing the same options.
type CsvOptions = Options Source #
Cassava uses the same name as Aeson, which is used much more frequently. This alias makes it a bit easier to refer to it.
csvDefaultOptions :: Options Source #
Cassava uses the same name as Aeson, which is used more frequently. To avoid qualified names and lots of clashes, we export an alias here.