elm-script
elm-script copied to clipboard
Helper functions for recursively getting files and subdirectories
I noticed that while there is Script.Directory.listFiles
and Script.Directory.listSubdirectories
they don't list any items in subdirectories.
I think it would be useful to have something like this too (and something similar for recursively listing all subdirectories):
listAllFiles : Script.Directory.Directory permissions -> Script String (List (Script.File.File permissions))
listAllFiles directory =
Script.map2 (++)
(Script.Directory.listFiles directory)
(Script.Directory.listSubdirs directory
|> Script.thenWith (List.map listAllFiles >> Script.sequence >> Script.map List.concat)
)
This implementation doesn't bother handling edge cases like "What happens if we fail to read a file/directory after it gets listed in a subdirectory?" and "What happens if there's a symbolic link that to directory higher up, trapping us in a loop?" I'm not sure what should be done in these cases.