summaryrefslogtreecommitdiff
path: root/cache/cache.go
diff options
context:
space:
mode:
Diffstat (limited to 'cache/cache.go')
-rw-r--r--cache/cache.go16
1 files changed, 16 insertions, 0 deletions
diff --git a/cache/cache.go b/cache/cache.go
index ae2d081..98bdbe8 100644
--- a/cache/cache.go
+++ b/cache/cache.go
@@ -111,3 +111,19 @@ func LoadState(f fs.FS, cache Cache, indexers []model.Indexer, runners []model.R
}
return model.NewState(f, locs, indexers, runners)
}
+
+func (c Cache) Strip(needle Cache) Cache {
+ var result []Entry
+outer:
+ for _, e := range c.Entries {
+ for _, t := range needle.Entries {
+ if t.Path == e.Path {
+ continue outer
+ }
+ }
+ result = append(result, e)
+ }
+ return Cache{
+ Entries: result,
+ }
+}