Versions in this module Expand all Collapse all v0 v0.2.1 Feb 9, 2024 Changes in this version + const DEFAULT_DIR_FMODE + const DEFAULT_FILE_FMODE + const DEFAULT_R_FILE_FMODE + const FS_NEW_FILE_RATE_LIMIT_NAME + const FS_READ_LIMIT_NAME + const FS_READ_MIN_CHUNK_SIZE + const FS_SNAPSHOT_SYMB_DESC_FILES_PROPNAME + const FS_TOTAL_NEW_FILE_LIMIT_NAME + const FS_WRITE_LIMIT_NAME + const FS_WRITE_MIN_CHUNK_SIZE + const MAX_FILE_HIERARCHY_DEPTH + const MAX_SMALL_CHANGE_SIZE + const METAFS_ALWAYS_CHECK_USED_SPACE_BYTE_COUNT_THRESHOLD + const METAFS_AUTO_CREATED_DIR_PERM + const METAFS_CHILDREN_PROPNAME + const METAFS_CREATION_TIME_PROPNAME + const METAFS_DEFAULT_MAX_FILE_COUNT + const METAFS_DEFAULT_MAX_PARALLEL_FILE_CREATION_COUNT + const METAFS_DEFAULT_MAX_UNTRACK_CLOSED_FILE_COUNT + const METAFS_FILES_KEY + const METAFS_FILE_MODE_PROPNAME + const METAFS_KV_FILENAME + const METAFS_MAX_SNAPSHOTABLE_SIZE + const METAFS_MIN_USABLE_SPACE + const METAFS_MODIF_TIME_PROPNAME + const METAFS_SYMLINK_TARGET_PROPNAME + const METAFS_UNDERLYING_FILE_PROPNAME + const METAFS_UNDERLYING_UNDERLYING_FILE_PERM + const METAFS_USED_SPACE_CHECK_INTERVAL + const META_FS_FILE_SNAPSHOTING_WAIT_TIMEOUT + const OLD_EVENT_MIN_AGE + const PROCESS_TEMP_DIR_PREFIX + const TRUE_MAX_IN_MEM_STORAGE + const WATCHER_MANAGEMENT_TICK_INTERVAL + var ErrCannotOpenDir = errors.New("cannot open directory") + var ErrClosedFilesystem = errors.New("closed filesystem") + var ErrFileBeingSnapshoted = errors.New("file is being snapshoted") + var ErrFsWatcherNotAvailable = errors.New("filesystem watcher not available") — js/wasm + var ErrInMemoryStorageLimitExceededDuringWrite = errors.New("in-memory file storage limit exceeded during write operation") + var ErrMaxFileNumberAlreadyReached = errors.New("the maximum number of files in the filesystem has already been reached") + var ErrMaxUsableSpaceTooSmall = errors.New("the given usable space value is too small") + var ErrNoRemainingSpaceToApplyChange = errors.New("no remaining space to apply change") + var ErrNoRemainingSpaceUsableByFS = errors.New("no remaining space usable by filesystem") + var ErrOsFilesystemNotAvailable = errors.New("os filesystem not available") + var ErrTimeInfoNotAvailable = errors.New("time information of file is not available") + var ErrTooDeepFileHierarchy = errors.New("file hierarchy is too deep") + var ErrTooManyParallelFileCreation = errors.New("too many files are being created in parallel") + var LISTFILES_ARG_NAMES = []string + var LISTFILES_SYMB_PARAMS = &[]symbolic.Value + var MKDIR_ARG_NAMES = []string + var MKDIR_SYMB_PARAMS = &[]symbolic.Value + var MKFILE_ARG_NAMES = []string + var MKFILE_SYMB_PARAMS = &[]symbolic.Value + var NEW_FS_SNAPSHOT_DESC = symbolic.NewInexactObject2(map[string]symbolic.Serializable{ ... }) + var NEW_FS_SNAPSHOT_SYMB_ARGS = &[]symbolic.Value + var NEW_FS_SNAPSHOT_SYMB_ARG_NAMES = []string + var READFILE_ARG_NAMES = []string + var READFILE_SYMB_PARAMS = &[]symbolic.Value + var REQUIRED_METAFS_FILE_METADATA_PROPNAMES = []string + func AppendToFile(ctx *core.Context, args ...core.Value) error + func Copy(ctx *core.Context, args ...core.Value) error + func CreateDirInProcessTempDir(namePrefix string) core.Path + func DeleteDeadProcessTempDirs(logger zerolog.Logger, maxDuration time.Duration) + func DeleteDirInProcessTempDir(path core.Path) error + func DeleteProcessTempDir() + func Exists(ctx *core.Context, pth core.Path) core.Bool + func Find(ctx *core.Context, dir core.Path, filters ...core.Pattern) (*core.List, error) + func GetCreateProcessTempDir() core.Path + func GetCreationAndModifTime(i fs.FileInfo) (time.Time, time.Time, error) + func GetTreeData(ctx *core.Context, path core.Path) *core.Treedata + func Glob(ctx *core.Context, patt core.PathPattern) []core.Path + func IsAppend(flag int) bool + func IsCreate(flag int) bool + func IsDir(ctx *core.Context, pth core.Path) core.Bool + func IsExclusive(flag int) bool + func IsFile(ctx *core.Context, pth core.Path) core.Bool + func IsReadAndWrite(flag int) bool + func IsReadOnly(flag int) bool + func IsTruncate(flag int) bool + func ListFiles(ctx *core.Context, pathOrPatt *core.OptionalParam[core.Value]) ([]core.FileInfo, error) + func Mkdir(ctx *core.Context, dirpath core.Path, ...) error + func Mkfile(ctx *core.Context, fpath core.Path, args ...core.Value) error + func NewFilesystemSnapshot(ctx *core.Context, desc *core.Object) *core.FilesystemSnapshotIL + func NewFsNamespace() *core.Namespace + func NormalizeAsAbsolute(path string) string + func Read(ctx *core.Context, path core.Path, args ...core.Value) (result core.Value, finalErr error) + func ReadDir(ctx *core.Context, pth core.Path) ([]fs.DirEntry, error) + func ReadEntireFile(ctx *core.Context, fpath core.Path) ([]byte, error) + func ReadFile(ctx *core.Context, fpath core.Path) (*core.ByteSlice, error) + func Remove(ctx *core.Context, args ...core.Value) error + func Rename(ctx *core.Context, old, new core.Path) error + func ReplaceFileContent(ctx *core.Context, args ...core.Value) error + type AddressableContentBytes struct + Data []byte + Sha256 [32]byte + func (b AddressableContentBytes) ChecksumSHA256() [32]byte + func (b AddressableContentBytes) Reader() io.Reader + type AppendBytesToFile struct + func (e *AppendBytesToFile) Apply(ctx *core.Context) error + func (e AppendBytesToFile) CheckPermissions(ctx *core.Context) error + func (e AppendBytesToFile) IsApplied() bool + func (e AppendBytesToFile) IsApplying() bool + func (e AppendBytesToFile) PermissionKind() core.PermissionKind + func (e AppendBytesToFile) Resources() []core.ResourceName + func (e AppendBytesToFile) Reversability(*core.Context) core.Reversability + func (e AppendBytesToFile) Reverse(ctx *core.Context) error + type BasicTestSuite struct + FS billy.Basic + func (s *BasicTestSuite) TestCreate(c *check.C) + func (s *BasicTestSuite) TestCreateAndClose(c *check.C) + func (s *BasicTestSuite) TestCreateDepth(c *check.C) + func (s *BasicTestSuite) TestCreateDepthAbsolute(c *check.C) + func (s *BasicTestSuite) TestCreateOverwrite(c *check.C) + func (s *BasicTestSuite) TestFileCloseTwice(c *check.C) + func (s *BasicTestSuite) TestFileClosed(c *check.C) + func (s *BasicTestSuite) TestFileNonRead(c *check.C) + func (s *BasicTestSuite) TestFileRead(c *check.C) + func (s *BasicTestSuite) TestFileSeekClosed(c *check.C) + func (s *BasicTestSuite) TestFileSeekCurrent(c *check.C) + func (s *BasicTestSuite) TestFileSeekEnd(c *check.C) + func (s *BasicTestSuite) TestFileSeekstart(c *check.C) + func (s *BasicTestSuite) TestFileWrite(c *check.C) + func (s *BasicTestSuite) TestFileWriteClose(c *check.C) + func (s *BasicTestSuite) TestJoin(c *check.C) + func (s *BasicTestSuite) TestOpen(c *check.C) + func (s *BasicTestSuite) TestOpenAndStat(c *check.C) + func (s *BasicTestSuite) TestOpenAndWrite(c *check.C) + func (s *BasicTestSuite) TestOpenFile(c *check.C) + func (s *BasicTestSuite) TestOpenFileAppend(c *check.C) + func (s *BasicTestSuite) TestOpenFileNoTruncate(c *check.C) + func (s *BasicTestSuite) TestOpenFileReadAfterRemoval(c *check.C) + func (s *BasicTestSuite) TestOpenFileReadWrite(c *check.C) + func (s *BasicTestSuite) TestOpenFileReadWriteAfterRemoval(c *check.C) + func (s *BasicTestSuite) TestOpenFileWithModes(c *check.C) + func (s *BasicTestSuite) TestOpenNotExists(c *check.C) + func (s *BasicTestSuite) TestReadAtEOF(c *check.C) + func (s *BasicTestSuite) TestReadAtOffset(c *check.C) + func (s *BasicTestSuite) TestReadAtOnReadOnly(c *check.C) + func (s *BasicTestSuite) TestReadAtOnReadWrite(c *check.C) + func (s *BasicTestSuite) TestReadWriteLargeFile(c *check.C) + func (s *BasicTestSuite) TestRemove(c *check.C) + func (s *BasicTestSuite) TestRemoveNonExisting(c *check.C) + func (s *BasicTestSuite) TestRemoveNotEmptyDir(c *check.C) + func (s *BasicTestSuite) TestRename(c *check.C) + func (s *BasicTestSuite) TestSeekToEndAndWrite(c *check.C) + func (s *BasicTestSuite) TestStat(c *check.C) + func (s *BasicTestSuite) TestStatDeep(c *check.C) + func (s *BasicTestSuite) TestStatNonExistent(c *check.C) + func (s *BasicTestSuite) TestTruncate(c *check.C) + func (s *BasicTestSuite) TestWriteFile(c *check.C) + type ClosableFilesystem interface + Close func(ctx *core.Context) error + type CreateDir struct + func (e *CreateDir) Apply(ctx *core.Context) error + func (e CreateDir) CheckPermissions(ctx *core.Context) error + func (e CreateDir) IsApplied() bool + func (e CreateDir) IsApplying() bool + func (e CreateDir) PermissionKind() core.PermissionKind + func (e CreateDir) Resources() []core.ResourceName + func (e CreateDir) Reversability(*core.Context) core.Reversability + func (e CreateDir) Reverse(ctx *core.Context) error + type CreateFile struct + func (e *CreateFile) Apply(ctx *core.Context) error + func (e CreateFile) CheckPermissions(ctx *core.Context) error + func (e CreateFile) IsApplied() bool + func (e CreateFile) IsApplying() bool + func (e CreateFile) PermissionKind() core.PermissionKind + func (e CreateFile) Resources() []core.ResourceName + func (e CreateFile) Reversability(*core.Context) core.Reversability + func (e CreateFile) Reverse(ctx *core.Context) error + type DirTestSuite struct + FS interface{ ... } + func (s *DirTestSuite) TestCreateFileInDir(c *check.C) + func (s *DirTestSuite) TestMkdirAll(c *check.C) + func (s *DirTestSuite) TestMkdirAllAndCreate(c *check.C) + func (s *DirTestSuite) TestMkdirAllIdempotent(c *check.C) + func (s *DirTestSuite) TestMkdirAllNested(c *check.C) + func (s *DirTestSuite) TestMkdirAllWithExistingFile(c *check.C) + func (s *DirTestSuite) TestOpenDir(c *check.C) + func (s *DirTestSuite) TestReadDir(c *check.C) + func (s *DirTestSuite) TestReadDirAfterFileRename(c *check.C) + func (s *DirTestSuite) TestReadDirFileInfo(c *check.C) + func (s *DirTestSuite) TestReadDirFileInfoDirs(c *check.C) + func (s *DirTestSuite) TestReadDirNested(c *check.C) + func (s *DirTestSuite) TestReadDirWithMkDirAll(c *check.C) + func (s *DirTestSuite) TestRemoveFileFromDir(c *check.C) + func (s *DirTestSuite) TestRemoveNonEmptyDir(c *check.C) + func (s *DirTestSuite) TestRenameDir(c *check.C) + func (s *DirTestSuite) TestRenameFileInsideDir(c *check.C) + func (s *DirTestSuite) TestRenameToDir(c *check.C) + func (s *DirTestSuite) TestStatDir(c *check.C) + func (s *DirTestSuite) TestStatRootDir(c *check.C) + type Event struct + func (e Event) CreateCoreEvent() *core.Event + func (e Event) HasChmodOp() bool + func (e Event) HasCreateOp() bool + func (e Event) HasRemoveOp() bool + func (e Event) HasRenameOp() bool + func (e Event) HasWriteOp() bool + func (e Event) IsStructureChange() bool + func (e Event) IsStructureOrContentChange() bool + func (e Event) Path() core.Path + func (e Event) Time() core.DateTime + type File struct + func OpenExisting(ctx *core.Context, args ...core.Value) (*File, error) + func (*File) PropertyNames(ctx *core.Context) []string + func (*File) SetProp(ctx *core.Context, name string, value core.Value) error + func (f *File) Equal(ctx *core.Context, other core.Value, alreadyCompared map[uintptr]uintptr, ...) bool + func (f *File) GetGoMethod(name string) (*core.GoFunction, bool) + func (f *File) IsMutable() bool + func (f *File) PrettyPrint(w *bufio.Writer, config *core.PrettyPrintConfig, depth int, ...) + func (f *File) Prop(ctx *core.Context, name string) core.Value + func (f *File) ToSymbolicValue(ctx *core.Context, encountered map[uintptr]symbolic.Value) (symbolic.Value, error) + type FilesystemEventSource struct + func NewEventSource(ctx *core.Context, resourceNameOrPattern core.Value) (*FilesystemEventSource, error) + func NewEventSourceWithFilesystem(ctx *core.Context, fls afs.Filesystem, resourceNameOrPattern core.Value) (*FilesystemEventSource, error) + func (*FilesystemEventSource) PropertyNames(ctx *core.Context) []string + func (*FilesystemEventSource) SetProp(ctx *core.Context, name string, value core.Value) error + func (evs *FilesystemEventSource) Close() + func (evs *FilesystemEventSource) Equal(ctx *core.Context, other core.Value, alreadyCompared map[uintptr]uintptr, ...) bool + func (evs *FilesystemEventSource) GetFilter() core.PathPattern + func (evs *FilesystemEventSource) GetGoMethod(name string) (*core.GoFunction, bool) + func (evs *FilesystemEventSource) GetPath() core.Path + func (evs *FilesystemEventSource) IsClosed() bool + func (evs *FilesystemEventSource) IsMutable() bool + func (evs *FilesystemEventSource) Iterator(ctx *core.Context, config core.IteratorConfiguration) core.Iterator + func (evs *FilesystemEventSource) PrettyPrint(w *bufio.Writer, config *core.PrettyPrintConfig, depth int, ...) + func (evs *FilesystemEventSource) Prop(ctx *core.Context, name string) core.Value + func (evs *FilesystemEventSource) ToSymbolicValue(ctx *core.Context, encountered map[uintptr]symbolic.Value) (symbolic.Value, error) + type FilesystemIL struct + func NewMemFilesystemIL(maxTotalStorageSize core.ByteCount) *FilesystemIL + func (evs *FilesystemIL) IsMutable() bool + func (evs *FilesystemIL) ToSymbolicValue(ctx *core.Context, encountered map[uintptr]symbolic.Value) (symbolic.Value, error) + func (fls *FilesystemIL) Equal(ctx *core.Context, other core.Value, alreadyCompared map[uintptr]uintptr, ...) bool + func (fls *FilesystemIL) PrettyPrint(w *bufio.Writer, config *core.PrettyPrintConfig, depth int, ...) + type GenericBasic struct + CreateFn func(filename string) (afs.File, error) + JoinFn func(elem ...string) string + OpenFileFn func(filename string, flag int, perm os.FileMode) (afs.File, error) + OpenFn func(filename string) (afs.File, error) + RemoveFn func(filename string) error + RenameFn func(oldpath, newpath string) error + StatFn func(filename string) (os.FileInfo, error) + func (i GenericBasic) Create(filename string) (afs.File, error) + func (i GenericBasic) Join(elem ...string) string + func (i GenericBasic) Open(filename string) (afs.File, error) + func (i GenericBasic) OpenFile(filename string, flag int, perm os.FileMode) (afs.File, error) + func (i GenericBasic) Remove(filename string) error + func (i GenericBasic) Rename(oldpath, newpath string) error + func (i GenericBasic) Stat(filename string) (os.FileInfo, error) + type GenericFile struct + CloseFn func() error + Filename string + LockFn func() error + ReadAtFn func(p []byte, off int64) (n int, err error) + ReadFn func(p []byte) (n int, err error) + SeekFn func(offset int64, whence int) (int64, error) + TruncateFn func(size int64) error + UnlockFn func() error + WriteFn func(p []byte) (n int, err error) + func (f *GenericFile) Close() error + func (f *GenericFile) Lock() error + func (f *GenericFile) Name() string + func (f *GenericFile) Read(p []byte) (n int, err error) + func (f *GenericFile) ReadAt(p []byte, off int64) (n int, err error) + func (f *GenericFile) Seek(offset int64, whence int) (int64, error) + func (f *GenericFile) Truncate(size int64) error + func (f *GenericFile) Unlock() error + func (f *GenericFile) Write(p []byte) (n int, err error) + type InMemFileContent struct + func NewInMemFileContent(name string, content []byte, creationTime time.Time, maxStorage int64, ...) *InMemFileContent + func (c *InMemFileContent) IsDirty() bool + func (c *InMemFileContent) Len() int + func (c *InMemFileContent) ModifTime() time.Time + func (c *InMemFileContent) Persist(persistFn func(p []byte) error) (finalErr error) + func (c *InMemFileContent) ReadAt(b []byte, off int64) (n int, err error) + func (c *InMemFileContent) ShouldBePersisted() bool + func (c *InMemFileContent) Truncate(size int64) error + func (c *InMemFileContent) WriteAt(p []byte, off int64) (int, error) + type InMemfile struct + func (*InMemfile) Sync() error + func (f *InMemfile) Close() error + func (f *InMemfile) Duplicate(originalPath string, mode os.FileMode, flag int) billy.File + func (f *InMemfile) FileInfo() core.FileInfo + func (f *InMemfile) FileInfoContentNotLocked() core.FileInfo + func (f *InMemfile) Lock() error + func (f *InMemfile) Name() string + func (f *InMemfile) Read(b []byte) (int, error) + func (f *InMemfile) ReadAt(b []byte, off int64) (int, error) + func (f *InMemfile) Seek(offset int64, whence int) (int64, error) + func (f *InMemfile) Stat() (os.FileInfo, error) + func (f *InMemfile) Truncate(size int64) error + func (f *InMemfile) Unlock() error + func (f *InMemfile) Write(p []byte) (int, error) + type InMemorySnapshot struct + FileContents map[string]core.AddressableContent + MetadataMap map[string]*core.EntrySnapshotMetadata + func (s *InMemorySnapshot) Content(path string) (core.AddressableContent, error) + func (s *InMemorySnapshot) ForEachEntry(fn func(m core.EntrySnapshotMetadata) error) error + func (s *InMemorySnapshot) IsStoredLocally() bool + func (s *InMemorySnapshot) Metadata(path string) (core.EntrySnapshotMetadata, error) + func (s *InMemorySnapshot) NewAdaptedFilesystem(maxTotalStorageSizeHint core.ByteCount) (core.SnapshotableFilesystem, error) + func (s *InMemorySnapshot) RootDirEntries() []string + func (s *InMemorySnapshot) WriteTo(fls afs.Filesystem, params core.SnapshotWriteToFilesystem) error + type MemFilesystem struct + func NewMemFilesystem(maxTotalStorageSize core.ByteCount) *MemFilesystem + func NewMemFilesystemFromSnapshot(snapshot core.FilesystemSnapshot, maxTotalStorageSize core.ByteCount) *MemFilesystem + func (fls *MemFilesystem) Close(ctx *core.Context) error + func (fls *MemFilesystem) Events() *memds.TSArrayQueue[Event] + func (fls *MemFilesystem) GetWatchers() []*VirtualFilesystemWatcher + func (fls *MemFilesystem) Watcher(evs *FilesystemEventSource) *VirtualFilesystemWatcher + func (fs *MemFilesystem) Absolute(path string) (string, error) + func (fs *MemFilesystem) Capabilities() billy.Capability + func (fs *MemFilesystem) Chroot(path string) (billy.Filesystem, error) + func (fs *MemFilesystem) Create(filename string) (billy.File, error) + func (fs *MemFilesystem) Join(elem ...string) string + func (fs *MemFilesystem) Lstat(filename string) (os.FileInfo, error) + func (fs *MemFilesystem) MkdirAll(path string, perm os.FileMode) error + func (fs *MemFilesystem) Open(filename string) (billy.File, error) + func (fs *MemFilesystem) OpenFile(filename string, flag int, perm os.FileMode) (billy.File, error) + func (fs *MemFilesystem) ReadDir(path string) ([]os.FileInfo, error) + func (fs *MemFilesystem) Readlink(link string) (string, error) + func (fs *MemFilesystem) Remove(filename string) error + func (fs *MemFilesystem) Rename(from, to string) error + func (fs *MemFilesystem) Root() string + func (fs *MemFilesystem) Stat(filename string) (os.FileInfo, error) + func (fs *MemFilesystem) Symlink(target, link string) error + func (fs *MemFilesystem) TakeFilesystemSnapshot(config core.FilesystemSnapshotConfig) (core.FilesystemSnapshot, error) + func (fs *MemFilesystem) TempFile(dir, prefix string) (billy.File, error) + type MetaFilesystem struct + func OpenMetaFilesystem(ctx *core.Context, underlying billy.Basic, opts MetaFilesystemParams) (*MetaFilesystem, error) + func (fls *MetaFilesystem) Absolute(path string) (string, error) + func (fls *MetaFilesystem) Chroot(path string) (billy.Filesystem, error) + func (fls *MetaFilesystem) Close(ctx *core.Context) error + func (fls *MetaFilesystem) Create(filename string) (billy.File, error) + func (fls *MetaFilesystem) DoWithContext(ctx *core.Context, fn func() error) error + func (fls *MetaFilesystem) Events() *memds.TSArrayQueue[Event] + func (fls *MetaFilesystem) GetWatchers() []*VirtualFilesystemWatcher + func (fls *MetaFilesystem) Join(elem ...string) string + func (fls *MetaFilesystem) Lstat(filename string) (os.FileInfo, error) + func (fls *MetaFilesystem) MkdirAll(path string, perm os.FileMode) error + func (fls *MetaFilesystem) MkdirAllNoLock(path string, perm os.FileMode) error + func (fls *MetaFilesystem) MkdirAllNoLock_(path string, perm os.FileMode, tx *buntdb.Tx) error + func (fls *MetaFilesystem) Open(filename string) (billy.File, error) + func (fls *MetaFilesystem) OpenFile(filename string, flag int, perm os.FileMode) (billy.File, error) + func (fls *MetaFilesystem) ReadDir(path string) ([]os.FileInfo, error) + func (fls *MetaFilesystem) Readlink(link string) (string, error) + func (fls *MetaFilesystem) Remove(filename string) error + func (fls *MetaFilesystem) Rename(from, to string) error + func (fls *MetaFilesystem) Root() string + func (fls *MetaFilesystem) Stat(filename string) (os.FileInfo, error) + func (fls *MetaFilesystem) Symlink(target, link string) error + func (fls *MetaFilesystem) TakeFilesystemSnapshot(config core.FilesystemSnapshotConfig) (core.FilesystemSnapshot, error) + func (fls *MetaFilesystem) TempFile(dir, prefix string) (billy.File, error) + func (fls *MetaFilesystem) Walk(...) error + func (fls *MetaFilesystem) Watcher(evs *FilesystemEventSource) *VirtualFilesystemWatcher + type MetaFilesystemParams struct + Dir string + MaxFileCount int32 + MaxParallelCreationCount int16 + MaxUsableSpace core.ByteCount + type OsFilesystem struct — darwin/amd64, js/wasm, linux/amd64 + func GetOsFilesystem() *OsFilesystem + func (fs *OsFilesystem) Create(filename string) (billy.File, error) + func (fs *OsFilesystem) Lstat(filename string) (fs.FileInfo, error) + func (fs *OsFilesystem) MkdirAll(filename string, perm fs.FileMode) error + func (fs *OsFilesystem) Open(filename string) (billy.File, error) + func (fs *OsFilesystem) OpenFile(filename string, flag int, perm fs.FileMode) (billy.File, error) + func (fs *OsFilesystem) OsFs() + func (fs *OsFilesystem) ReadDir(path string) ([]fs.FileInfo, error) + func (fs *OsFilesystem) Readlink(link string) (string, error) + func (fs *OsFilesystem) Remove(filename string) error + func (fs *OsFilesystem) Rename(from, to string) error + func (fs *OsFilesystem) Stat(filename string) (fs.FileInfo, error) + func (fs *OsFilesystem) Symlink(target string, link string) error + func (fs *OsFilesystem) TempFile(dir string, prefix string) (billy.File, error) + func (fs *OsFilesystem) WithSecondaryContext(ctx *core.Context) any + func (fs *OsFilesystem) WithoutSecondaryContext() any + func (fs OsFilesystem) Absolute(path string) (string, error) + func (fs OsFilesystem) Chroot(path string) (billy.Filesystem, error) + func (fs OsFilesystem) Root() string + type RemoveFile struct + func (e *RemoveFile) Apply(ctx *core.Context) (finalErr error) + func (e *RemoveFile) Reverse(ctx *core.Context) error + func (e RemoveFile) CheckPermissions(ctx *core.Context) error + func (e RemoveFile) IsApplied() bool + func (e RemoveFile) IsApplying() bool + func (e RemoveFile) PermissionKind() core.PermissionKind + func (e RemoveFile) Resources() []core.ResourceName + func (e RemoveFile) Reversability(*core.Context) core.Reversability + type RenameFile struct + func (e *RenameFile) Apply(ctx *core.Context) error + func (e RenameFile) CheckPermissions(ctx *core.Context) error + func (e RenameFile) IsApplied() bool + func (e RenameFile) IsApplying() bool + func (e RenameFile) PermissionKind() core.PermissionKind + func (e RenameFile) Resources() []core.ResourceName + func (e RenameFile) Reversability(*core.Context) core.Reversability + func (e RenameFile) Reverse(ctx *core.Context) error + type SortableFileInfo []os.FileInfo + func (a SortableFileInfo) Len() int + func (a SortableFileInfo) Less(i, j int) bool + func (a SortableFileInfo) Swap(i, j int) + type VirtualFilesystemWatcher struct + func (w *VirtualFilesystemWatcher) Close() error + type WatchableVirtualFilesystem interface + Events func() *memds.TSArrayQueue[Event] + GetWatchers func() []*VirtualFilesystemWatcher + Watcher func(evs *FilesystemEventSource) *VirtualFilesystemWatcher