packages feed

csv-conduit 1.0.1.0 → 1.0.1.1

raw patch · 5 files changed

+16/−6 lines, 5 filesPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

API changes (from Hackage documentation)

- Data.CSV.Conduit: instance (Data.CSV.Conduit.CSV s (Data.CSV.Conduit.Types.Row s'), GHC.Classes.Ord s', GHC.Internal.Data.String.IsString s) => Data.CSV.Conduit.CSV s (Data.CSV.Conduit.Types.MapRow s')
- Data.CSV.Conduit: instance (Data.CSV.Conduit.CSV s (Data.CSV.Conduit.Types.Row s'), GHC.Classes.Ord s', GHC.Internal.Data.String.IsString s) => Data.CSV.Conduit.CSV s (Data.CSV.Conduit.Types.OrderedMapRow s')
- Data.CSV.Conduit: instance Data.CSV.Conduit.CSV Data.ByteString.Internal.Type.ByteString (Data.CSV.Conduit.Types.Row GHC.Internal.Base.String)
- Data.CSV.Conduit.Conversion: instance Data.CSV.Conduit.Conversion.FromField GHC.Internal.Int.Int16
- Data.CSV.Conduit.Conversion: instance Data.CSV.Conduit.Conversion.FromField GHC.Internal.Int.Int32
- Data.CSV.Conduit.Conversion: instance Data.CSV.Conduit.Conversion.FromField GHC.Internal.Int.Int64
- Data.CSV.Conduit.Conversion: instance Data.CSV.Conduit.Conversion.FromField GHC.Internal.Int.Int8
- Data.CSV.Conduit.Conversion: instance Data.CSV.Conduit.Conversion.FromField GHC.Internal.Word.Word16
- Data.CSV.Conduit.Conversion: instance Data.CSV.Conduit.Conversion.FromField GHC.Internal.Word.Word32
- Data.CSV.Conduit.Conversion: instance Data.CSV.Conduit.Conversion.FromField GHC.Internal.Word.Word64
- Data.CSV.Conduit.Conversion: instance Data.CSV.Conduit.Conversion.FromField GHC.Internal.Word.Word8
- Data.CSV.Conduit.Conversion: instance Data.CSV.Conduit.Conversion.FromField a => Data.CSV.Conduit.Conversion.FromField (GHC.Internal.Maybe.Maybe a)
- Data.CSV.Conduit.Conversion: instance Data.CSV.Conduit.Conversion.ToField GHC.Internal.Int.Int16
- Data.CSV.Conduit.Conversion: instance Data.CSV.Conduit.Conversion.ToField GHC.Internal.Int.Int32
- Data.CSV.Conduit.Conversion: instance Data.CSV.Conduit.Conversion.ToField GHC.Internal.Int.Int64
- Data.CSV.Conduit.Conversion: instance Data.CSV.Conduit.Conversion.ToField GHC.Internal.Int.Int8
- Data.CSV.Conduit.Conversion: instance Data.CSV.Conduit.Conversion.ToField GHC.Internal.Word.Word16
- Data.CSV.Conduit.Conversion: instance Data.CSV.Conduit.Conversion.ToField GHC.Internal.Word.Word32
- Data.CSV.Conduit.Conversion: instance Data.CSV.Conduit.Conversion.ToField GHC.Internal.Word.Word64
- Data.CSV.Conduit.Conversion: instance Data.CSV.Conduit.Conversion.ToField GHC.Internal.Word.Word8
- Data.CSV.Conduit.Conversion: instance Data.CSV.Conduit.Conversion.ToField a => Data.CSV.Conduit.Conversion.ToField (GHC.Internal.Maybe.Maybe a)
- Data.CSV.Conduit.Conversion: instance GHC.Internal.Base.Alternative Data.CSV.Conduit.Conversion.Parser
- Data.CSV.Conduit.Conversion: instance GHC.Internal.Base.Applicative Data.CSV.Conduit.Conversion.Parser
- Data.CSV.Conduit.Conversion: instance GHC.Internal.Base.Functor Data.CSV.Conduit.Conversion.Parser
- Data.CSV.Conduit.Conversion: instance GHC.Internal.Base.Monad Data.CSV.Conduit.Conversion.Parser
- Data.CSV.Conduit.Conversion: instance GHC.Internal.Base.MonadPlus Data.CSV.Conduit.Conversion.Parser
- Data.CSV.Conduit.Conversion: instance GHC.Internal.Base.Semigroup (Data.CSV.Conduit.Conversion.Parser a)
- Data.CSV.Conduit.Conversion: instance GHC.Internal.Control.Monad.Fail.MonadFail Data.CSV.Conduit.Conversion.Parser
- Data.CSV.Conduit.Conversion: instance GHC.Internal.Read.Read a => GHC.Internal.Read.Read (Data.CSV.Conduit.Conversion.Named a)
- Data.CSV.Conduit.Conversion: instance GHC.Internal.Read.Read a => GHC.Internal.Read.Read (Data.CSV.Conduit.Conversion.NamedOrdered a)
- Data.CSV.Conduit.Conversion: instance GHC.Internal.Read.Read a => GHC.Internal.Read.Read (Data.CSV.Conduit.Conversion.Only a)
- Data.CSV.Conduit.Conversion: instance GHC.Internal.Show.Show a => GHC.Internal.Show.Show (Data.CSV.Conduit.Conversion.Named a)
- Data.CSV.Conduit.Conversion: instance GHC.Internal.Show.Show a => GHC.Internal.Show.Show (Data.CSV.Conduit.Conversion.NamedOrdered a)
- Data.CSV.Conduit.Conversion: instance GHC.Internal.Show.Show a => GHC.Internal.Show.Show (Data.CSV.Conduit.Conversion.Only a)
- Data.CSV.Conduit.Types: instance Data.Default.Class.Default Data.CSV.Conduit.Types.CSVSettings
- Data.CSV.Conduit.Types: instance GHC.Internal.Show.Show Data.CSV.Conduit.Types.CSVSettings
- Data.CSV.Conduit.Types: instance GHC.Internal.Show.Show Data.CSV.Conduit.Types.QuoteEmpty
+ Data.CSV.Conduit: instance (Data.CSV.Conduit.CSV s (Data.CSV.Conduit.Types.Row s'), GHC.Classes.Ord s', Data.String.IsString s) => Data.CSV.Conduit.CSV s (Data.CSV.Conduit.Types.MapRow s')
+ Data.CSV.Conduit: instance (Data.CSV.Conduit.CSV s (Data.CSV.Conduit.Types.Row s'), GHC.Classes.Ord s', Data.String.IsString s) => Data.CSV.Conduit.CSV s (Data.CSV.Conduit.Types.OrderedMapRow s')
+ Data.CSV.Conduit: instance Data.CSV.Conduit.CSV Data.ByteString.Internal.Type.ByteString (Data.CSV.Conduit.Types.Row GHC.Base.String)
+ Data.CSV.Conduit.Conversion: instance Control.Monad.Fail.MonadFail Data.CSV.Conduit.Conversion.Parser
+ Data.CSV.Conduit.Conversion: instance Data.CSV.Conduit.Conversion.FromField GHC.Int.Int16
+ Data.CSV.Conduit.Conversion: instance Data.CSV.Conduit.Conversion.FromField GHC.Int.Int32
+ Data.CSV.Conduit.Conversion: instance Data.CSV.Conduit.Conversion.FromField GHC.Int.Int64
+ Data.CSV.Conduit.Conversion: instance Data.CSV.Conduit.Conversion.FromField GHC.Int.Int8
+ Data.CSV.Conduit.Conversion: instance Data.CSV.Conduit.Conversion.FromField GHC.Word.Word16
+ Data.CSV.Conduit.Conversion: instance Data.CSV.Conduit.Conversion.FromField GHC.Word.Word32
+ Data.CSV.Conduit.Conversion: instance Data.CSV.Conduit.Conversion.FromField GHC.Word.Word64
+ Data.CSV.Conduit.Conversion: instance Data.CSV.Conduit.Conversion.FromField GHC.Word.Word8
+ Data.CSV.Conduit.Conversion: instance Data.CSV.Conduit.Conversion.FromField a => Data.CSV.Conduit.Conversion.FromField (GHC.Maybe.Maybe a)
+ Data.CSV.Conduit.Conversion: instance Data.CSV.Conduit.Conversion.ToField GHC.Int.Int16
+ Data.CSV.Conduit.Conversion: instance Data.CSV.Conduit.Conversion.ToField GHC.Int.Int32
+ Data.CSV.Conduit.Conversion: instance Data.CSV.Conduit.Conversion.ToField GHC.Int.Int64
+ Data.CSV.Conduit.Conversion: instance Data.CSV.Conduit.Conversion.ToField GHC.Int.Int8
+ Data.CSV.Conduit.Conversion: instance Data.CSV.Conduit.Conversion.ToField GHC.Word.Word16
+ Data.CSV.Conduit.Conversion: instance Data.CSV.Conduit.Conversion.ToField GHC.Word.Word32
+ Data.CSV.Conduit.Conversion: instance Data.CSV.Conduit.Conversion.ToField GHC.Word.Word64
+ Data.CSV.Conduit.Conversion: instance Data.CSV.Conduit.Conversion.ToField GHC.Word.Word8
+ Data.CSV.Conduit.Conversion: instance Data.CSV.Conduit.Conversion.ToField a => Data.CSV.Conduit.Conversion.ToField (GHC.Maybe.Maybe a)
+ Data.CSV.Conduit.Conversion: instance GHC.Base.Alternative Data.CSV.Conduit.Conversion.Parser
+ Data.CSV.Conduit.Conversion: instance GHC.Base.Applicative Data.CSV.Conduit.Conversion.Parser
+ Data.CSV.Conduit.Conversion: instance GHC.Base.Functor Data.CSV.Conduit.Conversion.Parser
+ Data.CSV.Conduit.Conversion: instance GHC.Base.Monad Data.CSV.Conduit.Conversion.Parser
+ Data.CSV.Conduit.Conversion: instance GHC.Base.MonadPlus Data.CSV.Conduit.Conversion.Parser
+ Data.CSV.Conduit.Conversion: instance GHC.Base.Semigroup (Data.CSV.Conduit.Conversion.Parser a)
+ Data.CSV.Conduit.Conversion: instance GHC.Read.Read a => GHC.Read.Read (Data.CSV.Conduit.Conversion.Named a)
+ Data.CSV.Conduit.Conversion: instance GHC.Read.Read a => GHC.Read.Read (Data.CSV.Conduit.Conversion.NamedOrdered a)
+ Data.CSV.Conduit.Conversion: instance GHC.Read.Read a => GHC.Read.Read (Data.CSV.Conduit.Conversion.Only a)
+ Data.CSV.Conduit.Conversion: instance GHC.Show.Show a => GHC.Show.Show (Data.CSV.Conduit.Conversion.Named a)
+ Data.CSV.Conduit.Conversion: instance GHC.Show.Show a => GHC.Show.Show (Data.CSV.Conduit.Conversion.NamedOrdered a)
+ Data.CSV.Conduit.Conversion: instance GHC.Show.Show a => GHC.Show.Show (Data.CSV.Conduit.Conversion.Only a)
+ Data.CSV.Conduit.Types: instance Data.Default.Internal.Default Data.CSV.Conduit.Types.CSVSettings
+ Data.CSV.Conduit.Types: instance GHC.Show.Show Data.CSV.Conduit.Types.CSVSettings
+ Data.CSV.Conduit.Types: instance GHC.Show.Show Data.CSV.Conduit.Types.QuoteEmpty

Files

changelog.md view
@@ -1,3 +1,6 @@+1.0.1.1+* Fix test suite to build with text 2.1.2 and ghc 9.12.2, resolving [#62](https://github.com/ozataman/csv-conduit/issues/62)+ 1.0.1.0 * Use ConduitT instead of ConduitM (prettier type inference with newer conduit imports) 
csv-conduit.cabal view
@@ -1,9 +1,9 @@ name:               csv-conduit-version:            1.0.1.0+version:            1.0.1.1 synopsis:   A flexible, fast, conduit-based CSV parser library for Haskell. -homepage:           http://github.com/dmvianna/csv-conduit+homepage:           http://github.com/ozataman/csv-conduit license:            BSD3 license-file:       LICENSE author:             Ozgun Ataman@@ -51,13 +51,14 @@   .   For more documentation and examples, check out the README at:   .-  <http://github.com/dmvianna/csv-conduit>+  <http://github.com/ozataman/csv-conduit>   .  extra-source-files:   changelog.md   README.md   test/test-mac-excel.csv+  test/test-windows-excel.csv   test/test.csv   test/Test.hs   test/test.xls
src/Data/CSV/Conduit/Parser/ByteString.hs view
@@ -59,7 +59,7 @@ row csvs = csvrow csvs <|> badrow  csvEndOfLine :: Parser ()-csvEndOfLine = (word8 10 >> return ()) <|> (word8 13 >> return ())+csvEndOfLine = (word8 10 >> return ()) <|> ((word8 13 *> word8 10) >> return ()) <|> (word8 13 >> return ())  badrow :: Parser (Maybe (Row ByteString)) badrow = P.takeWhile (not . C8.isEndOfLine) *>
test/Test.hs view
@@ -13,7 +13,7 @@ import qualified Data.Map as Map import qualified Data.Map.Ordered as OMap import Data.Monoid as M-import Data.Text+import Data.Text (Text) import qualified Data.Vector as V import System.Directory import Test.Framework (Test, defaultMain, testGroup)@@ -34,6 +34,7 @@   [ testCase "mapping with id works" test_identityMap,     testCase "simple parsing works" (test_simpleParse testFile1),     testCase "simple parsing works for Mac-Excel" (test_simpleParse testFile3),+    testCase "simple parsing works for Windows-Excel" (test_simpleParse testFile4),     testCase "fails parsing gracefully" test_parseFail,     testCase "OrderedMap" test_orderedMap   ]@@ -125,10 +126,11 @@ csvSettings :: CSVSettings csvSettings = defCSVSettings {csvQuoteCharAndStyle = Just ('`', DontQuoteEmpty)} -testFile1, testFile2, testFile3 :: FilePath+testFile1, testFile2, testFile3, testFile4 :: FilePath testFile1 = "test/test.csv" testFile2 = "test/test.csv" testFile3 = "test/test-mac-excel.csv"+testFile4 = "test/test-windows-excel.csv"  testXLS :: FilePath testXLS = "test/test.xls"
+ test/test-windows-excel.csv view
@@ -0,0 +1,4 @@+Col1,Col2,Col3,Sum
+A,2,3,5
+B,3,4,7
+"Field using the quote char ""this is the in-quoted value""",4,5,9