@nestia/sdk 2.5.1-dev.20240201-2 → 2.5.1
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.
|
@@ -7,8 +7,6 @@ exports.SdkFunctionProgrammer = void 0;
|
|
|
7
7
|
const typescript_1 = __importDefault(require("typescript"));
|
|
8
8
|
const typia_1 = __importDefault(require("typia"));
|
|
9
9
|
const IdentifierFactory_1 = require("typia/lib/factories/IdentifierFactory");
|
|
10
|
-
const StatementFactory_1 = require("typia/lib/factories/StatementFactory");
|
|
11
|
-
const Escaper_1 = require("typia/lib/utils/Escaper");
|
|
12
10
|
const StringUtil_1 = require("../../utils/StringUtil");
|
|
13
11
|
const SdkImportWizard_1 = require("./SdkImportWizard");
|
|
14
12
|
const SdkTypeProgrammer_1 = require("./SdkTypeProgrammer");
|
|
@@ -31,9 +29,7 @@ var SdkFunctionProgrammer;
|
|
|
31
29
|
? typescript_1.default.factory.createTypeReferenceNode(`${route.name}.${p === props.query ? "Query" : "Input"}`)
|
|
32
30
|
: getTypeName(config)(importer)(p))),
|
|
33
31
|
], typescript_1.default.factory.createTypeReferenceNode("Promise", [
|
|
34
|
-
|
|
35
|
-
? "void"
|
|
36
|
-
: `${route.name}.Output`),
|
|
32
|
+
getReturnType(config)(route),
|
|
37
33
|
]), typescript_1.default.factory.createBlock(write_body(config)(importer)(route, props), true));
|
|
38
34
|
};
|
|
39
35
|
const write_body = (config) => (importer) => (route, props) => {
|
|
@@ -99,31 +95,32 @@ var SdkFunctionProgrammer;
|
|
|
99
95
|
];
|
|
100
96
|
};
|
|
101
97
|
const write_set_headers = (config) => (route) => (condition) => {
|
|
102
|
-
const
|
|
103
|
-
? `${x}${y}`
|
|
104
|
-
: false === Escaper_1.Escaper.variable(y)
|
|
105
|
-
? `${x}[${JSON.stringify(y)}]`
|
|
106
|
-
: `${x}.${y}`;
|
|
98
|
+
const accessor = (x) => (y) => x[0] === "[" ? `${x}${y}` : `${x}.${y}`;
|
|
107
99
|
const output = StringUtil_1.StringUtil.escapeDuplicate([
|
|
108
100
|
"connection",
|
|
109
101
|
...route.parameters.map((p) => p.name),
|
|
110
102
|
])("output");
|
|
111
|
-
const headers =
|
|
112
|
-
const data =
|
|
103
|
+
const headers = accessor("connection")("headers");
|
|
104
|
+
const data = config.propagate ? accessor(output)("data") : output;
|
|
113
105
|
const assigners = [
|
|
114
106
|
typescript_1.default.factory.createBinaryExpression(typescript_1.default.factory.createIdentifier(headers), typescript_1.default.factory.createToken(typescript_1.default.SyntaxKind.QuestionQuestionEqualsToken), typescript_1.default.factory.createObjectLiteralExpression([])),
|
|
115
|
-
...route.setHeaders.map((tuple) =>
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
typescript_1.default.factory.createIdentifier(
|
|
119
|
-
|
|
120
|
-
|
|
107
|
+
...route.setHeaders.map((tuple) => {
|
|
108
|
+
var _a;
|
|
109
|
+
return tuple.type === "assigner"
|
|
110
|
+
? typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("Object.assign"), [], [
|
|
111
|
+
typescript_1.default.factory.createIdentifier(headers),
|
|
112
|
+
typescript_1.default.factory.createIdentifier(accessor(data)(tuple.source)),
|
|
113
|
+
])
|
|
114
|
+
: typescript_1.default.factory.createBinaryExpression(typescript_1.default.factory.createIdentifier(accessor(headers)((_a = tuple.target) !== null && _a !== void 0 ? _a : tuple.source)), typescript_1.default.factory.createToken(typescript_1.default.SyntaxKind.EqualsToken), typescript_1.default.factory.createIdentifier(accessor(data)(tuple.source)));
|
|
115
|
+
}),
|
|
121
116
|
].map(typescript_1.default.factory.createExpressionStatement);
|
|
122
117
|
return [
|
|
123
|
-
|
|
118
|
+
typescript_1.default.factory.createVariableStatement([], typescript_1.default.factory.createVariableDeclarationList([
|
|
119
|
+
typescript_1.default.factory.createVariableDeclaration(output, undefined, getReturnType(config)(route), condition),
|
|
120
|
+
], typescript_1.default.NodeFlags.Const)),
|
|
124
121
|
...(config.propagate
|
|
125
122
|
? [
|
|
126
|
-
typescript_1.default.factory.createIfStatement(typescript_1.default.factory.createIdentifier(
|
|
123
|
+
typescript_1.default.factory.createIfStatement(typescript_1.default.factory.createIdentifier(accessor(output)("success")), assigners.length === 1
|
|
127
124
|
? assigners[0]
|
|
128
125
|
: typescript_1.default.factory.createBlock(assigners, true), undefined),
|
|
129
126
|
]
|
|
@@ -135,4 +132,7 @@ var SdkFunctionProgrammer;
|
|
|
135
132
|
const getTypeName = (config) => (importer) => (p) => p.metadata
|
|
136
133
|
? SdkTypeProgrammer_1.SdkTypeProgrammer.write(config)(importer)(p.metadata)
|
|
137
134
|
: typescript_1.default.factory.createTypeReferenceNode(p.typeName);
|
|
135
|
+
const getReturnType = (config) => (route) => typescript_1.default.factory.createTypeReferenceNode(config.propagate !== true && route.output.typeName === "void"
|
|
136
|
+
? "void"
|
|
137
|
+
: `${route.name}.Output`);
|
|
138
138
|
//# sourceMappingURL=SdkFunctionProgrammer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SdkFunctionProgrammer.js","sourceRoot":"","sources":["../../../src/generates/internal/SdkFunctionProgrammer.ts"],"names":[],"mappings":";;;;;;AAAA,4DAA4B;AAC5B,kDAA0B;AAC1B,6EAA0E;
|
|
1
|
+
{"version":3,"file":"SdkFunctionProgrammer.js","sourceRoot":"","sources":["../../../src/generates/internal/SdkFunctionProgrammer.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nestia/sdk",
|
|
3
|
-
"version": "2.5.1
|
|
3
|
+
"version": "2.5.1",
|
|
4
4
|
"description": "Nestia SDK and Swagger generator",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"typings": "lib/index.d.ts",
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
},
|
|
33
33
|
"homepage": "https://nestia.io",
|
|
34
34
|
"dependencies": {
|
|
35
|
-
"@nestia/fetcher": "^2.5.1
|
|
35
|
+
"@nestia/fetcher": "^2.5.1",
|
|
36
36
|
"cli": "^1.0.1",
|
|
37
37
|
"get-function-location": "^2.0.0",
|
|
38
38
|
"glob": "^7.2.0",
|
|
@@ -44,7 +44,7 @@
|
|
|
44
44
|
"typia": "^5.4.1"
|
|
45
45
|
},
|
|
46
46
|
"peerDependencies": {
|
|
47
|
-
"@nestia/fetcher": ">=2.5.1
|
|
47
|
+
"@nestia/fetcher": ">=2.5.1",
|
|
48
48
|
"@nestjs/common": ">=7.0.1",
|
|
49
49
|
"@nestjs/core": ">=7.0.1",
|
|
50
50
|
"prettier": ">=2.0.0",
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
import ts from "typescript";
|
|
2
2
|
import typia from "typia";
|
|
3
3
|
import { IdentifierFactory } from "typia/lib/factories/IdentifierFactory";
|
|
4
|
-
import { StatementFactory } from "typia/lib/factories/StatementFactory";
|
|
5
|
-
import { Escaper } from "typia/lib/utils/Escaper";
|
|
6
4
|
|
|
7
5
|
import { INestiaConfig } from "../../INestiaConfig";
|
|
8
6
|
import { IController } from "../../structures/IController";
|
|
@@ -62,11 +60,7 @@ export namespace SdkFunctionProgrammer {
|
|
|
62
60
|
),
|
|
63
61
|
],
|
|
64
62
|
ts.factory.createTypeReferenceNode("Promise", [
|
|
65
|
-
|
|
66
|
-
config.propagate !== true && route.output.typeName === "void"
|
|
67
|
-
? "void"
|
|
68
|
-
: `${route.name}.Output`,
|
|
69
|
-
),
|
|
63
|
+
getReturnType(config)(route),
|
|
70
64
|
]),
|
|
71
65
|
ts.factory.createBlock(
|
|
72
66
|
write_body(config)(importer)(route, props),
|
|
@@ -220,18 +214,14 @@ export namespace SdkFunctionProgrammer {
|
|
|
220
214
|
(config: INestiaConfig) =>
|
|
221
215
|
(route: IRoute) =>
|
|
222
216
|
(condition: ts.Expression): ts.Statement[] => {
|
|
223
|
-
const
|
|
224
|
-
x[0] === "["
|
|
225
|
-
? `${x}${y}`
|
|
226
|
-
: false === Escaper.variable(y)
|
|
227
|
-
? `${x}[${JSON.stringify(y)}]`
|
|
228
|
-
: `${x}.${y}`;
|
|
217
|
+
const accessor = (x: string) => (y: string) =>
|
|
218
|
+
x[0] === "[" ? `${x}${y}` : `${x}.${y}`;
|
|
229
219
|
const output: string = StringUtil.escapeDuplicate([
|
|
230
220
|
"connection",
|
|
231
221
|
...route.parameters.map((p) => p.name),
|
|
232
222
|
])("output");
|
|
233
|
-
const headers: string =
|
|
234
|
-
const data: string =
|
|
223
|
+
const headers: string = accessor("connection")("headers");
|
|
224
|
+
const data: string = config.propagate ? accessor(output)("data") : output;
|
|
235
225
|
|
|
236
226
|
const assigners: ts.ExpressionStatement[] = [
|
|
237
227
|
ts.factory.createBinaryExpression(
|
|
@@ -246,22 +236,37 @@ export namespace SdkFunctionProgrammer {
|
|
|
246
236
|
[],
|
|
247
237
|
[
|
|
248
238
|
ts.factory.createIdentifier(headers),
|
|
249
|
-
ts.factory.createIdentifier(
|
|
239
|
+
ts.factory.createIdentifier(accessor(data)(tuple.source)),
|
|
250
240
|
],
|
|
251
241
|
)
|
|
252
242
|
: ts.factory.createBinaryExpression(
|
|
253
|
-
ts.factory.createIdentifier(
|
|
243
|
+
ts.factory.createIdentifier(
|
|
244
|
+
accessor(headers)(tuple.target ?? tuple.source),
|
|
245
|
+
),
|
|
254
246
|
ts.factory.createToken(ts.SyntaxKind.EqualsToken),
|
|
255
|
-
ts.factory.createIdentifier(
|
|
247
|
+
ts.factory.createIdentifier(accessor(data)(tuple.source)),
|
|
256
248
|
),
|
|
257
249
|
),
|
|
258
250
|
].map(ts.factory.createExpressionStatement);
|
|
259
251
|
return [
|
|
260
|
-
|
|
252
|
+
ts.factory.createVariableStatement(
|
|
253
|
+
[],
|
|
254
|
+
ts.factory.createVariableDeclarationList(
|
|
255
|
+
[
|
|
256
|
+
ts.factory.createVariableDeclaration(
|
|
257
|
+
output,
|
|
258
|
+
undefined,
|
|
259
|
+
getReturnType(config)(route),
|
|
260
|
+
condition,
|
|
261
|
+
),
|
|
262
|
+
],
|
|
263
|
+
ts.NodeFlags.Const,
|
|
264
|
+
),
|
|
265
|
+
),
|
|
261
266
|
...(config.propagate
|
|
262
267
|
? [
|
|
263
268
|
ts.factory.createIfStatement(
|
|
264
|
-
ts.factory.createIdentifier(
|
|
269
|
+
ts.factory.createIdentifier(accessor(output)("success")),
|
|
265
270
|
assigners.length === 1
|
|
266
271
|
? assigners[0]
|
|
267
272
|
: ts.factory.createBlock(assigners, true),
|
|
@@ -281,3 +286,10 @@ const getTypeName =
|
|
|
281
286
|
p.metadata
|
|
282
287
|
? SdkTypeProgrammer.write(config)(importer)(p.metadata)
|
|
283
288
|
: ts.factory.createTypeReferenceNode(p.typeName);
|
|
289
|
+
|
|
290
|
+
const getReturnType = (config: INestiaConfig) => (route: IRoute) =>
|
|
291
|
+
ts.factory.createTypeReferenceNode(
|
|
292
|
+
config.propagate !== true && route.output.typeName === "void"
|
|
293
|
+
? "void"
|
|
294
|
+
: `${route.name}.Output`,
|
|
295
|
+
);
|