@nestia/sdk 2.4.7-dev.20240126 → 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
|
@@ -14,10 +14,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
15
|
exports.SdkFileProgrammer = void 0;
|
|
16
16
|
const fs_1 = __importDefault(require("fs"));
|
|
17
|
+
const prettier_1 = require("prettier");
|
|
18
|
+
const typescript_1 = __importDefault(require("typescript"));
|
|
17
19
|
const ImportDictionary_1 = require("../../utils/ImportDictionary");
|
|
18
20
|
const MapUtil_1 = require("../../utils/MapUtil");
|
|
19
|
-
const
|
|
21
|
+
const NodeUtil_1 = require("../../utils/NodeUtil");
|
|
20
22
|
const SdkRouteDirectory_1 = require("./SdkRouteDirectory");
|
|
23
|
+
const SdkRouteProgrammer_1 = require("./SdkRouteProgrammer");
|
|
21
24
|
var SdkFileProgrammer;
|
|
22
25
|
(function (SdkFileProgrammer) {
|
|
23
26
|
/* ---------------------------------------------------------
|
|
@@ -49,13 +52,13 @@ var SdkFileProgrammer;
|
|
|
49
52
|
}
|
|
50
53
|
catch (_a) { }
|
|
51
54
|
// ITERATE CHILDREN
|
|
52
|
-
const
|
|
55
|
+
const statements = [];
|
|
53
56
|
for (const [key, value] of directory.children) {
|
|
54
57
|
yield iterate(config)(value)(`${outDir}/${key}`);
|
|
55
|
-
|
|
58
|
+
statements.push(typescript_1.default.factory.createExportDeclaration(undefined, false, typescript_1.default.factory.createNamespaceExport(typescript_1.default.factory.createIdentifier(key)), typescript_1.default.factory.createStringLiteral(`./${key}`), undefined));
|
|
56
59
|
}
|
|
57
|
-
if (
|
|
58
|
-
|
|
60
|
+
if (statements.length && directory.routes.length)
|
|
61
|
+
statements.push(NodeUtil_1.NodeUtil.enter());
|
|
59
62
|
// ITERATE ROUTES
|
|
60
63
|
const importer = new ImportDictionary_1.ImportDictionary(`${outDir}/index.ts`);
|
|
61
64
|
if (config.simulate === true &&
|
|
@@ -74,21 +77,31 @@ var SdkFileProgrammer;
|
|
|
74
77
|
instance,
|
|
75
78
|
type: true,
|
|
76
79
|
});
|
|
77
|
-
|
|
80
|
+
statements.push(...SdkRouteProgrammer_1.SdkRouteProgrammer.generate(config)(importer)(route));
|
|
78
81
|
if (i !== directory.routes.length - 1)
|
|
79
|
-
|
|
82
|
+
statements.push(NodeUtil_1.NodeUtil.enter());
|
|
80
83
|
});
|
|
81
84
|
// FINALIZE THE CONTENT
|
|
82
85
|
if (directory.routes.length !== 0)
|
|
83
|
-
|
|
86
|
+
statements.push(...importer.toStatements(outDir), ...(!importer.empty() && statements.length ? [NodeUtil_1.NodeUtil.enter()] : []), ...statements.splice(0, statements.length));
|
|
84
87
|
const script = "/**\n" +
|
|
85
88
|
" * @packageDocumentation\n" +
|
|
86
89
|
` * @module ${directory.module}\n` +
|
|
87
90
|
" * @nestia Generated by Nestia - https://github.com/samchon/nestia \n" +
|
|
88
91
|
" */\n" +
|
|
89
92
|
"//================================================================\n" +
|
|
90
|
-
|
|
91
|
-
|
|
93
|
+
typescript_1.default
|
|
94
|
+
.createPrinter()
|
|
95
|
+
.printFile(typescript_1.default.factory.createSourceFile(statements, typescript_1.default.factory.createToken(typescript_1.default.SyntaxKind.EndOfFileToken), typescript_1.default.NodeFlags.None));
|
|
96
|
+
const beautify = () => __awaiter(this, void 0, void 0, function* () {
|
|
97
|
+
try {
|
|
98
|
+
return yield (0, prettier_1.format)(script, { parser: "typescript" });
|
|
99
|
+
}
|
|
100
|
+
catch (_b) {
|
|
101
|
+
return script;
|
|
102
|
+
}
|
|
103
|
+
});
|
|
104
|
+
yield fs_1.default.promises.writeFile(importer.file, yield beautify(), "utf8");
|
|
92
105
|
});
|
|
93
106
|
})(SdkFileProgrammer || (exports.SdkFileProgrammer = SdkFileProgrammer = {}));
|
|
94
107
|
//# sourceMappingURL=SdkFileProgrammer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SdkFileProgrammer.js","sourceRoot":"","sources":["../../../src/generates/internal/SdkFileProgrammer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,4CAAoB;
|
|
1
|
+
{"version":3,"file":"SdkFileProgrammer.js","sourceRoot":"","sources":["../../../src/generates/internal/SdkFileProgrammer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,11 @@
|
|
|
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 SdkFunctionProgrammer {
|
|
5
|
-
const generate: (config: INestiaConfig) => (importer: ImportDictionary) => (route: IRoute
|
|
6
|
+
const generate: (config: INestiaConfig) => (importer: ImportDictionary) => (route: IRoute, props: {
|
|
7
|
+
headers: IRoute.IParameter | undefined;
|
|
8
|
+
query: IRoute.IParameter | undefined;
|
|
9
|
+
input: IRoute.IParameter | undefined;
|
|
10
|
+
}) => ts.FunctionDeclaration;
|
|
6
11
|
}
|
|
@@ -1,346 +1,96 @@
|
|
|
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.SdkFunctionProgrammer = void 0;
|
|
4
|
-
const
|
|
5
|
-
const
|
|
7
|
+
const typescript_1 = __importDefault(require("typescript"));
|
|
8
|
+
const typia_1 = __importDefault(require("typia"));
|
|
9
|
+
const IdentifierFactory_1 = require("typia/lib/factories/IdentifierFactory");
|
|
6
10
|
const SdkDtoGenerator_1 = require("./SdkDtoGenerator");
|
|
7
11
|
const SdkImportWizard_1 = require("./SdkImportWizard");
|
|
8
|
-
const SdkSimulationProgrammer_1 = require("./SdkSimulationProgrammer");
|
|
9
|
-
const SdkTypeDefiner_1 = require("./SdkTypeDefiner");
|
|
10
12
|
var SdkFunctionProgrammer;
|
|
11
13
|
(function (SdkFunctionProgrammer) {
|
|
12
|
-
SdkFunctionProgrammer.generate = (config) => (importer) => (route) => {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
14
|
+
SdkFunctionProgrammer.generate = (config) => (importer) => (route, props) => {
|
|
15
|
+
return typescript_1.default.factory.createFunctionDeclaration([
|
|
16
|
+
typescript_1.default.factory.createModifier(typescript_1.default.SyntaxKind.ExportKeyword),
|
|
17
|
+
typescript_1.default.factory.createModifier(typescript_1.default.SyntaxKind.AsyncKeyword),
|
|
18
|
+
], undefined, route.name, undefined, [
|
|
19
|
+
IdentifierFactory_1.IdentifierFactory.parameter("connection", typescript_1.default.factory.createTypeReferenceNode(SdkImportWizard_1.SdkImportWizard.IConnection(importer), props.headers
|
|
20
|
+
? [typescript_1.default.factory.createTypeReferenceNode(`${route.name}.Headers`)]
|
|
21
|
+
: undefined)),
|
|
22
|
+
...route.parameters
|
|
23
|
+
.filter((p) => p.category !== "headers")
|
|
24
|
+
.map((p) => typescript_1.default.factory.createParameterDeclaration([], undefined, p.name, p.optional
|
|
25
|
+
? typescript_1.default.factory.createToken(typescript_1.default.SyntaxKind.QuestionToken)
|
|
26
|
+
: undefined, typescript_1.default.factory.createTypeReferenceNode(config.primitive !== false &&
|
|
27
|
+
(p === props.query || p === props.input)
|
|
28
|
+
? `${route.name}.${p === props.query ? "Query" : "Input"}`
|
|
29
|
+
: getTypeName(config)(importer)(p)))),
|
|
30
|
+
], typescript_1.default.factory.createTypeReferenceNode("Promise", [
|
|
31
|
+
typescript_1.default.factory.createTypeReferenceNode(config.propagate !== true && route.output.typeName === "void"
|
|
32
|
+
? "void"
|
|
33
|
+
: `${route.name}.Output`),
|
|
34
|
+
]), typescript_1.default.factory.createBlock(generate_body(config)(importer)(route, props), true));
|
|
19
35
|
};
|
|
20
|
-
|
|
21
|
-
BODY
|
|
22
|
-
--------------------------------------------------------- */
|
|
23
|
-
const body = (config) => (importer) => (route) => (props) => {
|
|
24
|
-
var _a;
|
|
36
|
+
const generate_body = (config) => (importer) => (route, props) => {
|
|
25
37
|
const encrypted = route.encrypted === true ||
|
|
26
38
|
(props.input !== undefined &&
|
|
27
39
|
props.input.custom === true &&
|
|
28
40
|
props.input.category === "body" &&
|
|
29
41
|
props.input.encrypted === true);
|
|
30
|
-
// FETCH ARGUMENTS WITH REQUST BODY
|
|
31
|
-
const parameters = filter_path_parameters(route)(props.query);
|
|
32
42
|
const contentType = props.input !== undefined
|
|
33
|
-
?
|
|
34
|
-
|
|
35
|
-
|
|
43
|
+
? (input => {
|
|
44
|
+
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);
|
|
45
|
+
return "object" === typeof input && null !== input && $io0(input);
|
|
46
|
+
})(props.input) ? props.input.contentType
|
|
47
|
+
: "application/json"
|
|
36
48
|
: undefined;
|
|
37
|
-
const
|
|
38
|
-
contentType
|
|
39
|
-
? [
|
|
40
|
-
"{",
|
|
41
|
-
" ...connection,",
|
|
42
|
-
" headers: {",
|
|
43
|
-
" ...(connection.headers ?? {}),",
|
|
44
|
-
` "Content-Type": "${contentType}",`,
|
|
45
|
-
" },",
|
|
46
|
-
"}",
|
|
47
|
-
]
|
|
48
|
-
: "connection",
|
|
49
|
-
[
|
|
50
|
-
"{",
|
|
51
|
-
` ...${route.name}.METADATA,`,
|
|
52
|
-
` path: ${route.name}.path(${parameters
|
|
53
|
-
.map((p) => p.name)
|
|
54
|
-
.join(", ")}),`,
|
|
55
|
-
"} as const",
|
|
56
|
-
],
|
|
57
|
-
];
|
|
58
|
-
if (props.input !== undefined) {
|
|
59
|
-
fetchArguments.push(props.input.name);
|
|
60
|
-
if (config.json === true)
|
|
61
|
-
fetchArguments.push(`${route.name}.stringify`);
|
|
62
|
-
}
|
|
63
|
-
const assertions = config.assert === true &&
|
|
64
|
-
route.parameters.filter((p) => p.category !== "headers" || p.field === undefined).length !== 0
|
|
65
|
-
? route.parameters
|
|
66
|
-
.filter((p) => p.category !== "headers" || p.field === undefined)
|
|
67
|
-
.map((param) => ` ${SdkImportWizard_1.SdkImportWizard.typia(importer)}.assert<typeof ${param.name}>(${param.name});`)
|
|
68
|
-
.join("\n") + "\n\n"
|
|
69
|
-
: "";
|
|
70
|
-
// FUNCTION CALL STATEMENT
|
|
71
|
-
const caller = (awa) => {
|
|
72
|
-
const random = () => [
|
|
73
|
-
`${awa ? "await " : ""}${route.name}.simulate(`,
|
|
74
|
-
` connection,`,
|
|
75
|
-
...route.parameters
|
|
76
|
-
.filter((p) => p.category !== "headers")
|
|
77
|
-
.map((p) => ` ${p.name},`),
|
|
78
|
-
`)`,
|
|
79
|
-
]
|
|
80
|
-
.map((line, i) => (i === 0 ? line : `${space(10)}${line}`))
|
|
81
|
-
.join("\n");
|
|
82
|
-
const fetch = (tab) => [
|
|
83
|
-
`${awa ? "await " : ""}${SdkImportWizard_1.SdkImportWizard.Fetcher(encrypted)(importer)}.${config.propagate === true ? "propagate" : "fetch"}(`,
|
|
84
|
-
fetchArguments
|
|
85
|
-
.map((param) => typeof param === "string"
|
|
86
|
-
? `${tab} ${param}`
|
|
87
|
-
: param.map((str) => `${tab} ${str}`).join("\n"))
|
|
88
|
-
.join(",\n") + ",",
|
|
89
|
-
`${tab})`,
|
|
90
|
-
].join("\n");
|
|
91
|
-
if (!config.simulate)
|
|
92
|
-
return fetch(space(4));
|
|
93
|
-
return (`!!connection.simulate\n` +
|
|
94
|
-
` ? ${random()}\n` +
|
|
95
|
-
` : ${fetch(space(10))}`);
|
|
96
|
-
};
|
|
97
|
-
if (route.setHeaders.length === 0)
|
|
98
|
-
return `{\n${assertions} return ${caller(false)};\n}`;
|
|
99
|
-
// SET HEADERS
|
|
100
|
-
const content = [
|
|
101
|
-
`{\n`,
|
|
102
|
-
assertions,
|
|
103
|
-
` const output: ${route.name}.Output = ${caller(true)};\n`,
|
|
104
|
-
"\n",
|
|
105
|
-
` // configure header(s)\n`,
|
|
106
|
-
` connection.headers ??= {};\n`,
|
|
107
|
-
];
|
|
108
|
-
const headerContents = (variable) => route.setHeaders.map((header) => {
|
|
49
|
+
const caller = () => {
|
|
109
50
|
var _a;
|
|
110
|
-
return
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
(param.category === "query" && param.field !== undefined));
|
|
127
|
-
if (query)
|
|
128
|
-
parameters.push(query);
|
|
129
|
-
return parameters;
|
|
130
|
-
};
|
|
131
|
-
const access = (x) => (y) => y[0] === "[" ? `${x}${y}` : `${x}.${y}`;
|
|
132
|
-
/* ---------------------------------------------------------
|
|
133
|
-
HEAD & TAIL
|
|
134
|
-
--------------------------------------------------------- */
|
|
135
|
-
const head = (config) => (importer) => (route) => (props) => {
|
|
136
|
-
var _a;
|
|
137
|
-
//----
|
|
138
|
-
// CONSTRUCT COMMENT
|
|
139
|
-
//----
|
|
140
|
-
// MAIN DESCRIPTION
|
|
141
|
-
const comments = route.description
|
|
142
|
-
? route.description.split("\n")
|
|
143
|
-
: [];
|
|
144
|
-
// COMMENT TAGS
|
|
145
|
-
const tags = route.jsDocTags.filter((tag) => tag.name !== "param" ||
|
|
146
|
-
route.parameters
|
|
147
|
-
.filter((p) => p.category !== "headers")
|
|
148
|
-
.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); }));
|
|
149
|
-
if (tags.length !== 0) {
|
|
150
|
-
const content = tags.map((t) => {
|
|
151
|
-
var _a;
|
|
152
|
-
return ((_a = t.text) === null || _a === void 0 ? void 0 : _a.length)
|
|
153
|
-
? `@${t.name} ${t.text.map((e) => e.text).join("")}`
|
|
154
|
-
: `@${t.name}`;
|
|
155
|
-
});
|
|
156
|
-
comments.push("", ...new Set(content));
|
|
157
|
-
}
|
|
158
|
-
// EXCEPTIONS
|
|
159
|
-
for (const [key, value] of Object.entries(route.exceptions)) {
|
|
160
|
-
if (comments.some((str) => str.startsWith(`@throw ${key}`) ||
|
|
161
|
-
str.startsWith(`@throws ${key}`)))
|
|
162
|
-
continue;
|
|
163
|
-
comments.push(((_a = value.description) === null || _a === void 0 ? void 0 : _a.length)
|
|
164
|
-
? `@throws ${key} ${value.description.split("\n")[0]}`
|
|
165
|
-
: `@throws ${key}`);
|
|
166
|
-
}
|
|
167
|
-
// POSTFIX
|
|
168
|
-
if (!!comments.length)
|
|
169
|
-
comments.push("");
|
|
170
|
-
comments.push(`@controller ${route.symbol.class}.${route.symbol.function}`, `@path ${route.method} ${route.path}`, `@nestia Generated by Nestia - https://github.com/samchon/nestia`);
|
|
171
|
-
//----
|
|
172
|
-
// FINALIZATION
|
|
173
|
-
//----
|
|
174
|
-
// REFORM PARAMETERS TEXT
|
|
175
|
-
const parameters = [
|
|
176
|
-
route.parameters.some((p) => p.category === "headers" && p.field === undefined)
|
|
177
|
-
? `connection: ${SdkImportWizard_1.SdkImportWizard.IConnection(importer)}<${`${route.name}.Headers`}>`
|
|
178
|
-
: `connection: ${SdkImportWizard_1.SdkImportWizard.IConnection(importer)}`,
|
|
179
|
-
...route.parameters
|
|
180
|
-
.filter((p) => p.category !== "headers")
|
|
181
|
-
.map((param) => {
|
|
182
|
-
const type = config.primitive !== false &&
|
|
183
|
-
(param === props.query || param === props.input)
|
|
184
|
-
? `${route.name}.${param === props.query ? "Query" : "Input"}`
|
|
185
|
-
: getTypeName(config)(importer)(param);
|
|
186
|
-
return `${param.name}${param.optional ? "?" : ""}: ${type}`;
|
|
187
|
-
}),
|
|
188
|
-
];
|
|
189
|
-
// OUTPUT TYPE
|
|
190
|
-
const output = config.propagate !== true && route.output.typeName === "void"
|
|
191
|
-
? "void"
|
|
192
|
-
: `${route.name}.Output`;
|
|
193
|
-
// RETURNS WITH CONSTRUCTION
|
|
194
|
-
return ("" +
|
|
195
|
-
"/**\n" +
|
|
196
|
-
comments.map((str) => ` * ${str}`).join("\n") +
|
|
197
|
-
"\n" +
|
|
198
|
-
" */\n" +
|
|
199
|
-
`export async function ${route.name}(\n` +
|
|
200
|
-
parameters.map((str) => ` ${str},\n`).join("") +
|
|
201
|
-
`): Promise<${output}>`);
|
|
202
|
-
};
|
|
203
|
-
const tail = (config) => (importer) => (route) => (props) => {
|
|
204
|
-
var _a;
|
|
205
|
-
// LIST UP TYPES
|
|
206
|
-
const types = [];
|
|
207
|
-
if (props.headers !== undefined)
|
|
208
|
-
types.push(new Pair_1.Pair("Headers", SdkTypeDefiner_1.SdkTypeDefiner.headers(config)(importer)(props.headers)));
|
|
209
|
-
if (props.query !== undefined)
|
|
210
|
-
types.push(new Pair_1.Pair("Query", SdkTypeDefiner_1.SdkTypeDefiner.query(config)(importer)(props.query)));
|
|
211
|
-
if (props.input !== undefined)
|
|
212
|
-
types.push(new Pair_1.Pair("Input", SdkTypeDefiner_1.SdkTypeDefiner.input(config)(importer)(props.input)));
|
|
213
|
-
if (config.propagate === true || route.output.typeName !== "void")
|
|
214
|
-
types.push(new Pair_1.Pair("Output", SdkTypeDefiner_1.SdkTypeDefiner.output(config)(importer)(route)));
|
|
215
|
-
// PATH WITH PARAMETERS
|
|
216
|
-
const parameters = filter_path_parameters(route)(props.query);
|
|
217
|
-
const path = compute_path({
|
|
218
|
-
path: route.path,
|
|
219
|
-
query: props.query,
|
|
220
|
-
parameters,
|
|
221
|
-
});
|
|
222
|
-
return (`export namespace ${route.name} {\n` +
|
|
223
|
-
(types.length !== 0
|
|
224
|
-
? types
|
|
225
|
-
.map((tuple) => ` export type ${tuple.first} = ${tuple.second};`)
|
|
226
|
-
.join("\n") + "\n"
|
|
227
|
-
: "") +
|
|
228
|
-
"\n" +
|
|
229
|
-
[
|
|
230
|
-
"export const METADATA = {",
|
|
231
|
-
` method: "${route.method}",`,
|
|
232
|
-
` path: "${route.path}",`,
|
|
51
|
+
return typescript_1.default.factory.createCallExpression(IdentifierFactory_1.IdentifierFactory.access(typescript_1.default.factory.createIdentifier(SdkImportWizard_1.SdkImportWizard.Fetcher(encrypted)(importer)))(config.propagate ? "propagate" : "fetch"), undefined, [
|
|
52
|
+
contentType
|
|
53
|
+
? typescript_1.default.factory.createObjectLiteralExpression([
|
|
54
|
+
typescript_1.default.factory.createSpreadAssignment(typescript_1.default.factory.createIdentifier("connection")),
|
|
55
|
+
typescript_1.default.factory.createPropertyAssignment("headers", typescript_1.default.factory.createObjectLiteralExpression([
|
|
56
|
+
typescript_1.default.factory.createSpreadAssignment(IdentifierFactory_1.IdentifierFactory.access(typescript_1.default.factory.createIdentifier("connection"))("headers")),
|
|
57
|
+
typescript_1.default.factory.createPropertyAssignment(typescript_1.default.factory.createStringLiteral("Content-Type"), typescript_1.default.factory.createStringLiteral(contentType)),
|
|
58
|
+
], true)),
|
|
59
|
+
], true)
|
|
60
|
+
: typescript_1.default.factory.createIdentifier("connection"),
|
|
61
|
+
typescript_1.default.factory.createObjectLiteralExpression([
|
|
62
|
+
typescript_1.default.factory.createSpreadAssignment(IdentifierFactory_1.IdentifierFactory.access(typescript_1.default.factory.createIdentifier(route.name))("METADATA")),
|
|
63
|
+
typescript_1.default.factory.createPropertyAssignment("path", typescript_1.default.factory.createCallExpression(IdentifierFactory_1.IdentifierFactory.access(typescript_1.default.factory.createIdentifier(route.name))("path"), undefined, route.parameters
|
|
64
|
+
.filter((p) => p.category === "param" || p.category === "query")
|
|
65
|
+
.map((p) => typescript_1.default.factory.createIdentifier(p.name)))),
|
|
66
|
+
], true),
|
|
233
67
|
...(props.input
|
|
234
|
-
? [
|
|
235
|
-
`request: {`,
|
|
236
|
-
` type: "${props.input.encrypted
|
|
237
|
-
? "text/plain"
|
|
238
|
-
: (_a = props.input.contentType) !== null && _a !== void 0 ? _a : "application/json"}",`,
|
|
239
|
-
` encrypted: ${props.input.custom &&
|
|
240
|
-
props.input.category === "body" &&
|
|
241
|
-
props.input.encrypted}`,
|
|
242
|
-
`},`,
|
|
243
|
-
].map((str) => ` ${str}`)
|
|
244
|
-
: [" request: null,"]),
|
|
245
|
-
...(route.method !== "HEAD"
|
|
246
|
-
? [
|
|
247
|
-
`response: {`,
|
|
248
|
-
` type: "${route.output.contentType}",`,
|
|
249
|
-
` encrypted: ${route.encrypted},`,
|
|
250
|
-
`},`,
|
|
251
|
-
].map((str) => ` ${str}`)
|
|
252
|
-
: [" response: null,"]),
|
|
253
|
-
...(route.status
|
|
254
|
-
? [` status: ${route.status},`]
|
|
255
|
-
: [" status: null,"]),
|
|
256
|
-
...(route.output.contentType === "application/x-www-form-urlencoded"
|
|
257
|
-
? [
|
|
258
|
-
` parseQuery: (input: URLSearchParams) => ${SdkImportWizard_1.SdkImportWizard.typia(importer)}.http.assertQuery<${route.output.typeName}>(input),`,
|
|
259
|
-
]
|
|
68
|
+
? [typescript_1.default.factory.createIdentifier(props.input.name)]
|
|
260
69
|
: []),
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
: "") +
|
|
284
|
-
(config.json === true &&
|
|
285
|
-
route.parameters.find((param) => param.category === "body") !==
|
|
286
|
-
undefined
|
|
287
|
-
? ` export const stringify = (input: Input) => ${SdkImportWizard_1.SdkImportWizard.typia(importer)}.json.assertStringify(input);\n`
|
|
288
|
-
: "") +
|
|
289
|
-
"}");
|
|
290
|
-
};
|
|
291
|
-
const compute_path = (props) => {
|
|
292
|
-
for (const param of props.parameters)
|
|
293
|
-
if (param.category === "param")
|
|
294
|
-
props.path = props.path.replace(`:${param.field}`, `\${encodeURIComponent(${param.name} ?? "null")}`);
|
|
295
|
-
// NO QUERY PARAMETER
|
|
296
|
-
const queryParams = props.parameters.filter((param) => param.category === "query" && param.field !== undefined);
|
|
297
|
-
if (props.query === undefined && queryParams.length === 0)
|
|
298
|
-
return `${space(8)}return \`${props.path}\``;
|
|
299
|
-
const computeName = (str) => props.parameters
|
|
300
|
-
.filter((p) => p.category !== "headers")
|
|
301
|
-
.find((p) => p.name === str) !== undefined
|
|
302
|
-
? computeName("_" + str)
|
|
303
|
-
: str;
|
|
304
|
-
const variables = computeName("variables");
|
|
305
|
-
const search = computeName("search");
|
|
306
|
-
const encoded = computeName("encoded");
|
|
307
|
-
const wrapper = (expr) => [
|
|
308
|
-
`const ${variables}: Record<any, any> = ${expr};`,
|
|
309
|
-
`const ${search}: URLSearchParams = new URLSearchParams();`,
|
|
310
|
-
`for (const [key, value] of Object.entries(${variables}))`,
|
|
311
|
-
` if (value === undefined) continue;`,
|
|
312
|
-
` else if (Array.isArray(value))`,
|
|
313
|
-
` value.forEach((elem) => ${search}.append(key, String(elem)));`,
|
|
314
|
-
` else`,
|
|
315
|
-
` ${search}.set(key, String(value));`,
|
|
316
|
-
`const ${encoded}: string = ${search}.toString();`,
|
|
317
|
-
`return \`${props.path}\${${encoded}.length ? \`?\${${encoded}}\` : ""}\`;`,
|
|
318
|
-
]
|
|
319
|
-
.map((str) => `${space(8)}${str}`)
|
|
320
|
-
.join("\n");
|
|
321
|
-
if (props.query !== undefined && queryParams.length === 0)
|
|
322
|
-
return wrapper(`${props.query.name} as any`);
|
|
323
|
-
else if (props.query === undefined)
|
|
324
|
-
return wrapper(`
|
|
325
|
-
{
|
|
326
|
-
${rest_query_parameters(queryParams)}
|
|
327
|
-
} as any`);
|
|
328
|
-
return wrapper(`
|
|
329
|
-
{
|
|
330
|
-
...${props.query.name},
|
|
331
|
-
${rest_query_parameters(queryParams)},
|
|
332
|
-
} as any`);
|
|
70
|
+
...(config.json && ((_a = props.input) === null || _a === void 0 ? void 0 : _a.category) === "body"
|
|
71
|
+
? [typescript_1.default.factory.createIdentifier(`${route.name}.stringify`)]
|
|
72
|
+
: []),
|
|
73
|
+
]);
|
|
74
|
+
};
|
|
75
|
+
return [
|
|
76
|
+
...(config.assert
|
|
77
|
+
? route.parameters
|
|
78
|
+
.filter((p) => p.category !== "headers")
|
|
79
|
+
.map((p) => typescript_1.default.factory.createExpressionStatement(typescript_1.default.factory.createCallExpression(IdentifierFactory_1.IdentifierFactory.access(typescript_1.default.factory.createIdentifier(SdkImportWizard_1.SdkImportWizard.typia(importer)))("assert"), [
|
|
80
|
+
typescript_1.default.factory.createTypeQueryNode(typescript_1.default.factory.createIdentifier(p.name)),
|
|
81
|
+
], [typescript_1.default.factory.createIdentifier(p.name)])))
|
|
82
|
+
: []),
|
|
83
|
+
typescript_1.default.factory.createReturnStatement(config.simulate
|
|
84
|
+
? typescript_1.default.factory.createConditionalExpression(typescript_1.default.factory.createIdentifier("!!connection.simulate"), undefined, typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier(`${route.name}.simulate`), [], [
|
|
85
|
+
typescript_1.default.factory.createIdentifier("connection"),
|
|
86
|
+
...route.parameters
|
|
87
|
+
.filter((p) => p.category !== "headers")
|
|
88
|
+
.map((p) => typescript_1.default.factory.createIdentifier(p.name)),
|
|
89
|
+
]), undefined, caller())
|
|
90
|
+
: caller()),
|
|
91
|
+
];
|
|
333
92
|
};
|
|
334
|
-
const rest_query_parameters = (parameters) => parameters
|
|
335
|
-
.filter((param) => param.category !== "headers")
|
|
336
|
-
.map((param) => param.name === param.field
|
|
337
|
-
? param.name
|
|
338
|
-
: `${Escaper_1.Escaper.variable(param.field)
|
|
339
|
-
? param.field
|
|
340
|
-
: JSON.stringify(param.field)}: ${param.name}`)
|
|
341
|
-
.join(`,\n${space(12)}`);
|
|
342
93
|
})(SdkFunctionProgrammer || (exports.SdkFunctionProgrammer = SdkFunctionProgrammer = {}));
|
|
343
|
-
const space = (count) => " ".repeat(count);
|
|
344
94
|
const getTypeName = (config) => (importer) => (p) => p.metadata
|
|
345
95
|
? SdkDtoGenerator_1.SdkDtoGenerator.decode(config)(importer)(p.metadata)
|
|
346
96
|
: p.typeName;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SdkFunctionProgrammer.js","sourceRoot":"","sources":["../../../src/generates/internal/SdkFunctionProgrammer.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SdkFunctionProgrammer.js","sourceRoot":"","sources":["../../../src/generates/internal/SdkFunctionProgrammer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
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 SdkNamespaceProgrammer {
|
|
6
|
+
const generate: (config: INestiaConfig) => (importer: ImportDictionary) => (route: IRoute, props: {
|
|
7
|
+
headers: IRoute.IParameter | undefined;
|
|
8
|
+
query: IRoute.IParameter | undefined;
|
|
9
|
+
input: IRoute.IParameter | undefined;
|
|
10
|
+
}) => ts.ModuleDeclaration;
|
|
11
|
+
}
|