packages feed

conduit-extra 1.3.0 → 1.3.1

raw patch · 4 files changed

+19/−13 lines, 4 filesPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

API changes (from Hackage documentation)

- Data.Conduit.Attoparsec: instance GHC.Exception.Exception Data.Conduit.Attoparsec.ParseError
- Data.Conduit.Binary: instance GHC.Exception.Exception Data.Conduit.Binary.SinkStorableException
- Data.Conduit.Process: instance (Control.Monad.IO.Class.MonadIO m, Control.Monad.IO.Class.MonadIO n, r ~ (), r' ~ ()) => Data.Streaming.Process.Internal.InputSource (Data.Conduit.Process.BuilderInput o m r, n r')
- Data.Conduit.Process: instance (Control.Monad.IO.Class.MonadIO m, Control.Monad.IO.Class.MonadIO n, r ~ (), r' ~ ()) => Data.Streaming.Process.Internal.InputSource (Data.Conduit.Process.FlushInput o m r, n r')
- Data.Conduit.Process: instance (Control.Monad.IO.Class.MonadIO m, r ~ ()) => Data.Streaming.Process.Internal.InputSource (Data.Conduit.Process.BuilderInput o m r)
- Data.Conduit.Process: instance (Control.Monad.IO.Class.MonadIO m, r ~ ()) => Data.Streaming.Process.Internal.InputSource (Data.Conduit.Process.FlushInput o m r)
- Data.Conduit.Process: instance (r ~ (), Control.Monad.IO.Class.MonadIO m, i ~ Data.ByteString.Internal.ByteString) => Data.Streaming.Process.Internal.InputSource (Data.Conduit.Internal.Conduit.ConduitM i o m r)
- Data.Conduit.Process: instance (r ~ (), Control.Monad.IO.Class.MonadIO m, o ~ Data.ByteString.Internal.ByteString) => Data.Streaming.Process.Internal.OutputSink (Data.Conduit.Internal.Conduit.ConduitM i o m r)
- Data.Conduit.Process: instance (r ~ (), r' ~ (), Control.Monad.IO.Class.MonadIO m, Control.Monad.IO.Class.MonadIO n, i ~ Data.ByteString.Internal.ByteString) => Data.Streaming.Process.Internal.InputSource (Data.Conduit.Internal.Conduit.ConduitM i o m r, n r')
- Data.Conduit.Process: instance (r ~ (), r' ~ (), Control.Monad.IO.Class.MonadIO m, Control.Monad.IO.Class.MonadIO n, o ~ Data.ByteString.Internal.ByteString) => Data.Streaming.Process.Internal.OutputSink (Data.Conduit.Internal.Conduit.ConduitM i o m r, n r')
- Data.Conduit.Text: instance GHC.Exception.Exception Data.Conduit.Text.TextException
+ Data.Conduit.Attoparsec: instance GHC.Exception.Type.Exception Data.Conduit.Attoparsec.ParseError
+ Data.Conduit.Binary: instance GHC.Exception.Type.Exception Data.Conduit.Binary.SinkStorableException
+ Data.Conduit.Process: instance (Control.Monad.IO.Class.MonadIO m, Control.Monad.IO.Class.MonadIO n, r Data.Type.Equality.~ (), r' Data.Type.Equality.~ ()) => Data.Streaming.Process.Internal.InputSource (Data.Conduit.Process.BuilderInput o m r, n r')
+ Data.Conduit.Process: instance (Control.Monad.IO.Class.MonadIO m, Control.Monad.IO.Class.MonadIO n, r Data.Type.Equality.~ (), r' Data.Type.Equality.~ ()) => Data.Streaming.Process.Internal.InputSource (Data.Conduit.Process.FlushInput o m r, n r')
+ Data.Conduit.Process: instance (Control.Monad.IO.Class.MonadIO m, r Data.Type.Equality.~ ()) => Data.Streaming.Process.Internal.InputSource (Data.Conduit.Process.BuilderInput o m r)
+ Data.Conduit.Process: instance (Control.Monad.IO.Class.MonadIO m, r Data.Type.Equality.~ ()) => Data.Streaming.Process.Internal.InputSource (Data.Conduit.Process.FlushInput o m r)
+ Data.Conduit.Process: instance (r Data.Type.Equality.~ (), Control.Monad.IO.Class.MonadIO m, i Data.Type.Equality.~ Data.ByteString.Internal.ByteString) => Data.Streaming.Process.Internal.InputSource (Data.Conduit.Internal.Conduit.ConduitM i o m r)
+ Data.Conduit.Process: instance (r Data.Type.Equality.~ (), Control.Monad.IO.Class.MonadIO m, o Data.Type.Equality.~ Data.ByteString.Internal.ByteString) => Data.Streaming.Process.Internal.OutputSink (Data.Conduit.Internal.Conduit.ConduitM i o m r)
+ Data.Conduit.Process: instance (r Data.Type.Equality.~ (), r' Data.Type.Equality.~ (), Control.Monad.IO.Class.MonadIO m, Control.Monad.IO.Class.MonadIO n, i Data.Type.Equality.~ Data.ByteString.Internal.ByteString) => Data.Streaming.Process.Internal.InputSource (Data.Conduit.Internal.Conduit.ConduitM i o m r, n r')
+ Data.Conduit.Process: instance (r Data.Type.Equality.~ (), r' Data.Type.Equality.~ (), Control.Monad.IO.Class.MonadIO m, Control.Monad.IO.Class.MonadIO n, o Data.Type.Equality.~ Data.ByteString.Internal.ByteString) => Data.Streaming.Process.Internal.OutputSink (Data.Conduit.Internal.Conduit.ConduitM i o m r, n r')
+ Data.Conduit.Process.Typed: ByteStringOutputException :: SomeException -> ProcessConfig () () () -> ByteStringOutputException
+ Data.Conduit.Process.Typed: ExitCodeException :: ExitCode -> ProcessConfig () () () -> ByteString -> ByteString -> ExitCodeException
+ Data.Conduit.Process.Typed: STInput :: StreamType
+ Data.Conduit.Process.Typed: STOutput :: StreamType
+ Data.Conduit.Process.Typed: [eceExitCode] :: ExitCodeException -> ExitCode
+ Data.Conduit.Process.Typed: [eceProcessConfig] :: ExitCodeException -> ProcessConfig () () ()
+ Data.Conduit.Process.Typed: [eceStderr] :: ExitCodeException -> ByteString
+ Data.Conduit.Process.Typed: [eceStdout] :: ExitCodeException -> ByteString
+ Data.Conduit.Process.Typed: byteStringInput :: ByteString -> StreamSpec STInput ()
+ Data.Conduit.Process.Typed: byteStringOutput :: StreamSpec STOutput (STM ByteString)
+ Data.Conduit.Process.Typed: checkExitCode :: MonadIO m => Process stdin stdout stderr -> m ()
+ Data.Conduit.Process.Typed: checkExitCodeSTM :: () => Process stdin stdout stderr -> STM ()
+ Data.Conduit.Process.Typed: closed :: () => StreamSpec anyStreamType ()
+ Data.Conduit.Process.Typed: createPipe :: () => StreamSpec anyStreamType Handle
+ Data.Conduit.Process.Typed: data ByteStringOutputException
+ Data.Conduit.Process.Typed: data ExitCodeException
+ Data.Conduit.Process.Typed: data Process stdin stdout stderr
+ Data.Conduit.Process.Typed: data ProcessConfig stdin stdout stderr
+ Data.Conduit.Process.Typed: data StreamSpec (streamType :: StreamType) a
+ Data.Conduit.Process.Typed: data StreamType
+ Data.Conduit.Process.Typed: getExitCode :: MonadIO m => Process stdin stdout stderr -> m (Maybe ExitCode)
+ Data.Conduit.Process.Typed: getExitCodeSTM :: () => Process stdin stdout stderr -> STM (Maybe ExitCode)
+ Data.Conduit.Process.Typed: getStderr :: () => Process stdin stdout stderr -> stderr
+ Data.Conduit.Process.Typed: getStdin :: () => Process stdin stdout stderr -> stdin
+ Data.Conduit.Process.Typed: getStdout :: () => Process stdin stdout stderr -> stdout
+ Data.Conduit.Process.Typed: inherit :: () => StreamSpec anyStreamType ()
+ Data.Conduit.Process.Typed: mkStreamSpec :: () => StdStream -> (ProcessConfig () () () -> Maybe Handle -> IO (a, IO ())) -> StreamSpec streamType a
+ Data.Conduit.Process.Typed: proc :: FilePath -> [String] -> ProcessConfig () () ()
+ Data.Conduit.Process.Typed: readProcess :: MonadIO m => ProcessConfig stdin stdoutIgnored stderrIgnored -> m (ExitCode, ByteString, ByteString)
+ Data.Conduit.Process.Typed: readProcessInterleaved :: MonadIO m => ProcessConfig stdin stdoutIgnored stderrIgnored -> m (ExitCode, ByteString)
+ Data.Conduit.Process.Typed: readProcessInterleaved_ :: MonadIO m => ProcessConfig stdin stdoutIgnored stderrIgnored -> m ByteString
+ Data.Conduit.Process.Typed: readProcessStderr :: MonadIO m => ProcessConfig stdin stdout stderrIgnored -> m (ExitCode, ByteString)
+ Data.Conduit.Process.Typed: readProcessStderr_ :: MonadIO m => ProcessConfig stdin stdout stderrIgnored -> m ByteString
+ Data.Conduit.Process.Typed: readProcessStdout :: MonadIO m => ProcessConfig stdin stdoutIgnored stderr -> m (ExitCode, ByteString)
+ Data.Conduit.Process.Typed: readProcessStdout_ :: MonadIO m => ProcessConfig stdin stdoutIgnored stderr -> m ByteString
+ Data.Conduit.Process.Typed: readProcess_ :: MonadIO m => ProcessConfig stdin stdoutIgnored stderrIgnored -> m (ByteString, ByteString)
+ Data.Conduit.Process.Typed: runProcess :: MonadIO m => ProcessConfig stdin stdout stderr -> m ExitCode
+ Data.Conduit.Process.Typed: runProcess_ :: MonadIO m => ProcessConfig stdin stdout stderr -> m ()
+ Data.Conduit.Process.Typed: setChildGroup :: () => GroupID -> ProcessConfig stdin stdout stderr -> ProcessConfig stdin stdout stderr
+ Data.Conduit.Process.Typed: setChildGroupInherit :: () => ProcessConfig stdin stdout stderr -> ProcessConfig stdin stdout stderr
+ Data.Conduit.Process.Typed: setChildUser :: () => UserID -> ProcessConfig stdin stdout stderr -> ProcessConfig stdin stdout stderr
+ Data.Conduit.Process.Typed: setChildUserInherit :: () => ProcessConfig stdin stdout stderr -> ProcessConfig stdin stdout stderr
+ Data.Conduit.Process.Typed: setCloseFds :: () => Bool -> ProcessConfig stdin stdout stderr -> ProcessConfig stdin stdout stderr
+ Data.Conduit.Process.Typed: setCreateGroup :: () => Bool -> ProcessConfig stdin stdout stderr -> ProcessConfig stdin stdout stderr
+ Data.Conduit.Process.Typed: setCreateNewConsole :: () => Bool -> ProcessConfig stdin stdout stderr -> ProcessConfig stdin stdout stderr
+ Data.Conduit.Process.Typed: setDelegateCtlc :: () => Bool -> ProcessConfig stdin stdout stderr -> ProcessConfig stdin stdout stderr
+ Data.Conduit.Process.Typed: setDetachConsole :: () => Bool -> ProcessConfig stdin stdout stderr -> ProcessConfig stdin stdout stderr
+ Data.Conduit.Process.Typed: setEnv :: () => [(String, String)] -> ProcessConfig stdin stdout stderr -> ProcessConfig stdin stdout stderr
+ Data.Conduit.Process.Typed: setEnvInherit :: () => ProcessConfig stdin stdout stderr -> ProcessConfig stdin stdout stderr
+ Data.Conduit.Process.Typed: setNewSession :: () => Bool -> ProcessConfig stdin stdout stderr -> ProcessConfig stdin stdout stderr
+ Data.Conduit.Process.Typed: setStderr :: () => StreamSpec STOutput stderr -> ProcessConfig stdin stdout stderr0 -> ProcessConfig stdin stdout stderr
+ Data.Conduit.Process.Typed: setStdin :: () => StreamSpec STInput stdin -> ProcessConfig stdin0 stdout stderr -> ProcessConfig stdin stdout stderr
+ Data.Conduit.Process.Typed: setStdout :: () => StreamSpec STOutput stdout -> ProcessConfig stdin stdout0 stderr -> ProcessConfig stdin stdout stderr
+ Data.Conduit.Process.Typed: setWorkingDir :: () => FilePath -> ProcessConfig stdin stdout stderr -> ProcessConfig stdin stdout stderr
+ Data.Conduit.Process.Typed: setWorkingDirInherit :: () => ProcessConfig stdin stdout stderr -> ProcessConfig stdin stdout stderr
+ Data.Conduit.Process.Typed: shell :: String -> ProcessConfig () () ()
+ Data.Conduit.Process.Typed: startProcess :: MonadIO m => ProcessConfig stdin stdout stderr -> m (Process stdin stdout stderr)
+ Data.Conduit.Process.Typed: stopProcess :: MonadIO m => Process stdin stdout stderr -> m ()
+ Data.Conduit.Process.Typed: unsafeProcessHandle :: () => Process stdin stdout stderr -> ProcessHandle
+ Data.Conduit.Process.Typed: useHandleClose :: () => Handle -> StreamSpec anyStreamType ()
+ Data.Conduit.Process.Typed: useHandleOpen :: () => Handle -> StreamSpec anyStreamType ()
+ Data.Conduit.Process.Typed: waitExitCode :: MonadIO m => Process stdin stdout stderr -> m ExitCode
+ Data.Conduit.Process.Typed: waitExitCodeSTM :: () => Process stdin stdout stderr -> STM ExitCode
+ Data.Conduit.Text: instance GHC.Exception.Type.Exception Data.Conduit.Text.TextException
- Data.Conduit.Binary: sinkHandleFlush :: MonadIO m => Handle -> ConduitM Flush ByteString o m ()
+ Data.Conduit.Binary: sinkHandleFlush :: MonadIO m => Handle -> ConduitM (Flush ByteString) o m ()
- Data.Conduit.ByteString.Builder: builderToByteStringFlush :: PrimMonad m => ConduitT Flush Builder Flush ByteString m ()
+ Data.Conduit.ByteString.Builder: builderToByteStringFlush :: PrimMonad m => ConduitT (Flush Builder) (Flush ByteString) m ()
- Data.Conduit.ByteString.Builder: builderToByteStringWithFlush :: PrimMonad m => BufferAllocStrategy -> ConduitT Flush Builder Flush ByteString m ()
+ Data.Conduit.ByteString.Builder: builderToByteStringWithFlush :: PrimMonad m => BufferAllocStrategy -> ConduitT (Flush Builder) (Flush ByteString) m ()
- Data.Conduit.Network: data AppData :: *
+ Data.Conduit.Network: data AppData
- Data.Conduit.Network: data ClientSettings :: *
+ Data.Conduit.Network: data ClientSettings
- Data.Conduit.Network: data HostPreference :: *
+ Data.Conduit.Network: data HostPreference
- Data.Conduit.Network: data ServerSettings :: *
+ Data.Conduit.Network: data ServerSettings
- Data.Conduit.Network.UDP: data HostPreference :: *
+ Data.Conduit.Network.UDP: data HostPreference
- Data.Conduit.Network.UDP: data Message :: *
+ Data.Conduit.Network.UDP: data Message
- Data.Conduit.Network.Unix: data AppDataUnix :: *
+ Data.Conduit.Network.Unix: data AppDataUnix
- Data.Conduit.Network.Unix: data ClientSettingsUnix :: *
+ Data.Conduit.Network.Unix: data ClientSettingsUnix
- Data.Conduit.Network.Unix: data ServerSettingsUnix :: *
+ Data.Conduit.Network.Unix: data ServerSettingsUnix
- Data.Conduit.Zlib: data WindowBits :: *
+ Data.Conduit.Zlib: data WindowBits

