in utils/hints.go [108:142]
func GetConfigs(hints mapstr.M, key, name string) []mapstr.M {
raw := GetHintMapStr(hints, key, name)
if raw == nil {
return nil
}
var words, nums []string
for key := range raw {
if _, err := strconv.Atoi(key); err != nil {
words = append(words, key)
continue
} else {
nums = append(nums, key)
}
}
sort.Strings(nums)
var configs []mapstr.M
for _, key := range nums {
rawCfg := raw[key]
if config, ok := rawCfg.(mapstr.M); ok {
configs = append(configs, config)
}
}
for _, word := range words {
configs = append(configs, mapstr.M{
word: raw[word],
})
}
return configs
}