1
0
mirror of https://github.com/rancher/norman.git synced 2025-06-30 01:02:04 +00:00
norman/types/id.go
2020-01-31 13:51:59 -07:00

25 lines
517 B
Go

package types
import (
"fmt"
"regexp"
"strings"
utilrand "k8s.io/apimachinery/pkg/util/rand"
)
var (
lowerChars = regexp.MustCompile("[a-z]+")
)
func GenerateName(typeName string) string {
base := typeName[0:1] + lowerChars.ReplaceAllString(typeName[1:], "")
last := utilrand.String(5)
return fmt.Sprintf("%s-%s", strings.ToLower(base), last)
}
func GenerateTypePrefix(typeName string) string {
base := typeName[0:1] + lowerChars.ReplaceAllString(typeName[1:], "")
return strings.ToLower(base) + "-"
}