29 lines
453 B
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
|
|
|
|
}
|