Skip to content

Commit ddfd32d

Browse files
committed
[core] Add IsTruthy/IsFalsy to template system API
1 parent a1f3ba9 commit ddfd32d

1 file changed

Lines changed: 12 additions & 1 deletion

File tree

configuration/template/stack.go

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ import (
2929
"errors"
3030
"fmt"
3131
"io/ioutil"
32+
"slices"
3233
"strconv"
3334
"strings"
3435

@@ -225,6 +226,16 @@ func MakeUtilFuncMap(varStack map[string]string) map[string]interface{} {
225226
out = strings.ToLower(in)
226227
return
227228
},
229+
"IsTruthy": func(in string) (out bool) {
230+
toLower := strings.TrimSpace(strings.ToLower(in))
231+
out = slices.Contains([]string{"true", "yes", "y", "1", "on", "ok"}, toLower)
232+
return
233+
},
234+
"IsFalsy": func(in string) (out bool) {
235+
toLower := strings.TrimSpace(strings.ToLower(in))
236+
out = len(toLower) == 0 || slices.Contains([]string{"false", "no", "n", "0", "off", "none"}, toLower)
237+
return
238+
},
228239
}
229240
_ = mergo.Merge(&legacy, stringsMap)
230241

@@ -292,7 +303,7 @@ func MakeUtilFuncMap(varStack map[string]string) map[string]interface{} {
292303
"Dump": func(in, filepath string) string {
293304
err := ioutil.WriteFile(filepath, []byte(in), 0644)
294305
if err != nil {
295-
log.WithError(err).Warn("could dump variable to file")
306+
log.WithError(err).Warn("could not dump variable to file")
296307
}
297308
return in
298309
},

0 commit comments

Comments
 (0)