moyan-api 1.3.5 → 2.1.0
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.
- package/dist/examples/index.js +1 -1
- package/dist/examples/index.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/lib/api-call.d.ts +68 -0
- package/dist/lib/api-call.js +152 -0
- package/dist/lib/api-call.js.map +1 -0
- package/dist/template/api.d.ts +1 -1
- package/dist/template/api.js +64 -28
- package/dist/template/api.js.map +1 -1
- package/dist/template/schemas.d.ts +5 -1
- package/dist/template/schemas.js +65 -45
- package/dist/template/schemas.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -2
- package/view/api.ejs +7 -3
- package/view/schemas.ejs +5 -2
- package/dist/src/creator.d.ts +0 -2
- package/dist/src/main.d.ts +0 -22
- package/dist/src/main.js +0 -88
- package/dist/src/main.js.map +0 -1
- package/dist/src/template/api.d.ts +0 -18
- package/dist/src/template/api.js +0 -117
- package/dist/src/template/api.js.map +0 -1
- package/dist/src/template/schemas.d.ts +0 -17
- package/dist/src/template/schemas.js +0 -117
- package/dist/src/template/schemas.js.map +0 -1
package/dist/examples/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../examples/index.ts"],"names":[],"mappings":";;AAAA,mCAAwC;AACxC,yCAAqC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/examples/index.ts"],"names":[],"mappings":";;AAAA,mCAAwC;AACxC,yCAAqC;AACrC,MAAM,OAAO,GAAG;IACd;QACE,OAAO,EAAE,qCAAqC;QAC9C,MAAM,EAAE,qBAAqB;QAC7B,OAAO,EAAE,KAAK;KACf;CACF,CAAA;AAED,MAAM,MAAM,GAAG,KAAK,IAAI,EAAE;IACxB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACxC,MAAM,IAAI,oBAAa,CAAC,IAAI,iBAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAA;IAC3D,CAAC;AACH,CAAC,CAAA;AAED,MAAM,EAAE,CAAA"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { ApiCall, ApiEntity,
|
|
2
|
-
export { ApiCall, ApiEntity,
|
|
1
|
+
import { ApiCall, ApiEntity, SubApiEntity, ObjectAny, Options, MoMethod } from './lib/api-call';
|
|
2
|
+
export { ApiCall, ApiEntity, SubApiEntity, ObjectAny, Options, MoMethod };
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ApiCall = void 0;
|
|
4
|
-
const
|
|
5
|
-
Object.defineProperty(exports, "ApiCall", { enumerable: true, get: function () { return
|
|
4
|
+
const api_call_1 = require("./lib/api-call");
|
|
5
|
+
Object.defineProperty(exports, "ApiCall", { enumerable: true, get: function () { return api_call_1.ApiCall; } });
|
|
6
6
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AACA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AACA,6CAAwF;AAEtF,wFAFM,kBAAO,OAEN"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { EventEmitter } from "events";
|
|
2
|
+
export type MoMethod = "POST" | "GET" | "DELETE" | "PUT" | "ALL";
|
|
3
|
+
export interface ObjectAny {
|
|
4
|
+
[key: string]: any;
|
|
5
|
+
}
|
|
6
|
+
export interface Options {
|
|
7
|
+
fileName?: string;
|
|
8
|
+
prefix?: boolean;
|
|
9
|
+
hintSuccess?: boolean;
|
|
10
|
+
hintFail?: boolean;
|
|
11
|
+
showLoading?: boolean;
|
|
12
|
+
successMsg?: ((res: any) => string) | string | null;
|
|
13
|
+
failMsg?: ((err: any) => string) | string | null;
|
|
14
|
+
loading?: boolean;
|
|
15
|
+
ext?: Record<string, any>;
|
|
16
|
+
}
|
|
17
|
+
export declare abstract class RequestClass {
|
|
18
|
+
abstract request(apiEntity: ApiEntity): Promise<any>;
|
|
19
|
+
}
|
|
20
|
+
export interface SubApiEntity extends RequestClass {
|
|
21
|
+
}
|
|
22
|
+
export declare enum ApiEvents {
|
|
23
|
+
HintSuccess = "hintSuccess",
|
|
24
|
+
Success = "success",
|
|
25
|
+
HintFail = "hintFail",
|
|
26
|
+
Unauthorized = "unauthorized",
|
|
27
|
+
Fail = "fail"
|
|
28
|
+
}
|
|
29
|
+
interface ApiParameter {
|
|
30
|
+
params?: unknown;
|
|
31
|
+
body?: unknown;
|
|
32
|
+
query?: unknown;
|
|
33
|
+
}
|
|
34
|
+
export declare abstract class ApiCall<T extends ApiParameter, R extends unknown> {
|
|
35
|
+
static MoCall: SubApiEntity;
|
|
36
|
+
static use(moCall: SubApiEntity): void;
|
|
37
|
+
static hasPrompted: boolean;
|
|
38
|
+
static hintFailHandler: (err: ApiCall<unknown, unknown>) => void;
|
|
39
|
+
static hintSuccessHandler: (res: ApiCall<unknown, unknown>) => void;
|
|
40
|
+
static handler401: (err: ApiCall<unknown, unknown>) => void;
|
|
41
|
+
static emitter: EventEmitter<any>;
|
|
42
|
+
result: R;
|
|
43
|
+
params?: T["params"];
|
|
44
|
+
body?: T["body"];
|
|
45
|
+
query?: T["query"];
|
|
46
|
+
abstract path: string;
|
|
47
|
+
abstract method: MoMethod;
|
|
48
|
+
options: Options;
|
|
49
|
+
error: any;
|
|
50
|
+
get status(): any;
|
|
51
|
+
get statusCode(): any;
|
|
52
|
+
response: any;
|
|
53
|
+
resolveResult: Promise<R>;
|
|
54
|
+
rejectResult: Promise<unknown>;
|
|
55
|
+
resolve(result: R): void;
|
|
56
|
+
reject(err: unknown): void;
|
|
57
|
+
then(onFulfilled: (value: R) => void): Promise<void>;
|
|
58
|
+
catch(onRejected: (reason: unknown) => void): Promise<unknown>;
|
|
59
|
+
get successMsg(): any;
|
|
60
|
+
get failMsg(): any;
|
|
61
|
+
constructor(props: T, options?: Options);
|
|
62
|
+
replaceUrlParams(urlTemplate: string, params: T['params']): string;
|
|
63
|
+
init(props?: T, _options?: Options): void;
|
|
64
|
+
exec(): void;
|
|
65
|
+
}
|
|
66
|
+
export interface ApiEntity extends ApiCall<ApiParameter, unknown> {
|
|
67
|
+
}
|
|
68
|
+
export {};
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ApiCall = exports.ApiEvents = exports.RequestClass = void 0;
|
|
4
|
+
const events_1 = require("events");
|
|
5
|
+
class RequestClass {
|
|
6
|
+
}
|
|
7
|
+
exports.RequestClass = RequestClass;
|
|
8
|
+
var ApiEvents;
|
|
9
|
+
(function (ApiEvents) {
|
|
10
|
+
ApiEvents["HintSuccess"] = "hintSuccess";
|
|
11
|
+
ApiEvents["Success"] = "success";
|
|
12
|
+
ApiEvents["HintFail"] = "hintFail";
|
|
13
|
+
ApiEvents["Unauthorized"] = "unauthorized";
|
|
14
|
+
ApiEvents["Fail"] = "fail";
|
|
15
|
+
})(ApiEvents || (exports.ApiEvents = ApiEvents = {}));
|
|
16
|
+
class ApiCall {
|
|
17
|
+
static use(moCall) {
|
|
18
|
+
ApiCall.MoCall = moCall;
|
|
19
|
+
}
|
|
20
|
+
get status() {
|
|
21
|
+
try {
|
|
22
|
+
return this.response.status;
|
|
23
|
+
}
|
|
24
|
+
catch (_a) {
|
|
25
|
+
return 0;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
get statusCode() {
|
|
29
|
+
try {
|
|
30
|
+
try {
|
|
31
|
+
this.response.data.statusCode;
|
|
32
|
+
}
|
|
33
|
+
catch (_a) {
|
|
34
|
+
return this.response.status;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
catch (_b) {
|
|
38
|
+
return 0;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
resolve(result) {
|
|
42
|
+
this.resolveResult = Promise.resolve(result);
|
|
43
|
+
}
|
|
44
|
+
reject(err) {
|
|
45
|
+
this.rejectResult = Promise.reject(err);
|
|
46
|
+
}
|
|
47
|
+
then(onFulfilled) {
|
|
48
|
+
return this.resolveResult.then(onFulfilled);
|
|
49
|
+
}
|
|
50
|
+
catch(onRejected) {
|
|
51
|
+
return this.rejectResult.catch(onRejected);
|
|
52
|
+
}
|
|
53
|
+
get successMsg() {
|
|
54
|
+
if (typeof this.options.successMsg === "string") {
|
|
55
|
+
return this.options.successMsg;
|
|
56
|
+
}
|
|
57
|
+
else if (typeof this.options.successMsg === "function") {
|
|
58
|
+
return this.options.successMsg(this.result);
|
|
59
|
+
}
|
|
60
|
+
else if (this.result["message"]) {
|
|
61
|
+
return this.result["message"];
|
|
62
|
+
}
|
|
63
|
+
return "请求成功";
|
|
64
|
+
}
|
|
65
|
+
get failMsg() {
|
|
66
|
+
if (this.error) {
|
|
67
|
+
if (typeof this.options.failMsg === "string") {
|
|
68
|
+
return this.options.failMsg;
|
|
69
|
+
}
|
|
70
|
+
else if (typeof this.options.failMsg === "function") {
|
|
71
|
+
return this.options.failMsg(this.error);
|
|
72
|
+
}
|
|
73
|
+
return this.error.message || this.error.data
|
|
74
|
+
? this.error.data.mssage
|
|
75
|
+
: "请求错误";
|
|
76
|
+
}
|
|
77
|
+
return false;
|
|
78
|
+
}
|
|
79
|
+
constructor(props, options) {
|
|
80
|
+
this.init(props, options);
|
|
81
|
+
this.exec();
|
|
82
|
+
}
|
|
83
|
+
replaceUrlParams(urlTemplate, params) {
|
|
84
|
+
return urlTemplate.replace(/\{(\w+)\}/g, (match, paramName) => {
|
|
85
|
+
const value = params[paramName];
|
|
86
|
+
if (value === undefined) {
|
|
87
|
+
throw new Error(`Missing required parameter: ${paramName}`);
|
|
88
|
+
}
|
|
89
|
+
return String(value);
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
init(props, _options) {
|
|
93
|
+
const defaultOption = {
|
|
94
|
+
prefix: true,
|
|
95
|
+
hintSuccess: false,
|
|
96
|
+
hintFail: true,
|
|
97
|
+
showLoading: true,
|
|
98
|
+
loading: false,
|
|
99
|
+
successMsg: res => {
|
|
100
|
+
return res.message || "请求成功";
|
|
101
|
+
},
|
|
102
|
+
failMsg: err => {
|
|
103
|
+
return err.message;
|
|
104
|
+
}
|
|
105
|
+
};
|
|
106
|
+
this.query = (props === null || props === void 0 ? void 0 : props.query) || {};
|
|
107
|
+
this.options = this.options || {};
|
|
108
|
+
if (props && typeof _options === "object") {
|
|
109
|
+
const options = Object.assign(defaultOption, this.options, _options);
|
|
110
|
+
this.options = options;
|
|
111
|
+
}
|
|
112
|
+
else {
|
|
113
|
+
this.options = Object.assign(defaultOption, this.options);
|
|
114
|
+
}
|
|
115
|
+
this.params = props && props.params ? props.params : {};
|
|
116
|
+
}
|
|
117
|
+
exec() {
|
|
118
|
+
this.path = this.replaceUrlParams(this.path, this.params);
|
|
119
|
+
ApiCall.MoCall.request(this)
|
|
120
|
+
.then(response => {
|
|
121
|
+
this.result = response.data;
|
|
122
|
+
this.response = response;
|
|
123
|
+
if (this.options.hintSuccess && !ApiCall.hasPrompted) {
|
|
124
|
+
ApiCall.hintSuccessHandler(this);
|
|
125
|
+
ApiCall.emitter.emit(ApiEvents.HintSuccess, this);
|
|
126
|
+
}
|
|
127
|
+
ApiCall.emitter.emit(ApiEvents.Success, this);
|
|
128
|
+
this.resolve(response.data);
|
|
129
|
+
})
|
|
130
|
+
.catch(err => {
|
|
131
|
+
this.error = err;
|
|
132
|
+
this.response = err.response || {};
|
|
133
|
+
if (this.options.hintFail && !ApiCall.hasPrompted) {
|
|
134
|
+
ApiCall.hintFailHandler(this);
|
|
135
|
+
ApiCall.emitter.emit(ApiEvents.HintFail, this);
|
|
136
|
+
}
|
|
137
|
+
if (this.status === 401) {
|
|
138
|
+
ApiCall.handler401(this);
|
|
139
|
+
ApiCall.emitter.emit(ApiEvents.Unauthorized, this);
|
|
140
|
+
}
|
|
141
|
+
ApiCall.emitter.emit(ApiEvents.Fail, this);
|
|
142
|
+
this.reject(err);
|
|
143
|
+
});
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
exports.ApiCall = ApiCall;
|
|
147
|
+
ApiCall.hasPrompted = false;
|
|
148
|
+
ApiCall.hintFailHandler = (err) => { };
|
|
149
|
+
ApiCall.hintSuccessHandler = (res) => { };
|
|
150
|
+
ApiCall.handler401 = (err) => { };
|
|
151
|
+
ApiCall.emitter = new events_1.EventEmitter();
|
|
152
|
+
//# sourceMappingURL=api-call.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api-call.js","sourceRoot":"","sources":["../../src/lib/api-call.ts"],"names":[],"mappings":"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"}
|
package/dist/template/api.d.ts
CHANGED
|
@@ -11,7 +11,7 @@ export declare class ApiTemplate extends Temp implements Template {
|
|
|
11
11
|
private _getReqType;
|
|
12
12
|
parseSchema(schema: any): string;
|
|
13
13
|
getSchemaEntity(str: string): string;
|
|
14
|
-
_getResType(item: any):
|
|
14
|
+
_getResType(item: any): any;
|
|
15
15
|
_getReqDescription(item: any): any;
|
|
16
16
|
_getResDescription(item: any): any;
|
|
17
17
|
run(): Promise<unknown>;
|
package/dist/template/api.js
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ApiTemplate = void 0;
|
|
4
4
|
const moyan_file_model_1 = require("moyan-file-model");
|
|
5
|
+
const colors_1 = require("colors");
|
|
5
6
|
const schemas_1 = require("./schemas");
|
|
6
7
|
class ApiTemplate extends moyan_file_model_1.Temp {
|
|
7
8
|
constructor(openAPIObject, prefix = '', pathPrefix = '') {
|
|
@@ -17,12 +18,14 @@ class ApiTemplate extends moyan_file_model_1.Temp {
|
|
|
17
18
|
}
|
|
18
19
|
init() {
|
|
19
20
|
const paths = new Map();
|
|
21
|
+
console.log(`${colors_1.default.cyan('开始解析接口...')}`);
|
|
20
22
|
for (const key in this.openAPIObject.paths) {
|
|
21
23
|
for (const key1 in this.openAPIObject.paths[key]) {
|
|
22
24
|
const item = this.openAPIObject.paths[key][key1];
|
|
23
25
|
item.path = this.pathPrefix + key;
|
|
24
26
|
item.method = key1.toUpperCase();
|
|
25
27
|
item.auth = !!item.security;
|
|
28
|
+
console.log(`path:${colors_1.default.green(item.path)} | method:${colors_1.default.yellow(item.method)} | ${colors_1.default.cyan(this.prefix + item.operationId)}`);
|
|
26
29
|
const reqType = this._getReqType(item);
|
|
27
30
|
const resType = this._getResType(item);
|
|
28
31
|
paths.set(`${item.operationId}`, Object.assign(Object.assign({}, item), { operationId: this.prefix + item.operationId, reqType: reqType, resType: resType, reqDescription: this._getReqDescription(item), resDescription: this._getResDescription(item), tag: Array.isArray(item.tags) ? item.tags.join('|') : '------' }));
|
|
@@ -30,33 +33,82 @@ class ApiTemplate extends moyan_file_model_1.Temp {
|
|
|
30
33
|
}
|
|
31
34
|
this.list = [...paths.values()];
|
|
32
35
|
this.schemaKeys = Object.keys(this.openAPIObject.components.schemas);
|
|
36
|
+
console.log(`${colors_1.default.cyan('接口解析完成,共解析到')}${colors_1.default.green(this.list.length + '')}个接口`);
|
|
33
37
|
}
|
|
34
38
|
_getReqType(item) {
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
39
|
+
let body = '';
|
|
40
|
+
let params = '';
|
|
41
|
+
let query = '';
|
|
42
|
+
let header = '';
|
|
43
|
+
const arr = [];
|
|
44
|
+
if (item.requestBody) {
|
|
45
|
+
try {
|
|
46
|
+
const key = Object.keys(item.requestBody.content)[0];
|
|
47
|
+
const schema = item.requestBody.content[key].schema;
|
|
48
|
+
if (schema.type == 'array') {
|
|
49
|
+
if (schema.items) {
|
|
50
|
+
body = this.getSchemaEntity(schema.items.$ref);
|
|
51
|
+
arr.push(`body: Array<${body}>`);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
body = this.getSchemaEntity(item.requestBody.content[key].schema.$ref);
|
|
56
|
+
arr.push(`body: ${body}`);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
catch (e) {
|
|
60
|
+
body = this.parseSchema(item.requestBody) || 'any';
|
|
61
|
+
arr.push(`body: ${body}`);
|
|
62
|
+
}
|
|
38
63
|
}
|
|
39
|
-
|
|
40
|
-
|
|
64
|
+
if (item.parameters && item.parameters.length > 0) {
|
|
65
|
+
const queryParameters = [];
|
|
66
|
+
const pathParameters = [];
|
|
67
|
+
const headerParameters = [];
|
|
68
|
+
item.parameters.forEach((item) => {
|
|
69
|
+
if (item.in === 'query') {
|
|
70
|
+
queryParameters.push(item);
|
|
71
|
+
}
|
|
72
|
+
else if (item.in === 'path') {
|
|
73
|
+
pathParameters.push(item);
|
|
74
|
+
}
|
|
75
|
+
else if (item.in === 'header') {
|
|
76
|
+
headerParameters.push(item);
|
|
77
|
+
}
|
|
78
|
+
});
|
|
79
|
+
params = this.parseSchema({ parameters: pathParameters });
|
|
80
|
+
params && arr.push(`params: ${params}`);
|
|
81
|
+
query = this.parseSchema({ parameters: queryParameters });
|
|
82
|
+
query && arr.push(`query: ${query}`);
|
|
83
|
+
header = this.parseSchema({ parameters: headerParameters });
|
|
84
|
+
header && arr.push(`header: ${header}`);
|
|
41
85
|
}
|
|
86
|
+
return `{
|
|
87
|
+
${arr.join('\n')}
|
|
88
|
+
}`;
|
|
42
89
|
}
|
|
43
90
|
parseSchema(schema) {
|
|
44
91
|
const parameters = new Map();
|
|
45
92
|
((schema === null || schema === void 0 ? void 0 : schema.parameters) || []).forEach((item) => {
|
|
46
|
-
|
|
93
|
+
parameters.set(item.name, item);
|
|
47
94
|
});
|
|
48
95
|
const arr = [...parameters.values()];
|
|
49
96
|
try {
|
|
50
|
-
|
|
51
|
-
|
|
97
|
+
if (arr.length === 0) {
|
|
98
|
+
return '';
|
|
99
|
+
}
|
|
100
|
+
const fieldsStr = arr.map((item1) => {
|
|
52
101
|
const fieldType = item1.schema.$ref ? this.getSchemaEntity(item1.schema.$ref) : item1.schema.type;
|
|
53
102
|
const fieldName = item1.name.includes('.') ? `'${item1.name}'` : item1.name;
|
|
54
|
-
|
|
103
|
+
return (` ${fieldName}${item1.required ? '' : '?'}:${fieldType},${item1.description ? ' //' + item1.description : ''}`).replace(/\"|\n|\\/g, '');
|
|
55
104
|
});
|
|
56
|
-
str
|
|
105
|
+
let str = `{
|
|
106
|
+
${fieldsStr.join('\n')}
|
|
107
|
+
}`;
|
|
57
108
|
return str;
|
|
58
109
|
}
|
|
59
110
|
catch (e) {
|
|
111
|
+
console.log('e:::::::::::::', e);
|
|
60
112
|
return `any`;
|
|
61
113
|
}
|
|
62
114
|
}
|
|
@@ -80,24 +132,8 @@ class ApiTemplate extends moyan_file_model_1.Temp {
|
|
|
80
132
|
|| ((_o = (_m = item.responses[203]) === null || _m === void 0 ? void 0 : _m.content) === null || _o === void 0 ? void 0 : _o[key].schema)
|
|
81
133
|
|| ((_q = (_p = item.responses[204]) === null || _p === void 0 ? void 0 : _p.content) === null || _q === void 0 ? void 0 : _q[key].schema)
|
|
82
134
|
|| { type: 'unknown' };
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
return `Array<${this.getSchemaEntity(schema.items.$ref)}>`;
|
|
86
|
-
}
|
|
87
|
-
else {
|
|
88
|
-
return `Array<unknown>`;
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
else if (schema.type === 'object' && schema.properties) {
|
|
92
|
-
const resType = schemas_1.SchemasTemplate.parseSchema(schema);
|
|
93
|
-
let str = `{
|
|
94
|
-
${resType.join('')}}`;
|
|
95
|
-
return str;
|
|
96
|
-
}
|
|
97
|
-
else if (schema.$ref) {
|
|
98
|
-
return this.getSchemaEntity(schema.$ref);
|
|
99
|
-
}
|
|
100
|
-
return `any`;
|
|
135
|
+
const resType = schemas_1.SchemasTemplate.parseSchema(schema);
|
|
136
|
+
return resType;
|
|
101
137
|
}
|
|
102
138
|
catch (e) {
|
|
103
139
|
console.warn('e::', item.operationId, e);
|
package/dist/template/api.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/template/api.ts"],"names":[],"mappings":";;;AACA,uDAA0D;AAC1D,uCAA2C;AAE3C,MAAa,WAAY,SAAQ,uBAAI;IAWnC,YAAY,aAA4B,EAAE,SAAiB,EAAE,EAAE,UAAU,GAAG,EAAE;QAC5E,KAAK,CAAC,0BAAO,CAAC,EAAE,CAAC,CAAA;QATnB,SAAI,GAAe,EAAE,CAAA;QAErB,eAAU,GAAG,EAAE,CAAA;QAEf,WAAM,GAAG,EAAE,CAAA;QAEX,eAAU,GAAG,EAAE,CAAA;QAIb,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;QAC5B,IAAI,CAAC,aAAa,GAAG,aAAa,CAAA;QAClC,IAAI,CAAC,IAAI,EAAE,CAAA;IACb,CAAC;IAED,IAAI;QACF,MAAM,KAAK,GAAG,IAAI,GAAG,EAAE,CAAA;QACvB,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;YAC3C,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;gBACjD,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAA;gBAChD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,UAAU,GAAG,GAAG,CAAA;gBACjC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,EAAE,CAAA;gBAChC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAA;
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/template/api.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,7 +5,11 @@ export declare class SchemasTemplate extends Temp implements Template {
|
|
|
5
5
|
list: Array<any>;
|
|
6
6
|
constructor(openAPIObject: OpenAPIObject);
|
|
7
7
|
init(): void;
|
|
8
|
-
static
|
|
8
|
+
static parsePropertie(item: any, key: string, schema: any): {
|
|
9
|
+
key: string;
|
|
10
|
+
str: string;
|
|
11
|
+
};
|
|
12
|
+
static parseSchema(schema: any): any;
|
|
9
13
|
static isRequired(schema: any, key: string): boolean;
|
|
10
14
|
static getSchemaEntity(str: string): string;
|
|
11
15
|
static getDescription(item: any): string;
|
package/dist/template/schemas.js
CHANGED
|
@@ -20,59 +20,79 @@ class SchemasTemplate extends moyan_file_model_1.Temp {
|
|
|
20
20
|
}
|
|
21
21
|
this.list = [...schemas.values()];
|
|
22
22
|
}
|
|
23
|
-
static
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
if (item.type && item.type === 'array') {
|
|
28
|
-
if (item.items && item.items.$ref) {
|
|
29
|
-
parameters.set(key, `${key}${this.isRequired(schema, key) ? '?' : ''}:Array<${this.getSchemaEntity(item.items.$ref)}>${this.getDescription(item)}`);
|
|
30
|
-
continue;
|
|
31
|
-
}
|
|
32
|
-
else if (item.items && item.items.oneOf && Array.isArray(item.items.oneOf)) {
|
|
33
|
-
const schemaEntityArr = item.items.oneOf.map((item1) => {
|
|
34
|
-
return this.getSchemaEntity(item1.$ref);
|
|
35
|
-
});
|
|
36
|
-
parameters.set(key, `${key}${this.isRequired(schema, key) ? '?' : ''}:Array<${schemaEntityArr.join('|')}>${this.getDescription(item)}`);
|
|
37
|
-
continue;
|
|
38
|
-
}
|
|
39
|
-
else if (item.items && item.items.type && item.type === 'array') {
|
|
40
|
-
parameters.set(key, `${key}${this.isRequired(schema, key) ? '?' : ''}:Array<${item.items.type}>${this.getDescription(item)}`);
|
|
41
|
-
continue;
|
|
42
|
-
}
|
|
43
|
-
else {
|
|
44
|
-
parameters.set(key, `${key}${this.isRequired(schema, key) ? '?' : ''}:Array<any>${this.getDescription(item)}`);
|
|
45
|
-
continue;
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
else if (Array.isArray(item.allOf)) {
|
|
49
|
-
const schemaEntityArr = item.allOf.map((item1) => {
|
|
50
|
-
return this.getSchemaEntity(item1.$ref);
|
|
51
|
-
});
|
|
52
|
-
parameters.set(key, `${key}${this.isRequired(schema, key) ? '?' : ''}:${schemaEntityArr.join('|')}${this.getDescription(item)}`);
|
|
53
|
-
continue;
|
|
23
|
+
static parsePropertie(item, key, schema) {
|
|
24
|
+
if (item.type && item.type === 'array') {
|
|
25
|
+
if (item.items && item.items.$ref) {
|
|
26
|
+
return { key, str: `${key}${this.isRequired(schema, key) ? '?' : ''}:Array<${this.getSchemaEntity(item.items.$ref)}>${this.getDescription(item)}` };
|
|
54
27
|
}
|
|
55
|
-
else if (Array.isArray(item.oneOf)) {
|
|
56
|
-
const schemaEntityArr = item.oneOf.map((item1) => {
|
|
28
|
+
else if (item.items && item.items.oneOf && Array.isArray(item.items.oneOf)) {
|
|
29
|
+
const schemaEntityArr = item.items.oneOf.map((item1) => {
|
|
57
30
|
return this.getSchemaEntity(item1.$ref);
|
|
58
31
|
});
|
|
59
|
-
|
|
60
|
-
continue;
|
|
61
|
-
}
|
|
62
|
-
else if (item.type) {
|
|
63
|
-
parameters.set(key, `${key}${this.isRequired(schema, key) ? '?' : ''}:${item.type}${this.getDescription(item)}`);
|
|
64
|
-
continue;
|
|
32
|
+
return { key, str: `${key}${this.isRequired(schema, key) ? '?' : ''}:Array<${schemaEntityArr.join('|')}>${this.getDescription(item)}` };
|
|
65
33
|
}
|
|
66
|
-
else if (item
|
|
67
|
-
|
|
68
|
-
continue;
|
|
34
|
+
else if (item.items && item.items.type && item.type === 'array') {
|
|
35
|
+
return { key, str: `${key}${this.isRequired(schema, key) ? '?' : ''}:Array<${item.items.type}>${this.getDescription(item)}` };
|
|
69
36
|
}
|
|
70
37
|
else {
|
|
71
|
-
|
|
72
|
-
|
|
38
|
+
return { key, str: `${key}${this.isRequired(schema, key) ? '?' : ''}:Array<any>${this.getDescription(item)}` };
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
else if (item.type === 'object' && Array.isArray(item.allOf)) {
|
|
42
|
+
const schemaEntityArr = item.allOf.map((item1) => {
|
|
43
|
+
if (item1.$ref) {
|
|
44
|
+
return this.getSchemaEntity(item1.$ref);
|
|
45
|
+
}
|
|
46
|
+
else if (item1.type) {
|
|
47
|
+
const resType = SchemasTemplate.parseSchema(item1);
|
|
48
|
+
return `{
|
|
49
|
+
${resType}
|
|
50
|
+
}`;
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
return { key, str: `${key}${this.isRequired(schema, key) ? '?' : ''}:${schemaEntityArr.join('&')}${this.getDescription(item)}` };
|
|
54
|
+
}
|
|
55
|
+
else if (Array.isArray(item.oneOf)) {
|
|
56
|
+
const schemaEntityArr = item.oneOf.map((item1) => {
|
|
57
|
+
return this.getSchemaEntity(item1.$ref);
|
|
58
|
+
});
|
|
59
|
+
return { key, str: `${key}${this.isRequired(schema, key) ? '?' : ''}:${schemaEntityArr.join('|')}${this.getDescription(item)}` };
|
|
60
|
+
}
|
|
61
|
+
else if (item.type) {
|
|
62
|
+
return { key, str: `${key}${this.isRequired(schema, key) ? '?' : ''}:${item.type}${this.getDescription(item)}` };
|
|
63
|
+
}
|
|
64
|
+
else if (item.$ref) {
|
|
65
|
+
return { key, str: `${key}${this.isRequired(schema, key) ? '?' : ''}:${this.getSchemaEntity(item.$ref)}${this.getDescription(item)}` };
|
|
66
|
+
}
|
|
67
|
+
return { key, str: `${key}${this.isRequired(schema, key) ? '?' : ''}:any${this.getDescription(item)}` };
|
|
68
|
+
}
|
|
69
|
+
static parseSchema(schema) {
|
|
70
|
+
if (schema.properties) {
|
|
71
|
+
const parameters = new Map();
|
|
72
|
+
for (const key in schema.properties) {
|
|
73
|
+
const item = schema.properties[key];
|
|
74
|
+
parameters.set(key, SchemasTemplate.parsePropertie(item, key, schema).str);
|
|
73
75
|
}
|
|
76
|
+
return [...parameters.values()].map((item) => item + '\n');
|
|
77
|
+
}
|
|
78
|
+
else if (schema.allOf) {
|
|
79
|
+
const schemaEntityArr = schema.allOf.map((item1) => {
|
|
80
|
+
if (item1.$ref) {
|
|
81
|
+
return this.getSchemaEntity(item1.$ref);
|
|
82
|
+
}
|
|
83
|
+
else if (item1.properties) {
|
|
84
|
+
const resType = SchemasTemplate.parseSchema(item1);
|
|
85
|
+
return `{
|
|
86
|
+
${resType}
|
|
87
|
+
}`;
|
|
88
|
+
}
|
|
89
|
+
});
|
|
90
|
+
return schemaEntityArr.join('&');
|
|
91
|
+
}
|
|
92
|
+
else {
|
|
93
|
+
const str = SchemasTemplate.parsePropertie(schema, '', schema).str;
|
|
94
|
+
return str.replace(/\?\:/g, '');
|
|
74
95
|
}
|
|
75
|
-
return [...parameters.values()].map((item) => item + '\n');
|
|
76
96
|
}
|
|
77
97
|
static isRequired(schema, key) {
|
|
78
98
|
return !(schema.required && schema.required.includes(key));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../src/template/schemas.ts"],"names":[],"mappings":";;;AACA,uDAA0D;AAG1D,MAAa,eAAgB,SAAQ,uBAAI;IAOvC,YAAY,aAA4B;QACtC,KAAK,CAAC,0BAAO,CAAC,EAAE,CAAC,CAAA;QAHnB,SAAI,GAAe,EAAE,CAAA;QAInB,IAAI,CAAC,aAAa,GAAG,aAAa,CAAA;QAClC,IAAI,CAAC,IAAI,EAAE,CAAA;IACb,CAAC;IAED,IAAI;QACF,MAAM,OAAO,GAAG,IAAI,GAAG,EAAE,CAAA;QACzB,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;YACxD,MAAM,GAAG,GAAG,eAAe,CAAC,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAA;YACnF,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE;gBACf,GAAG;gBACH,GAAG;aACJ,CAAC,CAAA;QACJ,CAAC;QACD,IAAI,CAAC,IAAI,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;IACnC,CAAC;IAED,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../src/template/schemas.ts"],"names":[],"mappings":"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"}
|