|
|
@@ -44,7 +44,7 @@ func Load(sources []Source, bc any) error {
|
|
|
config.WithDecoder(func(kv *config.KeyValue, v map[string]interface{}) error {
|
|
|
ok := sourceMap.Has(kv.Key)
|
|
|
if !ok {
|
|
|
- return errors.New("unknown config key")
|
|
|
+ return fmt.Errorf("unknown config key,key:%s", kv.Key)
|
|
|
}
|
|
|
|
|
|
next := map[string]any{}
|
|
|
@@ -73,6 +73,10 @@ func Load(sources []Source, bc any) error {
|
|
|
return err
|
|
|
}
|
|
|
|
|
|
+ if defaultCfg != nil {
|
|
|
+ defaultCfg(bc)
|
|
|
+ }
|
|
|
+
|
|
|
return nil
|
|
|
}),
|
|
|
)
|
|
|
@@ -82,6 +86,14 @@ func Load(sources []Source, bc any) error {
|
|
|
return nil
|
|
|
}
|
|
|
|
|
|
+type DefaultCfg func(bc any)
|
|
|
+
|
|
|
+var defaultCfg DefaultCfg
|
|
|
+
|
|
|
+func SetDefaultCfg(f DefaultCfg) {
|
|
|
+ defaultCfg = f
|
|
|
+}
|
|
|
+
|
|
|
func convertMap(src interface{}) interface{} {
|
|
|
switch m := src.(type) {
|
|
|
case map[string]interface{}:
|