@nestia/sdk 14.0.0 → 14.0.2

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 (391) hide show
  1. package/README.md +1 -1
  2. package/assets/bundle/distribute/build-sdk.cjs +28 -0
  3. package/assets/bundle/distribute/package.json +7 -3
  4. package/assets/bundle/distribute/tsconfig.json +15 -105
  5. package/lib/INestiaConfig.d.ts +74 -34
  6. package/lib/NestiaSdkApplication.d.ts +60 -0
  7. package/lib/NestiaSdkApplication.js +121 -32
  8. package/lib/NestiaSdkApplication.js.map +1 -1
  9. package/lib/NestiaSwaggerComposer.d.ts +21 -0
  10. package/lib/NestiaSwaggerComposer.js +32 -13
  11. package/lib/NestiaSwaggerComposer.js.map +1 -1
  12. package/lib/analyses/AccessorAnalyzer.d.ts +26 -0
  13. package/lib/analyses/AccessorAnalyzer.js +26 -0
  14. package/lib/analyses/AccessorAnalyzer.js.map +1 -1
  15. package/lib/analyses/ConfigAnalyzer.d.ts +41 -0
  16. package/lib/analyses/ConfigAnalyzer.js +52 -77
  17. package/lib/analyses/ConfigAnalyzer.js.map +1 -1
  18. package/lib/analyses/ImportAnalyzer.d.ts +25 -0
  19. package/lib/analyses/ImportAnalyzer.js +25 -0
  20. package/lib/analyses/ImportAnalyzer.js.map +1 -1
  21. package/lib/analyses/ParameterNameAnalyzer.d.ts +44 -0
  22. package/lib/analyses/ParameterNameAnalyzer.js +63 -0
  23. package/lib/analyses/ParameterNameAnalyzer.js.map +1 -0
  24. package/lib/analyses/PathAnalyzer.d.ts +93 -1
  25. package/lib/analyses/PathAnalyzer.js +160 -23
  26. package/lib/analyses/PathAnalyzer.js.map +1 -1
  27. package/lib/analyses/ReflectControllerAnalyzer.d.ts +32 -0
  28. package/lib/analyses/ReflectControllerAnalyzer.js +24 -1
  29. package/lib/analyses/ReflectControllerAnalyzer.js.map +1 -1
  30. package/lib/analyses/ReflectHttpOperationAnalyzer.d.ts +29 -0
  31. package/lib/analyses/ReflectHttpOperationAnalyzer.js +35 -24
  32. package/lib/analyses/ReflectHttpOperationAnalyzer.js.map +1 -1
  33. package/lib/analyses/ReflectHttpOperationExceptionAnalyzer.d.ts +31 -0
  34. package/lib/analyses/ReflectHttpOperationExceptionAnalyzer.js +21 -0
  35. package/lib/analyses/ReflectHttpOperationExceptionAnalyzer.js.map +1 -1
  36. package/lib/analyses/ReflectHttpOperationParameterAnalyzer.d.ts +31 -0
  37. package/lib/analyses/ReflectHttpOperationParameterAnalyzer.js +143 -23
  38. package/lib/analyses/ReflectHttpOperationParameterAnalyzer.js.map +1 -1
  39. package/lib/analyses/ReflectHttpOperationResponseAnalyzer.d.ts +32 -0
  40. package/lib/analyses/ReflectHttpOperationResponseAnalyzer.js +27 -2
  41. package/lib/analyses/ReflectHttpOperationResponseAnalyzer.js.map +1 -1
  42. package/lib/analyses/ReflectMcpOperationAnalyzer.d.ts +29 -0
  43. package/lib/analyses/ReflectMcpOperationAnalyzer.js +35 -11
  44. package/lib/analyses/ReflectMcpOperationAnalyzer.js.map +1 -1
  45. package/lib/analyses/ReflectMetadataAnalyzer.d.ts +47 -0
  46. package/lib/analyses/ReflectMetadataAnalyzer.js +47 -0
  47. package/lib/analyses/ReflectMetadataAnalyzer.js.map +1 -1
  48. package/lib/analyses/ReflectWebSocketOperationAnalyzer.d.ts +29 -0
  49. package/lib/analyses/ReflectWebSocketOperationAnalyzer.js +27 -5
  50. package/lib/analyses/ReflectWebSocketOperationAnalyzer.js.map +1 -1
  51. package/lib/analyses/SecurityAnalyzer.d.ts +25 -0
  52. package/lib/analyses/SecurityAnalyzer.js +39 -19
  53. package/lib/analyses/SecurityAnalyzer.js.map +1 -1
  54. package/lib/analyses/SwaggerExampleAnalyzer.d.ts +31 -0
  55. package/lib/analyses/SwaggerExampleAnalyzer.js +36 -0
  56. package/lib/analyses/SwaggerExampleAnalyzer.js.map +1 -0
  57. package/lib/analyses/TypedHttpRouteAnalyzer.d.ts +41 -3
  58. package/lib/analyses/TypedHttpRouteAnalyzer.js +196 -172
  59. package/lib/analyses/TypedHttpRouteAnalyzer.js.map +1 -1
  60. package/lib/analyses/TypedMcpRouteAnalyzer.d.ts +29 -0
  61. package/lib/analyses/TypedMcpRouteAnalyzer.js +152 -20
  62. package/lib/analyses/TypedMcpRouteAnalyzer.js.map +1 -1
  63. package/lib/analyses/TypedWebSocketRouteAnalyzer.d.ts +19 -0
  64. package/lib/analyses/TypedWebSocketRouteAnalyzer.js +20 -1
  65. package/lib/analyses/TypedWebSocketRouteAnalyzer.js.map +1 -1
  66. package/lib/decorators/OperationMetadata.d.ts +6 -0
  67. package/lib/decorators/OperationMetadata.js +6 -0
  68. package/lib/decorators/OperationMetadata.js.map +1 -1
  69. package/lib/executable/internal/CommandParser.d.ts +19 -0
  70. package/lib/executable/internal/CommandParser.js +19 -0
  71. package/lib/executable/internal/CommandParser.js.map +1 -1
  72. package/lib/executable/internal/NestiaConfigLoader.d.ts +56 -0
  73. package/lib/executable/internal/NestiaConfigLoader.js +48 -42
  74. package/lib/executable/internal/NestiaConfigLoader.js.map +1 -1
  75. package/lib/executable/internal/NestiaSdkCommand.d.ts +60 -0
  76. package/lib/executable/internal/NestiaSdkCommand.js +95 -3
  77. package/lib/executable/internal/NestiaSdkCommand.js.map +1 -1
  78. package/lib/executable/internal/NestiaSdkWatcher.d.ts +81 -0
  79. package/lib/executable/internal/NestiaSdkWatcher.js +125 -41
  80. package/lib/executable/internal/NestiaSdkWatcher.js.map +1 -1
  81. package/lib/executable/internal/NestiaSwaggerWatch.d.ts +80 -0
  82. package/lib/executable/internal/NestiaSwaggerWatch.js +308 -0
  83. package/lib/executable/internal/NestiaSwaggerWatch.js.map +1 -0
  84. package/lib/executable/sdk.js +16 -1
  85. package/lib/executable/sdk.js.map +1 -1
  86. package/lib/factories/ExpressionFactory.d.ts +18 -0
  87. package/lib/factories/ExpressionFactory.js +21 -2
  88. package/lib/factories/ExpressionFactory.js.map +1 -1
  89. package/lib/factories/IdentifierFactory.d.ts +24 -0
  90. package/lib/factories/IdentifierFactory.js +24 -0
  91. package/lib/factories/IdentifierFactory.js.map +1 -1
  92. package/lib/factories/LiteralFactory.d.ts +22 -4
  93. package/lib/factories/LiteralFactory.js +33 -11
  94. package/lib/factories/LiteralFactory.js.map +1 -1
  95. package/lib/factories/StatementFactory.d.ts +28 -1
  96. package/lib/factories/StatementFactory.js +28 -1
  97. package/lib/factories/StatementFactory.js.map +1 -1
  98. package/lib/factories/TypeFactory.d.ts +24 -0
  99. package/lib/factories/TypeFactory.js +15 -0
  100. package/lib/factories/TypeFactory.js.map +1 -1
  101. package/lib/generates/CloneGenerator.d.ts +22 -0
  102. package/lib/generates/CloneGenerator.js +26 -5
  103. package/lib/generates/CloneGenerator.js.map +1 -1
  104. package/lib/generates/E2eGenerator.d.ts +19 -0
  105. package/lib/generates/E2eGenerator.js +19 -0
  106. package/lib/generates/E2eGenerator.js.map +1 -1
  107. package/lib/generates/SdkGenerator.d.ts +38 -0
  108. package/lib/generates/SdkGenerator.js +43 -5
  109. package/lib/generates/SdkGenerator.js.map +1 -1
  110. package/lib/generates/SwaggerGenerator.d.ts +36 -6
  111. package/lib/generates/SwaggerGenerator.js +190 -40
  112. package/lib/generates/SwaggerGenerator.js.map +1 -1
  113. package/lib/generates/internal/E2eFileProgrammer.d.ts +19 -0
  114. package/lib/generates/internal/E2eFileProgrammer.js +20 -1
  115. package/lib/generates/internal/E2eFileProgrammer.js.map +1 -1
  116. package/lib/generates/internal/FilePrinter.d.ts +57 -0
  117. package/lib/generates/internal/FilePrinter.js +74 -0
  118. package/lib/generates/internal/FilePrinter.js.map +1 -1
  119. package/lib/generates/internal/ImportDictionary.d.ts +93 -1
  120. package/lib/generates/internal/ImportDictionary.js +103 -2
  121. package/lib/generates/internal/ImportDictionary.js.map +1 -1
  122. package/lib/generates/internal/SdkAliasCollection.d.ts +121 -1
  123. package/lib/generates/internal/SdkAliasCollection.js +132 -11
  124. package/lib/generates/internal/SdkAliasCollection.js.map +1 -1
  125. package/lib/generates/internal/SdkDistributionComposer.d.ts +19 -0
  126. package/lib/generates/internal/SdkDistributionComposer.js +149 -52
  127. package/lib/generates/internal/SdkDistributionComposer.js.map +1 -1
  128. package/lib/generates/internal/SdkFileProgrammer.d.ts +18 -0
  129. package/lib/generates/internal/SdkFileProgrammer.js +101 -12
  130. package/lib/generates/internal/SdkFileProgrammer.js.map +1 -1
  131. package/lib/generates/internal/SdkHttpCloneProgrammer.d.ts +29 -0
  132. package/lib/generates/internal/SdkHttpCloneProgrammer.js +33 -0
  133. package/lib/generates/internal/SdkHttpCloneProgrammer.js.map +1 -1
  134. package/lib/generates/internal/SdkHttpCloneReferencer.d.ts +19 -0
  135. package/lib/generates/internal/SdkHttpCloneReferencer.js +78 -25
  136. package/lib/generates/internal/SdkHttpCloneReferencer.js.map +1 -1
  137. package/lib/generates/internal/SdkHttpFunctionProgrammer.d.ts +19 -0
  138. package/lib/generates/internal/SdkHttpFunctionProgrammer.js +40 -23
  139. package/lib/generates/internal/SdkHttpFunctionProgrammer.js.map +1 -1
  140. package/lib/generates/internal/SdkHttpNamespaceProgrammer.d.ts +19 -0
  141. package/lib/generates/internal/SdkHttpNamespaceProgrammer.js +46 -34
  142. package/lib/generates/internal/SdkHttpNamespaceProgrammer.js.map +1 -1
  143. package/lib/generates/internal/SdkHttpParameterProgrammer.d.ts +142 -1
  144. package/lib/generates/internal/SdkHttpParameterProgrammer.js +175 -6
  145. package/lib/generates/internal/SdkHttpParameterProgrammer.js.map +1 -1
  146. package/lib/generates/internal/SdkHttpRouteProgrammer.d.ts +20 -0
  147. package/lib/generates/internal/SdkHttpRouteProgrammer.js +36 -32
  148. package/lib/generates/internal/SdkHttpRouteProgrammer.js.map +1 -1
  149. package/lib/generates/internal/SdkHttpSimulationProgrammer.d.ts +38 -0
  150. package/lib/generates/internal/SdkHttpSimulationProgrammer.js +66 -18
  151. package/lib/generates/internal/SdkHttpSimulationProgrammer.js.map +1 -1
  152. package/lib/generates/internal/SdkImportWizard.d.ts +63 -0
  153. package/lib/generates/internal/SdkImportWizard.js +63 -0
  154. package/lib/generates/internal/SdkImportWizard.js.map +1 -1
  155. package/lib/generates/internal/SdkMcpRouteProgrammer.d.ts +17 -2
  156. package/lib/generates/internal/SdkMcpRouteProgrammer.js +72 -24
  157. package/lib/generates/internal/SdkMcpRouteProgrammer.js.map +1 -1
  158. package/lib/generates/internal/SdkPathTemplate.d.ts +36 -0
  159. package/lib/generates/internal/SdkPathTemplate.js +65 -0
  160. package/lib/generates/internal/SdkPathTemplate.js.map +1 -0
  161. package/lib/generates/internal/SdkRouteDirectory.d.ts +10 -0
  162. package/lib/generates/internal/SdkRouteDirectory.js +10 -0
  163. package/lib/generates/internal/SdkRouteDirectory.js.map +1 -1
  164. package/lib/generates/internal/SdkTypeProgrammer.d.ts +54 -1
  165. package/lib/generates/internal/SdkTypeProgrammer.js +111 -27
  166. package/lib/generates/internal/SdkTypeProgrammer.js.map +1 -1
  167. package/lib/generates/internal/SdkTypeTagProgrammer.d.ts +53 -1
  168. package/lib/generates/internal/SdkTypeTagProgrammer.js +407 -67
  169. package/lib/generates/internal/SdkTypeTagProgrammer.js.map +1 -1
  170. package/lib/generates/internal/SdkWebSocketCloneProgrammer.d.ts +40 -0
  171. package/lib/generates/internal/SdkWebSocketCloneProgrammer.js +149 -142
  172. package/lib/generates/internal/SdkWebSocketCloneProgrammer.js.map +1 -1
  173. package/lib/generates/internal/SdkWebSocketNamespaceProgrammer.d.ts +19 -0
  174. package/lib/generates/internal/SdkWebSocketNamespaceProgrammer.js +46 -36
  175. package/lib/generates/internal/SdkWebSocketNamespaceProgrammer.js.map +1 -1
  176. package/lib/generates/internal/SdkWebSocketParameterProgrammer.d.ts +114 -1
  177. package/lib/generates/internal/SdkWebSocketParameterProgrammer.js +120 -5
  178. package/lib/generates/internal/SdkWebSocketParameterProgrammer.js.map +1 -1
  179. package/lib/generates/internal/SdkWebSocketRouteProgrammer.d.ts +18 -0
  180. package/lib/generates/internal/SdkWebSocketRouteProgrammer.js +75 -33
  181. package/lib/generates/internal/SdkWebSocketRouteProgrammer.js.map +1 -1
  182. package/lib/generates/internal/SwaggerDescriptionComposer.d.ts +42 -0
  183. package/lib/generates/internal/SwaggerDescriptionComposer.js +44 -1
  184. package/lib/generates/internal/SwaggerDescriptionComposer.js.map +1 -1
  185. package/lib/generates/internal/SwaggerOperationComposer.d.ts +18 -0
  186. package/lib/generates/internal/SwaggerOperationComposer.js +37 -8
  187. package/lib/generates/internal/SwaggerOperationComposer.js.map +1 -1
  188. package/lib/generates/internal/SwaggerOperationParameterComposer.d.ts +40 -1
  189. package/lib/generates/internal/SwaggerOperationParameterComposer.js +230 -25
  190. package/lib/generates/internal/SwaggerOperationParameterComposer.js.map +1 -1
  191. package/lib/generates/internal/SwaggerOperationResponseComposer.d.ts +21 -0
  192. package/lib/generates/internal/SwaggerOperationResponseComposer.js +58 -7
  193. package/lib/generates/internal/SwaggerOperationResponseComposer.js.map +1 -1
  194. package/lib/internal/legacy.d.ts +342 -31
  195. package/lib/internal/legacy.js +207 -31
  196. package/lib/internal/legacy.js.map +1 -1
  197. package/lib/structures/INestiaProject.d.ts +10 -0
  198. package/lib/structures/INestiaSdkInput.d.ts +30 -0
  199. package/lib/structures/IOperationMetadata.d.ts +77 -0
  200. package/lib/structures/IReflectController.d.ts +10 -0
  201. package/lib/structures/IReflectHttpOperation.d.ts +10 -0
  202. package/lib/structures/IReflectHttpOperationException.d.ts +13 -2
  203. package/lib/structures/IReflectHttpOperationParameter.d.ts +55 -3
  204. package/lib/structures/IReflectHttpOperationSuccess.d.ts +15 -3
  205. package/lib/structures/IReflectImport.d.ts +10 -0
  206. package/lib/structures/IReflectMcpOperation.d.ts +19 -0
  207. package/lib/structures/IReflectMcpOperationParameter.d.ts +9 -0
  208. package/lib/structures/IReflectOperationError.d.ts +28 -0
  209. package/lib/structures/IReflectOperationError.js +22 -2
  210. package/lib/structures/IReflectOperationError.js.map +1 -1
  211. package/lib/structures/IReflectType.d.ts +9 -0
  212. package/lib/structures/IReflectWebSocketOperation.d.ts +10 -0
  213. package/lib/structures/IReflectWebSocketOperationParameter.d.ts +55 -0
  214. package/lib/structures/ITypedApplication.d.ts +10 -0
  215. package/lib/structures/ITypedHttpRoute.d.ts +18 -0
  216. package/lib/structures/ITypedHttpRouteException.d.ts +13 -1
  217. package/lib/structures/ITypedHttpRouteParameter.d.ts +48 -1
  218. package/lib/structures/ITypedHttpRouteSuccess.d.ts +13 -1
  219. package/lib/structures/ITypedMcpRoute.d.ts +11 -0
  220. package/lib/structures/ITypedWebSocketRoute.d.ts +18 -0
  221. package/lib/transform.d.ts +6 -0
  222. package/lib/transform.js +6 -0
  223. package/lib/transform.js.map +1 -1
  224. package/lib/utils/ArrayUtil.d.ts +31 -1
  225. package/lib/utils/ArrayUtil.js +32 -11
  226. package/lib/utils/ArrayUtil.js.map +1 -1
  227. package/lib/utils/EmittedJavaScriptPatcher.d.ts +20 -0
  228. package/lib/utils/EmittedJavaScriptPatcher.js +65 -46
  229. package/lib/utils/EmittedJavaScriptPatcher.js.map +1 -1
  230. package/lib/utils/FileRetriever.d.ts +29 -0
  231. package/lib/utils/FileRetriever.js +29 -0
  232. package/lib/utils/FileRetriever.js.map +1 -1
  233. package/lib/utils/HttpResponseContentTypeUtil.d.ts +41 -0
  234. package/lib/utils/HttpResponseContentTypeUtil.js +31 -0
  235. package/lib/utils/HttpResponseContentTypeUtil.js.map +1 -1
  236. package/lib/utils/MapUtil.d.ts +64 -1
  237. package/lib/utils/MapUtil.js +24 -3
  238. package/lib/utils/MapUtil.js.map +1 -1
  239. package/lib/utils/PathUtil.d.ts +31 -0
  240. package/lib/utils/PathUtil.js +38 -0
  241. package/lib/utils/PathUtil.js.map +1 -1
  242. package/lib/utils/SdkBundlePath.d.ts +2 -0
  243. package/lib/utils/SdkBundlePath.js +10 -0
  244. package/lib/utils/SdkBundlePath.js.map +1 -0
  245. package/lib/utils/SdkInputFilter.d.ts +31 -0
  246. package/lib/utils/SdkInputFilter.js +115 -0
  247. package/lib/utils/SdkInputFilter.js.map +1 -0
  248. package/lib/utils/SourceFinder.d.ts +45 -0
  249. package/lib/utils/SourceFinder.js +74 -16
  250. package/lib/utils/SourceFinder.js.map +1 -1
  251. package/lib/utils/StringUtil.d.ts +77 -2
  252. package/lib/utils/StringUtil.js +166 -4
  253. package/lib/utils/StringUtil.js.map +1 -1
  254. package/lib/utils/TemporaryDirectory.d.ts +60 -0
  255. package/lib/utils/TemporaryDirectory.js +112 -0
  256. package/lib/utils/TemporaryDirectory.js.map +1 -0
  257. package/lib/utils/TsConfigReader.d.ts +42 -0
  258. package/lib/utils/TsConfigReader.js +98 -14
  259. package/lib/utils/TsConfigReader.js.map +1 -1
  260. package/lib/utils/TtscExecutor.d.ts +23 -1
  261. package/lib/utils/TtscExecutor.js +22 -0
  262. package/lib/utils/TtscExecutor.js.map +1 -1
  263. package/lib/utils/VersioningStrategy.d.ts +39 -2
  264. package/lib/utils/VersioningStrategy.js +46 -13
  265. package/lib/utils/VersioningStrategy.js.map +1 -1
  266. package/lib/validators/TextPlainValidator.d.ts +19 -0
  267. package/lib/validators/TextPlainValidator.js +19 -0
  268. package/lib/validators/TextPlainValidator.js.map +1 -1
  269. package/native/go.mod +1 -1
  270. package/native/go.sum +2 -2
  271. package/native/sdk/register.go +12 -2
  272. package/native/sdk/sdk_http_rules.go +210 -0
  273. package/native/sdk/sdk_metadata_json.go +79 -4
  274. package/native/sdk/sdk_transform.go +1157 -414
  275. package/package.json +8 -6
  276. package/src/INestiaConfig.ts +74 -34
  277. package/src/NestiaSdkApplication.ts +129 -41
  278. package/src/NestiaSwaggerComposer.ts +32 -14
  279. package/src/analyses/AccessorAnalyzer.ts +26 -0
  280. package/src/analyses/ConfigAnalyzer.ts +52 -90
  281. package/src/analyses/ImportAnalyzer.ts +25 -0
  282. package/src/analyses/ParameterNameAnalyzer.ts +75 -0
  283. package/src/analyses/PathAnalyzer.ts +167 -23
  284. package/src/analyses/ReflectControllerAnalyzer.ts +34 -1
  285. package/src/analyses/ReflectHttpOperationAnalyzer.ts +36 -14
  286. package/src/analyses/ReflectHttpOperationExceptionAnalyzer.ts +31 -0
  287. package/src/analyses/ReflectHttpOperationParameterAnalyzer.ts +153 -39
  288. package/src/analyses/ReflectHttpOperationResponseAnalyzer.ts +38 -7
  289. package/src/analyses/ReflectMcpOperationAnalyzer.ts +38 -3
  290. package/src/analyses/ReflectMetadataAnalyzer.ts +47 -0
  291. package/src/analyses/ReflectWebSocketOperationAnalyzer.ts +40 -7
  292. package/src/analyses/SecurityAnalyzer.ts +45 -20
  293. package/src/analyses/SwaggerExampleAnalyzer.ts +39 -0
  294. package/src/analyses/TypedHttpRouteAnalyzer.ts +263 -198
  295. package/src/analyses/TypedMcpRouteAnalyzer.ts +180 -20
  296. package/src/analyses/TypedWebSocketRouteAnalyzer.ts +20 -0
  297. package/src/decorators/OperationMetadata.ts +6 -0
  298. package/src/executable/internal/CommandParser.ts +19 -0
  299. package/src/executable/internal/NestiaConfigLoader.ts +66 -50
  300. package/src/executable/internal/NestiaSdkCommand.ts +96 -3
  301. package/src/executable/internal/NestiaSdkWatcher.ts +172 -44
  302. package/src/executable/internal/NestiaSwaggerWatch.ts +359 -0
  303. package/src/executable/sdk.ts +24 -1
  304. package/src/factories/ExpressionFactory.ts +23 -2
  305. package/src/factories/IdentifierFactory.ts +24 -0
  306. package/src/factories/LiteralFactory.ts +51 -13
  307. package/src/factories/StatementFactory.ts +28 -1
  308. package/src/factories/TypeFactory.ts +24 -0
  309. package/src/generates/CloneGenerator.ts +26 -5
  310. package/src/generates/E2eGenerator.ts +19 -0
  311. package/src/generates/SdkGenerator.ts +43 -12
  312. package/src/generates/SwaggerGenerator.ts +229 -46
  313. package/src/generates/internal/E2eFileProgrammer.ts +20 -0
  314. package/src/generates/internal/FilePrinter.ts +71 -0
  315. package/src/generates/internal/ImportDictionary.ts +120 -2
  316. package/src/generates/internal/SdkAliasCollection.ts +144 -15
  317. package/src/generates/internal/SdkDistributionComposer.ts +181 -56
  318. package/src/generates/internal/SdkFileProgrammer.ts +126 -16
  319. package/src/generates/internal/SdkHttpCloneProgrammer.ts +55 -0
  320. package/src/generates/internal/SdkHttpCloneReferencer.ts +97 -23
  321. package/src/generates/internal/SdkHttpFunctionProgrammer.ts +47 -30
  322. package/src/generates/internal/SdkHttpNamespaceProgrammer.ts +53 -64
  323. package/src/generates/internal/SdkHttpParameterProgrammer.ts +295 -13
  324. package/src/generates/internal/SdkHttpRouteProgrammer.ts +37 -31
  325. package/src/generates/internal/SdkHttpSimulationProgrammer.ts +122 -18
  326. package/src/generates/internal/SdkImportWizard.ts +63 -0
  327. package/src/generates/internal/SdkMcpRouteProgrammer.ts +150 -33
  328. package/src/generates/internal/SdkPathTemplate.ts +88 -0
  329. package/src/generates/internal/SdkRouteDirectory.ts +10 -0
  330. package/src/generates/internal/SdkTypeProgrammer.ts +137 -36
  331. package/src/generates/internal/SdkTypeTagProgrammer.ts +536 -78
  332. package/src/generates/internal/SdkWebSocketCloneProgrammer.ts +185 -142
  333. package/src/generates/internal/SdkWebSocketNamespaceProgrammer.ts +62 -68
  334. package/src/generates/internal/SdkWebSocketParameterProgrammer.ts +205 -5
  335. package/src/generates/internal/SdkWebSocketRouteProgrammer.ts +89 -48
  336. package/src/generates/internal/SwaggerDescriptionComposer.ts +47 -1
  337. package/src/generates/internal/SwaggerOperationComposer.ts +38 -6
  338. package/src/generates/internal/SwaggerOperationParameterComposer.ts +318 -36
  339. package/src/generates/internal/SwaggerOperationResponseComposer.ts +74 -11
  340. package/src/internal/legacy-augmentation.d.ts +16 -0
  341. package/src/internal/legacy.ts +407 -49
  342. package/src/structures/INestiaProject.ts +10 -0
  343. package/src/structures/INestiaSdkInput.ts +30 -0
  344. package/src/structures/IOperationMetadata.ts +83 -0
  345. package/src/structures/IReflectController.ts +10 -0
  346. package/src/structures/IReflectHttpOperation.ts +10 -0
  347. package/src/structures/IReflectHttpOperationException.ts +17 -2
  348. package/src/structures/IReflectHttpOperationParameter.ts +56 -2
  349. package/src/structures/IReflectHttpOperationSuccess.ts +19 -3
  350. package/src/structures/IReflectImport.ts +10 -0
  351. package/src/structures/IReflectMcpOperation.ts +19 -0
  352. package/src/structures/IReflectMcpOperationParameter.ts +9 -0
  353. package/src/structures/IReflectOperationError.ts +31 -2
  354. package/src/structures/IReflectType.ts +9 -0
  355. package/src/structures/IReflectWebSocketOperation.ts +10 -0
  356. package/src/structures/IReflectWebSocketOperationParameter.ts +55 -0
  357. package/src/structures/ITypedApplication.ts +10 -0
  358. package/src/structures/ITypedHttpRoute.ts +18 -0
  359. package/src/structures/ITypedHttpRouteException.ts +14 -1
  360. package/src/structures/ITypedHttpRouteParameter.ts +48 -1
  361. package/src/structures/ITypedHttpRouteSuccess.ts +14 -1
  362. package/src/structures/ITypedMcpRoute.ts +12 -0
  363. package/src/structures/ITypedWebSocketRoute.ts +18 -0
  364. package/src/transform.ts +6 -0
  365. package/src/utils/ArrayUtil.ts +32 -13
  366. package/src/utils/EmittedJavaScriptPatcher.ts +70 -47
  367. package/src/utils/FileRetriever.ts +29 -0
  368. package/src/utils/HttpResponseContentTypeUtil.ts +41 -0
  369. package/src/utils/MapUtil.ts +68 -3
  370. package/src/utils/PathUtil.ts +38 -0
  371. package/src/utils/SdkBundlePath.ts +11 -0
  372. package/src/utils/SdkInputFilter.ts +108 -0
  373. package/src/utils/SourceFinder.ts +76 -18
  374. package/src/utils/StringUtil.ts +182 -5
  375. package/src/utils/TemporaryDirectory.ts +108 -0
  376. package/src/utils/TsConfigReader.ts +124 -26
  377. package/src/utils/TtscExecutor.ts +23 -1
  378. package/src/utils/VersioningStrategy.ts +51 -16
  379. package/src/validators/TextPlainValidator.ts +19 -0
  380. package/lib/generates/internal/SwaggerReadonlyArrayEmender.d.ts +0 -9
  381. package/lib/generates/internal/SwaggerReadonlyArrayEmender.js +0 -178
  382. package/lib/generates/internal/SwaggerReadonlyArrayEmender.js.map +0 -1
  383. package/lib/validators/HttpHeadersValidator.d.ts +0 -11
  384. package/lib/validators/HttpHeadersValidator.js +0 -15
  385. package/lib/validators/HttpHeadersValidator.js.map +0 -1
  386. package/lib/validators/HttpQueryValidator.d.ts +0 -10
  387. package/lib/validators/HttpQueryValidator.js +0 -14
  388. package/lib/validators/HttpQueryValidator.js.map +0 -1
  389. package/src/generates/internal/SwaggerReadonlyArrayEmender.ts +0 -264
  390. package/src/validators/HttpHeadersValidator.ts +0 -12
  391. package/src/validators/HttpQueryValidator.ts +0 -11
