Skip to content

Commit 30e8d21

Browse files
committed
fix(generator): types
1 parent 8861309 commit 30e8d21

File tree

3 files changed

+18
-7
lines changed

3 files changed

+18
-7
lines changed

src/core/generators/interface.ts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import { SchemaObject } from 'openapi3-ts';
2+
import { generalJSTypesWithArray } from '../../constants';
23
import { pascal } from '../../utils/case';
34
import { generalTypesFilter } from '../../utils/filters';
45
import { getScalar } from '../getters/scalar';
@@ -18,7 +19,11 @@ export const generateInterface = (name: string, schema: SchemaObject) => {
1819
? '// tslint:disable-next-line:no-empty-interface\n'
1920
: '';
2021

21-
model += `export interface ${pascal(name)} ${value}\n`;
22+
if (!generalJSTypesWithArray.includes(value)) {
23+
model += `export interface ${pascal(name)} ${value}\n`;
24+
} else {
25+
model += `export type ${pascal(name)} = ${value};\n`;
26+
}
2227

2328
return [
2429
...schemas,

src/core/getters/ref.ts

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,9 @@ export const getRef = ($ref: ReferenceObject['$ref']) => {
1212
} else if ($ref.startsWith('#/components/responses')) {
1313
return pascal($ref.replace('#/components/responses/', '')) + 'Response';
1414
} else if ($ref.startsWith('#/components/parameters')) {
15-
return pascal($ref.replace('#/components/parameters/', '')) + 'Parameter';
15+
return pascal($ref.replace('#/components/parameters/', ''));
1616
} else if ($ref.startsWith('#/components/requestBodies')) {
17-
return (
18-
pascal($ref.replace('#/components/requestBodies/', '')) + 'RequestBody'
19-
);
17+
return pascal($ref.replace('#/components/requestBodies/', ''));
2018
} else {
2119
throw new Error(
2220
'This library only resolve $ref that are include into `#/components/*` for now',

src/core/getters/scalar.ts

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -82,10 +82,18 @@ export const getScalar = (item: SchemaObject, name?: string): ResolverValue => {
8282
};
8383
}
8484

85-
case 'object':
86-
default: {
85+
case 'object': {
8786
const { value, ...rest } = getObject(item, name);
8887
return { value: value + nullable, ...rest };
8988
}
89+
default: {
90+
return {
91+
value: 'unknown' + nullable,
92+
isEnum: false,
93+
type: 'unknown',
94+
imports: [],
95+
schemas: [],
96+
};
97+
}
9098
}
9199
};

0 commit comments

Comments
 (0)