Use a set instead of a list for suffix checking
This commit is contained in:
@@ -10,7 +10,6 @@ import (
|
||||
"path"
|
||||
"path/filepath"
|
||||
"slices"
|
||||
"strings"
|
||||
|
||||
"github.com/gabriel-vasile/mimetype"
|
||||
"github.com/pelletier/go-toml/v2"
|
||||
@@ -35,7 +34,7 @@ var conversionMap = map[string][]string{
|
||||
"image/gif": {".gif"},
|
||||
}
|
||||
|
||||
var suffixesToCheck []string
|
||||
var suffixesToCheck = map[string]struct{}{}
|
||||
|
||||
func loadConfiguration() (*Config, error) {
|
||||
dir, err := os.UserConfigDir()
|
||||
@@ -89,9 +88,7 @@ func loadSuffixes() {
|
||||
for _, extensions := range conversionMap {
|
||||
// Only add unique extensions to the suffixesToCheck list.
|
||||
for _, ext := range extensions {
|
||||
if !slices.Contains(suffixesToCheck, ext) {
|
||||
suffixesToCheck = append(suffixesToCheck, ext)
|
||||
}
|
||||
suffixesToCheck[ext] = struct{}{}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -117,10 +114,10 @@ func shouldEntryBeChecked(entry fs.DirEntry) bool {
|
||||
if !entry.Type().IsRegular() {
|
||||
return false
|
||||
}
|
||||
for _, suffix := range suffixesToCheck {
|
||||
if strings.HasSuffix(entry.Name(), suffix) {
|
||||
return true
|
||||
}
|
||||
ext := filepath.Ext(entry.Name())
|
||||
_, exists := suffixesToCheck[ext]
|
||||
if exists {
|
||||
return true
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user