Documentation ¶
Index ¶
Examples ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type FS ¶
type FS struct {
// contains filtered or unexported fields
}
FS is an in-memory filesystem that implements io/fs.FS
func New ¶
New creates a new in-memory FileSystem.
Example ¶
package main import ( "fmt" "io/fs" "github.com/psanford/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.
type Option ¶
type Option interface {
// contains filtered or unexported methods
}
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
Click to show internal directories.
Click to hide internal directories.