@@ -63,26 +63,26 @@ fn graphql_args_to_json_args(
6363
6464 let mut args: IndexMap < String , JsonValue > = IndexMap :: new ( ) ;
6565
66- for ( arg_name, arg_value) in selection. arguments ( ) . iter ( ) . cloned ( ) {
67- let arg_field = args_fields. iter ( ) . find ( |arg_field| arg_field. name == arg_name) ;
68- let inferrer = FieldTypeInferrer :: from_field ( arg_field) . infer ( & arg_value) ;
66+ for ( arg_name, arg_value) in selection. arguments ( ) {
67+ let arg_field = args_fields. iter ( ) . find ( |arg_field| arg_field. name == * arg_name) ;
68+ let inferrer = FieldTypeInferrer :: from_field ( arg_field) . infer ( arg_value) ;
6969 let json = arg_value_to_json ( arg_value, inferrer) ;
70- args. insert ( arg_name, json) ;
70+ args. insert ( arg_name. to_owned ( ) , json) ;
7171 }
7272
7373 Some ( args)
7474}
7575
76- fn arg_value_to_json ( value : ArgumentValue , typ : InferredType ) -> JsonValue {
76+ fn arg_value_to_json ( value : & ArgumentValue , typ : InferredType ) -> JsonValue {
7777 match ( value, typ) {
7878 ( ArgumentValue :: Object ( obj) , InferredType :: Object ( typ) ) => JsonValue :: Object (
7979 obj. into_iter ( )
8080 . map ( |( k, v) | {
81- let field = typ. find_field ( & k) ;
81+ let field = typ. find_field ( k) ;
8282 let inferrer = FieldTypeInferrer :: from_field ( field) ;
83- let inferred_type = inferrer. infer ( & v) ;
83+ let inferred_type = inferrer. infer ( v) ;
8484
85- ( k, arg_value_to_json ( v, inferred_type) )
85+ ( k. to_owned ( ) , arg_value_to_json ( v, inferred_type) )
8686 } )
8787 . collect ( ) ,
8888 ) ,
@@ -94,24 +94,24 @@ fn arg_value_to_json(value: ArgumentValue, typ: InferredType) -> JsonValue {
9494 ( ArgumentValue :: Object ( obj) , InferredType :: Unknown ) => {
9595 let obj = obj
9696 . into_iter ( )
97- . map ( |( k, v) | ( k, arg_value_to_json ( v, InferredType :: Unknown ) ) )
97+ . map ( |( k, v) | ( k. to_owned ( ) , arg_value_to_json ( v, InferredType :: Unknown ) ) )
9898 . collect ( ) ;
9999
100100 JsonValue :: Object ( obj)
101101 }
102102 ( ArgumentValue :: Scalar ( PrismaValue :: Enum ( str) ) , InferredType :: JsonNullEnum ) => {
103- make_json_custom_type ( custom_types:: ENUM , JsonValue :: String ( str) )
103+ make_json_custom_type ( custom_types:: ENUM , JsonValue :: String ( str. to_owned ( ) ) )
104104 }
105105 ( ArgumentValue :: Scalar ( PrismaValue :: String ( str) ) , InferredType :: Json ) => {
106- serde_json:: from_str ( & str) . unwrap_or_else ( |_| panic ! ( "Expected {str} to be JSON." ) )
106+ serde_json:: from_str ( str) . unwrap_or_else ( |_| panic ! ( "Expected {str} to be JSON." ) )
107107 }
108108 ( ArgumentValue :: Scalar ( pv) , InferredType :: Unknown ) => serde_json:: to_value ( pv) . unwrap ( ) ,
109109
110110 ( ArgumentValue :: List ( list) , InferredType :: List ( typ) ) => {
111111 let values = list
112- . into_iter ( )
112+ . iter ( )
113113 . map ( |val| {
114- let inferred_typ = FieldTypeInferrer :: new ( Some ( & [ typ. clone ( ) ] ) ) . infer ( & val) ;
114+ let inferred_typ = FieldTypeInferrer :: new ( Some ( std :: slice :: from_ref ( & typ) ) ) . infer ( val) ;
115115
116116 arg_value_to_json ( val, inferred_typ)
117117 } )
@@ -120,7 +120,7 @@ fn arg_value_to_json(value: ArgumentValue, typ: InferredType) -> JsonValue {
120120 JsonValue :: Array ( values)
121121 }
122122 ( ArgumentValue :: List ( list) , InferredType :: Unknown ) => JsonValue :: Array (
123- list. into_iter ( )
123+ list. iter ( )
124124 . map ( |val| arg_value_to_json ( val, InferredType :: Unknown ) )
125125 . collect_vec ( ) ,
126126 ) ,
0 commit comments