gocctl model v20200819 (#18)
* rename snake、came method * new: generate model from data source * add change log md * update model doc * update doc * beauty code
This commit is contained in:
@@ -6,10 +6,6 @@ import (
|
||||
"unicode"
|
||||
)
|
||||
|
||||
const (
|
||||
emptyString = ""
|
||||
)
|
||||
|
||||
type (
|
||||
String struct {
|
||||
source string
|
||||
@@ -31,15 +27,9 @@ func (s String) IsEmptyOrSpace() bool {
|
||||
}
|
||||
|
||||
func (s String) Lower() string {
|
||||
if s.IsEmptyOrSpace() {
|
||||
return s.source
|
||||
}
|
||||
return strings.ToLower(s.source)
|
||||
}
|
||||
func (s String) Upper() string {
|
||||
if s.IsEmptyOrSpace() {
|
||||
return s.source
|
||||
}
|
||||
return strings.ToUpper(s.source)
|
||||
}
|
||||
func (s String) Title() string {
|
||||
@@ -50,10 +40,7 @@ func (s String) Title() string {
|
||||
}
|
||||
|
||||
// snake->camel(upper start)
|
||||
func (s String) Snake2Camel() string {
|
||||
if s.IsEmptyOrSpace() {
|
||||
return s.source
|
||||
}
|
||||
func (s String) ToCamel() string {
|
||||
list := s.splitBy(func(r rune) bool {
|
||||
return r == '_'
|
||||
}, true)
|
||||
@@ -65,10 +52,7 @@ func (s String) Snake2Camel() string {
|
||||
}
|
||||
|
||||
// camel->snake
|
||||
func (s String) Camel2Snake() string {
|
||||
if s.IsEmptyOrSpace() {
|
||||
return s.source
|
||||
}
|
||||
func (s String) ToSnake() string {
|
||||
list := s.splitBy(func(r rune) bool {
|
||||
return unicode.IsUpper(r)
|
||||
}, false)
|
||||
@@ -80,7 +64,7 @@ func (s String) Camel2Snake() string {
|
||||
}
|
||||
|
||||
// return original string if rune is not letter at index 0
|
||||
func (s String) LowerStart() string {
|
||||
func (s String) UnTitle() string {
|
||||
if s.IsEmptyOrSpace() {
|
||||
return s.source
|
||||
}
|
||||
|
||||
@@ -17,26 +17,26 @@ func TestString_IsEmptyOrSpace(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestString_Snake2Camel(t *testing.T) {
|
||||
ret := From("____this_is_snake").Snake2Camel()
|
||||
ret := From("____this_is_snake").ToCamel()
|
||||
assert.Equal(t, "ThisIsSnake", ret)
|
||||
|
||||
ret2 := From("测试_test_Data").Snake2Camel()
|
||||
ret2 := From("测试_test_Data").ToCamel()
|
||||
assert.Equal(t, "测试TestData", ret2)
|
||||
|
||||
ret3 := From("___").Snake2Camel()
|
||||
ret3 := From("___").ToCamel()
|
||||
assert.Equal(t, "", ret3)
|
||||
|
||||
ret4 := From("testData_").Snake2Camel()
|
||||
ret4 := From("testData_").ToCamel()
|
||||
assert.Equal(t, "TestData", ret4)
|
||||
|
||||
ret5 := From("testDataTestData").Snake2Camel()
|
||||
ret5 := From("testDataTestData").ToCamel()
|
||||
assert.Equal(t, "TestDataTestData", ret5)
|
||||
}
|
||||
|
||||
func TestString_Camel2Snake(t *testing.T) {
|
||||
ret := From("ThisIsCCCamel").Camel2Snake()
|
||||
ret := From("ThisIsCCCamel").ToSnake()
|
||||
assert.Equal(t, "this_is_c_c_camel", ret)
|
||||
|
||||
ret2 := From("测试Test_Data_test_data").Camel2Snake()
|
||||
ret2 := From("测试Test_Data_test_data").ToSnake()
|
||||
assert.Equal(t, "测试_test__data_test_data", ret2)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user