open-api-typescript-request-generator 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (71) hide show
  1. package/README.md +26 -0
  2. package/bin/apits-gener +4 -0
  3. package/es/Generator.d.ts +43 -0
  4. package/es/Generator.js +892 -0
  5. package/es/cli.d.ts +19 -0
  6. package/es/cli.js +547 -0
  7. package/es/console.d.ts +48 -0
  8. package/es/console.js +151 -0
  9. package/es/constants.d.ts +22 -0
  10. package/es/constants.js +39 -0
  11. package/es/dependenciesHandler.d.ts +16 -0
  12. package/es/dependenciesHandler.js +270 -0
  13. package/es/genIndex.d.ts +23 -0
  14. package/es/genIndex.js +354 -0
  15. package/es/genRequest.d.ts +3 -0
  16. package/es/genRequest.js +216 -0
  17. package/es/getOutputPath.d.ts +5 -0
  18. package/es/getOutputPath.js +28 -0
  19. package/es/helpers.d.ts +63 -0
  20. package/es/helpers.js +458 -0
  21. package/es/index.d.ts +2 -0
  22. package/es/index.js +34 -0
  23. package/es/requestYapiData.d.ts +157 -0
  24. package/es/requestYapiData.js +1010 -0
  25. package/es/responseDataJsonSchemaHandler.d.ts +11 -0
  26. package/es/responseDataJsonSchemaHandler.js +193 -0
  27. package/es/server/mock.d.ts +1 -0
  28. package/es/server/mock.js +7 -0
  29. package/es/server/swaggerJsonToYApiData.d.ts +10 -0
  30. package/es/server/swaggerJsonToYApiData.js +614 -0
  31. package/es/spinner.d.ts +15 -0
  32. package/es/spinner.js +58 -0
  33. package/es/types.d.ts +736 -0
  34. package/es/types.js +143 -0
  35. package/es/utils.d.ts +97 -0
  36. package/es/utils.js +783 -0
  37. package/lib/Generator.d.ts +43 -0
  38. package/lib/Generator.js +892 -0
  39. package/lib/cli.d.ts +19 -0
  40. package/lib/cli.js +547 -0
  41. package/lib/console.d.ts +48 -0
  42. package/lib/console.js +151 -0
  43. package/lib/constants.d.ts +22 -0
  44. package/lib/constants.js +39 -0
  45. package/lib/dependenciesHandler.d.ts +16 -0
  46. package/lib/dependenciesHandler.js +270 -0
  47. package/lib/genIndex.d.ts +23 -0
  48. package/lib/genIndex.js +354 -0
  49. package/lib/genRequest.d.ts +3 -0
  50. package/lib/genRequest.js +216 -0
  51. package/lib/getOutputPath.d.ts +5 -0
  52. package/lib/getOutputPath.js +28 -0
  53. package/lib/helpers.d.ts +63 -0
  54. package/lib/helpers.js +458 -0
  55. package/lib/index.d.ts +2 -0
  56. package/lib/index.js +34 -0
  57. package/lib/requestYapiData.d.ts +157 -0
  58. package/lib/requestYapiData.js +1010 -0
  59. package/lib/responseDataJsonSchemaHandler.d.ts +11 -0
  60. package/lib/responseDataJsonSchemaHandler.js +193 -0
  61. package/lib/server/mock.d.ts +1 -0
  62. package/lib/server/mock.js +7 -0
  63. package/lib/server/swaggerJsonToYApiData.d.ts +10 -0
  64. package/lib/server/swaggerJsonToYApiData.js +614 -0
  65. package/lib/spinner.d.ts +15 -0
  66. package/lib/spinner.js +58 -0
  67. package/lib/types.d.ts +736 -0
  68. package/lib/types.js +143 -0
  69. package/lib/utils.d.ts +97 -0
  70. package/lib/utils.js +783 -0
  71. package/package.json +106 -0
