diff options
author | 2024-02-24 14:12:07 +0100 | |
---|---|---|
committer | 2024-02-24 20:22:53 -0800 | |
commit | b48ad6dbfb31ce113313c3120fd98a19522da699 (patch) | |
tree | d436183fccd7e51d0c6e624bf0f61adb915e8f2c /internal/reader/processor/processor.go | |
parent | 2be5051b19a397eff187b2f458b0c8aeece4e83b (diff) | |
download | v2-b48ad6dbfb31ce113313c3120fd98a19522da699.tar.gz v2-b48ad6dbfb31ce113313c3120fd98a19522da699.tar.zst v2-b48ad6dbfb31ce113313c3120fd98a19522da699.zip |
Make use of go≥1.21 slices package instead of hand-rolled loops
This makes the code a tad smaller, moderner,
and maybe even marginally faster, yay!
Diffstat (limited to 'internal/reader/processor/processor.go')
-rw-r--r-- | internal/reader/processor/processor.go | 21 |
1 files changed, 7 insertions, 14 deletions
diff --git a/internal/reader/processor/processor.go b/internal/reader/processor/processor.go index 8a5bdf56..9068d4c2 100644 --- a/internal/reader/processor/processor.go +++ b/internal/reader/processor/processor.go @@ -8,6 +8,7 @@ import ( "fmt" "log/slog" "regexp" + "slices" "strconv" "time" @@ -115,13 +116,9 @@ func ProcessFeedEntries(store *storage.Storage, feed *model.Feed, user *model.Us func isBlockedEntry(feed *model.Feed, entry *model.Entry) bool { if feed.BlocklistRules != "" { - var containsBlockedTag bool = false - for _, tag := range entry.Tags { - if matchField(feed.BlocklistRules, tag) { - containsBlockedTag = true - break - } - } + containsBlockedTag := slices.ContainsFunc(entry.Tags, func(tag string) bool { + return matchField(feed.BlocklistRules, tag) + }) if matchField(feed.BlocklistRules, entry.URL) || matchField(feed.BlocklistRules, entry.Title) || matchField(feed.BlocklistRules, entry.Author) || containsBlockedTag { slog.Debug("Blocking entry based on rule", @@ -140,13 +137,9 @@ func isBlockedEntry(feed *model.Feed, entry *model.Entry) bool { func isAllowedEntry(feed *model.Feed, entry *model.Entry) bool { if feed.KeeplistRules != "" { - var containsAllowedTag bool = false - for _, tag := range entry.Tags { - if matchField(feed.KeeplistRules, tag) { - containsAllowedTag = true - break - } - } + containsAllowedTag := slices.ContainsFunc(entry.Tags, func(tag string) bool { + return matchField(feed.KeeplistRules, tag) + }) if matchField(feed.KeeplistRules, entry.URL) || matchField(feed.KeeplistRules, entry.Title) || matchField(feed.KeeplistRules, entry.Author) || containsAllowedTag { slog.Debug("Allow entry based on rule", |