UNPKG

swagger-ts-api_zwj

Version:

根据swagger文档生成typescript客户端调用代码

107 lines (106 loc) 3.36 kB
import { Model, Propertie, SwaggerApi } from './type'; /** * swagger 代码生成处理类 */ export declare class Swagger { private apiConfig; private swaggerData; private prettierOptions; constructor(basePath: string, apiConfig: SwaggerApi, swaggerData: any, prettier: any); /** * 格式化模块名称(默认:接口名称+Api) * @param name 名称 */ formatControllerName(name: string): string; /** * 格式化接口名称(默认:小驼峰命名) * @param name 名称 */ formatMethodName(name: string): string; /** * 格式化dto对象、枚举名称(默认:只会去除特殊字符) * @param name 名称 */ formatModelName(name: string): string; /** * 去掉换行 * @param str 字符串 */ removeLineBreak(str: string): string; /** * 处理重名问题 * @param name 当前名称 * @param list 列表,对象必须有Name属性才行 */ reName(name: string, list: Array<any>): string; /** * 查找对象节点 * @param sourceObj 对象 * @param targObjs 依赖对象 * @param key 条件字段 */ findObjs(sourceObj: any, targObjs: Array<string>, key: string): any; /** * 对schema对象进行类型判断 * @param obj */ convertType(obj: any): any; /** * 获取全部tag * @param swaggerData 数据 */ getTags(): any; /** * 获取全部依赖对象 * @param tag 标签/Controller */ getTagModels(tag: any): Array<string>; fmProperties(properties: any, model: Model, requireds: Array<string>): void; getRequestBodys(): any[]; /** * 获取全部 Model \ Enum * @param node 指定对象节点,可空,如果不传则按默认规则查找 */ getModelsAndEnums(node?: any): any; /** * 获取请求参数 * @param parameters 参数数组,不同版本swagger有差异 * @param inTypes 参数类型数组,可同时查多种类型 query、path、body、header * @param format 格式化数据 */ getParameter(parameters: Array<any>, inTypes: Array<string>, format?: Function): any; /** * 获取请求参数 * @param responses 返回对象 */ getResponses(responses: any): any; /** * 格式化模拟值 * @param val 默认格式化后的值 * @param p 对应的属性 * @param mock 最终模拟数据 */ formatMock(val: any, p: Propertie, mock: any): any; /** * 格式化模拟数据 * @param responses 当前需要模拟的对象 * @param models 接口全部对象 * @param fm 格式化模拟数据函数 * @param deep 递归层级,防止对象父子嵌套导致死循环 默认递归5级 */ mock(responses: string, models: Array<Model>, deep?: number): any; /** * 生成代码 * @param TplPath 模板绝对地址 * @param OutPath 文件存放绝对地址 * @param fileName 文件名称 * @param data.tag 当前控制器标签(仅生成控制器代码时有值) * @param data.swaggerData 接口数据 * @param data.apiConfig 接口配置 */ codeRender(TplPath: string, OutPath: string, fileName: string, data: any): Promise<void>; /** * 生成代码 */ generate(): void; }