conduit-combinators 1.0.4 → 1.0.5
raw patch · 4 files changed
+51/−2 lines, 4 filesPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
API changes (from Hackage documentation)
+ Conduit: headC :: Monad m => Consumer a m (Maybe a)
+ Conduit: headDefC :: Monad m => a -> Consumer a m a
+ Conduit: lastDefC :: Monad m => a -> Consumer a m a
+ Data.Conduit.Combinators: head :: Monad m => Consumer a m (Maybe a)
+ Data.Conduit.Combinators: headDef :: Monad m => a -> Consumer a m a
+ Data.Conduit.Combinators: lastDef :: Monad m => a -> Consumer a m a
- Conduit: lift :: Monad m => m a -> t m a
+ Conduit: lift :: (MonadTrans t, Monad m) => m a -> t m a
- Conduit: liftBase :: b α -> m α
+ Conduit: liftBase :: MonadBase b m => b α -> m α
- Conduit: liftIO :: IO a -> m a
+ Conduit: liftIO :: MonadIO m => IO a -> m a
- Conduit: throwM :: Exception e => e -> m a
+ Conduit: throwM :: (MonadThrow m, Exception e) => e -> m a
Files
- ChangeLog.md +4/−0
- Data/Conduit/Combinators.hs +22/−1
- Data/Conduit/Combinators/Unqualified.hs +24/−0
- conduit-combinators.cabal +1/−1
ChangeLog.md view
@@ -1,3 +1,7 @@+# 1.0.5++* Add head, headDef and lastDef combinators+ # 1.0.4 * Move into mono-traversable repo, support mono-traversable 1.0
Data/Conduit/Combinators.hs view
@@ -89,10 +89,13 @@ , sinkLazyBuilder , sinkNull , awaitNonNull+ , head+ , headDef , headE , peek , peekE , last+ , lastDef , lastE , length , lengthE@@ -212,7 +215,7 @@ import Data.Conduit.Internal (ConduitM (..), Pipe (..)) import qualified Data.Conduit.List as CL import Data.IOData-import Data.Maybe (isNothing, isJust)+import Data.Maybe (fromMaybe, isNothing, isJust) import Data.Monoid (Monoid (..)) import Data.MonoTraversable import qualified Data.Sequences as Seq@@ -1029,6 +1032,18 @@ go' = maybe go (return . Just) . NonNull.fromNullable {-# INLINE awaitNonNull #-} +-- | Take a single value from the stream, if available.+--+-- Since 1.0.5+head :: Monad m => Consumer a m (Maybe a)+head = CL.head++-- | Same as 'head', but returns a default value if none are available from the stream.+--+-- Since 1.0.5+headDef :: Monad m => a -> Consumer a m a+headDef a = fromMaybe a <$> head+ -- | Get the next element in the chunked stream. -- -- Since 1.0.0@@ -1079,6 +1094,12 @@ where loop prev = await >>= maybe (return $ Just prev) loop STREAMING0(last, lastC, lastS)++-- | Same as 'last', but returns a default value if none are available from the stream.+--+-- Since 1.0.5+lastDef :: Monad m => a -> Consumer a m a+lastDef a = fromMaybe a <$> last -- | Retrieve the last element in the chunked stream, if present. --
Data/Conduit/Combinators/Unqualified.hs view
@@ -75,10 +75,13 @@ , sinkLazyBuilder , sinkNull , awaitNonNull+ , headC+ , headDefC , headCE , peekC , peekCE , lastC+ , lastDefC , lastCE , lengthC , lengthCE@@ -183,6 +186,8 @@ import qualified Data.Traversable #if ! MIN_VERSION_base(4,8,0) import Control.Applicative ((<$>))+#else+import Prelude ((<$>)) #endif import Control.Monad.Base (MonadBase (..)) import Control.Monad.IO.Class (MonadIO (..))@@ -191,6 +196,7 @@ import Data.Conduit import qualified Data.Conduit.List as CL import Data.IOData+import Data.Maybe (fromMaybe) import Data.Monoid (Monoid (..)) import Data.MonoTraversable import qualified Data.Sequences as Seq@@ -777,6 +783,18 @@ awaitNonNull = CC.awaitNonNull {-# INLINE awaitNonNull #-} +-- | Take a single value from the stream, if available.+--+-- Since 1.0.5+headC :: Monad m => Consumer a m (Maybe a)+headC = CC.head++-- | Same as 'headC', but returns a default value if none are available from the stream.+--+-- Since 1.0.5+headDefC :: Monad m => a -> Consumer a m a+headDefC = CC.headDef+ -- | Get the next element in the chunked stream. -- -- Since 1.0.0@@ -804,6 +822,12 @@ lastC :: Monad m => Consumer a m (Maybe a) lastC = CC.last {-# INLINE lastC #-}++-- | Same as 'lastC', but returns a default value if none are available from the stream.+--+-- Since 1.0.5+lastDefC :: Monad m => a -> Consumer a m a+lastDefC = CC.lastDef -- | Retrieve the last element in the chunked stream, if present. --
conduit-combinators.cabal view
@@ -1,5 +1,5 @@ name: conduit-combinators-version: 1.0.4+version: 1.0.5 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/snoyberg/mono-traversable