providers/os: Add functions to check if something is a dir or file

This commit is contained in:
Sasha Koshka 2024-12-07 21:46:43 -05:00
parent b66b64a327
commit b7952cf8eb

View File

@ -29,6 +29,8 @@ func (this *Provider) FuncMap () template.FuncMap {
return template.FuncMap {
"env": funcEnv,
"fileExists": funcFileExists,
"isFile": funcIsFile,
"isDir": funcIsDir,
"statFile": funcStatFile,
"readFile": funcReadFile,
"readDir": funcReadDir,
@ -47,6 +49,18 @@ func funcFileExists (name string) (bool) {
return err == nil
}
func funcIsFile (name string) (bool, error) {
info, err := os.Stat(name)
if err != nil { return false, err }
return info.Mode().IsRegular(), nil
}
func funcIsDir (name string) (bool, error) {
info, err := os.Stat(name)
if err != nil { return false, err }
return info.IsDir(), nil
}
func funcStatFile (name string) (FileInfo, error) {
info, err := os.Stat(name)
if err != nil { return FileInfo { }, err }