koa-micro-ts 4.1.1 → 5.2.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/apiDoc.js CHANGED
@@ -1,12 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.statsDocObj = exports.parseFileApiDoc = exports.mergeDeep = exports.healthDocObj = exports.createHtml = void 0;
4
- const fs_1 = require("fs");
5
- const os_1 = require("os");
6
- let html = '';
3
+ exports.statsDocObj = exports.parseReducedDocs = exports.parseFileApiDoc = exports.mergeDeep = exports.healthDocObj = exports.createHtml = exports.autoDocEntry = void 0;
4
+ const node_fs_1 = require("node:fs");
5
+ const node_os_1 = require("node:os");
7
6
  const mergeDeep = (target, source) => {
8
- for (let key in source) {
9
- if (target.hasOwnProperty(key)) {
7
+ for (const key in source) {
8
+ if (Object.hasOwn(target, key)) {
10
9
  target[key] = [...target[key], ...source[key]];
11
10
  }
12
11
  else {
@@ -16,15 +15,9 @@ const mergeDeep = (target, source) => {
16
15
  return target;
17
16
  };
18
17
  exports.mergeDeep = mergeDeep;
19
- const orderObj = (unordered) => {
20
- return Object.keys(unordered).sort().reduce((obj, key) => {
21
- obj[key] = unordered[key];
22
- return obj;
23
- }, {});
24
- };
25
18
  const compareApi = (a, b) => {
26
- const aPath = a.path.replace(/{/g, '-');
27
- const bPath = b.path.replace(/{/g, '-');
19
+ const aPath = a.path.replace(/{/g, "-");
20
+ const bPath = b.path.replace(/{/g, "-");
28
21
  if (aPath < bPath) {
29
22
  return -1;
30
23
  }
@@ -40,80 +33,85 @@ const compareApi = (a, b) => {
40
33
  return 0;
41
34
  };
42
35
  const orderApiObj = (apiObj) => {
43
- for (let key in apiObj) {
36
+ for (const key in apiObj) {
44
37
  apiObj[key] = apiObj[key].sort(compareApi);
45
38
  }
46
39
  return apiObj;
47
40
  };
48
41
  const parseParamValue = (value, secure) => {
49
42
  let param = {};
50
- let parts = value.split(/(\s+)/).filter((e) => { return e.trim().length > 0; });
51
- let group = '';
52
- if (parts[0].indexOf('(') > -1 && parts[0].indexOf(')') > parts[0].indexOf('(')) {
53
- group = parts[0].replace(/.*\(|\).*/g, '');
43
+ const parts = value.split(/(\s+)/).filter((e) => {
44
+ return e.trim().length > 0;
45
+ });
46
+ let group = "";
47
+ if (parts[0].indexOf("(") > -1 && parts[0].indexOf(")") > parts[0].indexOf("(")) {
48
+ group = parts[0].replace(/.*\(|\).*/g, "");
54
49
  parts.shift();
55
50
  }
56
- if (parts[0].indexOf('{') > -1 && parts[0].indexOf('}') > parts[0].indexOf('{')) {
57
- const paramType = parts[0].replace(/.*\{|\}.*/g, '');
51
+ if (parts[0].indexOf("{") > -1 && parts[0].indexOf("}") > parts[0].indexOf("{")) {
52
+ const paramType = parts[0].replace(/.*\{|\}.*/g, "");
58
53
  parts.shift();
59
- let paramStr = '';
60
- let paramDefault = '';
54
+ let paramStr = "";
55
+ let paramDefault = "";
61
56
  let mandatory = true;
62
- if (parts[0].indexOf('[') > -1 && parts[0].indexOf(']') > parts[0].indexOf('[')) {
63
- paramStr = parts[0].replace(/.*\[|\].*/g, '');
57
+ if (parts[0].indexOf("[") > -1 && parts[0].indexOf("]") > parts[0].indexOf("[")) {
58
+ paramStr = parts[0].replace(/.*\[|\].*/g, "");
64
59
  mandatory = false;
65
60
  }
66
61
  else {
67
62
  paramStr = parts[0];
68
63
  }
69
- if (paramStr.indexOf('=') > -1) {
70
- const paramParts = paramStr.split('=');
64
+ if (paramStr.indexOf("=") > -1) {
65
+ const paramParts = paramStr.split("=");
71
66
  paramStr = paramParts[0];
72
67
  paramDefault = paramParts[1];
73
68
  }
74
69
  parts.shift();
75
- const description = parts.join(' ');
70
+ const description = parts.join(" ");
76
71
  param = {
77
72
  group,
78
73
  type: paramType,
79
74
  name: paramStr,
80
75
  mandatory,
81
76
  default: paramDefault,
82
- description
77
+ description,
83
78
  };
84
79
  }
85
80
  return param;
86
81
  };
87
82
  const parseKeyValue = (keyValues, secure) => {
88
83
  const res = {};
89
- keyValues.forEach(keyValue => {
90
- var _a;
91
- const parts = keyValue.split(' ');
84
+ keyValues.forEach((keyValue) => {
85
+ var _a, _b, _c, _d;
86
+ const parts = keyValue.split(" ");
92
87
  if (parts.length > 1) {
93
88
  let key;
94
- key = parts.length > 1 ? (_a = parts.shift()) !== null && _a !== void 0 ? _a : '' : '';
95
- let value = parts.join(' ').replace(/\n \*\n/g, '\n').replace(/\n \*/g, '\n');
96
- if (value.endsWith('\n *')) {
89
+ key = parts.length > 1 ? ((_a = parts.shift()) !== null && _a !== void 0 ? _a : "") : "";
90
+ let value = parts
91
+ .join(" ")
92
+ .replace(/\n \*\n/g, "\n")
93
+ .replace(/\n \*/g, "\n");
94
+ if (value.endsWith("\n *")) {
97
95
  value = value.substring(0, value.length - 4);
98
96
  }
99
- if (value.endsWith('\n')) {
97
+ if (value.endsWith("\n")) {
100
98
  value = value.substring(0, value.length - 1);
101
99
  }
102
100
  if (key && value) {
103
- if (key === 'apiParam') {
104
- if (!res.apiParams || !res.apiParams.length) {
101
+ if (key === "apiParam") {
102
+ if (!((_b = res.apiParams) === null || _b === void 0 ? void 0 : _b.length)) {
105
103
  res.apiParams = [];
106
104
  }
107
105
  res.apiParams.push(parseParamValue(value, secure));
108
106
  }
109
- else if (key === 'apiBody') {
110
- if (!res.apiBody || !res.apiBody.length) {
107
+ else if (key === "apiBody") {
108
+ if (!((_c = res.apiBody) === null || _c === void 0 ? void 0 : _c.length)) {
111
109
  res.apiBody = [];
112
110
  }
113
111
  res.apiBody.push(parseParamValue(value, secure));
114
112
  }
115
- else if (key === 'apiSuccess') {
116
- if (!res.apiSuccess || !res.apiSuccess.length) {
113
+ else if (key === "apiSuccess") {
114
+ if (!((_d = res.apiSuccess) === null || _d === void 0 ? void 0 : _d.length)) {
117
115
  res.apiSuccess = [];
118
116
  }
119
117
  res.apiSuccess.push(parseParamValue(value, secure));
@@ -128,40 +126,39 @@ const parseKeyValue = (keyValues, secure) => {
128
126
  };
129
127
  const parseFileApiDoc = (fileName, secure) => {
130
128
  const apiDoc = {};
131
- const fileString = (0, fs_1.readFileSync)(fileName).toString();
132
- const parts = fileString.split('/**' + os_1.EOL);
129
+ const fileString = (0, node_fs_1.readFileSync)(fileName).toString();
130
+ const parts = fileString.split(`/**${node_os_1.EOL}`);
133
131
  parts.forEach((part) => {
134
132
  var _a, _b;
135
- const keyValues = part.split(os_1.EOL + ' */' + os_1.EOL)[0].split(os_1.EOL + ' * @');
136
- if ((_a = keyValues[0]) === null || _a === void 0 ? void 0 : _a.startsWith(' * @')) {
137
- keyValues[0] = keyValues[0].replace(' * @', '');
133
+ const keyValues = part.split(`${node_os_1.EOL} */${node_os_1.EOL}`)[0].split(`${node_os_1.EOL} * @`);
134
+ if ((_a = keyValues[0]) === null || _a === void 0 ? void 0 : _a.startsWith(" * @")) {
135
+ keyValues[0] = keyValues[0].replace(" * @", "");
138
136
  }
139
- ;
140
137
  const parsedKeyValues = parseKeyValue(keyValues, secure);
141
- const apiGroup = parsedKeyValues.apiGroup || '-';
142
- const api = parsedKeyValues.api || '';
138
+ const apiGroup = parsedKeyValues.apiGroup || "-";
139
+ const api = parsedKeyValues.api || "";
143
140
  const apiObj = {};
144
141
  if (api) {
145
- const apiParts = api.trim().split(' ');
146
- const methodPart = apiParts[0] && apiParts[0].indexOf('}') > -1 ? 0 : (((_b = apiParts[1]) === null || _b === void 0 ? void 0 : _b.indexOf('}')) > -1 ? 1 : -1);
147
- const method = methodPart > -1 ? apiParts[methodPart].replace('{', '').replace('}', '').trim() : '';
142
+ const apiParts = api.trim().split(" ");
143
+ const methodPart = apiParts[0] && apiParts[0].indexOf("}") > -1 ? 0 : ((_b = apiParts[1]) === null || _b === void 0 ? void 0 : _b.indexOf("}")) > -1 ? 1 : -1;
144
+ const method = methodPart > -1 ? apiParts[methodPart].replace("{", "").replace("}", "").trim() : "";
148
145
  apiObj.method = method;
149
- apiObj.path = apiParts[methodPart + 1] ? apiParts[methodPart + 1] : '';
146
+ apiObj.path = apiParts[methodPart + 1] ? apiParts[methodPart + 1] : "";
150
147
  apiParts.shift();
151
148
  apiParts.shift();
152
149
  if (methodPart > 0) {
153
150
  apiParts.shift();
154
151
  }
155
- apiObj.description = apiParts.join(' ');
152
+ apiObj.description = apiParts.join(" ");
156
153
  apiObj.secure = secure;
157
- apiObj.name = parsedKeyValues.apiName || '';
154
+ apiObj.name = parsedKeyValues.apiName || "";
158
155
  apiObj.params = parsedKeyValues.apiParams ? parsedKeyValues.apiParams : [];
159
156
  apiObj.bodyParams = parsedKeyValues.apiBody ? parsedKeyValues.apiBody : [];
160
157
  apiObj.paramsExample = parsedKeyValues.apiParamsExample ? parsedKeyValues.apiParamsExample : [];
161
158
  apiObj.success = parsedKeyValues.apiSuccess ? parsedKeyValues.apiSuccess : [];
162
- apiObj.successExample = parsedKeyValues.apiSuccessExample ? parsedKeyValues.apiSuccessExample : '';
163
- apiObj.error = parsedKeyValues.apiError ? parsedKeyValues.apiError : '';
164
- apiObj.errorExample = parsedKeyValues.apiErrorExample ? parsedKeyValues.apiErrorExample : '';
159
+ apiObj.successExample = parsedKeyValues.apiSuccessExample ? parsedKeyValues.apiSuccessExample : "";
160
+ apiObj.error = parsedKeyValues.apiError ? parsedKeyValues.apiError : "";
161
+ apiObj.errorExample = parsedKeyValues.apiErrorExample ? parsedKeyValues.apiErrorExample : "";
165
162
  if (!(apiGroup in apiDoc)) {
166
163
  apiDoc[apiGroup] = [];
167
164
  }
@@ -171,48 +168,97 @@ const parseFileApiDoc = (fileName, secure) => {
171
168
  return apiDoc;
172
169
  };
173
170
  exports.parseFileApiDoc = parseFileApiDoc;
171
+ const parseReducedDocs = (fileName) => {
172
+ const res = {};
173
+ const fileString = (0, node_fs_1.readFileSync)(fileName).toString();
174
+ const blocks = fileString.split('/**').slice(1);
175
+ blocks.forEach((block) => {
176
+ var _a, _b, _c, _d, _e;
177
+ const end = block.indexOf('*/');
178
+ if (end < 0) {
179
+ return;
180
+ }
181
+ const comment = block.substring(0, end);
182
+ if (comment.includes('@api')) {
183
+ return;
184
+ }
185
+ const description = comment
186
+ .split(/\r?\n/)
187
+ .map((line) => line.replace(/^\s*\*?\s?/, ''))
188
+ .join(' ')
189
+ .trim();
190
+ if (!description) {
191
+ return;
192
+ }
193
+ const after = block.substring(end + 2);
194
+ const name = ((_a = after.match(/^\s*(?:module\.)?exports\.([A-Za-z_$][\w$]*)\s*=/)) === null || _a === void 0 ? void 0 : _a[1]) ||
195
+ ((_b = after.match(/^\s*export\s+(?:const|let|var)\s+([A-Za-z_$][\w$]*)/)) === null || _b === void 0 ? void 0 : _b[1]) ||
196
+ ((_c = after.match(/^\s*export\s+(?:async\s+)?function\s+([A-Za-z_$][\w$]*)/)) === null || _c === void 0 ? void 0 : _c[1]) ||
197
+ ((_d = after.match(/^\s*(?:const|let|var)\s+([A-Za-z_$][\w$]*)\s*=/)) === null || _d === void 0 ? void 0 : _d[1]) ||
198
+ ((_e = after.match(/^\s*(?:async\s+)?function\s+([A-Za-z_$][\w$]*)/)) === null || _e === void 0 ? void 0 : _e[1]);
199
+ if (name) {
200
+ res[name] = description;
201
+ }
202
+ });
203
+ return res;
204
+ };
205
+ exports.parseReducedDocs = parseReducedDocs;
206
+ const normalizePath = (path) => {
207
+ return path.split('?')[0].replace(/\/+$/, '');
208
+ };
209
+ const autoDocEntry = (docObj, group, method, path, secure, meta) => {
210
+ const normalized = normalizePath(path);
211
+ for (const key in docObj) {
212
+ if (docObj[key].some((e) => (e.method || '').toLowerCase() === method.toLowerCase() && normalizePath(e.path || '') === normalized)) {
213
+ return;
214
+ }
215
+ }
216
+ const m = typeof meta === 'string' ? { description: meta } : (meta || {});
217
+ if (!(group in docObj)) {
218
+ docObj[group] = [];
219
+ }
220
+ docObj[group].push({
221
+ method,
222
+ path,
223
+ description: m.description || '',
224
+ secure,
225
+ name: '',
226
+ params: [],
227
+ bodyParams: [],
228
+ paramsExample: m.paramsExample || '',
229
+ success: [],
230
+ successExample: m.successExample || '',
231
+ error: m.error || '',
232
+ errorExample: m.errorExample || '',
233
+ });
234
+ };
235
+ exports.autoDocEntry = autoDocEntry;
174
236
  const healthDocObj = (healthPath, livePath) => {
175
237
  return {
176
238
  Health: [
177
239
  {
178
- method: 'get',
240
+ method: "get",
179
241
  path: livePath,
180
- description: 'Liveness endpoint (server live)',
242
+ description: "Liveness endpoint (server live)",
181
243
  params: [],
182
244
  bodyParams: [],
183
245
  success: [],
184
- successExample: 'Success Response:\n' +
185
- ' HTTP/1.1 200 OK\n' +
186
- ' {\n' +
187
- ' "check": "liveness"\n' +
188
- ' "status": "up"\n' +
189
- ' }',
190
- error: 'Server is not live, cannot reply to calls',
191
- errorExample: 'Error-Response:\n' +
192
- ' HTTP/1.1 503 Service unavailable'
246
+ successExample: `Success Response:\n HTTP/1.1 200 OK\n {\n "check": "liveness"\n "status": "up"\n }`,
247
+ error: "Server is not live, cannot reply to calls",
248
+ errorExample: `Error-Response:\n HTTP/1.1 503 Service unavailable`,
193
249
  },
194
250
  {
195
- method: 'get',
251
+ method: "get",
196
252
  path: healthPath,
197
- description: 'Readiness endpoint (all ready)',
253
+ description: "Readiness endpoint (all ready)",
198
254
  params: [],
199
255
  bodyParams: [],
200
256
  success: [],
201
- successExample: 'Success Response:\n' +
202
- ' HTTP/1.1 200 OK\n' +
203
- ' {\n' +
204
- ' "check": "readyness"\n' +
205
- ' "status": "ready"\n' +
206
- ' }',
207
- error: 'Server is live but not yet ready',
208
- errorExample: 'Error-Response:\n' +
209
- ' HTTP/1.1 503 Service unavailable\n' +
210
- ' {\n' +
211
- ' "check": "readyness"\n' +
212
- ' "status": "not ready"\n' +
213
- ' }'
214
- }
215
- ]
257
+ successExample: `Success Response:\n HTTP/1.1 200 OK\n {\n "check": "readyness"\n "status": "ready"\n }`,
258
+ error: "Server is live but not yet ready",
259
+ errorExample: `Error-Response:\n HTTP/1.1 503 Service unavailable\n {\n "check": "readyness"\n "status": "not ready"\n }`,
260
+ },
261
+ ],
216
262
  };
217
263
  };
218
264
  exports.healthDocObj = healthDocObj;
@@ -220,52 +266,59 @@ const statsDocObj = (statsPath) => {
220
266
  return {
221
267
  Stats: [
222
268
  {
223
- method: 'get',
269
+ method: "get",
224
270
  path: statsPath,
225
- description: 'Request stats for micro service',
271
+ description: "Request stats for micro service",
226
272
  params: [],
227
273
  bodyParams: [],
228
274
  success: [],
229
- successExample: 'Success Response:\n' +
230
- ' HTTP/1.1 200 OK\n' +
231
- ' {\n' +
232
- ' "message": "Request statistics",\n' +
233
- ' "stats": {\n' +
234
- ' "totalRequests": 7,\n' +
235
- ' "statusCounts": {\n' +
236
- ' "2xx": 4,\n' +
237
- ' "4xx": 3\n' +
238
- ' },\n' +
239
- ' "pathCounts": {\n' +
240
- ' "/": 1,\n' +
241
- ' "/...": 1,\n' +
242
- ' ...,\n' +
243
- ' "/stats": 1\n' +
244
- ' },\n' +
245
- ' "lastRequestTime": "20XX-01-01T20:54:19.373Z",\n' +
246
- ' "responseTimes": [5, 1, 0, 7, 7, 6, 0],\n' +
247
- ' "avgResponseTime": 3.7142857142857144\n' +
248
- ' }\n' +
249
- ' }',
250
- error: 'No stats available',
251
- errorExample: 'Error-Response:\n' +
252
- ' HTTP/1.1 503 Service unavailable'
253
- }
254
- ]
275
+ successExample: `Success Response:\n` +
276
+ ` HTTP/1.1 200 OK\n` +
277
+ ` {\n` +
278
+ ` "message": "Request statistics",\n` +
279
+ ` "stats": {\n` +
280
+ ` "totalRequests": 7,\n` +
281
+ ` "statusCounts": {\n` +
282
+ ` "2xx": 4,\n` +
283
+ ` "4xx": 3\n` +
284
+ ` },\n` +
285
+ ` "pathCounts": {\n` +
286
+ ` "/": 1,\n` +
287
+ ` "/...": 1,\n` +
288
+ ` ...,\n` +
289
+ ` "/stats": 1\n` +
290
+ ` },\n` +
291
+ ` "lastRequestTime": "20XX-01-01T20:54:19.373Z",\n` +
292
+ ` "responseTimes": [5, 1, 0, 7, 7, 6, 0],\n` +
293
+ ` "avgResponseTime": 3.7142857142857144\n` +
294
+ ` }\n` +
295
+ ` }`,
296
+ error: "No stats available",
297
+ errorExample: `Error-Response:\n HTTP/1.1 503 Service unavailable`,
298
+ },
299
+ ],
255
300
  };
256
301
  };
257
302
  exports.statsDocObj = statsDocObj;
303
+ const escapeHtml = (value) => {
304
+ return String(value)
305
+ .replace(/&/g, '&amp;')
306
+ .replace(/</g, '&lt;')
307
+ .replace(/>/g, '&gt;')
308
+ .replace(/"/g, '&quot;')
309
+ .replace(/'/g, '&#39;');
310
+ };
258
311
  const replaceMacro = (text, vars) => {
259
312
  let result = text;
260
- for (let varName in vars) {
261
- if (vars.hasOwnProperty(varName)) {
262
- result = result.replace(new RegExp('{{' + varName + '}}', "gm"), vars[varName]);
313
+ for (const varName in vars) {
314
+ if (Object.hasOwn(vars, varName)) {
315
+ result = result.replace(new RegExp(`{{${varName}}}`, "gm"), () => String(vars[varName]));
263
316
  }
264
317
  }
265
- return (result);
318
+ return result;
266
319
  };
267
320
  const createHtml = (apiDocObj) => {
268
- let html = '';
321
+ let html = "";
269
322
  apiDocObj = orderApiObj(apiDocObj);
270
323
  const htmlBody = `
271
324
  <!DOCTYPE html>
@@ -659,80 +712,86 @@ const createHtml = (apiDocObj) => {
659
712
  const htmlOptional = ` <span class='param-optional'>optional</span>`;
660
713
  const htmlDefault = ` <span class='param-default'>default: {{DEFAULTVALUE}}</span>`;
661
714
  let id = 1;
662
- let groups = '';
663
- for (let varName in apiDocObj) {
664
- if (apiDocObj.hasOwnProperty(varName)) {
715
+ let groups = "";
716
+ for (const varName in apiDocObj) {
717
+ if (Object.hasOwn(apiDocObj, varName)) {
665
718
  const groupObj = apiDocObj[varName];
666
- let tabs = '';
719
+ let tabs = "";
667
720
  groupObj.forEach((endpoint) => {
668
721
  var _a, _b, _c;
669
- let params = '';
722
+ let params = "";
670
723
  if ((_a = endpoint.params) === null || _a === void 0 ? void 0 : _a.length) {
671
- let queryParams = '';
724
+ let queryParams = "";
672
725
  endpoint.params.forEach((queryParam) => {
673
- let description = queryParam.description ? queryParam.description : '';
726
+ let description = escapeHtml(queryParam.description ? queryParam.description : "");
674
727
  if (!queryParam.mandatory) {
675
728
  description += htmlOptional;
676
729
  }
677
730
  if (queryParam.default) {
678
- description += replaceMacro(htmlDefault, { DEFAULTVALUE: queryParam.default });
731
+ description += replaceMacro(htmlDefault, { DEFAULTVALUE: escapeHtml(queryParam.default) });
679
732
  }
680
- queryParams = queryParams + replaceMacro(htmlParamLines, {
681
- NAME: queryParam.name ? queryParam.name : '',
682
- TYPE: queryParam.type ? queryParam.type : '',
683
- DESCRIPTION: description
684
- });
733
+ queryParams =
734
+ queryParams +
735
+ replaceMacro(htmlParamLines, {
736
+ NAME: queryParam.name ? escapeHtml(queryParam.name) : "",
737
+ TYPE: queryParam.type ? escapeHtml(queryParam.type) : "",
738
+ DESCRIPTION: description,
739
+ });
685
740
  });
686
- params = replaceMacro(htmlParams, { PARAMTYPE: endpoint.method.toLowerCase() === 'get' ? 'Query Parameters' : 'Body Parameters', PARAMS: queryParams });
741
+ params = replaceMacro(htmlParams, { PARAMTYPE: endpoint.method.toLowerCase() === "get" ? "Query Parameters" : "Body Parameters", PARAMS: queryParams });
687
742
  }
688
743
  if ((_b = endpoint.bodyParams) === null || _b === void 0 ? void 0 : _b.length) {
689
- let bodyParams = '';
744
+ let bodyParams = "";
690
745
  endpoint.bodyParams.forEach((bodyParam) => {
691
- let description = bodyParam.description ? bodyParam.description : '';
746
+ let description = escapeHtml(bodyParam.description ? bodyParam.description : "");
692
747
  if (!bodyParam.mandatory) {
693
748
  description += htmlOptional;
694
749
  }
695
750
  if (bodyParam.default) {
696
- description += replaceMacro(htmlDefault, { DEFAULTVALUE: bodyParam.default });
751
+ description += replaceMacro(htmlDefault, { DEFAULTVALUE: escapeHtml(bodyParam.default) });
697
752
  }
698
- bodyParams = bodyParams + replaceMacro(htmlParamLines, {
699
- NAME: bodyParam.name ? bodyParam.name : '',
700
- TYPE: bodyParam.type ? bodyParam.type : '',
701
- DESCRIPTION: description
702
- });
753
+ bodyParams =
754
+ bodyParams +
755
+ replaceMacro(htmlParamLines, {
756
+ NAME: bodyParam.name ? escapeHtml(bodyParam.name) : "",
757
+ TYPE: bodyParam.type ? escapeHtml(bodyParam.type) : "",
758
+ DESCRIPTION: description,
759
+ });
703
760
  });
704
- params = replaceMacro(htmlParams, { PARAMTYPE: 'Body Parameters', PARAMS: bodyParams });
761
+ params = replaceMacro(htmlParams, { PARAMTYPE: "Body Parameters", PARAMS: bodyParams });
705
762
  }
706
- let success = '';
763
+ let success = "";
707
764
  if ((_c = endpoint.success) === null || _c === void 0 ? void 0 : _c.length) {
708
- let successParams = '';
765
+ let successParams = "";
709
766
  endpoint.success.forEach((successParam) => {
710
- successParams = successParams + replaceMacro(htmlParamLines, {
711
- NAME: successParam.name ? successParam.name : '',
712
- TYPE: successParam.type ? successParam.type : '',
713
- DESCRIPTION: successParam.description ? successParam.description : '',
714
- });
767
+ successParams =
768
+ successParams +
769
+ replaceMacro(htmlParamLines, {
770
+ NAME: successParam.name ? escapeHtml(successParam.name) : "",
771
+ TYPE: successParam.type ? escapeHtml(successParam.type) : "",
772
+ DESCRIPTION: successParam.description ? escapeHtml(successParam.description) : "",
773
+ });
715
774
  });
716
775
  success = replaceMacro(htmlSuccess, { SUCCESSPARAMS: successParams });
717
776
  }
718
777
  const macroVars = {
719
778
  ID: id,
720
- METHODSMALL: endpoint.method ? endpoint.method.toLowerCase() : '',
721
- METHOD: endpoint.method ? endpoint.method.toUpperCase() : '',
722
- PATH: endpoint.path ? endpoint.path : '',
723
- DESCRIPTION: endpoint.description ? endpoint.description : '',
724
- LOCK: endpoint.secure ? htmlLock : '',
779
+ METHODSMALL: endpoint.method ? escapeHtml(endpoint.method.toLowerCase()) : "",
780
+ METHOD: endpoint.method ? escapeHtml(endpoint.method.toUpperCase()) : "",
781
+ PATH: endpoint.path ? escapeHtml(endpoint.path) : "",
782
+ DESCRIPTION: endpoint.description ? escapeHtml(endpoint.description) : "",
783
+ LOCK: endpoint.secure ? htmlLock : "",
725
784
  PARAMS: params,
726
- PARAMSEXAMPLE: endpoint.paramsExample ? replaceMacro(htmlParamsExample, { PARAMSEXAMPLE: endpoint.paramsExample }) : '',
785
+ PARAMSEXAMPLE: endpoint.paramsExample ? replaceMacro(htmlParamsExample, { PARAMSEXAMPLE: escapeHtml(endpoint.paramsExample) }) : "",
727
786
  SUCCESS: success,
728
- SUCCESSEXAMPLE: endpoint.successExample ? replaceMacro(htmlSuccessExample, { SUCCESSEXAMPLE: endpoint.successExample }) : '',
729
- ERROR: endpoint.error ? replaceMacro(htmlError, { ERROR: endpoint.error }) : '',
730
- ERROREXAMPLE: endpoint.errorExample ? replaceMacro(htmlErrorExample, { ERROREXAMPLE: endpoint.errorExample }) : ''
787
+ SUCCESSEXAMPLE: endpoint.successExample ? replaceMacro(htmlSuccessExample, { SUCCESSEXAMPLE: escapeHtml(endpoint.successExample) }) : "",
788
+ ERROR: endpoint.error ? replaceMacro(htmlError, { ERROR: escapeHtml(endpoint.error) }) : "",
789
+ ERROREXAMPLE: endpoint.errorExample ? replaceMacro(htmlErrorExample, { ERROREXAMPLE: escapeHtml(endpoint.errorExample) }) : "",
731
790
  };
732
791
  tabs = tabs + replaceMacro(htmlTab, macroVars);
733
792
  id++;
734
793
  });
735
- groups = groups + replaceMacro(htmlGroup, { GROUPLABEL: varName, TABS: tabs });
794
+ groups = groups + replaceMacro(htmlGroup, { GROUPLABEL: escapeHtml(varName), TABS: tabs });
736
795
  }
737
796
  }
738
797
  html = replaceMacro(htmlBody, { GROUPS: groups });
@@ -1 +1 @@
1
- {"version":3,"file":"apiDoc.js","sourceRoot":"","sources":["../src/apiDoc.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"apiDoc.js","sourceRoot":"","sources":["../src/apiDoc.ts"],"names":[],"mappings":"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"}