Copyright | © 2015 Patryk Zadarnowski <pat@jantar.org> |
---|---|
License | BSD3 |
Maintainer | pat@jantar.org |
Stability | experimental |
Portability | portable |
Safe Haskell | None |
Language | Haskell2010 |
Aan efficient Quiver-based implementation of a cellular CSV encoder and decoder, designed for fast streaming of data with guaranteed constant memory usage.
- data CSVError
- decodeCSV :: Functor f => SP ByteString (Cell ByteString) f CSVError
- decodeLazyCSV :: Functor f => SP ByteString (Cell ByteString) f CSVError
- encodeCSV :: Int -> SP (Cell ByteString) ByteString f CSVError
- encodeLazyCSV :: Int -> SP (Cell ByteString) ByteString f CSVError
Documentation
Codec error type.
IncompleteCell | Input ends in a partial cell value.
For encoder, this means that the last |
IncompleteRow | Input ends in a partial row value.
For encoder, this means that the last |
decodeCSV :: Functor f => SP ByteString (Cell ByteString) f CSVError Source
A Quiver processor that parses a fragmented strict representation of a CSV file into a stream of cells.
decodeLazyCSV :: Functor f => SP ByteString (Cell ByteString) f CSVError Source
A Quiver processor that parses a fragmented lazy representation of a CSV file into a stream of cells.
encodeCSV :: Int -> SP (Cell ByteString) ByteString f CSVError Source
encodeCSV n
is an infinite pipe that converts a stream
of cells into a fragmented strict representation of a CSV file,
unconditionally quoting any field values with length greater than n
.
encodeLazyCSV :: Int -> SP (Cell ByteString) ByteString f CSVError Source
encodeLazyCSV n
is an infinite pipe that converts a stream
of cells into a fragmented lazy representation of a CSV file,
unconditionally quoting any field values with length greater than n
.