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 }