From e20ccd49ed4f03051ec071dd2dfa09de13caf632 Mon Sep 17 00:00:00 2001 From: Michael Marner Date: Mon, 19 Jul 2021 18:57:46 +0930 Subject: [PATCH] 9955 dart-dio-next only remove typed_data import if safe (#9956) --- .../languages/DartDioNextClientCodegen.java | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/DartDioNextClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/DartDioNextClientCodegen.java index 6557d7cad3e7..169be056beec 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/DartDioNextClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/DartDioNextClientCodegen.java @@ -322,6 +322,18 @@ public class DartDioNextClientCodegen extends AbstractDartCodegen { } } + // the MultipartFile handling above changes the type of some parameters from + // `UInt8List`, the default for files, to `MultipartFile`. + // + // The following block removes the required import for Uint8List if it is no + // longer in use. + if (op.allParams.stream().noneMatch(param -> param.dataType.equals("Uint8List")) + && op.responses.stream().filter(response -> response.dataType != null) + .noneMatch(response -> response.dataType.equals("Uint8List"))) { + // Remove unused imports after processing + op.imports.remove("Uint8List"); + } + for (CodegenParameter param : op.bodyParams) { if (param.isContainer) { final Map serializer = new HashMap<>(); @@ -333,11 +345,6 @@ public class DartDioNextClientCodegen extends AbstractDartCodegen { } } - if (op.allParams.stream().noneMatch(param -> param.dataType.equals("Uint8List"))) { - // Remove unused imports after processing - op.imports.remove("Uint8List"); - } - resultImports.addAll(rewriteImports(op.imports, false)); if (op.getHasFormParams() || op.getHasQueryParams()) { resultImports.add("package:" + pubName + "/src/api_util.dart");