package string_utils

import (
	"regexp"
	"strings"
)

const snakeCasePattern = `[a-z]([a-z0-9_]*[a-z0-9])*`

var snakeCaseRegex = regexp.MustCompile("^" + snakeCasePattern + "$")

func IsSnakeCase(name string) bool {
	return snakeCaseRegex.MatchString(name)
}

func SnakeToKebabString(s string) string {
	s = strings.TrimSpace(s)

	re := regexp.MustCompile("(_)")
	s = re.ReplaceAllString(s, "-")

	return s
}