21 lines
708 B
Go
21 lines
708 B
Go
package consumers
|
|
|
|
import configkit "gitea.maximumdirect.net/eric/ConfigKit"
|
|
|
|
// PresetCatalog is ordinary application data; no inheritance fields or
|
|
// registration hooks are required in the typed configuration.
|
|
type PresetCatalog struct {
|
|
Presets map[string]Preset `yaml:"presets"`
|
|
}
|
|
|
|
type Preset struct {
|
|
Enabled bool `yaml:"enabled"`
|
|
Settings map[string]map[string]int `yaml:"settings"`
|
|
}
|
|
|
|
// LoadPresets performs one load; callers may inspect inherited presence and
|
|
// source origins on the returned result before choosing a preset to execute.
|
|
func LoadPresets(source configkit.Source) (*configkit.Result[PresetCatalog], error) {
|
|
return configkit.Load[PresetCatalog](source)
|
|
}
|