package vfs import ( "fmt" "io/fs" "os" "sync" ) type directory struct { name string mode os.FileMode children map[string]interface{} mutex sync.Mutex } type directoryHandle struct { dir *directory idx int } func (d *directoryHandle) Stat() (fs.FileInfo, error) { return &fileInfo{ name: d.dir.name, size: 4096, mode: d.dir.mode | fs.ModeDir, }, nil } func (d *directoryHandle) Read(data []byte) (int, error) { return 0, fmt.Errorf("%s is a directory", d.dir.name) } func (d *directoryHandle) Close() error { return nil }