fix: upgrade huandu/xtrings to handle capital word with func ToCamelCase

This commit is contained in:
jhayotte 2017-09-08 09:09:00 +02:00
parent ee845f3ed6
commit 6db729b136

View File

@ -44,18 +44,25 @@ func ToCamelCase(str string) string {
return buf.String()
}
buf.WriteRune(unicode.ToUpper(r0))
r0, size = utf8.DecodeRuneInString(str)
str = str[size:]
r0 = unicode.ToUpper(r0)
for len(str) > 0 {
r1 = r0
r0, size = utf8.DecodeRuneInString(str)
str = str[size:]
if r1 == '_' && r0 != '_' {
if r1 == '_' && r0 == '_' {
buf.WriteRune(r1)
continue
}
if r1 == '_' {
r0 = unicode.ToUpper(r0)
} else {
r0 = unicode.ToLower(r0)
}
if r1 != '_' {
buf.WriteRune(r1)
}
}