- Added AddHelperFunction comment/usage
- AddHelperFunction returns err on duplicate key definitions
This commit is contained in:
Zachary Schulze 2021-07-23 11:39:30 -07:00
parent 013311b6b2
commit 7ebab7875b

View File

@ -7,6 +7,7 @@ import (
"crypto/sha256"
"encoding/base64"
"encoding/hex"
"errors"
"fmt"
"html"
"math"
@ -234,15 +235,18 @@ var functions = map[string]govaluate.ExpressionFunction{
},
}
// HelperFunctions contains the dsl helper functions
// HelperFunctions returns the dsl helper functions
func HelperFunctions() map[string]govaluate.ExpressionFunction {
return functions
}
func AddHelperFunction(key string, value func(args ...interface{}) (interface{}, error)) {
// AddHelperFunction allows creation of additiona helper functions to be supported with templates
func AddHelperFunction(key string, value func(args ...interface{}) (interface{}, error)) error {
if _, ok := functions[key]; !ok {
functions[key] = value
return nil
}
return errors.New("duplicate helper function key defined")
}
func reverseString(s string) string {