Make chomp return the type it receives

fixes #2187
This commit is contained in:
Victor Kropp
2017-10-13 22:57:52 +02:00
committed by Bjørn Erik Pedersen
parent db4b7a5c67
commit 22cd89adc4
2 changed files with 21 additions and 8 deletions

View File

@@ -78,13 +78,20 @@ func (ns *Namespace) CountWords(s interface{}) (int, error) {
}
// Chomp returns a copy of s with all trailing newline characters removed.
func (ns *Namespace) Chomp(s interface{}) (template.HTML, error) {
func (ns *Namespace) Chomp(s interface{}) (interface{}, error) {
ss, err := cast.ToStringE(s)
if err != nil {
return "", err
}
return template.HTML(_strings.TrimRight(ss, "\r\n")), nil
res := _strings.TrimRight(ss, "\r\n")
switch s.(type) {
case template.HTML:
return template.HTML(res), nil
default:
return res, nil
}
}
// Contains reports whether substr is in s.