hw-conduit-0.2.0.0: src/HaskellWorks/Data/Conduit/Combinator.hs
module HaskellWorks.Data.Conduit.Combinator where
import Data.Conduit
import Data.Conduit.List as L
import Data.Maybe
inJust :: Monad m => Conduit a m c -> Conduit (Maybe a) m (Maybe c)
inJust c = getZipConduit
$ ZipConduit (L.filter isNothing .| L.map (const Nothing))
<* ZipConduit (L.concat .| c .| L.map Just )