summaryrefslogtreecommitdiff
path: root/vendor/codeberg.org/gruf/go-store/util/fs.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/codeberg.org/gruf/go-store/util/fs.go')
-rw-r--r--vendor/codeberg.org/gruf/go-store/util/fs.go82
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
-}