--- a/crates/jrsonnet-stdlib/src/lib.rs +++ b/crates/jrsonnet-stdlib/src/lib.rs @@ -149,6 +149,7 @@ ("char", builtin_char::INST), ("strReplace", builtin_str_replace::INST), ("isEmpty", builtin_is_empty::INST), + ("equalsIgnoreCase", builtin_equals_ignore_case::INST), ("splitLimit", builtin_splitlimit::INST), ("asciiUpper", builtin_ascii_upper::INST), ("asciiLower", builtin_ascii_lower::INST), --- a/crates/jrsonnet-stdlib/src/strings.rs +++ b/crates/jrsonnet-stdlib/src/strings.rs @@ -33,6 +33,11 @@ } #[builtin] +pub fn builtin_equals_ignore_case(x: String, y: String) -> bool { + x.to_ascii_lowercase() == y.to_ascii_lowercase() +} + +#[builtin] pub fn builtin_splitlimit(str: IStr, c: IStr, maxsplits: Either![usize, M1]) -> ArrValue { use Either2::*; match maxsplits {