on master help sign in
Add eitherReaderPaths unfold to Dir module
78d9349Harendra Kumar
core/src/Streamly/Internal/FileSystem/Dir.hs+6
@@ -48,6 +48,7 @@ module Streamly.Internal.FileSystem.Dir
48 , fileReader
48 , fileReader
49 , dirReader
49 , dirReader
50 , eitherReader
50 , eitherReader
51+ , eitherReaderPaths
51
52
52 {-
53 {-
53 , toStreamWithBufferOf
54 , toStreamWithBufferOf
@@ -261,6 +262,11 @@ eitherReader =
261 r <- liftIO $ Dir.doesDirectoryExist (dir ++ "/" ++ x)
262 r <- liftIO $ Dir.doesDirectoryExist (dir ++ "/" ++ x)
262 return $ if r then Left x else Right x
263 return $ if r then Left x else Right x
263
264
265+{-# INLINE eitherReaderPaths #-}
266+eitherReaderPaths :: MonadIO m => Unfold m FilePath (Either FilePath FilePath)
267+eitherReaderPaths =
268+ UF.mapM2 (\dir -> return . bimap (dir </>) (dir </>)) eitherReader
269+
264--
270--
265-- | Read files only.
271-- | Read files only.
266--
272--