walkDirectory allow skipping directories

This commit is contained in:
2023-04-09 11:54:38 -06:00
parent 19e2a80bf9
commit 9089489ed3

View File

@@ -544,17 +544,19 @@ class Prelude {
private static var kissProcess:Process = null;
#end
public static function walkDirectory(basePath, directory, processFile:(String) -> Void, ?processFolderBefore:(String) -> Void,
public static function walkDirectory(basePath, directory, processFile:(String) -> Void, ?filterFolderBefore:(String) -> Bool,
?processFolderAfter:(String) -> Void) {
#if (sys || hxnodejs)
for (fileOrFolder in FileSystem.readDirectory(joinPath(basePath, directory))) {
switch (fileOrFolder) {
case folder if (FileSystem.isDirectory(joinPath(basePath, directory, folder))):
var subdirectory = joinPath(directory, folder);
if (processFolderBefore != null) {
processFolderBefore(subdirectory);
if (filterFolderBefore != null) {
if (filterFolderBefore(subdirectory)) {
continue;
}
}
walkDirectory(basePath, subdirectory, processFile, processFolderBefore, processFolderAfter);
walkDirectory(basePath, subdirectory, processFile, filterFolderBefore, processFolderAfter);
if (processFolderAfter != null) {
processFolderAfter(subdirectory);
}