File tree Expand file tree Collapse file tree 4 files changed +36
-5
lines changed
src/main/java/io/swagger/codegen/v3/generators Expand file tree Collapse file tree 4 files changed +36
-5
lines changed Original file line number Diff line number Diff line change @@ -1387,9 +1387,11 @@ else if (schema instanceof ComposedSchema) {
1387
1387
}
1388
1388
}
1389
1389
if (oneOf != null && !oneOf .isEmpty ()) {
1390
+ codegenModel .dataType = getSchemaType (composed );
1390
1391
this .schemaHandler .configureOneOfModel (codegenModel , oneOf );
1391
1392
}
1392
1393
if (anyOf != null && !anyOf .isEmpty ()) {
1394
+ codegenModel .dataType = getSchemaType (composed );
1393
1395
this .schemaHandler .configureAnyOfModel (codegenModel , anyOf );
1394
1396
}
1395
1397
if (parent != null ) {
Original file line number Diff line number Diff line change 6
6
import io .swagger .codegen .v3 .CodegenProperty ;
7
7
import io .swagger .codegen .v3 .generators .util .OpenAPIUtil ;
8
8
import io .swagger .v3 .oas .models .media .ComposedSchema ;
9
- import io .swagger .v3 .oas .models .media .ObjectSchema ;
10
9
import io .swagger .v3 .oas .models .media .Schema ;
11
10
import org .apache .commons .lang3 .StringUtils ;
12
11
15
14
16
15
public class SchemaHandler {
17
16
18
- private DefaultCodegenConfig codegenConfig ;
17
+ protected DefaultCodegenConfig codegenConfig ;
19
18
20
19
public SchemaHandler (DefaultCodegenConfig codegenConfig ) {
21
20
this .codegenConfig = codegenConfig ;
Original file line number Diff line number Diff line change @@ -114,6 +114,7 @@ public AbstractTypeScriptClientCodegen() {
114
114
cliOptions .add (new CliOption (CodegenConstants .MODEL_PROPERTY_NAMING , CodegenConstants .MODEL_PROPERTY_NAMING_DESC ).defaultValue ("camelCase" ));
115
115
cliOptions .add (new CliOption (CodegenConstants .SUPPORTS_ES6 , CodegenConstants .SUPPORTS_ES6_DESC ).defaultValue ("false" ));
116
116
117
+ schemaHandler = new TypeScriptSchemaHandler (this );
117
118
}
118
119
119
120
@ Override
@@ -242,7 +243,7 @@ public String getTypeDeclaration(Schema propertySchema) {
242
243
}
243
244
244
245
@ Override
245
- protected void addImport (CodegenModel codegenModel , String type ) {
246
+ public void addImport (CodegenModel codegenModel , String type ) {
246
247
if (type == null ) {
247
248
return ;
248
249
}
@@ -286,9 +287,9 @@ public String toDefaultValue(Schema propertySchema) {
286
287
}
287
288
288
289
@ Override
289
- public String getSchemaType (Schema schema ) {
290
+ public String getSchemaType (Schema schema ) {
290
291
String swaggerType = super .getSchemaType (schema );
291
- if (swaggerType == null && schema instanceof ComposedSchema ) {
292
+ if (schema instanceof ComposedSchema ) {
292
293
ComposedSchema composedSchema = (ComposedSchema )schema ;
293
294
if (composedSchema .getAllOf () != null && !composedSchema .getAllOf ().isEmpty ()) {
294
295
return String .join (" & " , getTypesFromInterfaces (composedSchema .getAllOf ()));
Original file line number Diff line number Diff line change
1
+ package io .swagger .codegen .v3 .generators .typescript ;
2
+
3
+ import io .swagger .codegen .v3 .CodegenConstants ;
4
+ import io .swagger .codegen .v3 .CodegenModel ;
5
+ import io .swagger .codegen .v3 .generators .DefaultCodegenConfig ;
6
+ import io .swagger .codegen .v3 .generators .SchemaHandler ;
7
+ import io .swagger .v3 .oas .models .media .Schema ;
8
+
9
+ import java .util .List ;
10
+
11
+ public class TypeScriptSchemaHandler extends SchemaHandler {
12
+
13
+ private AbstractTypeScriptClientCodegen codegenConfig ;
14
+
15
+ public TypeScriptSchemaHandler (DefaultCodegenConfig codegenConfig ) {
16
+ super (codegenConfig );
17
+ this .codegenConfig = (AbstractTypeScriptClientCodegen ) codegenConfig ;
18
+ }
19
+
20
+ public void configureOneOfModel (CodegenModel codegenModel , List <Schema > oneOf ) {
21
+ codegenModel .getVendorExtensions ().put (CodegenConstants .IS_ALIAS_EXT_NAME , Boolean .TRUE );
22
+ this .codegenConfig .addImport (codegenModel , codegenModel .dataType );
23
+ }
24
+
25
+ public void configureAnyOfModel (CodegenModel codegenModel , List <Schema > anyOf ) {
26
+ codegenModel .getVendorExtensions ().put (CodegenConstants .IS_ALIAS_EXT_NAME , Boolean .TRUE );
27
+ this .codegenConfig .addImport (codegenModel , codegenModel .dataType );
28
+ }
29
+ }
You can’t perform that action at this time.
0 commit comments