Skip to content

Commit 5974466

Browse files
Only create tagged union when class has discriminant property
1 parent 87a8ad7 commit 5974466

File tree

2 files changed

+2
-2
lines changed

2 files changed

+2
-2
lines changed

typescript-generator-core/src/main/java/cz/habarta/typescript/generator/compiler/ModelCompiler.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -693,7 +693,7 @@ private TsModel createAndUseTaggedUnions(final SymbolTable symbolTable, TsModel
693693
final List<TsBeanModel> beans = new ArrayList<>();
694694
final LinkedHashSet<TsAliasModel> typeAliases = new LinkedHashSet<>(tsModel.getTypeAliases());
695695
for (TsBeanModel bean : tsModel.getBeans()) {
696-
if (!bean.getTaggedUnionClasses().isEmpty()) {
696+
if (!bean.getTaggedUnionClasses().isEmpty() && bean.getDiscriminantProperty() != null) {
697697
final Symbol unionName = symbolTable.getSymbol(bean.getOrigin(), "Union");
698698
final List<TsType> unionTypes = new ArrayList<>();
699699
for (Class<?> cls : bean.getTaggedUnionClasses()) {

typescript-generator-core/src/main/java/cz/habarta/typescript/generator/ext/JsonDeserializationExtension.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ private static TsModel createDeserializationMethods(SymbolTable symbolTable, TsM
9898
final TsMethodModel genericFunctionConstructor = createDeserializationGenericFunctionConstructor(symbolTable, tsModel, bean);
9999
methods.add(0, genericFunctionConstructor);
100100
}
101-
if (!bean.getTaggedUnionClasses().isEmpty()) {
101+
if (bean.getTaggedUnionAlias() != null) {
102102
final TsMethodModel unionDeserializationMethod = createDeserializationMethodForTaggedUnion(symbolTable, tsModel, bean);
103103
methods.add(1, unionDeserializationMethod);
104104
}

0 commit comments

Comments
 (0)