add support for enums

This commit is contained in:
Ben Kraft
2020-04-10 18:16:32 -07:00
parent 9510470937
commit 7ab06dfd30
7 changed files with 203 additions and 35 deletions
+19
View File
@@ -1,6 +1,7 @@
package generate
import (
"strings"
"unicode"
"unicode/utf8"
)
@@ -26,3 +27,21 @@ func lowerFirst(s string) string {
func upperFirst(s string) string {
return changeFirst(s, unicode.ToUpper)
}
func goConstName(s string) string {
var prev rune
return strings.Map(func(r rune) rune {
var ret rune
if prev == 0 && r == '_' {
return '_' // still treat next char as first
} else if r == '_' {
ret = -1
} else if prev == '_' {
ret = unicode.ToUpper(r)
} else {
ret = unicode.ToLower(r)
}
prev = r
return ret
}, s)
}