@nestia/sdk 12.0.0-dev.20260601.1 → 12.0.0-dev.20260619.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.
- package/LICENSE +21 -21
- package/README.md +93 -93
- package/assets/bundle/api/HttpError.ts +1 -1
- package/assets/bundle/api/IConnection.ts +1 -1
- package/assets/bundle/api/Primitive.ts +1 -1
- package/assets/bundle/api/Resolved.ts +1 -1
- package/assets/bundle/api/index.ts +4 -4
- package/assets/bundle/api/module.ts +6 -6
- package/assets/bundle/distribute/README.md +37 -37
- package/assets/bundle/distribute/package.json +28 -28
- package/assets/bundle/distribute/tsconfig.json +109 -109
- package/assets/bundle/e2e/index.ts +42 -42
- package/assets/config/nestia.config.ts +97 -97
- package/lib/NestiaSdkApplication.js +29 -7
- package/lib/NestiaSdkApplication.js.map +1 -1
- package/lib/NestiaSwaggerComposer.js +21 -13
- package/lib/NestiaSwaggerComposer.js.map +1 -1
- package/lib/analyses/AccessorAnalyzer.d.ts +4 -1
- package/lib/analyses/AccessorAnalyzer.js.map +1 -1
- package/lib/analyses/ConfigAnalyzer.js +1 -1
- package/lib/analyses/PathAnalyzer.d.ts +18 -3
- package/lib/analyses/PathAnalyzer.js +32 -0
- package/lib/analyses/PathAnalyzer.js.map +1 -1
- package/lib/analyses/ReflectControllerAnalyzer.js +3 -2
- package/lib/analyses/ReflectControllerAnalyzer.js.map +1 -1
- package/lib/analyses/ReflectHttpOperationAnalyzer.d.ts +1 -1
- package/lib/analyses/ReflectHttpOperationAnalyzer.js +1 -1
- package/lib/analyses/ReflectHttpOperationAnalyzer.js.map +1 -1
- package/lib/analyses/ReflectHttpOperationResponseAnalyzer.d.ts +1 -1
- package/lib/analyses/ReflectHttpOperationResponseAnalyzer.js +53 -20
- package/lib/analyses/ReflectHttpOperationResponseAnalyzer.js.map +1 -1
- package/lib/analyses/ReflectMcpOperationAnalyzer.d.ts +14 -0
- package/lib/analyses/ReflectMcpOperationAnalyzer.js +79 -0
- package/lib/analyses/ReflectMcpOperationAnalyzer.js.map +1 -0
- package/lib/analyses/TypedMcpRouteAnalyzer.d.ts +9 -0
- package/lib/analyses/TypedMcpRouteAnalyzer.js +31 -0
- package/lib/analyses/TypedMcpRouteAnalyzer.js.map +1 -0
- package/lib/executable/internal/NestiaConfigLoader.js +5 -1
- package/lib/executable/internal/NestiaConfigLoader.js.map +1 -1
- package/lib/executable/internal/NestiaSdkCommand.js +30 -14
- package/lib/executable/internal/NestiaSdkCommand.js.map +1 -1
- package/lib/executable/internal/NestiaSdkWatcher.d.ts +10 -0
- package/lib/executable/internal/NestiaSdkWatcher.js +322 -0
- package/lib/executable/internal/NestiaSdkWatcher.js.map +1 -0
- package/lib/executable/sdk.js +12 -12
- package/lib/executable/sdk.js.map +1 -1
- package/lib/factories/ExpressionFactory.d.ts +9 -0
- package/lib/factories/ExpressionFactory.js +16 -0
- package/lib/factories/ExpressionFactory.js.map +1 -0
- package/lib/factories/IdentifierFactory.d.ts +22 -0
- package/lib/factories/IdentifierFactory.js +50 -0
- package/lib/factories/IdentifierFactory.js.map +1 -0
- package/lib/factories/LiteralFactory.d.ts +9 -0
- package/lib/factories/LiteralFactory.js +48 -0
- package/lib/factories/LiteralFactory.js.map +1 -0
- package/lib/factories/StatementFactory.d.ts +14 -0
- package/lib/factories/StatementFactory.js +20 -0
- package/lib/factories/StatementFactory.js.map +1 -0
- package/lib/factories/TypeFactory.d.ts +24 -0
- package/lib/factories/TypeFactory.js +27 -0
- package/lib/factories/TypeFactory.js.map +1 -0
- package/lib/generates/CloneGenerator.js +6 -4
- package/lib/generates/CloneGenerator.js.map +1 -1
- package/lib/generates/SdkGenerator.js +50 -1
- package/lib/generates/SdkGenerator.js.map +1 -1
- package/lib/generates/SwaggerGenerator.js +18 -2
- package/lib/generates/SwaggerGenerator.js.map +1 -1
- package/lib/generates/internal/E2eFileProgrammer.js +32 -29
- package/lib/generates/internal/E2eFileProgrammer.js.map +1 -1
- package/lib/generates/internal/FilePrinter.d.ts +2 -2
- package/lib/generates/internal/FilePrinter.js +14 -25
- package/lib/generates/internal/FilePrinter.js.map +1 -1
- package/lib/generates/internal/ImportDictionary.d.ts +2 -1
- package/lib/generates/internal/ImportDictionary.js +16 -10
- package/lib/generates/internal/ImportDictionary.js.map +1 -1
- package/lib/generates/internal/SdkAliasCollection.d.ts +12 -10
- package/lib/generates/internal/SdkAliasCollection.js +29 -22
- package/lib/generates/internal/SdkAliasCollection.js.map +1 -1
- package/lib/generates/internal/SdkDistributionComposer.d.ts +1 -0
- package/lib/generates/internal/SdkDistributionComposer.js +3 -0
- package/lib/generates/internal/SdkDistributionComposer.js.map +1 -1
- package/lib/generates/internal/SdkFileProgrammer.js +6 -3
- package/lib/generates/internal/SdkFileProgrammer.js.map +1 -1
- package/lib/generates/internal/SdkHttpCloneProgrammer.d.ts +1 -1
- package/lib/generates/internal/SdkHttpCloneProgrammer.js +3 -3
- package/lib/generates/internal/SdkHttpCloneProgrammer.js.map +1 -1
- package/lib/generates/internal/SdkHttpCloneReferencer.d.ts +1 -1
- package/lib/generates/internal/SdkHttpCloneReferencer.js +42 -9
- package/lib/generates/internal/SdkHttpCloneReferencer.js.map +1 -1
- package/lib/generates/internal/SdkHttpFunctionProgrammer.d.ts +1 -1
- package/lib/generates/internal/SdkHttpFunctionProgrammer.js +47 -51
- package/lib/generates/internal/SdkHttpFunctionProgrammer.js.map +1 -1
- package/lib/generates/internal/SdkHttpNamespaceProgrammer.d.ts +1 -1
- package/lib/generates/internal/SdkHttpNamespaceProgrammer.js +63 -61
- package/lib/generates/internal/SdkHttpNamespaceProgrammer.js.map +1 -1
- package/lib/generates/internal/SdkHttpParameterProgrammer.d.ts +2 -2
- package/lib/generates/internal/SdkHttpParameterProgrammer.js +11 -13
- package/lib/generates/internal/SdkHttpParameterProgrammer.js.map +1 -1
- package/lib/generates/internal/SdkHttpRouteProgrammer.d.ts +1 -1
- package/lib/generates/internal/SdkHttpSimulationProgrammer.d.ts +1 -1
- package/lib/generates/internal/SdkHttpSimulationProgrammer.js +52 -47
- package/lib/generates/internal/SdkHttpSimulationProgrammer.js.map +1 -1
- package/lib/generates/internal/SdkMcpRouteProgrammer.d.ts +15 -0
- package/lib/generates/internal/SdkMcpRouteProgrammer.js +149 -0
- package/lib/generates/internal/SdkMcpRouteProgrammer.js.map +1 -0
- package/lib/generates/internal/SdkRouteDirectory.d.ts +2 -1
- package/lib/generates/internal/SdkRouteDirectory.js.map +1 -1
- package/lib/generates/internal/SdkTypeProgrammer.d.ts +3 -3
- package/lib/generates/internal/SdkTypeProgrammer.js +42 -43
- package/lib/generates/internal/SdkTypeProgrammer.js.map +1 -1
- package/lib/generates/internal/SdkTypeTagProgrammer.d.ts +2 -1
- package/lib/generates/internal/SdkTypeTagProgrammer.js +7 -9
- package/lib/generates/internal/SdkTypeTagProgrammer.js.map +1 -1
- package/lib/generates/internal/SdkWebSocketCloneProgrammer.d.ts +6 -0
- package/lib/generates/internal/SdkWebSocketCloneProgrammer.js +283 -0
- package/lib/generates/internal/SdkWebSocketCloneProgrammer.js.map +1 -0
- package/lib/generates/internal/SdkWebSocketNamespaceProgrammer.d.ts +2 -2
- package/lib/generates/internal/SdkWebSocketNamespaceProgrammer.js +45 -47
- package/lib/generates/internal/SdkWebSocketNamespaceProgrammer.js.map +1 -1
- package/lib/generates/internal/SdkWebSocketParameterProgrammer.d.ts +3 -3
- package/lib/generates/internal/SdkWebSocketParameterProgrammer.js +9 -9
- package/lib/generates/internal/SdkWebSocketParameterProgrammer.js.map +1 -1
- package/lib/generates/internal/SdkWebSocketRouteProgrammer.d.ts +2 -2
- package/lib/generates/internal/SdkWebSocketRouteProgrammer.js +37 -41
- package/lib/generates/internal/SdkWebSocketRouteProgrammer.js.map +1 -1
- package/lib/generates/internal/SwaggerOperationParameterComposer.js +10 -2
- package/lib/generates/internal/SwaggerOperationParameterComposer.js.map +1 -1
- package/lib/generates/internal/SwaggerOperationResponseComposer.d.ts +1 -1
- package/lib/generates/internal/SwaggerOperationResponseComposer.js +6 -1
- package/lib/generates/internal/SwaggerOperationResponseComposer.js.map +1 -1
- package/lib/generates/internal/SwaggerReadonlyArrayEmender.d.ts +9 -0
- package/lib/generates/internal/SwaggerReadonlyArrayEmender.js +174 -0
- package/lib/generates/internal/SwaggerReadonlyArrayEmender.js.map +1 -0
- package/lib/structures/INestiaSdkInput.d.ts +9 -2
- package/lib/structures/IReflectController.d.ts +2 -1
- package/lib/structures/IReflectHttpOperationSuccess.d.ts +4 -2
- package/lib/structures/IReflectMcpOperation.d.ts +35 -0
- package/lib/structures/IReflectMcpOperation.js +3 -0
- package/lib/structures/IReflectMcpOperation.js.map +1 -0
- package/lib/structures/IReflectMcpOperationParameter.d.ts +19 -0
- package/lib/structures/IReflectMcpOperationParameter.js +3 -0
- package/lib/structures/IReflectMcpOperationParameter.js.map +1 -0
- package/lib/structures/ITypedApplication.d.ts +2 -1
- package/lib/structures/ITypedHttpRouteSuccess.d.ts +3 -1
- package/lib/structures/ITypedMcpRoute.d.ts +31 -0
- package/lib/structures/ITypedMcpRoute.js +3 -0
- package/lib/structures/ITypedMcpRoute.js.map +1 -0
- package/lib/transform.d.ts +5 -9
- package/lib/transform.js +8 -31
- package/lib/transform.js.map +1 -1
- package/lib/utils/HttpResponseContentTypeUtil.d.ts +5 -0
- package/lib/utils/HttpResponseContentTypeUtil.js +22 -0
- package/lib/utils/HttpResponseContentTypeUtil.js.map +1 -0
- package/native/go.mod +52 -52
- package/native/go.sum +84 -54
- package/native/sdk/register.go +322 -165
- package/native/sdk/sdk.go +17 -17
- package/native/sdk/sdk_metadata_json.go +327 -327
- package/native/sdk/sdk_transform.go +1879 -1549
- package/package.json +13 -11
- package/src/INestiaConfig.ts +267 -267
- package/src/NestiaSdkApplication.ts +39 -8
- package/src/NestiaSwaggerComposer.ts +153 -142
- package/src/analyses/AccessorAnalyzer.ts +64 -67
- package/src/analyses/ConfigAnalyzer.ts +330 -330
- package/src/analyses/ImportAnalyzer.ts +92 -92
- package/src/analyses/PathAnalyzer.ts +130 -69
- package/src/analyses/ReflectControllerAnalyzer.ts +112 -105
- package/src/analyses/ReflectHttpOperationAnalyzer.ts +183 -183
- package/src/analyses/ReflectHttpOperationExceptionAnalyzer.ts +90 -90
- package/src/analyses/ReflectHttpOperationParameterAnalyzer.ts +350 -350
- package/src/analyses/ReflectHttpOperationResponseAnalyzer.ts +163 -130
- package/src/analyses/ReflectMcpOperationAnalyzer.ts +124 -0
- package/src/analyses/ReflectMetadataAnalyzer.ts +44 -44
- package/src/analyses/SecurityAnalyzer.ts +25 -25
- package/src/analyses/TypedMcpRouteAnalyzer.ts +34 -0
- package/src/decorators/OperationMetadata.ts +29 -29
- package/src/executable/internal/CommandParser.ts +15 -15
- package/src/executable/internal/NestiaConfigLoader.ts +451 -446
- package/src/executable/internal/NestiaSdkCommand.ts +124 -106
- package/src/executable/internal/NestiaSdkWatcher.ts +342 -0
- package/src/executable/sdk.ts +90 -88
- package/src/factories/ExpressionFactory.ts +23 -0
- package/src/factories/IdentifierFactory.ts +84 -0
- package/src/factories/LiteralFactory.ts +54 -0
- package/src/factories/StatementFactory.ts +56 -0
- package/src/factories/TypeFactory.ts +27 -0
- package/src/generates/CloneGenerator.ts +74 -66
- package/src/generates/E2eGenerator.ts +32 -32
- package/src/generates/SdkGenerator.ts +176 -118
- package/src/generates/SwaggerGenerator.ts +342 -310
- package/src/generates/internal/E2eFileProgrammer.ts +246 -233
- package/src/generates/internal/FilePrinter.ts +57 -65
- package/src/generates/internal/ImportDictionary.ts +207 -204
- package/src/generates/internal/SdkAliasCollection.ts +280 -261
- package/src/generates/internal/SdkDistributionComposer.ts +123 -116
- package/src/generates/internal/SdkFileProgrammer.ts +113 -112
- package/src/generates/internal/SdkHttpCloneProgrammer.ts +124 -126
- package/src/generates/internal/SdkHttpCloneReferencer.ts +131 -77
- package/src/generates/internal/SdkHttpFunctionProgrammer.ts +290 -301
- package/src/generates/internal/SdkHttpNamespaceProgrammer.ts +507 -510
- package/src/generates/internal/SdkHttpParameterProgrammer.ts +163 -165
- package/src/generates/internal/SdkHttpRouteProgrammer.ts +109 -109
- package/src/generates/internal/SdkHttpSimulationProgrammer.ts +322 -314
- package/src/generates/internal/SdkImportWizard.ts +62 -62
- package/src/generates/internal/SdkMcpRouteProgrammer.ts +447 -0
- package/src/generates/internal/SdkRouteDirectory.ts +21 -18
- package/src/generates/internal/SdkTypeProgrammer.ts +389 -382
- package/src/generates/internal/SdkTypeTagProgrammer.ts +110 -114
- package/src/generates/internal/SdkWebSocketCloneProgrammer.ts +319 -0
- package/src/generates/internal/SdkWebSocketNamespaceProgrammer.ts +383 -389
- package/src/generates/internal/SdkWebSocketParameterProgrammer.ts +91 -89
- package/src/generates/internal/SdkWebSocketRouteProgrammer.ts +304 -323
- package/src/generates/internal/SwaggerDescriptionComposer.ts +64 -64
- package/src/generates/internal/SwaggerOperationComposer.ts +119 -119
- package/src/generates/internal/SwaggerOperationParameterComposer.ts +175 -162
- package/src/generates/internal/SwaggerOperationResponseComposer.ts +115 -110
- package/src/generates/internal/SwaggerReadonlyArrayEmender.ts +262 -0
- package/src/index.ts +4 -4
- package/src/internal/legacy.ts +492 -492
- package/src/module.ts +4 -4
- package/src/structures/INestiaProject.ts +10 -10
- package/src/structures/INestiaSdkInput.ts +27 -20
- package/src/structures/IOperationMetadata.ts +41 -41
- package/src/structures/IReflectController.ts +18 -15
- package/src/structures/IReflectHttpOperation.ts +26 -26
- package/src/structures/IReflectHttpOperationException.ts +18 -18
- package/src/structures/IReflectHttpOperationParameter.ts +79 -79
- package/src/structures/IReflectHttpOperationSuccess.ts +18 -21
- package/src/structures/IReflectImport.ts +6 -6
- package/src/structures/IReflectMcpOperation.ts +38 -0
- package/src/structures/IReflectMcpOperationParameter.ts +27 -0
- package/src/structures/IReflectOperationError.ts +26 -26
- package/src/structures/IReflectType.ts +4 -4
- package/src/structures/IReflectWebSocketOperation.ts +17 -17
- package/src/structures/ITypedApplication.ts +12 -11
- package/src/structures/ITypedHttpRoute.ts +41 -41
- package/src/structures/ITypedHttpRouteException.ts +15 -15
- package/src/structures/ITypedHttpRouteParameter.ts +41 -41
- package/src/structures/ITypedHttpRouteSuccess.ts +18 -22
- package/src/structures/ITypedMcpRoute.ts +33 -0
- package/src/structures/ITypedWebSocketRoute.ts +24 -24
- package/src/structures/ITypedWebSocketRouteParameter.ts +3 -3
- package/src/transform.ts +28 -59
- package/src/typings/get-function-location.d.ts +7 -7
- package/src/utils/ArrayUtil.ts +26 -26
- package/src/utils/EmittedJavaScriptPatcher.ts +88 -88
- package/src/utils/FileRetriever.ts +22 -22
- package/src/utils/HttpResponseContentTypeUtil.ts +30 -0
- package/src/utils/MapUtil.ts +14 -14
- package/src/utils/PathUtil.ts +10 -10
- package/src/utils/SourceFinder.ts +63 -63
- package/src/utils/StringUtil.ts +17 -17
- package/src/utils/TsConfigReader.ts +108 -108
- package/src/utils/TtscExecutor.ts +68 -68
- package/src/utils/VersioningStrategy.ts +28 -28
- package/src/validators/HttpHeadersValidator.ts +11 -11
- package/src/validators/HttpQueryValidator.ts +11 -11
- package/src/validators/TextPlainValidator.ts +17 -17
|
@@ -4,18 +4,25 @@ exports.SdkHttpCloneReferencer = void 0;
|
|
|
4
4
|
const legacy_1 = require("../../internal/legacy");
|
|
5
5
|
const StringUtil_1 = require("../../utils/StringUtil");
|
|
6
6
|
const SdkHttpParameterProgrammer_1 = require("./SdkHttpParameterProgrammer");
|
|
7
|
+
const SdkWebSocketCloneProgrammer_1 = require("./SdkWebSocketCloneProgrammer");
|
|
7
8
|
var SdkHttpCloneReferencer;
|
|
8
9
|
(function (SdkHttpCloneReferencer) {
|
|
9
|
-
SdkHttpCloneReferencer.replace = (app) => {
|
|
10
|
+
SdkHttpCloneReferencer.replace = (app, websocket = new Set()) => {
|
|
10
11
|
const directory = `${app.project.config.output}/structures`;
|
|
11
12
|
for (const route of app.routes)
|
|
12
13
|
if (route.protocol === "http")
|
|
13
|
-
|
|
14
|
+
visitHttpRoute({
|
|
15
|
+
directory,
|
|
16
|
+
route,
|
|
17
|
+
});
|
|
18
|
+
else if (route.protocol === "websocket")
|
|
19
|
+
visitWebSocketRoute({
|
|
20
|
+
cloned: websocket,
|
|
14
21
|
directory,
|
|
15
22
|
route,
|
|
16
23
|
});
|
|
17
24
|
};
|
|
18
|
-
const
|
|
25
|
+
const visitHttpRoute = (props) => {
|
|
19
26
|
const unique = new Set();
|
|
20
27
|
for (const p of SdkHttpParameterProgrammer_1.SdkHttpParameterProgrammer.getSignificant(props.route, true))
|
|
21
28
|
visitType({
|
|
@@ -31,12 +38,13 @@ var SdkHttpCloneReferencer;
|
|
|
31
38
|
type: v.type,
|
|
32
39
|
name: (name) => (v.type = { name }),
|
|
33
40
|
});
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
41
|
+
if (props.route.success.binary === false)
|
|
42
|
+
visitType({
|
|
43
|
+
unique,
|
|
44
|
+
metadata: props.route.success.metadata,
|
|
45
|
+
type: props.route.success.type,
|
|
46
|
+
name: (name) => (props.route.success.type = { name }),
|
|
47
|
+
});
|
|
40
48
|
props.route.imports = Array.from(unique).map((str) => ({
|
|
41
49
|
file: `${props.directory}/${str}`,
|
|
42
50
|
asterisk: null,
|
|
@@ -44,6 +52,31 @@ var SdkHttpCloneReferencer;
|
|
|
44
52
|
elements: [str],
|
|
45
53
|
}));
|
|
46
54
|
};
|
|
55
|
+
const visitWebSocketRoute = (props) => {
|
|
56
|
+
const unique = new Set();
|
|
57
|
+
const keep = [];
|
|
58
|
+
for (const imp of props.route.imports) {
|
|
59
|
+
const cloned = SdkWebSocketCloneProgrammer_1.SdkWebSocketCloneProgrammer.isNodeModulesPath(imp.file)
|
|
60
|
+
? []
|
|
61
|
+
: imp.elements.filter((elem) => props.cloned.has(SdkWebSocketCloneProgrammer_1.SdkWebSocketCloneProgrammer.importKey(imp.file, elem)));
|
|
62
|
+
const remained = imp.elements.filter((elem) => cloned.includes(elem) === false);
|
|
63
|
+
for (const elem of cloned)
|
|
64
|
+
unique.add(elem);
|
|
65
|
+
if (imp.asterisk !== null ||
|
|
66
|
+
imp.default !== null ||
|
|
67
|
+
remained.length !== 0)
|
|
68
|
+
keep.push(Object.assign(Object.assign({}, imp), { elements: remained }));
|
|
69
|
+
}
|
|
70
|
+
props.route.imports = [
|
|
71
|
+
...keep,
|
|
72
|
+
...Array.from(unique).map((str) => ({
|
|
73
|
+
file: `${props.directory}/${str}`,
|
|
74
|
+
asterisk: null,
|
|
75
|
+
default: null,
|
|
76
|
+
elements: [str],
|
|
77
|
+
})),
|
|
78
|
+
];
|
|
79
|
+
};
|
|
47
80
|
const visitType = (p) => {
|
|
48
81
|
const enroll = (key) => {
|
|
49
82
|
if (key.length && StringUtil_1.StringUtil.isImplicit(key) === false)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SdkHttpCloneReferencer.js","sourceRoot":"","sources":["../../../src/generates/internal/SdkHttpCloneReferencer.ts"],"names":[],"mappings":";;;AAAA,kDAA+D;AAK/D,uDAAoD;AACpD,6EAA0E;
|
|
1
|
+
{"version":3,"file":"SdkHttpCloneReferencer.js","sourceRoot":"","sources":["../../../src/generates/internal/SdkHttpCloneReferencer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Node } from "@
|
|
1
|
+
import { type Node } from "@ttsc/factory";
|
|
2
2
|
import { INestiaProject } from "../../structures/INestiaProject";
|
|
3
3
|
import { ITypedHttpRoute } from "../../structures/ITypedHttpRoute";
|
|
4
4
|
import { ImportDictionary } from "./ImportDictionary";
|
|
@@ -1,24 +1,23 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.SdkHttpFunctionProgrammer = void 0;
|
|
4
|
-
const factory_1 = require("@
|
|
5
|
-
const
|
|
4
|
+
const factory_1 = require("@ttsc/factory");
|
|
5
|
+
const IdentifierFactory_1 = require("../../factories/IdentifierFactory");
|
|
6
|
+
const TypeFactory_1 = require("../../factories/TypeFactory");
|
|
7
|
+
const legacy_1 = require("../../internal/legacy");
|
|
6
8
|
const StringUtil_1 = require("../../utils/StringUtil");
|
|
7
9
|
const SdkAliasCollection_1 = require("./SdkAliasCollection");
|
|
8
10
|
const SdkHttpParameterProgrammer_1 = require("./SdkHttpParameterProgrammer");
|
|
9
11
|
const SdkImportWizard_1 = require("./SdkImportWizard");
|
|
10
|
-
const legacy_1 = require("../../internal/legacy");
|
|
11
12
|
var SdkHttpFunctionProgrammer;
|
|
12
13
|
(function (SdkHttpFunctionProgrammer) {
|
|
13
14
|
SdkHttpFunctionProgrammer.write = (project) => (importer) => (route) => {
|
|
14
|
-
return factory_1.
|
|
15
|
-
factory_1.
|
|
16
|
-
factory_1.
|
|
15
|
+
return factory_1.factory.createFunctionDeclaration([
|
|
16
|
+
factory_1.factory.createModifier(factory_1.SyntaxKind.ExportKeyword),
|
|
17
|
+
factory_1.factory.createModifier(factory_1.SyntaxKind.AsyncKeyword),
|
|
17
18
|
], undefined, route.name, undefined, [
|
|
18
|
-
|
|
19
|
-
? [
|
|
20
|
-
factory_1.TypeScriptFactory.createTypeReferenceNode(`${route.name}.Headers`),
|
|
21
|
-
]
|
|
19
|
+
IdentifierFactory_1.IdentifierFactory.parameter("connection", factory_1.factory.createTypeReferenceNode(SdkImportWizard_1.SdkImportWizard.IConnection(importer), route.headerObject !== null
|
|
20
|
+
? [factory_1.factory.createTypeReferenceNode(`${route.name}.Headers`)]
|
|
22
21
|
: undefined)),
|
|
23
22
|
...SdkHttpParameterProgrammer_1.SdkHttpParameterProgrammer.getParameterDeclarations({
|
|
24
23
|
project,
|
|
@@ -27,36 +26,37 @@ var SdkHttpFunctionProgrammer;
|
|
|
27
26
|
body: true,
|
|
28
27
|
prefix: true,
|
|
29
28
|
}),
|
|
30
|
-
], factory_1.
|
|
29
|
+
], factory_1.factory.createTypeReferenceNode("Promise", [
|
|
31
30
|
project.config.propagate === true ||
|
|
31
|
+
route.success.binary === true ||
|
|
32
32
|
(0, legacy_1.sizeOf)(route.success.metadata) !== 0
|
|
33
|
-
? factory_1.
|
|
34
|
-
: factory_1.
|
|
35
|
-
]), factory_1.
|
|
33
|
+
? factory_1.factory.createTypeReferenceNode(`${route.name}.Output`)
|
|
34
|
+
: factory_1.factory.createTypeReferenceNode("void"),
|
|
35
|
+
]), factory_1.factory.createBlock(writeBody(project)(importer)(route), true));
|
|
36
36
|
};
|
|
37
37
|
const writeBody = (project) => (importer) => (route) => {
|
|
38
38
|
const access = (name) => project.config.keyword === true
|
|
39
|
-
? factory_1.
|
|
40
|
-
: factory_1.
|
|
41
|
-
const fetch = () => { var _a, _b; var _c; return factory_1.
|
|
39
|
+
? factory_1.factory.createPropertyAccessExpression(factory_1.factory.createIdentifier("props"), name)
|
|
40
|
+
: factory_1.factory.createIdentifier(name);
|
|
41
|
+
const fetch = () => { var _a, _b; var _c; return factory_1.factory.createCallExpression(IdentifierFactory_1.IdentifierFactory.access(factory_1.factory.createIdentifier(SdkImportWizard_1.SdkImportWizard.Fetcher(!!((_a = route.body) === null || _a === void 0 ? void 0 : _a.encrypted) || route.success.encrypted)(importer)), project.config.propagate ? "propagate" : "fetch"), project.config.propagate
|
|
42
42
|
? route.method.toLowerCase() === "get" ||
|
|
43
43
|
route.method.toLowerCase() === "head"
|
|
44
|
-
? [
|
|
45
|
-
: [
|
|
44
|
+
? [TypeFactory_1.TypeFactory.keyword("any")]
|
|
45
|
+
: [TypeFactory_1.TypeFactory.keyword("any"), TypeFactory_1.TypeFactory.keyword("any")]
|
|
46
46
|
: undefined, [
|
|
47
47
|
route.body && route.body.contentType !== "multipart/form-data"
|
|
48
|
-
? factory_1.
|
|
49
|
-
factory_1.
|
|
50
|
-
factory_1.
|
|
51
|
-
factory_1.
|
|
52
|
-
factory_1.
|
|
48
|
+
? factory_1.factory.createObjectLiteralExpression([
|
|
49
|
+
factory_1.factory.createSpreadAssignment(factory_1.factory.createIdentifier("connection")),
|
|
50
|
+
factory_1.factory.createPropertyAssignment("headers", factory_1.factory.createObjectLiteralExpression([
|
|
51
|
+
factory_1.factory.createSpreadAssignment(IdentifierFactory_1.IdentifierFactory.access(factory_1.factory.createIdentifier("connection"), "headers")),
|
|
52
|
+
factory_1.factory.createPropertyAssignment(factory_1.factory.createStringLiteral("Content-Type"), factory_1.factory.createStringLiteral((_c = (_b = route.body) === null || _b === void 0 ? void 0 : _b.contentType) !== null && _c !== void 0 ? _c : "application/json")),
|
|
53
53
|
], true)),
|
|
54
54
|
], true)
|
|
55
|
-
: factory_1.
|
|
56
|
-
factory_1.
|
|
57
|
-
factory_1.
|
|
58
|
-
factory_1.
|
|
59
|
-
factory_1.
|
|
55
|
+
: factory_1.factory.createIdentifier("connection"),
|
|
56
|
+
factory_1.factory.createObjectLiteralExpression([
|
|
57
|
+
factory_1.factory.createSpreadAssignment(IdentifierFactory_1.IdentifierFactory.access(factory_1.factory.createIdentifier(route.name), "METADATA")),
|
|
58
|
+
factory_1.factory.createPropertyAssignment("template", IdentifierFactory_1.IdentifierFactory.access(IdentifierFactory_1.IdentifierFactory.access(factory_1.factory.createIdentifier(route.name), "METADATA"), "path")),
|
|
59
|
+
factory_1.factory.createPropertyAssignment("path", factory_1.factory.createCallExpression(IdentifierFactory_1.IdentifierFactory.access(factory_1.factory.createIdentifier(route.name), "path"), undefined, SdkHttpParameterProgrammer_1.SdkHttpParameterProgrammer.getArguments({
|
|
60
60
|
project,
|
|
61
61
|
route,
|
|
62
62
|
body: false,
|
|
@@ -67,31 +67,27 @@ var SdkHttpFunctionProgrammer;
|
|
|
67
67
|
route.body !== null &&
|
|
68
68
|
(route.body.contentType === "application/json" ||
|
|
69
69
|
route.body.encrypted === true)
|
|
70
|
-
? [factory_1.
|
|
70
|
+
? [factory_1.factory.createIdentifier(`${route.name}.stringify`)]
|
|
71
71
|
: []),
|
|
72
72
|
]); };
|
|
73
73
|
const output = (awaiter) => project.config.simulate
|
|
74
|
-
? factory_1.
|
|
75
|
-
factory_1.
|
|
74
|
+
? factory_1.factory.createConditionalExpression(factory_1.factory.createStrictEquality(factory_1.factory.createTrue(), factory_1.factory.createIdentifier("connection.simulate")), undefined, factory_1.factory.createCallExpression(factory_1.factory.createIdentifier(`${route.name}.simulate`), [], [
|
|
75
|
+
factory_1.factory.createIdentifier("connection"),
|
|
76
76
|
...SdkHttpParameterProgrammer_1.SdkHttpParameterProgrammer.getArguments({
|
|
77
77
|
project,
|
|
78
78
|
route,
|
|
79
79
|
body: true,
|
|
80
80
|
}),
|
|
81
|
-
]), undefined, awaiter
|
|
82
|
-
? factory_1.TypeScriptFactory.createAwaitExpression(fetch())
|
|
83
|
-
: fetch())
|
|
81
|
+
]), undefined, awaiter ? factory_1.factory.createAwaitExpression(fetch()) : fetch())
|
|
84
82
|
: awaiter
|
|
85
|
-
? factory_1.
|
|
83
|
+
? factory_1.factory.createAwaitExpression(fetch())
|
|
86
84
|
: fetch();
|
|
87
85
|
return [
|
|
88
86
|
...(project.config.assert
|
|
89
|
-
? SdkHttpParameterProgrammer_1.SdkHttpParameterProgrammer.getSignificant(route, true).map((p) => factory_1.
|
|
90
|
-
factory_1.TypeScriptFactory.createTypeQueryNode(factory_1.TypeScriptFactory.createIdentifier(p.name)),
|
|
91
|
-
], [factory_1.TypeScriptFactory.createIdentifier(p.name)])))
|
|
87
|
+
? SdkHttpParameterProgrammer_1.SdkHttpParameterProgrammer.getSignificant(route, true).map((p) => factory_1.factory.createExpressionStatement(factory_1.factory.createCallExpression(IdentifierFactory_1.IdentifierFactory.access(factory_1.factory.createIdentifier(SdkImportWizard_1.SdkImportWizard.typia(importer)), "assert"), [factory_1.factory.createTypeQueryNode(access(p.name))], [access(p.name)])))
|
|
92
88
|
: []),
|
|
93
89
|
...(route.success.setHeaders.length === 0
|
|
94
|
-
? [factory_1.
|
|
90
|
+
? [factory_1.factory.createReturnStatement(output(false))]
|
|
95
91
|
: writeSetHeaders(project)(importer)(route)(output(true))),
|
|
96
92
|
];
|
|
97
93
|
};
|
|
@@ -106,26 +102,26 @@ var SdkHttpFunctionProgrammer;
|
|
|
106
102
|
? accessor(output)("data")
|
|
107
103
|
: output;
|
|
108
104
|
const assigners = [
|
|
109
|
-
factory_1.
|
|
105
|
+
factory_1.factory.createBinaryExpression(factory_1.factory.createIdentifier(headers), factory_1.factory.createToken(factory_1.SyntaxKind.QuestionQuestionEqualsToken), factory_1.factory.createObjectLiteralExpression([])),
|
|
110
106
|
...route.success.setHeaders.map((tuple) => { var _a; return tuple.type === "assigner"
|
|
111
|
-
? factory_1.
|
|
112
|
-
factory_1.
|
|
113
|
-
factory_1.
|
|
107
|
+
? factory_1.factory.createCallExpression(factory_1.factory.createIdentifier("Object.assign"), [], [
|
|
108
|
+
factory_1.factory.createIdentifier(headers),
|
|
109
|
+
factory_1.factory.createIdentifier(accessor(data)(tuple.source)),
|
|
114
110
|
])
|
|
115
|
-
: factory_1.
|
|
116
|
-
].map(factory_1.
|
|
111
|
+
: factory_1.factory.createBinaryExpression(factory_1.factory.createIdentifier(accessor(headers)((_a = tuple.target) !== null && _a !== void 0 ? _a : tuple.source)), factory_1.factory.createToken(factory_1.SyntaxKind.EqualsToken), factory_1.factory.createIdentifier(accessor(data)(tuple.source))); }),
|
|
112
|
+
].map(factory_1.factory.createExpressionStatement);
|
|
117
113
|
return [
|
|
118
|
-
factory_1.
|
|
119
|
-
factory_1.
|
|
114
|
+
factory_1.factory.createVariableStatement([], factory_1.factory.createVariableDeclarationList([
|
|
115
|
+
factory_1.factory.createVariableDeclaration(output, undefined, SdkAliasCollection_1.SdkAliasCollection.response(project)(importer)(route), condition),
|
|
120
116
|
], factory_1.NodeFlags.Const)),
|
|
121
117
|
...(project.config.propagate
|
|
122
118
|
? [
|
|
123
|
-
factory_1.
|
|
119
|
+
factory_1.factory.createIfStatement(factory_1.factory.createIdentifier(accessor(output)("success")), assigners.length === 1
|
|
124
120
|
? assigners[0]
|
|
125
|
-
: factory_1.
|
|
121
|
+
: factory_1.factory.createBlock(assigners, true), undefined),
|
|
126
122
|
]
|
|
127
123
|
: assigners),
|
|
128
|
-
factory_1.
|
|
124
|
+
factory_1.factory.createReturnStatement(factory_1.factory.createIdentifier(output)),
|
|
129
125
|
];
|
|
130
126
|
};
|
|
131
127
|
})(SdkHttpFunctionProgrammer || (exports.SdkHttpFunctionProgrammer = SdkHttpFunctionProgrammer = {}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SdkHttpFunctionProgrammer.js","sourceRoot":"","sources":["../../../src/generates/internal/SdkHttpFunctionProgrammer.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"SdkHttpFunctionProgrammer.js","sourceRoot":"","sources":["../../../src/generates/internal/SdkHttpFunctionProgrammer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Node } from "@
|
|
1
|
+
import { type Node } from "@ttsc/factory";
|
|
2
2
|
import { INestiaProject } from "../../structures/INestiaProject";
|
|
3
3
|
import { ITypedHttpRoute } from "../../structures/ITypedHttpRoute";
|
|
4
4
|
import { ImportDictionary } from "./ImportDictionary";
|
|
@@ -1,20 +1,23 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.SdkHttpNamespaceProgrammer = void 0;
|
|
4
|
-
const factory_1 = require("@
|
|
5
|
-
const factory_2 = require("@nestia/factory");
|
|
4
|
+
const factory_1 = require("@ttsc/factory");
|
|
6
5
|
const utils_1 = require("@typia/utils");
|
|
6
|
+
const ExpressionFactory_1 = require("../../factories/ExpressionFactory");
|
|
7
|
+
const IdentifierFactory_1 = require("../../factories/IdentifierFactory");
|
|
8
|
+
const LiteralFactory_1 = require("../../factories/LiteralFactory");
|
|
9
|
+
const TypeFactory_1 = require("../../factories/TypeFactory");
|
|
10
|
+
const legacy_1 = require("../../internal/legacy");
|
|
7
11
|
const FilePrinter_1 = require("./FilePrinter");
|
|
8
12
|
const SdkAliasCollection_1 = require("./SdkAliasCollection");
|
|
9
13
|
const SdkHttpParameterProgrammer_1 = require("./SdkHttpParameterProgrammer");
|
|
10
14
|
const SdkHttpSimulationProgrammer_1 = require("./SdkHttpSimulationProgrammer");
|
|
11
15
|
const SdkImportWizard_1 = require("./SdkImportWizard");
|
|
12
|
-
const legacy_1 = require("../../internal/legacy");
|
|
13
16
|
var SdkHttpNamespaceProgrammer;
|
|
14
17
|
(function (SdkHttpNamespaceProgrammer) {
|
|
15
18
|
SdkHttpNamespaceProgrammer.write = (project) => (importer) => (route) => {
|
|
16
19
|
const types = writeTypes(project)(importer)(route);
|
|
17
|
-
return factory_1.
|
|
20
|
+
return factory_1.factory.createModuleDeclaration([factory_1.factory.createToken(factory_1.SyntaxKind.ExportKeyword)], factory_1.factory.createIdentifier(route.name), factory_1.factory.createModuleBlock([
|
|
18
21
|
...types,
|
|
19
22
|
...(types.length ? [FilePrinter_1.FilePrinter.enter()] : []),
|
|
20
23
|
writeMetadata(project)(importer)(route),
|
|
@@ -36,7 +39,7 @@ var SdkHttpNamespaceProgrammer;
|
|
|
36
39
|
};
|
|
37
40
|
const writeTypes = (project) => (importer) => (route) => {
|
|
38
41
|
const array = [];
|
|
39
|
-
const declare = (name, type) => array.push(factory_1.
|
|
42
|
+
const declare = (name, type) => array.push(factory_1.factory.createTypeAliasDeclaration([factory_1.factory.createModifier(factory_1.SyntaxKind.ExportKeyword)], name, undefined, type));
|
|
40
43
|
if (project.config.keyword === true &&
|
|
41
44
|
SdkHttpParameterProgrammer_1.SdkHttpParameterProgrammer.getSignificant(route, true).length !== 0)
|
|
42
45
|
declare("Props", SdkAliasCollection_1.SdkAliasCollection.httpProps(project)(importer)(route));
|
|
@@ -47,15 +50,16 @@ var SdkHttpNamespaceProgrammer;
|
|
|
47
50
|
if (route.body)
|
|
48
51
|
declare("Body", SdkAliasCollection_1.SdkAliasCollection.body(project)(importer)(route.body));
|
|
49
52
|
if (project.config.propagate === true ||
|
|
53
|
+
route.success.binary === true ||
|
|
50
54
|
(0, legacy_1.sizeOf)(route.success.metadata) !== 0)
|
|
51
55
|
declare("Output", SdkAliasCollection_1.SdkAliasCollection.response(project)(importer)(route));
|
|
52
56
|
return array;
|
|
53
57
|
};
|
|
54
|
-
const writeMetadata = (project) => (importer) => (route) => constant("METADATA")(factory_1.
|
|
55
|
-
factory_1.
|
|
56
|
-
factory_1.
|
|
57
|
-
factory_1.
|
|
58
|
-
?
|
|
58
|
+
const writeMetadata = (project) => (importer) => (route) => constant("METADATA")(factory_1.factory.createAsExpression(factory_1.factory.createObjectLiteralExpression([
|
|
59
|
+
factory_1.factory.createPropertyAssignment("method", factory_1.factory.createStringLiteral(route.method)),
|
|
60
|
+
factory_1.factory.createPropertyAssignment("path", factory_1.factory.createStringLiteral(route.path)),
|
|
61
|
+
factory_1.factory.createPropertyAssignment("request", route.body
|
|
62
|
+
? LiteralFactory_1.LiteralFactory.write(route.body !== undefined
|
|
59
63
|
? {
|
|
60
64
|
type: route.body.contentType,
|
|
61
65
|
encrypted: !!route.body.encrypted,
|
|
@@ -64,29 +68,29 @@ var SdkHttpNamespaceProgrammer;
|
|
|
64
68
|
type: "application/json",
|
|
65
69
|
encrypted: false,
|
|
66
70
|
})
|
|
67
|
-
: factory_1.
|
|
68
|
-
factory_1.
|
|
69
|
-
?
|
|
71
|
+
: factory_1.factory.createNull()),
|
|
72
|
+
factory_1.factory.createPropertyAssignment("response", route.method !== "HEAD"
|
|
73
|
+
? LiteralFactory_1.LiteralFactory.write({
|
|
70
74
|
type: route.success.contentType,
|
|
71
75
|
encrypted: !!route.success.encrypted,
|
|
72
76
|
})
|
|
73
|
-
: factory_1.
|
|
74
|
-
factory_1.
|
|
75
|
-
?
|
|
76
|
-
: factory_1.
|
|
77
|
+
: factory_1.factory.createNull()),
|
|
78
|
+
factory_1.factory.createPropertyAssignment("status", route.success.status !== null
|
|
79
|
+
? ExpressionFactory_1.ExpressionFactory.number(route.success.status)
|
|
80
|
+
: factory_1.factory.createNull()),
|
|
77
81
|
...(route.success.contentType ===
|
|
78
82
|
"application/x-www-form-urlencoded"
|
|
79
83
|
? [
|
|
80
|
-
factory_1.
|
|
81
|
-
project.config.clone === true
|
|
84
|
+
factory_1.factory.createPropertyAssignment("parseQuery", factory_1.factory.createCallExpression(factory_1.factory.createIdentifier(`${SdkImportWizard_1.SdkImportWizard.typia(importer)}.http.createAssertQuery`), [
|
|
85
|
+
(project.config.clone === true
|
|
82
86
|
? SdkAliasCollection_1.SdkAliasCollection.from(project)(importer)(route.success.metadata)
|
|
83
|
-
: SdkAliasCollection_1.SdkAliasCollection.name(route.success),
|
|
87
|
+
: SdkAliasCollection_1.SdkAliasCollection.name(route.success)),
|
|
84
88
|
], undefined)),
|
|
85
89
|
]
|
|
86
90
|
: []),
|
|
87
|
-
], true), factory_1.
|
|
91
|
+
], true), factory_1.factory.createTypeReferenceNode(factory_1.factory.createIdentifier("const"))));
|
|
88
92
|
const writePath = (project) => (importer) => (route) => {
|
|
89
|
-
const out = (body) => constant("path")(factory_1.
|
|
93
|
+
const out = (body) => constant("path")(factory_1.factory.createArrowFunction([], [], SdkHttpParameterProgrammer_1.SdkHttpParameterProgrammer.getParameterDeclarations({
|
|
90
94
|
project,
|
|
91
95
|
importer,
|
|
92
96
|
route,
|
|
@@ -95,20 +99,20 @@ var SdkHttpNamespaceProgrammer;
|
|
|
95
99
|
}), undefined, undefined, body));
|
|
96
100
|
const parameters = SdkHttpParameterProgrammer_1.SdkHttpParameterProgrammer.getSignificant(route, false);
|
|
97
101
|
if (parameters.length === 0)
|
|
98
|
-
return out(factory_1.
|
|
102
|
+
return out(factory_1.factory.createStringLiteral(route.path));
|
|
99
103
|
const access = (name) => project.config.keyword === true ? `props.${name}` : name;
|
|
100
104
|
const template = () => {
|
|
101
105
|
const split = route.path.split(":");
|
|
102
106
|
if (split.length === 1)
|
|
103
|
-
return factory_1.
|
|
104
|
-
return factory_1.
|
|
107
|
+
return factory_1.factory.createStringLiteral(route.path);
|
|
108
|
+
return factory_1.factory.createTemplateExpression(factory_1.factory.createTemplateHead(split[0]), split.slice(1).map((s, i, arr) => {
|
|
105
109
|
const name = s.split("/")[0];
|
|
106
|
-
return factory_1.
|
|
107
|
-
factory_1.
|
|
108
|
-
.name)), factory_1.
|
|
110
|
+
return factory_1.factory.createTemplateSpan(factory_1.factory.createCallExpression(factory_1.factory.createIdentifier("encodeURIComponent"), undefined, [
|
|
111
|
+
factory_1.factory.createBinaryExpression(factory_1.factory.createCallChain(factory_1.factory.createPropertyAccessChain(factory_1.factory.createIdentifier(access(route.pathParameters.find((p) => p.field === name)
|
|
112
|
+
.name)), factory_1.factory.createToken(factory_1.SyntaxKind.QuestionDotToken), "toString"), undefined, undefined, []), factory_1.factory.createToken(factory_1.SyntaxKind.QuestionQuestionToken), factory_1.factory.createStringLiteral("null")),
|
|
109
113
|
]), (i !== arr.length - 1
|
|
110
|
-
? factory_1.
|
|
111
|
-
: factory_1.
|
|
114
|
+
? factory_1.factory.createTemplateMiddle
|
|
115
|
+
: factory_1.factory.createTemplateTail)(s.substring(name.length)));
|
|
112
116
|
}));
|
|
113
117
|
};
|
|
114
118
|
if (route.queryObject === null && route.queryParameters.length === 0)
|
|
@@ -118,54 +122,52 @@ var SdkHttpNamespaceProgrammer;
|
|
|
118
122
|
? computeName("_" + str)
|
|
119
123
|
: str;
|
|
120
124
|
const variables = computeName("variables");
|
|
121
|
-
return factory_1.
|
|
122
|
-
local(variables)("URLSearchParams")(factory_1.
|
|
123
|
-
factory_1.
|
|
124
|
-
factory_1.
|
|
125
|
-
factory_1.
|
|
126
|
-
factory_1.
|
|
125
|
+
return factory_1.factory.createBlock([
|
|
126
|
+
local(variables)("URLSearchParams")(factory_1.factory.createNewExpression(factory_1.factory.createIdentifier("URLSearchParams"), [], [])),
|
|
127
|
+
factory_1.factory.createForOfStatement(undefined, factory_1.factory.createVariableDeclarationList([
|
|
128
|
+
factory_1.factory.createVariableDeclaration(factory_1.factory.createArrayBindingPattern([
|
|
129
|
+
factory_1.factory.createBindingElement(undefined, undefined, factory_1.factory.createIdentifier("key"), undefined),
|
|
130
|
+
factory_1.factory.createBindingElement(undefined, undefined, factory_1.factory.createIdentifier("value"), undefined),
|
|
127
131
|
]), undefined, undefined, undefined),
|
|
128
|
-
], factory_1.NodeFlags.Const), factory_1.
|
|
129
|
-
factory_1.
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
factory_1.TypeScriptFactory.createIdentifier("key"),
|
|
133
|
-
factory_1.TypeScriptFactory.createCallExpression(factory_1.TypeScriptFactory.createIdentifier("String"), undefined, [factory_1.TypeScriptFactory.createIdentifier("elem")]),
|
|
132
|
+
], factory_1.NodeFlags.Const), factory_1.factory.createCallExpression(factory_1.factory.createIdentifier("Object.entries"), undefined, [factory_1.factory.createAsExpression(expr, TypeFactory_1.TypeFactory.keyword("any"))]), factory_1.factory.createIfStatement(factory_1.factory.createStrictEquality(factory_1.factory.createIdentifier("undefined"), factory_1.factory.createIdentifier("value")), factory_1.factory.createContinueStatement(), factory_1.factory.createIfStatement(factory_1.factory.createCallExpression(factory_1.factory.createIdentifier("Array.isArray"), undefined, [factory_1.factory.createIdentifier("value")]), factory_1.factory.createExpressionStatement(factory_1.factory.createCallExpression(factory_1.factory.createPropertyAccessExpression(factory_1.factory.createIdentifier("value"), factory_1.factory.createIdentifier("forEach")), undefined, [
|
|
133
|
+
factory_1.factory.createArrowFunction(undefined, undefined, [IdentifierFactory_1.IdentifierFactory.parameter("elem")], undefined, undefined, factory_1.factory.createCallExpression(IdentifierFactory_1.IdentifierFactory.access(factory_1.factory.createIdentifier(variables), "append"), undefined, [
|
|
134
|
+
factory_1.factory.createIdentifier("key"),
|
|
135
|
+
factory_1.factory.createCallExpression(factory_1.factory.createIdentifier("String"), undefined, [factory_1.factory.createIdentifier("elem")]),
|
|
134
136
|
])),
|
|
135
|
-
])), factory_1.
|
|
136
|
-
factory_1.
|
|
137
|
-
factory_1.
|
|
137
|
+
])), factory_1.factory.createExpressionStatement(factory_1.factory.createCallExpression(IdentifierFactory_1.IdentifierFactory.access(factory_1.factory.createIdentifier(variables), "set"), undefined, [
|
|
138
|
+
factory_1.factory.createIdentifier("key"),
|
|
139
|
+
factory_1.factory.createCallExpression(factory_1.factory.createIdentifier("String"), undefined, [factory_1.factory.createIdentifier("value")]),
|
|
138
140
|
]))))),
|
|
139
141
|
local("location")("string")(template()),
|
|
140
|
-
factory_1.
|
|
141
|
-
factory_1.
|
|
142
|
-
factory_1.
|
|
142
|
+
factory_1.factory.createReturnStatement(factory_1.factory.createConditionalExpression(factory_1.factory.createStrictEquality(ExpressionFactory_1.ExpressionFactory.number(0), IdentifierFactory_1.IdentifierFactory.access(factory_1.factory.createIdentifier(variables), "size")), undefined, factory_1.factory.createIdentifier("location"), undefined, factory_1.factory.createTemplateExpression(factory_1.factory.createTemplateHead(""), [
|
|
143
|
+
factory_1.factory.createTemplateSpan(factory_1.factory.createIdentifier("location"), factory_1.factory.createTemplateMiddle("?")),
|
|
144
|
+
factory_1.factory.createTemplateSpan(factory_1.factory.createCallExpression(IdentifierFactory_1.IdentifierFactory.access(factory_1.factory.createIdentifier(variables), "toString"), undefined, undefined), factory_1.factory.createTemplateTail("")),
|
|
143
145
|
]))),
|
|
144
146
|
], true);
|
|
145
147
|
};
|
|
146
148
|
if (route.queryObject !== null && route.queryParameters.length === 0)
|
|
147
149
|
return out(block(route.queryObject.metadata.required === false
|
|
148
|
-
? factory_1.
|
|
149
|
-
: factory_1.
|
|
150
|
-
return out(block(factory_1.
|
|
150
|
+
? factory_1.factory.createBinaryExpression(factory_1.factory.createIdentifier(route.queryObject.name), factory_1.factory.createToken(factory_1.SyntaxKind.QuestionQuestionToken), factory_1.factory.createObjectLiteralExpression([], false))
|
|
151
|
+
: factory_1.factory.createIdentifier(access(route.queryObject.name))));
|
|
152
|
+
return out(block(factory_1.factory.createObjectLiteralExpression([
|
|
151
153
|
...(route.queryObject
|
|
152
154
|
? [
|
|
153
|
-
factory_1.
|
|
155
|
+
factory_1.factory.createSpreadAssignment(factory_1.factory.createIdentifier(access(route.queryObject.name))),
|
|
154
156
|
]
|
|
155
157
|
: []),
|
|
156
|
-
...route.queryParameters.map((q) => factory_1.
|
|
158
|
+
...route.queryParameters.map((q) => factory_1.factory.createPropertyAssignment(utils_1.NamingConvention.variable(q.field)
|
|
157
159
|
? q.field
|
|
158
|
-
: factory_1.
|
|
160
|
+
: factory_1.factory.createStringLiteral(q.field), factory_1.factory.createIdentifier(access(q.name)))),
|
|
159
161
|
], true)));
|
|
160
162
|
};
|
|
161
|
-
const writeStringify = (project) => (importer) => constant("stringify")(factory_1.
|
|
162
|
-
|
|
163
|
-
], undefined, undefined, factory_1.
|
|
163
|
+
const writeStringify = (project) => (importer) => constant("stringify")(factory_1.factory.createArrowFunction([], undefined, [
|
|
164
|
+
IdentifierFactory_1.IdentifierFactory.parameter("input", factory_1.factory.createTypeReferenceNode("Body")),
|
|
165
|
+
], undefined, undefined, factory_1.factory.createCallExpression(IdentifierFactory_1.IdentifierFactory.access(IdentifierFactory_1.IdentifierFactory.access(factory_1.factory.createIdentifier(SdkImportWizard_1.SdkImportWizard.typia(importer)), "json"), project.config.assert ? "stringify" : "assertStringify"), undefined, [factory_1.factory.createIdentifier("input")])));
|
|
164
166
|
})(SdkHttpNamespaceProgrammer || (exports.SdkHttpNamespaceProgrammer = SdkHttpNamespaceProgrammer = {}));
|
|
165
|
-
const local = (name) => (type) => (expression) => factory_1.
|
|
166
|
-
factory_1.
|
|
167
|
+
const local = (name) => (type) => (expression) => factory_1.factory.createVariableStatement([], factory_1.factory.createVariableDeclarationList([
|
|
168
|
+
factory_1.factory.createVariableDeclaration(name, undefined, factory_1.factory.createTypeReferenceNode(type), expression),
|
|
167
169
|
], factory_1.NodeFlags.Const));
|
|
168
|
-
const constant = (name) => (expression) => factory_1.
|
|
169
|
-
factory_1.
|
|
170
|
+
const constant = (name) => (expression) => factory_1.factory.createVariableStatement([factory_1.factory.createModifier(factory_1.SyntaxKind.ExportKeyword)], factory_1.factory.createVariableDeclarationList([
|
|
171
|
+
factory_1.factory.createVariableDeclaration(name, undefined, undefined, expression),
|
|
170
172
|
], factory_1.NodeFlags.Const));
|
|
171
173
|
//# sourceMappingURL=SdkHttpNamespaceProgrammer.js.map
|