28 lines
467 B
Go
28 lines
467 B
Go
|
package resources
|
||
|
|
||
|
import (
|
||
|
"embed"
|
||
|
"io/fs"
|
||
|
"path"
|
||
|
)
|
||
|
|
||
|
type RelativeFS struct {
|
||
|
Fs embed.FS
|
||
|
Root string
|
||
|
}
|
||
|
|
||
|
func (r *RelativeFS) Open(name string) (fs.File, error) {
|
||
|
p := path.Join(r.Root, name)
|
||
|
return r.Fs.Open(p)
|
||
|
}
|
||
|
|
||
|
func (r *RelativeFS) ReadDir(name string) ([]fs.DirEntry, error) {
|
||
|
p := path.Join(r.Root, name)
|
||
|
return r.Fs.ReadDir(p)
|
||
|
}
|
||
|
|
||
|
func (r *RelativeFS) ReadFile(name string) ([]byte, error) {
|
||
|
p := path.Join(r.Root, name)
|
||
|
return r.Fs.ReadFile(p)
|
||
|
}
|