Lock in io helper interfaces
Some checks failed
CI / test (push) Has been cancelled
CI / auto-fix (push) Has been cancelled
CI / auto-merge (push) Has been cancelled

This commit is contained in:
Virgil 2026-04-03 06:58:49 +00:00
parent c95697e4f5
commit 5e14c79d64

9
io.go
View file

@ -79,6 +79,8 @@ type FileInfo struct {
isDir bool
}
var _ fs.FileInfo = FileInfo{}
func (info FileInfo) Name() string { return info.name }
func (info FileInfo) Size() int64 { return info.size }
@ -100,6 +102,8 @@ type DirEntry struct {
info fs.FileInfo
}
var _ fs.DirEntry = DirEntry{}
func (entry DirEntry) Name() string { return entry.name }
func (entry DirEntry) IsDir() bool { return entry.isDir }
@ -478,6 +482,9 @@ type MemoryFile struct {
modTime time.Time
}
var _ fs.File = (*MemoryFile)(nil)
var _ goio.ReadCloser = (*MemoryFile)(nil)
func (file *MemoryFile) Stat() (fs.FileInfo, error) {
return NewFileInfo(file.name, int64(len(file.content)), file.mode, file.modTime, false), nil
}
@ -503,6 +510,8 @@ type MemoryWriteCloser struct {
mode fs.FileMode
}
var _ goio.WriteCloser = (*MemoryWriteCloser)(nil)
func (writeCloser *MemoryWriteCloser) Write(data []byte) (int, error) {
writeCloser.data = append(writeCloser.data, data...)
return len(data), nil