@nestia/sdk 11.2.0 → 12.0.0-dev.20260520.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 (270) 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 +1 -1
  37. package/lib/decorators/OperationMetadata.js.map +1 -1
  38. package/lib/executable/internal/CommandParser.js.map +1 -1
  39. package/lib/executable/internal/NestiaConfigLoader.d.ts +6 -2
  40. package/lib/executable/internal/NestiaConfigLoader.js +285 -792
  41. package/lib/executable/internal/NestiaConfigLoader.js.map +1 -1
  42. package/lib/executable/internal/NestiaSdkCommand.js +6 -4
  43. package/lib/executable/internal/NestiaSdkCommand.js.map +1 -1
  44. package/lib/executable/sdk.js +17 -5
  45. package/lib/executable/sdk.js.map +1 -1
  46. package/lib/generates/CloneGenerator.js +2 -2
  47. package/lib/generates/CloneGenerator.js.map +1 -1
  48. package/lib/generates/E2eGenerator.js.map +1 -1
  49. package/lib/generates/SdkGenerator.js +6 -9
  50. package/lib/generates/SdkGenerator.js.map +1 -1
  51. package/lib/generates/SwaggerGenerator.js +20 -107
  52. package/lib/generates/SwaggerGenerator.js.map +1 -1
  53. package/lib/generates/internal/E2eFileProgrammer.js +44 -28
  54. package/lib/generates/internal/E2eFileProgrammer.js.map +1 -1
  55. package/lib/generates/internal/FilePrinter.d.ts +4 -4
  56. package/lib/generates/internal/FilePrinter.js +25 -16
  57. package/lib/generates/internal/FilePrinter.js.map +1 -1
  58. package/lib/generates/internal/ImportDictionary.d.ts +2 -2
  59. package/lib/generates/internal/ImportDictionary.js +7 -5
  60. package/lib/generates/internal/ImportDictionary.js.map +1 -1
  61. package/lib/generates/internal/SdkAliasCollection.d.ts +11 -11
  62. package/lib/generates/internal/SdkAliasCollection.js +27 -31
  63. package/lib/generates/internal/SdkAliasCollection.js.map +1 -1
  64. package/lib/generates/internal/SdkDistributionComposer.js +15 -70
  65. package/lib/generates/internal/SdkDistributionComposer.js.map +1 -1
  66. package/lib/generates/internal/SdkFileProgrammer.js +2 -2
  67. package/lib/generates/internal/SdkFileProgrammer.js.map +1 -1
  68. package/lib/generates/internal/SdkHttpCloneProgrammer.d.ts +2 -2
  69. package/lib/generates/internal/SdkHttpCloneProgrammer.js +6 -12
  70. package/lib/generates/internal/SdkHttpCloneProgrammer.js.map +1 -1
  71. package/lib/generates/internal/SdkHttpCloneReferencer.js +2 -1
  72. package/lib/generates/internal/SdkHttpCloneReferencer.js.map +1 -1
  73. package/lib/generates/internal/SdkHttpFunctionProgrammer.d.ts +2 -2
  74. package/lib/generates/internal/SdkHttpFunctionProgrammer.js +73 -77
  75. package/lib/generates/internal/SdkHttpFunctionProgrammer.js.map +1 -1
  76. package/lib/generates/internal/SdkHttpNamespaceProgrammer.d.ts +2 -2
  77. package/lib/generates/internal/SdkHttpNamespaceProgrammer.js +64 -66
  78. package/lib/generates/internal/SdkHttpNamespaceProgrammer.js.map +1 -1
  79. package/lib/generates/internal/SdkHttpParameterProgrammer.d.ts +4 -10
  80. package/lib/generates/internal/SdkHttpParameterProgrammer.js +15 -22
  81. package/lib/generates/internal/SdkHttpParameterProgrammer.js.map +1 -1
  82. package/lib/generates/internal/SdkHttpRouteProgrammer.d.ts +2 -2
  83. package/lib/generates/internal/SdkHttpRouteProgrammer.js +18 -20
  84. package/lib/generates/internal/SdkHttpRouteProgrammer.js.map +1 -1
  85. package/lib/generates/internal/SdkHttpSimulationProgrammer.d.ts +3 -3
  86. package/lib/generates/internal/SdkHttpSimulationProgrammer.js +47 -49
  87. package/lib/generates/internal/SdkHttpSimulationProgrammer.js.map +1 -1
  88. package/lib/generates/internal/SdkImportWizard.js.map +1 -1
  89. package/lib/generates/internal/SdkRouteDirectory.js.map +1 -1
  90. package/lib/generates/internal/SdkTypeProgrammer.d.ts +4 -4
  91. package/lib/generates/internal/SdkTypeProgrammer.js +66 -67
  92. package/lib/generates/internal/SdkTypeProgrammer.js.map +1 -1
  93. package/lib/generates/internal/SdkTypeTagProgrammer.d.ts +1 -2
  94. package/lib/generates/internal/SdkTypeTagProgrammer.js +29 -11
  95. package/lib/generates/internal/SdkTypeTagProgrammer.js.map +1 -1
  96. package/lib/generates/internal/SdkWebSocketNamespaceProgrammer.d.ts +2 -2
  97. package/lib/generates/internal/SdkWebSocketNamespaceProgrammer.js +55 -55
  98. package/lib/generates/internal/SdkWebSocketNamespaceProgrammer.js.map +1 -1
  99. package/lib/generates/internal/SdkWebSocketParameterProgrammer.d.ts +3 -3
  100. package/lib/generates/internal/SdkWebSocketParameterProgrammer.js +9 -12
  101. package/lib/generates/internal/SdkWebSocketParameterProgrammer.js.map +1 -1
  102. package/lib/generates/internal/SdkWebSocketRouteProgrammer.d.ts +2 -2
  103. package/lib/generates/internal/SdkWebSocketRouteProgrammer.js +43 -45
  104. package/lib/generates/internal/SdkWebSocketRouteProgrammer.js.map +1 -1
  105. package/lib/generates/internal/SwaggerDescriptionComposer.js.map +1 -1
  106. package/lib/generates/internal/SwaggerOperationComposer.d.ts +1 -1
  107. package/lib/generates/internal/SwaggerOperationComposer.js +5 -4
  108. package/lib/generates/internal/SwaggerOperationComposer.js.map +1 -1
  109. package/lib/generates/internal/SwaggerOperationParameterComposer.d.ts +0 -3
  110. package/lib/generates/internal/SwaggerOperationParameterComposer.js +19 -20
  111. package/lib/generates/internal/SwaggerOperationParameterComposer.js.map +1 -1
  112. package/lib/generates/internal/SwaggerOperationResponseComposer.d.ts +1 -1
  113. package/lib/generates/internal/SwaggerOperationResponseComposer.js +4 -3
  114. package/lib/generates/internal/SwaggerOperationResponseComposer.js.map +1 -1
  115. package/lib/index.js.map +1 -1
  116. package/lib/internal/legacy.d.ts +180 -0
  117. package/lib/internal/legacy.js +361 -0
  118. package/lib/internal/legacy.js.map +1 -0
  119. package/lib/structures/INestiaProject.d.ts +0 -2
  120. package/lib/{transformers → structures}/IOperationMetadata.d.ts +2 -7
  121. package/lib/structures/IOperationMetadata.js.map +1 -0
  122. package/lib/structures/IReflectHttpOperationException.d.ts +1 -1
  123. package/lib/structures/IReflectHttpOperationParameter.d.ts +1 -1
  124. package/lib/structures/IReflectHttpOperationSuccess.d.ts +1 -1
  125. package/lib/structures/IReflectOperationError.d.ts +1 -1
  126. package/lib/structures/IReflectOperationError.js.map +1 -1
  127. package/lib/structures/IReflectWebSocketOperation.d.ts +2 -2
  128. package/lib/structures/ITypedApplication.d.ts +1 -1
  129. package/lib/structures/ITypedHttpRouteException.d.ts +1 -1
  130. package/lib/structures/ITypedHttpRouteParameter.d.ts +1 -1
  131. package/lib/structures/ITypedHttpRouteSuccess.d.ts +1 -1
  132. package/lib/structures/ITypedWebSocketRoute.d.ts +2 -2
  133. package/lib/transform.d.ts +9 -3
  134. package/lib/transform.js +47 -5
  135. package/lib/transform.js.map +1 -1
  136. package/lib/utils/ArrayUtil.js.map +1 -1
  137. package/lib/utils/FileRetriever.js.map +1 -1
  138. package/lib/utils/MapUtil.js.map +1 -1
  139. package/lib/utils/PathUtil.js.map +1 -1
  140. package/lib/utils/SourceFinder.js.map +1 -1
  141. package/lib/utils/StringUtil.js.map +1 -1
  142. package/lib/utils/TsConfigReader.d.ts +7 -0
  143. package/lib/utils/TsConfigReader.js +102 -0
  144. package/lib/utils/TsConfigReader.js.map +1 -0
  145. package/lib/utils/TtscExecutor.d.ts +8 -0
  146. package/lib/utils/TtscExecutor.js +58 -0
  147. package/lib/utils/TtscExecutor.js.map +1 -0
  148. package/lib/utils/VersioningStrategy.js.map +1 -1
  149. package/lib/validators/HttpHeadersValidator.d.ts +8 -5
  150. package/lib/validators/HttpHeadersValidator.js +7 -26
  151. package/lib/validators/HttpHeadersValidator.js.map +1 -1
  152. package/lib/validators/HttpQueryValidator.d.ts +8 -5
  153. package/lib/validators/HttpQueryValidator.js +7 -26
  154. package/lib/validators/HttpQueryValidator.js.map +1 -1
  155. package/lib/{transformers → validators}/TextPlainValidator.d.ts +1 -1
  156. package/lib/{transformers → validators}/TextPlainValidator.js +2 -1
  157. package/lib/validators/TextPlainValidator.js.map +1 -0
  158. package/package.json +21 -19
  159. package/src/NestiaSdkApplication.ts +9 -5
  160. package/src/NestiaSwaggerComposer.ts +2 -3
  161. package/src/analyses/ConfigAnalyzer.ts +175 -1
  162. package/src/analyses/ImportAnalyzer.ts +15 -49
  163. package/src/analyses/ReflectControllerAnalyzer.ts +1 -1
  164. package/src/analyses/ReflectHttpOperationAnalyzer.ts +1 -1
  165. package/src/analyses/ReflectHttpOperationExceptionAnalyzer.ts +24 -6
  166. package/src/analyses/ReflectHttpOperationParameterAnalyzer.ts +3 -3
  167. package/src/analyses/ReflectHttpOperationResponseAnalyzer.ts +14 -10
  168. package/src/analyses/ReflectWebSocketOperationAnalyzer.ts +2 -2
  169. package/src/analyses/TypedHttpRouteAnalyzer.ts +354 -22
  170. package/src/decorators/OperationMetadata.ts +1 -1
  171. package/src/executable/internal/NestiaConfigLoader.ts +419 -52
  172. package/src/executable/internal/NestiaSdkCommand.ts +9 -10
  173. package/src/executable/sdk.ts +15 -4
  174. package/src/generates/CloneGenerator.ts +10 -10
  175. package/src/generates/SwaggerGenerator.ts +28 -9
  176. package/src/generates/internal/E2eFileProgrammer.ts +80 -43
  177. package/src/generates/internal/FilePrinter.ts +38 -37
  178. package/src/generates/internal/ImportDictionary.ts +18 -16
  179. package/src/generates/internal/SdkAliasCollection.ts +41 -40
  180. package/src/generates/internal/SdkDistributionComposer.ts +21 -8
  181. package/src/generates/internal/SdkFileProgrammer.ts +7 -5
  182. package/src/generates/internal/SdkHttpCloneProgrammer.ts +10 -10
  183. package/src/generates/internal/SdkHttpCloneReferencer.ts +6 -6
  184. package/src/generates/internal/SdkHttpFunctionProgrammer.ts +101 -78
  185. package/src/generates/internal/SdkHttpNamespaceProgrammer.ts +153 -145
  186. package/src/generates/internal/SdkHttpParameterProgrammer.ts +20 -33
  187. package/src/generates/internal/SdkHttpRouteProgrammer.ts +2 -2
  188. package/src/generates/internal/SdkHttpSimulationProgrammer.ts +88 -86
  189. package/src/generates/internal/SdkTypeProgrammer.ts +93 -99
  190. package/src/generates/internal/SdkTypeTagProgrammer.ts +12 -12
  191. package/src/generates/internal/SdkWebSocketNamespaceProgrammer.ts +128 -118
  192. package/src/generates/internal/SdkWebSocketParameterProgrammer.ts +15 -13
  193. package/src/generates/internal/SdkWebSocketRouteProgrammer.ts +133 -112
  194. package/src/generates/internal/SwaggerOperationComposer.ts +1 -1
  195. package/src/generates/internal/SwaggerOperationParameterComposer.ts +10 -9
  196. package/src/generates/internal/SwaggerOperationResponseComposer.ts +1 -1
  197. package/src/internal/legacy.ts +492 -0
  198. package/src/structures/INestiaProject.ts +0 -3
  199. package/src/{transformers → structures}/IOperationMetadata.ts +2 -7
  200. package/src/structures/IReflectHttpOperationException.ts +1 -1
  201. package/src/structures/IReflectHttpOperationParameter.ts +1 -1
  202. package/src/structures/IReflectHttpOperationSuccess.ts +1 -1
  203. package/src/structures/IReflectOperationError.ts +1 -1
  204. package/src/structures/IReflectWebSocketOperation.ts +2 -2
  205. package/src/structures/ITypedApplication.ts +1 -1
  206. package/src/structures/ITypedHttpRouteException.ts +1 -1
  207. package/src/structures/ITypedHttpRouteParameter.ts +1 -1
  208. package/src/structures/ITypedHttpRouteSuccess.ts +1 -1
  209. package/src/structures/ITypedWebSocketRoute.ts +2 -2
  210. package/src/transform.ts +68 -7
  211. package/src/utils/TsConfigReader.ts +108 -0
  212. package/src/utils/TtscExecutor.ts +63 -0
  213. package/src/validators/HttpHeadersValidator.ts +8 -37
  214. package/src/validators/HttpQueryValidator.ts +8 -37
  215. package/src/{transformers → validators}/TextPlainValidator.ts +2 -2
  216. package/lib/analyses/DtoAnalyzer.d.ts +0 -21
  217. package/lib/analyses/DtoAnalyzer.js +0 -219
  218. package/lib/analyses/DtoAnalyzer.js.map +0 -1
  219. package/lib/analyses/ExceptionAnalyzer.d.ts +0 -0
  220. package/lib/analyses/ExceptionAnalyzer.js +0 -2
  221. package/lib/analyses/ExceptionAnalyzer.js.map +0 -1
  222. package/lib/analyses/GenericAnalyzer.d.ts +0 -4
  223. package/lib/analyses/GenericAnalyzer.js +0 -42
  224. package/lib/analyses/GenericAnalyzer.js.map +0 -1
  225. package/lib/structures/IReflectApplication.d.ts +0 -6
  226. package/lib/structures/IReflectApplication.js +0 -3
  227. package/lib/structures/IReflectApplication.js.map +0 -1
  228. package/lib/structures/MethodType.d.ts +0 -4
  229. package/lib/structures/MethodType.js +0 -8
  230. package/lib/structures/MethodType.js.map +0 -1
  231. package/lib/structures/ParamCategory.d.ts +0 -1
  232. package/lib/structures/ParamCategory.js +0 -3
  233. package/lib/structures/ParamCategory.js.map +0 -1
  234. package/lib/structures/TypeEntry.d.ts +0 -9
  235. package/lib/structures/TypeEntry.js +0 -21
  236. package/lib/structures/TypeEntry.js.map +0 -1
  237. package/lib/transformers/IOperationMetadata.js.map +0 -1
  238. package/lib/transformers/ISdkOperationTransformerContext.d.ts +0 -7
  239. package/lib/transformers/ISdkOperationTransformerContext.js +0 -3
  240. package/lib/transformers/ISdkOperationTransformerContext.js.map +0 -1
  241. package/lib/transformers/SdkOperationProgrammer.d.ts +0 -15
  242. package/lib/transformers/SdkOperationProgrammer.js +0 -186
  243. package/lib/transformers/SdkOperationProgrammer.js.map +0 -1
  244. package/lib/transformers/SdkOperationTransformer.d.ts +0 -4
  245. package/lib/transformers/SdkOperationTransformer.js +0 -128
  246. package/lib/transformers/SdkOperationTransformer.js.map +0 -1
  247. package/lib/transformers/TextPlainValidator.js.map +0 -1
  248. package/lib/utils/MetadataUtil.d.ts +0 -4
  249. package/lib/utils/MetadataUtil.js +0 -34
  250. package/lib/utils/MetadataUtil.js.map +0 -1
  251. package/lib/utils/StripEnums.d.ts +0 -3
  252. package/lib/utils/StripEnums.js +0 -3
  253. package/lib/utils/StripEnums.js.map +0 -1
  254. package/lib/utils/TypeLiteralExpression.d.ts +0 -0
  255. package/lib/utils/TypeLiteralExpression.js +0 -2
  256. package/lib/utils/TypeLiteralExpression.js.map +0 -1
  257. package/src/analyses/DtoAnalyzer.ts +0 -260
  258. package/src/analyses/ExceptionAnalyzer.ts +0 -154
  259. package/src/analyses/GenericAnalyzer.ts +0 -49
  260. package/src/structures/IReflectApplication.ts +0 -8
  261. package/src/structures/MethodType.ts +0 -5
  262. package/src/structures/ParamCategory.ts +0 -1
  263. package/src/structures/TypeEntry.ts +0 -22
  264. package/src/transformers/ISdkOperationTransformerContext.ts +0 -8
  265. package/src/transformers/SdkOperationProgrammer.ts +0 -240
  266. package/src/transformers/SdkOperationTransformer.ts +0 -248
  267. package/src/utils/MetadataUtil.ts +0 -26
  268. package/src/utils/StripEnums.ts +0 -5
  269. package/src/utils/TypeLiteralExpression.ts +0 -0
  270. /package/lib/{transformers → structures}/IOperationMetadata.js +0 -0