package/lib/types.js ADDED
@@ -0,0 +1,143 @@
1
+ "use strict";
2
+
3
+ var __createBinding = void 0 && (void 0).__createBinding || (Object.create ? function (o, m, k, k2) {
4
+ if (k2 === undefined) k2 = k;
5
+ var desc = Object.getOwnPropertyDescriptor(m, k);
6
+
7
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
8
+ desc = {
9
+ enumerable: true,
10
+ get: function get() {
11
+ return m[k];
12
+ }
13
+ };
14
+ }
15
+
16
+ Object.defineProperty(o, k2, desc);
17
+ } : function (o, m, k, k2) {
18
+ if (k2 === undefined) k2 = k;
19
+ o[k2] = m[k];
20
+ });
21
+
22
+ var __exportStar = void 0 && (void 0).__exportStar || function (m, exports) {
23
+ for (var p in m) {
24
+ if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
25
+ }
26
+ };
27
+
28
+ Object.defineProperty(exports, "__esModule", {
29
+ value: true
30
+ });
31
+ exports.ResponseBodyType = exports.RequestFormItemType = exports.RequestQueryType = exports.RequestParamType = exports.RequestBodyType = exports.Required = exports.Method = void 0;
32
+
33
+ __exportStar(require("json-schema"), exports);
34
+ /** 请求方式 */
35
+
36
+
37
+ var Method;
38
+
39
+ (function (Method) {
40
+ Method["GET"] = "GET";
41
+ Method["POST"] = "POST";
42
+ Method["PUT"] = "PUT";
43
+ Method["DELETE"] = "DELETE";
44
+ Method["HEAD"] = "HEAD";
45
+ Method["OPTIONS"] = "OPTIONS";
46
+ Method["PATCH"] = "PATCH";
47
+ })(Method = exports.Method || (exports.Method = {}));
48
+ /** 是否必需 */
49
+
50
+
51
+ var Required;
52
+
53
+ (function (Required) {
54
+ /** 不必需 */
55
+ Required["false"] = "0";
56
+ /** 必需 */
57
+
58
+ Required["true"] = "1";
59
+ })(Required = exports.Required || (exports.Required = {}));
60
+ /** 请求数据类型 */
61
+
62
+
63
+ var RequestBodyType;
64
+
65
+ (function (RequestBodyType) {
66
+ /** 查询字符串 */
67
+ RequestBodyType["query"] = "query";
68
+ /** 表单 */
69
+
70
+ RequestBodyType["form"] = "form";
71
+ /** JSON */
72
+
73
+ RequestBodyType["json"] = "json";
74
+ /** 纯文本 */
75
+
76
+ RequestBodyType["text"] = "text";
77
+ /** 文件 */
78
+
79
+ RequestBodyType["file"] = "file";
80
+ /** 原始数据 */
81
+
82
+ RequestBodyType["raw"] = "raw";
83
+ /** 无请求数据 */
84
+
85
+ RequestBodyType["none"] = "none";
86
+ })(RequestBodyType = exports.RequestBodyType || (exports.RequestBodyType = {}));
87
+ /** 请求路径参数类型 */
88
+
89
+
90
+ var RequestParamType;
91
+
92
+ (function (RequestParamType) {
93
+ /** 字符串 */
94
+ RequestParamType["string"] = "string";
95
+ /** 数字 */
96
+
97
+ RequestParamType["number"] = "number";
98
+ })(RequestParamType = exports.RequestParamType || (exports.RequestParamType = {}));
99
+ /** 请求查询参数类型 */
100
+
101
+
102
+ var RequestQueryType;
103
+
104
+ (function (RequestQueryType) {
105
+ /** 字符串 */
106
+ RequestQueryType["string"] = "string";
107
+ /** 数字 */
108
+
109
+ RequestQueryType["number"] = "number";
110
+ })(RequestQueryType = exports.RequestQueryType || (exports.RequestQueryType = {}));
111
+ /** 请求表单条目类型 */
112
+
113
+
114
+ var RequestFormItemType;
115
+
116
+ (function (RequestFormItemType) {
117
+ /** 纯文本 */
118
+ RequestFormItemType["text"] = "text";
119
+ /** 文件 */
120
+
121
+ RequestFormItemType["file"] = "file";
122
+ })(RequestFormItemType = exports.RequestFormItemType || (exports.RequestFormItemType = {}));
123
+ /** 返回数据类型 */
124
+
125
+
126
+ var ResponseBodyType;
127
+
128
+ (function (ResponseBodyType) {
129
+ /** JSON */
130
+ ResponseBodyType["json"] = "json";
131
+ /** 纯文本 */
132
+
133
+ ResponseBodyType["text"] = "text";
134
+ /** XML */
135
+
136
+ ResponseBodyType["xml"] = "xml";
137
+ /** 原始数据 */
138
+
139
+ ResponseBodyType["raw"] = "raw"; // yapi 实际上返回的是 json,有另外的字段指示其是否是 json schema
140
+
141
+ /** JSON Schema */
142
+ // jsonSchema = 'json-schema',
143
+ })(ResponseBodyType = exports.ResponseBodyType || (exports.ResponseBodyType = {}));
package/lib/utils.d.ts ADDED
@@ -0,0 +1,97 @@
1
+ import prettier from 'prettier';
2
+ import { Interface, PropDefinitions, Config } from './types';
3
+ import { JSONSchema4 } from 'json-schema';
4
+ /**
5
+ * 抛出错误。
6
+ *
7
+ * @param msg 错误信息
8
+ */
9
+ export declare function throwError(...msg: string[]): never;
10
+ /**
11
+ * 将路径统一为 unix 风格的路径。
12
+ *
13
+ * @param path 路径
14
+ * @returns unix 风格的路径
15
+ */
16
+ export declare function toUnixPath(path: string): string;
17
+ /**
18
+ * 获得规范化的相对路径。
19
+ *
20
+ * @param from 来源路径
21
+ * @param to 去向路径
22
+ * @returns 相对路径
23
+ */
24
+ export declare function getNormalizedRelativePath(from: string, to: string): string;
25
+ /**
26
+ * 原地处理 JSONSchema。
27
+ *
28
+ * @param jsonSchema 待处理的 JSONSchema
29
+ * @returns 处理后的 JSONSchema
30
+ */
31
+ export declare function processJsonSchema<T extends JSONSchema4>(jsonSchema: T): T;
32
+ /**
33
+ * 将 JSONSchema 字符串转为 JSONSchema 对象。
34
+ *
35
+ * @param str 要转换的 JSONSchema 字符串
36
+ * @returns 转换后的 JSONSchema 对象
37
+ */
38
+ export declare function jsonSchemaStringToJsonSchema(str: string): JSONSchema4;
39
+ /**
40
+ * 获得 JSON 数据的 JSONSchema 对象。
41
+ *
42
+ * @param json JSON 数据
43
+ * @returns JSONSchema 对象
44
+ */
45
+ export declare function jsonToJsonSchema(json: object): JSONSchema4;
46
+ /**
47
+ * 获得 mockjs 模板的 JSONSchema 对象。
48
+ *
49
+ * @param template mockjs 模板
50
+ * @returns JSONSchema 对象
51
+ */
52
+ export declare function mockjsTemplateToJsonSchema(template: object): JSONSchema4;
53
+ /**
54
+ * 获得属性定义列表的 JSONSchema 对象。
55
+ *
56
+ * @param propDefinitions 属性定义列表
57
+ * @returns JSONSchema 对象
58
+ */
59
+ export declare function propDefinitionsToJsonSchema(propDefinitions: PropDefinitions): JSONSchema4;
60
+ /**
61
+ * 获取prettier配置
62
+ * @returns
63
+ */
64
+ export declare function getPrettier(filePath?: string): prettier.Options;
65
+ export declare function preprocessSchema(schema: JSONSchema4): JSONSchema4;
66
+ /**
67
+ * 根据 JSONSchema 对象生产 TypeScript 类型定义。
68
+ *
69
+ * @param jsonSchema JSONSchema 对象
70
+ * @param typeName 类型名称
71
+ * @returns TypeScript 类型定义
72
+ */
73
+ export declare function jsonSchemaToTsCode(jsonSchema: JSONSchema4, typeName: string): Promise<string>;
74
+ export declare function getRequestDataJsonSchema(interfaceInfo: Interface): JSONSchema4;
75
+ export declare function getResponseDataJsonSchema(interfaceInfo: Interface, dataKey?: string): JSONSchema4;
76
+ export declare function sortByWeights<T extends {
77
+ weights: number[];
78
+ }>(list: T[]): T[];
79
+ /**
80
+ * 格式化代码字符串
81
+ * @param content
82
+ * @param config
83
+ * @returns
84
+ * https://prettier.io/docs/en/options.html
85
+ */
86
+ export declare function formatContent(content: string, prettierConfigPath?: string): string;
87
+ /**
88
+ * 通用生成文件顶部注释
89
+ * @returns
90
+ */
91
+ export declare function topNotesContent(): string;
92
+ /**
93
+ * filter处理函数
94
+ * @param interfaceFilter
95
+ * @returns
96
+ */
97
+ export declare const filterHandler: (interfaceFilter?: Config['filter']) => (path: string, id?: number) => boolean;