package fs import ( "io" "os" ) type FileSystem interface { INodeAt(path string) INode } type INode interface { IsExists() bool Stat() (os.FileInfo, error) MakeDirs() error RemoveAll() error Parent() INode Join(path ...string) INode ReadIntoBytes() ([]byte, error) OpenReadStream() (io.ReadCloser, error) OpenWriteStream() (io.WriteCloser, error) Name() string AbsolutePath() string }