From b28b4a4e04bc65ebddc247bda9e29984c499d800 Mon Sep 17 00:00:00 2001 From: JMARyA Date: Fri, 9 Feb 2024 10:52:14 +0100 Subject: [PATCH] refactor --- src/lib.rs | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/src/lib.rs b/src/lib.rs index 7a02330..e6e122e 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -5,17 +5,17 @@ fn less_than_num(a: &serde_json::Value, b: &serde_json::Value) -> bool { if a.is_f64() { let a = a.as_f64().unwrap(); let b = b.as_f64().unwrap(); - return a < b; + a < b } else if a.is_i64() { let a = a.as_i64().unwrap(); let b = b.as_i64().unwrap(); - return a < b; + a < b } else if a.is_u64() { let a = a.as_u64().unwrap(); let b = b.as_u64().unwrap(); - return a < b; + a < b } else { - return false; + false } } @@ -23,17 +23,17 @@ fn greater_than_num(a: &serde_json::Value, b: &serde_json::Value) -> bool { if a.is_f64() { let a = a.as_f64().unwrap(); let b = b.as_f64().unwrap(); - return a > b; + a > b } else if a.is_i64() { let a = a.as_i64().unwrap(); let b = b.as_i64().unwrap(); - return a > b; + a > b } else if a.is_u64() { let a = a.as_u64().unwrap(); let b = b.as_u64().unwrap(); - return a > b; + a > b } else { - return false; + false } } @@ -70,6 +70,7 @@ pub enum FilterError { /// /// assert!(matches(&filter, &obj)); /// ``` +#[must_use] pub fn matches(filter: &serde_json::Value, obj: &serde_json::Value) -> bool { try_matches(filter, obj).unwrap() } @@ -109,17 +110,17 @@ pub fn try_matches( } } _ => { - if op.starts_with("$") { + if op.starts_with('$') { return Err(FilterError::UnknownOperator); } } } } - for (key, val) in filter.iter() { + for (key, val) in filter { if val.is_object() { let val_keys: Vec<_> = val.as_object().unwrap().keys().collect(); - if val_keys.first().unwrap().starts_with("$") { + if val_keys.first().unwrap().starts_with('$') { return match_operator(val, obj, key.as_str()); } else { // nested @@ -278,12 +279,12 @@ fn match_operator( } } _ => { - if op.starts_with("$") { + if op.starts_with('$') { return Err(FilterError::UnknownOperator); } } } } - return Ok(false); + Err(FilterError::InvalidFilter) }