From eb434719473dd5129a453ba26f798fcb0f754faa Mon Sep 17 00:00:00 2001 From: Nat Quayle Nelson Date: Sun, 9 Apr 2023 11:54:38 -0600 Subject: [PATCH] walkDirectory allow skipping directories --- kiss/src/kiss/Prelude.hx | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/kiss/src/kiss/Prelude.hx b/kiss/src/kiss/Prelude.hx index 155a49e2..d6a426ea 100644 --- a/kiss/src/kiss/Prelude.hx +++ b/kiss/src/kiss/Prelude.hx @@ -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); }