@tsoa-next/cli 8.0.0 → 8.0.1-dev.44.a051324b
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/api.d.ts +2 -1
- package/dist/api.js +172 -144
- package/dist/api.js.map +1 -1
- package/dist/cli.d.ts +1 -2
- package/dist/cli.js +2 -1
- package/dist/cli.js.map +1 -1
- package/dist/metadataGeneration/controllerGenerator.js +10 -13
- package/dist/metadataGeneration/controllerGenerator.js.map +1 -1
- package/dist/metadataGeneration/exceptions.d.ts +3 -3
- package/dist/metadataGeneration/exceptions.js +5 -12
- package/dist/metadataGeneration/exceptions.js.map +1 -1
- package/dist/metadataGeneration/extension.js +2 -2
- package/dist/metadataGeneration/extension.js.map +1 -1
- package/dist/metadataGeneration/initializer-value.js +90 -80
- package/dist/metadataGeneration/initializer-value.js.map +1 -1
- package/dist/metadataGeneration/metadataGenerator.js +20 -22
- package/dist/metadataGeneration/metadataGenerator.js.map +1 -1
- package/dist/metadataGeneration/methodGenerator.d.ts +1 -0
- package/dist/metadataGeneration/methodGenerator.js +39 -27
- package/dist/metadataGeneration/methodGenerator.js.map +1 -1
- package/dist/metadataGeneration/parameterGenerator.d.ts +5 -0
- package/dist/metadataGeneration/parameterGenerator.js +79 -90
- package/dist/metadataGeneration/parameterGenerator.js.map +1 -1
- package/dist/metadataGeneration/transformer/dateTransformer.js +3 -5
- package/dist/metadataGeneration/transformer/dateTransformer.js.map +1 -1
- package/dist/metadataGeneration/transformer/enumTransformer.d.ts +2 -0
- package/dist/metadataGeneration/transformer/enumTransformer.js +34 -12
- package/dist/metadataGeneration/transformer/enumTransformer.js.map +1 -1
- package/dist/metadataGeneration/transformer/primitiveTransformer.js +2 -4
- package/dist/metadataGeneration/transformer/primitiveTransformer.js.map +1 -1
- package/dist/metadataGeneration/transformer/propertyTransformer.d.ts +1 -0
- package/dist/metadataGeneration/transformer/propertyTransformer.js +14 -19
- package/dist/metadataGeneration/transformer/propertyTransformer.js.map +1 -1
- package/dist/metadataGeneration/transformer/referenceTransformer.d.ts +2 -0
- package/dist/metadataGeneration/transformer/referenceTransformer.js +35 -18
- package/dist/metadataGeneration/transformer/referenceTransformer.js.map +1 -1
- package/dist/metadataGeneration/transformer/transformer.js +3 -4
- package/dist/metadataGeneration/transformer/transformer.js.map +1 -1
- package/dist/metadataGeneration/typeResolver.d.ts +79 -0
- package/dist/metadataGeneration/typeResolver.js +906 -735
- package/dist/metadataGeneration/typeResolver.js.map +1 -1
- package/dist/module/generate-routes.d.ts +1 -2
- package/dist/module/generate-routes.js +18 -17
- package/dist/module/generate-routes.js.map +1 -1
- package/dist/module/generate-spec.js +1 -3
- package/dist/module/generate-spec.js.map +1 -1
- package/dist/routeGeneration/defaultRouteGenerator.js +2 -2
- package/dist/routeGeneration/defaultRouteGenerator.js.map +1 -1
- package/dist/routeGeneration/routeGenerator.d.ts +2 -0
- package/dist/routeGeneration/routeGenerator.js +20 -30
- package/dist/routeGeneration/routeGenerator.js.map +1 -1
- package/dist/swagger/specGenerator.js +1 -1
- package/dist/swagger/specGenerator.js.map +1 -1
- package/dist/swagger/specGenerator2.d.ts +12 -0
- package/dist/swagger/specGenerator2.js +200 -170
- package/dist/swagger/specGenerator2.js.map +1 -1
- package/dist/swagger/specGenerator3.d.ts +17 -87
- package/dist/swagger/specGenerator3.js +178 -172
- package/dist/swagger/specGenerator3.js.map +1 -1
- package/dist/utils/decoratorUtils.js +25 -32
- package/dist/utils/decoratorUtils.js.map +1 -1
- package/dist/utils/fs.d.ts +1 -1
- package/dist/utils/fs.js +5 -5
- package/dist/utils/fs.js.map +1 -1
- package/dist/utils/headerTypeHelpers.js +2 -5
- package/dist/utils/headerTypeHelpers.js.map +1 -1
- package/dist/utils/importClassesFromDirectories.js +2 -2
- package/dist/utils/importClassesFromDirectories.js.map +1 -1
- package/dist/utils/jsDocUtils.js +4 -11
- package/dist/utils/jsDocUtils.js.map +1 -1
- package/dist/utils/pathUtils.js +2 -2
- package/dist/utils/pathUtils.js.map +1 -1
- package/dist/utils/swaggerUtils.js +7 -1
- package/dist/utils/swaggerUtils.js.map +1 -1
- package/dist/utils/validatorUtils.js +60 -97
- package/dist/utils/validatorUtils.js.map +1 -1
- package/package.json +2 -2
|
@@ -88,7 +88,7 @@ function tsHasDecorators(tsNamespace) {
|
|
|
88
88
|
function getDecorators(node, isMatching, typeChecker) {
|
|
89
89
|
// beginning in ts4.8 node.decorator is undefined, use getDecorators instead.
|
|
90
90
|
const decorators = tsHasDecorators(ts) && ts.canHaveDecorators(node) ? ts.getDecorators(node) : [];
|
|
91
|
-
if (!decorators
|
|
91
|
+
if (!decorators?.length) {
|
|
92
92
|
return [];
|
|
93
93
|
}
|
|
94
94
|
return decorators
|
|
@@ -101,25 +101,25 @@ function getDecorators(node, isMatching, typeChecker) {
|
|
|
101
101
|
}
|
|
102
102
|
function getNodeFirstDecoratorName(node, isMatching, typeChecker) {
|
|
103
103
|
const decorators = getDecorators(node, isMatching, typeChecker);
|
|
104
|
-
if (!decorators
|
|
105
|
-
return;
|
|
104
|
+
if (!decorators?.length) {
|
|
105
|
+
return undefined;
|
|
106
106
|
}
|
|
107
107
|
return typeChecker ? getCanonicalDecoratorName(decorators[0], typeChecker) : decorators[0].text;
|
|
108
108
|
}
|
|
109
109
|
function getNodeFirstDecoratorValue(node, typeChecker, isMatching) {
|
|
110
110
|
const decorators = getDecorators(node, isMatching, typeChecker);
|
|
111
|
-
if (!decorators
|
|
112
|
-
return;
|
|
111
|
+
if (!decorators?.length) {
|
|
112
|
+
return undefined;
|
|
113
113
|
}
|
|
114
114
|
const values = getDecoratorValues(decorators[0], typeChecker);
|
|
115
|
-
return values
|
|
115
|
+
return values[0];
|
|
116
116
|
}
|
|
117
117
|
function getDecoratorValues(decorator, typeChecker) {
|
|
118
118
|
if (!ts.isCallExpression(decorator.parent)) {
|
|
119
119
|
return [];
|
|
120
120
|
}
|
|
121
121
|
const expArguments = decorator.parent.arguments;
|
|
122
|
-
if (!expArguments
|
|
122
|
+
if (!expArguments?.length) {
|
|
123
123
|
return [];
|
|
124
124
|
}
|
|
125
125
|
return expArguments.map(a => (0, initializer_value_1.getInitializerValue)(a, typeChecker));
|
|
@@ -135,7 +135,7 @@ function getSecurites(decorator, typeChecker) {
|
|
|
135
135
|
}
|
|
136
136
|
function isDecorator(node, isMatching, typeChecker) {
|
|
137
137
|
const decorators = getDecorators(node, isMatching, typeChecker);
|
|
138
|
-
if (!decorators
|
|
138
|
+
if (!decorators?.length) {
|
|
139
139
|
return false;
|
|
140
140
|
}
|
|
141
141
|
return true;
|
|
@@ -152,12 +152,10 @@ function getPath(decorator, typeChecker) {
|
|
|
152
152
|
}
|
|
153
153
|
function getProduces(node, typeChecker) {
|
|
154
154
|
const producesDecorators = getDecorators(node, (_identifier, canonicalName) => canonicalName === 'Produces', typeChecker);
|
|
155
|
-
if (!producesDecorators
|
|
155
|
+
if (!producesDecorators?.length) {
|
|
156
156
|
return [];
|
|
157
157
|
}
|
|
158
|
-
return producesDecorators
|
|
159
|
-
.map(decorator => getDecoratorValues(decorator, typeChecker)[0])
|
|
160
|
-
.filter((value) => typeof value === 'string');
|
|
158
|
+
return producesDecorators.map(decorator => getDecoratorValues(decorator, typeChecker)[0]).filter((value) => typeof value === 'string');
|
|
161
159
|
}
|
|
162
160
|
function toSecurity(value) {
|
|
163
161
|
return Object.fromEntries(Object.entries(value).map(([key, scopes]) => [key, Array.isArray(scopes) ? scopes.filter((scope) => typeof scope === 'string') : []]));
|
|
@@ -205,7 +203,7 @@ function isRuntimeDecoratorSymbol(symbol) {
|
|
|
205
203
|
if (moduleSpecifier && isTsoaDecoratorModuleSpecifier(moduleSpecifier)) {
|
|
206
204
|
return true;
|
|
207
205
|
}
|
|
208
|
-
const sourceFileName = declaration.getSourceFile().fileName.
|
|
206
|
+
const sourceFileName = declaration.getSourceFile().fileName.replaceAll('\\', '/').toLowerCase();
|
|
209
207
|
return (sourceFileName.includes('/packages/runtime/src/decorators/') ||
|
|
210
208
|
sourceFileName.includes('/packages/runtime/dist/decorators/') ||
|
|
211
209
|
sourceFileName.includes('/packages/tsoa/src/') ||
|
|
@@ -234,27 +232,22 @@ function getModuleSpecifierText(declaration) {
|
|
|
234
232
|
function getImportedDecoratorName(symbol) {
|
|
235
233
|
const declarations = symbol.declarations || (symbol.valueDeclaration ? [symbol.valueDeclaration] : []);
|
|
236
234
|
for (const declaration of declarations) {
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
continue;
|
|
241
|
-
}
|
|
242
|
-
const importedName = declaration.propertyName?.text ?? declaration.name.text;
|
|
243
|
-
if (TSOA_DECORATOR_NAMES.has(importedName)) {
|
|
244
|
-
return importedName;
|
|
245
|
-
}
|
|
246
|
-
}
|
|
247
|
-
if (ts.isExportSpecifier(declaration)) {
|
|
248
|
-
const moduleSpecifier = getModuleSpecifierText(declaration);
|
|
249
|
-
if (!moduleSpecifier || !isTsoaDecoratorModuleSpecifier(moduleSpecifier)) {
|
|
250
|
-
continue;
|
|
251
|
-
}
|
|
252
|
-
const exportedName = declaration.propertyName?.text ?? declaration.name.text;
|
|
253
|
-
if (TSOA_DECORATOR_NAMES.has(exportedName)) {
|
|
254
|
-
return exportedName;
|
|
255
|
-
}
|
|
235
|
+
const decoratorName = getImportedDecoratorNameFromDeclaration(declaration);
|
|
236
|
+
if (decoratorName) {
|
|
237
|
+
return decoratorName;
|
|
256
238
|
}
|
|
257
239
|
}
|
|
258
240
|
return undefined;
|
|
259
241
|
}
|
|
242
|
+
function getImportedDecoratorNameFromDeclaration(declaration) {
|
|
243
|
+
if (!ts.isImportSpecifier(declaration) && !ts.isExportSpecifier(declaration)) {
|
|
244
|
+
return undefined;
|
|
245
|
+
}
|
|
246
|
+
const moduleSpecifier = getModuleSpecifierText(declaration);
|
|
247
|
+
if (!moduleSpecifier || !isTsoaDecoratorModuleSpecifier(moduleSpecifier)) {
|
|
248
|
+
return undefined;
|
|
249
|
+
}
|
|
250
|
+
const decoratorName = declaration.propertyName?.text ?? declaration.name.text;
|
|
251
|
+
return TSOA_DECORATOR_NAMES.has(decoratorName) ? decoratorName : undefined;
|
|
252
|
+
}
|
|
260
253
|
//# sourceMappingURL=decoratorUtils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decoratorUtils.js","sourceRoot":"","sources":["../../src/utils/decoratorUtils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkDA,sCAeC;AAED,8DAOC;AAED,
|
|
1
|
+
{"version":3,"file":"decoratorUtils.js","sourceRoot":"","sources":["../../src/utils/decoratorUtils.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/fs.d.ts
CHANGED
package/dist/utils/fs.js
CHANGED
|
@@ -35,8 +35,8 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
36
|
exports.fsReadFile = exports.fsWriteFile = exports.fsMkDir = void 0;
|
|
37
37
|
exports.fsExists = fsExists;
|
|
38
|
-
const fs = __importStar(require("fs"));
|
|
39
|
-
const
|
|
38
|
+
const fs = __importStar(require("node:fs"));
|
|
39
|
+
const node_util_1 = require("node:util");
|
|
40
40
|
async function fsExists(path) {
|
|
41
41
|
try {
|
|
42
42
|
await fs.promises.access(path, fs.constants.F_OK);
|
|
@@ -49,7 +49,7 @@ async function fsExists(path) {
|
|
|
49
49
|
throw error;
|
|
50
50
|
}
|
|
51
51
|
}
|
|
52
|
-
exports.fsMkDir = (0,
|
|
53
|
-
exports.fsWriteFile = (0,
|
|
54
|
-
exports.fsReadFile = (0,
|
|
52
|
+
exports.fsMkDir = (0, node_util_1.promisify)(fs.mkdir);
|
|
53
|
+
exports.fsWriteFile = (0, node_util_1.promisify)(fs.writeFile);
|
|
54
|
+
exports.fsReadFile = (0, node_util_1.promisify)(fs.readFile);
|
|
55
55
|
//# sourceMappingURL=fs.js.map
|
package/dist/utils/fs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fs.js","sourceRoot":"","sources":["../../src/utils/fs.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,4BAWC;AAdD,
|
|
1
|
+
{"version":3,"file":"fs.js","sourceRoot":"","sources":["../../src/utils/fs.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,4BAWC;AAdD,4CAA6B;AAC7B,yCAAqC;AAE9B,KAAK,UAAU,QAAQ,CAAC,IAAiB;IAC9C,IAAI,CAAC;QACH,MAAM,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;QACjD,OAAO,IAAI,CAAA;IACb,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACvD,OAAO,KAAK,CAAA;QACd,CAAC;QAED,MAAM,KAAK,CAAA;IACb,CAAC;AACH,CAAC;AAEY,QAAA,OAAO,GAAG,IAAA,qBAAS,EAAC,EAAE,CAAC,KAAK,CAAC,CAAA;AAC7B,QAAA,WAAW,GAAG,IAAA,qBAAS,EAAC,EAAE,CAAC,SAAS,CAAC,CAAA;AACrC,QAAA,UAAU,GAAG,IAAA,qBAAS,EAAC,EAAE,CAAC,QAAQ,CAAC,CAAA"}
|
|
@@ -5,7 +5,7 @@ exports.isSupportedHeaderDataType = isSupportedHeaderDataType;
|
|
|
5
5
|
const exceptions_1 = require("../metadataGeneration/exceptions");
|
|
6
6
|
const typeResolver_1 = require("../metadataGeneration/typeResolver");
|
|
7
7
|
function getHeaderType(typeArgumentNodes, index, metadataGenerator) {
|
|
8
|
-
if (!typeArgumentNodes
|
|
8
|
+
if (!typeArgumentNodes?.[index]) {
|
|
9
9
|
return undefined;
|
|
10
10
|
}
|
|
11
11
|
const candidate = new typeResolver_1.TypeResolver(typeArgumentNodes[index], metadataGenerator).resolve();
|
|
@@ -19,9 +19,6 @@ function getHeaderType(typeArgumentNodes, index, metadataGenerator) {
|
|
|
19
19
|
}
|
|
20
20
|
function isSupportedHeaderDataType(parameterType) {
|
|
21
21
|
const supportedPathDataTypes = ['nestedObjectLiteral', 'refObject'];
|
|
22
|
-
|
|
23
|
-
return true;
|
|
24
|
-
}
|
|
25
|
-
return false;
|
|
22
|
+
return supportedPathDataTypes.includes(parameterType.dataType);
|
|
26
23
|
}
|
|
27
24
|
//# sourceMappingURL=headerTypeHelpers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"headerTypeHelpers.js","sourceRoot":"","sources":["../../src/utils/headerTypeHelpers.ts"],"names":[],"mappings":";;AAMA,sCAcC;AAED,
|
|
1
|
+
{"version":3,"file":"headerTypeHelpers.js","sourceRoot":"","sources":["../../src/utils/headerTypeHelpers.ts"],"names":[],"mappings":";;AAMA,sCAcC;AAED,8DAGC;AAvBD,iEAAwE;AAExE,qEAAiE;AAEjE,SAAgB,aAAa,CAAC,iBAAkD,EAAE,KAAa,EAAE,iBAAoC;IACnI,IAAI,CAAC,iBAAiB,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;QAChC,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,2BAAY,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE,iBAAiB,CAAC,CAAC,OAAO,EAAE,CAAA;IAEzF,IAAI,SAAS,IAAI,yBAAyB,CAAC,SAAS,CAAC,EAAE,CAAC;QACtD,OAAO,SAAS,CAAA;IAClB,CAAC;SAAM,IAAI,SAAS,EAAE,CAAC;QACrB,MAAM,IAAI,kCAAqB,CAAC,+BAA+B,iBAAiB,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,EAAE,EAAE,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAA;IAChI,CAAC;IAED,OAAO,SAAS,CAAA;AAClB,CAAC;AAED,SAAgB,yBAAyB,CAAC,aAAwB;IAChE,MAAM,sBAAsB,GAA6B,CAAC,qBAAqB,EAAE,WAAW,CAAC,CAAA;IAC7F,OAAO,sBAAsB,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAA;AAChE,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.importClassesFromDirectories = importClassesFromDirectories;
|
|
4
|
-
const
|
|
4
|
+
const node_path_1 = require("node:path");
|
|
5
5
|
const glob_1 = require("glob");
|
|
6
6
|
/**
|
|
7
7
|
* Loads all exported classes from the given directory.
|
|
@@ -14,7 +14,7 @@ function importClassesFromDirectories(directories, formats = ['.ts']) {
|
|
|
14
14
|
}, []);
|
|
15
15
|
return allFiles.filter(file => {
|
|
16
16
|
const dtsExtension = file.substring(file.length - 5, file.length);
|
|
17
|
-
return formats.
|
|
17
|
+
return formats.includes((0, node_path_1.extname)(file)) && dtsExtension !== '.d.ts';
|
|
18
18
|
});
|
|
19
19
|
}
|
|
20
20
|
//# sourceMappingURL=importClassesFromDirectories.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"importClassesFromDirectories.js","sourceRoot":"","sources":["../../src/utils/importClassesFromDirectories.ts"],"names":[],"mappings":";;AAMA,oEAWC;AAjBD
|
|
1
|
+
{"version":3,"file":"importClassesFromDirectories.js","sourceRoot":"","sources":["../../src/utils/importClassesFromDirectories.ts"],"names":[],"mappings":";;AAMA,oEAWC;AAjBD,yCAAmC;AACnC,+BAA2B;AAE3B;;GAEG;AACH,SAAgB,4BAA4B,CAAC,WAAqB,EAAE,OAAO,GAAG,CAAC,KAAK,CAAC;IACnF,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,GAAG,EAAE,EAAE;QACnD,uEAAuE;QACvE,oDAAoD;QACpD,OAAO,OAAO,CAAC,MAAM,CAAC,IAAA,WAAI,EAAC,GAAG,CAAC,CAAC,CAAA;IAClC,CAAC,EAAE,EAAc,CAAC,CAAA;IAElB,OAAO,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;QAC5B,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;QACjE,OAAO,OAAO,CAAC,QAAQ,CAAC,IAAA,mBAAO,EAAC,IAAI,CAAC,CAAC,IAAI,YAAY,KAAK,OAAO,CAAA;IACpE,CAAC,CAAC,CAAA;AACJ,CAAC"}
|
package/dist/utils/jsDocUtils.js
CHANGED
|
@@ -47,22 +47,19 @@ function getJsDocs(node) {
|
|
|
47
47
|
}
|
|
48
48
|
function getJSDocDescription(node) {
|
|
49
49
|
const jsDocs = getJsDocs(node);
|
|
50
|
-
if (
|
|
50
|
+
if (jsDocs.length === 0) {
|
|
51
51
|
return undefined;
|
|
52
52
|
}
|
|
53
53
|
return commentToString(jsDocs[0].comment) || undefined;
|
|
54
54
|
}
|
|
55
55
|
function getJSDocComment(node, tagName) {
|
|
56
56
|
const comments = getJSDocComments(node, tagName);
|
|
57
|
-
|
|
58
|
-
return comments[0];
|
|
59
|
-
}
|
|
60
|
-
return;
|
|
57
|
+
return comments?.[0];
|
|
61
58
|
}
|
|
62
59
|
function getJSDocComments(node, tagName) {
|
|
63
60
|
const tags = getJSDocTags(node, tag => tag.tagName.text === tagName || tag.tagName.escapedText === tagName);
|
|
64
61
|
if (tags.length === 0) {
|
|
65
|
-
return;
|
|
62
|
+
return undefined;
|
|
66
63
|
}
|
|
67
64
|
const comments = [];
|
|
68
65
|
tags.forEach(tag => {
|
|
@@ -107,11 +104,7 @@ function getJSDocTags(node, isMatching) {
|
|
|
107
104
|
return jsDoc.tags.filter(isMatching);
|
|
108
105
|
}
|
|
109
106
|
function isExistJSDocTag(node, isMatching) {
|
|
110
|
-
|
|
111
|
-
if (tags.length === 0) {
|
|
112
|
-
return false;
|
|
113
|
-
}
|
|
114
|
-
return true;
|
|
107
|
+
return getJSDocTags(node, isMatching).length > 0;
|
|
115
108
|
}
|
|
116
109
|
function commentToString(comment) {
|
|
117
110
|
if (typeof comment === 'string') {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jsDocUtils.js","sourceRoot":"","sources":["../../src/utils/jsDocUtils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AASA,kDAOC;AAED,
|
|
1
|
+
{"version":3,"file":"jsDocUtils.js","sourceRoot":"","sources":["../../src/utils/jsDocUtils.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/pathUtils.js
CHANGED
|
@@ -25,11 +25,11 @@ function convertColonPathParams(path) {
|
|
|
25
25
|
if (!path || typeof path !== 'string') {
|
|
26
26
|
return path;
|
|
27
27
|
}
|
|
28
|
-
const normalised = path.
|
|
28
|
+
const normalised = path.replaceAll(/:([^/]+)/g, '{$1}');
|
|
29
29
|
return normalised;
|
|
30
30
|
}
|
|
31
31
|
function convertBracesPathParams(path) {
|
|
32
|
-
return path.
|
|
32
|
+
return path.replaceAll(/{(\w*)}/g, ':$1');
|
|
33
33
|
}
|
|
34
34
|
function trimPathDelimiters(path) {
|
|
35
35
|
let start = 0;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pathUtils.js","sourceRoot":"","sources":["../../src/utils/pathUtils.ts"],"names":[],"mappings":";;AAMA,sCAaC;AAED,wDAOC;AAED,0DAEC;AAhCD;;;;;GAKG;AACH,SAAgB,aAAa,CAAC,IAAY,EAAE,UAAmB,EAAE,UAAmB,EAAE,0BAA0B,GAAG,IAAI;IACrH,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,KAAK,GAAG,CAAC,IAAI,0BAA0B,EAAE,CAAC;QAC1D,OAAO,EAAE,CAAA;IACX,CAAC;IACD,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtC,IAAI,GAAG,EAAE,GAAG,IAAI,CAAA;IAClB,CAAC;IAED,IAAI,UAAU,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAA;IACzC,UAAU,GAAG,UAAU,CAAC,CAAC,CAAC,UAAU,GAAG,UAAU,CAAC,CAAC,CAAC,UAAU,CAAA;IAC9D,UAAU,GAAG,UAAU,CAAC,CAAC,CAAC,UAAU,GAAG,UAAU,CAAC,CAAC,CAAC,UAAU,CAAA;IAE9D,OAAO,sBAAsB,CAAC,UAAU,CAAC,CAAA;AAC3C,CAAC;AAED,SAAgB,sBAAsB,CAAC,IAAY;IACjD,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtC,OAAO,IAAI,CAAA;IACb,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"pathUtils.js","sourceRoot":"","sources":["../../src/utils/pathUtils.ts"],"names":[],"mappings":";;AAMA,sCAaC;AAED,wDAOC;AAED,0DAEC;AAhCD;;;;;GAKG;AACH,SAAgB,aAAa,CAAC,IAAY,EAAE,UAAmB,EAAE,UAAmB,EAAE,0BAA0B,GAAG,IAAI;IACrH,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,KAAK,GAAG,CAAC,IAAI,0BAA0B,EAAE,CAAC;QAC1D,OAAO,EAAE,CAAA;IACX,CAAC;IACD,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtC,IAAI,GAAG,EAAE,GAAG,IAAI,CAAA;IAClB,CAAC;IAED,IAAI,UAAU,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAA;IACzC,UAAU,GAAG,UAAU,CAAC,CAAC,CAAC,UAAU,GAAG,UAAU,CAAC,CAAC,CAAC,UAAU,CAAA;IAC9D,UAAU,GAAG,UAAU,CAAC,CAAC,CAAC,UAAU,GAAG,UAAU,CAAC,CAAC,CAAC,UAAU,CAAA;IAE9D,OAAO,sBAAsB,CAAC,UAAU,CAAC,CAAA;AAC3C,CAAC;AAED,SAAgB,sBAAsB,CAAC,IAAY;IACjD,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtC,OAAO,IAAI,CAAA;IACb,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,MAAM,CAAC,CAAA;IACvD,OAAO,UAAU,CAAA;AACnB,CAAC;AAED,SAAgB,uBAAuB,CAAC,IAAY;IAClD,OAAO,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,KAAK,CAAC,CAAA;AAC3C,CAAC;AAED,SAAS,kBAAkB,CAAC,IAAY;IACtC,IAAI,KAAK,GAAG,CAAC,CAAA;IACb,IAAI,GAAG,GAAG,IAAI,CAAC,MAAM,CAAA;IAErB,OAAO,KAAK,GAAG,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;QACnD,KAAK,EAAE,CAAA;IACT,CAAC;IAED,OAAO,GAAG,GAAG,KAAK,IAAI,eAAe,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QACrD,GAAG,EAAE,CAAA;IACP,CAAC;IAED,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;AAC/B,CAAC;AAED,SAAS,sBAAsB,CAAC,IAAY;IAC1C,MAAM,eAAe,GAAa,EAAE,CAAA;IACpC,IAAI,oBAAoB,GAAG,KAAK,CAAA;IAEhC,KAAK,MAAM,SAAS,IAAI,IAAI,EAAE,CAAC;QAC7B,IAAI,eAAe,CAAC,SAAS,CAAC,EAAE,CAAC;YAC/B,IAAI,CAAC,oBAAoB,EAAE,CAAC;gBAC1B,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;gBACzB,oBAAoB,GAAG,IAAI,CAAA;YAC7B,CAAC;YACD,SAAQ;QACV,CAAC;QAED,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QAC/B,oBAAoB,GAAG,KAAK,CAAA;IAC9B,CAAC;IAED,OAAO,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;AACjC,CAAC;AAED,SAAS,eAAe,CAAC,SAAiB;IACxC,OAAO,SAAS,KAAK,GAAG,IAAI,SAAS,KAAK,IAAI,IAAI,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE,CAAA;AAC3E,CAAC"}
|
|
@@ -16,7 +16,13 @@ function getValue(type, member) {
|
|
|
16
16
|
return !!member;
|
|
17
17
|
case 'string':
|
|
18
18
|
default:
|
|
19
|
-
|
|
19
|
+
if (typeof member === 'string') {
|
|
20
|
+
return member;
|
|
21
|
+
}
|
|
22
|
+
if (typeof member === 'number' || typeof member === 'boolean') {
|
|
23
|
+
return String(member);
|
|
24
|
+
}
|
|
25
|
+
return JSON.stringify(member);
|
|
20
26
|
}
|
|
21
27
|
}
|
|
22
28
|
//# sourceMappingURL=swaggerUtils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"swaggerUtils.js","sourceRoot":"","sources":["../../src/utils/swaggerUtils.ts"],"names":[],"mappings":";;;AAGA,
|
|
1
|
+
{"version":3,"file":"swaggerUtils.js","sourceRoot":"","sources":["../../src/utils/swaggerUtils.ts"],"names":[],"mappings":";;;AAGA,4BAuBC;AA1BY,QAAA,0BAA0B,GAAG,kBAAkB,CAAA;AAC/C,QAAA,2BAA2B,GAAG,kBAAkB,CAAA;AAE7D,SAAgB,QAAQ,CAAC,IAA6D,EAAE,MAAe;IACrG,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;QACnC,OAAO,IAAI,CAAA;IACb,CAAC;IAED,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,SAAS,CAAC;QACf,KAAK,QAAQ;YACX,OAAO,MAAM,CAAC,MAAM,CAAC,CAAA;QACvB,KAAK,SAAS;YACZ,OAAO,CAAC,CAAC,MAAM,CAAA;QACjB,KAAK,QAAQ,CAAC;QACd;YACE,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;gBAC/B,OAAO,MAAM,CAAA;YACf,CAAC;YAED,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,OAAO,MAAM,KAAK,SAAS,EAAE,CAAC;gBAC9D,OAAO,MAAM,CAAC,MAAM,CAAC,CAAA;YACvB,CAAC;YAED,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;IACjC,CAAC;AACH,CAAC"}
|
|
@@ -9,6 +9,45 @@ exports.shouldIncludeValidatorInSchema = shouldIncludeValidatorInSchema;
|
|
|
9
9
|
const validator_1 = __importDefault(require("validator"));
|
|
10
10
|
const exceptions_1 = require("./../metadataGeneration/exceptions");
|
|
11
11
|
const jsDocUtils_1 = require("./jsDocUtils");
|
|
12
|
+
const parameterTagSupport = new Set([
|
|
13
|
+
'isString',
|
|
14
|
+
'isBoolean',
|
|
15
|
+
'isInt',
|
|
16
|
+
'isLong',
|
|
17
|
+
'isFloat',
|
|
18
|
+
'isDouble',
|
|
19
|
+
'isDate',
|
|
20
|
+
'isDateTime',
|
|
21
|
+
'minItems',
|
|
22
|
+
'maxItems',
|
|
23
|
+
'uniqueItems',
|
|
24
|
+
'minLength',
|
|
25
|
+
'maxLength',
|
|
26
|
+
'pattern',
|
|
27
|
+
'minimum',
|
|
28
|
+
'maximum',
|
|
29
|
+
'exclusiveMinimum',
|
|
30
|
+
'exclusiveMaximum',
|
|
31
|
+
'minDate',
|
|
32
|
+
'maxDate',
|
|
33
|
+
'title',
|
|
34
|
+
]);
|
|
35
|
+
function getCommentValue(comment) {
|
|
36
|
+
return comment?.split(' ')[0];
|
|
37
|
+
}
|
|
38
|
+
function getFullCommentValue(comment) {
|
|
39
|
+
return comment?.split('\n')[0] ?? comment;
|
|
40
|
+
}
|
|
41
|
+
function getErrorMsg(comment, isValue = true) {
|
|
42
|
+
if (!comment) {
|
|
43
|
+
return undefined;
|
|
44
|
+
}
|
|
45
|
+
if (!isValue) {
|
|
46
|
+
return comment;
|
|
47
|
+
}
|
|
48
|
+
const indexOf = comment.indexOf(' ');
|
|
49
|
+
return indexOf > 0 ? comment.substring(indexOf + 1) : undefined;
|
|
50
|
+
}
|
|
12
51
|
function parseNumericValidatorValue(value, name) {
|
|
13
52
|
const numericValue = Number(value);
|
|
14
53
|
if (Number.isNaN(numericValue)) {
|
|
@@ -20,41 +59,22 @@ function getParameterValidators(parameter, parameterName) {
|
|
|
20
59
|
if (!parameter.parent) {
|
|
21
60
|
return {};
|
|
22
61
|
}
|
|
23
|
-
const getCommentValue = (comment) => comment && comment.split(' ')[0];
|
|
24
62
|
const tags = (0, jsDocUtils_1.getJSDocTags)(parameter.parent, tag => {
|
|
25
|
-
const
|
|
26
|
-
return
|
|
63
|
+
const comment = (0, jsDocUtils_1.commentToString)(tag.comment);
|
|
64
|
+
return Boolean(comment) && parameterTagSupport.has(tag.tagName.text) && getCommentValue(comment) === parameterName;
|
|
27
65
|
});
|
|
28
|
-
function getErrorMsg(comment, isValue = true) {
|
|
29
|
-
if (!comment) {
|
|
30
|
-
return;
|
|
31
|
-
}
|
|
32
|
-
if (isValue) {
|
|
33
|
-
const indexOf = comment.indexOf(' ');
|
|
34
|
-
if (indexOf > 0) {
|
|
35
|
-
return comment.substr(indexOf + 1);
|
|
36
|
-
}
|
|
37
|
-
else {
|
|
38
|
-
return undefined;
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
else {
|
|
42
|
-
return comment;
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
66
|
return tags.reduce((validateObj, tag) => {
|
|
46
|
-
|
|
67
|
+
const comment = (0, jsDocUtils_1.commentToString)(tag.comment);
|
|
68
|
+
if (!comment) {
|
|
47
69
|
return validateObj;
|
|
48
70
|
}
|
|
49
71
|
const name = tag.tagName.text;
|
|
50
|
-
const
|
|
51
|
-
|
|
52
|
-
.trim();
|
|
53
|
-
const value = getCommentValue(comment);
|
|
72
|
+
const commentValue = comment.substring((comment.indexOf(' ') || -1) + 1).trim();
|
|
73
|
+
const value = getCommentValue(commentValue);
|
|
54
74
|
switch (name) {
|
|
55
75
|
case 'uniqueItems':
|
|
56
76
|
validateObj[name] = {
|
|
57
|
-
errorMsg: getErrorMsg(
|
|
77
|
+
errorMsg: getErrorMsg(commentValue, false),
|
|
58
78
|
value: undefined,
|
|
59
79
|
};
|
|
60
80
|
break;
|
|
@@ -67,7 +87,7 @@ function getParameterValidators(parameter, parameterName) {
|
|
|
67
87
|
case 'minLength':
|
|
68
88
|
case 'maxLength':
|
|
69
89
|
validateObj[name] = {
|
|
70
|
-
errorMsg: getErrorMsg(
|
|
90
|
+
errorMsg: getErrorMsg(commentValue),
|
|
71
91
|
value: parseNumericValidatorValue(value, name),
|
|
72
92
|
};
|
|
73
93
|
break;
|
|
@@ -77,7 +97,7 @@ function getParameterValidators(parameter, parameterName) {
|
|
|
77
97
|
throw new exceptions_1.GenerateMetadataError(`${name} parameter use date format ISO 8601 ex. 2017-05-14, 2017-05-14T05:18Z`);
|
|
78
98
|
}
|
|
79
99
|
validateObj[name] = {
|
|
80
|
-
errorMsg: getErrorMsg(
|
|
100
|
+
errorMsg: getErrorMsg(commentValue),
|
|
81
101
|
value,
|
|
82
102
|
};
|
|
83
103
|
break;
|
|
@@ -86,13 +106,13 @@ function getParameterValidators(parameter, parameterName) {
|
|
|
86
106
|
throw new exceptions_1.GenerateMetadataError(`${name} parameter use string.`);
|
|
87
107
|
}
|
|
88
108
|
validateObj[name] = {
|
|
89
|
-
errorMsg: getErrorMsg(
|
|
109
|
+
errorMsg: getErrorMsg(commentValue),
|
|
90
110
|
value: removeSurroundingQuotes(value),
|
|
91
111
|
};
|
|
92
112
|
break;
|
|
93
113
|
default:
|
|
94
114
|
if (name.startsWith('is')) {
|
|
95
|
-
const errorMsg = getErrorMsg(
|
|
115
|
+
const errorMsg = getErrorMsg(commentValue, false);
|
|
96
116
|
if (errorMsg) {
|
|
97
117
|
validateObj[name] = {
|
|
98
118
|
errorMsg,
|
|
@@ -107,48 +127,16 @@ function getParameterValidators(parameter, parameterName) {
|
|
|
107
127
|
}
|
|
108
128
|
function getPropertyValidators(property) {
|
|
109
129
|
const tags = (0, jsDocUtils_1.getJSDocTags)(property, tag => {
|
|
110
|
-
return
|
|
130
|
+
return parameterTagSupport.has(tag.tagName.text);
|
|
111
131
|
});
|
|
112
|
-
function getValue(comment) {
|
|
113
|
-
if (!comment) {
|
|
114
|
-
return;
|
|
115
|
-
}
|
|
116
|
-
return comment.split(' ')[0];
|
|
117
|
-
}
|
|
118
|
-
function getFullValue(comment) {
|
|
119
|
-
if (!comment) {
|
|
120
|
-
return;
|
|
121
|
-
}
|
|
122
|
-
if (comment.includes('\n')) {
|
|
123
|
-
return comment.split('\n')[0];
|
|
124
|
-
}
|
|
125
|
-
return comment;
|
|
126
|
-
}
|
|
127
|
-
function getErrorMsg(comment, isValue = true) {
|
|
128
|
-
if (!comment) {
|
|
129
|
-
return;
|
|
130
|
-
}
|
|
131
|
-
if (isValue) {
|
|
132
|
-
const indexOf = comment.indexOf(' ');
|
|
133
|
-
if (indexOf > 0) {
|
|
134
|
-
return comment.substr(indexOf + 1);
|
|
135
|
-
}
|
|
136
|
-
else {
|
|
137
|
-
return undefined;
|
|
138
|
-
}
|
|
139
|
-
}
|
|
140
|
-
else {
|
|
141
|
-
return comment;
|
|
142
|
-
}
|
|
143
|
-
}
|
|
144
132
|
return tags.reduce((validateObj, tag) => {
|
|
145
133
|
const name = tag.tagName.text;
|
|
146
|
-
const comment = tag.comment;
|
|
147
|
-
const value =
|
|
134
|
+
const comment = (0, jsDocUtils_1.commentToString)(tag.comment);
|
|
135
|
+
const value = getCommentValue(comment);
|
|
148
136
|
switch (name) {
|
|
149
137
|
case 'uniqueItems':
|
|
150
138
|
validateObj[name] = {
|
|
151
|
-
errorMsg: getErrorMsg(
|
|
139
|
+
errorMsg: getErrorMsg(comment, false),
|
|
152
140
|
value: undefined,
|
|
153
141
|
};
|
|
154
142
|
break;
|
|
@@ -161,7 +149,7 @@ function getPropertyValidators(property) {
|
|
|
161
149
|
case 'minLength':
|
|
162
150
|
case 'maxLength':
|
|
163
151
|
validateObj[name] = {
|
|
164
|
-
errorMsg: getErrorMsg(
|
|
152
|
+
errorMsg: getErrorMsg(comment),
|
|
165
153
|
value: parseNumericValidatorValue(value, name),
|
|
166
154
|
};
|
|
167
155
|
break;
|
|
@@ -171,7 +159,7 @@ function getPropertyValidators(property) {
|
|
|
171
159
|
throw new exceptions_1.GenerateMetadataError(`${name} parameter use date format ISO 8601 ex. 2017-05-14, 2017-05-14T05:18Z`);
|
|
172
160
|
}
|
|
173
161
|
validateObj[name] = {
|
|
174
|
-
errorMsg: getErrorMsg(
|
|
162
|
+
errorMsg: getErrorMsg(comment),
|
|
175
163
|
value,
|
|
176
164
|
};
|
|
177
165
|
break;
|
|
@@ -180,7 +168,7 @@ function getPropertyValidators(property) {
|
|
|
180
168
|
throw new exceptions_1.GenerateMetadataError(`${name} parameter use string.`);
|
|
181
169
|
}
|
|
182
170
|
validateObj[name] = {
|
|
183
|
-
errorMsg: getErrorMsg(
|
|
171
|
+
errorMsg: getErrorMsg(comment),
|
|
184
172
|
value: removeSurroundingQuotes(value),
|
|
185
173
|
};
|
|
186
174
|
break;
|
|
@@ -189,13 +177,13 @@ function getPropertyValidators(property) {
|
|
|
189
177
|
throw new exceptions_1.GenerateMetadataError(`${name} parameter use string.`);
|
|
190
178
|
}
|
|
191
179
|
validateObj[name] = {
|
|
192
|
-
errorMsg: getErrorMsg(
|
|
193
|
-
value:
|
|
180
|
+
errorMsg: getErrorMsg(comment),
|
|
181
|
+
value: getFullCommentValue(comment),
|
|
194
182
|
};
|
|
195
183
|
break;
|
|
196
184
|
default:
|
|
197
185
|
if (name.startsWith('is')) {
|
|
198
|
-
const errorMsg = getErrorMsg(
|
|
186
|
+
const errorMsg = getErrorMsg(comment, false);
|
|
199
187
|
if (errorMsg) {
|
|
200
188
|
validateObj[name] = {
|
|
201
189
|
errorMsg,
|
|
@@ -208,31 +196,6 @@ function getPropertyValidators(property) {
|
|
|
208
196
|
return validateObj;
|
|
209
197
|
}, {});
|
|
210
198
|
}
|
|
211
|
-
function getParameterTagSupport() {
|
|
212
|
-
return [
|
|
213
|
-
'isString',
|
|
214
|
-
'isBoolean',
|
|
215
|
-
'isInt',
|
|
216
|
-
'isLong',
|
|
217
|
-
'isFloat',
|
|
218
|
-
'isDouble',
|
|
219
|
-
'isDate',
|
|
220
|
-
'isDateTime',
|
|
221
|
-
'minItems',
|
|
222
|
-
'maxItems',
|
|
223
|
-
'uniqueItems',
|
|
224
|
-
'minLength',
|
|
225
|
-
'maxLength',
|
|
226
|
-
'pattern',
|
|
227
|
-
'minimum',
|
|
228
|
-
'maximum',
|
|
229
|
-
'exclusiveMinimum',
|
|
230
|
-
'exclusiveMaximum',
|
|
231
|
-
'minDate',
|
|
232
|
-
'maxDate',
|
|
233
|
-
'title',
|
|
234
|
-
];
|
|
235
|
-
}
|
|
236
199
|
function removeSurroundingQuotes(str) {
|
|
237
200
|
if (str.startsWith('`') && str.endsWith('`')) {
|
|
238
201
|
return str.substring(1, str.length - 1);
|