# Functions
ApplyArrayReplacements takes an input string, and output an array of strings related to possible arrayReplacements.
ApplyReplacements returns a string with references to parameters replaced, based on the mapping provided in replacements.
ExtractArrayIndexingParamsExpressions will find all `$(params.paramName[int])` expressions.
ExtractIndex will extract int from `[int]`.
ExtractIndexString will find the leftmost match of `[int]`.
ExtractVariablesFromString extracts variables from an input string s with the given prefix via regex matching.
StripStarVarSubExpression strips "$(target[*])"" to get "target".
TrimArrayIndex replaces all `[i]` and `[*]` to "".
ValidateNoReferencesToEntireProhibitedVariables returns an error if the input string contains any whole array/object references to any variables in vars.
ValidateNoReferencesToProhibitedVariables returns an error if the input string contains any references to any variables in vars, except for array indexing references.
ValidateNoReferencesToUnknownVariables returns an error if the input string contains references to unknown variables Inputs: - value: a string containing a reference to a variable that can be substituted, e.g.
ValidateNoReferencesToUnknownVariablesWithDetail same as ValidateNoReferencesToUnknownVariables but with more prefix detailed error message.
ValidateVariableReferenceIsIsolated returns an error if the input string contains characters in addition to references to known parameters.
ValidateWholeArrayOrObjectRefInStringVariable validates if a single string field uses references to the whole array/object appropriately valid example: "$(params.myObject[*])" invalid example: "$(params.name-not-exist[*])".