in internal/filesystem/filesystem.go [210:229]
func (fsys *fsystem) ReadDir(name string) ([]fs.DirEntry, error) {
memList, err := afero.NewIOFS(fsys.memFs).ReadDir(name)
if err != nil && !os.IsNotExist(err) {
return nil, fmt.Errorf("memory FS: %w", err)
}
osList, err := afero.NewIOFS(fsys.osFs).ReadDir(name)
if err != nil && !os.IsNotExist(err) {
return nil, fmt.Errorf("OS FS: %w", err)
}
list := memList
for _, osEntry := range osList {
if fileIsInList(list, osEntry) {
continue
}
list = append(list, osEntry)
}
return list, nil
}