module Data.Conduit
(
ConduitT
, Source
, Conduit
, Sink
, ConduitM
, (.|)
, connect
, fuse
, ($$)
, ($=)
, (=$)
, (=$=)
, fuseBoth
, fuseBothMaybe
, fuseUpstream
, await
, yield
, yieldM
, leftover
, runConduit
, runConduitPure
, runConduitRes
, bracketP
, catchC
, handleC
, tryC
, Producer
, Consumer
, toProducer
, toConsumer
, awaitForever
, transPipe
, mapOutput
, mapOutputMaybe
, mapInput
, mergeSource
, passthroughSink
, sourceToList
, SealedConduitT
, sealConduitT
, unsealConduitT
, ($$+)
, ($$++)
, ($$+-)
, ($=+)
, (=$$+)
, (=$$++)
, (=$$+-)
, fuseLeftovers
, fuseReturnLeftovers
, Flush (..)
, ZipSource (..)
, sequenceSources
, ZipSink (..)
, sequenceSinks
, ZipConduit (..)
, sequenceConduits
, Void
) where
import Data.Conduit.Internal.Conduit
import Data.Void (Void)
import Data.Functor.Identity (Identity, runIdentity)
import Control.Monad.Trans.Resource (ResourceT, runResourceT)
import Control.Monad.IO.Unlift (MonadUnliftIO)
runConduitPure :: ConduitT () Void Identity r -> r
runConduitPure = runIdentity . runConduit
runConduitRes :: MonadUnliftIO m
=> ConduitT () Void (ResourceT m) r
-> m r
runConduitRes = runResourceT . runConduit