gosimpleconf/flag_overrides.go

29 lines
453 B
Go

package gosimpleconf
import "flag"
type FlagMap map[string]*string
func SetupFlagOverrides(configMap ConfigMap) FlagMap {
flagMap := make(FlagMap)
for k, v := range configMap {
f := flag.String(k, v, "")
flagMap[k] = f
}
return flagMap
}
func ParseFlags(configMap ConfigMap, flagMap FlagMap) ConfigMap {
flag.Parse()
for k, v := range flagMap {
if v != nil && len(*v) > 0 {
configMap[k] = trimToken(*v)
}
}
return configMap
}