func GetHintsAsList()

in utils/hints.go [344:380]


func GetHintsAsList(hints mapstr.M, key string) []mapstr.M {
	raw := GetHintMapStr(hints, key, "")
	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)
		}
	}

	defaultMap := mapstr.M{}
	for _, word := range words {
		defaultMap[word] = raw[word]
	}

	if len(defaultMap) != 0 {
		configs = append(configs, defaultMap)
	}
	return configs
}