func()

in lib/store/base/file_entry.go [125:158]


func (f *localFileEntryFactory) ListNames(state FileState) ([]string, error) {
	var names []string

	var readNames func(string) error
	readNames = func(dir string) error {
		infos, err := ioutil.ReadDir(dir)
		if err != nil {
			if os.IsNotExist(err) {
				return nil
			}
			return err
		}
		for _, info := range infos {
			if info.IsDir() {
				if err := readNames(filepath.Join(dir, info.Name())); err != nil {
					return err
				}
				continue
			}
			if info.Name() == DefaultDataFileName {
				name, err := filepath.Rel(state.GetDirectory(), dir)
				if err != nil {
					return err
				}
				names = append(names, name)
			}
		}
		return nil
	}

	err := readNames(state.GetDirectory())

	return names, err
}