openapi-ts-request
Version:
Swagger2/OpenAPI3/Apifox to TypeScript/JavaScript, request client(support any client), request mock service, enum and enum translation, react-query/vue-query, type field label, JSON Schemas
47 lines (46 loc) • 1.4 kB
TypeScript
import type { GenerateServiceProps } from '../index';
import { OpenAPIObject } from '../type';
import { ControllerType, ISchemaItem, ITypeItem, TagAPIDataType } from './type';
export default class ServiceGenerator {
protected apiData: TagAPIDataType;
protected classNameList: ControllerType[];
protected config: GenerateServiceProps;
protected openAPIData: OpenAPIObject;
protected schemaList: ISchemaItem[];
protected interfaceTPConfigs: ITypeItem[];
constructor(config: GenerateServiceProps, openAPIData: OpenAPIObject);
genFile(): void;
private getInterfaceTPConfigs;
private getServiceTPConfigs;
private genFileFromTemplate;
private getTemplate;
private getFunctionName;
private getType;
private getFunctionParamsTypeName;
private getBodyTP;
private getFileTP;
private resolveFileTP;
private getResponseTP;
private getParamsTP;
private resolveObject;
private resolveArray;
private resolveProperties;
private resolveEnumObject;
private resolveAllOfObject;
private getProps;
private resolveRefObject;
log(message: string): void;
private generateInfoLog;
/**
* 校验规则
* @param regexp 正则数组
* @param data 数据
*/
private validateRegexp;
/**
*
* @param item 数组数据
* @param reg 规则
*/
private matches;
}