mirror of https://github.com/dmarkham/enumer.git
Added 'dot' and 'dot-upper' transformers
This commit is contained in:
parent
aa45c0d477
commit
7e279f03c6
|
@ -182,6 +182,8 @@ name := MyTypeValue.String() // name => "my_type_value"
|
|||
- snake-upper
|
||||
- kebab
|
||||
- kebab-upper
|
||||
- dot (dot.case)
|
||||
- dot-upper (DOT.CASE)
|
||||
- lower (lowercase)
|
||||
- upper (UPPERCASE)
|
||||
- title (TitleCase)
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
|
||||
// go command is not available on android
|
||||
|
||||
//go:build !android
|
||||
// +build !android
|
||||
|
||||
package main
|
||||
|
@ -89,6 +90,12 @@ func TestEndToEnd(t *testing.T) {
|
|||
case "transform_kebab_upper.go":
|
||||
typeName = "KebabUpperCaseValue"
|
||||
transformNameMethod = "kebab-upper"
|
||||
case "transform_dot.go":
|
||||
typeName = "DotCaseValue"
|
||||
transformNameMethod = "dot"
|
||||
case "transform_dot_upper.go":
|
||||
typeName = "DotUpperCaseValue"
|
||||
transformNameMethod = "dot-upper"
|
||||
case "transform_upper.go":
|
||||
typeName = "UpperCaseValue"
|
||||
transformNameMethod = "upper"
|
||||
|
|
|
@ -343,6 +343,14 @@ func (g *Generator) transformValueNames(values []Value, transformMethod string)
|
|||
fn = func(s string) string {
|
||||
return strings.ToUpper(name.Delimit(s, '-'))
|
||||
}
|
||||
case "dot":
|
||||
fn = func(s string) string {
|
||||
return strings.ToLower(name.Delimit(s, '.'))
|
||||
}
|
||||
case "dot_upper", "dot-upper":
|
||||
fn = func(s string) string {
|
||||
return strings.ToUpper(name.Delimit(s, '.'))
|
||||
}
|
||||
case "upper":
|
||||
fn = func(s string) string {
|
||||
return strings.ToUpper(s)
|
||||
|
|
|
@ -0,0 +1,25 @@
|
|||
package main
|
||||
|
||||
import "fmt"
|
||||
|
||||
type DotCaseValue int
|
||||
|
||||
const (
|
||||
DotCaseValueOne DotCaseValue = iota
|
||||
DotCaseValueTwo
|
||||
DotCaseValueThree
|
||||
)
|
||||
|
||||
func main() {
|
||||
ck(DotCaseValueOne, "dot.case.value.one")
|
||||
ck(DotCaseValueTwo, "dot.case.value.two")
|
||||
ck(DotCaseValueThree, "dot.case.value.three")
|
||||
ck(-127, "DotCaseValue(-127)")
|
||||
ck(127, "DotCaseValue(127)")
|
||||
}
|
||||
|
||||
func ck(value DotCaseValue, str string) {
|
||||
if fmt.Sprint(value) != str {
|
||||
panic("transform_dot.go: " + str)
|
||||
}
|
||||
}
|
|
@ -0,0 +1,25 @@
|
|||
package main
|
||||
|
||||
import "fmt"
|
||||
|
||||
type DotUpperCaseValue int
|
||||
|
||||
const (
|
||||
DotUpperCaseValueOne DotUpperCaseValue = iota
|
||||
DotUpperCaseValueTwo
|
||||
DotUpperCaseValueThree
|
||||
)
|
||||
|
||||
func main() {
|
||||
ck(DotUpperCaseValueOne, "DOT.UPPER.CASE.VALUE.ONE")
|
||||
ck(DotUpperCaseValueTwo, "DOT.UPPER.CASE.VALUE.TWO")
|
||||
ck(DotUpperCaseValueThree, "DOT.UPPER.CASE.VALUE.THREE")
|
||||
ck(-127, "DotUpperCaseValue(-127)")
|
||||
ck(127, "DotUpperCaseValue(127)")
|
||||
}
|
||||
|
||||
func ck(value DotUpperCaseValue, str string) {
|
||||
if fmt.Sprint(value) != str {
|
||||
panic("transform_dot_upper.go: " + str)
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue