aboutsummaryrefslogtreecommitdiff
path: root/object/resolve/treefs_readdir.go
diff options
context:
space:
mode:
Diffstat (limited to 'object/resolve/treefs_readdir.go')
-rw-r--r--object/resolve/treefs_readdir.go19
1 files changed, 19 insertions, 0 deletions
diff --git a/object/resolve/treefs_readdir.go b/object/resolve/treefs_readdir.go
new file mode 100644
index 00000000..293dcec4
--- /dev/null
+++ b/object/resolve/treefs_readdir.go
@@ -0,0 +1,19 @@
+package resolve
+
+import "io/fs"
+
+func (treeFS *TreeFS) ReadDir(name string) ([]fs.DirEntry, error) {
+ file, err := treeFS.Open(name)
+ if err != nil {
+ return nil, err
+ }
+
+ defer func() { _ = file.Close() }()
+
+ readDirFile, ok := file.(fs.ReadDirFile)
+ if !ok {
+ return nil, treeFSPathError(treeFSOpReadDir, name, fs.ErrInvalid)
+ }
+
+ return readDirFile.ReadDir(-1)
+}