-
Notifications
You must be signed in to change notification settings - Fork 84
Closed
Description
Since go1.16 is released now I just added this to a project to integrate with embed.FS.
It would probably be handy to have built in and io.fs probably won't be going anywhere soon.
Something like this maybe with an exported constructor function. Maybe with build in support to specify a subdirectory NewIOFSMigratorFS(fs.FS) would make it clear which migratorfs it is but that name is kind of a mouthful.
type iofsMigratorFS struct{ fsys fs.FS }
func (m iofsMigratorFS) ReadDir(dirname string) ([]fs.FileInfo, error) {
de, err := fs.ReadDir(m.fsys, dirname)
if err != nil {
return nil, err
}
var res []os.FileInfo
for _, v := range de {
fi, err := v.Info()
if err != nil {
return nil, err
}
res = append(res, fi)
}
return res, nil
}
func (m iofsMigratorFS) ReadFile(filename string) ([]byte, error) {
return fs.ReadFile(m.fsys, filename)
}
func (m iofsMigratorFS) Glob(pattern string) (matches []string, err error) {
return fs.Glob(m.fsys, pattern)
}Metadata
Metadata
Assignees
Labels
No labels