@nestia/sdk 2.4.7 → 2.5.0-dev.20240128
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/lib/generates/internal/SdkFileProgrammer.js +23 -10
- package/lib/generates/internal/SdkFileProgrammer.js.map +1 -1
- package/lib/generates/internal/SdkFunctionProgrammer.d.ts +6 -1
- package/lib/generates/internal/SdkFunctionProgrammer.js +73 -323
- package/lib/generates/internal/SdkFunctionProgrammer.js.map +1 -1
- package/lib/generates/internal/SdkNamespaceProgrammer.d.ts +11 -0
- package/lib/generates/internal/SdkNamespaceProgrammer.js +175 -0
- package/lib/generates/internal/SdkNamespaceProgrammer.js.map +1 -0
- package/lib/generates/internal/SdkRouteProgrammer.d.ts +7 -0
- package/lib/generates/internal/SdkRouteProgrammer.js +55 -0
- package/lib/generates/internal/SdkRouteProgrammer.js.map +1 -0
- package/lib/generates/internal/SdkSimulationProgrammer.d.ts +7 -1
- package/lib/generates/internal/SdkSimulationProgrammer.js +98 -88
- package/lib/generates/internal/SdkSimulationProgrammer.js.map +1 -1
- package/lib/utils/ImportDictionary.d.ts +2 -0
- package/lib/utils/ImportDictionary.js +45 -0
- package/lib/utils/ImportDictionary.js.map +1 -1
- package/lib/utils/NodeUtil.d.ts +5 -0
- package/lib/utils/NodeUtil.js +16 -0
- package/lib/utils/NodeUtil.js.map +1 -0
- package/package.json +6 -3
- package/src/analyses/ConfigAnalyzer.ts +147 -147
- package/src/analyses/ControllerAnalyzer.ts +390 -390
- package/src/analyses/PathAnalyzer.ts +110 -110
- package/src/analyses/ReflectAnalyzer.ts +464 -464
- package/src/generates/SwaggerGenerator.ts +376 -376
- package/src/generates/internal/SdkFileProgrammer.ts +42 -13
- package/src/generates/internal/SdkFunctionProgrammer.ts +176 -475
- package/src/generates/internal/SdkNamespaceProgrammer.ts +495 -0
- package/src/generates/internal/SdkRouteProgrammer.ts +82 -0
- package/src/generates/internal/SdkSimulationProgrammer.ts +359 -133
- package/src/generates/internal/SwaggerSchemaGenerator.ts +444 -444
- package/src/utils/ImportDictionary.ts +72 -0
- package/src/utils/NodeUtil.ts +19 -0
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.SdkNamespaceProgrammer = void 0;
|
|
7
|
+
const typescript_1 = __importDefault(require("typescript"));
|
|
8
|
+
const typia_1 = __importDefault(require("typia"));
|
|
9
|
+
const IdentifierFactory_1 = require("typia/lib/factories/IdentifierFactory");
|
|
10
|
+
const LiteralFactory_1 = require("typia/lib/factories/LiteralFactory");
|
|
11
|
+
const TypeFactory_1 = require("typia/lib/factories/TypeFactory");
|
|
12
|
+
const Escaper_1 = require("typia/lib/utils/Escaper");
|
|
13
|
+
const NodeUtil_1 = require("../../utils/NodeUtil");
|
|
14
|
+
const SdkDtoGenerator_1 = require("./SdkDtoGenerator");
|
|
15
|
+
const SdkImportWizard_1 = require("./SdkImportWizard");
|
|
16
|
+
const SdkSimulationProgrammer_1 = require("./SdkSimulationProgrammer");
|
|
17
|
+
const SdkTypeDefiner_1 = require("./SdkTypeDefiner");
|
|
18
|
+
var SdkNamespaceProgrammer;
|
|
19
|
+
(function (SdkNamespaceProgrammer) {
|
|
20
|
+
SdkNamespaceProgrammer.generate = (config) => (importer) => (route, props) => {
|
|
21
|
+
var _a;
|
|
22
|
+
const types = generate_types(config)(importer)(route, props);
|
|
23
|
+
return typescript_1.default.factory.createModuleDeclaration([typescript_1.default.factory.createToken(typescript_1.default.SyntaxKind.ExportKeyword)], typescript_1.default.factory.createIdentifier(route.name), typescript_1.default.factory.createModuleBlock([
|
|
24
|
+
...types,
|
|
25
|
+
...(types.length ? [NodeUtil_1.NodeUtil.enter()] : []),
|
|
26
|
+
generate_metadata(importer)(route, props),
|
|
27
|
+
NodeUtil_1.NodeUtil.enter(),
|
|
28
|
+
generate_path(config)(importer)(route, props),
|
|
29
|
+
...(config.simulate
|
|
30
|
+
? [
|
|
31
|
+
SdkSimulationProgrammer_1.SdkSimulationProgrammer.random(config)(importer)(route),
|
|
32
|
+
SdkSimulationProgrammer_1.SdkSimulationProgrammer.simulate(config)(importer)(route, props),
|
|
33
|
+
]
|
|
34
|
+
: []),
|
|
35
|
+
...(config.json && ((_a = props.input) === null || _a === void 0 ? void 0 : _a.category) === "body"
|
|
36
|
+
? [generate_stringify(config)(importer)]
|
|
37
|
+
: []),
|
|
38
|
+
]), typescript_1.default.NodeFlags.Namespace);
|
|
39
|
+
};
|
|
40
|
+
const generate_types = (config) => (importer) => (route, props) => {
|
|
41
|
+
const array = [];
|
|
42
|
+
const declare = (name, type) => array.push(typescript_1.default.factory.createTypeAliasDeclaration([typescript_1.default.factory.createModifier(typescript_1.default.SyntaxKind.ExportKeyword)], name, undefined, typescript_1.default.factory.createTypeReferenceNode(type)));
|
|
43
|
+
if (props.headers !== undefined)
|
|
44
|
+
declare("Headers", SdkTypeDefiner_1.SdkTypeDefiner.headers(config)(importer)(props.headers));
|
|
45
|
+
if (props.query !== undefined)
|
|
46
|
+
declare("Query", SdkTypeDefiner_1.SdkTypeDefiner.query(config)(importer)(props.query));
|
|
47
|
+
if (props.input !== undefined)
|
|
48
|
+
declare("Input", SdkTypeDefiner_1.SdkTypeDefiner.input(config)(importer)(props.input));
|
|
49
|
+
if (config.propagate === true || route.output.typeName !== "void")
|
|
50
|
+
declare("Output", SdkTypeDefiner_1.SdkTypeDefiner.output(config)(importer)(route));
|
|
51
|
+
return array;
|
|
52
|
+
};
|
|
53
|
+
const generate_metadata = (importer) => (route, props) => constant("METADATA")(typescript_1.default.factory.createAsExpression(typescript_1.default.factory.createObjectLiteralExpression([
|
|
54
|
+
typescript_1.default.factory.createPropertyAssignment("method", typescript_1.default.factory.createStringLiteral(route.method)),
|
|
55
|
+
typescript_1.default.factory.createPropertyAssignment("path", typescript_1.default.factory.createStringLiteral(route.path)),
|
|
56
|
+
typescript_1.default.factory.createPropertyAssignment("request", props.input
|
|
57
|
+
? LiteralFactory_1.LiteralFactory.generate((input => {
|
|
58
|
+
const $io0 = input => true === input.custom && "body" === input.category && "number" === typeof input.index && "string" === typeof input.name && (undefined === input.field || "string" === typeof input.field) && "boolean" === typeof input.encrypted && ("application/json" === input.contentType || "text/plain" === input.contentType || "application/x-www-form-urlencoded" === input.contentType);
|
|
59
|
+
return "object" === typeof input && null !== input && $io0(input);
|
|
60
|
+
})(props.input) ? {
|
|
61
|
+
type: props.input.contentType,
|
|
62
|
+
encrypted: !!props.input.encrypted,
|
|
63
|
+
}
|
|
64
|
+
: {
|
|
65
|
+
type: "application/json",
|
|
66
|
+
encrypted: false,
|
|
67
|
+
})
|
|
68
|
+
: typescript_1.default.factory.createNull()),
|
|
69
|
+
typescript_1.default.factory.createPropertyAssignment("response", route.method !== "HEAD"
|
|
70
|
+
? LiteralFactory_1.LiteralFactory.generate({
|
|
71
|
+
type: route.output.contentType,
|
|
72
|
+
encrypted: !!route.encrypted,
|
|
73
|
+
})
|
|
74
|
+
: typescript_1.default.factory.createNull()),
|
|
75
|
+
typescript_1.default.factory.createPropertyAssignment("status", route.status !== undefined
|
|
76
|
+
? typescript_1.default.factory.createNumericLiteral(route.status)
|
|
77
|
+
: typescript_1.default.factory.createNull()),
|
|
78
|
+
...(route.output.contentType ===
|
|
79
|
+
"application/x-www-form-urlencoded"
|
|
80
|
+
? [
|
|
81
|
+
typescript_1.default.factory.createPropertyAssignment("parseQuery", typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier(`${SdkImportWizard_1.SdkImportWizard.typia(importer)}.http.createAssertQuery`), [
|
|
82
|
+
typescript_1.default.factory.createTypeReferenceNode(route.output.typeName),
|
|
83
|
+
], undefined)),
|
|
84
|
+
]
|
|
85
|
+
: []),
|
|
86
|
+
], true), typescript_1.default.factory.createTypeReferenceNode(typescript_1.default.factory.createIdentifier("const"))));
|
|
87
|
+
const generate_path = (config) => (importer) => (route, props) => {
|
|
88
|
+
const g = {
|
|
89
|
+
total: [
|
|
90
|
+
...route.parameters.filter((param) => param.category === "param" || param.category === "query"),
|
|
91
|
+
],
|
|
92
|
+
query: route.parameters.filter((param) => param.category === "query" && param.field !== undefined),
|
|
93
|
+
path: route.parameters.filter((param) => param.category === "param"),
|
|
94
|
+
};
|
|
95
|
+
const out = (body) => constant("path")(typescript_1.default.factory.createArrowFunction([], [], g.total.map((p) => IdentifierFactory_1.IdentifierFactory.parameter(p.name, typescript_1.default.factory.createTypeReferenceNode(p === props.query
|
|
96
|
+
? `${route.name}.Query`
|
|
97
|
+
: getType(config)(importer)(p)))), undefined, undefined, body));
|
|
98
|
+
if (g.total.length === 0)
|
|
99
|
+
return out(typescript_1.default.factory.createStringLiteral(route.path));
|
|
100
|
+
const template = () => {
|
|
101
|
+
const splitted = route.path.split(":");
|
|
102
|
+
if (splitted.length === 1)
|
|
103
|
+
return typescript_1.default.factory.createStringLiteral(route.path);
|
|
104
|
+
return typescript_1.default.factory.createTemplateExpression(typescript_1.default.factory.createTemplateHead(splitted[0]), splitted.slice(1).map((s, i, arr) => {
|
|
105
|
+
const name = s.split("/")[0];
|
|
106
|
+
return typescript_1.default.factory.createTemplateSpan(typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("encodeURIComponent"), undefined, [
|
|
107
|
+
typescript_1.default.factory.createBinaryExpression(typescript_1.default.factory.createIdentifier(g.path.find((p) => p.field === name).name), typescript_1.default.factory.createToken(typescript_1.default.SyntaxKind.QuestionQuestionToken), typescript_1.default.factory.createStringLiteral("null")),
|
|
108
|
+
]), (i !== arr.length - 1
|
|
109
|
+
? typescript_1.default.factory.createTemplateMiddle
|
|
110
|
+
: typescript_1.default.factory.createTemplateTail)(s.substring(name.length)));
|
|
111
|
+
}));
|
|
112
|
+
};
|
|
113
|
+
if (props.query === undefined && g.query.length === 0)
|
|
114
|
+
return out(template());
|
|
115
|
+
const block = (expr) => {
|
|
116
|
+
const computeName = (str) => g.total
|
|
117
|
+
.filter((p) => p.category !== "headers")
|
|
118
|
+
.find((p) => p.name === str) !== undefined
|
|
119
|
+
? computeName("_" + str)
|
|
120
|
+
: str;
|
|
121
|
+
const variables = computeName("variables");
|
|
122
|
+
return typescript_1.default.factory.createBlock([
|
|
123
|
+
local(variables)("URLSearchParams")(typescript_1.default.factory.createNewExpression(typescript_1.default.factory.createIdentifier("URLSearchParams"), [], [])),
|
|
124
|
+
typescript_1.default.factory.createForOfStatement(undefined, typescript_1.default.factory.createVariableDeclarationList([
|
|
125
|
+
typescript_1.default.factory.createVariableDeclaration(typescript_1.default.factory.createArrayBindingPattern([
|
|
126
|
+
typescript_1.default.factory.createBindingElement(undefined, undefined, typescript_1.default.factory.createIdentifier("key"), undefined),
|
|
127
|
+
typescript_1.default.factory.createBindingElement(undefined, undefined, typescript_1.default.factory.createIdentifier("value"), undefined),
|
|
128
|
+
]), undefined, undefined, undefined),
|
|
129
|
+
], typescript_1.default.NodeFlags.Const), typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("Object.entries"), undefined, [
|
|
130
|
+
typescript_1.default.factory.createAsExpression(expr, TypeFactory_1.TypeFactory.keyword("any")),
|
|
131
|
+
]), typescript_1.default.factory.createIfStatement(typescript_1.default.factory.createStrictEquality(typescript_1.default.factory.createIdentifier("undefined"), typescript_1.default.factory.createIdentifier("value")), typescript_1.default.factory.createContinueStatement(), typescript_1.default.factory.createIfStatement(typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("Array.isArray"), undefined, [typescript_1.default.factory.createIdentifier("value")]), typescript_1.default.factory.createExpressionStatement(typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createPropertyAccessExpression(typescript_1.default.factory.createIdentifier("value"), typescript_1.default.factory.createIdentifier("forEach")), undefined, [
|
|
132
|
+
typescript_1.default.factory.createArrowFunction(undefined, undefined, [IdentifierFactory_1.IdentifierFactory.parameter("elem")], undefined, undefined, typescript_1.default.factory.createCallExpression(IdentifierFactory_1.IdentifierFactory.access(typescript_1.default.factory.createIdentifier(variables))("append"), undefined, [
|
|
133
|
+
typescript_1.default.factory.createIdentifier("key"),
|
|
134
|
+
typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("String"), undefined, [typescript_1.default.factory.createIdentifier("elem")]),
|
|
135
|
+
])),
|
|
136
|
+
])), typescript_1.default.factory.createExpressionStatement(typescript_1.default.factory.createCallExpression(IdentifierFactory_1.IdentifierFactory.access(typescript_1.default.factory.createIdentifier(variables))("set"), undefined, [
|
|
137
|
+
typescript_1.default.factory.createIdentifier("key"),
|
|
138
|
+
typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("String"), undefined, [typescript_1.default.factory.createIdentifier("value")]),
|
|
139
|
+
]))))),
|
|
140
|
+
local("location")("string")(template()),
|
|
141
|
+
typescript_1.default.factory.createReturnStatement(typescript_1.default.factory.createConditionalExpression(typescript_1.default.factory.createStrictEquality(typescript_1.default.factory.createNumericLiteral(0), IdentifierFactory_1.IdentifierFactory.access(typescript_1.default.factory.createIdentifier(variables))("size")), undefined, typescript_1.default.factory.createIdentifier("location"), undefined, typescript_1.default.factory.createTemplateExpression(typescript_1.default.factory.createTemplateHead(""), [
|
|
142
|
+
typescript_1.default.factory.createTemplateSpan(typescript_1.default.factory.createIdentifier("location"), typescript_1.default.factory.createTemplateMiddle("?")),
|
|
143
|
+
typescript_1.default.factory.createTemplateSpan(typescript_1.default.factory.createCallExpression(IdentifierFactory_1.IdentifierFactory.access(typescript_1.default.factory.createIdentifier(variables))("toString"), undefined, undefined), typescript_1.default.factory.createTemplateTail("")),
|
|
144
|
+
]))),
|
|
145
|
+
], true);
|
|
146
|
+
};
|
|
147
|
+
if (props.query !== undefined && g.query.length === 0)
|
|
148
|
+
return out(block(typescript_1.default.factory.createIdentifier(props.query.name)));
|
|
149
|
+
return out(block(typescript_1.default.factory.createObjectLiteralExpression([
|
|
150
|
+
...(props.query
|
|
151
|
+
? [
|
|
152
|
+
typescript_1.default.factory.createSpreadAssignment(typescript_1.default.factory.createIdentifier(props.query.name)),
|
|
153
|
+
]
|
|
154
|
+
: []),
|
|
155
|
+
...g.query.map((q) => q.name === q.field
|
|
156
|
+
? typescript_1.default.factory.createShorthandPropertyAssignment(q.name)
|
|
157
|
+
: typescript_1.default.factory.createPropertyAssignment(Escaper_1.Escaper.variable(q.field)
|
|
158
|
+
? q.field
|
|
159
|
+
: typescript_1.default.factory.createStringLiteral(q.field), typescript_1.default.factory.createIdentifier(q.name))),
|
|
160
|
+
], true)));
|
|
161
|
+
};
|
|
162
|
+
const generate_stringify = (config) => (importer) => constant("stringify")(typescript_1.default.factory.createArrowFunction([], undefined, [
|
|
163
|
+
IdentifierFactory_1.IdentifierFactory.parameter("input", typescript_1.default.factory.createTypeReferenceNode("Input")),
|
|
164
|
+
], undefined, undefined, typescript_1.default.factory.createCallExpression(IdentifierFactory_1.IdentifierFactory.access(IdentifierFactory_1.IdentifierFactory.access(typescript_1.default.factory.createIdentifier(SdkImportWizard_1.SdkImportWizard.typia(importer)))("json"))(config.assert ? "stringify" : "assertStringify"), undefined, [typescript_1.default.factory.createIdentifier("input")])));
|
|
165
|
+
})(SdkNamespaceProgrammer || (exports.SdkNamespaceProgrammer = SdkNamespaceProgrammer = {}));
|
|
166
|
+
const local = (name) => (type) => (expression) => typescript_1.default.factory.createVariableStatement([], typescript_1.default.factory.createVariableDeclarationList([
|
|
167
|
+
typescript_1.default.factory.createVariableDeclaration(typescript_1.default.factory.createIdentifier(name), undefined, typescript_1.default.factory.createTypeReferenceNode(type), expression),
|
|
168
|
+
], typescript_1.default.NodeFlags.Const));
|
|
169
|
+
const constant = (name) => (expression) => typescript_1.default.factory.createVariableStatement([typescript_1.default.factory.createModifier(typescript_1.default.SyntaxKind.ExportKeyword)], typescript_1.default.factory.createVariableDeclarationList([
|
|
170
|
+
typescript_1.default.factory.createVariableDeclaration(typescript_1.default.factory.createIdentifier(name), undefined, undefined, expression),
|
|
171
|
+
], typescript_1.default.NodeFlags.Const));
|
|
172
|
+
const getType = (config) => (importer) => (p) => p.metadata
|
|
173
|
+
? SdkDtoGenerator_1.SdkDtoGenerator.decode(config)(importer)(p.metadata)
|
|
174
|
+
: p.typeName;
|
|
175
|
+
//# sourceMappingURL=SdkNamespaceProgrammer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SdkNamespaceProgrammer.js","sourceRoot":"","sources":["../../../src/generates/internal/SdkNamespaceProgrammer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import ts from "typescript";
|
|
2
|
+
import { INestiaConfig } from "../../INestiaConfig";
|
|
3
|
+
import { IRoute } from "../../structures/IRoute";
|
|
4
|
+
import { ImportDictionary } from "../../utils/ImportDictionary";
|
|
5
|
+
export declare namespace SdkRouteProgrammer {
|
|
6
|
+
const generate: (config: INestiaConfig) => (importer: ImportDictionary) => (route: IRoute) => ts.Statement[];
|
|
7
|
+
}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SdkRouteProgrammer = void 0;
|
|
4
|
+
const NodeUtil_1 = require("../../utils/NodeUtil");
|
|
5
|
+
const SdkFunctionProgrammer_1 = require("./SdkFunctionProgrammer");
|
|
6
|
+
const SdkNamespaceProgrammer_1 = require("./SdkNamespaceProgrammer");
|
|
7
|
+
var SdkRouteProgrammer;
|
|
8
|
+
(function (SdkRouteProgrammer) {
|
|
9
|
+
SdkRouteProgrammer.generate = (config) => (importer) => (route) => {
|
|
10
|
+
const props = {
|
|
11
|
+
headers: route.parameters.find((p) => p.category === "headers" && p.field === undefined),
|
|
12
|
+
query: route.parameters.find((p) => p.category === "query" && p.field === undefined),
|
|
13
|
+
input: route.parameters.find((p) => p.category === "body"),
|
|
14
|
+
};
|
|
15
|
+
return [
|
|
16
|
+
NodeUtil_1.NodeUtil.description(SdkFunctionProgrammer_1.SdkFunctionProgrammer.generate(config)(importer)(route, props), describe(route)),
|
|
17
|
+
SdkNamespaceProgrammer_1.SdkNamespaceProgrammer.generate(config)(importer)(route, props),
|
|
18
|
+
];
|
|
19
|
+
};
|
|
20
|
+
const describe = (route) => {
|
|
21
|
+
var _a;
|
|
22
|
+
// MAIN DESCRIPTION
|
|
23
|
+
const comments = route.description
|
|
24
|
+
? route.description.split("\n")
|
|
25
|
+
: [];
|
|
26
|
+
// COMMENT TAGS
|
|
27
|
+
const tags = route.jsDocTags.filter((tag) => tag.name !== "param" ||
|
|
28
|
+
route.parameters
|
|
29
|
+
.filter((p) => p.category !== "headers")
|
|
30
|
+
.some((p) => { var _a, _b; return p.name === ((_b = (_a = tag.text) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.text); }));
|
|
31
|
+
if (tags.length !== 0) {
|
|
32
|
+
const content = tags.map((t) => {
|
|
33
|
+
var _a;
|
|
34
|
+
return ((_a = t.text) === null || _a === void 0 ? void 0 : _a.length)
|
|
35
|
+
? `@${t.name} ${t.text.map((e) => e.text).join("")}`
|
|
36
|
+
: `@${t.name}`;
|
|
37
|
+
});
|
|
38
|
+
comments.push("", ...new Set(content));
|
|
39
|
+
}
|
|
40
|
+
// EXCEPTIONS
|
|
41
|
+
for (const [key, value] of Object.entries(route.exceptions)) {
|
|
42
|
+
if (comments.some((str) => str.startsWith(`@throw ${key}`) || str.startsWith(`@throws ${key}`)))
|
|
43
|
+
continue;
|
|
44
|
+
comments.push(((_a = value.description) === null || _a === void 0 ? void 0 : _a.length)
|
|
45
|
+
? `@throws ${key} ${value.description.split("\n")[0]}`
|
|
46
|
+
: `@throws ${key}`);
|
|
47
|
+
}
|
|
48
|
+
// POSTFIX
|
|
49
|
+
if (!!comments.length)
|
|
50
|
+
comments.push("");
|
|
51
|
+
comments.push(`@controller ${route.symbol.class}.${route.symbol.function}`, `@path ${route.method} ${route.path}`, `@nestia Generated by Nestia - https://github.com/samchon/nestia`);
|
|
52
|
+
return comments.join("\n");
|
|
53
|
+
};
|
|
54
|
+
})(SdkRouteProgrammer || (exports.SdkRouteProgrammer = SdkRouteProgrammer = {}));
|
|
55
|
+
//# sourceMappingURL=SdkRouteProgrammer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SdkRouteProgrammer.js","sourceRoot":"","sources":["../../../src/generates/internal/SdkRouteProgrammer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,12 @@
|
|
|
1
|
+
import ts from "typescript";
|
|
1
2
|
import { INestiaConfig } from "../../INestiaConfig";
|
|
2
3
|
import { IRoute } from "../../structures/IRoute";
|
|
3
4
|
import { ImportDictionary } from "../../utils/ImportDictionary";
|
|
4
5
|
export declare namespace SdkSimulationProgrammer {
|
|
5
|
-
const
|
|
6
|
+
const random: (config: INestiaConfig) => (importer: ImportDictionary) => (route: IRoute) => ts.VariableStatement;
|
|
7
|
+
const simulate: (config: INestiaConfig) => (importer: ImportDictionary) => (route: IRoute, props: {
|
|
8
|
+
headers: IRoute.IParameter | undefined;
|
|
9
|
+
query: IRoute.IParameter | undefined;
|
|
10
|
+
input: IRoute.IParameter | undefined;
|
|
11
|
+
}) => ts.VariableStatement;
|
|
6
12
|
}
|
|
@@ -1,106 +1,116 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
6
|
exports.SdkSimulationProgrammer = void 0;
|
|
7
|
+
const typescript_1 = __importDefault(require("typescript"));
|
|
8
|
+
const IdentifierFactory_1 = require("typia/lib/factories/IdentifierFactory");
|
|
9
|
+
const LiteralFactory_1 = require("typia/lib/factories/LiteralFactory");
|
|
10
|
+
const StatementFactory_1 = require("typia/lib/factories/StatementFactory");
|
|
11
|
+
const TypeFactory_1 = require("typia/lib/factories/TypeFactory");
|
|
12
|
+
const SdkDtoGenerator_1 = require("./SdkDtoGenerator");
|
|
4
13
|
const SdkImportWizard_1 = require("./SdkImportWizard");
|
|
5
14
|
const SdkTypeDefiner_1 = require("./SdkTypeDefiner");
|
|
6
15
|
var SdkSimulationProgrammer;
|
|
7
16
|
(function (SdkSimulationProgrammer) {
|
|
8
|
-
SdkSimulationProgrammer.
|
|
17
|
+
SdkSimulationProgrammer.random = (config) => (importer) => (route) => constant("random")(typescript_1.default.factory.createArrowFunction(undefined, undefined, [
|
|
18
|
+
typescript_1.default.factory.createParameterDeclaration(undefined, undefined, "g", typescript_1.default.factory.createToken(typescript_1.default.SyntaxKind.QuestionToken), typescript_1.default.factory.createTypeReferenceNode(typescript_1.default.factory.createIdentifier("Partial"), [
|
|
19
|
+
typescript_1.default.factory.createTypeReferenceNode(`${SdkImportWizard_1.SdkImportWizard.typia(importer)}.IRandomGenerator`),
|
|
20
|
+
])),
|
|
21
|
+
], undefined, undefined, typescript_1.default.factory.createCallExpression(IdentifierFactory_1.IdentifierFactory.access(typescript_1.default.factory.createIdentifier(SdkImportWizard_1.SdkImportWizard.typia(importer)))("random"), [
|
|
22
|
+
typescript_1.default.factory.createTypeReferenceNode(SdkTypeDefiner_1.SdkTypeDefiner.responseBody(config)(importer)(route)),
|
|
23
|
+
], [typescript_1.default.factory.createIdentifier("g")])));
|
|
24
|
+
SdkSimulationProgrammer.simulate = (config) => (importer) => (route, props) => {
|
|
25
|
+
var _a;
|
|
9
26
|
const output = config.propagate === true || route.output.typeName !== "void";
|
|
10
|
-
const
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
` ${route.parameters.filter((p) => p.category !== "headers").length ===
|
|
20
|
-
0 && route.output.typeName === "void"
|
|
21
|
-
? "_connection"
|
|
22
|
-
: "connection"}: ${route.parameters.some((p) => p.category === "headers" && p.field === undefined)
|
|
23
|
-
? `${SdkImportWizard_1.SdkImportWizard.IConnection(importer)}<${route.name}.Headers>`
|
|
24
|
-
: SdkImportWizard_1.SdkImportWizard.IConnection(importer)},`,
|
|
27
|
+
const caller = () => typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("random"), undefined, [
|
|
28
|
+
typescript_1.default.factory.createConditionalExpression(typescript_1.default.factory.createLogicalAnd(typescript_1.default.factory.createStrictEquality(typescript_1.default.factory.createStringLiteral("object"), typescript_1.default.factory.createTypeOfExpression(typescript_1.default.factory.createIdentifier("connection.simulate"))), typescript_1.default.factory.createStrictInequality(typescript_1.default.factory.createNull(), typescript_1.default.factory.createIdentifier("connection.simulate"))), undefined, typescript_1.default.factory.createIdentifier("connection.simulate"), undefined, typescript_1.default.factory.createIdentifier("undefined")),
|
|
29
|
+
]);
|
|
30
|
+
return constant("simulate")(typescript_1.default.factory.createArrowFunction(undefined, undefined, [
|
|
31
|
+
IdentifierFactory_1.IdentifierFactory.parameter("connection", typescript_1.default.factory.createTypeReferenceNode(SdkImportWizard_1.SdkImportWizard.IConnection(importer), route.parameters.some((p) => p.category === "headers" && p.field === undefined)
|
|
32
|
+
? [
|
|
33
|
+
typescript_1.default.factory.createTypeReferenceNode(`${route.name}.Headers`),
|
|
34
|
+
]
|
|
35
|
+
: [])),
|
|
25
36
|
...route.parameters
|
|
26
37
|
.filter((p) => p.category !== "headers")
|
|
27
|
-
.map((p) =>
|
|
28
|
-
?
|
|
29
|
-
:
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
]
|
|
34
|
-
|
|
35
|
-
.
|
|
38
|
+
.map((p) => typescript_1.default.factory.createParameterDeclaration([], undefined, p.name, p.optional
|
|
39
|
+
? typescript_1.default.factory.createToken(typescript_1.default.SyntaxKind.QuestionToken)
|
|
40
|
+
: undefined, typescript_1.default.factory.createTypeReferenceNode(config.primitive !== false &&
|
|
41
|
+
(p === props.query || p === props.input)
|
|
42
|
+
? `${route.name}.${p === props.query ? "Query" : "Input"}`
|
|
43
|
+
: getTypeName(config)(importer)(p)))),
|
|
44
|
+
], typescript_1.default.factory.createTypeReferenceNode(output ? "Output" : "void"), undefined, typescript_1.default.factory.createBlock([
|
|
45
|
+
...assert(config)(importer)(route),
|
|
46
|
+
typescript_1.default.factory.createReturnStatement(config.propagate
|
|
47
|
+
? typescript_1.default.factory.createObjectLiteralExpression([
|
|
48
|
+
typescript_1.default.factory.createPropertyAssignment("success", typescript_1.default.factory.createTrue()),
|
|
49
|
+
typescript_1.default.factory.createPropertyAssignment("status", typescript_1.default.factory.createNumericLiteral((_a = route.status) !== null && _a !== void 0 ? _a : (route.method === "POST" ? 201 : 200))),
|
|
50
|
+
typescript_1.default.factory.createPropertyAssignment("headers", LiteralFactory_1.LiteralFactory.generate({
|
|
51
|
+
"Content-Type": route.output.contentType,
|
|
52
|
+
})),
|
|
53
|
+
typescript_1.default.factory.createPropertyAssignment("data", caller()),
|
|
54
|
+
], true)
|
|
55
|
+
: caller()),
|
|
56
|
+
], true)));
|
|
36
57
|
};
|
|
37
58
|
const assert = (config) => (importer) => (route) => {
|
|
59
|
+
const parameters = route.parameters.filter((p) => p.category !== "headers");
|
|
60
|
+
if (parameters.length === 0)
|
|
61
|
+
return [];
|
|
38
62
|
const typia = SdkImportWizard_1.SdkImportWizard.typia(importer);
|
|
39
|
-
const
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
.
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
.
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
`try {`,
|
|
68
|
-
...individual.map((l) => ` ${l}`),
|
|
69
|
-
`} catch (exp) {`,
|
|
70
|
-
` if (!${typia}.is<${SdkImportWizard_1.SdkImportWizard.HttpError(importer)}>(exp)) throw exp;`,
|
|
71
|
-
` return {`,
|
|
72
|
-
` success: false,`,
|
|
73
|
-
` status: exp.status,`,
|
|
74
|
-
` headers: exp.headers,`,
|
|
75
|
-
` data: exp.toJSON().message,`,
|
|
76
|
-
` } as any;`,
|
|
77
|
-
`}`,
|
|
78
|
-
];
|
|
79
|
-
};
|
|
80
|
-
const returns = (config) => (route) => {
|
|
81
|
-
var _a;
|
|
82
|
-
const random = (prefix, postfix) => route.output.typeName === "void"
|
|
83
|
-
? [`${prefix} undefined${postfix}`]
|
|
84
|
-
: [
|
|
85
|
-
`${prefix} random(`,
|
|
86
|
-
` typeof connection.simulate === 'object' &&`,
|
|
87
|
-
` connection.simulate !== null`,
|
|
88
|
-
` ? connection.simulate`,
|
|
89
|
-
` : undefined`,
|
|
90
|
-
`)${postfix}`,
|
|
91
|
-
];
|
|
92
|
-
if (config.propagate !== true)
|
|
93
|
-
return random("return", ";");
|
|
63
|
+
const validator = StatementFactory_1.StatementFactory.constant("assert", typescript_1.default.factory.createCallExpression(IdentifierFactory_1.IdentifierFactory.access(typescript_1.default.factory.createIdentifier(importer.internal({
|
|
64
|
+
file: `${config.output}/utils/NestiaSimulator.ts`,
|
|
65
|
+
instance: "NestiaSimulator",
|
|
66
|
+
type: false,
|
|
67
|
+
})))("assert"), undefined, [
|
|
68
|
+
typescript_1.default.factory.createObjectLiteralExpression([
|
|
69
|
+
typescript_1.default.factory.createPropertyAssignment("method", typescript_1.default.factory.createIdentifier("METADATA.method")),
|
|
70
|
+
typescript_1.default.factory.createPropertyAssignment("host", typescript_1.default.factory.createIdentifier("connection.host")),
|
|
71
|
+
typescript_1.default.factory.createPropertyAssignment("path", typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("path"), undefined, route.parameters
|
|
72
|
+
.filter((p) => p.category === "param" || p.category === "query")
|
|
73
|
+
.map((p) => typescript_1.default.factory.createIdentifier(p.name)))),
|
|
74
|
+
typescript_1.default.factory.createPropertyAssignment("contentType", typescript_1.default.factory.createIdentifier(JSON.stringify(route.output.contentType))),
|
|
75
|
+
], true),
|
|
76
|
+
]));
|
|
77
|
+
const individual = parameters
|
|
78
|
+
.map((p) => typescript_1.default.factory.createCallExpression((() => {
|
|
79
|
+
const base = IdentifierFactory_1.IdentifierFactory.access(typescript_1.default.factory.createIdentifier("assert"))(p.category);
|
|
80
|
+
if (p.category !== "param")
|
|
81
|
+
return base;
|
|
82
|
+
return typescript_1.default.factory.createCallExpression(base, undefined, [
|
|
83
|
+
typescript_1.default.factory.createStringLiteral(p.name),
|
|
84
|
+
]);
|
|
85
|
+
})(), undefined, [
|
|
86
|
+
typescript_1.default.factory.createArrowFunction(undefined, undefined, [], undefined, undefined, typescript_1.default.factory.createCallExpression(IdentifierFactory_1.IdentifierFactory.access(typescript_1.default.factory.createIdentifier(typia))("assert"), undefined, [
|
|
87
|
+
typescript_1.default.factory.createIdentifier(p.category === "headers" ? "connection.headers" : p.name),
|
|
88
|
+
])),
|
|
89
|
+
]))
|
|
90
|
+
.map(typescript_1.default.factory.createExpressionStatement);
|
|
94
91
|
return [
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
` "Content-Type": "${route.output.contentType}",`,
|
|
100
|
-
` },`,
|
|
101
|
-
...random("data:", ",").map((r) => ` ${r}`),
|
|
102
|
-
`}`,
|
|
92
|
+
validator,
|
|
93
|
+
...(config.propagate !== true
|
|
94
|
+
? individual
|
|
95
|
+
: [tryAndCatch(importer)(individual)]),
|
|
103
96
|
];
|
|
104
97
|
};
|
|
98
|
+
const tryAndCatch = (importer) => (individual) => typescript_1.default.factory.createTryStatement(typescript_1.default.factory.createBlock(individual, true), typescript_1.default.factory.createCatchClause("exp", typescript_1.default.factory.createBlock([
|
|
99
|
+
typescript_1.default.factory.createIfStatement(typescript_1.default.factory.createLogicalNot(typescript_1.default.factory.createCallExpression(IdentifierFactory_1.IdentifierFactory.access(typescript_1.default.factory.createIdentifier(SdkImportWizard_1.SdkImportWizard.typia(importer)))("is"), [
|
|
100
|
+
typescript_1.default.factory.createTypeReferenceNode(SdkImportWizard_1.SdkImportWizard.HttpError(importer)),
|
|
101
|
+
], [typescript_1.default.factory.createIdentifier("exp")])), typescript_1.default.factory.createThrowStatement(typescript_1.default.factory.createIdentifier("exp"))),
|
|
102
|
+
typescript_1.default.factory.createReturnStatement(typescript_1.default.factory.createAsExpression(typescript_1.default.factory.createObjectLiteralExpression([
|
|
103
|
+
typescript_1.default.factory.createPropertyAssignment("success", typescript_1.default.factory.createFalse()),
|
|
104
|
+
typescript_1.default.factory.createPropertyAssignment("status", typescript_1.default.factory.createIdentifier("exp.status")),
|
|
105
|
+
typescript_1.default.factory.createPropertyAssignment("headers", typescript_1.default.factory.createIdentifier("exp.headers")),
|
|
106
|
+
typescript_1.default.factory.createPropertyAssignment("data", typescript_1.default.factory.createIdentifier("exp.toJSON().message")),
|
|
107
|
+
], true), TypeFactory_1.TypeFactory.keyword("any"))),
|
|
108
|
+
], true)), undefined);
|
|
105
109
|
})(SdkSimulationProgrammer || (exports.SdkSimulationProgrammer = SdkSimulationProgrammer = {}));
|
|
110
|
+
const constant = (name) => (expression) => typescript_1.default.factory.createVariableStatement([typescript_1.default.factory.createModifier(typescript_1.default.SyntaxKind.ExportKeyword)], typescript_1.default.factory.createVariableDeclarationList([
|
|
111
|
+
typescript_1.default.factory.createVariableDeclaration(typescript_1.default.factory.createIdentifier(name), undefined, undefined, expression),
|
|
112
|
+
], typescript_1.default.NodeFlags.Const));
|
|
113
|
+
const getTypeName = (config) => (importer) => (p) => p.metadata
|
|
114
|
+
? SdkDtoGenerator_1.SdkDtoGenerator.decode(config)(importer)(p.metadata)
|
|
115
|
+
: p.typeName;
|
|
106
116
|
//# sourceMappingURL=SdkSimulationProgrammer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SdkSimulationProgrammer.js","sourceRoot":"","sources":["../../../src/generates/internal/SdkSimulationProgrammer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"SdkSimulationProgrammer.js","sourceRoot":"","sources":["../../../src/generates/internal/SdkSimulationProgrammer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import ts from "typescript";
|
|
1
2
|
export declare class ImportDictionary {
|
|
2
3
|
readonly file: string;
|
|
3
4
|
private readonly components_;
|
|
@@ -5,6 +6,7 @@ export declare class ImportDictionary {
|
|
|
5
6
|
empty(): boolean;
|
|
6
7
|
external(props: ImportDictionary.IExternalProps): string;
|
|
7
8
|
internal(props: ImportDictionary.IInternalProps): string;
|
|
9
|
+
toStatements(outDir: string): ts.Statement[];
|
|
8
10
|
toScript(outDir: string): string;
|
|
9
11
|
}
|
|
10
12
|
export declare namespace ImportDictionary {
|