This commit removes certain file-based functions from 'pkg/environment', continuing the migration to entirely remove the package.
33 lines
946 B
Go
33 lines
946 B
Go
// Package fsx provides convenient abstractions to work with the filesystem.
|
|
package fsx
|
|
|
|
import (
|
|
"io/fs"
|
|
"os"
|
|
|
|
"github.com/FAU-CDI/wisski-distillery/pkg/environment"
|
|
)
|
|
|
|
// Exists checks if the given path exists
|
|
func Exists(env environment.Environment, path string) bool {
|
|
_, err := os.Lstat(path)
|
|
return err == nil
|
|
}
|
|
|
|
// IsDirectory checks if the provided path exists and is a directory
|
|
func IsDirectory(env environment.Environment, path string) bool {
|
|
info, err := os.Stat(path)
|
|
return err == nil && info.Mode().IsDir()
|
|
}
|
|
|
|
// IsFile checks if the provided path exists and is a regular file
|
|
func IsFile(env environment.Environment, path string) bool {
|
|
info, err := os.Stat(path)
|
|
return err == nil && info.Mode().IsRegular()
|
|
}
|
|
|
|
// IsLink checks if the provided path exists and is a symlink
|
|
func IsLink(env environment.Environment, path string) bool {
|
|
info, err := os.Lstat(path)
|
|
return err == nil && info.Mode()&fs.ModeSymlink != 0
|
|
}
|