diff options
| author | Dave Henderson <dhenderson@gmail.com> | 2018-04-18 23:50:42 -0400 |
|---|---|---|
| committer | Dave Henderson <dhenderson@gmail.com> | 2018-04-18 23:50:42 -0400 |
| commit | e142ace1394fe56eec1cfdfb1c8a3db0efb6ff9f (patch) | |
| tree | 01498625109f9f92d82996864399ff1e3a5f088c /funcs/strings.go | |
| parent | 3813bd30819c13047f385637d0f038dc84277633 (diff) | |
Relax inputs for many functions
Signed-off-by: Dave Henderson <dhenderson@gmail.com>
Diffstat (limited to 'funcs/strings.go')
| -rw-r--r-- | funcs/strings.go | 58 |
1 files changed, 29 insertions, 29 deletions
diff --git a/funcs/strings.go b/funcs/strings.go index b47e284a..07112ee1 100644 --- a/funcs/strings.go +++ b/funcs/strings.go @@ -9,6 +9,8 @@ import ( "log" "sync" + "github.com/hairyhenderson/gomplate/conv" + "strings" gompstrings "github.com/hairyhenderson/gomplate/strings" @@ -49,73 +51,71 @@ func AddStringFuncs(f map[string]interface{}) { type StringFuncs struct{} // ReplaceAll - -func (f *StringFuncs) ReplaceAll(old, new, s string) string { - return strings.Replace(s, old, new, -1) +func (f *StringFuncs) ReplaceAll(old, new string, s interface{}) string { + return strings.Replace(conv.ToString(s), old, new, -1) } // Contains - -func (f *StringFuncs) Contains(substr, s string) bool { - return strings.Contains(s, substr) +func (f *StringFuncs) Contains(substr string, s interface{}) bool { + return strings.Contains(conv.ToString(s), substr) } // HasPrefix - -func (f *StringFuncs) HasPrefix(prefix, s string) bool { - return strings.HasPrefix(s, prefix) +func (f *StringFuncs) HasPrefix(prefix string, s interface{}) bool { + return strings.HasPrefix(conv.ToString(s), prefix) } // HasSuffix - -func (f *StringFuncs) HasSuffix(suffix, s string) bool { - return strings.HasSuffix(s, suffix) +func (f *StringFuncs) HasSuffix(suffix string, s interface{}) bool { + return strings.HasSuffix(conv.ToString(s), suffix) } // Split - -func (f *StringFuncs) Split(sep, s string) []string { - return strings.Split(s, sep) +func (f *StringFuncs) Split(sep string, s interface{}) []string { + return strings.Split(conv.ToString(s), sep) } // SplitN - -func (f *StringFuncs) SplitN(sep string, n int, s string) []string { - return strings.SplitN(s, sep, n) +func (f *StringFuncs) SplitN(sep string, n int, s interface{}) []string { + return strings.SplitN(conv.ToString(s), sep, n) } // Trim - -func (f *StringFuncs) Trim(cutset, s string) string { - return strings.Trim(s, cutset) +func (f *StringFuncs) Trim(cutset string, s interface{}) string { + return strings.Trim(conv.ToString(s), cutset) } -// Trim Prefix- -func (f *StringFuncs) TrimPrefix(cutset, s string) string { - return strings.TrimPrefix(s, cutset) +// TrimPrefix - +func (f *StringFuncs) TrimPrefix(cutset string, s interface{}) string { + return strings.TrimPrefix(conv.ToString(s), cutset) } // Title - -func (f *StringFuncs) Title(s string) string { - return strings.Title(s) +func (f *StringFuncs) Title(s interface{}) string { + return strings.Title(conv.ToString(s)) } // ToUpper - -func (f *StringFuncs) ToUpper(s string) string { - return strings.ToUpper(s) +func (f *StringFuncs) ToUpper(s interface{}) string { + return strings.ToUpper(conv.ToString(s)) } // ToLower - -func (f *StringFuncs) ToLower(s string) string { - return strings.ToLower(s) +func (f *StringFuncs) ToLower(s interface{}) string { + return strings.ToLower(conv.ToString(s)) } // TrimSpace - -func (f *StringFuncs) TrimSpace(s string) string { - return strings.TrimSpace(s) +func (f *StringFuncs) TrimSpace(s interface{}) string { + return strings.TrimSpace(conv.ToString(s)) } // Indent - func (f *StringFuncs) Indent(args ...interface{}) string { - input, ok := args[len(args)-1].(string) - if !ok { - log.Fatal("Indent: invalid arguments") - } + input := conv.ToString(args[len(args)-1]) indent := " " width := 1 + var ok bool switch len(args) { case 2: indent, ok = args[0].(string) |
