| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Servant.CSV.Cassava
Description
A CSV empty datatype with MimeRender and MimeUnrender instances for
cassava's encoding and decoding classes.
>>>type Eg = Get '[CSV' 'HasHeader MyEncodeOptions] [(Int, String)]
Default encoding and decoding options are also provided, along with the
CSV type synonym that uses them.
>>>type EgDefault = Get '[CSV] [(Int, String)]
Synopsis
- class EncodeOpts opt where
- class EncodeList (hasHeader :: HasHeader) a where
- data TabSeparatedOpts
- data DefaultOpts
- class SHasHeaderI (hasHeader :: HasHeader) where
- data SHasHeader (hasHeader :: HasHeader) where
- type CSV = CSV' HasHeader DefaultOpts
- data CSV' (hasHeader :: HasHeader) opt
- shasheaderToBool :: SHasHeader hasHeader -> Bool
- lowerSHasHeader :: SHasHeader hasHeader -> HasHeader
- encodeOpts' :: forall opt hasHeader. (EncodeOpts opt, SHasHeaderI hasHeader) => Proxy opt -> Proxy hasHeader -> EncodeOptions
- data HasHeader
Documentation
class EncodeOpts opt where #
Minimal complete definition
Methods
encodeOpts :: Proxy opt -> EncodeOptions #
decodeOpts :: Proxy opt -> DecodeOptions #
csvContentType :: Proxy opt -> MediaType #
Instances
| EncodeOpts TabSeparatedOpts # | |
Defined in Servant.CSV.Cassava Methods encodeOpts :: Proxy TabSeparatedOpts -> EncodeOptions # | |
| EncodeOpts DefaultOpts # | |
Defined in Servant.CSV.Cassava Methods encodeOpts :: Proxy DefaultOpts -> EncodeOptions # decodeOpts :: Proxy DefaultOpts -> DecodeOptions # csvContentType :: Proxy DefaultOpts -> MediaType # | |
class EncodeList (hasHeader :: HasHeader) a where #
A class to determine how to encode a list of elements
HasHeaderencode withencodeDefaultOrderedByNameWithNoHeaderencode withencodeWith
Currently, it's not possible to encode without headers using encodeDefaultOrderedByNameWith.
Minimal complete definition
Methods
encodeList :: Proxy hasHeader -> EncodeOptions -> [a] -> ByteString #
Instances
| ToRecord a => EncodeList NoHeader a # | |
Defined in Servant.CSV.Cassava Methods encodeList :: Proxy NoHeader -> EncodeOptions -> [a] -> ByteString # | |
| (DefaultOrdered a, ToNamedRecord a) => EncodeList HasHeader a # | |
Defined in Servant.CSV.Cassava Methods encodeList :: Proxy HasHeader -> EncodeOptions -> [a] -> ByteString # | |
data TabSeparatedOpts #
Options that work for tab delimited data, with content type text/tab-separated-values;charset=utf-8
Instances
| Generic TabSeparatedOpts # | |
Defined in Servant.CSV.Cassava Associated Types type Rep TabSeparatedOpts :: * -> * # Methods from :: TabSeparatedOpts -> Rep TabSeparatedOpts x # to :: Rep TabSeparatedOpts x -> TabSeparatedOpts # | |
| EncodeOpts TabSeparatedOpts # | |
Defined in Servant.CSV.Cassava Methods encodeOpts :: Proxy TabSeparatedOpts -> EncodeOptions # | |
| type Rep TabSeparatedOpts # | |
Defined in Servant.CSV.Cassava | |
data DefaultOpts #
Default options, instances providing defaultDecodeOptions and defaultEncodeOptions, and content type text/csv;charset=utf-8
Instances
| Generic DefaultOpts # | |
Defined in Servant.CSV.Cassava Associated Types type Rep DefaultOpts :: * -> * # | |
| EncodeOpts DefaultOpts # | |
Defined in Servant.CSV.Cassava Methods encodeOpts :: Proxy DefaultOpts -> EncodeOptions # decodeOpts :: Proxy DefaultOpts -> DecodeOptions # csvContentType :: Proxy DefaultOpts -> MediaType # | |
| type Rep DefaultOpts # | |
Defined in Servant.CSV.Cassava | |
class SHasHeaderI (hasHeader :: HasHeader) where #
Class to provide SHasHeader implicitly.
Minimal complete definition
Methods
shasheader :: SHasHeader hasHeader #
Instances
| SHasHeaderI NoHeader # | |
Defined in Servant.CSV.Cassava Methods | |
| SHasHeaderI HasHeader # | |
Defined in Servant.CSV.Cassava Methods | |
data SHasHeader (hasHeader :: HasHeader) where #
'HasHeader singleton.
Constructors
| SHasHeader :: SHasHeader HasHeader | |
| SNoHeader :: SHasHeader NoHeader |
type CSV = CSV' HasHeader DefaultOpts #
data CSV' (hasHeader :: HasHeader) opt #
Instances
shasheaderToBool :: SHasHeader hasHeader -> Bool #
lowerSHasHeader :: SHasHeader hasHeader -> HasHeader #
encodeOpts' :: forall opt hasHeader. (EncodeOpts opt, SHasHeaderI hasHeader) => Proxy opt -> Proxy hasHeader -> EncodeOptions #