{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE TypeSynonymInstances #-}
module Data.CSV.Conduit.Types where
import Data.Default
import qualified Data.Map as M
import qualified Data.Map.Ordered as MO
data CSVSettings = CSVSettings
{
CSVSettings -> Char
csvSep :: !Char
, CSVSettings -> Maybe Char
csvQuoteChar :: !(Maybe Char)
} deriving (ReadPrec [CSVSettings]
ReadPrec CSVSettings
Int -> ReadS CSVSettings
ReadS [CSVSettings]
(Int -> ReadS CSVSettings)
-> ReadS [CSVSettings]
-> ReadPrec CSVSettings
-> ReadPrec [CSVSettings]
-> Read CSVSettings
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [CSVSettings]
$creadListPrec :: ReadPrec [CSVSettings]
readPrec :: ReadPrec CSVSettings
$creadPrec :: ReadPrec CSVSettings
readList :: ReadS [CSVSettings]
$creadList :: ReadS [CSVSettings]
readsPrec :: Int -> ReadS CSVSettings
$creadsPrec :: Int -> ReadS CSVSettings
Read, Int -> CSVSettings -> ShowS
[CSVSettings] -> ShowS
CSVSettings -> String
(Int -> CSVSettings -> ShowS)
-> (CSVSettings -> String)
-> ([CSVSettings] -> ShowS)
-> Show CSVSettings
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [CSVSettings] -> ShowS
$cshowList :: [CSVSettings] -> ShowS
show :: CSVSettings -> String
$cshow :: CSVSettings -> String
showsPrec :: Int -> CSVSettings -> ShowS
$cshowsPrec :: Int -> CSVSettings -> ShowS
Show, CSVSettings -> CSVSettings -> Bool
(CSVSettings -> CSVSettings -> Bool)
-> (CSVSettings -> CSVSettings -> Bool) -> Eq CSVSettings
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: CSVSettings -> CSVSettings -> Bool
$c/= :: CSVSettings -> CSVSettings -> Bool
== :: CSVSettings -> CSVSettings -> Bool
$c== :: CSVSettings -> CSVSettings -> Bool
Eq)
defCSVSettings :: CSVSettings
defCSVSettings :: CSVSettings
defCSVSettings = CSVSettings :: Char -> Maybe Char -> CSVSettings
CSVSettings
{ csvSep :: Char
csvSep = Char
','
, csvQuoteChar :: Maybe Char
csvQuoteChar = Char -> Maybe Char
forall a. a -> Maybe a
Just Char
'"'
}
instance Default CSVSettings where
def :: CSVSettings
def = CSVSettings
defCSVSettings
type Row a = [a]
type MapRow a = M.Map a a
type OrderedMapRow a = MO.OMap a a