@nestia/sdk 11.2.1 → 12.0.0-dev.20260521.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/assets/bundle/distribute/package.json +1 -1
- package/lib/NestiaSdkApplication.js +5 -4
- package/lib/NestiaSdkApplication.js.map +1 -1
- package/lib/NestiaSwaggerComposer.js +2 -2
- package/lib/NestiaSwaggerComposer.js.map +1 -1
- package/lib/analyses/AccessorAnalyzer.js.map +1 -1
- package/lib/analyses/ConfigAnalyzer.js +133 -7
- package/lib/analyses/ConfigAnalyzer.js.map +1 -1
- package/lib/analyses/ImportAnalyzer.d.ts +9 -2
- package/lib/analyses/ImportAnalyzer.js +13 -50
- package/lib/analyses/ImportAnalyzer.js.map +1 -1
- package/lib/analyses/PathAnalyzer.js.map +1 -1
- package/lib/analyses/ReflectControllerAnalyzer.js.map +1 -1
- package/lib/analyses/ReflectHttpOperationAnalyzer.d.ts +1 -1
- package/lib/analyses/ReflectHttpOperationAnalyzer.js +5 -4
- package/lib/analyses/ReflectHttpOperationAnalyzer.js.map +1 -1
- package/lib/analyses/ReflectHttpOperationExceptionAnalyzer.d.ts +1 -1
- package/lib/analyses/ReflectHttpOperationExceptionAnalyzer.js +22 -5
- package/lib/analyses/ReflectHttpOperationExceptionAnalyzer.js.map +1 -1
- package/lib/analyses/ReflectHttpOperationParameterAnalyzer.d.ts +1 -1
- package/lib/analyses/ReflectHttpOperationParameterAnalyzer.js +8 -8
- package/lib/analyses/ReflectHttpOperationParameterAnalyzer.js.map +1 -1
- package/lib/analyses/ReflectHttpOperationResponseAnalyzer.d.ts +1 -1
- package/lib/analyses/ReflectHttpOperationResponseAnalyzer.js +15 -15
- package/lib/analyses/ReflectHttpOperationResponseAnalyzer.js.map +1 -1
- package/lib/analyses/ReflectMetadataAnalyzer.js.map +1 -1
- package/lib/analyses/ReflectWebSocketOperationAnalyzer.d.ts +1 -1
- package/lib/analyses/ReflectWebSocketOperationAnalyzer.js +1 -1
- package/lib/analyses/ReflectWebSocketOperationAnalyzer.js.map +1 -1
- package/lib/analyses/SecurityAnalyzer.js.map +1 -1
- package/lib/analyses/TypedHttpRouteAnalyzer.d.ts +2 -1
- package/lib/analyses/TypedHttpRouteAnalyzer.js +296 -39
- package/lib/analyses/TypedHttpRouteAnalyzer.js.map +1 -1
- package/lib/analyses/TypedWebSocketRouteAnalyzer.js +1 -4
- package/lib/analyses/TypedWebSocketRouteAnalyzer.js.map +1 -1
- package/lib/decorators/OperationMetadata.d.ts +12 -2
- package/lib/decorators/OperationMetadata.js +14 -1
- package/lib/decorators/OperationMetadata.js.map +1 -1
- package/lib/executable/internal/CommandParser.js.map +1 -1
- package/lib/executable/internal/NestiaConfigLoader.d.ts +6 -2
- package/lib/executable/internal/NestiaConfigLoader.js +285 -793
- package/lib/executable/internal/NestiaConfigLoader.js.map +1 -1
- package/lib/executable/internal/NestiaSdkCommand.js +6 -4
- package/lib/executable/internal/NestiaSdkCommand.js.map +1 -1
- package/lib/executable/sdk.js +17 -5
- package/lib/executable/sdk.js.map +1 -1
- package/lib/generates/CloneGenerator.js +2 -2
- package/lib/generates/CloneGenerator.js.map +1 -1
- package/lib/generates/E2eGenerator.js.map +1 -1
- package/lib/generates/SdkGenerator.js +6 -9
- package/lib/generates/SdkGenerator.js.map +1 -1
- package/lib/generates/SwaggerGenerator.js +20 -107
- package/lib/generates/SwaggerGenerator.js.map +1 -1
- package/lib/generates/internal/E2eFileProgrammer.js +44 -28
- package/lib/generates/internal/E2eFileProgrammer.js.map +1 -1
- package/lib/generates/internal/FilePrinter.d.ts +4 -4
- package/lib/generates/internal/FilePrinter.js +25 -16
- package/lib/generates/internal/FilePrinter.js.map +1 -1
- package/lib/generates/internal/ImportDictionary.d.ts +2 -2
- package/lib/generates/internal/ImportDictionary.js +7 -5
- package/lib/generates/internal/ImportDictionary.js.map +1 -1
- package/lib/generates/internal/SdkAliasCollection.d.ts +11 -11
- package/lib/generates/internal/SdkAliasCollection.js +27 -31
- package/lib/generates/internal/SdkAliasCollection.js.map +1 -1
- package/lib/generates/internal/SdkDistributionComposer.js +15 -70
- package/lib/generates/internal/SdkDistributionComposer.js.map +1 -1
- package/lib/generates/internal/SdkFileProgrammer.js +2 -2
- package/lib/generates/internal/SdkFileProgrammer.js.map +1 -1
- package/lib/generates/internal/SdkHttpCloneProgrammer.d.ts +2 -2
- package/lib/generates/internal/SdkHttpCloneProgrammer.js +6 -12
- package/lib/generates/internal/SdkHttpCloneProgrammer.js.map +1 -1
- package/lib/generates/internal/SdkHttpCloneReferencer.js +2 -1
- package/lib/generates/internal/SdkHttpCloneReferencer.js.map +1 -1
- package/lib/generates/internal/SdkHttpFunctionProgrammer.d.ts +2 -2
- package/lib/generates/internal/SdkHttpFunctionProgrammer.js +73 -77
- package/lib/generates/internal/SdkHttpFunctionProgrammer.js.map +1 -1
- package/lib/generates/internal/SdkHttpNamespaceProgrammer.d.ts +2 -2
- package/lib/generates/internal/SdkHttpNamespaceProgrammer.js +64 -66
- package/lib/generates/internal/SdkHttpNamespaceProgrammer.js.map +1 -1
- package/lib/generates/internal/SdkHttpParameterProgrammer.d.ts +4 -10
- package/lib/generates/internal/SdkHttpParameterProgrammer.js +15 -22
- package/lib/generates/internal/SdkHttpParameterProgrammer.js.map +1 -1
- package/lib/generates/internal/SdkHttpRouteProgrammer.d.ts +2 -2
- package/lib/generates/internal/SdkHttpRouteProgrammer.js +18 -20
- package/lib/generates/internal/SdkHttpRouteProgrammer.js.map +1 -1
- package/lib/generates/internal/SdkHttpSimulationProgrammer.d.ts +3 -3
- package/lib/generates/internal/SdkHttpSimulationProgrammer.js +47 -49
- package/lib/generates/internal/SdkHttpSimulationProgrammer.js.map +1 -1
- package/lib/generates/internal/SdkImportWizard.js.map +1 -1
- package/lib/generates/internal/SdkRouteDirectory.js.map +1 -1
- package/lib/generates/internal/SdkTypeProgrammer.d.ts +4 -4
- package/lib/generates/internal/SdkTypeProgrammer.js +66 -67
- package/lib/generates/internal/SdkTypeProgrammer.js.map +1 -1
- package/lib/generates/internal/SdkTypeTagProgrammer.d.ts +1 -2
- package/lib/generates/internal/SdkTypeTagProgrammer.js +29 -11
- package/lib/generates/internal/SdkTypeTagProgrammer.js.map +1 -1
- package/lib/generates/internal/SdkWebSocketNamespaceProgrammer.d.ts +2 -2
- package/lib/generates/internal/SdkWebSocketNamespaceProgrammer.js +55 -55
- 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 -12
- package/lib/generates/internal/SdkWebSocketParameterProgrammer.js.map +1 -1
- package/lib/generates/internal/SdkWebSocketRouteProgrammer.d.ts +2 -2
- package/lib/generates/internal/SdkWebSocketRouteProgrammer.js +43 -45
- package/lib/generates/internal/SdkWebSocketRouteProgrammer.js.map +1 -1
- package/lib/generates/internal/SwaggerDescriptionComposer.js.map +1 -1
- package/lib/generates/internal/SwaggerOperationComposer.d.ts +1 -1
- package/lib/generates/internal/SwaggerOperationComposer.js +5 -4
- package/lib/generates/internal/SwaggerOperationComposer.js.map +1 -1
- package/lib/generates/internal/SwaggerOperationParameterComposer.d.ts +0 -3
- package/lib/generates/internal/SwaggerOperationParameterComposer.js +19 -20
- package/lib/generates/internal/SwaggerOperationParameterComposer.js.map +1 -1
- package/lib/generates/internal/SwaggerOperationResponseComposer.d.ts +1 -1
- package/lib/generates/internal/SwaggerOperationResponseComposer.js +4 -3
- package/lib/generates/internal/SwaggerOperationResponseComposer.js.map +1 -1
- package/lib/index.js.map +1 -1
- package/lib/internal/legacy.d.ts +180 -0
- package/lib/internal/legacy.js +361 -0
- package/lib/internal/legacy.js.map +1 -0
- package/lib/structures/INestiaProject.d.ts +0 -2
- package/lib/{transformers → structures}/IOperationMetadata.d.ts +2 -7
- package/lib/structures/IOperationMetadata.js.map +1 -0
- package/lib/structures/IReflectHttpOperationException.d.ts +1 -1
- package/lib/structures/IReflectHttpOperationParameter.d.ts +1 -1
- package/lib/structures/IReflectHttpOperationSuccess.d.ts +1 -1
- package/lib/structures/IReflectOperationError.d.ts +1 -1
- package/lib/structures/IReflectOperationError.js.map +1 -1
- package/lib/structures/IReflectWebSocketOperation.d.ts +2 -2
- package/lib/structures/ITypedApplication.d.ts +1 -1
- package/lib/structures/ITypedHttpRouteException.d.ts +1 -1
- package/lib/structures/ITypedHttpRouteParameter.d.ts +1 -1
- package/lib/structures/ITypedHttpRouteSuccess.d.ts +1 -1
- package/lib/structures/ITypedWebSocketRoute.d.ts +2 -2
- package/lib/transform.d.ts +16 -3
- package/lib/transform.js +47 -5
- package/lib/transform.js.map +1 -1
- package/lib/utils/ArrayUtil.js.map +1 -1
- package/lib/utils/FileRetriever.js.map +1 -1
- package/lib/utils/MapUtil.js.map +1 -1
- package/lib/utils/PathUtil.js.map +1 -1
- package/lib/utils/SourceFinder.js.map +1 -1
- package/lib/utils/StringUtil.js.map +1 -1
- package/lib/utils/TsConfigReader.d.ts +7 -0
- package/lib/utils/TsConfigReader.js +102 -0
- package/lib/utils/TsConfigReader.js.map +1 -0
- package/lib/utils/TtscExecutor.d.ts +8 -0
- package/lib/utils/TtscExecutor.js +58 -0
- package/lib/utils/TtscExecutor.js.map +1 -0
- package/lib/utils/VersioningStrategy.js.map +1 -1
- package/lib/validators/HttpHeadersValidator.d.ts +8 -5
- package/lib/validators/HttpHeadersValidator.js +7 -26
- package/lib/validators/HttpHeadersValidator.js.map +1 -1
- package/lib/validators/HttpQueryValidator.d.ts +8 -5
- package/lib/validators/HttpQueryValidator.js +7 -26
- package/lib/validators/HttpQueryValidator.js.map +1 -1
- package/lib/{transformers → validators}/TextPlainValidator.d.ts +1 -1
- package/lib/{transformers → validators}/TextPlainValidator.js +2 -1
- package/lib/validators/TextPlainValidator.js.map +1 -0
- package/native/go.mod +52 -0
- package/native/go.sum +54 -0
- package/native/sdk/register.go +130 -0
- package/native/sdk/sdk.go +17 -0
- package/native/sdk/sdk_metadata_json.go +327 -0
- package/native/sdk/sdk_transform.go +1542 -0
- package/package.json +19 -19
- package/src/NestiaSdkApplication.ts +9 -5
- package/src/NestiaSwaggerComposer.ts +2 -3
- package/src/analyses/ConfigAnalyzer.ts +175 -1
- package/src/analyses/ImportAnalyzer.ts +15 -49
- package/src/analyses/ReflectControllerAnalyzer.ts +1 -1
- package/src/analyses/ReflectHttpOperationAnalyzer.ts +1 -1
- package/src/analyses/ReflectHttpOperationExceptionAnalyzer.ts +24 -6
- package/src/analyses/ReflectHttpOperationParameterAnalyzer.ts +3 -3
- package/src/analyses/ReflectHttpOperationResponseAnalyzer.ts +14 -10
- package/src/analyses/ReflectWebSocketOperationAnalyzer.ts +2 -2
- package/src/analyses/TypedHttpRouteAnalyzer.ts +354 -22
- package/src/decorators/OperationMetadata.ts +17 -3
- package/src/executable/internal/NestiaConfigLoader.ts +419 -53
- package/src/executable/internal/NestiaSdkCommand.ts +9 -10
- package/src/executable/sdk.ts +15 -4
- package/src/generates/CloneGenerator.ts +10 -10
- package/src/generates/SwaggerGenerator.ts +28 -9
- package/src/generates/internal/E2eFileProgrammer.ts +80 -43
- package/src/generates/internal/FilePrinter.ts +38 -37
- package/src/generates/internal/ImportDictionary.ts +18 -16
- package/src/generates/internal/SdkAliasCollection.ts +41 -40
- package/src/generates/internal/SdkDistributionComposer.ts +21 -8
- package/src/generates/internal/SdkFileProgrammer.ts +7 -5
- package/src/generates/internal/SdkHttpCloneProgrammer.ts +10 -10
- package/src/generates/internal/SdkHttpCloneReferencer.ts +6 -6
- package/src/generates/internal/SdkHttpFunctionProgrammer.ts +101 -78
- package/src/generates/internal/SdkHttpNamespaceProgrammer.ts +153 -145
- package/src/generates/internal/SdkHttpParameterProgrammer.ts +20 -33
- package/src/generates/internal/SdkHttpRouteProgrammer.ts +2 -2
- package/src/generates/internal/SdkHttpSimulationProgrammer.ts +88 -86
- package/src/generates/internal/SdkTypeProgrammer.ts +93 -99
- package/src/generates/internal/SdkTypeTagProgrammer.ts +12 -12
- package/src/generates/internal/SdkWebSocketNamespaceProgrammer.ts +128 -118
- package/src/generates/internal/SdkWebSocketParameterProgrammer.ts +15 -13
- package/src/generates/internal/SdkWebSocketRouteProgrammer.ts +133 -112
- package/src/generates/internal/SwaggerOperationComposer.ts +1 -1
- package/src/generates/internal/SwaggerOperationParameterComposer.ts +10 -9
- package/src/generates/internal/SwaggerOperationResponseComposer.ts +1 -1
- package/src/internal/legacy.ts +492 -0
- package/src/structures/INestiaProject.ts +0 -3
- package/src/{transformers → structures}/IOperationMetadata.ts +2 -7
- package/src/structures/IReflectHttpOperationException.ts +1 -1
- package/src/structures/IReflectHttpOperationParameter.ts +1 -1
- package/src/structures/IReflectHttpOperationSuccess.ts +1 -1
- package/src/structures/IReflectOperationError.ts +1 -1
- package/src/structures/IReflectWebSocketOperation.ts +2 -2
- package/src/structures/ITypedApplication.ts +1 -1
- package/src/structures/ITypedHttpRouteException.ts +1 -1
- package/src/structures/ITypedHttpRouteParameter.ts +1 -1
- package/src/structures/ITypedHttpRouteSuccess.ts +1 -1
- package/src/structures/ITypedWebSocketRoute.ts +2 -2
- package/src/transform.ts +57 -7
- package/src/utils/TsConfigReader.ts +108 -0
- package/src/utils/TtscExecutor.ts +63 -0
- package/src/validators/HttpHeadersValidator.ts +8 -37
- package/src/validators/HttpQueryValidator.ts +8 -37
- package/src/{transformers → validators}/TextPlainValidator.ts +2 -2
- package/lib/analyses/DtoAnalyzer.d.ts +0 -21
- package/lib/analyses/DtoAnalyzer.js +0 -219
- package/lib/analyses/DtoAnalyzer.js.map +0 -1
- package/lib/analyses/ExceptionAnalyzer.d.ts +0 -0
- package/lib/analyses/ExceptionAnalyzer.js +0 -2
- package/lib/analyses/ExceptionAnalyzer.js.map +0 -1
- package/lib/analyses/GenericAnalyzer.d.ts +0 -4
- package/lib/analyses/GenericAnalyzer.js +0 -42
- package/lib/analyses/GenericAnalyzer.js.map +0 -1
- package/lib/structures/IReflectApplication.d.ts +0 -6
- package/lib/structures/IReflectApplication.js +0 -3
- package/lib/structures/IReflectApplication.js.map +0 -1
- package/lib/structures/MethodType.d.ts +0 -4
- package/lib/structures/MethodType.js +0 -8
- package/lib/structures/MethodType.js.map +0 -1
- package/lib/structures/ParamCategory.d.ts +0 -1
- package/lib/structures/ParamCategory.js +0 -3
- package/lib/structures/ParamCategory.js.map +0 -1
- package/lib/structures/TypeEntry.d.ts +0 -9
- package/lib/structures/TypeEntry.js +0 -21
- package/lib/structures/TypeEntry.js.map +0 -1
- package/lib/transformers/IOperationMetadata.js.map +0 -1
- package/lib/transformers/ISdkOperationTransformerContext.d.ts +0 -7
- package/lib/transformers/ISdkOperationTransformerContext.js +0 -3
- package/lib/transformers/ISdkOperationTransformerContext.js.map +0 -1
- package/lib/transformers/SdkOperationProgrammer.d.ts +0 -15
- package/lib/transformers/SdkOperationProgrammer.js +0 -186
- package/lib/transformers/SdkOperationProgrammer.js.map +0 -1
- package/lib/transformers/SdkOperationTransformer.d.ts +0 -4
- package/lib/transformers/SdkOperationTransformer.js +0 -128
- package/lib/transformers/SdkOperationTransformer.js.map +0 -1
- package/lib/transformers/TextPlainValidator.js.map +0 -1
- package/lib/utils/MetadataUtil.d.ts +0 -4
- package/lib/utils/MetadataUtil.js +0 -34
- package/lib/utils/MetadataUtil.js.map +0 -1
- package/lib/utils/StripEnums.d.ts +0 -3
- package/lib/utils/StripEnums.js +0 -3
- package/lib/utils/StripEnums.js.map +0 -1
- package/lib/utils/TypeLiteralExpression.d.ts +0 -0
- package/lib/utils/TypeLiteralExpression.js +0 -2
- package/lib/utils/TypeLiteralExpression.js.map +0 -1
- package/src/analyses/DtoAnalyzer.ts +0 -260
- package/src/analyses/ExceptionAnalyzer.ts +0 -154
- package/src/analyses/GenericAnalyzer.ts +0 -49
- package/src/structures/IReflectApplication.ts +0 -8
- package/src/structures/MethodType.ts +0 -5
- package/src/structures/ParamCategory.ts +0 -1
- package/src/structures/TypeEntry.ts +0 -22
- package/src/transformers/ISdkOperationTransformerContext.ts +0 -8
- package/src/transformers/SdkOperationProgrammer.ts +0 -240
- package/src/transformers/SdkOperationTransformer.ts +0 -248
- package/src/utils/MetadataUtil.ts +0 -26
- package/src/utils/StripEnums.ts +0 -5
- package/src/utils/TypeLiteralExpression.ts +0 -0
- /package/lib/{transformers → structures}/IOperationMetadata.js +0 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import
|
|
1
|
+
import { Node, NodeFlags, SyntaxKind, TypeScriptFactory } from "@nestia/factory";
|
|
2
|
+
import { IdentifierFactory, TypeFactory } from "@nestia/factory";
|
|
3
3
|
|
|
4
4
|
import { INestiaProject } from "../../structures/INestiaProject";
|
|
5
5
|
import { ITypedHttpRoute } from "../../structures/ITypedHttpRoute";
|
|
@@ -8,16 +8,17 @@ import { ImportDictionary } from "./ImportDictionary";
|
|
|
8
8
|
import { SdkAliasCollection } from "./SdkAliasCollection";
|
|
9
9
|
import { SdkHttpParameterProgrammer } from "./SdkHttpParameterProgrammer";
|
|
10
10
|
import { SdkImportWizard } from "./SdkImportWizard";
|
|
11
|
+
import { sizeOf } from "../../internal/legacy";
|
|
11
12
|
|
|
12
13
|
export namespace SdkHttpFunctionProgrammer {
|
|
13
14
|
export const write =
|
|
14
15
|
(project: INestiaProject) =>
|
|
15
16
|
(importer: ImportDictionary) =>
|
|
16
|
-
(route: ITypedHttpRoute):
|
|
17
|
-
return
|
|
17
|
+
(route: ITypedHttpRoute): Node => {
|
|
18
|
+
return TypeScriptFactory.createFunctionDeclaration(
|
|
18
19
|
[
|
|
19
|
-
|
|
20
|
-
|
|
20
|
+
TypeScriptFactory.createModifier(SyntaxKind.ExportKeyword),
|
|
21
|
+
TypeScriptFactory.createModifier(SyntaxKind.AsyncKeyword),
|
|
21
22
|
],
|
|
22
23
|
undefined,
|
|
23
24
|
route.name,
|
|
@@ -25,10 +26,14 @@ export namespace SdkHttpFunctionProgrammer {
|
|
|
25
26
|
[
|
|
26
27
|
IdentifierFactory.parameter(
|
|
27
28
|
"connection",
|
|
28
|
-
|
|
29
|
+
TypeScriptFactory.createTypeReferenceNode(
|
|
29
30
|
SdkImportWizard.IConnection(importer),
|
|
30
31
|
route.headerObject !== null
|
|
31
|
-
? [
|
|
32
|
+
? [
|
|
33
|
+
TypeScriptFactory.createTypeReferenceNode(
|
|
34
|
+
`${route.name}.Headers`,
|
|
35
|
+
),
|
|
36
|
+
]
|
|
32
37
|
: undefined,
|
|
33
38
|
),
|
|
34
39
|
),
|
|
@@ -40,28 +45,34 @@ export namespace SdkHttpFunctionProgrammer {
|
|
|
40
45
|
prefix: true,
|
|
41
46
|
}),
|
|
42
47
|
],
|
|
43
|
-
|
|
48
|
+
TypeScriptFactory.createTypeReferenceNode("Promise", [
|
|
44
49
|
project.config.propagate === true ||
|
|
45
|
-
route.success.metadata
|
|
46
|
-
?
|
|
47
|
-
:
|
|
50
|
+
sizeOf(route.success.metadata) !== 0
|
|
51
|
+
? TypeScriptFactory.createTypeReferenceNode(`${route.name}.Output`)
|
|
52
|
+
: TypeScriptFactory.createTypeReferenceNode("void"),
|
|
48
53
|
]),
|
|
49
|
-
|
|
54
|
+
TypeScriptFactory.createBlock(
|
|
55
|
+
writeBody(project)(importer)(route),
|
|
56
|
+
true,
|
|
57
|
+
),
|
|
50
58
|
);
|
|
51
59
|
};
|
|
52
60
|
|
|
53
61
|
const writeBody =
|
|
54
62
|
(project: INestiaProject) =>
|
|
55
63
|
(importer: ImportDictionary) =>
|
|
56
|
-
(route: ITypedHttpRoute):
|
|
57
|
-
const access = (name: string):
|
|
64
|
+
(route: ITypedHttpRoute): Node[] => {
|
|
65
|
+
const access = (name: string): Node =>
|
|
58
66
|
project.config.keyword === true
|
|
59
|
-
?
|
|
60
|
-
|
|
67
|
+
? TypeScriptFactory.createPropertyAccessExpression(
|
|
68
|
+
TypeScriptFactory.createIdentifier("props"),
|
|
69
|
+
name,
|
|
70
|
+
)
|
|
71
|
+
: TypeScriptFactory.createIdentifier(name);
|
|
61
72
|
const fetch = () =>
|
|
62
|
-
|
|
73
|
+
TypeScriptFactory.createCallExpression(
|
|
63
74
|
IdentifierFactory.access(
|
|
64
|
-
|
|
75
|
+
TypeScriptFactory.createIdentifier(
|
|
65
76
|
SdkImportWizard.Fetcher(
|
|
66
77
|
!!route.body?.encrypted || route.success.encrypted,
|
|
67
78
|
)(importer),
|
|
@@ -76,24 +87,26 @@ export namespace SdkHttpFunctionProgrammer {
|
|
|
76
87
|
: undefined,
|
|
77
88
|
[
|
|
78
89
|
route.body && route.body.contentType !== "multipart/form-data"
|
|
79
|
-
?
|
|
90
|
+
? TypeScriptFactory.createObjectLiteralExpression(
|
|
80
91
|
[
|
|
81
|
-
|
|
82
|
-
|
|
92
|
+
TypeScriptFactory.createSpreadAssignment(
|
|
93
|
+
TypeScriptFactory.createIdentifier("connection"),
|
|
83
94
|
),
|
|
84
|
-
|
|
95
|
+
TypeScriptFactory.createPropertyAssignment(
|
|
85
96
|
"headers",
|
|
86
|
-
|
|
97
|
+
TypeScriptFactory.createObjectLiteralExpression(
|
|
87
98
|
[
|
|
88
|
-
|
|
99
|
+
TypeScriptFactory.createSpreadAssignment(
|
|
89
100
|
IdentifierFactory.access(
|
|
90
|
-
|
|
101
|
+
TypeScriptFactory.createIdentifier("connection"),
|
|
91
102
|
"headers",
|
|
92
103
|
),
|
|
93
104
|
),
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
105
|
+
TypeScriptFactory.createPropertyAssignment(
|
|
106
|
+
TypeScriptFactory.createStringLiteral(
|
|
107
|
+
"Content-Type",
|
|
108
|
+
),
|
|
109
|
+
TypeScriptFactory.createStringLiteral(
|
|
97
110
|
route.body?.contentType ?? "application/json",
|
|
98
111
|
),
|
|
99
112
|
),
|
|
@@ -104,30 +117,30 @@ export namespace SdkHttpFunctionProgrammer {
|
|
|
104
117
|
],
|
|
105
118
|
true,
|
|
106
119
|
)
|
|
107
|
-
:
|
|
108
|
-
|
|
120
|
+
: TypeScriptFactory.createIdentifier("connection"),
|
|
121
|
+
TypeScriptFactory.createObjectLiteralExpression(
|
|
109
122
|
[
|
|
110
|
-
|
|
123
|
+
TypeScriptFactory.createSpreadAssignment(
|
|
111
124
|
IdentifierFactory.access(
|
|
112
|
-
|
|
125
|
+
TypeScriptFactory.createIdentifier(route.name),
|
|
113
126
|
"METADATA",
|
|
114
127
|
),
|
|
115
128
|
),
|
|
116
|
-
|
|
129
|
+
TypeScriptFactory.createPropertyAssignment(
|
|
117
130
|
"template",
|
|
118
131
|
IdentifierFactory.access(
|
|
119
132
|
IdentifierFactory.access(
|
|
120
|
-
|
|
133
|
+
TypeScriptFactory.createIdentifier(route.name),
|
|
121
134
|
"METADATA",
|
|
122
135
|
),
|
|
123
136
|
"path",
|
|
124
137
|
),
|
|
125
138
|
),
|
|
126
|
-
|
|
139
|
+
TypeScriptFactory.createPropertyAssignment(
|
|
127
140
|
"path",
|
|
128
|
-
|
|
141
|
+
TypeScriptFactory.createCallExpression(
|
|
129
142
|
IdentifierFactory.access(
|
|
130
|
-
|
|
143
|
+
TypeScriptFactory.createIdentifier(route.name),
|
|
131
144
|
"path",
|
|
132
145
|
),
|
|
133
146
|
undefined,
|
|
@@ -146,23 +159,23 @@ export namespace SdkHttpFunctionProgrammer {
|
|
|
146
159
|
route.body !== null &&
|
|
147
160
|
(route.body.contentType === "application/json" ||
|
|
148
161
|
route.body.encrypted === true)
|
|
149
|
-
? [
|
|
162
|
+
? [TypeScriptFactory.createIdentifier(`${route.name}.stringify`)]
|
|
150
163
|
: []),
|
|
151
164
|
],
|
|
152
165
|
);
|
|
153
166
|
const output = (awaiter: boolean) =>
|
|
154
167
|
project.config.simulate
|
|
155
|
-
?
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
168
|
+
? TypeScriptFactory.createConditionalExpression(
|
|
169
|
+
TypeScriptFactory.createStrictEquality(
|
|
170
|
+
TypeScriptFactory.createTrue(),
|
|
171
|
+
TypeScriptFactory.createIdentifier("connection.simulate"),
|
|
159
172
|
),
|
|
160
173
|
undefined,
|
|
161
|
-
|
|
162
|
-
|
|
174
|
+
TypeScriptFactory.createCallExpression(
|
|
175
|
+
TypeScriptFactory.createIdentifier(`${route.name}.simulate`),
|
|
163
176
|
[],
|
|
164
177
|
[
|
|
165
|
-
|
|
178
|
+
TypeScriptFactory.createIdentifier("connection"),
|
|
166
179
|
...SdkHttpParameterProgrammer.getArguments({
|
|
167
180
|
project,
|
|
168
181
|
route,
|
|
@@ -171,34 +184,36 @@ export namespace SdkHttpFunctionProgrammer {
|
|
|
171
184
|
],
|
|
172
185
|
),
|
|
173
186
|
undefined,
|
|
174
|
-
awaiter
|
|
187
|
+
awaiter
|
|
188
|
+
? TypeScriptFactory.createAwaitExpression(fetch())
|
|
189
|
+
: fetch(),
|
|
175
190
|
)
|
|
176
191
|
: awaiter
|
|
177
|
-
?
|
|
192
|
+
? TypeScriptFactory.createAwaitExpression(fetch())
|
|
178
193
|
: fetch();
|
|
179
194
|
return [
|
|
180
195
|
...(project.config.assert
|
|
181
196
|
? SdkHttpParameterProgrammer.getSignificant(route, true).map((p) =>
|
|
182
|
-
|
|
183
|
-
|
|
197
|
+
TypeScriptFactory.createExpressionStatement(
|
|
198
|
+
TypeScriptFactory.createCallExpression(
|
|
184
199
|
IdentifierFactory.access(
|
|
185
|
-
|
|
200
|
+
TypeScriptFactory.createIdentifier(
|
|
186
201
|
SdkImportWizard.typia(importer),
|
|
187
202
|
),
|
|
188
203
|
"assert",
|
|
189
204
|
),
|
|
190
205
|
[
|
|
191
|
-
|
|
192
|
-
|
|
206
|
+
TypeScriptFactory.createTypeQueryNode(
|
|
207
|
+
TypeScriptFactory.createIdentifier(p.name),
|
|
193
208
|
),
|
|
194
209
|
],
|
|
195
|
-
[
|
|
210
|
+
[TypeScriptFactory.createIdentifier(p.name)],
|
|
196
211
|
),
|
|
197
212
|
),
|
|
198
213
|
)
|
|
199
214
|
: []),
|
|
200
215
|
...(route.success.setHeaders.length === 0
|
|
201
|
-
? [
|
|
216
|
+
? [TypeScriptFactory.createReturnStatement(output(false))]
|
|
202
217
|
: writeSetHeaders(project)(importer)(route)(output(true))),
|
|
203
218
|
];
|
|
204
219
|
};
|
|
@@ -207,7 +222,7 @@ export namespace SdkHttpFunctionProgrammer {
|
|
|
207
222
|
(project: INestiaProject) =>
|
|
208
223
|
(importer: ImportDictionary) =>
|
|
209
224
|
(route: ITypedHttpRoute) =>
|
|
210
|
-
(condition:
|
|
225
|
+
(condition: Node): Node[] => {
|
|
211
226
|
const accessor = (x: string) => (y: string) =>
|
|
212
227
|
x[0] === "[" ? `${x}${y}` : `${x}.${y}`;
|
|
213
228
|
const output: string = StringUtil.escapeDuplicate([
|
|
@@ -221,58 +236,66 @@ export namespace SdkHttpFunctionProgrammer {
|
|
|
221
236
|
? accessor(output)("data")
|
|
222
237
|
: output;
|
|
223
238
|
|
|
224
|
-
const assigners:
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
239
|
+
const assigners: Node[] = [
|
|
240
|
+
TypeScriptFactory.createBinaryExpression(
|
|
241
|
+
TypeScriptFactory.createIdentifier(headers),
|
|
242
|
+
TypeScriptFactory.createToken(
|
|
243
|
+
SyntaxKind.QuestionQuestionEqualsToken,
|
|
244
|
+
),
|
|
245
|
+
TypeScriptFactory.createObjectLiteralExpression([]),
|
|
229
246
|
),
|
|
230
247
|
...route.success.setHeaders.map((tuple) =>
|
|
231
248
|
tuple.type === "assigner"
|
|
232
|
-
?
|
|
233
|
-
|
|
249
|
+
? TypeScriptFactory.createCallExpression(
|
|
250
|
+
TypeScriptFactory.createIdentifier("Object.assign"),
|
|
234
251
|
[],
|
|
235
252
|
[
|
|
236
|
-
|
|
237
|
-
|
|
253
|
+
TypeScriptFactory.createIdentifier(headers),
|
|
254
|
+
TypeScriptFactory.createIdentifier(
|
|
255
|
+
accessor(data)(tuple.source),
|
|
256
|
+
),
|
|
238
257
|
],
|
|
239
258
|
)
|
|
240
|
-
:
|
|
241
|
-
|
|
259
|
+
: TypeScriptFactory.createBinaryExpression(
|
|
260
|
+
TypeScriptFactory.createIdentifier(
|
|
242
261
|
accessor(headers)(tuple.target ?? tuple.source),
|
|
243
262
|
),
|
|
244
|
-
|
|
245
|
-
|
|
263
|
+
TypeScriptFactory.createToken(SyntaxKind.EqualsToken),
|
|
264
|
+
TypeScriptFactory.createIdentifier(
|
|
265
|
+
accessor(data)(tuple.source),
|
|
266
|
+
),
|
|
246
267
|
),
|
|
247
268
|
),
|
|
248
|
-
].map(
|
|
269
|
+
].map(TypeScriptFactory.createExpressionStatement);
|
|
249
270
|
return [
|
|
250
|
-
|
|
271
|
+
TypeScriptFactory.createVariableStatement(
|
|
251
272
|
[],
|
|
252
|
-
|
|
273
|
+
TypeScriptFactory.createVariableDeclarationList(
|
|
253
274
|
[
|
|
254
|
-
|
|
275
|
+
TypeScriptFactory.createVariableDeclaration(
|
|
255
276
|
output,
|
|
256
277
|
undefined,
|
|
257
278
|
SdkAliasCollection.response(project)(importer)(route),
|
|
258
279
|
condition,
|
|
259
280
|
),
|
|
260
281
|
],
|
|
261
|
-
|
|
282
|
+
NodeFlags.Const,
|
|
262
283
|
),
|
|
263
284
|
),
|
|
264
285
|
...(project.config.propagate
|
|
265
286
|
? [
|
|
266
|
-
|
|
267
|
-
|
|
287
|
+
TypeScriptFactory.createIfStatement(
|
|
288
|
+
TypeScriptFactory.createIdentifier(accessor(output)("success")),
|
|
268
289
|
assigners.length === 1
|
|
269
290
|
? assigners[0]!
|
|
270
|
-
:
|
|
291
|
+
: TypeScriptFactory.createBlock(assigners, true),
|
|
271
292
|
undefined,
|
|
272
293
|
),
|
|
273
294
|
]
|
|
274
295
|
: assigners),
|
|
275
|
-
|
|
296
|
+
TypeScriptFactory.createReturnStatement(
|
|
297
|
+
TypeScriptFactory.createIdentifier(output),
|
|
298
|
+
),
|
|
276
299
|
];
|
|
277
300
|
};
|
|
278
301
|
}
|