@@ -197,18 +197,18 @@ impl jtd_codegen::target::Target for Target {
197
197
return Ok ( Some ( s. into ( ) ) ) ;
198
198
}
199
199
200
- state
201
- . imports
202
- . entry ( "serde" . into ( ) )
203
- . or_default ( )
204
- . extend ( vec ! [ "Deserialize" . to_owned( ) , "Serialize" . to_owned( ) ] ) ;
205
-
206
200
let mut derives = vec ! [ "Serialize" , "Deserialize" ] ;
207
201
208
202
if let Some ( s) = metadata. get ( "rustCustomDerive" ) . and_then ( |v| v. as_str ( ) ) {
209
203
derives. extend ( s. split ( "," ) ) ;
210
204
}
211
205
206
+ state
207
+ . imports
208
+ . entry ( "serde" . into ( ) )
209
+ . or_default ( )
210
+ . extend ( vec ! [ "Deserialize" . to_owned( ) , "Serialize" . to_owned( ) ] ) ;
211
+
212
212
writeln ! ( out) ?;
213
213
write ! ( out, "{}" , description( & metadata, 0 ) ) ?;
214
214
writeln ! ( out, "#[derive({})]" , derives. join( ", " ) ) ?;
@@ -327,6 +327,12 @@ impl jtd_codegen::target::Target for Target {
327
327
return Ok ( Some ( s. into ( ) ) ) ;
328
328
}
329
329
330
+ let mut derives = vec ! [ "Serialize" , "Deserialize" ] ;
331
+
332
+ if let Some ( s) = metadata. get ( "rustCustomDerive" ) . and_then ( |v| v. as_str ( ) ) {
333
+ derives. extend ( s. split ( "," ) ) ;
334
+ }
335
+
330
336
state
331
337
. imports
332
338
. entry ( "serde" . into ( ) )
@@ -335,7 +341,7 @@ impl jtd_codegen::target::Target for Target {
335
341
336
342
writeln ! ( out) ?;
337
343
write ! ( out, "{}" , description( & metadata, 0 ) ) ?;
338
- writeln ! ( out, "#[derive(Serialize, Deserialize )]" ) ?;
344
+ writeln ! ( out, "#[derive({} )]" , derives . join ( ", " ) ) ?;
339
345
writeln ! ( out, "#[serde(tag = {:?})]" , tag_json_name) ?;
340
346
writeln ! ( out, "pub enum {} {{" , name) ?;
341
347
@@ -368,6 +374,12 @@ impl jtd_codegen::target::Target for Target {
368
374
return Ok ( Some ( s. into ( ) ) ) ;
369
375
}
370
376
377
+ let mut derives = vec ! [ "Serialize" , "Deserialize" ] ;
378
+
379
+ if let Some ( s) = metadata. get ( "rustCustomDerive" ) . and_then ( |v| v. as_str ( ) ) {
380
+ derives. extend ( s. split ( "," ) ) ;
381
+ }
382
+
371
383
state
372
384
. imports
373
385
. entry ( "serde" . into ( ) )
@@ -376,7 +388,7 @@ impl jtd_codegen::target::Target for Target {
376
388
377
389
writeln ! ( out) ?;
378
390
write ! ( out, "{}" , description( & metadata, 0 ) ) ?;
379
- writeln ! ( out, "#[derive(Serialize, Deserialize )]" ) ?;
391
+ writeln ! ( out, "#[derive({} )]" , derives . join ( ", " ) ) ?;
380
392
381
393
if fields. is_empty ( ) {
382
394
writeln ! ( out, "pub struct {} {{}}" , name) ?;
0 commit comments