Documentation
¶
Index ¶
- type Dir
- type FS
- func (rootFS *FS) MkdirAll(path string, perm os.FileMode) error
- func (rootFS *FS) Open(name string) (fs.File, error)
- func (rootFS *FS) SaveTo(w io.Writer) error
- func (rootFS *FS) SaveToFile(filename string) error
- func (rootFS *FS) Sub(path string) (fs.FS, error)
- func (rootFS *FS) WriteFile(path string, data []byte, perm os.FileMode) error
- type File
- type Option
Examples ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Dir ¶
type Dir struct { Name string Perm os.FileMode ModTime time.Time Children map[string]childI // contains filtered or unexported fields }
Dir represents a directory in the filesystem
type FS ¶
type FS struct {
// contains filtered or unexported fields
}
FS is an in-memory filesystem that implements io/fs.FS
func LoadFromFile ¶
LoadFromFile creates a new FS by loading from a GOB encoded file
func New ¶
New creates a new in-memory FileSystem.
Example ¶
package main import ( "fmt" "io/fs" "github.com/boomhut/memfs" ) func main() { rootFS := memfs.New() err := rootFS.MkdirAll("dir1/dir2", 0777) if err != nil { panic(err) } err = rootFS.WriteFile("dir1/dir2/f1.txt", []byte("incinerating-unsubstantial"), 0755) if err != nil { panic(err) } err = fs.WalkDir(rootFS, ".", func(path string, d fs.DirEntry, err error) error { fmt.Println(path) return nil }) if err != nil { panic(err) } content, err := fs.ReadFile(rootFS, "dir1/dir2/f1.txt") if err != nil { panic(err) } fmt.Printf("%s\n", content) }
Output:
func (*FS) MkdirAll ¶
MkdirAll creates a directory named path, along with any necessary parents, and returns nil, or else returns an error. The permission bits perm (before umask) are used for all directories that MkdirAll creates. If path is already a directory, MkdirAll does nothing and returns nil.
func (*FS) SaveToFile ¶
SaveToFile saves the entire filesystem structure to a GOB encoded file
type File ¶
type Option ¶
type Option interface {
// contains filtered or unexported methods
}
func WithMaxStorage ¶
WithMaxStorage returns an Option that sets the maximum storage space for the MemFS.
func WithOpenHook ¶
WithOpenHook returns an Option that sets a hook function to be called when opening files in the MemFS.
The hook function takes three parameters:
- path: the path of the file being opened
- content: the original content of the file (may be nil if the file doesn't exist)
- origError: the original error returned when trying to open the file (may be nil)
The hook function returns:
- []byte: the new content of the file
- error: any error that occurred during the hook's execution