Update consumer examples for document-root controls
This commit is contained in:
26
examples/consumers/config_controls_test.go
Normal file
26
examples/consumers/config_controls_test.go
Normal file
@@ -0,0 +1,26 @@
|
||||
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
|
||||
}
|
||||
Reference in New Issue
Block a user