From e4c12d32a1eb0c84d862d59ede1e37780601fd23 Mon Sep 17 00:00:00 2001 From: Arsen Musayelyan Date: Mon, 29 Aug 2022 14:06:56 -0700 Subject: [PATCH] Add Stat() to filesystem implementation --- blefs/basic.go | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/blefs/basic.go b/blefs/basic.go index 3097d9e..bfb5861 100644 --- a/blefs/basic.go +++ b/blefs/basic.go @@ -1,5 +1,29 @@ package blefs +import ( + "io/fs" + "path/filepath" +) + +// Stat does a ReadDir() and finds the current file in the output +func (blefs *FS) Stat(path string) (fs.FileInfo, error) { + // Get directory in filepath + dir := filepath.Dir(path) + // Read directory + dirEntries, err := blefs.ReadDir(dir) + if err != nil { + return nil, err + } + for _, entry := range dirEntries { + // If file name is base name of path + if entry.Name() == filepath.Base(path) { + // Return file info + return entry.Info() + } + } + return nil, ErrFileNotExists +} + // Rename moves or renames a file or directory func (blefs *FS) Rename(old, new string) error { // Create move request