You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
42 lines
976 B
Go
42 lines
976 B
Go
4 years ago
|
package name
|
||
|
|
||
|
import (
|
||
|
"strings"
|
||
|
|
||
|
"github.com/tal-tech/go-zero/tools/goctl/util/stringx"
|
||
|
)
|
||
|
|
||
|
type NamingStyle = string
|
||
|
|
||
|
const (
|
||
|
NamingLower NamingStyle = "lower"
|
||
|
NamingCamel NamingStyle = "camel"
|
||
|
NamingSnake NamingStyle = "snake"
|
||
|
)
|
||
|
|
||
|
// IsNamingValid validates whether the namingStyle is valid or not,return
|
||
|
// namingStyle and true if it is valid, or else return empty string
|
||
|
// and false, and it is a valid value even namingStyle is empty string
|
||
|
func IsNamingValid(namingStyle string) (NamingStyle, bool) {
|
||
|
if len(namingStyle) == 0 {
|
||
|
namingStyle = NamingLower
|
||
|
}
|
||
|
switch namingStyle {
|
||
|
case NamingLower, NamingCamel, NamingSnake:
|
||
|
return namingStyle, true
|
||
|
default:
|
||
|
return "", false
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func FormatFilename(filename string, style NamingStyle) string {
|
||
|
switch style {
|
||
|
case NamingCamel:
|
||
|
return stringx.From(filename).ToCamel()
|
||
|
case NamingSnake:
|
||
|
return stringx.From(filename).ToSnake()
|
||
|
default:
|
||
|
return strings.ToLower(stringx.From(filename).ToCamel())
|
||
|
}
|
||
|
}
|