Skip to content

Commit e458efc

Browse files
authored
Merge pull request #10 from finnbear/reduce-transformer-alloc
Only allocate text transformer once.
2 parents f0a5714 + 69b767a commit e458efc

1 file changed

Lines changed: 8 additions & 3 deletions

File tree

goaway.go

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,10 @@ import (
1111

1212
const Space = " "
1313

14-
var defaultProfanityDetector *ProfanityDetector
14+
var (
15+
defaultProfanityDetector *ProfanityDetector
16+
removeAccentsTransformer transform.Transformer
17+
)
1518

1619
// ProfanityDetector
1720
type ProfanityDetector struct {
@@ -103,8 +106,10 @@ func (g ProfanityDetector) sanitize(s string) string {
103106
}
104107

105108
func removeAccents(s string) string {
106-
t := transform.Chain(norm.NFD, runes.Remove(runes.In(unicode.Mn)), norm.NFC)
107-
output, _, _ := transform.String(t, s)
109+
if removeAccentsTransformer == nil {
110+
removeAccentsTransformer = transform.Chain(norm.NFD, runes.Remove(runes.In(unicode.Mn)), norm.NFC)
111+
}
112+
output, _, _ := transform.String(removeAccentsTransformer, s)
108113
return output
109114
}
110115

0 commit comments

Comments
 (0)