Remove unused code.
This commit is contained in:
parent
c82c2d0b6b
commit
a2ee0155ac
2 changed files with 3 additions and 161 deletions
83
internal/3rdparty/snaker/snaker.go
vendored
83
internal/3rdparty/snaker/snaker.go
vendored
|
|
@ -8,42 +8,9 @@ import (
|
||||||
"unicode"
|
"unicode"
|
||||||
)
|
)
|
||||||
|
|
||||||
// CamelToSnake converts a given string to snake case
|
// SnakeToCamel returns a string converted from snake case to uppercase
|
||||||
func CamelToSnake(s string) string {
|
func SnakeToCamel(s string) string {
|
||||||
var result string
|
return snakeToCamel(s, true)
|
||||||
var words []string
|
|
||||||
var lastPos int
|
|
||||||
rs := []rune(s)
|
|
||||||
|
|
||||||
for i := 0; i < len(rs); i++ {
|
|
||||||
if i > 0 && unicode.IsUpper(rs[i]) {
|
|
||||||
if initialism := startsWithInitialism(s[lastPos:]); initialism != "" {
|
|
||||||
words = append(words, initialism)
|
|
||||||
|
|
||||||
i += len(initialism) - 1
|
|
||||||
lastPos = i
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
|
|
||||||
words = append(words, s[lastPos:i])
|
|
||||||
lastPos = i
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// append the last word
|
|
||||||
if s[lastPos:] != "" {
|
|
||||||
words = append(words, s[lastPos:])
|
|
||||||
}
|
|
||||||
|
|
||||||
for k, word := range words {
|
|
||||||
if k > 0 {
|
|
||||||
result += "_"
|
|
||||||
}
|
|
||||||
|
|
||||||
result += strings.ToLower(word)
|
|
||||||
}
|
|
||||||
|
|
||||||
return result
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func snakeToCamel(s string, upperCase bool) string {
|
func snakeToCamel(s string, upperCase bool) string {
|
||||||
|
|
@ -54,28 +21,6 @@ func snakeToCamel(s string, upperCase bool) string {
|
||||||
|
|
||||||
words := strings.Split(s, "_")
|
words := strings.Split(s, "_")
|
||||||
|
|
||||||
//// if there is no underscore, first try commons and then just return
|
|
||||||
//if len(words) == 1 {
|
|
||||||
// if exception := snakeToCamelExceptions[words[0]]; len(exception) > 0 {
|
|
||||||
// return exception
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// if upperCase {
|
|
||||||
// if upper := strings.ToUpper(words[0]); commonInitialisms[upper] {
|
|
||||||
// return upper
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// w := []rune(s)
|
|
||||||
// if upperCase {
|
|
||||||
// w[0] = unicode.ToUpper(w[0])
|
|
||||||
// } else {
|
|
||||||
// w[0] = unicode.ToLower(w[0])
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// return string(w)
|
|
||||||
//}
|
|
||||||
|
|
||||||
for i, word := range words {
|
for i, word := range words {
|
||||||
if exception := snakeToCamelExceptions[word]; len(exception) > 0 {
|
if exception := snakeToCamelExceptions[word]; len(exception) > 0 {
|
||||||
result += exception
|
result += exception
|
||||||
|
|
@ -117,28 +62,6 @@ func camelizeWord(word string, force bool) string {
|
||||||
return string(runes)
|
return string(runes)
|
||||||
}
|
}
|
||||||
|
|
||||||
// SnakeToCamel returns a string converted from snake case to uppercase
|
|
||||||
func SnakeToCamel(s string) string {
|
|
||||||
return snakeToCamel(s, true)
|
|
||||||
}
|
|
||||||
|
|
||||||
// SnakeToCamelLower returns a string converted from snake case to lowercase
|
|
||||||
func SnakeToCamelLower(s string) string {
|
|
||||||
return snakeToCamel(s, false)
|
|
||||||
}
|
|
||||||
|
|
||||||
// startsWithInitialism returns the initialism if the given string begins with it
|
|
||||||
func startsWithInitialism(s string) string {
|
|
||||||
var initialism string
|
|
||||||
// the longest initialism is 5 char, the shortest 2
|
|
||||||
for i := 1; i <= 5; i++ {
|
|
||||||
if len(s) > i-1 && commonInitialisms[s[:i]] {
|
|
||||||
initialism = s[:i]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return initialism
|
|
||||||
}
|
|
||||||
|
|
||||||
// commonInitialisms, taken from
|
// commonInitialisms, taken from
|
||||||
// https://github.com/golang/lint/blob/206c0f020eba0f7fbcfbc467a5eb808037df2ed6/lint.go#L731
|
// https://github.com/golang/lint/blob/206c0f020eba0f7fbcfbc467a5eb808037df2ed6/lint.go#L731
|
||||||
var commonInitialisms = map[string]bool{
|
var commonInitialisms = map[string]bool{
|
||||||
|
|
|
||||||
81
internal/3rdparty/snaker/snaker_test.go
vendored
81
internal/3rdparty/snaker/snaker_test.go
vendored
|
|
@ -6,56 +6,6 @@ import (
|
||||||
)
|
)
|
||||||
|
|
||||||
var _ = Describe("Snaker", func() {
|
var _ = Describe("Snaker", func() {
|
||||||
Describe("CamelToSnake test", func() {
|
|
||||||
It("should return an empty string on an empty input", func() {
|
|
||||||
Expect(CamelToSnake("")).To(Equal(""))
|
|
||||||
})
|
|
||||||
|
|
||||||
It("should work with one word", func() {
|
|
||||||
Expect(CamelToSnake("One")).To(Equal("one"))
|
|
||||||
})
|
|
||||||
|
|
||||||
It("should return an uppercase string as separate words", func() {
|
|
||||||
Expect(CamelToSnake("ONE")).To(Equal("o_n_e"))
|
|
||||||
})
|
|
||||||
|
|
||||||
It("should return ID as lowercase", func() {
|
|
||||||
Expect(CamelToSnake("ID")).To(Equal("id"))
|
|
||||||
})
|
|
||||||
|
|
||||||
It("should work with a single lowercase character", func() {
|
|
||||||
Expect(CamelToSnake("i")).To(Equal("i"))
|
|
||||||
})
|
|
||||||
|
|
||||||
It("should work with a single uppcase character", func() {
|
|
||||||
Expect(CamelToSnake("I")).To(Equal("i"))
|
|
||||||
})
|
|
||||||
|
|
||||||
It("should return a long text as expected", func() {
|
|
||||||
Expect(CamelToSnake("ThisHasToBeConvertedCorrectlyID")).To(
|
|
||||||
Equal("this_has_to_be_converted_correctly_id"))
|
|
||||||
})
|
|
||||||
|
|
||||||
It("should return the text as expected if the initialism is in the middle", func() {
|
|
||||||
Expect(CamelToSnake("ThisIDIsFine")).To(Equal("this_id_is_fine"))
|
|
||||||
})
|
|
||||||
|
|
||||||
It("should work with long initialism", func() {
|
|
||||||
Expect(CamelToSnake("ThisHTTPSConnection")).To(Equal("this_https_connection"))
|
|
||||||
})
|
|
||||||
|
|
||||||
It("should work with multi initialisms", func() {
|
|
||||||
Expect(CamelToSnake("HelloHTTPSConnectionID")).To(Equal("hello_https_connection_id"))
|
|
||||||
})
|
|
||||||
|
|
||||||
It("should work with concat initialisms", func() {
|
|
||||||
Expect(CamelToSnake("HTTPSID")).To(Equal("https_id"))
|
|
||||||
})
|
|
||||||
|
|
||||||
It("should work with initialism where only certain characters are uppercase", func() {
|
|
||||||
Expect(CamelToSnake("OAuthClient")).To(Equal("oauth_client"))
|
|
||||||
})
|
|
||||||
})
|
|
||||||
|
|
||||||
Describe("SnakeToCamel test", func() {
|
Describe("SnakeToCamel test", func() {
|
||||||
It("should return an empty string on an empty input", func() {
|
It("should return an empty string on an empty input", func() {
|
||||||
|
|
@ -87,35 +37,4 @@ var _ = Describe("Snaker", func() {
|
||||||
Expect(SnakeToCamel("oauth_client")).To(Equal("OAuthClient"))
|
Expect(SnakeToCamel("oauth_client")).To(Equal("OAuthClient"))
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
Describe("SnakeToCamelLower test", func() {
|
|
||||||
It("should return an empty string on an empty input", func() {
|
|
||||||
Ω(SnakeToCamelLower("")).To(Equal(""))
|
|
||||||
})
|
|
||||||
|
|
||||||
It("should not blow up on trailing _", func() {
|
|
||||||
Ω(SnakeToCamelLower("potato_")).To(Equal("potato"))
|
|
||||||
})
|
|
||||||
|
|
||||||
It("should return a snaked text as camel case", func() {
|
|
||||||
Ω(SnakeToCamelLower("this_has_to_be_uppercased")).To(
|
|
||||||
Equal("thisHasToBeUppercased"))
|
|
||||||
})
|
|
||||||
|
|
||||||
It("should return a snaked text as camel case, except the word ID", func() {
|
|
||||||
Ω(SnakeToCamelLower("this_is_an_id")).To(Equal("thisIsAnID"))
|
|
||||||
})
|
|
||||||
|
|
||||||
It("should return 'id' not as uppercase", func() {
|
|
||||||
Ω(SnakeToCamelLower("this_is_an_identifier")).To(Equal("thisIsAnIdentifier"))
|
|
||||||
})
|
|
||||||
|
|
||||||
It("should simply work with id", func() {
|
|
||||||
Ω(SnakeToCamelLower("id")).To(Equal("id"))
|
|
||||||
})
|
|
||||||
|
|
||||||
It("should simply work with leading id", func() {
|
|
||||||
Ω(SnakeToCamelLower("id_me_please")).To(Equal("idMePlease"))
|
|
||||||
})
|
|
||||||
})
|
|
||||||
})
|
})
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue