diff options
Diffstat (limited to 'tpl/strings/strings.go')
-rw-r--r-- | tpl/strings/strings.go | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/tpl/strings/strings.go b/tpl/strings/strings.go index d7d8f2d85..1864bb9e0 100644 --- a/tpl/strings/strings.go +++ b/tpl/strings/strings.go @@ -57,6 +57,15 @@ func (ns *Namespace) CountRunes(s interface{}) (int, error) { return counter, nil } +// RuneCount returns the number of runes in s. +func (ns *Namespace) RuneCount(s interface{}) (int, error) { + ss, err := cast.ToStringE(s) + if err != nil { + return 0, fmt.Errorf("Failed to convert content to string: %s", err) + } + return utf8.RuneCountInString(ss), nil +} + // CountWords returns the approximate word count in s. func (ns *Namespace) CountWords(s interface{}) (int, error) { ss, err := cast.ToStringE(s) |