/
flendger
/
file-cleaner
Обзор
Документация
Войти
/
flendger
/
file-cleaner
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
3
CI/CD
Аналитика
Безопасность
master
settings/reader.go
44 строки
817 B
e.kiru
added settings reader
20 апр 2025, 13:26
20 апр 2025, 13:26
cfe1ee5
Код
Авторство
О чём код?
package settings import ( "encoding/json" "errors" "fmt" "os" "slices" ) func Read(filePath string) ([]*Settings, error) { bytes, err := os.ReadFile(filePath) if err != nil { return nil, errors.New(fmt.Sprintf("error reading settings, cause: %s", err.Error())) } var settings []*Settings err = json.Unmarshal(bytes, &settings) if err != nil { return nil, errors.New(fmt.Sprintf("error parsing settings, cause: %s", err)) } settings = slices.DeleteFunc(settings, incorrectSettings) if len(settings) == 0 { return nil, errors.New("no settings found") } return settings, nil } func incorrectSettings(s *Settings) bool { res := s.Command == "" || s.Days < 0 || s.Path == "" if res { return true } switch s.Command { case Clean, Move, Arch: return false default: return true } }