aboutsummaryrefslogtreecommitdiff
path: root/object/fetch/treefs_readdir.go
blob: 7518c60789703dcef040f598ffd1811d6d6c9029 (about) (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
package fetch

import "io/fs"

// ReadDir reads and returns all directory entries for name.
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)
}