@dudousxd/nestjs-codegen 0.7.0 → 0.8.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/CHANGELOG.md +12 -0
- package/dist/cli/main.cjs +38 -14
- package/dist/cli/main.cjs.map +1 -1
- package/dist/cli/main.js +38 -14
- package/dist/cli/main.js.map +1 -1
- package/dist/index.cjs +38 -14
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +38 -14
- package/dist/index.js.map +1 -1
- package/dist/nest/index.cjs +22 -3
- package/dist/nest/index.cjs.map +1 -1
- package/dist/nest/index.js +22 -3
- package/dist/nest/index.js.map +1 -1
- package/package.json +1 -1
package/dist/nest/index.cjs
CHANGED
|
@@ -1535,14 +1535,33 @@ function extractQueryType(method, sourceFile, project) {
|
|
|
1535
1535
|
for (const param of method.getParameters()) {
|
|
1536
1536
|
const queryDecorator = param.getDecorators().find((d) => d.getName() === "Query");
|
|
1537
1537
|
if (!queryDecorator) continue;
|
|
1538
|
-
|
|
1539
|
-
if (queryArgs.length > 0) continue;
|
|
1538
|
+
if (queryDecorator.getArguments().length > 0) continue;
|
|
1540
1539
|
const typeNode = param.getTypeNode();
|
|
1541
1540
|
if (typeNode) {
|
|
1542
1541
|
return resolveTypeNodeToString(typeNode, sourceFile, project, 3);
|
|
1543
1542
|
}
|
|
1544
1543
|
}
|
|
1545
|
-
|
|
1544
|
+
const entries = [];
|
|
1545
|
+
for (const param of method.getParameters()) {
|
|
1546
|
+
const queryDecorator = param.getDecorators().find((d) => d.getName() === "Query");
|
|
1547
|
+
if (!queryDecorator) continue;
|
|
1548
|
+
const queryArgs = queryDecorator.getArguments();
|
|
1549
|
+
const nameArg = queryArgs[0];
|
|
1550
|
+
if (!nameArg || !import_ts_morph5.Node.isStringLiteral(nameArg)) continue;
|
|
1551
|
+
const queryName = nameArg.getLiteralValue();
|
|
1552
|
+
const typeNode = param.getTypeNode();
|
|
1553
|
+
const queryType = typeNode ? resolveTypeNodeToString(typeNode, sourceFile, project, 3) : "string";
|
|
1554
|
+
entries.push(`${queryName}${isParamOptional(param) ? "?" : ""}: ${queryType}`);
|
|
1555
|
+
}
|
|
1556
|
+
return entries.length > 0 ? `{ ${entries.join("; ")} }` : null;
|
|
1557
|
+
}
|
|
1558
|
+
function isParamOptional(param) {
|
|
1559
|
+
if (param.hasQuestionToken() || param.hasInitializer()) return true;
|
|
1560
|
+
const typeNode = param.getTypeNode();
|
|
1561
|
+
if (typeNode && import_ts_morph5.Node.isUnionTypeNode(typeNode)) {
|
|
1562
|
+
return typeNode.getTypeNodes().some((t) => t.getKind() === import_ts_morph5.SyntaxKind.UndefinedKeyword);
|
|
1563
|
+
}
|
|
1564
|
+
return false;
|
|
1546
1565
|
}
|
|
1547
1566
|
function extractParamsType(method, sourceFile, project) {
|
|
1548
1567
|
const entries = [];
|