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