in lib/strings.go [115:452]
func (l stringLib) CompileOptions() []cel.EnvOption {
return []cel.EnvOption{
cel.Function("compare",
cel.MemberOverload(
"string_compare_string_int",
[]*cel.Type{cel.StringType, cel.StringType},
cel.IntType,
cel.BinaryBinding(l.compare),
),
cel.MemberOverload(
"bytes_compare_bytes_int",
[]*cel.Type{cel.BytesType, cel.BytesType},
cel.IntType,
cel.BinaryBinding(l.compareBytes),
),
),
cel.Function("contains_substr", /* required to disambiguate from regexp.contains.*/
cel.MemberOverload(
"string_contains_substr_string_bool",
[]*cel.Type{cel.StringType, cel.StringType},
cel.BoolType,
cel.BinaryBinding(l.contains),
),
cel.MemberOverload(
"bytes_contains_substr_bytes_bool",
[]*cel.Type{cel.BytesType, cel.BytesType},
cel.BoolType,
cel.BinaryBinding(l.containsBytes),
),
),
cel.Function("contains_any",
cel.MemberOverload(
"string_contains_any_string_bool",
[]*cel.Type{cel.StringType, cel.StringType},
cel.BoolType,
cel.BinaryBinding(l.containsAny),
),
),
cel.Function("count",
cel.MemberOverload(
"string_count_string_int",
[]*cel.Type{cel.StringType, cel.StringType},
cel.IntType,
cel.BinaryBinding(l.count),
),
),
cel.Function("equal_fold",
cel.MemberOverload(
"string_equal_fold_string_bool",
[]*cel.Type{cel.StringType, cel.StringType},
cel.BoolType,
cel.BinaryBinding(l.equalFold),
),
),
cel.Function("fields",
cel.MemberOverload(
"string_fields_list_string",
[]*cel.Type{cel.StringType},
listString,
cel.UnaryBinding(l.fields),
),
),
cel.Function("has_prefix",
cel.MemberOverload(
"string_has_prefix_string_bool",
[]*cel.Type{cel.StringType, cel.StringType},
cel.BoolType,
cel.BinaryBinding(l.hasPrefix),
),
cel.MemberOverload(
"bytes_has_prefix_bytes_bool",
[]*cel.Type{cel.BytesType, cel.BytesType},
cel.BoolType,
cel.BinaryBinding(l.hasPrefixBytes),
),
),
cel.Function("has_suffix",
cel.MemberOverload(
"string_has_suffix_string_bool",
[]*cel.Type{cel.StringType, cel.StringType},
cel.BoolType,
cel.BinaryBinding(l.hasSuffix),
),
cel.MemberOverload(
"bytes_has_suffix_bytes_bool",
[]*cel.Type{cel.BytesType, cel.BytesType},
cel.BoolType,
cel.BinaryBinding(l.hasSuffixBytes),
),
),
cel.Function("index",
cel.MemberOverload(
"string_index_string_int",
[]*cel.Type{cel.StringType, cel.StringType},
cel.IntType,
cel.BinaryBinding(l.index),
),
cel.MemberOverload(
"bytes_index_bytes_int",
[]*cel.Type{cel.BytesType, cel.BytesType},
cel.IntType,
cel.BinaryBinding(l.indexBytes),
),
),
cel.Function("index_any",
cel.MemberOverload(
"string_index_any_string_int",
[]*cel.Type{cel.StringType, cel.StringType},
cel.IntType,
cel.BinaryBinding(l.indexAny),
),
),
cel.Function("join",
cel.MemberOverload(
"list_string_join_string_string",
[]*cel.Type{listString, cel.StringType},
cel.StringType,
cel.BinaryBinding(l.join),
),
),
cel.Function("last_index",
cel.MemberOverload(
"string_last_index_string_int",
[]*cel.Type{cel.StringType, cel.StringType},
cel.IntType,
cel.BinaryBinding(l.lastIndex),
),
cel.MemberOverload(
"bytes_last_index_bytes_int",
[]*cel.Type{cel.BytesType, cel.BytesType},
cel.IntType,
cel.BinaryBinding(l.lastIndexBytes),
),
),
cel.Function("last_index_any",
cel.MemberOverload(
"string_last_index_any_string_int",
[]*cel.Type{cel.StringType, cel.StringType},
cel.IntType,
cel.BinaryBinding(l.lastIndexAny),
),
),
cel.Function("repeat",
cel.MemberOverload(
"string_repeat_int_string",
[]*cel.Type{cel.StringType, cel.IntType},
cel.StringType,
cel.BinaryBinding(l.repeat),
),
),
cel.Function("replace",
cel.MemberOverload(
"string_replace_string_string_int_string",
[]*cel.Type{cel.StringType, cel.StringType, cel.StringType, cel.IntType},
cel.StringType,
cel.FunctionBinding(l.replace),
),
),
cel.Function("replace_all",
cel.MemberOverload(
"string_replace_all_string_string_string",
[]*cel.Type{cel.StringType, cel.StringType, cel.StringType},
cel.StringType,
cel.FunctionBinding(l.replaceAll),
),
),
cel.Function("split",
cel.MemberOverload(
"string_split_string_list_string",
[]*cel.Type{cel.StringType, cel.StringType},
listString,
cel.BinaryBinding(l.split),
),
),
cel.Function("split_after",
cel.MemberOverload(
"string_split_after_string_list_string",
[]*cel.Type{cel.StringType, cel.StringType},
listString,
cel.BinaryBinding(l.splitAfter),
),
),
cel.Function("split_after_n",
cel.MemberOverload(
"string_split_after_n_string_int_list_string",
[]*cel.Type{cel.StringType, cel.StringType, cel.IntType},
listString,
cel.FunctionBinding(l.splitAfterN),
),
),
cel.Function("split_n",
cel.MemberOverload(
"string_split_n_string_int_list_string",
[]*cel.Type{cel.StringType, cel.StringType, cel.IntType},
listString,
cel.FunctionBinding(l.splitN),
),
),
cel.Function("substring",
cel.MemberOverload(
"string_substring_int_int_string",
[]*cel.Type{cel.StringType, cel.IntType, cel.IntType},
cel.StringType,
cel.FunctionBinding(l.substring),
),
cel.MemberOverload(
"bytes_substring_int_int_bytes",
[]*cel.Type{cel.BytesType, cel.IntType, cel.IntType},
cel.BytesType,
cel.FunctionBinding(l.substringBytes),
),
),
cel.Function("to_lower",
cel.MemberOverload(
"string_to_lower_string",
[]*cel.Type{cel.StringType},
cel.StringType,
cel.UnaryBinding(l.toLower),
),
),
cel.Function("to_title",
cel.MemberOverload(
"string_to_title_string",
[]*cel.Type{cel.StringType},
cel.StringType,
cel.UnaryBinding(l.toTitle),
),
),
cel.Function("to_upper",
cel.MemberOverload(
"string_to_upper_string",
[]*cel.Type{cel.StringType},
cel.StringType,
cel.UnaryBinding(l.toUpper),
),
),
cel.Function("to_valid_utf8",
cel.MemberOverload(
"bytes_to_valid_utf8_string_string",
[]*cel.Type{cel.BytesType, cel.StringType},
cel.StringType,
cel.BinaryBinding(l.toValidUTF8),
),
),
cel.Function("trim",
cel.MemberOverload(
"string_trim_string_string",
[]*cel.Type{cel.StringType, cel.StringType},
cel.StringType,
cel.BinaryBinding(l.trim),
),
cel.MemberOverload(
"bytes_trim_bytes_string",
[]*cel.Type{cel.BytesType, cel.StringType},
cel.BytesType,
cel.BinaryBinding(l.trimBytes),
),
),
cel.Function("trim_left",
cel.MemberOverload(
"string_trim_left_string_string",
[]*cel.Type{cel.StringType, cel.StringType},
cel.StringType,
cel.BinaryBinding(l.trimLeft),
),
cel.MemberOverload(
"bytes_trim_left_bytes_string",
[]*cel.Type{cel.BytesType, cel.StringType},
cel.BytesType,
cel.BinaryBinding(l.trimLeftBytes),
),
),
cel.Function("trim_prefix",
cel.MemberOverload(
"string_trim_prefix_string_string",
[]*cel.Type{cel.StringType, cel.StringType},
cel.StringType,
cel.BinaryBinding(l.trimPrefix),
),
cel.MemberOverload(
"bytes_trim_prefix_bytes_bytes",
[]*cel.Type{cel.BytesType, cel.BytesType},
cel.BytesType,
cel.BinaryBinding(l.trimPrefixBytes),
),
),
cel.Function("trim_right",
cel.MemberOverload(
"string_trim_right_string_string",
[]*cel.Type{cel.StringType, cel.StringType},
cel.StringType,
cel.BinaryBinding(l.trimRight),
),
cel.MemberOverload(
"bytes_trim_right_bytes_string",
[]*cel.Type{cel.BytesType, cel.StringType},
cel.BytesType,
cel.BinaryBinding(l.trimRightBytes),
),
),
cel.Function("trim_space",
cel.MemberOverload(
"string_trim_space_string",
[]*cel.Type{cel.StringType},
cel.StringType,
cel.UnaryBinding(l.trimSpace),
),
cel.MemberOverload(
"bytes_trim_space_bytes",
[]*cel.Type{cel.BytesType},
cel.BytesType,
cel.UnaryBinding(l.trimSpaceBytes),
),
),
cel.Function("trim_suffix",
cel.MemberOverload(
"string_trim_suffix_string_string",
[]*cel.Type{cel.StringType, cel.StringType},
cel.StringType,
cel.BinaryBinding(l.trimSuffix),
),
cel.MemberOverload(
"bytes_trim_suffix_bytes_bytes",
[]*cel.Type{cel.BytesType, cel.BytesType},
cel.BytesType,
cel.BinaryBinding(l.trimSuffixBytes),
),
),
cel.Function("valid_utf8",
cel.MemberOverload(
"bytes_valid_utf8_bool",
[]*cel.Type{cel.BytesType},
cel.BoolType,
cel.UnaryBinding(l.validString),
),
),
}
}