@nestia/sdk 11.2.1 → 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 -793
  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 -53
  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 { ExpressionFactory, IdentifierFactory, TypeFactory } from "@typia/core";
2
- import ts from "typescript";
1
+ import { Node, NodeFlags, SyntaxKind, TypeScriptFactory } from "@nestia/factory";
2
+ import { ExpressionFactory, IdentifierFactory, TypeFactory } from "@nestia/factory";
3
3
 
4
4
  import { INestiaProject } from "../../structures/INestiaProject";
5
5
  import { ITypedWebSocketRoute } from "../../structures/ITypedWebSocketRoute";
@@ -12,27 +12,27 @@ export namespace SdkWebSocketNamespaceProgrammer {
12
12
  export const write =
13
13
  (project: INestiaProject) =>
14
14
  (importer: ImportDictionary) =>
15
- (route: ITypedWebSocketRoute): ts.ModuleDeclaration =>
16
- ts.factory.createModuleDeclaration(
17
- [ts.factory.createToken(ts.SyntaxKind.ExportKeyword)],
18
- ts.factory.createIdentifier(route.name),
19
- ts.factory.createModuleBlock([
15
+ (route: ITypedWebSocketRoute): Node =>
16
+ TypeScriptFactory.createModuleDeclaration(
17
+ [TypeScriptFactory.createToken(SyntaxKind.ExportKeyword)],
18
+ TypeScriptFactory.createIdentifier(route.name),
19
+ TypeScriptFactory.createModuleBlock([
20
20
  ...writeTypes(project)(importer)(route),
21
21
  FilePrinter.enter(),
22
22
  writePath(project)(route),
23
23
  ]),
24
- ts.NodeFlags.Namespace,
24
+ NodeFlags.Namespace,
25
25
  );
26
26
 
27
27
  const writeTypes =
28
28
  (project: INestiaProject) =>
29
29
  (importer: ImportDictionary) =>
30
- (route: ITypedWebSocketRoute): ts.TypeAliasDeclaration[] => {
31
- const output: ts.TypeAliasDeclaration[] = [];
32
- const declare = (name: string, type: ts.TypeNode) =>
30
+ (route: ITypedWebSocketRoute): Node[] => {
31
+ const output: Node[] = [];
32
+ const declare = (name: string, type: Node) =>
33
33
  output.push(
34
- ts.factory.createTypeAliasDeclaration(
35
- [ts.factory.createModifier(ts.SyntaxKind.ExportKeyword)],
34
+ TypeScriptFactory.createTypeAliasDeclaration(
35
+ [TypeScriptFactory.createModifier(SyntaxKind.ExportKeyword)],
36
36
  name,
37
37
  undefined,
38
38
  type,
@@ -43,12 +43,12 @@ export namespace SdkWebSocketNamespaceProgrammer {
43
43
  declare("Props", SdkAliasCollection.websocketProps(route));
44
44
  declare(
45
45
  "Output",
46
- ts.factory.createTypeLiteralNode([
47
- ts.factory.createPropertySignature(
46
+ TypeScriptFactory.createTypeLiteralNode([
47
+ TypeScriptFactory.createPropertySignature(
48
48
  undefined,
49
49
  "connector",
50
50
  undefined,
51
- ts.factory.createTypeReferenceNode(
51
+ TypeScriptFactory.createTypeReferenceNode(
52
52
  importer.external({
53
53
  declaration: false,
54
54
  file: "tgrid",
@@ -56,36 +56,40 @@ export namespace SdkWebSocketNamespaceProgrammer {
56
56
  name: "WebSocketConnector",
57
57
  }),
58
58
  [
59
- ts.factory.createTypeReferenceNode("Header"),
60
- ts.factory.createTypeReferenceNode("Provider"),
61
- ts.factory.createTypeReferenceNode("Listener"),
59
+ TypeScriptFactory.createTypeReferenceNode("Header"),
60
+ TypeScriptFactory.createTypeReferenceNode("Provider"),
61
+ TypeScriptFactory.createTypeReferenceNode("Listener"),
62
62
  ],
63
63
  ),
64
64
  ),
65
- ts.factory.createPropertySignature(
65
+ TypeScriptFactory.createPropertySignature(
66
66
  undefined,
67
67
  "driver",
68
68
  undefined,
69
- ts.factory.createTypeReferenceNode(
69
+ TypeScriptFactory.createTypeReferenceNode(
70
70
  importer.external({
71
71
  declaration: true,
72
72
  file: "tgrid",
73
73
  type: "element",
74
74
  name: "Driver",
75
75
  }),
76
- [ts.factory.createTypeReferenceNode("Listener")],
76
+ [TypeScriptFactory.createTypeReferenceNode("Listener")],
77
77
  ),
78
78
  ),
79
- ts.factory.createPropertySignature(
79
+ TypeScriptFactory.createPropertySignature(
80
80
  undefined,
81
81
  "reconnect",
82
82
  undefined,
83
- ts.factory.createFunctionTypeNode(
83
+ TypeScriptFactory.createFunctionTypeNode(
84
84
  undefined,
85
85
  [],
86
- ts.factory.createTypeReferenceNode(
87
- ts.factory.createIdentifier("Promise"),
88
- [ts.factory.createKeywordTypeNode(ts.SyntaxKind.VoidKeyword)],
86
+ TypeScriptFactory.createTypeReferenceNode(
87
+ TypeScriptFactory.createIdentifier("Promise"),
88
+ [
89
+ TypeScriptFactory.createKeywordTypeNode(
90
+ SyntaxKind.VoidKeyword,
91
+ ),
92
+ ],
89
93
  ),
90
94
  ),
91
95
  ),
@@ -118,10 +122,10 @@ export namespace SdkWebSocketNamespaceProgrammer {
118
122
 
119
123
  const writePath =
120
124
  (project: INestiaProject) =>
121
- (route: ITypedWebSocketRoute): ts.VariableStatement => {
122
- const out = (body: ts.ConciseBody) =>
125
+ (route: ITypedWebSocketRoute): Node => {
126
+ const out = (body: Node) =>
123
127
  constant("path")(
124
- ts.factory.createArrowFunction(
128
+ TypeScriptFactory.createArrowFunction(
125
129
  [],
126
130
  [],
127
131
  SdkWebSocketParameterProgrammer.getParameterDeclarations({
@@ -136,57 +140,63 @@ export namespace SdkWebSocketNamespaceProgrammer {
136
140
  ),
137
141
  );
138
142
  if (route.pathParameters.length === 0 && route.query === null)
139
- return out(ts.factory.createStringLiteral(route.path));
143
+ return out(TypeScriptFactory.createStringLiteral(route.path));
140
144
 
141
145
  const access = (key: string) =>
142
146
  project.config.keyword === true
143
- ? ts.factory.createPropertyAccessExpression(
144
- ts.factory.createIdentifier("props"),
147
+ ? TypeScriptFactory.createPropertyAccessExpression(
148
+ TypeScriptFactory.createIdentifier("props"),
145
149
  key,
146
150
  )
147
- : ts.factory.createIdentifier(key);
151
+ : TypeScriptFactory.createIdentifier(key);
148
152
  const template = () => {
149
153
  const split: string[] = route.path.split(":");
150
154
  if (split.length === 1)
151
- return ts.factory.createStringLiteral(route.path);
152
- return ts.factory.createTemplateExpression(
153
- ts.factory.createTemplateHead(split[0]!),
155
+ return TypeScriptFactory.createStringLiteral(route.path);
156
+ return TypeScriptFactory.createTemplateExpression(
157
+ TypeScriptFactory.createTemplateHead(split[0]!),
154
158
  split.slice(1).map((s, i, arr) => {
155
159
  const name: string = s.split("/")[0]!;
156
- return ts.factory.createTemplateSpan(
157
- ts.factory.createCallExpression(
158
- ts.factory.createIdentifier("encodeURIComponent"),
160
+ return TypeScriptFactory.createTemplateSpan(
161
+ TypeScriptFactory.createCallExpression(
162
+ TypeScriptFactory.createIdentifier("encodeURIComponent"),
159
163
  undefined,
160
164
  [
161
- ts.factory.createBinaryExpression(
162
- ts.factory.createCallChain(
163
- ts.factory.createPropertyAccessChain(
165
+ TypeScriptFactory.createBinaryExpression(
166
+ TypeScriptFactory.createCallChain(
167
+ TypeScriptFactory.createPropertyAccessChain(
164
168
  access(
165
169
  route.pathParameters.find((p) => p.field === name)!
166
170
  .name,
167
171
  ),
168
- ts.factory.createToken(ts.SyntaxKind.QuestionDotToken),
172
+ TypeScriptFactory.createToken(
173
+ SyntaxKind.QuestionDotToken,
174
+ ),
169
175
  "toString",
170
176
  ),
171
177
  undefined,
172
178
  undefined,
173
179
  [],
174
180
  ),
175
- ts.factory.createToken(ts.SyntaxKind.QuestionQuestionToken),
176
- ts.factory.createStringLiteral("null"),
181
+ TypeScriptFactory.createToken(
182
+ SyntaxKind.QuestionQuestionToken,
183
+ ),
184
+ TypeScriptFactory.createStringLiteral("null"),
177
185
  ),
178
186
  ],
179
187
  ),
180
188
  (i !== arr.length - 1
181
- ? ts.factory.createTemplateMiddle
182
- : ts.factory.createTemplateTail)(s.substring(name.length)),
189
+ ? TypeScriptFactory.createTemplateMiddle
190
+ : TypeScriptFactory.createTemplateTail)(
191
+ s.substring(name.length),
192
+ ),
183
193
  );
184
194
  }),
185
195
  );
186
196
  };
187
197
  if (route.query === null) return out(template());
188
198
 
189
- const block = (expr: ts.Expression) => {
199
+ const block = (expr: Node) => {
190
200
  const computeName = (str: string): string =>
191
201
  [...route.pathParameters, ...(route.query ? [route.query] : [])].find(
192
202
  (p) => p.name === str,
@@ -194,31 +204,31 @@ export namespace SdkWebSocketNamespaceProgrammer {
194
204
  ? computeName("_" + str)
195
205
  : str;
196
206
  const variables: string = computeName("variables");
197
- return ts.factory.createBlock(
207
+ return TypeScriptFactory.createBlock(
198
208
  [
199
209
  local(variables)("URLSearchParams")(
200
- ts.factory.createNewExpression(
201
- ts.factory.createIdentifier("URLSearchParams"),
210
+ TypeScriptFactory.createNewExpression(
211
+ TypeScriptFactory.createIdentifier("URLSearchParams"),
202
212
  [],
203
213
  [],
204
214
  ),
205
215
  ),
206
- ts.factory.createForOfStatement(
216
+ TypeScriptFactory.createForOfStatement(
207
217
  undefined,
208
- ts.factory.createVariableDeclarationList(
218
+ TypeScriptFactory.createVariableDeclarationList(
209
219
  [
210
- ts.factory.createVariableDeclaration(
211
- ts.factory.createArrayBindingPattern([
212
- ts.factory.createBindingElement(
220
+ TypeScriptFactory.createVariableDeclaration(
221
+ TypeScriptFactory.createArrayBindingPattern([
222
+ TypeScriptFactory.createBindingElement(
213
223
  undefined,
214
224
  undefined,
215
- ts.factory.createIdentifier("key"),
225
+ TypeScriptFactory.createIdentifier("key"),
216
226
  undefined,
217
227
  ),
218
- ts.factory.createBindingElement(
228
+ TypeScriptFactory.createBindingElement(
219
229
  undefined,
220
230
  undefined,
221
- ts.factory.createIdentifier("value"),
231
+ TypeScriptFactory.createIdentifier("value"),
222
232
  undefined,
223
233
  ),
224
234
  ]),
@@ -227,56 +237,56 @@ export namespace SdkWebSocketNamespaceProgrammer {
227
237
  undefined,
228
238
  ),
229
239
  ],
230
- ts.NodeFlags.Const,
240
+ NodeFlags.Const,
231
241
  ),
232
- ts.factory.createCallExpression(
233
- ts.factory.createIdentifier("Object.entries"),
242
+ TypeScriptFactory.createCallExpression(
243
+ TypeScriptFactory.createIdentifier("Object.entries"),
234
244
  undefined,
235
245
  [
236
- ts.factory.createAsExpression(
246
+ TypeScriptFactory.createAsExpression(
237
247
  expr,
238
248
  TypeFactory.keyword("any"),
239
249
  ),
240
250
  ],
241
251
  ),
242
- ts.factory.createIfStatement(
243
- ts.factory.createStrictEquality(
244
- ts.factory.createIdentifier("undefined"),
245
- ts.factory.createIdentifier("value"),
252
+ TypeScriptFactory.createIfStatement(
253
+ TypeScriptFactory.createStrictEquality(
254
+ TypeScriptFactory.createIdentifier("undefined"),
255
+ TypeScriptFactory.createIdentifier("value"),
246
256
  ),
247
- ts.factory.createContinueStatement(),
248
- ts.factory.createIfStatement(
249
- ts.factory.createCallExpression(
250
- ts.factory.createIdentifier("Array.isArray"),
257
+ TypeScriptFactory.createContinueStatement(),
258
+ TypeScriptFactory.createIfStatement(
259
+ TypeScriptFactory.createCallExpression(
260
+ TypeScriptFactory.createIdentifier("Array.isArray"),
251
261
  undefined,
252
- [ts.factory.createIdentifier("value")],
262
+ [TypeScriptFactory.createIdentifier("value")],
253
263
  ),
254
- ts.factory.createExpressionStatement(
255
- ts.factory.createCallExpression(
256
- ts.factory.createPropertyAccessExpression(
257
- ts.factory.createIdentifier("value"),
258
- ts.factory.createIdentifier("forEach"),
264
+ TypeScriptFactory.createExpressionStatement(
265
+ TypeScriptFactory.createCallExpression(
266
+ TypeScriptFactory.createPropertyAccessExpression(
267
+ TypeScriptFactory.createIdentifier("value"),
268
+ TypeScriptFactory.createIdentifier("forEach"),
259
269
  ),
260
270
  undefined,
261
271
  [
262
- ts.factory.createArrowFunction(
272
+ TypeScriptFactory.createArrowFunction(
263
273
  undefined,
264
274
  undefined,
265
275
  [IdentifierFactory.parameter("elem")],
266
276
  undefined,
267
277
  undefined,
268
- ts.factory.createCallExpression(
278
+ TypeScriptFactory.createCallExpression(
269
279
  IdentifierFactory.access(
270
- ts.factory.createIdentifier(variables),
280
+ TypeScriptFactory.createIdentifier(variables),
271
281
  "append",
272
282
  ),
273
283
  undefined,
274
284
  [
275
- ts.factory.createIdentifier("key"),
276
- ts.factory.createCallExpression(
277
- ts.factory.createIdentifier("String"),
285
+ TypeScriptFactory.createIdentifier("key"),
286
+ TypeScriptFactory.createCallExpression(
287
+ TypeScriptFactory.createIdentifier("String"),
278
288
  undefined,
279
- [ts.factory.createIdentifier("elem")],
289
+ [TypeScriptFactory.createIdentifier("elem")],
280
290
  ),
281
291
  ],
282
292
  ),
@@ -284,19 +294,19 @@ export namespace SdkWebSocketNamespaceProgrammer {
284
294
  ],
285
295
  ),
286
296
  ),
287
- ts.factory.createExpressionStatement(
288
- ts.factory.createCallExpression(
297
+ TypeScriptFactory.createExpressionStatement(
298
+ TypeScriptFactory.createCallExpression(
289
299
  IdentifierFactory.access(
290
- ts.factory.createIdentifier(variables),
300
+ TypeScriptFactory.createIdentifier(variables),
291
301
  "set",
292
302
  ),
293
303
  undefined,
294
304
  [
295
- ts.factory.createIdentifier("key"),
296
- ts.factory.createCallExpression(
297
- ts.factory.createIdentifier("String"),
305
+ TypeScriptFactory.createIdentifier("key"),
306
+ TypeScriptFactory.createCallExpression(
307
+ TypeScriptFactory.createIdentifier("String"),
298
308
  undefined,
299
- [ts.factory.createIdentifier("value")],
309
+ [TypeScriptFactory.createIdentifier("value")],
300
310
  ),
301
311
  ],
302
312
  ),
@@ -305,35 +315,35 @@ export namespace SdkWebSocketNamespaceProgrammer {
305
315
  ),
306
316
  ),
307
317
  local("location")("string")(template()),
308
- ts.factory.createReturnStatement(
309
- ts.factory.createConditionalExpression(
310
- ts.factory.createStrictEquality(
318
+ TypeScriptFactory.createReturnStatement(
319
+ TypeScriptFactory.createConditionalExpression(
320
+ TypeScriptFactory.createStrictEquality(
311
321
  ExpressionFactory.number(0),
312
322
  IdentifierFactory.access(
313
- ts.factory.createIdentifier(variables),
323
+ TypeScriptFactory.createIdentifier(variables),
314
324
  "size",
315
325
  ),
316
326
  ),
317
327
  undefined,
318
- ts.factory.createIdentifier("location"),
328
+ TypeScriptFactory.createIdentifier("location"),
319
329
  undefined,
320
- ts.factory.createTemplateExpression(
321
- ts.factory.createTemplateHead(""),
330
+ TypeScriptFactory.createTemplateExpression(
331
+ TypeScriptFactory.createTemplateHead(""),
322
332
  [
323
- ts.factory.createTemplateSpan(
324
- ts.factory.createIdentifier("location"),
325
- ts.factory.createTemplateMiddle("?"),
333
+ TypeScriptFactory.createTemplateSpan(
334
+ TypeScriptFactory.createIdentifier("location"),
335
+ TypeScriptFactory.createTemplateMiddle("?"),
326
336
  ),
327
- ts.factory.createTemplateSpan(
328
- ts.factory.createCallExpression(
337
+ TypeScriptFactory.createTemplateSpan(
338
+ TypeScriptFactory.createCallExpression(
329
339
  IdentifierFactory.access(
330
- ts.factory.createIdentifier(variables),
340
+ TypeScriptFactory.createIdentifier(variables),
331
341
  "toString",
332
342
  ),
333
343
  undefined,
334
344
  undefined,
335
345
  ),
336
- ts.factory.createTemplateTail(""),
346
+ TypeScriptFactory.createTemplateTail(""),
337
347
  ),
338
348
  ],
339
349
  ),
@@ -347,33 +357,33 @@ export namespace SdkWebSocketNamespaceProgrammer {
347
357
  };
348
358
  }
349
359
 
350
- const local = (name: string) => (type: string) => (expression: ts.Expression) =>
351
- ts.factory.createVariableStatement(
360
+ const local = (name: string) => (type: string) => (expression: Node) =>
361
+ TypeScriptFactory.createVariableStatement(
352
362
  [],
353
- ts.factory.createVariableDeclarationList(
363
+ TypeScriptFactory.createVariableDeclarationList(
354
364
  [
355
- ts.factory.createVariableDeclaration(
365
+ TypeScriptFactory.createVariableDeclaration(
356
366
  name,
357
367
  undefined,
358
- ts.factory.createTypeReferenceNode(type),
368
+ TypeScriptFactory.createTypeReferenceNode(type),
359
369
  expression,
360
370
  ),
361
371
  ],
362
- ts.NodeFlags.Const,
372
+ NodeFlags.Const,
363
373
  ),
364
374
  );
365
- const constant = (name: string) => (expression: ts.Expression) =>
366
- ts.factory.createVariableStatement(
367
- [ts.factory.createModifier(ts.SyntaxKind.ExportKeyword)],
368
- ts.factory.createVariableDeclarationList(
375
+ const constant = (name: string) => (expression: Node) =>
376
+ TypeScriptFactory.createVariableStatement(
377
+ [TypeScriptFactory.createModifier(SyntaxKind.ExportKeyword)],
378
+ TypeScriptFactory.createVariableDeclarationList(
369
379
  [
370
- ts.factory.createVariableDeclaration(
380
+ TypeScriptFactory.createVariableDeclaration(
371
381
  name,
372
382
  undefined,
373
383
  undefined,
374
384
  expression,
375
385
  ),
376
386
  ],
377
- ts.NodeFlags.Const,
387
+ NodeFlags.Const,
378
388
  ),
379
389
  );
@@ -1,4 +1,4 @@
1
- import ts from "typescript";
1
+ import { Node, TypeScriptFactory } from "@nestia/factory";
2
2
 
3
3
  import { INestiaProject } from "../../structures/INestiaProject";
4
4
  import { ITypedWebSocketRoute } from "../../structures/ITypedWebSocketRoute";
@@ -7,7 +7,7 @@ import { SdkAliasCollection } from "./SdkAliasCollection";
7
7
  export namespace SdkWebSocketParameterProgrammer {
8
8
  export interface IEntry {
9
9
  key: string;
10
- type: ts.TypeNode;
10
+ type: Node;
11
11
  }
12
12
 
13
13
  export const getEntries = (props: {
@@ -26,7 +26,7 @@ export namespace SdkWebSocketParameterProgrammer {
26
26
  ? [
27
27
  {
28
28
  key: "query",
29
- type: ts.factory.createTypeReferenceNode(`${prefix}Query`),
29
+ type: TypeScriptFactory.createTypeReferenceNode(`${prefix}Query`),
30
30
  },
31
31
  ]
32
32
  : []),
@@ -34,7 +34,9 @@ export namespace SdkWebSocketParameterProgrammer {
34
34
  ? [
35
35
  {
36
36
  key: "provider",
37
- type: ts.factory.createTypeReferenceNode(`${prefix}Provider`),
37
+ type: TypeScriptFactory.createTypeReferenceNode(
38
+ `${prefix}Provider`,
39
+ ),
38
40
  },
39
41
  ]
40
42
  : []),
@@ -46,23 +48,23 @@ export namespace SdkWebSocketParameterProgrammer {
46
48
  route: ITypedWebSocketRoute;
47
49
  provider: boolean;
48
50
  prefix: boolean;
49
- }): ts.ParameterDeclaration[] => {
51
+ }): Node[] => {
50
52
  const entries: IEntry[] = getEntries(props);
51
53
  if (entries.length === 0) return [];
52
54
  else if (props.project.config.keyword === true) {
53
55
  const typeName: string = props.prefix
54
56
  ? `${props.route.name}.Props`
55
57
  : "Props";
56
- const node: ts.TypeNode = props.provider
57
- ? ts.factory.createTypeReferenceNode(typeName)
58
- : ts.factory.createTypeReferenceNode("Omit", [
59
- ts.factory.createTypeReferenceNode(typeName),
60
- ts.factory.createLiteralTypeNode(
61
- ts.factory.createStringLiteral("provider"),
58
+ const node: Node = props.provider
59
+ ? TypeScriptFactory.createTypeReferenceNode(typeName)
60
+ : TypeScriptFactory.createTypeReferenceNode("Omit", [
61
+ TypeScriptFactory.createTypeReferenceNode(typeName),
62
+ TypeScriptFactory.createLiteralTypeNode(
63
+ TypeScriptFactory.createStringLiteral("provider"),
62
64
  ),
63
65
  ]);
64
66
  return [
65
- ts.factory.createParameterDeclaration(
67
+ TypeScriptFactory.createParameterDeclaration(
66
68
  undefined,
67
69
  undefined,
68
70
  "props",
@@ -72,7 +74,7 @@ export namespace SdkWebSocketParameterProgrammer {
72
74
  ];
73
75
  }
74
76
  return entries.map((entry) =>
75
- ts.factory.createParameterDeclaration(
77
+ TypeScriptFactory.createParameterDeclaration(
76
78
  undefined,
77
79
  undefined,
78
80
  entry.key,