Skip to content

Commit 8723d0e

Browse files
committed
[FIX][typescript-fetch] Fix legacyDiscriminatorBehavior incorrectly assumed to be false
1 parent 2f748d0 commit 8723d0e

File tree

1 file changed

+20
-18
lines changed

1 file changed

+20
-18
lines changed

modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/TypeScriptFetchClientCodegen.java

Lines changed: 20 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -396,24 +396,26 @@ public Map<String, ModelsMap> postProcessAllModels(Map<String, ModelsMap> objs)
396396
ExtendedCodegenModel codegenModel = (ExtendedCodegenModel) model.getModel();
397397
boolean importsPresent = !codegenModel.imports.isEmpty();
398398

399-
// When legacyDiscriminatorBehaviour = false, DefaultCodegen will add the mapped models of the
400-
// discriminator to codegenModel.imports, causing us to duplicate the import if we don't remove them
401-
CodegenDiscriminator discriminator = codegenModel.discriminator;
402-
boolean mappedDiscriminatorModelsPresent = nonNull(discriminator)
403-
&& nonNull(discriminator.getMappedModels());
404-
if (importsPresent && mappedDiscriminatorModelsPresent) {
405-
Set<String> mappedDiscriminatorModelNames = discriminator.getMappedModels()
406-
.stream()
407-
.map(CodegenDiscriminator.MappedModel::getModelName)
408-
.collect(Collectors.toSet());
409-
Set<String> filteredImports = codegenModel.imports
410-
.stream()
411-
.filter(modelImport ->
412-
!mappedDiscriminatorModelNames.contains(modelImport))
413-
.collect(Collectors.toSet());
414-
415-
codegenModel.imports.clear();
416-
codegenModel.imports.addAll(filteredImports);
399+
if (!legacyDiscriminatorBehavior) {
400+
// When legacyDiscriminatorBehaviour = false, DefaultCodegen will add the mapped models of the
401+
// discriminator to codegenModel.imports, causing us to duplicate the import if we don't remove them
402+
CodegenDiscriminator discriminator = codegenModel.discriminator;
403+
boolean mappedDiscriminatorModelsPresent = nonNull(discriminator)
404+
&& nonNull(discriminator.getMappedModels());
405+
if (importsPresent && mappedDiscriminatorModelsPresent) {
406+
Set<String> mappedDiscriminatorModelNames = discriminator.getMappedModels()
407+
.stream()
408+
.map(CodegenDiscriminator.MappedModel::getModelName)
409+
.collect(Collectors.toSet());
410+
Set<String> filteredImports = codegenModel.imports
411+
.stream()
412+
.filter(modelImport ->
413+
!mappedDiscriminatorModelNames.contains(modelImport))
414+
.collect(Collectors.toSet());
415+
416+
codegenModel.imports.clear();
417+
codegenModel.imports.addAll(filteredImports);
418+
}
417419
}
418420

419421
model.put("hasImports", importsPresent);

0 commit comments

Comments
 (0)