24 lines
472 B
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, " ")
|
|
}
|