diff options
Diffstat (limited to 'vendor/codeberg.org/gruf/go-store/util/fs.go')
-rw-r--r-- | vendor/codeberg.org/gruf/go-store/util/fs.go | 82 |
1 files changed, 0 insertions, 82 deletions
diff --git a/vendor/codeberg.org/gruf/go-store/util/fs.go b/vendor/codeberg.org/gruf/go-store/util/fs.go deleted file mode 100644 index 53fef7750..000000000 --- a/vendor/codeberg.org/gruf/go-store/util/fs.go +++ /dev/null @@ -1,82 +0,0 @@ -package util - -import ( - "io/fs" - "os" - - "codeberg.org/gruf/go-fastpath" -) - -// WalkDir traverses the dir tree of the supplied path, performing the supplied walkFn on each entry -func WalkDir(pb *fastpath.Builder, path string, walkFn func(string, fs.DirEntry)) error { - // Read supplied dir path - dirEntries, err := os.ReadDir(path) - if err != nil { - return err - } - - // Iter entries - for _, entry := range dirEntries { - // Pass to walk fn - walkFn(path, entry) - - // Recurse dir entries - if entry.IsDir() { - err = WalkDir(pb, pb.Join(path, entry.Name()), walkFn) - if err != nil { - return err - } - } - } - - return nil -} - -// CleanDirs traverses the dir tree of the supplied path, removing any folders with zero children -func CleanDirs(path string) error { - // Acquire builder - pb := GetPathBuilder() - defer PutPathBuilder(pb) - - // Get dir entries - entries, err := os.ReadDir(path) - if err != nil { - return err - } - - // Recurse dirs - for _, entry := range entries { - if entry.IsDir() { - err := cleanDirs(pb, pb.Join(path, entry.Name())) - if err != nil { - return err - } - } - } - return nil -} - -// cleanDirs performs the actual dir cleaning logic for the exported version -func cleanDirs(pb *fastpath.Builder, path string) error { - // Get dir entries - entries, err := os.ReadDir(path) - if err != nil { - return err - } - - // If no entries, delete - if len(entries) < 1 { - return os.Remove(path) - } - - // Recurse dirs - for _, entry := range entries { - if entry.IsDir() { - err := cleanDirs(pb, pb.Join(path, entry.Name())) - if err != nil { - return err - } - } - } - return nil -} |