From a2c126df64d8a60bbbff7637a51996ee7aae768c Mon Sep 17 00:00:00 2001 From: Joshua Chaitin-Pollak Date: Wed, 14 Jun 2017 14:26:32 -0400 Subject: [PATCH] fix: capitalize characters after - feat: created ToLowerCamel() to not capitalize the first letter --- camel.go | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/camel.go b/camel.go index ffc52fc..240a43e 100644 --- a/camel.go +++ b/camel.go @@ -5,10 +5,10 @@ import ( ) // Converts a string to CamelCase -func ToCamel(s string) string { +func ToCamelInitCase(s string, initCase bool) string { s = strings.Trim(s, " ") n := "" - capNext := true + capNext := initCase for _, v := range s { if v >= 'A' && v <= 'Z' { n += string(v) @@ -20,7 +20,7 @@ func ToCamel(s string) string { n += string(v) } } - if v == '_' || v == ' ' { + if v == '_' || v == ' ' || v == '-' { capNext = true } else { capNext = false @@ -28,3 +28,11 @@ func ToCamel(s string) string { } return n } + +func ToCamel(s string) string { + return ToCamelInitCase(s, true); +} + +func ToLowerCamel(s string) string { + return ToCamelInitCase(s, false); +}