cluster: move SortRegions() from dns to cluster

Signed-off-by: Alejandro Mery <amery@jpi.io>
This commit is contained in:
2023-10-29 19:08:10 +00:00
parent 9ab7594bcc
commit 5bbe15ef24
2 changed files with 32 additions and 27 deletions
+29
View File
@@ -0,0 +1,29 @@
package cluster
import "sort"
// SortRegions sorts regions. first by length those 3-character
// or shorter, and then by length. It's mostly aimed at
// supporting ISO-3166 order
func SortRegions(regions []string) []string {
sort.Slice(regions, func(i, j int) bool {
r1, r2 := regions[i], regions[j]
switch {
case len(r1) < 4:
switch {
case len(r1) < len(r2):
return true
case len(r1) > len(r2):
return false
default:
return r1 < r2
}
case len(r2) < 4:
return false
default:
return r1 < r2
}
})
return regions
}