[−][src]Function jsonlogic_rs::js_op::strict_eq
pub fn strict_eq(first: &Value, second: &Value) -> bool
Perform JS-style strict equality
Items are strictly equal if:
- They are the same non-primitive object
- They are a primitive object of the same type with the same value
use serde_json::json; use jsonlogic_rs::js_op::strict_eq; // References of the same type and value are strictly equal assert!(strict_eq(&json!(1), &json!(1))); assert!(strict_eq(&json!(false), &json!(false))); assert!(strict_eq(&json!("foo"), &json!("foo"))); // "Abstract" type conversion is not performed for strict equality assert!(!strict_eq(&json!(0), &json!(false))); assert!(!strict_eq(&json!(""), &json!(0))); // Objects only compare equal if they are the same reference assert!(!strict_eq(&json!([]), &json!([]))); assert!(!strict_eq(&json!({}), &json!({}))); let arr = json!([]); let obj = json!({}); assert!(strict_eq(&arr, &arr)); assert!(strict_eq(&obj, &obj));