siphon 0.8.1 → 0.8.1.1
raw patch · 2 files changed
+22/−6 lines, 2 filesdep +semigroupsdep ~basedep ~transformersPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
Dependencies added: semigroups
Dependency ranges changed: base, transformers
API changes (from Hackage documentation)
- Siphon: instance Data.Semigroup.Semigroup Siphon.HeaderErrors
- Siphon.Types: instance GHC.Exception.Exception Siphon.Types.SiphonError
+ Siphon: instance GHC.Base.Semigroup Siphon.HeaderErrors
+ Siphon.Types: instance GHC.Exception.Type.Exception Siphon.Types.SiphonError
- Siphon.Types: RowErrorDecode :: !(Vector CellError) -> RowError
+ Siphon.Types: RowErrorDecode :: !Vector CellError -> RowError
- Siphon.Types: RowErrorHeaders :: !(Vector (Vector CellError)) -> !(Vector Text) -> !(Vector Int) -> RowError
+ Siphon.Types: RowErrorHeaders :: !Vector (Vector CellError) -> !Vector Text -> !Vector Int -> RowError
- Siphon.Types: [SiphonAp] :: !(f c) -> !(c -> Maybe a) -> !(Siphon f c (a -> b)) -> Siphon f c b
+ Siphon.Types: [SiphonAp] :: !f c -> !c -> Maybe a -> !Siphon f c (a -> b) -> Siphon f c b
Files
- siphon.cabal +7/−6
- test/Test.hs +15/−0
siphon.cabal view
@@ -1,5 +1,5 @@ name: siphon-version: 0.8.1+version: 0.8.1.1 synopsis: Encode and decode CSV files description: Please see README.md homepage: https://github.com/andrewthad/colonnade#readme@@ -13,12 +13,12 @@ cabal-version: >=1.10 library- hs-source-dirs: src+ hs-source-dirs: src exposed-modules: Siphon Siphon.Types build-depends:- base >= 4.9 && < 5+ base >= 4.8 && < 5 , colonnade >= 1.2 && < 1.3 , text >= 1.0 && < 1.3 , bytestring@@ -26,7 +26,8 @@ , streaming >= 0.1.4 && < 0.3 , attoparsec , transformers >= 0.5 && < 0.6- default-language: Haskell2010+ , semigroups >= 0.18.2 && < 0.20+ default-language: Haskell2010 test-suite doctest type: exitcode-stdio-1.0@@ -36,9 +37,9 @@ base , siphon , doctest >= 0.10- default-language: Haskell2010+ default-language: Haskell2010 -test-suite siphon-test+test-suite test type: exitcode-stdio-1.0 hs-source-dirs: test main-is: Test.hs
test/Test.hs view
@@ -79,6 +79,15 @@ ] ) ) @?= ([(244,intToWord8 (ord 'z'),True)] :> Nothing)+ , testCase "Headed Decoding (geolite)"+ $ ( runIdentity . SMP.toList )+ ( S.decodeCsvUtf8 decodingGeolite+ ( SMP.yield $ BC8.pack $ concat+ [ "network,autonomous_system_number,autonomous_system_organization\n"+ , "1,z,y\n"+ ]+ )+ ) @?= ([(1,intToWord8 (ord 'z'),intToWord8 (ord 'y'))] :> Nothing) , testCase "Headed Decoding (escaped characters, one big chunk)" $ ( runIdentity . SMP.toList ) ( S.decodeCsvUtf8 decodingF@@ -148,6 +157,12 @@ decodingF :: Siphon Headed ByteString ByteString decodingF = S.headed "name" Just++decodingGeolite :: Siphon Headed ByteString (Int,Word8,Word8)+decodingGeolite = (,,)+ <$> S.headed "network" dbInt+ <*> S.headed "autonomous_system_number" dbWord8+ <*> S.headed "autonomous_system_organization" dbWord8 encodingA :: Colonnade Headless (Int,Char,Bool) ByteString