Files

ChangeLog.md view
@@ -1,3 +1,7 @@+## 1.3.1++* Switched `gzip` to use zlib's default compression level.+ ## 1.3.0  * Switch over to unliftio
Data/Conduit/Zlib.hs view
@@ -26,7 +26,7 @@  -- | Gzip compression with default parameters. gzip :: (MonadThrow m, PrimMonad m) => ConduitT ByteString ByteString m ()-gzip = compress 1 (WindowBits 31)+gzip = compress (-1) (WindowBits 31)  -- | Gzip decompression with default parameters. ungzip :: (PrimMonad m, MonadThrow m) => ConduitT ByteString ByteString m ()
conduit-extra.cabal view
@@ -1,5 +1,5 @@ Name:                conduit-extra-Version:             1.3.0+Version:             1.3.1 Synopsis:            Batteries included conduit: adapters for common libraries. Description:     The conduit package itself maintains relative small dependencies. The purpose of this package is to collect commonly used utility functions wrapping other library dependencies, without depending on heavier-weight dependencies. The basic idea is that this package should only depend on haskell-platform packages and conduit.@@ -85,6 +85,7 @@                    , transformers                    , transformers-base                    , directory+                   , filepath     ghc-options:     -Wall     if os(windows)         cpp-options: -DWINDOWS
test/Data/Conduit/FilesystemSpec.hs view
@@ -5,33 +5,34 @@ import qualified Data.Conduit.List as CL import Data.Conduit.Filesystem import Data.List (sort, isSuffixOf)+import System.FilePath ((</>))  spec :: Spec spec = describe "Data.Conduit.Filesystem" $ do     it "sourceDirectory" $ do         res <- runConduitRes-             $ sourceDirectory "test/filesystem"+             $ sourceDirectory ("test" </> "filesystem")             .| CL.filter (not . (".swp" `isSuffixOf`))             .| CL.consume         sort res `shouldBe`-            [ "test/filesystem/bar.txt"-            , "test/filesystem/baz.txt"-            , "test/filesystem/bin"-            , "test/filesystem/foo.txt"+            [ "test" </> "filesystem" </> "bar.txt"+            , "test" </> "filesystem" </> "baz.txt"+            , "test" </> "filesystem" </> "bin"+            , "test" </> "filesystem" </> "foo.txt"             ]     it "sourceDirectoryDeep" $ do         res1 <- runConduitRes-              $ sourceDirectoryDeep False "test/filesystem"+              $ sourceDirectoryDeep False ("test" </> "filesystem")              .| CL.filter (not . (".swp" `isSuffixOf`))              .| CL.consume         res2 <- runConduitRes-              $ sourceDirectoryDeep True "test/filesystem"+              $ sourceDirectoryDeep True ("test" </> "filesystem")              .| CL.filter (not . (".swp" `isSuffixOf`))              .| CL.consume         sort res1 `shouldBe`-            [ "test/filesystem/bar.txt"-            , "test/filesystem/baz.txt"-            , "test/filesystem/bin/bin.txt"-            , "test/filesystem/foo.txt"+            [ "test" </> "filesystem" </> "bar.txt"+            , "test" </> "filesystem" </> "baz.txt"+            , "test" </> "filesystem" </> "bin" </> "bin.txt"+            , "test" </> "filesystem" </> "foo.txt"             ]         sort res1 `shouldBe` sort res2