27 lines
643 B
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
|
|
}
|