MCPcopy Create free account
hub / github.com/DoNewsCode/core / ProvideConfig

Function ProvideConfig

default_config.go:48–68  ·  view source on GitHub ↗

ProvideConfig is the default ConfigProvider for package Core.

(configStack []config.ProviderSet, configWatcher contract.ConfigWatcher)

Source from the content-addressed store, hash-verified

46
47// ProvideConfig is the default ConfigProvider for package Core.
48func ProvideConfig(configStack []config.ProviderSet, configWatcher contract.ConfigWatcher) contract.ConfigUnmarshaler {
49 var (
50 stack []config.Option
51 err error
52 cfg contract.ConfigAccessor
53 )
54
55 for _, layer := range configStack {
56 stack = append(stack, config.WithProviderLayer(layer.Provider, layer.Parser))
57 }
58 stack = append(stack, config.WithProviderLayer(rawbytes.Provider([]byte(defaultConfig)), yaml.Parser()))
59 if configWatcher != nil {
60 stack = append(stack, config.WithWatcher(configWatcher))
61 }
62
63 cfg, err = config.NewConfig(stack...)
64 if err != nil {
65 stdlog.Fatal(err)
66 }
67 return cfg
68}
69
70// ProvideEnv is the default EnvProvider for package Core.
71func ProvideEnv(conf contract.ConfigUnmarshaler) contract.Env {

Callers

nothing calls this directly

Calls 3

WithProviderLayerFunction · 0.92
WithWatcherFunction · 0.92
NewConfigFunction · 0.92

Tested by

no test coverage detected