1package utils
2
3import (
4	"strconv"
5)
6
7/* -------------------- Map Conversion -------------------- */
8
9// MapToStrs takes a map of interfaces and returns a map of strings
10func MapToStrs(aMap map[string]interface{}) map[string]string {
11	results := make(map[string]string)
12
13	for key, val := range aMap {
14		results[key] = val.(string)
15	}
16
17	return results
18}
19
20/* -------------------- Slice Conversion -------------------- */
21
22// ToInts takes a slice of interfaces and returns a slice of ints
23func ToInts(slice []interface{}) []int {
24	results := []int{}
25
26	for _, val := range slice {
27		results = append(results, val.(int))
28	}
29
30	return results
31}
32
33// ToStrs takes a slice of interfaces and returns a slice of strings
34func ToStrs(slice []interface{}) []string {
35	results := []string{}
36
37	for _, val := range slice {
38		switch val.(type) {
39		case int:
40			results = append(results, strconv.Itoa(val.(int)))
41		case string:
42			results = append(results, val.(string))
43		}
44	}
45
46	return results
47}
48