func()

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),
			),
		),
	}
}