Skip to content

Commit 56f1cc9

Browse files
authored
Merge branch 'master' into javascript-generator-tweak
2 parents 2d472e5 + 1e86769 commit 56f1cc9

File tree

3 files changed

+38
-1
lines changed

3 files changed

+38
-1
lines changed

src/main/java/io/swagger/codegen/v3/generators/typescript/AbstractTypeScriptClientCodegen.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333
import java.util.stream.Collectors;
3434

3535
import static io.swagger.codegen.v3.CodegenConstants.IS_ENUM_EXT_NAME;
36+
import static io.swagger.codegen.v3.CodegenConstants.IS_OBJECT_EXT_NAME;
3637
import static io.swagger.codegen.v3.generators.handlebars.ExtensionHelper.getBooleanValue;
3738

3839
public abstract class AbstractTypeScriptClientCodegen extends DefaultCodegenConfig {
@@ -226,6 +227,15 @@ public String toModelFilename(String name) {
226227
return toModelName(name);
227228
}
228229

230+
@Override
231+
public CodegenModel fromModel(String name, Schema schema, Map<String, Schema> allDefinitions) {
232+
final CodegenModel codegenModel = super.fromModel(name, schema, allDefinitions);
233+
if (isObjectSchema(schema) || schema instanceof MapSchema) {
234+
codegenModel.getVendorExtensions().put(CodegenConstants.IS_OBJECT_EXT_NAME, Boolean.TRUE);
235+
}
236+
return codegenModel;
237+
}
238+
229239
@Override
230240
public String getTypeDeclaration(Schema propertySchema) {
231241
if (propertySchema instanceof ArraySchema) {

src/main/resources/handlebars/typescript-fetch/api.mustache

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ export class RequiredError extends Error {
6868
}
6969

7070
{{#models}}
71-
{{#model}}{{#isEnum}}{{>modelEnum}}{{/isEnum}}{{^isEnum}}{{>modelGeneric}}{{/isEnum}}{{/model}}
71+
{{#model}}{{#isEnum}}{{>modelEnum}}{{/isEnum}}{{^isEnum}}{{#isObject}}{{>modelGeneric}}{{/isObject}}{{^isObject}}{{>modelAlias}}{{/isObject}}{{/isEnum}}{{/model}}
7272
{{/models}}
7373
{{#apiInfo}}{{#apis}}{{#operations}}
7474
/**
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
/**
2+
* {{{description}}}
3+
* @export
4+
*/
5+
export type {{classname}} = {{#parent}}{{{parent}}}{{/parent}}{{^parent}}{{{dataType}}}{{/parent}}{{#hasEnums}}
6+
7+
/**
8+
* @export
9+
* @namespace {{classname}}
10+
*/
11+
export namespace {{classname}} {
12+
{{#vars}}
13+
{{#isEnum}}
14+
/**
15+
* @export
16+
* @enum {string}
17+
*/
18+
export enum {{enumName}} {
19+
{{#allowableValues}}
20+
{{#enumVars}}
21+
{{{name}}} = <any> {{{value}}}{{^@last}},{{/@last}}
22+
{{/enumVars}}
23+
{{/allowableValues}}
24+
}
25+
{{/isEnum}}
26+
{{/vars}}
27+
}{{/hasEnums}}

0 commit comments

Comments
 (0)