cctv/pkg/fs/ls.go

30 lines
472 B
Go

package fs
import (
"os"
"path"
"sort"
)
func LsD(d string) ([]string, error) {
return ls(d, true)
}
func LsF(d string) ([]string, error) {
return ls(d, false)
}
func ls(d string, dirs bool) ([]string, error) {
entries, err := os.ReadDir(d)
results := make([]string, 0, len(entries))
for i := range entries {
if dirs == entries[i].IsDir() {
results = append(results, path.Join(d, entries[i].Name()))
}
}
sort.Strings(results)
return results, err
}