mirror of
https://github.com/ferdikoomen/openapi-typescript-codegen.git
synced 2025-12-08 20:16:21 +00:00
Escape reserved keywords in schema names for v3, closes #1186
This commit is contained in:
parent
f26bf12455
commit
05db3b97f8
@ -1,6 +1,7 @@
|
||||
import type { Model } from '../../../client/interfaces/Model';
|
||||
import type { OpenApi } from '../interfaces/OpenApi';
|
||||
import { getModel } from './getModel';
|
||||
import { reservedWords } from './getOperationParameterName';
|
||||
import { getType } from './getType';
|
||||
|
||||
export const getModels = (openApi: OpenApi): Model[] => {
|
||||
@ -10,7 +11,7 @@ export const getModels = (openApi: OpenApi): Model[] => {
|
||||
if (openApi.components.schemas.hasOwnProperty(definitionName)) {
|
||||
const definition = openApi.components.schemas[definitionName];
|
||||
const definitionType = getType(definitionName);
|
||||
const model = getModel(openApi, definition, true, definitionType.base);
|
||||
const model = getModel(openApi, definition, true, definitionType.base.replace(reservedWords, '_$1'));
|
||||
models.push(model);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
import camelCase from 'camelcase';
|
||||
|
||||
const reservedWords =
|
||||
export const reservedWords =
|
||||
/^(arguments|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|eval|export|extends|false|finally|for|function|if|implements|import|in|instanceof|interface|let|new|null|package|private|protected|public|return|static|super|switch|this|throw|true|try|typeof|var|void|while|with|yield)$/g;
|
||||
|
||||
/**
|
||||
|
||||
@ -3607,6 +3607,7 @@ export { CancelablePromise, CancelError } from './core/CancelablePromise';
|
||||
export { OpenAPI } from './core/OpenAPI';
|
||||
export type { OpenAPIConfig } from './core/OpenAPI';
|
||||
|
||||
export type { _default } from './models/_default';
|
||||
export type { ArrayWithArray } from './models/ArrayWithArray';
|
||||
export type { ArrayWithBooleans } from './models/ArrayWithBooleans';
|
||||
export type { ArrayWithNumbers } from './models/ArrayWithNumbers';
|
||||
@ -3672,6 +3673,7 @@ export type { SimpleReference } from './models/SimpleReference';
|
||||
export type { SimpleString } from './models/SimpleString';
|
||||
export type { SimpleStringWithPattern } from './models/SimpleStringWithPattern';
|
||||
|
||||
export { $_default } from './schemas/$_default';
|
||||
export { $ArrayWithArray } from './schemas/$ArrayWithArray';
|
||||
export { $ArrayWithBooleans } from './schemas/$ArrayWithBooleans';
|
||||
export { $ArrayWithNumbers } from './schemas/$ArrayWithNumbers';
|
||||
@ -3761,6 +3763,18 @@ export { UploadService } from './services/UploadService';
|
||||
"
|
||||
`;
|
||||
|
||||
exports[`v3 should generate: ./test/generated/v3/models/_default.ts 1`] = `
|
||||
"/* istanbul ignore file */
|
||||
/* tslint:disable */
|
||||
/* eslint-disable */
|
||||
|
||||
export type _default = {
|
||||
name?: string;
|
||||
};
|
||||
|
||||
"
|
||||
`;
|
||||
|
||||
exports[`v3 should generate: ./test/generated/v3/models/ArrayWithArray.ts 1`] = `
|
||||
"/* istanbul ignore file */
|
||||
/* tslint:disable */
|
||||
@ -4849,6 +4863,20 @@ export type SimpleStringWithPattern = string | null;
|
||||
"
|
||||
`;
|
||||
|
||||
exports[`v3 should generate: ./test/generated/v3/schemas/$_default.ts 1`] = `
|
||||
"/* istanbul ignore file */
|
||||
/* tslint:disable */
|
||||
/* eslint-disable */
|
||||
export const $_default = {
|
||||
properties: {
|
||||
name: {
|
||||
type: 'string',
|
||||
},
|
||||
},
|
||||
} as const;
|
||||
"
|
||||
`;
|
||||
|
||||
exports[`v3 should generate: ./test/generated/v3/schemas/$ArrayWithArray.ts 1`] = `
|
||||
"/* istanbul ignore file */
|
||||
/* tslint:disable */
|
||||
|
||||
@ -2507,6 +2507,14 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"default": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Pageable": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user