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