pipes-extras 1.0.11 → 1.0.12
raw patch · 2 files changed
+5/−1 lines, 2 files
Files
- pipes-extras.cabal +1/−1
- src/Pipes/Extras.hs +4/−0
pipes-extras.cabal view
@@ -1,5 +1,5 @@ Name: pipes-extras-Version: 1.0.11+Version: 1.0.12 Cabal-Version: >=1.10 Build-Type: Simple License: BSD3
src/Pipes/Extras.hs view
@@ -8,10 +8,12 @@ , left , right , (+++)+ , select -- * Lenses , input , output+ , select' -- * Fun , check@@ -52,6 +54,7 @@ arr = Pipes.map {-# INLINABLE arr #-} +-- | Feed some values into a pipe and let the rest pass by select :: Monad m => (b -> t) -> (s -> Either t a) -> Pipe a b m r -> Pipe s t m r select inj proj pipe = await' >~ for pipe yield' where@@ -65,6 +68,7 @@ Right a -> return a {-# INLINABLE select #-} +-- | Like 'select', but use a 'Prism' (like '_Left') to decide what to process select' :: Monad m => Prism s t a b -> Pipe a b m r -> Pipe s t m r select' prism = withPrism prism select {-# INLINABLE select' #-}