Template Helper Functions
These are all the helper functions available in template strings, and some usage examples for each.
base64Decode
Decodes the given base64-encoded string.
Usage: base64Decode(string)
Examples:
${base64Decode("bXkgdmFsdWU=")}->"my value"
base64Encode
Encodes the given string as base64.
Usage: base64Encode(string)
Examples:
${base64Encode("my value")}->"bXkgdmFsdWU="
camelCase
Converts the given string to a valid camelCase identifier, changing the casing and removing characters as necessary.
Usage: camelCase(string)
Examples:
${camelCase("Foo Bar")}->"fooBar"${camelCase("--foo-bar--")}->"fooBar"${camelCase("__FOO_BAR__")}->"fooBar"
concat
Concatenates two arrays or strings.
Usage: concat(arg1, arg2)
Examples:
${concat(["first","two"], ["second","list"])}->["first","two","second","list"]${concat([1,2,3], [4,5])}->[1,2,3,4,5]${concat("string1", "string2")}->"string1string2"
indent
Indents each line in the given string with the specified number of spaces.
Usage: indent(string, spaces)
Examples:
${indent("some: multiline\nyaml: document", 2)}->" some: multiline\n yaml: document"${indent("My\nblock\nof\ntext", 4)}->" My\n block\n of\n text"
isEmpty
Returns true if the given value is an empty string, object, array, null or undefined.
Usage: isEmpty([value])
Examples:
${isEmpty({})}->true${isEmpty({"not":"empty"})}->false${isEmpty([])}->true${isEmpty([1,2,3])}->false${isEmpty("")}->true${isEmpty("not empty")}->false${isEmpty(null)}->true
join
Takes an array of strings (or other primitives) and concatenates them into a string, with the given separator
Usage: join(input, separator)
Examples:
${join(["some","list","of","strings"], " ")}->"some list of strings"${join(["some","list","of","strings"], ".")}->"some.list.of.strings"
jsonDecode
Decodes the given JSON-encoded string.
Usage: jsonDecode(string)
Examples:
${jsonDecode("{\"foo\": \"bar\"}")}->{"foo":"bar"}${jsonDecode("\"JSON encoded string\"")}->"JSON encoded string"${jsonDecode("[\"my\", \"json\", \"array\"]")}->["my","json","array"]
jsonEncode
Encodes the given value as JSON.
Usage: jsonEncode(value)
Examples:
${jsonEncode(["some","array"])}->"[\"some\",\"array\"]"${jsonEncode({"some":"object"})}->"{\"some\":\"object\"}"
kebabCase
Converts the given string to a valid kebab-case identifier, changing to all lowercase and removing characters as necessary.
Usage: kebabCase(string)
Examples:
${kebabCase("Foo Bar")}->"foo-bar"${kebabCase("fooBar")}->"foo-bar"${kebabCase("__FOO_BAR__")}->"foo-bar"
lower
Convert the given string to all lowercase.
Usage: lower(string)
Examples:
${lower("Some String")}->"some string"
replace
Replaces all occurrences of a given substring in a string.
Usage: replace(string, substring, replacement)
Examples:
${replace("string_with_underscores", "_", "-")}->"string-with-underscores"${replace("remove.these.dots", ".", "")}->"removethesedots"
sha256
Creates a SHA256 hash of the provided string.
Usage: sha256(string)
Examples:
${sha256("Some String")}->"7f0fd64653ba0bb1a579ced2b6bf375e916cc60662109ee0c0b24f0a750c3a6c"
slice
Slices a string or array at the specified start/end offsets. Note that you can use a negative number for the end offset to count backwards from the end.
Usage: slice(input, start, [end])
Examples:
${slice("ThisIsALongStringThatINeedAPartOf", 11, -7)}->"StringThatINeed"${slice(".foo", 1)}->"foo"
split
Splits the given string by a substring (e.g. a comma, colon etc.).
Usage: split(string, separator)
Examples:
${split("a,b,c", ",")}->["a","b","c"]${split("1:2:3:4", ":")}->["1","2","3","4"]
string
Converts the given value to a string.
Usage: string(value)
Examples:
${string(1)}->"1"${string(true)}->"true"
trim
Trims whitespace (or other specified characters) off the ends of the given string.
Usage: trim(string, [characters])
Examples:
${trim(" some string with surrounding whitespace ")}->"some string with surrounding whitespace"
upper
Converts the given string to all uppercase.
Usage: upper(string)
Examples:
${upper("Some String")}->"SOME STRING"
uuidv4
Generates a random v4 UUID.
Usage: uuidv4()
Examples:
${uuidv4()}->"1b9d6bcd-bbfd-4b2d-9b5d-ab8dfbbd4bed"
yamlDecode
Decodes the given YAML-encoded string. Note that for multi-document YAML strings, you need to set the 2nd argument to true (see below).
Usage: yamlDecode(string, [multiDocument])
Examples:
${yamlDecode("a: 1\nb: 2\n")}->{"a":1,"b":2}${yamlDecode("a: 1\nb: 2\n---\na: 3\nb: 4\n", true)}->[{"a":1,"b":2},{"a":3,"b":4}]
yamlEncode
Encodes the given value as YAML.
Usage: yamlEncode(value, [multiDocument])
Examples:
${yamlEncode({"my":"simple document"})}->"my: simple document\n"${yamlEncode([{"a":1,"b":2},{"a":3,"b":4}], true)}->"---a: 1\nb: 2\n---a: 3\nb: 4\n"
Last updated
Was this helpful?

