diff options
Diffstat (limited to 'object/resolve/treefs_readdir.go')
| -rw-r--r-- | object/resolve/treefs_readdir.go | 19 |
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) +} |