@@ -1,5 +1,5 @@
1
- import { IdentifierFactory } from "@typia/core";
2
- import ts from "typescript";
1
+ import { Node, NodeFlags, SyntaxKind, TypeScriptFactory } from "@nestia/factory";
2
+ import { IdentifierFactory } from "@nestia/factory";
3
3
  import { IJsDocTagInfo } from "typia";
4
4
 
5
5
  import { INestiaProject } from "../../structures/INestiaProject";
@@ -14,7 +14,7 @@ export namespace SdkWebSocketRouteProgrammer {
14
14
  export const write =
15
15
  (project: INestiaProject) =>
16
16
  (importer: ImportDictionary) =>
17
- (route: ITypedWebSocketRoute): ts.Statement[] => [
17
+ (route: ITypedWebSocketRoute): Node[] => [
18
18
  FilePrinter.description(
19
19
  writeFunction(project)(importer)(route),
20
20
  writeDescription(route),
@@ -58,11 +58,11 @@ export namespace SdkWebSocketRouteProgrammer {
58
58
  const writeFunction =
59
59
  (project: INestiaProject) =>
60
60
  (importer: ImportDictionary) =>
61
- (route: ITypedWebSocketRoute): ts.FunctionDeclaration => {
62
- return ts.factory.createFunctionDeclaration(
61
+ (route: ITypedWebSocketRoute): Node => {
62
+ return TypeScriptFactory.createFunctionDeclaration(
63
63
  [
64
- ts.factory.createModifier(ts.SyntaxKind.ExportKeyword),
65
- ts.factory.createModifier(ts.SyntaxKind.AsyncKeyword),
64
+ TypeScriptFactory.createModifier(SyntaxKind.ExportKeyword),
65
+ TypeScriptFactory.createModifier(SyntaxKind.AsyncKeyword),
66
66
  ],
67
67
  undefined,
68
68
  route.name,
@@ -70,9 +70,13 @@ export namespace SdkWebSocketRouteProgrammer {
70
70
  [
71
71
  IdentifierFactory.parameter(
72
72
  "connection",
73
- ts.factory.createTypeReferenceNode(
73
+ TypeScriptFactory.createTypeReferenceNode(
74
74
  SdkImportWizard.IConnection(importer),
75
- [ts.factory.createTypeReferenceNode(`${route.name}.Header`)],
75
+ [
76
+ TypeScriptFactory.createTypeReferenceNode(
77
+ `${route.name}.Header`,
78
+ ),
79
+ ],
76
80
  ),
77
81
  ),
78
82
  ...SdkWebSocketParameterProgrammer.getParameterDeclarations({
@@ -82,10 +86,10 @@ export namespace SdkWebSocketRouteProgrammer {
82
86
  prefix: true,
83
87
  }),
84
88
  ],
85
- ts.factory.createTypeReferenceNode("Promise", [
86
- ts.factory.createTypeReferenceNode(`${route.name}.Output`),
89
+ TypeScriptFactory.createTypeReferenceNode("Promise", [
90
+ TypeScriptFactory.createTypeReferenceNode(`${route.name}.Output`),
87
91
  ]),
88
- ts.factory.createBlock(
92
+ TypeScriptFactory.createBlock(
89
93
  writeFunctionBody(project)(importer)(route),
90
94
  true,
91
95
  ),
@@ -95,37 +99,37 @@ export namespace SdkWebSocketRouteProgrammer {
95
99
  const writeFunctionBody =
96
100
  (project: INestiaProject) =>
97
101
  (importer: ImportDictionary) =>
98
- (route: ITypedWebSocketRoute): ts.Statement[] => {
102
+ (route: ITypedWebSocketRoute): Node[] => {
99
103
  const access = (key: string) =>
100
104
  project.config.keyword === true
101
- ? ts.factory.createPropertyAccessExpression(
102
- ts.factory.createIdentifier("props"),
105
+ ? TypeScriptFactory.createPropertyAccessExpression(
106
+ TypeScriptFactory.createIdentifier("props"),
103
107
  key,
104
108
  )
105
- : ts.factory.createIdentifier(key);
109
+ : TypeScriptFactory.createIdentifier(key);
106
110
  return [
107
- local("url")(ts.factory.createTypeReferenceNode("string"))(
111
+ local("url")(TypeScriptFactory.createTypeReferenceNode("string"))(
108
112
  joinPath(
109
- ts.factory.createCallExpression(
110
- ts.factory.createPropertyAccessExpression(
111
- ts.factory.createIdentifier(route.name),
113
+ TypeScriptFactory.createCallExpression(
114
+ TypeScriptFactory.createPropertyAccessExpression(
115
+ TypeScriptFactory.createIdentifier(route.name),
112
116
  "path",
113
117
  ),
114
118
  [],
115
119
  project.config.keyword === true &&
116
120
  SdkWebSocketParameterProgrammer.isPathEmpty(route) === false
117
- ? [ts.factory.createIdentifier("props")]
121
+ ? [TypeScriptFactory.createIdentifier("props")]
118
122
  : SdkWebSocketParameterProgrammer.getEntries({
119
123
  project,
120
124
  route,
121
125
  provider: false,
122
126
  prefix: true,
123
- }).map((p) => ts.factory.createIdentifier(p.key)),
127
+ }).map((p) => TypeScriptFactory.createIdentifier(p.key)),
124
128
  ),
125
129
  ),
126
130
  ),
127
131
  local("connector")(
128
- ts.factory.createTypeReferenceNode(
132
+ TypeScriptFactory.createTypeReferenceNode(
129
133
  importer.external({
130
134
  declaration: false,
131
135
  file: "tgrid",
@@ -133,14 +137,18 @@ export namespace SdkWebSocketRouteProgrammer {
133
137
  name: "WebSocketConnector",
134
138
  }),
135
139
  [
136
- ts.factory.createTypeReferenceNode(`${route.name}.Header`),
137
- ts.factory.createTypeReferenceNode(`${route.name}.Provider`),
138
- ts.factory.createTypeReferenceNode(`${route.name}.Listener`),
140
+ TypeScriptFactory.createTypeReferenceNode(`${route.name}.Header`),
141
+ TypeScriptFactory.createTypeReferenceNode(
142
+ `${route.name}.Provider`,
143
+ ),
144
+ TypeScriptFactory.createTypeReferenceNode(
145
+ `${route.name}.Listener`,
146
+ ),
139
147
  ],
140
148
  ),
141
149
  )(
142
- ts.factory.createNewExpression(
143
- ts.factory.createIdentifier(
150
+ TypeScriptFactory.createNewExpression(
151
+ TypeScriptFactory.createIdentifier(
144
152
  importer.external({
145
153
  declaration: false,
146
154
  file: "tgrid",
@@ -150,74 +158,84 @@ export namespace SdkWebSocketRouteProgrammer {
150
158
  ),
151
159
  undefined,
152
160
  [
153
- ts.factory.createAsExpression(
154
- ts.factory.createBinaryExpression(
155
- ts.factory.createPropertyAccessExpression(
156
- ts.factory.createIdentifier("connection"),
161
+ TypeScriptFactory.createAsExpression(
162
+ TypeScriptFactory.createBinaryExpression(
163
+ TypeScriptFactory.createPropertyAccessExpression(
164
+ TypeScriptFactory.createIdentifier("connection"),
157
165
  "headers",
158
166
  ),
159
- ts.factory.createToken(ts.SyntaxKind.QuestionQuestionToken),
160
- ts.factory.createObjectLiteralExpression([], false),
167
+ TypeScriptFactory.createToken(
168
+ SyntaxKind.QuestionQuestionToken,
169
+ ),
170
+ TypeScriptFactory.createObjectLiteralExpression([], false),
171
+ ),
172
+ TypeScriptFactory.createKeywordTypeNode(
173
+ SyntaxKind.AnyKeyword,
161
174
  ),
162
- ts.factory.createKeywordTypeNode(ts.SyntaxKind.AnyKeyword),
163
175
  ),
164
176
  access("provider"),
165
177
  ],
166
178
  ),
167
179
  ),
168
- ts.factory.createExpressionStatement(
169
- ts.factory.createAwaitExpression(
170
- ts.factory.createCallExpression(
171
- ts.factory.createPropertyAccessExpression(
172
- ts.factory.createIdentifier("connector"),
180
+ TypeScriptFactory.createExpressionStatement(
181
+ TypeScriptFactory.createAwaitExpression(
182
+ TypeScriptFactory.createCallExpression(
183
+ TypeScriptFactory.createPropertyAccessExpression(
184
+ TypeScriptFactory.createIdentifier("connector"),
173
185
  "connect",
174
186
  ),
175
187
  undefined,
176
- [ts.factory.createIdentifier("url")],
188
+ [TypeScriptFactory.createIdentifier("url")],
177
189
  ),
178
190
  ),
179
191
  ),
180
192
  local("driver")(
181
- ts.factory.createTypeReferenceNode(
193
+ TypeScriptFactory.createTypeReferenceNode(
182
194
  importer.external({
183
195
  declaration: true,
184
196
  file: "tgrid",
185
197
  type: "element",
186
198
  name: "Driver",
187
199
  }),
188
- [ts.factory.createTypeReferenceNode(`${route.name}.Listener`)],
200
+ [
201
+ TypeScriptFactory.createTypeReferenceNode(
202
+ `${route.name}.Listener`,
203
+ ),
204
+ ],
189
205
  ),
190
206
  )(
191
- ts.factory.createCallExpression(
192
- ts.factory.createPropertyAccessExpression(
193
- ts.factory.createIdentifier("connector"),
207
+ TypeScriptFactory.createCallExpression(
208
+ TypeScriptFactory.createPropertyAccessExpression(
209
+ TypeScriptFactory.createIdentifier("connector"),
194
210
  "getDriver",
195
211
  ),
196
212
  undefined,
197
213
  undefined,
198
214
  ),
199
215
  ),
200
- ts.factory.createReturnStatement(
201
- ts.factory.createObjectLiteralExpression(
216
+ TypeScriptFactory.createReturnStatement(
217
+ TypeScriptFactory.createObjectLiteralExpression(
202
218
  [
203
- ts.factory.createShorthandPropertyAssignment("connector"),
204
- ts.factory.createShorthandPropertyAssignment("driver"),
205
- ts.factory.createPropertyAssignment(
206
- ts.factory.createIdentifier("reconnect"),
207
- ts.factory.createArrowFunction(
208
- [ts.factory.createToken(ts.SyntaxKind.AsyncKeyword)],
219
+ TypeScriptFactory.createShorthandPropertyAssignment("connector"),
220
+ TypeScriptFactory.createShorthandPropertyAssignment("driver"),
221
+ TypeScriptFactory.createPropertyAssignment(
222
+ TypeScriptFactory.createIdentifier("reconnect"),
223
+ TypeScriptFactory.createArrowFunction(
224
+ [TypeScriptFactory.createToken(SyntaxKind.AsyncKeyword)],
209
225
  undefined,
210
226
  [],
211
227
  undefined,
212
- ts.factory.createToken(ts.SyntaxKind.EqualsGreaterThanToken),
213
- ts.factory.createAwaitExpression(
214
- ts.factory.createCallExpression(
215
- ts.factory.createPropertyAccessExpression(
216
- ts.factory.createIdentifier("connector"),
217
- ts.factory.createIdentifier("connect"),
228
+ TypeScriptFactory.createToken(
229
+ SyntaxKind.EqualsGreaterThanToken,
230
+ ),
231
+ TypeScriptFactory.createAwaitExpression(
232
+ TypeScriptFactory.createCallExpression(
233
+ TypeScriptFactory.createPropertyAccessExpression(
234
+ TypeScriptFactory.createIdentifier("connector"),
235
+ TypeScriptFactory.createIdentifier("connect"),
218
236
  ),
219
237
  undefined,
220
- [ts.factory.createIdentifier("url")],
238
+ [TypeScriptFactory.createIdentifier("url")],
221
239
  ),
222
240
  ),
223
241
  ),
@@ -231,72 +249,75 @@ export namespace SdkWebSocketRouteProgrammer {
231
249
  }
232
250
 
233
251
  const local =
234
- (name: string) => (type: ts.TypeNode) => (expression: ts.Expression) =>
235
- ts.factory.createVariableStatement(
252
+ (name: string) => (type: Node) => (expression: Node) =>
253
+ TypeScriptFactory.createVariableStatement(
236
254
  [],
237
- ts.factory.createVariableDeclarationList(
255
+ TypeScriptFactory.createVariableDeclarationList(
238
256
  [
239
- ts.factory.createVariableDeclaration(
257
+ TypeScriptFactory.createVariableDeclaration(
240
258
  name,
241
259
  undefined,
242
260
  type,
243
261
  expression,
244
262
  ),
245
263
  ],
246
- ts.NodeFlags.Const,
264
+ NodeFlags.Const,
247
265
  ),
248
266
  );
249
267
 
250
- const joinPath = (caller: ts.Expression) =>
251
- ts.factory.createTemplateExpression(ts.factory.createTemplateHead("", ""), [
252
- ts.factory.createTemplateSpan(
253
- ts.factory.createConditionalExpression(
254
- ts.factory.createCallExpression(
255
- ts.factory.createPropertyAccessExpression(
256
- ts.factory.createPropertyAccessExpression(
257
- ts.factory.createIdentifier("connection"),
258
- ts.factory.createIdentifier("host"),
268
+ const joinPath = (caller: Node) =>
269
+ TypeScriptFactory.createTemplateExpression(
270
+ TypeScriptFactory.createTemplateHead("", ""),
271
+ [
272
+ TypeScriptFactory.createTemplateSpan(
273
+ TypeScriptFactory.createConditionalExpression(
274
+ TypeScriptFactory.createCallExpression(
275
+ TypeScriptFactory.createPropertyAccessExpression(
276
+ TypeScriptFactory.createPropertyAccessExpression(
277
+ TypeScriptFactory.createIdentifier("connection"),
278
+ TypeScriptFactory.createIdentifier("host"),
279
+ ),
280
+ TypeScriptFactory.createIdentifier("endsWith"),
259
281
  ),
260
- ts.factory.createIdentifier("endsWith"),
282
+ undefined,
283
+ [TypeScriptFactory.createStringLiteral("/")],
261
284
  ),
262
- undefined,
263
- [ts.factory.createStringLiteral("/")],
264
- ),
265
- ts.factory.createToken(ts.SyntaxKind.QuestionToken),
266
- ts.factory.createCallExpression(
267
- ts.factory.createPropertyAccessExpression(
268
- ts.factory.createPropertyAccessExpression(
269
- ts.factory.createIdentifier("connection"),
270
- ts.factory.createIdentifier("host"),
285
+ TypeScriptFactory.createToken(SyntaxKind.QuestionToken),
286
+ TypeScriptFactory.createCallExpression(
287
+ TypeScriptFactory.createPropertyAccessExpression(
288
+ TypeScriptFactory.createPropertyAccessExpression(
289
+ TypeScriptFactory.createIdentifier("connection"),
290
+ TypeScriptFactory.createIdentifier("host"),
291
+ ),
292
+ TypeScriptFactory.createIdentifier("substring"),
271
293
  ),
272
- ts.factory.createIdentifier("substring"),
273
- ),
274
- undefined,
275
- [
276
- ts.factory.createNumericLiteral("0"),
277
- ts.factory.createBinaryExpression(
278
- ts.factory.createPropertyAccessExpression(
279
- ts.factory.createPropertyAccessExpression(
280
- ts.factory.createIdentifier("connection"),
281
- ts.factory.createIdentifier("host"),
294
+ undefined,
295
+ [
296
+ TypeScriptFactory.createNumericLiteral("0"),
297
+ TypeScriptFactory.createBinaryExpression(
298
+ TypeScriptFactory.createPropertyAccessExpression(
299
+ TypeScriptFactory.createPropertyAccessExpression(
300
+ TypeScriptFactory.createIdentifier("connection"),
301
+ TypeScriptFactory.createIdentifier("host"),
302
+ ),
303
+ TypeScriptFactory.createIdentifier("length"),
282
304
  ),
283
- ts.factory.createIdentifier("length"),
305
+ TypeScriptFactory.createToken(SyntaxKind.MinusToken),
306
+ TypeScriptFactory.createNumericLiteral("1"),
284
307
  ),
285
- ts.factory.createToken(ts.SyntaxKind.MinusToken),
286
- ts.factory.createNumericLiteral("1"),
287
- ),
288
- ],
289
- ),
290
- ts.factory.createToken(ts.SyntaxKind.ColonToken),
291
- ts.factory.createPropertyAccessExpression(
292
- ts.factory.createIdentifier("connection"),
293
- ts.factory.createIdentifier("host"),
308
+ ],
309
+ ),
310
+ TypeScriptFactory.createToken(SyntaxKind.ColonToken),
311
+ TypeScriptFactory.createPropertyAccessExpression(
312
+ TypeScriptFactory.createIdentifier("connection"),
313
+ TypeScriptFactory.createIdentifier("host"),
314
+ ),
294
315
  ),
316
+ TypeScriptFactory.createTemplateMiddle("", ""),
317
+ ),
318
+ TypeScriptFactory.createTemplateSpan(
319
+ caller,
320
+ TypeScriptFactory.createTemplateTail("", ""),
295
321
  ),
296
- ts.factory.createTemplateMiddle("", ""),
297
- ),
298
- ts.factory.createTemplateSpan(
299
- caller,
300
- ts.factory.createTemplateTail("", ""),
301
- ),
302
- ]);
322
+ ],
323
+ );
@@ -1,4 +1,4 @@
1
- import { MetadataSchema } from "@typia/core";
1
+ import { MetadataSchema } from "../../internal/legacy";
2
2
  import { OpenApi } from "@typia/interface";
3
3
 
4
4
  import { INestiaConfig } from "../../INestiaConfig";
@@ -1,4 +1,4 @@
1
- import { JsonSchemasProgrammer } from "@typia/core";
1
+ import { JsonSchemasProgrammer, MetadataObjectType } from "../../internal/legacy";
2
2
  import { OpenApi } from "@typia/interface";
3
3
  import { VariadicSingleton } from "tstl";
4
4
  import { IJsDocTagInfo, IJsonSchemaCollection } from "typia";
@@ -31,6 +31,7 @@ export namespace SwaggerOperationParameterComposer {
31
31
  props: Omit<IProps<ITypedHttpRouteParameter.IBody>, "config" | "document">,
32
32
  ): OpenApi.IOperation.IRequestBody => {
33
33
  const description: string | undefined =
34
+ props.parameter.description ??
34
35
  SwaggerDescriptionComposer.descriptionFromJsDocTag({
35
36
  jsDocTags: props.jsDocTags,
36
37
  tag: "param",
@@ -47,28 +48,28 @@ export namespace SwaggerOperationParameterComposer {
47
48
  examples: props.parameter.examples,
48
49
  },
49
50
  },
50
- required: props.parameter.metadata.isRequired(),
51
+ required: props.parameter.metadata.required,
51
52
  ...(props.parameter.encrypted ? { "x-nestia-encrypted": true } : {}),
52
53
  };
53
54
  };
54
55
 
55
- export const path = (
56
+ const path = (
56
57
  props: Omit<IProps<ITypedHttpRouteParameter.IPath>, "config" | "document">,
57
58
  ): OpenApi.IOperation.IParameter => ({
58
59
  name: props.parameter.field,
59
60
  in: "path",
60
61
  schema: props.schema,
61
- required: props.parameter.metadata.isRequired(),
62
+ required: props.parameter.metadata.required,
62
63
  description: parameterDescription(props),
63
64
  example: props.parameter.example,
64
65
  examples: props.parameter.examples,
65
66
  });
66
67
 
67
- export const query = (
68
+ const query = (
68
69
  props: IProps<ITypedHttpRouteParameter.IQuery>,
69
70
  ): OpenApi.IOperation.IParameter[] => decomposible(props);
70
71
 
71
- export const header = (
72
+ const header = (
72
73
  props: IProps<ITypedHttpRouteParameter.IHeaders>,
73
74
  ): OpenApi.IOperation.IParameter[] => decomposible(props);
74
75
 
@@ -102,7 +103,7 @@ export namespace SwaggerOperationParameterComposer {
102
103
  in: props.parameter.category === "query" ? "query" : "header",
103
104
  schema: props.schema,
104
105
  description: parameterDescription(props),
105
- required: props.parameter.metadata.isRequired(),
106
+ required: props.parameter.metadata.required,
106
107
  example: props.parameter.example,
107
108
  examples: props.parameter.examples,
108
109
  };
@@ -111,7 +112,7 @@ export namespace SwaggerOperationParameterComposer {
111
112
  props.parameter.metadata.objects.length === 0
112
113
  )
113
114
  return [param];
114
- return props.parameter.metadata.objects[0]!.type.properties.filter((p) =>
115
+ return (props.parameter.metadata.objects[0]!.type as MetadataObjectType).properties.filter((p) =>
115
116
  p.jsDocTags.every(
116
117
  (tag) => tag.name !== "hidden" && tag.name !== "ignore",
117
118
  ),
@@ -132,7 +133,7 @@ export namespace SwaggerOperationParameterComposer {
132
133
  name: p.key.constants[0]!.values[0]!.value as string,
133
134
  in: props.parameter.category === "query" ? "query" : "header",
134
135
  schema: json.schemas[0]!,
135
- required: p.value.isRequired(),
136
+ required: p.value.required,
136
137
  description: SwaggerDescriptionComposer.compose({
137
138
  description: p.description ?? null,
138
139
  jsDocTags: p.jsDocTags,
@@ -1,4 +1,4 @@
1
- import { MetadataSchema } from "@typia/core";
1
+ import { MetadataSchema } from "../../internal/legacy";
2
2
  import { OpenApi } from "@typia/interface";
3
3
  import { VariadicSingleton } from "tstl";
4
4