conduit-extra 0.1.5 → 0.1.6
raw patch · 4 files changed
+29/−1 lines, 4 filesdep +foldl
Dependencies added: foldl
Files
- Data/Conduit/Extra.hs +2/−0
- Data/Conduit/Extra/Foldl.hs +21/−0
- conduit-extra.cabal +4/−1
- test/main.hs +2/−0
Data/Conduit/Extra.hs view
@@ -2,6 +2,7 @@ ( module Data.Conduit.Extra.ZipSink , module Data.Conduit.Extra.ZipConduit , module Data.Conduit.Extra.Resumable+ , module Data.Conduit.Extra.Foldl , fuseLeftovers , fuseReturnLeftovers ) where@@ -9,6 +10,7 @@ import Data.Conduit.Extra.ZipSink import Data.Conduit.Extra.ZipConduit import Data.Conduit.Extra.Resumable+import Data.Conduit.Extra.Foldl import Data.Conduit import Data.Conduit.Internal (Pipe (..), ConduitM (..)) import Control.Monad (liftM)
+ Data/Conduit/Extra/Foldl.hs view
@@ -0,0 +1,21 @@+{-# LANGUAGE RankNTypes #-}+-- | Adapter module to work with the foldl package.+module Data.Conduit.Extra.Foldl where++import qualified Control.Foldl as F+import Data.Conduit+import Control.Monad.Trans.Class (lift)+import qualified Data.Conduit.List as CL++-- | Convert a 'F.Fold' into a 'Consumer'.+--+-- Since 0.1.6+sinkFold :: Monad m => F.Fold a b -> Consumer a m b+sinkFold (F.Fold f seed extract) = fmap extract (CL.fold f seed)++-- | Convert a 'F.FoldM' into a 'Consumer'.+--+-- Since 0.1.6+sinkFoldM :: Monad m => F.FoldM m a b -> Consumer a m b+sinkFoldM (F.FoldM f mseed extract) =+ lift mseed >>= CL.foldM f >>= lift . extract
conduit-extra.cabal view
@@ -1,5 +1,5 @@ Name: conduit-extra-Version: 0.1.5+Version: 0.1.6 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.@@ -14,6 +14,7 @@ Library Exposed-modules: Data.Conduit.Extra+ , Data.Conduit.Extra.Foldl , Data.Conduit.Extra.Pipes , Data.Conduit.Extra.Resumable , Data.Conduit.Extra.ZipSink@@ -28,6 +29,7 @@ , transformers , vector , void+ , foldl ghc-options: -Wall test-suite test@@ -46,6 +48,7 @@ , text , resourcet , void+ , foldl ghc-options: -Wall source-repository head
test/main.hs view
@@ -14,6 +14,7 @@ import Data.Conduit (runResourceT) import qualified Data.Conduit.ExtraSpec as ES import qualified Data.Conduit.Extra.ZipConduitSpec as ZipConduit+import qualified Data.Conduit.Extra.FoldlSpec as FS main :: IO ()@@ -35,3 +36,4 @@ ES.spec ZipConduit.spec+ FS.spec