archiver: move helper functions to combine rejects

This commit is contained in:
Michael Eischer
2024-08-27 14:10:57 +02:00
parent f1585af0f2
commit 6fd5d5f2d5
2 changed files with 24 additions and 18 deletions

View File

@@ -24,6 +24,28 @@ type RejectByNameFunc func(path string) bool
// should be excluded (rejected) from the backup.
type RejectFunc func(path string, fi os.FileInfo, fs fs.FS) bool
func CombineRejectByNames(funcs []RejectByNameFunc) SelectByNameFunc {
return func(item string) bool {
for _, reject := range funcs {
if reject(item) {
return false
}
}
return true
}
}
func CombineRejects(funcs []RejectFunc) SelectFunc {
return func(item string, fi os.FileInfo, fs fs.FS) bool {
for _, reject := range funcs {
if reject(item, fi, fs) {
return false
}
}
return true
}
}
type rejectionCache struct {
m map[string]bool
mtx sync.Mutex