module Pipes.KeyValueCsv.Types
( module Pipes.KeyValueCsv.Types
, module Pipes.KeyValueCsv.Types.Common
, module Pipes.KeyValueCsv.Types.Csv
, module Pipes.KeyValueCsv.Types.KeyValue
) where
import Pipes.KeyValueCsv.Types.Common
import Pipes.KeyValueCsv.Types.Csv
import Pipes.KeyValueCsv.Types.KeyValue
import Control.Lens
import Data.Default.Class
import Data.Text (Text)
data Options (m :: * -> *) (f :: k -> *) (g :: j -> *) (hs :: [k]) (rs :: [j]) = Options
{ _kvOptions :: KeyValueOptions m f hs
, _csvOptions :: CsvOptions m g rs
, _predicate :: Text -> Bool
, _delimiter :: Char
}
makeLenses ''Options
instance ( Default (KeyValueOptions m f hs)
, Default (CsvOptions m g rs)
) => Default (Options m f g hs rs) where
def = Options
{ _kvOptions = def
, _csvOptions = def
, _predicate = const False
, _delimiter = ','
}