@@ -1,11 +0,0 @@
1
- import { MetadataFactory } from "../internal/legacy";
2
- /**
3
- * Validator slot reserved for `@TypedHeaders` per-field SDK-side checks.
4
- * Returns `[]` because the typia native transform already enforces the
5
- * "atomic-or-array-of-atomic" constraint at compile time, and
6
- * `MetadataFactory.validate` — the only call site — is itself a passthrough on
7
- * the v13 runtime.
8
- */
9
- export declare namespace HttpHeadersValidator {
10
- const validate: MetadataFactory.Validator;
11
- }
@@ -1,15 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.HttpHeadersValidator = void 0;
4
- /**
5
- * Validator slot reserved for `@TypedHeaders` per-field SDK-side checks.
6
- * Returns `[]` because the typia native transform already enforces the
7
- * "atomic-or-array-of-atomic" constraint at compile time, and
8
- * `MetadataFactory.validate` — the only call site — is itself a passthrough on
9
- * the v13 runtime.
10
- */
11
- var HttpHeadersValidator;
12
- (function (HttpHeadersValidator) {
13
- HttpHeadersValidator.validate = () => [];
14
- })(HttpHeadersValidator || (exports.HttpHeadersValidator = HttpHeadersValidator = {}));
15
- //# sourceMappingURL=HttpHeadersValidator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"HttpHeadersValidator.js","sourceRoot":"","sources":["../../src/validators/HttpHeadersValidator.ts"],"names":[],"mappings":";;;AAEA;;;;;;GAMG;AACH,IAAiB,oBAAoB,CAEpC;AAFD,WAAiB,oBAAoB;IACtB,6BAAQ,GAA8B,GAAG,EAAE,CAAC,EAAE,CAAC;AAC9D,CAAC,EAFgB,oBAAoB,aAApB,oBAAoB,GAApB,oBAAoB,QAEpC"}
@@ -1,10 +0,0 @@
1
- import { MetadataFactory } from "../internal/legacy";
2
- /**
3
- * Validator slot reserved for `@TypedQuery` per-field SDK-side checks. Returns
4
- * `[]` because the typia native transform already enforces the atomic-only
5
- * constraint at compile time, and `MetadataFactory.validate` — the only call
6
- * site — is itself a passthrough on the v13 runtime.
7
- */
8
- export declare namespace HttpQueryValidator {
9
- const validate: MetadataFactory.Validator;
10
- }
@@ -1,14 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.HttpQueryValidator = void 0;
4
- /**
5
- * Validator slot reserved for `@TypedQuery` per-field SDK-side checks. Returns
6
- * `[]` because the typia native transform already enforces the atomic-only
7
- * constraint at compile time, and `MetadataFactory.validate` — the only call
8
- * site — is itself a passthrough on the v13 runtime.
9
- */
10
- var HttpQueryValidator;
11
- (function (HttpQueryValidator) {
12
- HttpQueryValidator.validate = () => [];
13
- })(HttpQueryValidator || (exports.HttpQueryValidator = HttpQueryValidator = {}));
14
- //# sourceMappingURL=HttpQueryValidator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"HttpQueryValidator.js","sourceRoot":"","sources":["../../src/validators/HttpQueryValidator.ts"],"names":[],"mappings":";;;AAEA;;;;;GAKG;AACH,IAAiB,kBAAkB,CAElC;AAFD,WAAiB,kBAAkB;IACpB,2BAAQ,GAA8B,GAAG,EAAE,CAAC,EAAE,CAAC;AAC9D,CAAC,EAFgB,kBAAkB,aAAlB,kBAAkB,GAAlB,kBAAkB,QAElC"}
@@ -1,264 +0,0 @@
1
- import { OpenApi } from "@typia/interface";
2
-
3
- import {
4
- MetadataAliasType,
5
- MetadataArrayType,
6
- MetadataObjectType,
7
- MetadataSchema,
8
- MetadataTupleType,
9
- } from "../../internal/legacy";
10
-
11
- type JsonSchemaObject = OpenApi.IJsonSchema & Record<string, any>;
12
-
13
- export namespace SwaggerReadonlyArrayEmender {
14
- export const emend = (props: {
15
- components: OpenApi.IComponents;
16
- schema: OpenApi.IJsonSchema | undefined;
17
- metadata: MetadataSchema;
18
- }): void => {
19
- const visited: IVisited = {
20
- aliases: new WeakSet(),
21
- arrays: new WeakSet(),
22
- objects: new WeakSet(),
23
- schemas: new WeakSet(),
24
- tuples: new WeakSet(),
25
- };
26
- visitMetadata({
27
- components: props.components,
28
- schema: props.schema,
29
- metadata: props.metadata,
30
- visited,
31
- });
32
- };
33
- }
34
-
35
- interface IVisited {
36
- aliases: WeakSet<MetadataAliasType>;
37
- arrays: WeakSet<MetadataArrayType>;
38
- objects: WeakSet<MetadataObjectType>;
39
- schemas: WeakSet<MetadataSchema>;
40
- tuples: WeakSet<MetadataTupleType>;
41
- }
42
-
43
- const visitMetadata = (props: {
44
- components: OpenApi.IComponents;
45
- schema: OpenApi.IJsonSchema | undefined;
46
- metadata: MetadataSchema;
47
- visited: IVisited;
48
- }): void => {
49
- if (props.schema !== undefined && isReadonlyArrayLike(props.metadata))
50
- setReadonlyArray(props.schema);
51
-
52
- if (props.visited.schemas.has(props.metadata)) return;
53
- props.visited.schemas.add(props.metadata);
54
-
55
- for (const array of props.metadata.arrays) {
56
- const type: MetadataArrayType | undefined = array.type as
57
- | MetadataArrayType
58
- | undefined;
59
- if (type !== undefined)
60
- visitArrayType({
61
- components: props.components,
62
- schema: arraySchema(props.schema),
63
- type,
64
- visited: props.visited,
65
- });
66
- }
67
- for (const tuple of props.metadata.tuples) {
68
- const type: MetadataTupleType | undefined = tuple.type as
69
- | MetadataTupleType
70
- | undefined;
71
- if (type !== undefined)
72
- visitTupleType({
73
- components: props.components,
74
- schema: props.schema,
75
- type,
76
- visited: props.visited,
77
- });
78
- }
79
- for (const alias of props.metadata.aliases) {
80
- const type: MetadataAliasType | undefined = alias.type as
81
- | MetadataAliasType
82
- | undefined;
83
- if (type !== undefined)
84
- visitAliasType({
85
- components: props.components,
86
- schema: componentSchema(props.components, type.name),
87
- type,
88
- visited: props.visited,
89
- });
90
- }
91
- for (const object of props.metadata.objects) {
92
- const type: MetadataObjectType | undefined = object.type as
93
- | MetadataObjectType
94
- | undefined;
95
- if (type !== undefined)
96
- visitObjectType({
97
- components: props.components,
98
- type,
99
- visited: props.visited,
100
- });
101
- }
102
- };
103
-
104
- const visitAliasType = (props: {
105
- components: OpenApi.IComponents;
106
- schema: OpenApi.IJsonSchema | undefined;
107
- type: MetadataAliasType;
108
- visited: IVisited;
109
- }): void => {
110
- if (props.visited.aliases.has(props.type)) return;
111
- props.visited.aliases.add(props.type);
112
- if (props.schema !== undefined && isReadonlyArrayLike(props.type.value))
113
- setReadonlyArray(props.schema);
114
- visitMetadata({
115
- components: props.components,
116
- schema: props.schema,
117
- metadata: props.type.value,
118
- visited: props.visited,
119
- });
120
- };
121
-
122
- const visitArrayType = (props: {
123
- components: OpenApi.IComponents;
124
- schema: OpenApi.IJsonSchema | undefined;
125
- type: MetadataArrayType;
126
- visited: IVisited;
127
- }): void => {
128
- if (props.visited.arrays.has(props.type)) return;
129
- props.visited.arrays.add(props.type);
130
- const component: OpenApi.IJsonSchema | undefined = componentSchema(
131
- props.components,
132
- props.type.name,
133
- );
134
- if (component !== undefined && isReadonlyArrayName(props.type.name))
135
- setReadonlyArray(component);
136
- visitMetadata({
137
- components: props.components,
138
- schema: arraySchema(props.schema ?? component),
139
- metadata: props.type.value,
140
- visited: props.visited,
141
- });
142
- };
143
-
144
- const visitTupleType = (props: {
145
- components: OpenApi.IComponents;
146
- schema: OpenApi.IJsonSchema | undefined;
147
- type: MetadataTupleType;
148
- visited: IVisited;
149
- }): void => {
150
- if (props.visited.tuples.has(props.type)) return;
151
- props.visited.tuples.add(props.type);
152
- const component: OpenApi.IJsonSchema | undefined = componentSchema(
153
- props.components,
154
- props.type.name,
155
- );
156
- if (component !== undefined && isReadonlyArrayName(props.type.name))
157
- setReadonlyArray(component);
158
- const schema: JsonSchemaObject | undefined = objectSchema(
159
- props.schema ?? component,
160
- );
161
- props.type.elements.forEach((metadata, index) =>
162
- visitMetadata({
163
- components: props.components,
164
- schema: Array.isArray(schema?.prefixItems)
165
- ? schema.prefixItems[index]
166
- : undefined,
167
- metadata,
168
- visited: props.visited,
169
- }),
170
- );
171
- };
172
-
173
- const visitObjectType = (props: {
174
- components: OpenApi.IComponents;
175
- type: MetadataObjectType;
176
- visited: IVisited;
177
- }): void => {
178
- if (props.visited.objects.has(props.type)) return;
179
- props.visited.objects.add(props.type);
180
-
181
- const schema: JsonSchemaObject | undefined = objectSchema(
182
- componentSchema(props.components, props.type.name),
183
- );
184
- const properties: Record<string, OpenApi.IJsonSchema> | undefined =
185
- schema?.properties as Record<string, OpenApi.IJsonSchema> | undefined;
186
- for (const property of props.type.properties) {
187
- const key: string | undefined = propertyKey(property.key);
188
- const child: OpenApi.IJsonSchema | undefined =
189
- key === undefined ? undefined : properties?.[key];
190
- visitMetadata({
191
- components: props.components,
192
- schema: child,
193
- metadata: property.value,
194
- visited: props.visited,
195
- });
196
- }
197
- };
198
-
199
- const isReadonlyArrayLike = (
200
- metadata: MetadataSchema,
201
- visited: WeakSet<MetadataSchema> = new WeakSet(),
202
- ): boolean => {
203
- if (visited.has(metadata)) return false;
204
- visited.add(metadata);
205
- const name: unknown = (metadata as { name?: unknown }).name;
206
- return (
207
- (typeof name === "string" && isReadonlyArrayName(name)) ||
208
- metadata.arrays.some((array) => isReadonlyArrayName(array.name)) ||
209
- metadata.tuples.some((tuple) => isReadonlyArrayName(tuple.name)) ||
210
- metadata.aliases.some((alias) => {
211
- const type: MetadataAliasType | undefined = alias.type as
212
- | MetadataAliasType
213
- | undefined;
214
- return type !== undefined && isReadonlyArrayLike(type.value, visited);
215
- })
216
- );
217
- };
218
-
219
- const isReadonlyArrayName = (name: string): boolean => {
220
- const compact: string = name.replace(/\s+/g, "");
221
- // Metadata identity names pass through the generator's name replacer, which
222
- // strips TypeScript punctuation for schema-key safety — depending on the
223
- // compiler shim, `ReadonlyArray<string>` arrives here as "ReadonlyArray",
224
- // "ReadonlyArray<string>", or the stripped "ReadonlyArraystring", and
225
- // `readonly string[]` as "readonly string[]" or "readonlystring". Match on
226
- // the prefixes that survive every form; this predicate only ever sees names
227
- // of array/tuple metadata entries, whose spelling the generator controls
228
- // ("readonly" is case-sensitive, so PascalCase user types cannot collide).
229
- return compact.startsWith("ReadonlyArray") || compact.startsWith("readonly");
230
- };
231
-
232
- const componentSchema = (
233
- components: OpenApi.IComponents,
234
- name: string,
235
- ): OpenApi.IJsonSchema | undefined =>
236
- (components.schemas ?? {})[name] as OpenApi.IJsonSchema | undefined;
237
-
238
- const arraySchema = (
239
- schema: OpenApi.IJsonSchema | undefined,
240
- ): OpenApi.IJsonSchema | undefined => {
241
- const obj: JsonSchemaObject | undefined = objectSchema(schema);
242
- return obj?.items as OpenApi.IJsonSchema | undefined;
243
- };
244
-
245
- const objectSchema = (
246
- schema: OpenApi.IJsonSchema | undefined,
247
- ): JsonSchemaObject | undefined =>
248
- typeof schema === "object" && schema !== null
249
- ? (schema as JsonSchemaObject)
250
- : undefined;
251
-
252
- const propertyKey = (metadata: MetadataSchema): string | undefined => {
253
- const value: unknown = metadata.constants[0]?.values[0]?.value;
254
- return typeof value === "string"
255
- ? value
256
- : typeof value === "number"
257
- ? String(value)
258
- : undefined;
259
- };
260
-
261
- const setReadonlyArray = (schema: OpenApi.IJsonSchema): void => {
262
- const obj: JsonSchemaObject | undefined = objectSchema(schema);
263
- if (obj !== undefined) obj["x-readonly-array"] = true;
264
- };
@@ -1,12 +0,0 @@
1
- import { MetadataFactory } from "../internal/legacy";
2
-
3
- /**
4
- * Validator slot reserved for `@TypedHeaders` per-field SDK-side checks.
5
- * Returns `[]` because the typia native transform already enforces the
6
- * "atomic-or-array-of-atomic" constraint at compile time, and
7
- * `MetadataFactory.validate` — the only call site — is itself a passthrough on
8
- * the v13 runtime.
9
- */
10
- export namespace HttpHeadersValidator {
11
- export const validate: MetadataFactory.Validator = () => [];
12
- }
@@ -1,11 +0,0 @@
1
- import { MetadataFactory } from "../internal/legacy";
2
-
3
- /**
4
- * Validator slot reserved for `@TypedQuery` per-field SDK-side checks. Returns
5
- * `[]` because the typia native transform already enforces the atomic-only
6
- * constraint at compile time, and `MetadataFactory.validate` — the only call
7
- * site — is itself a passthrough on the v13 runtime.
8
- */
9
- export namespace HttpQueryValidator {
10
- export const validate: MetadataFactory.Validator = () => [];
11
- }