conduit-combinators 0.3.1 → 1.0.0
raw patch · 5 files changed
+24/−23 lines, 5 filesdep +filepathdep −system-fileiodep −system-filepathPVP ok
version bump matches the API change (PVP)
Dependencies added: filepath
Dependencies removed: system-fileio, system-filepath
API changes (from Hackage documentation)
Files
- ChangeLog.md +4/−0
- Data/Conduit/Combinators.hs +7/−8
- Data/Conduit/Combinators/Unqualified.hs +3/−4
- conduit-combinators.cabal +3/−4
- test/Spec.hs +7/−7
ChangeLog.md view
@@ -1,3 +1,7 @@+# 1.0.0++* Drop system-filepath/system-fileio+ # 0.3.1 * `peekForever`
Data/Conduit/Combinators.hs view
@@ -213,15 +213,14 @@ import qualified Data.Vector.Generic as V import qualified Data.Vector.Generic.Mutable as VM import Data.Void (absurd)-import qualified Filesystem as F-import Filesystem.Path (FilePath, (</>))-import Filesystem.Path.CurrentOS (encodeString, decodeString)+import qualified System.FilePath as F+import System.FilePath ((</>)) import Prelude (Bool (..), Eq (..), Int, Maybe (..), Monad (..), Num (..), Ord (..), fromIntegral, maybe, ($), Functor (..), Enum, seq, Show, Char, (||), mod, otherwise, Either (..),- ($!), succ)+ ($!), succ, FilePath) import Data.Word (Word8) import qualified Prelude import System.IO (Handle)@@ -411,7 +410,7 @@ -- -- Since 1.0.0 sourceFile :: (MonadResource m, IOData a) => FilePath -> Producer m a-sourceFile fp = sourceIOHandle (F.openFile fp SIO.ReadMode)+sourceFile fp = sourceIOHandle (SIO.openFile fp SIO.ReadMode) {-# INLINE sourceFile #-} -- | Read all data from the given @Handle@.@@ -505,7 +504,7 @@ -- -- Since 1.0.0 sourceDirectory :: MonadResource m => FilePath -> Producer m FilePath-sourceDirectory = mapOutput decodeString . CF.sourceDirectory . encodeString+sourceDirectory = CF.sourceDirectory -- | Deeply stream the contents of the given directory. --@@ -518,7 +517,7 @@ => Bool -- ^ Follow directory symlinks -> FilePath -- ^ Root directory -> Producer m FilePath-sourceDirectoryDeep follow = mapOutput decodeString . CF.sourceDirectoryDeep follow . encodeString+sourceDirectoryDeep = CF.sourceDirectoryDeep -- | Ignore a certain number of values in the stream. --@@ -1218,7 +1217,7 @@ -- -- Since 1.0.0 sinkFile :: (MonadResource m, IOData a) => FilePath -> Consumer a m ()-sinkFile fp = sinkIOHandle (F.openFile fp SIO.WriteMode)+sinkFile fp = sinkIOHandle (SIO.openFile fp SIO.WriteMode) {-# INLINE sinkFile #-} -- | Print all incoming values to stdout.
Data/Conduit/Combinators/Unqualified.hs view
@@ -199,15 +199,14 @@ import qualified Data.Vector.Generic as V import qualified Data.Vector.Generic.Mutable as VM import Data.Void (absurd)-import qualified Filesystem as F-import Filesystem.Path (FilePath, (</>))-import Filesystem.Path.CurrentOS (encodeString, decodeString)+import qualified System.FilePath as F+import System.FilePath ((</>)) import Prelude (Bool (..), Eq (..), Int, Maybe (..), Monad (..), Num (..), Ord (..), fromIntegral, maybe, ($), Functor (..), Enum, seq, Show, Char, (||), mod, otherwise, Either (..),- ($!), succ)+ ($!), succ, FilePath) import Data.Word (Word8) import qualified Prelude import System.IO (Handle)
conduit-combinators.cabal view
@@ -1,5 +1,5 @@ name: conduit-combinators-version: 0.3.1+version: 1.0.0 synopsis: Commonly used conduit functions, for both chunked and unchunked data description: Provides a replacement for Data.Conduit.List, as well as a convenient Conduit module. homepage: https://github.com/fpco/conduit-combinators@@ -27,8 +27,6 @@ , primitive , mono-traversable >= 0.4 , vector- , system-fileio- , system-filepath , text , bytestring , void@@ -38,6 +36,7 @@ , base64-bytestring >= 0.1.1.1 , resourcet , monad-control+ , filepath if os(windows) cpp-options: -DWINDOWS else@@ -64,13 +63,13 @@ , mwc-random , base16-bytestring , base64-bytestring- , system-filepath , mtl , conduit , containers , safe , QuickCheck >= 2.5 , directory+ , filepath ghc-options: -Wall source-repository head
test/Spec.hs view
@@ -9,8 +9,7 @@ import Data.Conduit.Combinators.Internal import Data.Conduit.Combinators (slidingWindow) import Data.List (intersperse, sort, find)-import Filesystem.Path (hasExtension)-import Filesystem.Path.CurrentOS (encodeString)+import System.FilePath (takeExtension) import Test.Hspec import Test.Hspec.QuickCheck import qualified Data.Text as T@@ -107,7 +106,7 @@ it "sourceFile" $ do let contents = concat $ replicate 10000 $ "this is some content\n" fp = "tmp"- writeFile (encodeString fp) contents+ writeFile fp contents res <- runResourceT $ sourceFile fp $$ sinkLazy res `shouldBe` TL.pack contents it "sourceHandle" $ do@@ -143,15 +142,16 @@ gen <- createSystemRandom x <- sourceRandomNGen gen 100 $$ sumC :: IO Double x `shouldSatisfy` (\y -> y > 10 && y < 90)+ let hasExtension' ext fp = takeExtension fp == ext it "sourceDirectory" $ do res <- runResourceT- $ sourceDirectory "test" $$ filterC (not . flip hasExtension "swp") =$ sinkList+ $ sourceDirectory "test" $$ filterC (not . hasExtension' ".swp") =$ sinkList sort res `shouldBe` ["test/Spec.hs", "test/StreamSpec.hs", "test/subdir"] it "sourceDirectoryDeep" $ do res1 <- runResourceT- $ sourceDirectoryDeep False "test" $$ filterC (not . flip hasExtension "swp") =$ sinkList+ $ sourceDirectoryDeep False "test" $$ filterC (not . hasExtension' ".swp") =$ sinkList res2 <- runResourceT- $ sourceDirectoryDeep True "test" $$ filterC (not . flip hasExtension "swp") =$ sinkList+ $ sourceDirectoryDeep True "test" $$ filterC (not . hasExtension' ".swp") =$ sinkList sort res1 `shouldBe` ["test/Spec.hs", "test/StreamSpec.hs", "test/subdir/dummyfile.txt"] sort res1 `shouldBe` sort res2 prop "drop" $ \(T.pack -> input) count ->@@ -325,7 +325,7 @@ let contents = concat $ replicate 1000 $ "this is some content\n" fp = "tmp" runResourceT $ yield contents $$ sinkFile fp- res <- readFile $ encodeString fp+ res <- readFile fp res `shouldBe` contents it "sinkHandle" $ do let contents = concat $ replicate 1000 $ "this is some content\n"