walkDirectory allow skipping directories
This commit is contained in:
@@ -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);
|
||||
}
|
||||
|
Reference in New Issue
Block a user