unliftio-streams-0.1.0.0: src/UnliftIO/Streams/List.hs
module UnliftIO.Streams.List
( chunkList
, chunkListWith
, fromList
, toList
) where
import Control.Monad.IO.Unlift (MonadUnliftIO, liftIO)
import Prelude hiding (map)
import System.IO.Streams (InputStream)
import qualified System.IO.Streams.List as SL
{-# INLINE chunkList #-}
chunkList :: (MonadUnliftIO m) => Int -> InputStream a -> m (InputStream [a])
chunkList n is = liftIO $ SL.chunkList n is
{-# INLINE chunkListWith #-}
chunkListWith :: (MonadUnliftIO m) => (a -> Int -> Bool) -> InputStream a -> m (InputStream [a])
chunkListWith p is = liftIO $ SL.chunkListWith p is
{-# INLINE toList #-}
toList :: (MonadUnliftIO m) => InputStream a -> m [a]
toList = liftIO . SL.toList
{-# INLINE fromList #-}
fromList :: (MonadUnliftIO m) => [a] -> m (InputStream a)
fromList = liftIO . SL.fromList