24 lines
448 B
Go
24 lines
448 B
Go
|
package catalog
|
||
|
|
||
|
import (
|
||
|
"fmt"
|
||
|
"sort"
|
||
|
"strings"
|
||
|
)
|
||
|
|
||
|
// mapToKV converts a map[string]string into a human-friendly key=value list,
|
||
|
// sorted by name.
|
||
|
func mapToKV(m map[string]string, joiner string) string {
|
||
|
keys := make([]string, 0, len(m))
|
||
|
for k := range m {
|
||
|
keys = append(keys, k)
|
||
|
}
|
||
|
sort.Strings(keys)
|
||
|
|
||
|
r := make([]string, len(keys))
|
||
|
for i, k := range keys {
|
||
|
r[i] = fmt.Sprintf("%s=%s", k, m[k])
|
||
|
}
|
||
|
return strings.Join(r, joiner)
|
||
|
}
|