package generics // FlattenMap takes a map and flattens it to an array func FlattenMap[K comparable, V any](m map[K]V) []V { slice := make([]V, 0, len(m)) for k := range m { slice = append(slice, m[k]) } return slice } // FlattenMapOrdered takes a map content in a specific order func FlattenMapOrdered[K comparable, V any](m map[K]V, orderBy []K) []V { slice := make([]V, 0, len(orderBy)) for _, key := range orderBy { if v, ok := m[key]; ok { slice = append(slice, v) } } return slice }