From 83c51db90303c8ffae9ccc3754d7dd0b25f9751b Mon Sep 17 00:00:00 2001 From: Alexander Neumann Date: Wed, 20 Jun 2018 22:53:53 +0200 Subject: [PATCH] fs: Add helper functions ReadDir/ReadDirNames --- internal/fs/fs_helpers.go | 45 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 internal/fs/fs_helpers.go diff --git a/internal/fs/fs_helpers.go b/internal/fs/fs_helpers.go new file mode 100644 index 000000000..6b269f763 --- /dev/null +++ b/internal/fs/fs_helpers.go @@ -0,0 +1,45 @@ +package fs + +import "os" + +// ReadDir reads the directory named by dirname within fs and returns a list of +// directory entries. +func ReadDir(fs FS, dirname string) ([]os.FileInfo, error) { + f, err := fs.Open(dirname) + if err != nil { + return nil, err + } + + entries, err := f.Readdir(-1) + if err != nil { + return nil, err + } + + err = f.Close() + if err != nil { + return nil, err + } + + return entries, nil +} + +// ReadDirNames reads the directory named by dirname within fs and returns a +// list of entry names. +func ReadDirNames(fs FS, dirname string) ([]string, error) { + f, err := fs.Open(dirname) + if err != nil { + return nil, err + } + + entries, err := f.Readdirnames(-1) + if err != nil { + return nil, err + } + + err = f.Close() + if err != nil { + return nil, err + } + + return entries, nil +}