conduit-extra 0.1.6 → 0.1.7
raw patch · 4 files changed
+20/−1 lines, 4 filesdep ~conduit
Dependency ranges changed: conduit
Files
- Data/Conduit/Extra.hs +3/−0
- Data/Conduit/Extra/Resumable.hs +13/−0
- Data/Conduit/Extra/ZipConduit.hs +3/−0
- conduit-extra.cabal +1/−1
Data/Conduit/Extra.hs view
@@ -1,3 +1,4 @@+{-# LANGUAGE CPP #-} module Data.Conduit.Extra ( module Data.Conduit.Extra.ZipSink , module Data.Conduit.Extra.ZipConduit@@ -15,6 +16,7 @@ import Data.Conduit.Internal (Pipe (..), ConduitM (..)) import Control.Monad (liftM) +#if !MIN_VERSION_conduit(1,0,17) -- | Same as normal fusion (e.g. @=$=@), except instead of discarding leftovers -- from the downstream component, return them. --@@ -63,3 +65,4 @@ (r, bs) <- fuseReturnLeftovers left right mapM_ leftover $ reverse $ f bs return r+#endif
Data/Conduit/Extra/Resumable.hs view
@@ -1,3 +1,4 @@+{-# LANGUAGE CPP #-} module Data.Conduit.Extra.Resumable ( ResumableConduit(..) , connectResume@@ -12,6 +13,17 @@ import Data.Conduit.Internal (ConduitM(..), Pipe(..)) import Data.Void (absurd) +#if MIN_VERSION_conduit(1,0,17)+import Data.Conduit.Internal (connectResumeConduit)++-- | Connect a 'ResumableConduit' to a sink and return the output of the sink+-- together with a new 'ResumableConduit'.+connectResume :: Monad m+ => ResumableConduit i m o+ -> Sink o m r+ -> Sink i m (ResumableConduit i m o, r)+connectResume = connectResumeConduit+#else -- | A generalization of 'ResumableSource'. Allows to resume an arbitrary -- conduit, keeping its state and using it later (or finalizing it). data ResumableConduit i m o =@@ -77,3 +89,4 @@ infixr 0 =$$+ infixr 0 =$$++ infixr 0 =$$+-+#endif
Data/Conduit/Extra/ZipConduit.hs view
@@ -1,4 +1,5 @@ {-# LANGUAGE DeriveFunctor #-}+{-# LANGUAGE CPP #-} module Data.Conduit.Extra.ZipConduit ( ZipConduit (..) , sequenceConduits@@ -11,6 +12,7 @@ import Control.Applicative (Applicative (..)) import Data.Traversable (Traversable, sequenceA) +#if !MIN_VERSION_conduit(1,0,17) zipConduit :: Monad m => ConduitM i o m (x -> y) -> ConduitM i o m x@@ -76,3 +78,4 @@ -- Since 0.1.5 sequenceConduits :: (Traversable f, Monad m) => f (ConduitM i o m r) -> ConduitM i o m (f r) sequenceConduits = getZipConduit . sequenceA . fmap ZipConduit+#endif
conduit-extra.cabal view
@@ -1,5 +1,5 @@ Name: conduit-extra-Version: 0.1.6+Version: 0.1.7 Synopsis: Experimental helper functions for conduit. Description: This package is meant as a testing ground for new concepts in conduit. The idea is to have a much lower barrier to entry for this library relative to conduit itself. This way, conduit itself will continue to have a best-practices, minimal, stable API, while people are free to try crazy new features.