From dab24bbd0f24a67d51e93c905f01c22ce418bf5d Mon Sep 17 00:00:00 2001 From: Dmitry Dodzin Date: Sat, 8 Nov 2025 15:43:59 +0200 Subject: [PATCH] Allow passing null to contains function --- src/context/builtins.rs | 1 + src/lib.rs | 1 + 2 files changed, 2 insertions(+) diff --git a/src/context/builtins.rs b/src/context/builtins.rs index 3825de4..d26264e 100644 --- a/src/context/builtins.rs +++ b/src/context/builtins.rs @@ -17,6 +17,7 @@ use crate::error::{JsltError, Result}; #[static_function] pub fn contains(element: &Value, sequence: &Value) -> Result { match sequence { + Value::Null => Ok(Value::Bool(false)), Value::Array(array) => Ok(array.contains(element).into()), Value::Object(object) => Ok( element diff --git a/src/lib.rs b/src/lib.rs index 363d965..101ce0b 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -488,6 +488,7 @@ mod tests { #[case("\"no\"", "{\"no\" : false}", "true")] #[case("1", "{\"1\" : false}", "true")] #[case("\"ab\"", "\"abc\"", "true")] + #[case("\"ab\"", "null", "false")] fn function_contains( #[case] left: Value, #[case] right: Value,