From 9931ec3f746ca81486454a63a6e16e473a61da62 Mon Sep 17 00:00:00 2001 From: Kevin Moore Date: Tue, 11 Feb 2025 17:44:51 -0800 Subject: [PATCH] Fix extra line with Dart 3.7 syntax Since this package is using 3.6, you can't see the result here Verified with a one-off in this package and another package to make sure nothing breaks --- json_serializable/CHANGELOG.md | 4 +++ json_serializable/lib/src/decode_helper.dart | 33 +++++++------------- json_serializable/pubspec.yaml | 2 +- 3 files changed, 17 insertions(+), 22 deletions(-) diff --git a/json_serializable/CHANGELOG.md b/json_serializable/CHANGELOG.md index d8c5b5391..186aa799c 100644 --- a/json_serializable/CHANGELOG.md +++ b/json_serializable/CHANGELOG.md @@ -1,3 +1,7 @@ +## 6.9.4 + +- Fix extra line being generated when targetting Dart 3.7 package. + ## 6.9.3 - Error out if the target package does not have a language version of `3.0` or diff --git a/json_serializable/lib/src/decode_helper.dart b/json_serializable/lib/src/decode_helper.dart index 488e93ef3..ea3eb3798 100644 --- a/json_serializable/lib/src/decode_helper.dart +++ b/json_serializable/lib/src/decode_helper.dart @@ -317,27 +317,18 @@ _ConstructorData _writeConstructorInvocation( '$className' '${genericClassArguments(classElement, false)}' '$constructorExtra(', - ); - if (constructorArguments.isNotEmpty) { - buffer - ..writeln() - ..writeAll(constructorArguments.map((paramElement) { - final content = - deserializeForField(paramElement.name, ctorParam: paramElement); - return ' $content,\n'; - })); - } - if (namedConstructorArguments.isNotEmpty) { - buffer - ..writeln() - ..writeAll(namedConstructorArguments.map((paramElement) { - final value = - deserializeForField(paramElement.name, ctorParam: paramElement); - return ' ${paramElement.name}: $value,\n'; - })); - } - - buffer.write(')'); + ) + ..writeAll(constructorArguments.map((paramElement) { + final content = + deserializeForField(paramElement.name, ctorParam: paramElement); + return ' $content,\n'; + })) + ..writeAll(namedConstructorArguments.map((paramElement) { + final value = + deserializeForField(paramElement.name, ctorParam: paramElement); + return ' ${paramElement.name}: $value,\n'; + })) + ..write(')'); usedCtorParamsAndFields.addAll(remainingFieldsForInvocationBody); diff --git a/json_serializable/pubspec.yaml b/json_serializable/pubspec.yaml index 80c9658aa..a28a6509c 100644 --- a/json_serializable/pubspec.yaml +++ b/json_serializable/pubspec.yaml @@ -1,5 +1,5 @@ name: json_serializable -version: 6.9.3 +version: 6.9.4 description: >- Automatically generate code for converting to and from JSON by annotating Dart classes.