summaryrefslogtreecommitdiff
path: root/contrib/fs/stat.go
blob: 4dd65d8c8ddbe7bf8e70932381db13d83ec0105e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
package fs

import (
	"errors"
	"io/fs"
)

func isNotFound(err error) bool {
	if err == nil {
		return false
	}

	var pathErr *fs.PathError
	if errors.As(err, &pathErr) {
		e := pathErr.Err
		return errors.Is(e, fs.ErrInvalid) || errors.Is(e, fs.ErrNotExist)
	}

	return false
}

func fileIsDir(file fs.File) (bool, error) {
	info, err := file.Stat()
	if err != nil {
		return false, err
	}
	return info.IsDir(), nil
}