Files
configkit/examples/consumers/config_controls_test.go

27 lines
643 B
Go

package consumers
import (
"fmt"
"testing/fstest"
configkit "go.maximumdirect.net/configkit"
)
func Example_documentRootConfig() {
type app struct {
Config struct {
Timeout string `yaml:"timeout"`
} `yaml:"config"`
}
files := configkit.NewFilesystem("bundle", fstest.MapFS{
"main.yml": {Data: []byte("config: {imports: [{path: settings.yml, destination: [config]}]}\n")},
"settings.yml": {Data: []byte("timeout: 10s\n")},
})
result, err := configkit.Load[app](files.File("main.yml"), configkit.Options[app]{Imports: true})
if err != nil {
panic(err)
}
fmt.Println(result.Config.Config.Timeout)
// Output: 10s
}