 Documentation
      ¶
      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