@@ -13,46 +13,41 @@ use std::iter::zip;
1313/// * `true` if provided values are same.
1414pub fn compare_kvs_values ( left : & KvsValue , right : & KvsValue ) -> bool {
1515 match ( left, right) {
16- ( KvsValue :: Number ( l) , KvsValue :: Number ( r) ) => l == r,
17- ( KvsValue :: Boolean ( l) , KvsValue :: Boolean ( r) ) => l == r,
18- ( KvsValue :: String ( l) , KvsValue :: String ( r) ) => l == r,
16+ ( KvsValue :: I32 ( i32_val_l) , KvsValue :: I32 ( i32_val_r) ) => i32_val_l == i32_val_r,
17+ ( KvsValue :: U32 ( u32_val_l) , KvsValue :: U32 ( u32_val_r) ) => u32_val_l == u32_val_r,
18+ ( KvsValue :: I64 ( i64_val_l) , KvsValue :: I64 ( i64_val_r) ) => i64_val_l == i64_val_r,
19+ ( KvsValue :: U64 ( u64_val_l) , KvsValue :: U64 ( u64_val_r) ) => u64_val_l == u64_val_r,
20+ ( KvsValue :: F64 ( f64_val_l) , KvsValue :: F64 ( f64_val_r) ) => f64_val_l == f64_val_r,
21+ ( KvsValue :: Boolean ( bool_val_l) , KvsValue :: Boolean ( bool_val_r) ) => bool_val_l == bool_val_r,
22+ ( KvsValue :: String ( string_val_l) , KvsValue :: String ( string_val_r) ) => {
23+ string_val_l == string_val_r
24+ }
1925 ( KvsValue :: Null , KvsValue :: Null ) => true ,
20- ( KvsValue :: Array ( l) , KvsValue :: Array ( r) ) => {
21- // Check size.
22- if l. len ( ) != r. len ( ) {
26+ ( KvsValue :: Array ( array_l) , KvsValue :: Array ( array_r) ) => {
27+ if array_l. len ( ) != array_r. len ( ) {
2328 return false ;
2429 }
25-
26- // Iterate over elements.
27- for ( lv, rv) in zip ( l, r) {
28- if !compare_kvs_values ( lv, rv) {
30+ for ( elem_l, elem_r) in zip ( array_l, array_r) {
31+ if !compare_kvs_values ( elem_l, elem_r) {
2932 return false ;
3033 }
3134 }
32-
3335 true
3436 }
35- ( KvsValue :: Object ( l) , KvsValue :: Object ( r) ) => {
36- // Check size.
37- if l. len ( ) != r. len ( ) {
37+ ( KvsValue :: Object ( object_l) , KvsValue :: Object ( object_r) ) => {
38+ if object_l. len ( ) != object_r. len ( ) {
3839 return false ;
3940 }
40-
41- // Check keys.
42- if l. keys ( ) . ne ( r. keys ( ) ) {
41+ if object_l. keys ( ) . ne ( object_r. keys ( ) ) {
4342 return false ;
4443 }
45-
46- // Iterate over elements.
47- let keys = l. keys ( ) ;
48- for k in keys {
49- if !compare_kvs_values ( & l[ k] , & r[ k] ) {
44+ for k in object_l. keys ( ) {
45+ if !compare_kvs_values ( & object_l[ k] , & object_r[ k] ) {
5046 return false ;
5147 }
5248 }
53-
5449 true
5550 }
56- ( _ , _ ) => false ,
51+ _ => false ,
5752 }
5853}
0 commit comments