...
1 package validator
2
3 import "bytes"
4
5
6 func QuotedOrList(items ...string) string {
7 itemsQuoted := make([]string, len(items))
8 for i, item := range items {
9 itemsQuoted[i] = `"` + item + `"`
10 }
11 return OrList(itemsQuoted...)
12 }
13
14
15 func OrList(items ...string) string {
16 var buf bytes.Buffer
17
18 if len(items) > 5 {
19 items = items[:5]
20 }
21 if len(items) == 2 {
22 buf.WriteString(items[0])
23 buf.WriteString(" or ")
24 buf.WriteString(items[1])
25 return buf.String()
26 }
27
28 for i, item := range items {
29 if i != 0 {
30 if i == len(items)-1 {
31 buf.WriteString(", or ")
32 } else {
33 buf.WriteString(", ")
34 }
35 }
36 buf.WriteString(item)
37 }
38 return buf.String()
39 }
40
View as plain text