mirror of https://github.com/dirtbags/moth.git
29 lines
422 B
Go
29 lines
422 B
Go
package transpile
|
|
|
|
import (
|
|
"io/fs"
|
|
"path"
|
|
)
|
|
|
|
func Sub(fsys fs.FS, dir string) (*SubFS, error) {
|
|
return &SubFS{fsys, dir}, nil
|
|
}
|
|
|
|
type SubFS struct {
|
|
fs.FS
|
|
dir string
|
|
}
|
|
|
|
func (f *SubFS) FullName(name string) string {
|
|
return path.Join(f.dir, name)
|
|
}
|
|
|
|
func (f *SubFS) Sub(dir string) (*SubFS, error) {
|
|
newFS, err := fs.Sub(f, dir)
|
|
newSubFS := SubFS{
|
|
FS: newFS,
|
|
dir: f.FullName(dir),
|
|
}
|
|
return &newSubFS, err
|
|
}
|