...
1 package flect
2
3 import (
4 "strings"
5 "unicode"
6 )
7
8
9
10
11
12 func Dasherize(s string) string {
13 return New(s).Dasherize().String()
14 }
15
16
17
18
19
20 func (i Ident) Dasherize() Ident {
21 var parts []string
22
23 for _, part := range i.Parts {
24 var x string
25 for _, c := range part {
26 if unicode.IsLetter(c) || unicode.IsDigit(c) {
27 x += string(c)
28 }
29 }
30 parts = xappend(parts, x)
31 }
32
33 return New(strings.ToLower(strings.Join(parts, "-")))
34 }
35
View as plain text