axiom/forms/formatters.go

24 lines
472 B
Go

package forms
import (
"strings"
)
type Formatter func(string) string
var Formatters = map[string]Formatter{
"trim": strings.TrimSpace,
"lower": strings.ToLower,
"upper": strings.ToUpper,
"capitalize": capitalize,
}
func capitalize(s string) string {
words := strings.Fields(s)
for i, word := range words {
if len(word) > 0 {
words[i] = strings.ToUpper(string(word[0])) + strings.ToLower(word[1:])
}
}
return strings.Join(words, " ")
}