package main import ( "io" iofs "io/fs" ) type FS interface { Open(path string) (io.ReadCloser, error) List(path string) ([]string, error) } type fsFS struct{ iofs.FS } func (fs fsFS) Open(path string) (io.ReadCloser, error) { return fs.FS.Open(path) } func (fs fsFS) List(path string) (entries []string, err error) { dirEnts, err := iofs.ReadDir(fs.FS, path) if err != nil { return } entries = make([]string, 0, len(dirEnts)) for _, ent := range dirEnts { if ent.IsDir() { continue } entries = append(entries, ent.Name()) } return }