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.
- package/README.md +26 -0
- package/bin/apits-gener +4 -0
- package/es/Generator.d.ts +43 -0
- package/es/Generator.js +892 -0
- package/es/cli.d.ts +19 -0
- package/es/cli.js +547 -0
- package/es/console.d.ts +48 -0
- package/es/console.js +151 -0
- package/es/constants.d.ts +22 -0
- package/es/constants.js +39 -0
- package/es/dependenciesHandler.d.ts +16 -0
- package/es/dependenciesHandler.js +270 -0
- package/es/genIndex.d.ts +23 -0
- package/es/genIndex.js +354 -0
- package/es/genRequest.d.ts +3 -0
- package/es/genRequest.js +216 -0
- package/es/getOutputPath.d.ts +5 -0
- package/es/getOutputPath.js +28 -0
- package/es/helpers.d.ts +63 -0
- package/es/helpers.js +458 -0
- package/es/index.d.ts +2 -0
- package/es/index.js +34 -0
- package/es/requestYapiData.d.ts +157 -0
- package/es/requestYapiData.js +1010 -0
- package/es/responseDataJsonSchemaHandler.d.ts +11 -0
- package/es/responseDataJsonSchemaHandler.js +193 -0
- package/es/server/mock.d.ts +1 -0
- package/es/server/mock.js +7 -0
- package/es/server/swaggerJsonToYApiData.d.ts +10 -0
- package/es/server/swaggerJsonToYApiData.js +614 -0
- package/es/spinner.d.ts +15 -0
- package/es/spinner.js +58 -0
- package/es/types.d.ts +736 -0
- package/es/types.js +143 -0
- package/es/utils.d.ts +97 -0
- package/es/utils.js +783 -0
- package/lib/Generator.d.ts +43 -0
- package/lib/Generator.js +892 -0
- package/lib/cli.d.ts +19 -0
- package/lib/cli.js +547 -0
- package/lib/console.d.ts +48 -0
- package/lib/console.js +151 -0
- package/lib/constants.d.ts +22 -0
- package/lib/constants.js +39 -0
- package/lib/dependenciesHandler.d.ts +16 -0
- package/lib/dependenciesHandler.js +270 -0
- package/lib/genIndex.d.ts +23 -0
- package/lib/genIndex.js +354 -0
- package/lib/genRequest.d.ts +3 -0
- package/lib/genRequest.js +216 -0
- package/lib/getOutputPath.d.ts +5 -0
- package/lib/getOutputPath.js +28 -0
- package/lib/helpers.d.ts +63 -0
- package/lib/helpers.js +458 -0
- package/lib/index.d.ts +2 -0
- package/lib/index.js +34 -0
- package/lib/requestYapiData.d.ts +157 -0
- package/lib/requestYapiData.js +1010 -0
- package/lib/responseDataJsonSchemaHandler.d.ts +11 -0
- package/lib/responseDataJsonSchemaHandler.js +193 -0
- package/lib/server/mock.d.ts +1 -0
- package/lib/server/mock.js +7 -0
- package/lib/server/swaggerJsonToYApiData.d.ts +10 -0
- package/lib/server/swaggerJsonToYApiData.js +614 -0
- package/lib/spinner.d.ts +15 -0
- package/lib/spinner.js +58 -0
- package/lib/types.d.ts +736 -0
- package/lib/types.js +143 -0
- package/lib/utils.d.ts +97 -0
- package/lib/utils.js +783 -0
- package/package.json +106 -0
@@ -0,0 +1,1010 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
var __assign = this && this.__assign || function () {
|
4
|
+
__assign = Object.assign || function (t) {
|
5
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
6
|
+
s = arguments[i];
|
7
|
+
|
8
|
+
for (var p in s) {
|
9
|
+
if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
|
10
|
+
}
|
11
|
+
}
|
12
|
+
|
13
|
+
return t;
|
14
|
+
};
|
15
|
+
|
16
|
+
return __assign.apply(this, arguments);
|
17
|
+
};
|
18
|
+
|
19
|
+
var __createBinding = this && this.__createBinding || (Object.create ? function (o, m, k, k2) {
|
20
|
+
if (k2 === undefined) k2 = k;
|
21
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
22
|
+
|
23
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
24
|
+
desc = {
|
25
|
+
enumerable: true,
|
26
|
+
get: function get() {
|
27
|
+
return m[k];
|
28
|
+
}
|
29
|
+
};
|
30
|
+
}
|
31
|
+
|
32
|
+
Object.defineProperty(o, k2, desc);
|
33
|
+
} : function (o, m, k, k2) {
|
34
|
+
if (k2 === undefined) k2 = k;
|
35
|
+
o[k2] = m[k];
|
36
|
+
});
|
37
|
+
|
38
|
+
var __setModuleDefault = this && this.__setModuleDefault || (Object.create ? function (o, v) {
|
39
|
+
Object.defineProperty(o, "default", {
|
40
|
+
enumerable: true,
|
41
|
+
value: v
|
42
|
+
});
|
43
|
+
} : function (o, v) {
|
44
|
+
o["default"] = v;
|
45
|
+
});
|
46
|
+
|
47
|
+
var __importStar = this && this.__importStar || function (mod) {
|
48
|
+
if (mod && mod.__esModule) return mod;
|
49
|
+
var result = {};
|
50
|
+
if (mod != null) for (var k in mod) {
|
51
|
+
if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
52
|
+
}
|
53
|
+
|
54
|
+
__setModuleDefault(result, mod);
|
55
|
+
|
56
|
+
return result;
|
57
|
+
};
|
58
|
+
|
59
|
+
var __awaiter = this && this.__awaiter || function (thisArg, _arguments, P, generator) {
|
60
|
+
function adopt(value) {
|
61
|
+
return value instanceof P ? value : new P(function (resolve) {
|
62
|
+
resolve(value);
|
63
|
+
});
|
64
|
+
}
|
65
|
+
|
66
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
67
|
+
function fulfilled(value) {
|
68
|
+
try {
|
69
|
+
step(generator.next(value));
|
70
|
+
} catch (e) {
|
71
|
+
reject(e);
|
72
|
+
}
|
73
|
+
}
|
74
|
+
|
75
|
+
function rejected(value) {
|
76
|
+
try {
|
77
|
+
step(generator["throw"](value));
|
78
|
+
} catch (e) {
|
79
|
+
reject(e);
|
80
|
+
}
|
81
|
+
}
|
82
|
+
|
83
|
+
function step(result) {
|
84
|
+
result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
|
85
|
+
}
|
86
|
+
|
87
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
88
|
+
});
|
89
|
+
};
|
90
|
+
|
91
|
+
var __generator = this && this.__generator || function (thisArg, body) {
|
92
|
+
var _ = {
|
93
|
+
label: 0,
|
94
|
+
sent: function sent() {
|
95
|
+
if (t[0] & 1) throw t[1];
|
96
|
+
return t[1];
|
97
|
+
},
|
98
|
+
trys: [],
|
99
|
+
ops: []
|
100
|
+
},
|
101
|
+
f,
|
102
|
+
y,
|
103
|
+
t,
|
104
|
+
g;
|
105
|
+
return g = {
|
106
|
+
next: verb(0),
|
107
|
+
"throw": verb(1),
|
108
|
+
"return": verb(2)
|
109
|
+
}, typeof Symbol === "function" && (g[Symbol.iterator] = function () {
|
110
|
+
return this;
|
111
|
+
}), g;
|
112
|
+
|
113
|
+
function verb(n) {
|
114
|
+
return function (v) {
|
115
|
+
return step([n, v]);
|
116
|
+
};
|
117
|
+
}
|
118
|
+
|
119
|
+
function step(op) {
|
120
|
+
if (f) throw new TypeError("Generator is already executing.");
|
121
|
+
|
122
|
+
while (_) {
|
123
|
+
try {
|
124
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
125
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
126
|
+
|
127
|
+
switch (op[0]) {
|
128
|
+
case 0:
|
129
|
+
case 1:
|
130
|
+
t = op;
|
131
|
+
break;
|
132
|
+
|
133
|
+
case 4:
|
134
|
+
_.label++;
|
135
|
+
return {
|
136
|
+
value: op[1],
|
137
|
+
done: false
|
138
|
+
};
|
139
|
+
|
140
|
+
case 5:
|
141
|
+
_.label++;
|
142
|
+
y = op[1];
|
143
|
+
op = [0];
|
144
|
+
continue;
|
145
|
+
|
146
|
+
case 7:
|
147
|
+
op = _.ops.pop();
|
148
|
+
|
149
|
+
_.trys.pop();
|
150
|
+
|
151
|
+
continue;
|
152
|
+
|
153
|
+
default:
|
154
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
|
155
|
+
_ = 0;
|
156
|
+
continue;
|
157
|
+
}
|
158
|
+
|
159
|
+
if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
|
160
|
+
_.label = op[1];
|
161
|
+
break;
|
162
|
+
}
|
163
|
+
|
164
|
+
if (op[0] === 6 && _.label < t[1]) {
|
165
|
+
_.label = t[1];
|
166
|
+
t = op;
|
167
|
+
break;
|
168
|
+
}
|
169
|
+
|
170
|
+
if (t && _.label < t[2]) {
|
171
|
+
_.label = t[2];
|
172
|
+
|
173
|
+
_.ops.push(op);
|
174
|
+
|
175
|
+
break;
|
176
|
+
}
|
177
|
+
|
178
|
+
if (t[2]) _.ops.pop();
|
179
|
+
|
180
|
+
_.trys.pop();
|
181
|
+
|
182
|
+
continue;
|
183
|
+
}
|
184
|
+
|
185
|
+
op = body.call(thisArg, _);
|
186
|
+
} catch (e) {
|
187
|
+
op = [6, e];
|
188
|
+
y = 0;
|
189
|
+
} finally {
|
190
|
+
f = t = 0;
|
191
|
+
}
|
192
|
+
}
|
193
|
+
|
194
|
+
if (op[0] & 5) throw op[1];
|
195
|
+
return {
|
196
|
+
value: op[0] ? op[1] : void 0,
|
197
|
+
done: true
|
198
|
+
};
|
199
|
+
}
|
200
|
+
};
|
201
|
+
|
202
|
+
var __spreadArray = this && this.__spreadArray || function (to, from, pack) {
|
203
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
204
|
+
if (ar || !(i in from)) {
|
205
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
206
|
+
ar[i] = from[i];
|
207
|
+
}
|
208
|
+
}
|
209
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
210
|
+
};
|
211
|
+
|
212
|
+
var __importDefault = this && this.__importDefault || function (mod) {
|
213
|
+
return mod && mod.__esModule ? mod : {
|
214
|
+
"default": mod
|
215
|
+
};
|
216
|
+
};
|
217
|
+
|
218
|
+
Object.defineProperty(exports, "__esModule", {
|
219
|
+
value: true
|
220
|
+
});
|
221
|
+
exports.getProjectInfoAndInterfaces = exports.getInterfacesByCategoryIds = exports.fetchCatInterfaceById = exports.fetchInterfaceById = exports.fetchProjectInfo = exports.fetchProjectInfoById = exports.fetchInterfaceList = exports.fetchInterfaceListById = exports.fetchExport = exports.fetchExportById = exports.fetchProject = exports.fetchProjectById = exports.fetchToken = exports.fetchApi = exports.loginPrompts = void 0;
|
222
|
+
/**
|
223
|
+
* 获取yapi数据
|
224
|
+
*/
|
225
|
+
|
226
|
+
var got_1 = __importDefault(require("got"));
|
227
|
+
|
228
|
+
var prompts_1 = __importDefault(require("prompts"));
|
229
|
+
|
230
|
+
var vtils_1 = require("vtils");
|
231
|
+
|
232
|
+
var constants_1 = require("./constants");
|
233
|
+
|
234
|
+
var conso = __importStar(require("./console"));
|
235
|
+
|
236
|
+
var spinner_1 = require("./spinner");
|
237
|
+
|
238
|
+
var helpers_1 = require("./helpers");
|
239
|
+
|
240
|
+
var client = got_1.default.extend({
|
241
|
+
responseType: 'json',
|
242
|
+
https: {
|
243
|
+
rejectUnauthorized: false
|
244
|
+
}
|
245
|
+
});
|
246
|
+
|
247
|
+
var emailValidate = function emailValidate(prev, values) {
|
248
|
+
return !prev ? '请输入邮箱' : true;
|
249
|
+
};
|
250
|
+
|
251
|
+
var passwordValidate = function passwordValidate(prev, values) {
|
252
|
+
return !prev ? '请输入密码' : true;
|
253
|
+
};
|
254
|
+
|
255
|
+
var inputs = [{
|
256
|
+
type: 'text',
|
257
|
+
name: 'email',
|
258
|
+
message: '请输入yapi的邮箱账号',
|
259
|
+
validate: emailValidate
|
260
|
+
}, {
|
261
|
+
type: 'password',
|
262
|
+
name: 'password',
|
263
|
+
message: '请输入密码',
|
264
|
+
validate: passwordValidate
|
265
|
+
}];
|
266
|
+
/**
|
267
|
+
* 登录提示框,账号密码录入
|
268
|
+
* @returns
|
269
|
+
*/
|
270
|
+
|
271
|
+
var loginPrompts = function loginPrompts(serverUrl) {
|
272
|
+
return __awaiter(void 0, void 0, void 0, function () {
|
273
|
+
var formatInputs, res;
|
274
|
+
return __generator(this, function (_a) {
|
275
|
+
switch (_a.label) {
|
276
|
+
case 0:
|
277
|
+
formatInputs = __spreadArray([], inputs, true);
|
278
|
+
|
279
|
+
if (serverUrl) {
|
280
|
+
formatInputs[0].message = "\u8BF7\u8F93\u5165".concat(serverUrl, "\u7684\u90AE\u7BB1\u8D26\u53F7");
|
281
|
+
}
|
282
|
+
|
283
|
+
return [4
|
284
|
+
/*yield*/
|
285
|
+
, (0, prompts_1.default)(formatInputs)];
|
286
|
+
|
287
|
+
case 1:
|
288
|
+
res = _a.sent();
|
289
|
+
return [2
|
290
|
+
/*return*/
|
291
|
+
, res];
|
292
|
+
}
|
293
|
+
});
|
294
|
+
});
|
295
|
+
};
|
296
|
+
|
297
|
+
exports.loginPrompts = loginPrompts;
|
298
|
+
/**
|
299
|
+
*
|
300
|
+
* @param url 请求方法
|
301
|
+
* @param query
|
302
|
+
* @returns
|
303
|
+
*/
|
304
|
+
|
305
|
+
var fetchApi = function fetchApi(path, data, config) {
|
306
|
+
return __awaiter(this, void 0, void 0, function () {
|
307
|
+
var _a, _b, serverUrl, _c, errorExit, method, url, params, response, res;
|
308
|
+
|
309
|
+
return __generator(this, function (_d) {
|
310
|
+
switch (_d.label) {
|
311
|
+
case 0:
|
312
|
+
_a = config || {}, _b = _a.serverUrl, serverUrl = _b === void 0 ? constants_1.DefaultServerUrl : _b, _c = _a.errorExit, errorExit = _c === void 0 ? true : _c;
|
313
|
+
method = (config === null || config === void 0 ? void 0 : config.method) || 'get';
|
314
|
+
url = path.startsWith('http') ? path : "".concat(serverUrl).concat(path);
|
315
|
+
params = __assign({}, data);
|
316
|
+
|
317
|
+
if (config === null || config === void 0 ? void 0 : config.token) {
|
318
|
+
params.token = config.token;
|
319
|
+
}
|
320
|
+
|
321
|
+
return [4
|
322
|
+
/*yield*/
|
323
|
+
, client(url, {
|
324
|
+
method: method,
|
325
|
+
json: method.toLowerCase() !== 'get' ? params : undefined,
|
326
|
+
searchParams: method.toLowerCase() === 'get' ? params : undefined
|
327
|
+
}).catch(function (e) {
|
328
|
+
return {
|
329
|
+
body: {
|
330
|
+
errcode: 1111,
|
331
|
+
errmsg: e.message || '接口请求异常',
|
332
|
+
data: null
|
333
|
+
}
|
334
|
+
};
|
335
|
+
})];
|
336
|
+
|
337
|
+
case 1:
|
338
|
+
response = _d.sent();
|
339
|
+
res = response.body;
|
340
|
+
|
341
|
+
if (res && res.errcode) {
|
342
|
+
spinner_1.spinnerInstance.stop();
|
343
|
+
|
344
|
+
if (res.errcode === constants_1.ResponseErrorCode.UnLogin) {
|
345
|
+
conso.error('登录已过期或token异常', url, data);
|
346
|
+
} else {
|
347
|
+
conso.error(res.errmsg, url, data);
|
348
|
+
}
|
349
|
+
|
350
|
+
if (errorExit) process.exit();
|
351
|
+
}
|
352
|
+
|
353
|
+
return [2
|
354
|
+
/*return*/
|
355
|
+
, res.data || res];
|
356
|
+
}
|
357
|
+
});
|
358
|
+
});
|
359
|
+
};
|
360
|
+
|
361
|
+
exports.fetchApi = fetchApi;
|
362
|
+
/**
|
363
|
+
* 获取项目token
|
364
|
+
*/
|
365
|
+
|
366
|
+
var fetchToken = function fetchToken(id, config) {
|
367
|
+
return __awaiter(void 0, void 0, void 0, function () {
|
368
|
+
var res;
|
369
|
+
return __generator(this, function (_a) {
|
370
|
+
switch (_a.label) {
|
371
|
+
case 0:
|
372
|
+
return [4
|
373
|
+
/*yield*/
|
374
|
+
, (0, exports.fetchApi)(constants_1.yapiApiToken, {
|
375
|
+
project_id: id
|
376
|
+
}, config)];
|
377
|
+
|
378
|
+
case 1:
|
379
|
+
res = _a.sent();
|
380
|
+
return [2
|
381
|
+
/*return*/
|
382
|
+
, res];
|
383
|
+
}
|
384
|
+
});
|
385
|
+
});
|
386
|
+
};
|
387
|
+
|
388
|
+
exports.fetchToken = fetchToken;
|
389
|
+
/**
|
390
|
+
* 获取项目基本信息 by id
|
391
|
+
*/
|
392
|
+
|
393
|
+
var fetchProjectById = function fetchProjectById(config) {
|
394
|
+
return __awaiter(void 0, void 0, void 0, function () {
|
395
|
+
var projectId, projectInfo, basePath;
|
396
|
+
return __generator(this, function (_a) {
|
397
|
+
switch (_a.label) {
|
398
|
+
case 0:
|
399
|
+
projectId = config.projectId;
|
400
|
+
return [4
|
401
|
+
/*yield*/
|
402
|
+
, (0, exports.fetchApi)(constants_1.yapiApiGetProject, {
|
403
|
+
id: projectId
|
404
|
+
}, config)];
|
405
|
+
|
406
|
+
case 1:
|
407
|
+
projectInfo = _a.sent();
|
408
|
+
basePath = "/".concat(projectInfo.basepath || '/').replace(/\/+$/, '').replace(/^\/+/, '/');
|
409
|
+
projectInfo.basepath = basePath;
|
410
|
+
return [2
|
411
|
+
/*return*/
|
412
|
+
, projectInfo];
|
413
|
+
}
|
414
|
+
});
|
415
|
+
});
|
416
|
+
};
|
417
|
+
|
418
|
+
exports.fetchProjectById = fetchProjectById;
|
419
|
+
/**
|
420
|
+
* 获取项目基本信息
|
421
|
+
*
|
422
|
+
*/
|
423
|
+
|
424
|
+
var fetchProject = function fetchProject(config) {
|
425
|
+
return __awaiter(void 0, void 0, void 0, function () {
|
426
|
+
var projectInfo, basePath;
|
427
|
+
return __generator(this, function (_a) {
|
428
|
+
switch (_a.label) {
|
429
|
+
case 0:
|
430
|
+
if (!config.token) {
|
431
|
+
return [2
|
432
|
+
/*return*/
|
433
|
+
, (0, exports.fetchProjectById)(config)];
|
434
|
+
}
|
435
|
+
|
436
|
+
return [4
|
437
|
+
/*yield*/
|
438
|
+
, (0, exports.fetchApi)(constants_1.yapiApiGetProject, {
|
439
|
+
token: config.token
|
440
|
+
}, config)];
|
441
|
+
|
442
|
+
case 1:
|
443
|
+
projectInfo = _a.sent();
|
444
|
+
basePath = "/".concat(projectInfo.basepath || '/').replace(/\/+$/, '').replace(/^\/+/, '/');
|
445
|
+
projectInfo.basepath = basePath;
|
446
|
+
return [2
|
447
|
+
/*return*/
|
448
|
+
, projectInfo];
|
449
|
+
}
|
450
|
+
});
|
451
|
+
});
|
452
|
+
};
|
453
|
+
|
454
|
+
exports.fetchProject = fetchProject;
|
455
|
+
/**
|
456
|
+
* 通过导出接口获取项目下的所有接口 by id
|
457
|
+
*/
|
458
|
+
|
459
|
+
var fetchExportById = function fetchExportById(config) {
|
460
|
+
return __awaiter(void 0, void 0, void 0, function () {
|
461
|
+
var projectInfo, categoryList;
|
462
|
+
return __generator(this, function (_a) {
|
463
|
+
switch (_a.label) {
|
464
|
+
case 0:
|
465
|
+
return [4
|
466
|
+
/*yield*/
|
467
|
+
, (0, exports.fetchProjectById)(config)];
|
468
|
+
|
469
|
+
case 1:
|
470
|
+
projectInfo = _a.sent();
|
471
|
+
return [4
|
472
|
+
/*yield*/
|
473
|
+
, (0, exports.fetchApi)(constants_1.yapiApiExport, {
|
474
|
+
type: 'json',
|
475
|
+
status: 'all',
|
476
|
+
isWiki: 'false',
|
477
|
+
token: projectInfo.token
|
478
|
+
}, config)];
|
479
|
+
|
480
|
+
case 2:
|
481
|
+
categoryList = _a.sent();
|
482
|
+
return [2
|
483
|
+
/*return*/
|
484
|
+
, categoryList.map(function (cat) {
|
485
|
+
cat.list = (cat.list || []).map(function (item) {
|
486
|
+
item.path = "".concat(projectInfo.basepath).concat(item.path);
|
487
|
+
return item;
|
488
|
+
});
|
489
|
+
return cat;
|
490
|
+
})];
|
491
|
+
}
|
492
|
+
});
|
493
|
+
});
|
494
|
+
};
|
495
|
+
|
496
|
+
exports.fetchExportById = fetchExportById;
|
497
|
+
/**
|
498
|
+
* 通过导出接口获取项目下的所有接口
|
499
|
+
*/
|
500
|
+
|
501
|
+
var fetchExport = function fetchExport(config) {
|
502
|
+
return __awaiter(void 0, void 0, void 0, function () {
|
503
|
+
var projectInfo, categoryList;
|
504
|
+
return __generator(this, function (_a) {
|
505
|
+
switch (_a.label) {
|
506
|
+
case 0:
|
507
|
+
if (!config.token) {
|
508
|
+
return [2
|
509
|
+
/*return*/
|
510
|
+
, (0, exports.fetchExportById)(config)];
|
511
|
+
}
|
512
|
+
|
513
|
+
return [4
|
514
|
+
/*yield*/
|
515
|
+
, (0, exports.fetchProject)(config)];
|
516
|
+
|
517
|
+
case 1:
|
518
|
+
projectInfo = _a.sent();
|
519
|
+
return [4
|
520
|
+
/*yield*/
|
521
|
+
, (0, exports.fetchApi)(constants_1.yapiApiExport, {
|
522
|
+
type: 'json',
|
523
|
+
status: 'all',
|
524
|
+
isWiki: 'false',
|
525
|
+
token: config.token
|
526
|
+
}, config)];
|
527
|
+
|
528
|
+
case 2:
|
529
|
+
categoryList = _a.sent();
|
530
|
+
return [2
|
531
|
+
/*return*/
|
532
|
+
, categoryList.map(function (cat) {
|
533
|
+
cat.list = (cat.list || []).map(function (item) {
|
534
|
+
item.path = "".concat(projectInfo.basepath).concat(item.path);
|
535
|
+
return item;
|
536
|
+
});
|
537
|
+
return cat;
|
538
|
+
})];
|
539
|
+
}
|
540
|
+
});
|
541
|
+
});
|
542
|
+
};
|
543
|
+
|
544
|
+
exports.fetchExport = fetchExport;
|
545
|
+
/**
|
546
|
+
* 获取所有接口 by id
|
547
|
+
* @param param0
|
548
|
+
* @returns
|
549
|
+
*/
|
550
|
+
|
551
|
+
var fetchInterfaceListById = function fetchInterfaceListById(config) {
|
552
|
+
return __awaiter(this, void 0, void 0, function () {
|
553
|
+
var id, allData, category;
|
554
|
+
return __generator(this, function (_a) {
|
555
|
+
switch (_a.label) {
|
556
|
+
case 0:
|
557
|
+
id = config.id;
|
558
|
+
return [4
|
559
|
+
/*yield*/
|
560
|
+
, (0, exports.fetchExportById)(config)];
|
561
|
+
|
562
|
+
case 1:
|
563
|
+
allData = _a.sent();
|
564
|
+
category = (allData || []).filter(function (cat) {
|
565
|
+
return !(0, vtils_1.isEmpty)(cat) && !(0, vtils_1.isEmpty)(cat.list) && (!id || id && cat.list[0].catid === id);
|
566
|
+
});
|
567
|
+
|
568
|
+
if (category) {
|
569
|
+
category.forEach(function (interfaceInfo) {
|
570
|
+
interfaceInfo._id = interfaceInfo.list[0].catid;
|
571
|
+
interfaceInfo.list.forEach(function (item) {
|
572
|
+
// 实现 _category 字段
|
573
|
+
item._category = (0, vtils_1.omit)(interfaceInfo, ['list']);
|
574
|
+
});
|
575
|
+
});
|
576
|
+
}
|
577
|
+
|
578
|
+
return [2
|
579
|
+
/*return*/
|
580
|
+
, category];
|
581
|
+
}
|
582
|
+
});
|
583
|
+
});
|
584
|
+
};
|
585
|
+
|
586
|
+
exports.fetchInterfaceListById = fetchInterfaceListById;
|
587
|
+
/**
|
588
|
+
* 获取所有接口
|
589
|
+
* @param param0
|
590
|
+
* @returns
|
591
|
+
*/
|
592
|
+
|
593
|
+
var fetchInterfaceList = function fetchInterfaceList(config) {
|
594
|
+
return __awaiter(this, void 0, void 0, function () {
|
595
|
+
var id, token, allData, category;
|
596
|
+
return __generator(this, function (_a) {
|
597
|
+
switch (_a.label) {
|
598
|
+
case 0:
|
599
|
+
id = config.id, token = config.token;
|
600
|
+
|
601
|
+
if (!token) {
|
602
|
+
return [2
|
603
|
+
/*return*/
|
604
|
+
, (0, exports.fetchInterfaceListById)(config)];
|
605
|
+
}
|
606
|
+
|
607
|
+
return [4
|
608
|
+
/*yield*/
|
609
|
+
, (0, exports.fetchExport)(config)];
|
610
|
+
|
611
|
+
case 1:
|
612
|
+
allData = _a.sent();
|
613
|
+
category = (allData || []).filter(function (cat) {
|
614
|
+
return !(0, vtils_1.isEmpty)(cat) && !(0, vtils_1.isEmpty)(cat.list) && (!id || id && cat.list[0].catid === id);
|
615
|
+
});
|
616
|
+
|
617
|
+
if (category) {
|
618
|
+
category.forEach(function (interfaceInfo) {
|
619
|
+
interfaceInfo._id = interfaceInfo.list[0].catid;
|
620
|
+
interfaceInfo.list.forEach(function (item) {
|
621
|
+
// 实现 _category 字段
|
622
|
+
item._category = (0, vtils_1.omit)(interfaceInfo, ['list']);
|
623
|
+
});
|
624
|
+
});
|
625
|
+
}
|
626
|
+
|
627
|
+
return [2
|
628
|
+
/*return*/
|
629
|
+
, category];
|
630
|
+
}
|
631
|
+
});
|
632
|
+
});
|
633
|
+
};
|
634
|
+
|
635
|
+
exports.fetchInterfaceList = fetchInterfaceList;
|
636
|
+
/**
|
637
|
+
* 获取项目信息 by id
|
638
|
+
* @param config
|
639
|
+
* @returns
|
640
|
+
*/
|
641
|
+
|
642
|
+
var fetchProjectInfoById = function fetchProjectInfoById(config) {
|
643
|
+
return __awaiter(this, void 0, void 0, function () {
|
644
|
+
var serverUrl, projectId, projectInfo, projectCats;
|
645
|
+
return __generator(this, function (_a) {
|
646
|
+
switch (_a.label) {
|
647
|
+
case 0:
|
648
|
+
serverUrl = config.serverUrl, projectId = config.projectId;
|
649
|
+
return [4
|
650
|
+
/*yield*/
|
651
|
+
, (0, exports.fetchProjectById)(config)];
|
652
|
+
|
653
|
+
case 1:
|
654
|
+
projectInfo = _a.sent();
|
655
|
+
return [4
|
656
|
+
/*yield*/
|
657
|
+
, (0, exports.fetchApi)(constants_1.yapiApiGetMenu, {
|
658
|
+
project_id: projectId
|
659
|
+
}, config)];
|
660
|
+
|
661
|
+
case 2:
|
662
|
+
projectCats = _a.sent();
|
663
|
+
return [2
|
664
|
+
/*return*/
|
665
|
+
, __assign(__assign({}, projectInfo), {
|
666
|
+
cats: projectCats,
|
667
|
+
getMockUrl: function getMockUrl() {
|
668
|
+
return "".concat(serverUrl, "/mock/").concat(projectInfo._id);
|
669
|
+
},
|
670
|
+
getDevUrl: function getDevUrl(devEnvName) {
|
671
|
+
var env = projectInfo.env.find(function (e) {
|
672
|
+
return e.name === devEnvName;
|
673
|
+
});
|
674
|
+
return env && env.domain
|
675
|
+
/* istanbul ignore next */
|
676
|
+
|| '';
|
677
|
+
},
|
678
|
+
getProdUrl: function getProdUrl(prodEnvName) {
|
679
|
+
var env = projectInfo.env.find(function (e) {
|
680
|
+
return e.name === prodEnvName;
|
681
|
+
});
|
682
|
+
return env && env.domain
|
683
|
+
/* istanbul ignore next */
|
684
|
+
|| '';
|
685
|
+
}
|
686
|
+
})];
|
687
|
+
}
|
688
|
+
});
|
689
|
+
});
|
690
|
+
};
|
691
|
+
|
692
|
+
exports.fetchProjectInfoById = fetchProjectInfoById;
|
693
|
+
/**
|
694
|
+
* 获取项目信息
|
695
|
+
* @param config
|
696
|
+
* @returns
|
697
|
+
*/
|
698
|
+
|
699
|
+
var fetchProjectInfo = function fetchProjectInfo(config) {
|
700
|
+
return __awaiter(this, void 0, void 0, function () {
|
701
|
+
var token, serverUrl, projectInfo, projectCats;
|
702
|
+
return __generator(this, function (_a) {
|
703
|
+
switch (_a.label) {
|
704
|
+
case 0:
|
705
|
+
token = config.token, serverUrl = config.serverUrl;
|
706
|
+
|
707
|
+
if (!token) {
|
708
|
+
return [2
|
709
|
+
/*return*/
|
710
|
+
, (0, exports.fetchProjectInfoById)(config)];
|
711
|
+
}
|
712
|
+
|
713
|
+
return [4
|
714
|
+
/*yield*/
|
715
|
+
, (0, exports.fetchProject)(config)];
|
716
|
+
|
717
|
+
case 1:
|
718
|
+
projectInfo = _a.sent();
|
719
|
+
return [4
|
720
|
+
/*yield*/
|
721
|
+
, (0, exports.fetchApi)(constants_1.yapiApiGetMenu, {
|
722
|
+
token: token
|
723
|
+
}, config)];
|
724
|
+
|
725
|
+
case 2:
|
726
|
+
projectCats = _a.sent();
|
727
|
+
return [2
|
728
|
+
/*return*/
|
729
|
+
, __assign(__assign({}, projectInfo), {
|
730
|
+
cats: projectCats,
|
731
|
+
getMockUrl: function getMockUrl() {
|
732
|
+
return "".concat(serverUrl, "/mock/").concat(projectInfo._id);
|
733
|
+
},
|
734
|
+
getDevUrl: function getDevUrl(devEnvName) {
|
735
|
+
var env = projectInfo.env.find(function (e) {
|
736
|
+
return e.name === devEnvName;
|
737
|
+
});
|
738
|
+
return env && env.domain
|
739
|
+
/* istanbul ignore next */
|
740
|
+
|| '';
|
741
|
+
},
|
742
|
+
getProdUrl: function getProdUrl(prodEnvName) {
|
743
|
+
var env = projectInfo.env.find(function (e) {
|
744
|
+
return e.name === prodEnvName;
|
745
|
+
});
|
746
|
+
return env && env.domain
|
747
|
+
/* istanbul ignore next */
|
748
|
+
|| '';
|
749
|
+
}
|
750
|
+
})];
|
751
|
+
}
|
752
|
+
});
|
753
|
+
});
|
754
|
+
};
|
755
|
+
|
756
|
+
exports.fetchProjectInfo = fetchProjectInfo;
|
757
|
+
/**
|
758
|
+
* 获取单个接口信息 by id
|
759
|
+
*/
|
760
|
+
|
761
|
+
var fetchInterfaceById = function fetchInterfaceById(id, config) {
|
762
|
+
return __awaiter(void 0, void 0, void 0, function () {
|
763
|
+
var res;
|
764
|
+
return __generator(this, function (_a) {
|
765
|
+
switch (_a.label) {
|
766
|
+
case 0:
|
767
|
+
return [4
|
768
|
+
/*yield*/
|
769
|
+
, (0, exports.fetchApi)(constants_1.yapiApiInterfaceDetail, {
|
770
|
+
id: id
|
771
|
+
}, config)];
|
772
|
+
|
773
|
+
case 1:
|
774
|
+
res = _a.sent();
|
775
|
+
return [2
|
776
|
+
/*return*/
|
777
|
+
, res];
|
778
|
+
}
|
779
|
+
});
|
780
|
+
});
|
781
|
+
};
|
782
|
+
|
783
|
+
exports.fetchInterfaceById = fetchInterfaceById;
|
784
|
+
/**
|
785
|
+
* 获取分类下的接口列表信息 by id
|
786
|
+
*/
|
787
|
+
|
788
|
+
var fetchCatInterfaceById = function fetchCatInterfaceById(catid, config) {
|
789
|
+
return __awaiter(void 0, void 0, void 0, function () {
|
790
|
+
var res, list;
|
791
|
+
return __generator(this, function (_a) {
|
792
|
+
switch (_a.label) {
|
793
|
+
case 0:
|
794
|
+
return [4
|
795
|
+
/*yield*/
|
796
|
+
, (0, exports.fetchApi)(constants_1.yapiApiCatInterfaceList, {
|
797
|
+
catid: catid,
|
798
|
+
page: 1,
|
799
|
+
limit: 5000
|
800
|
+
}, __assign(__assign({}, config), {
|
801
|
+
errorExit: false
|
802
|
+
}))];
|
803
|
+
|
804
|
+
case 1:
|
805
|
+
res = _a.sent();
|
806
|
+
list = res.list; // if (list.length) {
|
807
|
+
// const resList = await Promise.all(
|
808
|
+
// list.map(async item => fetchInterfaceById(item._id, { ...config, errorExit: false }))
|
809
|
+
// );
|
810
|
+
// return resList;
|
811
|
+
// }
|
812
|
+
|
813
|
+
return [2
|
814
|
+
/*return*/
|
815
|
+
, list];
|
816
|
+
}
|
817
|
+
});
|
818
|
+
});
|
819
|
+
};
|
820
|
+
|
821
|
+
exports.fetchCatInterfaceById = fetchCatInterfaceById;
|
822
|
+
/**
|
823
|
+
* 批量获取分类下的详细接口信息
|
824
|
+
* @param categoryList
|
825
|
+
* @param config
|
826
|
+
* @returns
|
827
|
+
*/
|
828
|
+
|
829
|
+
var getInterfacesByCategoryIds = function getInterfacesByCategoryIds(categoryIds, config) {
|
830
|
+
return __awaiter(void 0, void 0, void 0, function () {
|
831
|
+
var res, allInterface, result;
|
832
|
+
return __generator(this, function (_a) {
|
833
|
+
switch (_a.label) {
|
834
|
+
case 0:
|
835
|
+
return [4
|
836
|
+
/*yield*/
|
837
|
+
, (0, helpers_1.autoAsyncSplitQueue)(categoryIds.map(function (id) {
|
838
|
+
return function () {
|
839
|
+
return __awaiter(void 0, void 0, void 0, function () {
|
840
|
+
var rr;
|
841
|
+
return __generator(this, function (_a) {
|
842
|
+
switch (_a.label) {
|
843
|
+
case 0:
|
844
|
+
return [4
|
845
|
+
/*yield*/
|
846
|
+
, (0, exports.fetchCatInterfaceById)(id, config)];
|
847
|
+
|
848
|
+
case 1:
|
849
|
+
rr = _a.sent();
|
850
|
+
return [2
|
851
|
+
/*return*/
|
852
|
+
, rr];
|
853
|
+
}
|
854
|
+
});
|
855
|
+
});
|
856
|
+
};
|
857
|
+
}))];
|
858
|
+
|
859
|
+
case 1:
|
860
|
+
res = _a.sent();
|
861
|
+
allInterface = res.flat();
|
862
|
+
return [4
|
863
|
+
/*yield*/
|
864
|
+
, (0, helpers_1.autoAsyncSplitQueue)(allInterface.map(function (j) {
|
865
|
+
return function () {
|
866
|
+
return __awaiter(void 0, void 0, void 0, function () {
|
867
|
+
var info;
|
868
|
+
return __generator(this, function (_a) {
|
869
|
+
switch (_a.label) {
|
870
|
+
case 0:
|
871
|
+
return [4
|
872
|
+
/*yield*/
|
873
|
+
, (0, exports.fetchInterfaceById)(j._id, config)];
|
874
|
+
|
875
|
+
case 1:
|
876
|
+
info = _a.sent();
|
877
|
+
return [2
|
878
|
+
/*return*/
|
879
|
+
, info];
|
880
|
+
}
|
881
|
+
});
|
882
|
+
});
|
883
|
+
};
|
884
|
+
}))];
|
885
|
+
|
886
|
+
case 2:
|
887
|
+
result = _a.sent();
|
888
|
+
return [2
|
889
|
+
/*return*/
|
890
|
+
, result.flat()];
|
891
|
+
}
|
892
|
+
});
|
893
|
+
});
|
894
|
+
};
|
895
|
+
|
896
|
+
exports.getInterfacesByCategoryIds = getInterfacesByCategoryIds;
|
897
|
+
/**
|
898
|
+
* 获取项目信息和接口
|
899
|
+
* @param config
|
900
|
+
* @returns
|
901
|
+
*/
|
902
|
+
|
903
|
+
var getProjectInfoAndInterfaces = function getProjectInfoAndInterfaces(config) {
|
904
|
+
return __awaiter(void 0, void 0, void 0, function () {
|
905
|
+
var _a, categories, token, projectInfo, allInterfaceList, simpleProjectInfo, catList;
|
906
|
+
|
907
|
+
return __generator(this, function (_b) {
|
908
|
+
switch (_b.label) {
|
909
|
+
case 0:
|
910
|
+
_a = config.categories, categories = _a === void 0 ? [] : _a, token = config.token;
|
911
|
+
allInterfaceList = [];
|
912
|
+
if (!token) return [3
|
913
|
+
/*break*/
|
914
|
+
, 3];
|
915
|
+
return [4
|
916
|
+
/*yield*/
|
917
|
+
, (0, exports.fetchProjectInfo)(config)];
|
918
|
+
|
919
|
+
case 1:
|
920
|
+
simpleProjectInfo = _b.sent();
|
921
|
+
return [4
|
922
|
+
/*yield*/
|
923
|
+
, (0, exports.fetchProjectInfoById)(__assign(__assign({}, config), {
|
924
|
+
projectId: simpleProjectInfo._id
|
925
|
+
}))];
|
926
|
+
|
927
|
+
case 2:
|
928
|
+
projectInfo = _b.sent();
|
929
|
+
return [3
|
930
|
+
/*break*/
|
931
|
+
, 5];
|
932
|
+
|
933
|
+
case 3:
|
934
|
+
return [4
|
935
|
+
/*yield*/
|
936
|
+
, (0, exports.fetchProjectInfoById)(config)];
|
937
|
+
|
938
|
+
case 4:
|
939
|
+
projectInfo = _b.sent();
|
940
|
+
_b.label = 5;
|
941
|
+
|
942
|
+
case 5:
|
943
|
+
catList = ((projectInfo === null || projectInfo === void 0 ? void 0 : projectInfo.cat) || []).filter(function (item) {
|
944
|
+
return (categories === null || categories === void 0 ? void 0 : categories.findIndex(function (i) {
|
945
|
+
return i.id === item._id;
|
946
|
+
})) >= 0;
|
947
|
+
});
|
948
|
+
if (!(catList === null || catList === void 0 ? void 0 : catList.length)) return [3
|
949
|
+
/*break*/
|
950
|
+
, 7];
|
951
|
+
return [4
|
952
|
+
/*yield*/
|
953
|
+
, Promise.all(catList.map(function (item, index) {
|
954
|
+
return __awaiter(void 0, void 0, void 0, function () {
|
955
|
+
var interfaceList;
|
956
|
+
return __generator(this, function (_a) {
|
957
|
+
switch (_a.label) {
|
958
|
+
case 0:
|
959
|
+
return [4
|
960
|
+
/*yield*/
|
961
|
+
, (0, exports.getInterfacesByCategoryIds)([item._id], config)];
|
962
|
+
|
963
|
+
case 1:
|
964
|
+
interfaceList = _a.sent();
|
965
|
+
catList[index].list = interfaceList.map(function (kk) {
|
966
|
+
kk._category = (0, vtils_1.omit)(item, ['list']); // 追加分类信息
|
967
|
+
|
968
|
+
return kk;
|
969
|
+
});
|
970
|
+
return [2
|
971
|
+
/*return*/
|
972
|
+
];
|
973
|
+
}
|
974
|
+
});
|
975
|
+
});
|
976
|
+
}))];
|
977
|
+
|
978
|
+
case 6:
|
979
|
+
_b.sent();
|
980
|
+
|
981
|
+
allInterfaceList = catList;
|
982
|
+
return [3
|
983
|
+
/*break*/
|
984
|
+
, 9];
|
985
|
+
|
986
|
+
case 7:
|
987
|
+
return [4
|
988
|
+
/*yield*/
|
989
|
+
, (0, exports.fetchInterfaceList)(__assign(__assign({}, config), {
|
990
|
+
token: token || projectInfo.token
|
991
|
+
}))];
|
992
|
+
|
993
|
+
case 8:
|
994
|
+
// 未配置,则全量生成,此时用export接口更高效
|
995
|
+
allInterfaceList = _b.sent();
|
996
|
+
_b.label = 9;
|
997
|
+
|
998
|
+
case 9:
|
999
|
+
return [2
|
1000
|
+
/*return*/
|
1001
|
+
, {
|
1002
|
+
projectInfo: projectInfo,
|
1003
|
+
allInterfaceList: allInterfaceList
|
1004
|
+
}];
|
1005
|
+
}
|
1006
|
+
});
|
1007
|
+
});
|
1008
|
+
};
|
1009
|
+
|
1010
|
+
exports.getProjectInfoAndInterfaces = getProjectInfoAndInterfaces;
|