From c4c6a87ebae364d18859263becc87029e83b75e0 Mon Sep 17 00:00:00 2001 From: Jan Rada <31016933+ZelvaMan@users.noreply.github.com> Date: Fri, 26 Apr 2024 17:52:40 +0200 Subject: [PATCH] fix case conversion --- common/strings.go | 23 +++++++++++++++++++++++ dbGen/generator-functions.go | 8 ++++---- dbGen/generator.go | 7 +++---- dbGen/mapper.go | 11 +++++------ 4 files changed, 35 insertions(+), 14 deletions(-) create mode 100644 common/strings.go diff --git a/common/strings.go b/common/strings.go new file mode 100644 index 0000000..aa2ab6d --- /dev/null +++ b/common/strings.go @@ -0,0 +1,23 @@ +package common + +import ( + "github.com/stoewer/go-strcase" + "strings" +) + +func NormalizeStr(s string) string { + return strings.TrimLeft(s, "_") +} + +func ToPascalCase(s string) string { + return strcase.UpperCamelCase(NormalizeStr(s)) +} + +func ToCamelCase(s string) string { + return strcase.LowerCamelCase(NormalizeStr(s)) +} + +func ToSnakeCase(s string) string { + return strcase.SnakeCase(NormalizeStr(s)) + +} diff --git a/dbGen/generator-functions.go b/dbGen/generator-functions.go index 21999d6..e03c7ac 100755 --- a/dbGen/generator-functions.go +++ b/dbGen/generator-functions.go @@ -1,7 +1,7 @@ package dbGen import ( - "github.com/stoewer/go-strcase" + "github.com/keenmate/db-gen/common" "text/template" ) @@ -11,13 +11,13 @@ func getTemplateFunctions() template.FuncMap { return n + 1 }, "pascalCased": func(s string) string { - return strcase.UpperCamelCase(s) + return common.ToPascalCase(s) }, "camelCased": func(s string) string { - return strcase.LowerCamelCase(s) + return common.ToCamelCase(s) }, "snakeCased": func(s string) string { - return strcase.SnakeCase(s) + return common.ToSnakeCase(s) }, } } diff --git a/dbGen/generator.go b/dbGen/generator.go index b5e2c5d..0e8e187 100755 --- a/dbGen/generator.go +++ b/dbGen/generator.go @@ -5,7 +5,6 @@ import ( "encoding/hex" "fmt" "github.com/keenmate/db-gen/common" - "github.com/stoewer/go-strcase" "io" "log" "os" @@ -296,11 +295,11 @@ func generateFileHashes(outputFolder string) (*map[string]string, error) { func changeCase(str string, desiredCase string) string { switch desiredCase { case "pascalcase": - return strcase.UpperCamelCase(str) + return common.ToPascalCase(str) case "camelcase": - return strcase.LowerCamelCase(str) + return common.ToCamelCase(str) case "snakecase": - return strcase.SnakeCase(str) + return common.ToSnakeCase(str) default: common.LogWarn("unknown case, this should never happen") return str diff --git a/dbGen/mapper.go b/dbGen/mapper.go index 33b604a..9138e6d 100755 --- a/dbGen/mapper.go +++ b/dbGen/mapper.go @@ -3,7 +3,6 @@ package dbGen import ( "fmt" "github.com/keenmate/db-gen/common" - "github.com/stoewer/go-strcase" "slices" "sort" ) @@ -211,7 +210,7 @@ func getColumnMapping(param DbParameter, routineMapping *RoutineMapping, globalM return false, nil, nil } - name := strcase.UpperCamelCase(param.Name) + name := common.ToPascalCase(param.Name) isNullable := param.IsNullable var typeMapping *mapping = nil var err error = nil @@ -308,16 +307,16 @@ func getFunctionName(dbFunctionName string, schema string, mappedName string) st schemaPrefix := "" // don't add public_ to function names if schema != hiddenSchema { - schemaPrefix = strcase.UpperCamelCase(schema) + schemaPrefix = common.ToPascalCase(common.NormalizeStr(schema)) } - return schemaPrefix + strcase.UpperCamelCase(dbFunctionName) + return schemaPrefix + common.ToPascalCase(dbFunctionName) } func getModelName(functionName string) string { - return strcase.UpperCamelCase(functionName) + "Model" + return common.ToPascalCase(functionName) + "Model" } func getProcessorName(functionName string) string { - return strcase.UpperCamelCase(functionName) + "Processor" + return common.ToPascalCase(functionName) + "Processor" } // getTypeMapping if explicit mapping doesnt exist, try fallback