Documentation ¶
Index ¶
- type DefaultFs
- func (DefaultFs) Chtimes(name string, atime time.Time, mtime time.Time) error
- func (DefaultFs) Create(name string) (File, error)
- func (DefaultFs) MkdirAll(path string, perm os.FileMode) error
- func (DefaultFs) ReadDir(dirname string) ([]os.FileInfo, error)
- func (DefaultFs) ReadFile(filename string) ([]byte, error)
- func (DefaultFs) RemoveAll(path string) error
- func (DefaultFs) Rename(oldpath, newpath string) error
- func (DefaultFs) Stat(name string) (os.FileInfo, error)
- func (DefaultFs) TempFile(dir, prefix string) (File, error)
- func (DefaultFs) Walk(root string, walkFn filepath.WalkFunc) error
- type FSErrorHandler
- type FSEventHandler
- type FSWatcher
- type File
- type Filesystem
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type DefaultFs ¶
type DefaultFs struct{}
DefaultFs implements Filesystem using same-named functions from "os" and "io/ioutil"
type FSErrorHandler ¶
type FSErrorHandler func(err error)
FSErrorHandler is called when a fsnotify error occurs.
type FSEventHandler ¶
FSEventHandler is called when a fsnotify event occurs.
type FSWatcher ¶
type FSWatcher interface { // Initializes the watcher with the given watch handlers. // Called before all other methods. Init(FSEventHandler, FSErrorHandler) error // Starts listening for events and errors. // When an event or error occurs, the corresponding handler is called. Run() // Add a filesystem path to watch AddWatch(path string) error }
FSWatcher is a callback-based filesystem watcher abstraction for fsnotify.
func NewFsnotifyWatcher ¶
func NewFsnotifyWatcher() FSWatcher
NewFsnotifyWatcher returns an implementation of FSWatcher that continuously listens for fsnotify events and calls the event handler as soon as an event is received.
type File ¶
type File interface { // for now, the only os.File methods used are those below, add more as necessary Name() string Write(b []byte) (n int, err error) Sync() error Close() error }
File is an interface that we can use to mock various filesystem operations typically accessed through the File object from the "os" package
type Filesystem ¶
type Filesystem interface { // from "os" Stat(name string) (os.FileInfo, error) Create(name string) (File, error) Rename(oldpath, newpath string) error MkdirAll(path string, perm os.FileMode) error Chtimes(name string, atime time.Time, mtime time.Time) error RemoveAll(path string) error // from "io/ioutil" ReadFile(filename string) ([]byte, error) TempFile(dir, prefix string) (File, error) ReadDir(dirname string) ([]os.FileInfo, error) Walk(root string, walkFn filepath.WalkFunc) error }
Filesystem is an interface that we can use to mock various filesystem operations
func NewFakeFs ¶
func NewFakeFs() Filesystem
NewFakeFs returns a fake Filesystem that exists in-memory, useful for unit tests