(path string)
| 88 | } |
| 89 | |
| 90 | func Load(path string) (Config, error) { |
| 91 | buf, err := os.ReadFile(path) |
| 92 | if err != nil { |
| 93 | return Config{}, fmt.Errorf("read config: %w", err) |
| 94 | } |
| 95 | |
| 96 | var cfg Config |
| 97 | if err := json.Unmarshal(buf, &cfg); err != nil { |
| 98 | return Config{}, fmt.Errorf("parse config (JSON-in-YAML format): %w", err) |
| 99 | } |
| 100 | |
| 101 | if err := cfg.Validate(); err != nil { |
| 102 | return Config{}, err |
| 103 | } |
| 104 | |
| 105 | return cfg, nil |
| 106 | } |
| 107 | |
| 108 | func (c Config) Validate() error { |
| 109 | if c.Version == "" { |
no test coverage detected