>
>
>
>
>
>
>
>
>
>
> module Pipes.CSV.Syntax (
> pattern LF,
> pattern CR,
> pattern QC,
> pattern CC,
> isSpecial,
> fieldDelimiter,
> fieldSeparator,
> recordSeparator,
> quoteSequence
> ) where
> import Data.ByteString (ByteString)
> import Data.Word
> import qualified Data.ByteString as ByteString
>
> pattern LF = 0x0A :: Word8
>
> pattern CR = 0x0D :: Word8
>
> pattern QC = 0x22 :: Word8
>
> pattern CC = 0x2C :: Word8
>
> isSpecial :: Word8 -> Bool
> isSpecial x = (x == QC || x == CC || x < 0x20 || x > 0x7E)
>
> fieldDelimiter :: ByteString
> fieldDelimiter = ByteString.singleton QC
>
> fieldSeparator :: ByteString
> fieldSeparator = ByteString.singleton CC
>
> recordSeparator :: ByteString
> recordSeparator = ByteString.pack [ CR, LF ]
>
> quoteSequence :: ByteString
> quoteSequence = ByteString.pack [ QC, QC ]