iofs_wrap.go 383 B

123456789101112131415161718192021222324
  1. package iofswrap
  2. import (
  3. "github.com/spf13/afero"
  4. "io/fs"
  5. )
  6. var _ fs.FS = (*IOFSWrapper)(nil)
  7. type IOFSWrapper struct {
  8. afs afero.Fs
  9. }
  10. func NewIOFSWrapper(afs afero.Fs) *IOFSWrapper {
  11. return &IOFSWrapper{afs: afs}
  12. }
  13. func (w IOFSWrapper) Open(name string) (fs.File, error) {
  14. f, err := w.afs.Open(name)
  15. if err != nil {
  16. return nil, err
  17. }
  18. return NewFileWrapper(f), nil
  19. }