Skip to content

Commit 9707acb

Browse files
authored
fix: referenced models should render their type as pascal case (#169)
1 parent 5915cd9 commit 9707acb

File tree

4 files changed

+16
-3
lines changed

4 files changed

+16
-3
lines changed

src/generators/java/JavaRenderer.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ export abstract class JavaRenderer extends AbstractRenderer<JavaOptions> {
2424
return 'Object'; // fallback
2525
}
2626
if (model.$ref !== undefined) {
27-
return model.$ref;
27+
return FormatHelpers.toPascalCase(model.$ref);
2828
}
2929
const format = model.getFromSchema('format');
3030
return this.toClassType(this.toJavaType(format || model.type, model));

src/generators/typescript/TypeScriptRenderer.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ export abstract class TypeScriptRenderer extends AbstractRenderer<TypeScriptOpti
2727
return model.enum.map(value => typeof value === 'string' ? `"${value}"` : value).join(' | ');
2828
}
2929
if (model.$ref !== undefined) {
30-
return model.$ref;
30+
return FormatHelpers.toPascalCase(model.$ref);
3131
}
3232
if (Array.isArray(model.type)) {
3333
return model.type.map(t => this.toTsType(t, model)).join(' | ');

test/generators/java/JavaRenderer.spec.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,14 @@ describe('JavaRenderer', function() {
1010
renderer = new MockJavaRenderer({}, [], new CommonModel(), new CommonInputModel());
1111
});
1212

13+
describe('renderType()', function() {
14+
test('Should render refs with pascal case', function() {
15+
const model = new CommonModel();
16+
model.$ref = "<anonymous-schema-1>";
17+
expect(renderer.renderType(model)).toEqual('AnonymousSchema_1');
18+
});
19+
});
20+
1321
describe('toJavaType()', function() {
1422
test('Should be able to return long', function() {
1523
expect(renderer.toJavaType("long", new CommonModel())).toEqual('long');

test/generators/typescript/TypeScriptRenderer.spec.ts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,12 +27,17 @@ describe('TypeScriptRenderer', function() {
2727
});
2828
});
2929
describe('renderType()', function() {
30+
test('Should render refs with pascal case', function() {
31+
const model = new CommonModel();
32+
model.$ref = "<anonymous-schema-1>";
33+
expect(renderer.renderType(model)).toEqual('AnonymousSchema_1');
34+
});
3035
test('Should render array of CommonModels', function() {
3136
const model1 = new CommonModel();
3237
model1.$ref = "ref1";
3338
const model2 = new CommonModel();
3439
model2.$ref = "ref2";
35-
expect(renderer.renderType([model1, model2])).toEqual('ref1 | ref2');
40+
expect(renderer.renderType([model1, model2])).toEqual('Ref1 | Ref2');
3641
});
3742
test('Should render enums', function() {
3843
const model = new CommonModel();

0 commit comments

Comments
 (0)