2017-11-10 21:44:02 -07:00
|
|
|
package name
|
|
|
|
|
|
|
|
import "strings"
|
|
|
|
|
|
|
|
func GuessPluralName(name string) string {
|
|
|
|
if name == "" {
|
|
|
|
return name
|
|
|
|
}
|
|
|
|
|
2018-01-04 09:55:59 -08:00
|
|
|
if strings.EqualFold(name, "Endpoints") {
|
|
|
|
return name
|
|
|
|
}
|
|
|
|
|
2017-11-10 21:44:02 -07:00
|
|
|
if suffix(name, "s") || suffix(name, "ch") || suffix(name, "x") {
|
|
|
|
return name + "es"
|
|
|
|
}
|
|
|
|
|
|
|
|
if suffix(name, "y") && len(name) > 2 && !strings.ContainsAny(name[len(name)-2:len(name)-1], "[aeiou]") {
|
|
|
|
return name[0:len(name)-1] + "ies"
|
|
|
|
}
|
|
|
|
|
|
|
|
return name + "s"
|
|
|
|
}
|
|
|
|
|
|
|
|
func suffix(str, end string) bool {
|
|
|
|
return strings.HasSuffix(str, end)
|
|
|
|
}
|