on master help sign in
Add toDirs and toFiles
fcf54e3Harendra Kumar
examples/ListDir.hs+1−1
@@ -20,7 +20,7 @@ main = do
20 -- or S.cons dir . S.concatMapWith ahead recursePath
20 -- or S.cons dir . S.concatMapWith ahead recursePath
21 recursePath :: Either String String -> AheadT IO String
21 recursePath :: Either String String -> AheadT IO String
22 recursePath (Left dir) =
22 recursePath (Left dir) =
23− Dir.toStreamEither dir -- SerialT IO (Either String String)
23+ Dir.toEither dir -- SerialT IO (Either String String)
24 & S.map (prefixDir dir) -- SerialT IO (Either String String)
24 & S.map (prefixDir dir) -- SerialT IO (Either String String)
25 & S.consM (return dir)
25 & S.consM (return dir)
26 . S.concatMapWith ahead recursePath -- SerialT IO String
26 . S.concatMapWith ahead recursePath -- SerialT IO String
src/Streamly/Internal/FileSystem/Dir.hs+22−4
@@ -26,7 +26,9 @@ module Streamly.Internal.FileSystem.Dir
26 -- , readWithBufferOf
26 -- , readWithBufferOf
27
27
28 , toStream
28 , toStream
29− , toStreamEither
29+ , toEither
30+ , toFiles
31+ , toDirs
30 {-
32 {-
31 , toStreamWithBufferOf
33 , toStreamWithBufferOf
32
34
@@ -277,10 +279,26 @@ toStream = S.unfold read
277-- entries.
279-- entries.
278--
280--
279-- /Internal/
281-- /Internal/
280−{-# INLINE toStreamEither #-}
282+{-# INLINE toEither #-}
281−toStreamEither :: (IsStream t, MonadIO m)
283+toEither :: (IsStream t, MonadIO m)
282 => String -> t m (Either String String)
284 => String -> t m (Either String String)
283−toStreamEither = S.unfold readEither
285+toEither = S.unfold readEither
286+
287+-- | Read files only.
288+--
289+-- /Internal/
290+--
291+{-# INLINE toFiles #-}
292+toFiles :: (IsStream t, MonadIO m) => String -> t m String
293+toFiles = S.unfold readFiles
294+
295+-- | Read directories only.
296+--
297+-- /Internal/
298+--
299+{-# INLINE toDirs #-}
300+toDirs :: (IsStream t, MonadIO m) => String -> t m String
301+toDirs = S.unfold readDirs
284
302
285{-
303{-
286-------------------------------------------------------------------------------
304-------------------------------------------------------------------------------