UNPKG

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
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; }