@nestia/sdk 14.0.1 → 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 (377) hide show
  1. package/assets/bundle/distribute/build-sdk.cjs +28 -0
  2. package/assets/bundle/distribute/package.json +6 -2
  3. package/lib/INestiaConfig.d.ts +55 -24
  4. package/lib/NestiaSdkApplication.d.ts +60 -0
  5. package/lib/NestiaSdkApplication.js +63 -5
  6. package/lib/NestiaSdkApplication.js.map +1 -1
  7. package/lib/NestiaSwaggerComposer.d.ts +21 -0
  8. package/lib/NestiaSwaggerComposer.js +21 -3
  9. package/lib/NestiaSwaggerComposer.js.map +1 -1
  10. package/lib/analyses/AccessorAnalyzer.d.ts +26 -0
  11. package/lib/analyses/AccessorAnalyzer.js +26 -0
  12. package/lib/analyses/AccessorAnalyzer.js.map +1 -1
  13. package/lib/analyses/ConfigAnalyzer.d.ts +41 -0
  14. package/lib/analyses/ConfigAnalyzer.js +48 -73
  15. package/lib/analyses/ConfigAnalyzer.js.map +1 -1
  16. package/lib/analyses/ImportAnalyzer.d.ts +25 -0
  17. package/lib/analyses/ImportAnalyzer.js +25 -0
  18. package/lib/analyses/ImportAnalyzer.js.map +1 -1
  19. package/lib/analyses/ParameterNameAnalyzer.d.ts +24 -0
  20. package/lib/analyses/ParameterNameAnalyzer.js +15 -0
  21. package/lib/analyses/ParameterNameAnalyzer.js.map +1 -1
  22. package/lib/analyses/PathAnalyzer.d.ts +63 -1
  23. package/lib/analyses/PathAnalyzer.js +54 -9
  24. package/lib/analyses/PathAnalyzer.js.map +1 -1
  25. package/lib/analyses/ReflectControllerAnalyzer.d.ts +32 -0
  26. package/lib/analyses/ReflectControllerAnalyzer.js +22 -0
  27. package/lib/analyses/ReflectControllerAnalyzer.js.map +1 -1
  28. package/lib/analyses/ReflectHttpOperationAnalyzer.d.ts +29 -0
  29. package/lib/analyses/ReflectHttpOperationAnalyzer.js +28 -17
  30. package/lib/analyses/ReflectHttpOperationAnalyzer.js.map +1 -1
  31. package/lib/analyses/ReflectHttpOperationExceptionAnalyzer.d.ts +31 -0
  32. package/lib/analyses/ReflectHttpOperationExceptionAnalyzer.js +21 -0
  33. package/lib/analyses/ReflectHttpOperationExceptionAnalyzer.js.map +1 -1
  34. package/lib/analyses/ReflectHttpOperationParameterAnalyzer.d.ts +31 -0
  35. package/lib/analyses/ReflectHttpOperationParameterAnalyzer.js +21 -0
  36. package/lib/analyses/ReflectHttpOperationParameterAnalyzer.js.map +1 -1
  37. package/lib/analyses/ReflectHttpOperationResponseAnalyzer.d.ts +32 -0
  38. package/lib/analyses/ReflectHttpOperationResponseAnalyzer.js +22 -0
  39. package/lib/analyses/ReflectHttpOperationResponseAnalyzer.js.map +1 -1
  40. package/lib/analyses/ReflectMcpOperationAnalyzer.d.ts +29 -0
  41. package/lib/analyses/ReflectMcpOperationAnalyzer.js +30 -9
  42. package/lib/analyses/ReflectMcpOperationAnalyzer.js.map +1 -1
  43. package/lib/analyses/ReflectMetadataAnalyzer.d.ts +47 -0
  44. package/lib/analyses/ReflectMetadataAnalyzer.js +47 -0
  45. package/lib/analyses/ReflectMetadataAnalyzer.js.map +1 -1
  46. package/lib/analyses/ReflectWebSocketOperationAnalyzer.d.ts +29 -0
  47. package/lib/analyses/ReflectWebSocketOperationAnalyzer.js +21 -2
  48. package/lib/analyses/ReflectWebSocketOperationAnalyzer.js.map +1 -1
  49. package/lib/analyses/SecurityAnalyzer.d.ts +15 -0
  50. package/lib/analyses/SecurityAnalyzer.js +15 -0
  51. package/lib/analyses/SecurityAnalyzer.js.map +1 -1
  52. package/lib/analyses/SwaggerExampleAnalyzer.d.ts +16 -0
  53. package/lib/analyses/SwaggerExampleAnalyzer.js +16 -0
  54. package/lib/analyses/SwaggerExampleAnalyzer.js.map +1 -1
  55. package/lib/analyses/TypedHttpRouteAnalyzer.d.ts +41 -3
  56. package/lib/analyses/TypedHttpRouteAnalyzer.js +172 -157
  57. package/lib/analyses/TypedHttpRouteAnalyzer.js.map +1 -1
  58. package/lib/analyses/TypedMcpRouteAnalyzer.d.ts +29 -0
  59. package/lib/analyses/TypedMcpRouteAnalyzer.js +152 -20
  60. package/lib/analyses/TypedMcpRouteAnalyzer.js.map +1 -1
  61. package/lib/analyses/TypedWebSocketRouteAnalyzer.d.ts +19 -0
  62. package/lib/analyses/TypedWebSocketRouteAnalyzer.js +19 -0
  63. package/lib/analyses/TypedWebSocketRouteAnalyzer.js.map +1 -1
  64. package/lib/decorators/OperationMetadata.d.ts +6 -0
  65. package/lib/decorators/OperationMetadata.js +6 -0
  66. package/lib/decorators/OperationMetadata.js.map +1 -1
  67. package/lib/executable/internal/CommandParser.d.ts +19 -0
  68. package/lib/executable/internal/CommandParser.js +19 -0
  69. package/lib/executable/internal/CommandParser.js.map +1 -1
  70. package/lib/executable/internal/NestiaConfigLoader.d.ts +56 -0
  71. package/lib/executable/internal/NestiaConfigLoader.js +48 -42
  72. package/lib/executable/internal/NestiaConfigLoader.js.map +1 -1
  73. package/lib/executable/internal/NestiaSdkCommand.d.ts +60 -0
  74. package/lib/executable/internal/NestiaSdkCommand.js +95 -3
  75. package/lib/executable/internal/NestiaSdkCommand.js.map +1 -1
  76. package/lib/executable/internal/NestiaSdkWatcher.d.ts +81 -0
  77. package/lib/executable/internal/NestiaSdkWatcher.js +122 -38
  78. package/lib/executable/internal/NestiaSdkWatcher.js.map +1 -1
  79. package/lib/executable/internal/NestiaSwaggerWatch.d.ts +80 -0
  80. package/lib/executable/internal/NestiaSwaggerWatch.js +308 -0
  81. package/lib/executable/internal/NestiaSwaggerWatch.js.map +1 -0
  82. package/lib/factories/ExpressionFactory.d.ts +17 -2
  83. package/lib/factories/ExpressionFactory.js +17 -2
  84. package/lib/factories/ExpressionFactory.js.map +1 -1
  85. package/lib/factories/IdentifierFactory.d.ts +24 -0
  86. package/lib/factories/IdentifierFactory.js +24 -0
  87. package/lib/factories/IdentifierFactory.js.map +1 -1
  88. package/lib/factories/LiteralFactory.d.ts +22 -4
  89. package/lib/factories/LiteralFactory.js +30 -10
  90. package/lib/factories/LiteralFactory.js.map +1 -1
  91. package/lib/factories/StatementFactory.d.ts +28 -1
  92. package/lib/factories/StatementFactory.js +28 -1
  93. package/lib/factories/StatementFactory.js.map +1 -1
  94. package/lib/factories/TypeFactory.d.ts +24 -0
  95. package/lib/factories/TypeFactory.js +15 -0
  96. package/lib/factories/TypeFactory.js.map +1 -1
  97. package/lib/generates/CloneGenerator.d.ts +22 -0
  98. package/lib/generates/CloneGenerator.js +26 -5
  99. package/lib/generates/CloneGenerator.js.map +1 -1
  100. package/lib/generates/E2eGenerator.d.ts +19 -0
  101. package/lib/generates/E2eGenerator.js +19 -0
  102. package/lib/generates/E2eGenerator.js.map +1 -1
  103. package/lib/generates/SdkGenerator.d.ts +38 -0
  104. package/lib/generates/SdkGenerator.js +40 -2
  105. package/lib/generates/SdkGenerator.js.map +1 -1
  106. package/lib/generates/SwaggerGenerator.d.ts +36 -6
  107. package/lib/generates/SwaggerGenerator.js +55 -13
  108. package/lib/generates/SwaggerGenerator.js.map +1 -1
  109. package/lib/generates/internal/E2eFileProgrammer.d.ts +19 -0
  110. package/lib/generates/internal/E2eFileProgrammer.js +20 -1
  111. package/lib/generates/internal/E2eFileProgrammer.js.map +1 -1
  112. package/lib/generates/internal/FilePrinter.d.ts +43 -0
  113. package/lib/generates/internal/FilePrinter.js +43 -0
  114. package/lib/generates/internal/FilePrinter.js.map +1 -1
  115. package/lib/generates/internal/ImportDictionary.d.ts +92 -2
  116. package/lib/generates/internal/ImportDictionary.js +91 -3
  117. package/lib/generates/internal/ImportDictionary.js.map +1 -1
  118. package/lib/generates/internal/SdkAliasCollection.d.ts +119 -0
  119. package/lib/generates/internal/SdkAliasCollection.js +124 -7
  120. package/lib/generates/internal/SdkAliasCollection.js.map +1 -1
  121. package/lib/generates/internal/SdkDistributionComposer.d.ts +19 -0
  122. package/lib/generates/internal/SdkDistributionComposer.js +98 -59
  123. package/lib/generates/internal/SdkDistributionComposer.js.map +1 -1
  124. package/lib/generates/internal/SdkFileProgrammer.d.ts +18 -0
  125. package/lib/generates/internal/SdkFileProgrammer.js +18 -0
  126. package/lib/generates/internal/SdkFileProgrammer.js.map +1 -1
  127. package/lib/generates/internal/SdkHttpCloneProgrammer.d.ts +29 -0
  128. package/lib/generates/internal/SdkHttpCloneProgrammer.js +33 -0
  129. package/lib/generates/internal/SdkHttpCloneProgrammer.js.map +1 -1
  130. package/lib/generates/internal/SdkHttpCloneReferencer.d.ts +19 -0
  131. package/lib/generates/internal/SdkHttpCloneReferencer.js +78 -25
  132. package/lib/generates/internal/SdkHttpCloneReferencer.js.map +1 -1
  133. package/lib/generates/internal/SdkHttpFunctionProgrammer.d.ts +19 -0
  134. package/lib/generates/internal/SdkHttpFunctionProgrammer.js +19 -0
  135. package/lib/generates/internal/SdkHttpFunctionProgrammer.js.map +1 -1
  136. package/lib/generates/internal/SdkHttpNamespaceProgrammer.d.ts +19 -0
  137. package/lib/generates/internal/SdkHttpNamespaceProgrammer.js +19 -0
  138. package/lib/generates/internal/SdkHttpNamespaceProgrammer.js.map +1 -1
  139. package/lib/generates/internal/SdkHttpParameterProgrammer.d.ts +104 -2
  140. package/lib/generates/internal/SdkHttpParameterProgrammer.js +70 -0
  141. package/lib/generates/internal/SdkHttpParameterProgrammer.js.map +1 -1
  142. package/lib/generates/internal/SdkHttpRouteProgrammer.d.ts +20 -0
  143. package/lib/generates/internal/SdkHttpRouteProgrammer.js +20 -0
  144. package/lib/generates/internal/SdkHttpRouteProgrammer.js.map +1 -1
  145. package/lib/generates/internal/SdkHttpSimulationProgrammer.d.ts +38 -0
  146. package/lib/generates/internal/SdkHttpSimulationProgrammer.js +49 -5
  147. package/lib/generates/internal/SdkHttpSimulationProgrammer.js.map +1 -1
  148. package/lib/generates/internal/SdkImportWizard.d.ts +63 -0
  149. package/lib/generates/internal/SdkImportWizard.js +63 -0
  150. package/lib/generates/internal/SdkImportWizard.js.map +1 -1
  151. package/lib/generates/internal/SdkMcpRouteProgrammer.d.ts +17 -2
  152. package/lib/generates/internal/SdkMcpRouteProgrammer.js +33 -13
  153. package/lib/generates/internal/SdkMcpRouteProgrammer.js.map +1 -1
  154. package/lib/generates/internal/SdkPathTemplate.d.ts +15 -0
  155. package/lib/generates/internal/SdkPathTemplate.js +15 -0
  156. package/lib/generates/internal/SdkPathTemplate.js.map +1 -1
  157. package/lib/generates/internal/SdkRouteDirectory.d.ts +10 -0
  158. package/lib/generates/internal/SdkRouteDirectory.js +10 -0
  159. package/lib/generates/internal/SdkRouteDirectory.js.map +1 -1
  160. package/lib/generates/internal/SdkTypeProgrammer.d.ts +54 -1
  161. package/lib/generates/internal/SdkTypeProgrammer.js +96 -12
  162. package/lib/generates/internal/SdkTypeProgrammer.js.map +1 -1
  163. package/lib/generates/internal/SdkTypeTagProgrammer.d.ts +36 -3
  164. package/lib/generates/internal/SdkTypeTagProgrammer.js +28 -7
  165. package/lib/generates/internal/SdkTypeTagProgrammer.js.map +1 -1
  166. package/lib/generates/internal/SdkWebSocketCloneProgrammer.d.ts +40 -0
  167. package/lib/generates/internal/SdkWebSocketCloneProgrammer.js +149 -142
  168. package/lib/generates/internal/SdkWebSocketCloneProgrammer.js.map +1 -1
  169. package/lib/generates/internal/SdkWebSocketNamespaceProgrammer.d.ts +19 -0
  170. package/lib/generates/internal/SdkWebSocketNamespaceProgrammer.js +19 -0
  171. package/lib/generates/internal/SdkWebSocketNamespaceProgrammer.js.map +1 -1
  172. package/lib/generates/internal/SdkWebSocketParameterProgrammer.d.ts +81 -2
  173. package/lib/generates/internal/SdkWebSocketParameterProgrammer.js +48 -0
  174. package/lib/generates/internal/SdkWebSocketParameterProgrammer.js.map +1 -1
  175. package/lib/generates/internal/SdkWebSocketRouteProgrammer.d.ts +18 -0
  176. package/lib/generates/internal/SdkWebSocketRouteProgrammer.js +18 -0
  177. package/lib/generates/internal/SdkWebSocketRouteProgrammer.js.map +1 -1
  178. package/lib/generates/internal/SwaggerDescriptionComposer.d.ts +42 -0
  179. package/lib/generates/internal/SwaggerDescriptionComposer.js +44 -1
  180. package/lib/generates/internal/SwaggerDescriptionComposer.js.map +1 -1
  181. package/lib/generates/internal/SwaggerOperationComposer.d.ts +18 -0
  182. package/lib/generates/internal/SwaggerOperationComposer.js +18 -0
  183. package/lib/generates/internal/SwaggerOperationComposer.js.map +1 -1
  184. package/lib/generates/internal/SwaggerOperationParameterComposer.d.ts +39 -0
  185. package/lib/generates/internal/SwaggerOperationParameterComposer.js +31 -8
  186. package/lib/generates/internal/SwaggerOperationParameterComposer.js.map +1 -1
  187. package/lib/generates/internal/SwaggerOperationResponseComposer.d.ts +19 -0
  188. package/lib/generates/internal/SwaggerOperationResponseComposer.js +19 -0
  189. package/lib/generates/internal/SwaggerOperationResponseComposer.js.map +1 -1
  190. package/lib/internal/legacy.d.ts +296 -16
  191. package/lib/internal/legacy.js +127 -10
  192. package/lib/internal/legacy.js.map +1 -1
  193. package/lib/structures/INestiaProject.d.ts +10 -0
  194. package/lib/structures/INestiaSdkInput.d.ts +30 -0
  195. package/lib/structures/IOperationMetadata.d.ts +55 -0
  196. package/lib/structures/IReflectController.d.ts +10 -0
  197. package/lib/structures/IReflectHttpOperation.d.ts +10 -0
  198. package/lib/structures/IReflectHttpOperationException.d.ts +10 -0
  199. package/lib/structures/IReflectHttpOperationParameter.d.ts +47 -0
  200. package/lib/structures/IReflectHttpOperationSuccess.d.ts +11 -0
  201. package/lib/structures/IReflectImport.d.ts +10 -0
  202. package/lib/structures/IReflectMcpOperation.d.ts +19 -0
  203. package/lib/structures/IReflectMcpOperationParameter.d.ts +9 -0
  204. package/lib/structures/IReflectOperationError.d.ts +28 -0
  205. package/lib/structures/IReflectOperationError.js +22 -2
  206. package/lib/structures/IReflectOperationError.js.map +1 -1
  207. package/lib/structures/IReflectType.d.ts +9 -0
  208. package/lib/structures/IReflectWebSocketOperation.d.ts +10 -0
  209. package/lib/structures/IReflectWebSocketOperationParameter.d.ts +55 -0
  210. package/lib/structures/ITypedApplication.d.ts +10 -0
  211. package/lib/structures/ITypedHttpRoute.d.ts +10 -0
  212. package/lib/structures/ITypedHttpRouteException.d.ts +10 -0
  213. package/lib/structures/ITypedHttpRouteParameter.d.ts +45 -0
  214. package/lib/structures/ITypedHttpRouteSuccess.d.ts +10 -0
  215. package/lib/structures/ITypedMcpRoute.d.ts +11 -0
  216. package/lib/structures/ITypedWebSocketRoute.d.ts +10 -0
  217. package/lib/transform.d.ts +6 -0
  218. package/lib/transform.js +6 -0
  219. package/lib/transform.js.map +1 -1
  220. package/lib/utils/ArrayUtil.d.ts +31 -1
  221. package/lib/utils/ArrayUtil.js +32 -11
  222. package/lib/utils/ArrayUtil.js.map +1 -1
  223. package/lib/utils/EmittedJavaScriptPatcher.d.ts +20 -0
  224. package/lib/utils/EmittedJavaScriptPatcher.js +65 -46
  225. package/lib/utils/EmittedJavaScriptPatcher.js.map +1 -1
  226. package/lib/utils/FileRetriever.d.ts +29 -0
  227. package/lib/utils/FileRetriever.js +29 -0
  228. package/lib/utils/FileRetriever.js.map +1 -1
  229. package/lib/utils/HttpResponseContentTypeUtil.d.ts +41 -0
  230. package/lib/utils/HttpResponseContentTypeUtil.js +31 -0
  231. package/lib/utils/HttpResponseContentTypeUtil.js.map +1 -1
  232. package/lib/utils/MapUtil.d.ts +64 -1
  233. package/lib/utils/MapUtil.js +24 -3
  234. package/lib/utils/MapUtil.js.map +1 -1
  235. package/lib/utils/PathUtil.d.ts +31 -0
  236. package/lib/utils/PathUtil.js +38 -0
  237. package/lib/utils/PathUtil.js.map +1 -1
  238. package/lib/utils/SdkBundlePath.d.ts +2 -0
  239. package/lib/utils/SdkBundlePath.js +10 -0
  240. package/lib/utils/SdkBundlePath.js.map +1 -0
  241. package/lib/utils/SdkInputFilter.d.ts +31 -0
  242. package/lib/utils/SdkInputFilter.js +115 -0
  243. package/lib/utils/SdkInputFilter.js.map +1 -0
  244. package/lib/utils/SourceFinder.d.ts +35 -0
  245. package/lib/utils/SourceFinder.js +47 -12
  246. package/lib/utils/SourceFinder.js.map +1 -1
  247. package/lib/utils/StringUtil.d.ts +77 -2
  248. package/lib/utils/StringUtil.js +166 -4
  249. package/lib/utils/StringUtil.js.map +1 -1
  250. package/lib/utils/TemporaryDirectory.d.ts +60 -0
  251. package/lib/utils/TemporaryDirectory.js +112 -0
  252. package/lib/utils/TemporaryDirectory.js.map +1 -0
  253. package/lib/utils/TsConfigReader.d.ts +42 -0
  254. package/lib/utils/TsConfigReader.js +98 -14
  255. package/lib/utils/TsConfigReader.js.map +1 -1
  256. package/lib/utils/TtscExecutor.d.ts +23 -1
  257. package/lib/utils/TtscExecutor.js +22 -0
  258. package/lib/utils/TtscExecutor.js.map +1 -1
  259. package/lib/utils/VersioningStrategy.d.ts +26 -1
  260. package/lib/utils/VersioningStrategy.js +30 -9
  261. package/lib/utils/VersioningStrategy.js.map +1 -1
  262. package/lib/validators/TextPlainValidator.d.ts +19 -0
  263. package/lib/validators/TextPlainValidator.js +19 -0
  264. package/lib/validators/TextPlainValidator.js.map +1 -1
  265. package/native/go.mod +1 -1
  266. package/native/go.sum +2 -2
  267. package/native/sdk/register.go +12 -2
  268. package/native/sdk/sdk_metadata_json.go +6 -1
  269. package/native/sdk/sdk_transform.go +388 -397
  270. package/package.json +7 -5
  271. package/src/INestiaConfig.ts +55 -24
  272. package/src/NestiaSdkApplication.ts +66 -7
  273. package/src/NestiaSwaggerComposer.ts +21 -6
  274. package/src/analyses/AccessorAnalyzer.ts +26 -0
  275. package/src/analyses/ConfigAnalyzer.ts +49 -87
  276. package/src/analyses/ImportAnalyzer.ts +25 -0
  277. package/src/analyses/ParameterNameAnalyzer.ts +24 -0
  278. package/src/analyses/PathAnalyzer.ts +63 -11
  279. package/src/analyses/ReflectControllerAnalyzer.ts +32 -0
  280. package/src/analyses/ReflectHttpOperationAnalyzer.ts +32 -10
  281. package/src/analyses/ReflectHttpOperationExceptionAnalyzer.ts +31 -0
  282. package/src/analyses/ReflectHttpOperationParameterAnalyzer.ts +31 -0
  283. package/src/analyses/ReflectHttpOperationResponseAnalyzer.ts +32 -0
  284. package/src/analyses/ReflectMcpOperationAnalyzer.ts +32 -1
  285. package/src/analyses/ReflectMetadataAnalyzer.ts +47 -0
  286. package/src/analyses/ReflectWebSocketOperationAnalyzer.ts +33 -4
  287. package/src/analyses/SecurityAnalyzer.ts +15 -0
  288. package/src/analyses/SwaggerExampleAnalyzer.ts +16 -0
  289. package/src/analyses/TypedHttpRouteAnalyzer.ts +240 -184
  290. package/src/analyses/TypedMcpRouteAnalyzer.ts +180 -20
  291. package/src/analyses/TypedWebSocketRouteAnalyzer.ts +19 -0
  292. package/src/decorators/OperationMetadata.ts +6 -0
  293. package/src/executable/internal/CommandParser.ts +19 -0
  294. package/src/executable/internal/NestiaConfigLoader.ts +66 -50
  295. package/src/executable/internal/NestiaSdkCommand.ts +96 -3
  296. package/src/executable/internal/NestiaSdkWatcher.ts +169 -41
  297. package/src/executable/internal/NestiaSwaggerWatch.ts +359 -0
  298. package/src/factories/ExpressionFactory.ts +17 -2
  299. package/src/factories/IdentifierFactory.ts +24 -0
  300. package/src/factories/LiteralFactory.ts +44 -11
  301. package/src/factories/StatementFactory.ts +28 -1
  302. package/src/factories/TypeFactory.ts +24 -0
  303. package/src/generates/CloneGenerator.ts +26 -5
  304. package/src/generates/E2eGenerator.ts +19 -0
  305. package/src/generates/SdkGenerator.ts +40 -9
  306. package/src/generates/SwaggerGenerator.ts +56 -14
  307. package/src/generates/internal/E2eFileProgrammer.ts +20 -0
  308. package/src/generates/internal/FilePrinter.ts +43 -0
  309. package/src/generates/internal/ImportDictionary.ts +110 -3
  310. package/src/generates/internal/SdkAliasCollection.ts +133 -11
  311. package/src/generates/internal/SdkDistributionComposer.ts +117 -66
  312. package/src/generates/internal/SdkFileProgrammer.ts +18 -0
  313. package/src/generates/internal/SdkHttpCloneProgrammer.ts +55 -0
  314. package/src/generates/internal/SdkHttpCloneReferencer.ts +97 -23
  315. package/src/generates/internal/SdkHttpFunctionProgrammer.ts +19 -0
  316. package/src/generates/internal/SdkHttpNamespaceProgrammer.ts +19 -0
  317. package/src/generates/internal/SdkHttpParameterProgrammer.ts +104 -2
  318. package/src/generates/internal/SdkHttpRouteProgrammer.ts +20 -0
  319. package/src/generates/internal/SdkHttpSimulationProgrammer.ts +72 -5
  320. package/src/generates/internal/SdkImportWizard.ts +63 -0
  321. package/src/generates/internal/SdkMcpRouteProgrammer.ts +38 -18
  322. package/src/generates/internal/SdkPathTemplate.ts +15 -0
  323. package/src/generates/internal/SdkRouteDirectory.ts +10 -0
  324. package/src/generates/internal/SdkTypeProgrammer.ts +118 -14
  325. package/src/generates/internal/SdkTypeTagProgrammer.ts +37 -7
  326. package/src/generates/internal/SdkWebSocketCloneProgrammer.ts +185 -142
  327. package/src/generates/internal/SdkWebSocketNamespaceProgrammer.ts +19 -0
  328. package/src/generates/internal/SdkWebSocketParameterProgrammer.ts +81 -2
  329. package/src/generates/internal/SdkWebSocketRouteProgrammer.ts +18 -0
  330. package/src/generates/internal/SwaggerDescriptionComposer.ts +47 -1
  331. package/src/generates/internal/SwaggerOperationComposer.ts +18 -0
  332. package/src/generates/internal/SwaggerOperationParameterComposer.ts +41 -8
  333. package/src/generates/internal/SwaggerOperationResponseComposer.ts +19 -0
  334. package/src/internal/legacy-augmentation.d.ts +16 -0
  335. package/src/internal/legacy.ts +296 -26
  336. package/src/structures/INestiaProject.ts +10 -0
  337. package/src/structures/INestiaSdkInput.ts +30 -0
  338. package/src/structures/IOperationMetadata.ts +55 -0
  339. package/src/structures/IReflectController.ts +10 -0
  340. package/src/structures/IReflectHttpOperation.ts +10 -0
  341. package/src/structures/IReflectHttpOperationException.ts +10 -0
  342. package/src/structures/IReflectHttpOperationParameter.ts +47 -0
  343. package/src/structures/IReflectHttpOperationSuccess.ts +11 -0
  344. package/src/structures/IReflectImport.ts +10 -0
  345. package/src/structures/IReflectMcpOperation.ts +19 -0
  346. package/src/structures/IReflectMcpOperationParameter.ts +9 -0
  347. package/src/structures/IReflectOperationError.ts +31 -2
  348. package/src/structures/IReflectType.ts +9 -0
  349. package/src/structures/IReflectWebSocketOperation.ts +10 -0
  350. package/src/structures/IReflectWebSocketOperationParameter.ts +55 -0
  351. package/src/structures/ITypedApplication.ts +10 -0
  352. package/src/structures/ITypedHttpRoute.ts +10 -0
  353. package/src/structures/ITypedHttpRouteException.ts +10 -0
  354. package/src/structures/ITypedHttpRouteParameter.ts +45 -0
  355. package/src/structures/ITypedHttpRouteSuccess.ts +10 -0
  356. package/src/structures/ITypedMcpRoute.ts +12 -0
  357. package/src/structures/ITypedWebSocketRoute.ts +10 -0
  358. package/src/transform.ts +6 -0
  359. package/src/utils/ArrayUtil.ts +32 -13
  360. package/src/utils/EmittedJavaScriptPatcher.ts +70 -47
  361. package/src/utils/FileRetriever.ts +29 -0
  362. package/src/utils/HttpResponseContentTypeUtil.ts +41 -0
  363. package/src/utils/MapUtil.ts +68 -3
  364. package/src/utils/PathUtil.ts +38 -0
  365. package/src/utils/SdkBundlePath.ts +11 -0
  366. package/src/utils/SdkInputFilter.ts +108 -0
  367. package/src/utils/SourceFinder.ts +51 -14
  368. package/src/utils/StringUtil.ts +182 -5
  369. package/src/utils/TemporaryDirectory.ts +108 -0
  370. package/src/utils/TsConfigReader.ts +124 -26
  371. package/src/utils/TtscExecutor.ts +23 -1
  372. package/src/utils/VersioningStrategy.ts +33 -13
  373. package/src/validators/TextPlainValidator.ts +19 -0
  374. package/lib/generates/internal/SwaggerReadonlyArrayEmender.d.ts +0 -9
  375. package/lib/generates/internal/SwaggerReadonlyArrayEmender.js +0 -178
  376. package/lib/generates/internal/SwaggerReadonlyArrayEmender.js.map +0 -1
  377. package/src/generates/internal/SwaggerReadonlyArrayEmender.ts +0 -264
@@ -13,10 +13,33 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
13
13
  };
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.SdkWebSocketCloneProgrammer = void 0;
16
+ const parser_1 = require("@babel/parser");
16
17
  const fs_1 = __importDefault(require("fs"));
17
18
  const path_1 = __importDefault(require("path"));
19
+ /**
20
+ * Copies the declarations a WebSocket route's types come from into the
21
+ * `structures` directory.
22
+ *
23
+ * @evidence contracts/common.md#principled-implementation A WebSocket route refers to types by import, so the declaration and the declarations it uses are copied as text from the source files, not rebuilt from metadata.
24
+ * @evidence contracts/common.md#clear-and-simple-design One public function with syntax-tree helpers for declarations and imports.
25
+ * @evidence contracts/common.md#prohibited-implementation-shortcuts The TypeScript syntax parser determines declaration and import boundaries, including automatic semicolon insertion; a package file or a name declared differently in two files is never copied.
26
+ * @evidence contracts/common.md#meaningful-documentation The comment states what the declaration produces and its result.
27
+ * @evidence contracts/portability.md#os-neutral-implementation Source candidates use Node path.resolve/join and fs.stat/readFile; outputs use recursive mkdir and UTF-8 writes. Retained relative imports are rebased with native path.relative and rendered with module separators; cross-volume absolute paths remain absolute. Supported source candidates currently include .ts/.tsx/.d.ts rather than .mts/.cts.
28
+ */
18
29
  var SdkWebSocketCloneProgrammer;
19
30
  (function (SdkWebSocketCloneProgrammer) {
31
+ /**
32
+ * Copies named project-local declarations imported by WebSocket routes, and
33
+ * returns the identities successfully cloned. Default and namespace imports
34
+ * remain source imports; a missing source or conflicting output name is not
35
+ * reported as cloned.
36
+ *
37
+ * @evidence contracts/common.md#principled-implementation Named imports are followed by resolved source/name identity; pending entries break recursive dependency cycles, written entries reuse completed copies, and missing or conflicting declarations return false. External, default and namespace bindings remain imports rather than reconstructed declarations.
38
+ * @evidence contracts/common.md#clear-and-simple-design One loop over the routes' imports.
39
+ * @evidence contracts/common.md#prohibited-implementation-shortcuts Only the imports that resolved to a source file are reported.
40
+ * @evidence contracts/common.md#meaningful-documentation The comment states what the declaration produces and its result.
41
+ * @evidence contracts/portability.md#os-neutral-implementation Source lookup uses native fs.stat and path operations and rejects dependency paths by a node_modules component. The output uses the configured native directory; cache keys retain resolved pathname spelling rather than claiming canonical case or symlink identity.
42
+ */
20
43
  SdkWebSocketCloneProgrammer.write = (app) => __awaiter(this, void 0, void 0, function* () {
21
44
  var _a;
22
45
  var _b;
@@ -48,7 +71,7 @@ var SdkWebSocketCloneProgrammer;
48
71
  return false;
49
72
  ctx.visited.set(key, "pending");
50
73
  const text = yield fs_1.default.promises.readFile(location, "utf8");
51
- const declarations = getDeclarations(text, name);
74
+ const declarations = getDeclarations(text, name, location);
52
75
  if (declarations.length === 0) {
53
76
  ctx.visited.set(key, "missing");
54
77
  return false;
@@ -78,30 +101,37 @@ var SdkWebSocketCloneProgrammer;
78
101
  if (imports.includes(line) === false)
79
102
  imports.push(line);
80
103
  };
81
- for (const imp of getImports(props.source)) {
104
+ for (const imp of getImports(props.source, props.location)) {
82
105
  const relative = imp.specifier.startsWith(".");
106
+ const retained = new Set();
83
107
  for (const elem of imp.elements) {
84
- if (uses(props.body, elem.local) === false)
108
+ if (uses(props.body, elem.local, props.location) === false)
85
109
  continue;
86
110
  if (relative === false) {
87
- add(imp.text);
111
+ retained.add(elem.local);
88
112
  continue;
89
113
  }
90
114
  const sourceFile = path_1.default.resolve(path_1.default.dirname(props.location), imp.specifier);
91
115
  if ((yield clone(ctx)(sourceFile, elem.imported)) === false) {
92
- add(imp.text);
116
+ retained.add(elem.local);
93
117
  continue;
94
118
  }
95
119
  add(`import type { ${elem.imported}${elem.imported === elem.local ? "" : ` as ${elem.local}`} } from "./${elem.imported}";`);
96
120
  }
97
121
  for (const name of [imp.default, imp.namespace])
98
- if (name !== null && uses(props.body, name))
99
- add(imp.text);
122
+ if (name !== null && uses(props.body, name, props.location))
123
+ retained.add(name);
124
+ if (retained.size !== 0) {
125
+ const specifier = relative
126
+ ? relativeImport(ctx.output, path_1.default.resolve(path_1.default.dirname(props.location), imp.specifier))
127
+ : imp.specifier;
128
+ add(retainedImport(imp, retained, specifier));
129
+ }
100
130
  }
101
- for (const name of getExportedNames(props.source)) {
131
+ for (const name of getExportedNames(props.source, props.location)) {
102
132
  if (name === null || name === props.target)
103
133
  continue;
104
- if (uses(props.body, name) === false)
134
+ if (uses(props.body, name, props.location) === false)
105
135
  continue;
106
136
  if ((yield clone(ctx)(props.location, name)) === true)
107
137
  add(`import type { ${name} } from "./${name}";`);
@@ -136,148 +166,125 @@ var SdkWebSocketCloneProgrammer;
136
166
  return file.slice(0, -ext.length);
137
167
  return file;
138
168
  };
139
- const getDeclarations = (source, name) => {
140
- const output = [];
141
- const searchable = maskTrivia(source);
142
- const regex = declarationRegex(name);
143
- for (const match of searchable.matchAll(regex)) {
144
- if (isTopLevel(searchable, match.index) === false)
145
- continue;
146
- const end = declarationEnd(searchable, match.index, match[1]);
147
- if (end !== -1)
148
- output.push(source.slice(match.index, end).trim());
169
+ const syntax = (source, filename) => {
170
+ const options = {
171
+ sourceType: "module",
172
+ sourceFilename: filename,
173
+ };
174
+ const dialect = (decorators) => (0, parser_1.parse)(source, Object.assign(Object.assign({}, options), { plugins: [
175
+ decorators,
176
+ "decoratorAutoAccessors",
177
+ ["typescript", { dts: /\.d\.[cm]?ts$/.test(filename) }],
178
+ ...(filename.endsWith(".tsx") ? ["jsx"] : []),
179
+ ] })).program;
180
+ // Nest parameter decorators use the legacy dialect. Standard decorators
181
+ // also permit placement after export; retry that strict grammar without
182
+ // enabling error recovery or accepting a partial syntax tree.
183
+ try {
184
+ return dialect("decorators-legacy");
149
185
  }
150
- return output;
151
- };
152
- const getExportedNames = (source) => {
153
- const searchable = maskTrivia(source);
154
- return Array.from(searchable.matchAll(declarationRegex("[A-Za-z_$][\\w$]*")))
155
- .filter((match) => isTopLevel(searchable, match.index))
156
- .map((match) => match[2]);
157
- };
158
- const declarationRegex = (name) => new RegExp(`export\\s+(?:declare\\s+)?(interface|type|enum|namespace|class)\\s+(${name})\\b`, "g");
159
- const declarationEnd = (source, start, kind) => {
160
- let depth = 0;
161
- let block = false;
162
- for (let i = start; i < source.length; ++i) {
163
- const ch = source[i];
164
- if (ch === "{") {
165
- ++depth;
166
- block = true;
167
- }
168
- else if (ch === "}") {
169
- --depth;
170
- if (kind !== "type" && block && depth === 0)
171
- return i + 1;
172
- }
173
- else if (ch === ";" && block === false && depth === 0)
174
- return i + 1;
175
- else if (ch === ";" && kind === "type" && depth === 0)
176
- return i + 1;
186
+ catch (_a) {
187
+ return dialect("decorators");
177
188
  }
178
- return -1;
179
189
  };
180
- const isTopLevel = (source, index) => {
181
- let depth = 0;
182
- for (let i = 0; i < index; ++i) {
183
- const ch = source[i];
184
- if (ch === "{")
185
- ++depth;
186
- else if (ch === "}")
187
- --depth;
188
- }
189
- return depth === 0;
190
+ const exportedName = (statement) => {
191
+ var _a;
192
+ if (statement.type !== "ExportNamedDeclaration")
193
+ return null;
194
+ const declaration = statement.declaration;
195
+ if (declaration === null ||
196
+ declaration === undefined ||
197
+ !("id" in declaration))
198
+ return null;
199
+ return ((_a = declaration.id) === null || _a === void 0 ? void 0 : _a.type) === "Identifier" ? declaration.id.name : null;
190
200
  };
191
- const maskTrivia = (source) => {
192
- const out = source.split("");
193
- const mask = (index) => {
194
- if (out[index] !== "\n" && out[index] !== "\r")
195
- out[index] = " ";
196
- };
197
- let quote = null;
198
- let escaped = false;
199
- for (let i = 0; i < out.length; ++i) {
200
- const ch = source[i];
201
- const next = source[i + 1];
202
- if (quote !== null) {
203
- mask(i);
204
- if (escaped)
205
- escaped = false;
206
- else if (ch === "\\")
207
- escaped = true;
208
- else if (ch === quote)
209
- quote = null;
210
- }
211
- else if (ch === "/" && next === "/") {
212
- mask(i++);
213
- for (; i < out.length && source[i] !== "\n"; ++i)
214
- mask(i);
215
- --i;
216
- }
217
- else if (ch === "/" && next === "*") {
218
- mask(i++);
219
- mask(i);
220
- for (++i; i < out.length; ++i) {
221
- const current = source[i];
222
- const following = source[i + 1];
223
- mask(i);
224
- if (current === "*" && following === "/") {
225
- mask(++i);
226
- break;
227
- }
228
- }
229
- }
230
- else if (ch === '"' || ch === "'" || ch === "`") {
231
- quote = ch;
232
- mask(i);
233
- }
201
+ const getDeclarations = (source, name, filename) => syntax(source, filename)
202
+ .body.filter((statement) => exportedName(statement) === name)
203
+ .map((statement) => source.slice(statement.start, statement.end));
204
+ const getExportedNames = (source, filename) => syntax(source, filename)
205
+ .body.map(exportedName)
206
+ .filter((name) => name !== null);
207
+ const getImports = (source, filename) => syntax(source, filename)
208
+ .body.filter((statement) => statement.type === "ImportDeclaration")
209
+ .map((statement) => { var _a, _b; var _c, _d; return ({
210
+ node: statement,
211
+ text: source.slice(statement.start, statement.end),
212
+ specifier: statement.source.value,
213
+ default: (_c = (_a = statement.specifiers.find((specifier) => specifier.type === "ImportDefaultSpecifier")) === null || _a === void 0 ? void 0 : _a.local.name) !== null && _c !== void 0 ? _c : null,
214
+ namespace: (_d = (_b = statement.specifiers.find((specifier) => specifier.type === "ImportNamespaceSpecifier")) === null || _b === void 0 ? void 0 : _b.local.name) !== null && _d !== void 0 ? _d : null,
215
+ elements: statement.specifiers
216
+ .filter((specifier) => specifier.type === "ImportSpecifier")
217
+ .map((specifier) => ({
218
+ imported: specifier.imported.type === "Identifier"
219
+ ? specifier.imported.name
220
+ : specifier.imported.value,
221
+ local: specifier.local.name,
222
+ })),
223
+ }); });
224
+ /** Rebuilds only retained bindings, preserving their authored type modifiers. */
225
+ const retainedImport = (imp, retained, specifier) => {
226
+ const clauses = [];
227
+ const named = [];
228
+ for (const binding of imp.node.specifiers) {
229
+ if (!retained.has(binding.local.name))
230
+ continue;
231
+ if (binding.type === "ImportDefaultSpecifier")
232
+ clauses.push(binding.local.name);
233
+ else if (binding.type === "ImportNamespaceSpecifier")
234
+ clauses.push(`* as ${binding.local.name}`);
235
+ else
236
+ named.push(imp.text.slice(binding.start - imp.node.start, binding.end - imp.node.start));
234
237
  }
235
- return out.join("");
238
+ if (named.length)
239
+ clauses.push(`{ ${named.join(", ")} }`);
240
+ const suffix = imp.text.slice(imp.node.source.end - imp.node.start);
241
+ return `import${imp.node.importKind === "type" ? " type" : ""} ${clauses.join(", ")} from ${JSON.stringify(specifier)}${suffix}`;
236
242
  };
237
- const getImports = (source) => Array.from(source.matchAll(/import\s+([\s\S]*?)\s+from\s+["']([^"']+)["'];?/g)).map((match) => {
238
- const clause = match[1].trim();
239
- const specifier = match[2];
240
- return {
241
- text: match[0].trim(),
242
- specifier,
243
- default: defaultImportName(clause),
244
- namespace: namespaceImportName(clause),
245
- elements: namedImportElements(clause),
246
- };
247
- });
248
- const defaultImportName = (clause) => {
249
- const first = clause
250
- .split(",")[0]
251
- .trim()
252
- .replace(/^type\s+/, "");
253
- return first.length && first.startsWith("{") === false ? first : null;
254
- };
255
- const namespaceImportName = (clause) => {
256
- var _a;
257
- const match = clause.match(/\*\s+as\s+(\w+)/);
258
- return (_a = match === null || match === void 0 ? void 0 : match[1]) !== null && _a !== void 0 ? _a : null;
243
+ /** Module spelling from a copied declaration to its original source import. */
244
+ const relativeImport = (output, source) => {
245
+ const native = path_1.default.relative(output, source);
246
+ const relative = native.split(path_1.default.sep).join("/");
247
+ return path_1.default.isAbsolute(native) || relative.startsWith(".")
248
+ ? relative
249
+ : `./${relative}`;
259
250
  };
260
- const namedImportElements = (clause) => {
261
- const match = clause.match(/\{([\s\S]*?)\}/);
262
- if (match === null)
263
- return [];
264
- return match[1]
265
- .split(",")
266
- .map((part) => part.trim().replace(/^type\s+/, ""))
267
- .filter((part) => part.length)
268
- .map((part) => {
269
- var _a;
270
- const pieces = part.split(/\s+as\s+/);
271
- const imported = pieces[0].trim();
272
- return {
273
- imported,
274
- local: ((_a = pieces[1]) !== null && _a !== void 0 ? _a : imported).trim(),
275
- };
276
- });
251
+ const uses = (body, name, filename) => {
252
+ const visit = (value) => {
253
+ if (value === null || typeof value !== "object")
254
+ return false;
255
+ if (Array.isArray(value))
256
+ return value.some(visit);
257
+ const node = value;
258
+ if (node.type === "Identifier" && node.name === name)
259
+ return true;
260
+ return Object.entries(node).some(([key, child]) => key !== "comments" &&
261
+ key !== "leadingComments" &&
262
+ key !== "trailingComments" &&
263
+ key !== "innerComments" &&
264
+ key !== "loc" &&
265
+ visit(child));
266
+ };
267
+ return visit(syntax(body, filename));
277
268
  };
278
- const uses = (body, name) => new RegExp(`\\b${escapeRegExp(name)}\\b`).test(body);
279
- const escapeRegExp = (str) => str.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
269
+ /**
270
+ * Returns the key of an import: its file and name.
271
+ *
272
+ * @evidence contracts/common.md#principled-implementation The pair identifies one imported declaration.
273
+ * @evidence contracts/common.md#clear-and-simple-design One template.
274
+ * @evidence contracts/common.md#prohibited-implementation-shortcuts The key is the same wherever it is built.
275
+ * @evidence contracts/common.md#meaningful-documentation The comment states what the declaration produces and its result.
276
+ * @evidenceExclude contracts/portability.md#os-neutral-implementation importKey combines the supplied source identity and declaration name without opening a path or resolving filesystem identity; its caller owns source resolution.
277
+ */
280
278
  SdkWebSocketCloneProgrammer.importKey = (file, name) => `${file}#${name}`;
279
+ /**
280
+ * Reports whether a path lies under a `node_modules` directory.
281
+ *
282
+ * @evidence contracts/common.md#principled-implementation The path is resolved and split on both separators, so it holds on every platform.
283
+ * @evidence contracts/common.md#clear-and-simple-design One expression.
284
+ * @evidence contracts/common.md#prohibited-implementation-shortcuts A package's declaration is never copied.
285
+ * @evidence contracts/common.md#meaningful-documentation The comment states what the declaration produces and its result.
286
+ * @evidence contracts/portability.md#os-neutral-implementation path.resolve produces a native absolute spelling and splitting accepts both native separator forms. The literal node_modules component classifies installation layout; it does not inspect symlink targets or assert a volume's case equivalence.
287
+ */
281
288
  SdkWebSocketCloneProgrammer.isNodeModulesPath = (file) => path_1.default
282
289
  .resolve(file)
283
290
  .split(/[\\/]+/)
@@ -1 +1 @@
1
- {"version":3,"file":"SdkWebSocketCloneProgrammer.js","sourceRoot":"","sources":["../../../src/generates/internal/SdkWebSocketCloneProgrammer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SdkWebSocketCloneProgrammer.js","sourceRoot":"","sources":["../../../src/generates/internal/SdkWebSocketCloneProgrammer.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,25 @@ import { type Statement } from "@ttsc/factory";
2
2
  import { INestiaProject } from "../../structures/INestiaProject";
3
3
  import { ITypedWebSocketRoute } from "../../structures/ITypedWebSocketRoute";
4
4
  import { ImportDictionary } from "./ImportDictionary";
5
+ /**
6
+ * Writes the namespace of a WebSocket route.
7
+ *
8
+ * @evidence contracts/common.md#principled-implementation The namespace holds the route's connection types and its path builder.
9
+ * @evidence contracts/common.md#clear-and-simple-design One public function and two writers.
10
+ * @evidence contracts/common.md#prohibited-implementation-shortcuts The parts follow the route.
11
+ * @evidence contracts/common.md#meaningful-documentation The comment states what the declaration produces and its result.
12
+ * @evidenceExclude contracts/portability.md#os-neutral-implementation SdkWebSocketNamespaceProgrammer composes SDK syntax, identifiers or import bindings; it does not resolve native file identity or launch a process. Source resolution and file emission belong to their filesystem owners.
13
+ */
5
14
  export declare namespace SdkWebSocketNamespaceProgrammer {
15
+ /**
16
+ * Returns the namespace of a WebSocket route: its `Header`, `Query`,
17
+ * `Provider`, and `Listener` types and its `path`.
18
+ *
19
+ * @evidence contracts/common.md#principled-implementation Output, Header, Provider and Listener are always declared; Query requires a query parameter and Props requires keyword mode. A decorated header or driver supplies its type ahead of the acceptor's corresponding type argument.
20
+ * @evidence contracts/common.md#clear-and-simple-design One declaration composed of the writers.
21
+ * @evidence contracts/common.md#prohibited-implementation-shortcuts The members follow the route.
22
+ * @evidence contracts/common.md#meaningful-documentation The comment states what the declaration produces and its result.
23
+ * @evidenceExclude contracts/portability.md#os-neutral-implementation SdkWebSocketNamespaceProgrammer.write composes SDK syntax, identifiers or import bindings; it does not resolve native file identity or launch a process. Source resolution and file emission belong to their filesystem owners.
24
+ */
6
25
  const write: (project: INestiaProject) => (importer: ImportDictionary) => (route: ITypedWebSocketRoute) => Statement;
7
26
  }
@@ -9,8 +9,27 @@ const FilePrinter_1 = require("./FilePrinter");
9
9
  const SdkAliasCollection_1 = require("./SdkAliasCollection");
10
10
  const SdkPathTemplate_1 = require("./SdkPathTemplate");
11
11
  const SdkWebSocketParameterProgrammer_1 = require("./SdkWebSocketParameterProgrammer");
12
+ /**
13
+ * Writes the namespace of a WebSocket route.
14
+ *
15
+ * @evidence contracts/common.md#principled-implementation The namespace holds the route's connection types and its path builder.
16
+ * @evidence contracts/common.md#clear-and-simple-design One public function and two writers.
17
+ * @evidence contracts/common.md#prohibited-implementation-shortcuts The parts follow the route.
18
+ * @evidence contracts/common.md#meaningful-documentation The comment states what the declaration produces and its result.
19
+ * @evidenceExclude contracts/portability.md#os-neutral-implementation SdkWebSocketNamespaceProgrammer composes SDK syntax, identifiers or import bindings; it does not resolve native file identity or launch a process. Source resolution and file emission belong to their filesystem owners.
20
+ */
12
21
  var SdkWebSocketNamespaceProgrammer;
13
22
  (function (SdkWebSocketNamespaceProgrammer) {
23
+ /**
24
+ * Returns the namespace of a WebSocket route: its `Header`, `Query`,
25
+ * `Provider`, and `Listener` types and its `path`.
26
+ *
27
+ * @evidence contracts/common.md#principled-implementation Output, Header, Provider and Listener are always declared; Query requires a query parameter and Props requires keyword mode. A decorated header or driver supplies its type ahead of the acceptor's corresponding type argument.
28
+ * @evidence contracts/common.md#clear-and-simple-design One declaration composed of the writers.
29
+ * @evidence contracts/common.md#prohibited-implementation-shortcuts The members follow the route.
30
+ * @evidence contracts/common.md#meaningful-documentation The comment states what the declaration produces and its result.
31
+ * @evidenceExclude contracts/portability.md#os-neutral-implementation SdkWebSocketNamespaceProgrammer.write composes SDK syntax, identifiers or import bindings; it does not resolve native file identity or launch a process. Source resolution and file emission belong to their filesystem owners.
32
+ */
14
33
  SdkWebSocketNamespaceProgrammer.write = (project) => (importer) => (route) => factory_1.factory.createModuleDeclaration([factory_1.factory.createToken(factory_1.SyntaxKind.ExportKeyword)], factory_1.factory.createIdentifier(route.name), factory_1.factory.createModuleBlock([
15
34
  ...writeTypes(project)(importer)(route),
16
35
  FilePrinter_1.FilePrinter.enter(),
@@ -1 +1 @@
1
- {"version":3,"file":"SdkWebSocketNamespaceProgrammer.js","sourceRoot":"","sources":["../../../src/generates/internal/SdkWebSocketNamespaceProgrammer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SdkWebSocketNamespaceProgrammer.js","sourceRoot":"","sources":["../../../src/generates/internal/SdkWebSocketNamespaceProgrammer.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,25 @@ import { type Expression, type ParameterDeclaration, type TypeNode } from "@ttsc
2
2
  import { INestiaProject } from "../../structures/INestiaProject";
3
3
  import { ITypedWebSocketRoute } from "../../structures/ITypedWebSocketRoute";
4
4
  import { ITypedWebSocketRouteParameter } from "../../structures/ITypedWebSocketRouteParameter";
5
+ /**
6
+ * The parameters of a WebSocket route's SDK function.
7
+ *
8
+ * @evidence contracts/common.md#principled-implementation The namespace decides the identifiers, lists the entries, and writes the declarations, as the HTTP one does.
9
+ * @evidence contracts/common.md#clear-and-simple-design Several small functions.
10
+ * @evidence contracts/common.md#prohibited-implementation-shortcuts The identifiers are decided once.
11
+ * @evidence contracts/common.md#meaningful-documentation The comment states what the declaration produces and its result.
12
+ * @evidenceExclude contracts/portability.md#os-neutral-implementation SdkWebSocketParameterProgrammer composes SDK syntax, identifiers or import bindings; it does not resolve native file identity or launch a process. Source resolution and file emission belong to their filesystem owners.
13
+ */
5
14
  export declare namespace SdkWebSocketParameterProgrammer {
15
+ /**
16
+ * One parameter of a WebSocket route: its key and its type.
17
+ *
18
+ * @evidence contracts/common.md#principled-implementation The record is what a declaration needs.
19
+ * @evidence contracts/common.md#clear-and-simple-design A two-member record.
20
+ * @evidence contracts/common.md#prohibited-implementation-shortcuts It is a type and adds no runtime behavior.
21
+ * @evidence contracts/common.md#meaningful-documentation The comment states what the declaration produces and its result.
22
+ * @evidenceExclude contracts/portability.md#os-neutral-implementation SdkWebSocketParameterProgrammer.IEntry composes SDK syntax, identifiers or import bindings; it does not resolve native file identity or launch a process. Source resolution and file emission belong to their filesystem owners.
23
+ */
6
24
  interface IEntry {
7
25
  key: string;
8
26
  type: TypeNode;
@@ -17,6 +35,12 @@ export declare namespace SdkWebSocketParameterProgrammer {
17
35
  * carry the query object and the provider, so they yield to a path parameter
18
36
  * of the same name instead of repeating it. A `props` key shadows nothing, so
19
37
  * it yields to nothing else.
38
+ *
39
+ * @evidence contracts/common.md#principled-implementation One decision serves the two scopes.
40
+ * @evidence contracts/common.md#clear-and-simple-design A record of names and two lookups.
41
+ * @evidence contracts/common.md#prohibited-implementation-shortcuts It is a type and adds no runtime behavior.
42
+ * @evidence contracts/common.md#meaningful-documentation The comment states what the declaration produces and its result.
43
+ * @evidenceExclude contracts/portability.md#os-neutral-implementation SdkWebSocketParameterProgrammer.INames composes SDK syntax, identifiers or import bindings; it does not resolve native file identity or launch a process. Source resolution and file emission belong to their filesystem owners.
20
44
  */
21
45
  interface INames {
22
46
  connection: string;
@@ -31,26 +55,81 @@ export declare namespace SdkWebSocketParameterProgrammer {
31
55
  key: string;
32
56
  value: string;
33
57
  elem: string;
34
- /** Local identifier of a path parameter in positional mode. */
58
+ /**
59
+ * Local identifier of a path parameter in positional mode.
60
+ *
61
+ * @evidence contracts/common.md#principled-implementation A path parameter keeps its name unless the SDK cannot change the name it collides with.
62
+ * @evidence contracts/common.md#clear-and-simple-design One lookup.
63
+ * @evidence contracts/common.md#prohibited-implementation-shortcuts It reads the decision.
64
+ * @evidence contracts/common.md#meaningful-documentation The comment states what the declaration produces and its result.
65
+ * @evidenceExclude contracts/portability.md#os-neutral-implementation SdkWebSocketParameterProgrammer.INames.parameter composes SDK syntax, identifiers or import bindings; it does not resolve native file identity or launch a process. Source resolution and file emission belong to their filesystem owners.
66
+ */
35
67
  parameter: (p: ITypedWebSocketRouteParameter.IParam) => string;
36
- /** Reads a parameter, or one of `query` and `provider`, by its key. */
68
+ /**
69
+ * Reads a parameter, or one of `query` and `provider`, by its key.
70
+ *
71
+ * @evidence contracts/common.md#principled-implementation The read follows the mode of the function.
72
+ * @evidence contracts/common.md#clear-and-simple-design One lookup.
73
+ * @evidence contracts/common.md#prohibited-implementation-shortcuts It reads the decision.
74
+ * @evidence contracts/common.md#meaningful-documentation The comment states what the declaration produces and its result.
75
+ * @evidenceExclude contracts/portability.md#os-neutral-implementation SdkWebSocketParameterProgrammer.INames.access composes SDK syntax, identifiers or import bindings; it does not resolve native file identity or launch a process. Source resolution and file emission belong to their filesystem owners.
76
+ */
37
77
  access: (key: string) => Expression;
38
78
  }
79
+ /**
80
+ * Decides the identifiers of a WebSocket route's function and `path()` once.
81
+ *
82
+ * @evidence contracts/common.md#principled-implementation The fixed names each scope references are collected, and `query` and `provider` yield to a path parameter of the same name.
83
+ * @evidence contracts/common.md#clear-and-simple-design One function over the scope sets.
84
+ * @evidence contracts/common.md#prohibited-implementation-shortcuts Only shadowed names are renamed.
85
+ * @evidence contracts/common.md#meaningful-documentation The comment states what the declaration produces and its result.
86
+ * @evidenceExclude contracts/portability.md#os-neutral-implementation SdkWebSocketParameterProgrammer.getNames composes SDK syntax, identifiers or import bindings; it does not resolve native file identity or launch a process. Source resolution and file emission belong to their filesystem owners.
87
+ */
39
88
  const getNames: (props: {
40
89
  project: INestiaProject;
41
90
  route: ITypedWebSocketRoute;
42
91
  }) => INames;
92
+ /**
93
+ * Returns the entries of a WebSocket route: its path parameters, its query,
94
+ * and its provider.
95
+ *
96
+ * @evidence contracts/common.md#principled-implementation The query exists only when the route has one, and the provider is included only when the caller requests it.
97
+ * @evidence contracts/common.md#clear-and-simple-design One list.
98
+ * @evidence contracts/common.md#prohibited-implementation-shortcuts The order is the call order.
99
+ * @evidence contracts/common.md#meaningful-documentation The comment states what the declaration produces and its result.
100
+ * @evidenceExclude contracts/portability.md#os-neutral-implementation SdkWebSocketParameterProgrammer.getEntries composes SDK syntax, identifiers or import bindings; it does not resolve native file identity or launch a process. Source resolution and file emission belong to their filesystem owners.
101
+ */
43
102
  const getEntries: (props: {
44
103
  project: INestiaProject;
45
104
  route: ITypedWebSocketRoute;
46
105
  provider: boolean;
47
106
  prefix: boolean;
48
107
  }) => IEntry[];
108
+ /**
109
+ * Returns the parameter declarations of a WebSocket route's function: `props`
110
+ * in keyword mode, and one positional parameter per entry otherwise.
111
+ *
112
+ * @evidence contracts/common.md#principled-implementation The names come from `getNames`.
113
+ * @evidence contracts/common.md#clear-and-simple-design One function of two modes.
114
+ * @evidence contracts/common.md#prohibited-implementation-shortcuts The two modes share the entries.
115
+ * @evidence contracts/common.md#meaningful-documentation The comment states what the declaration produces and its result.
116
+ * @evidenceExclude contracts/portability.md#os-neutral-implementation SdkWebSocketParameterProgrammer.getParameterDeclarations composes SDK syntax, identifiers or import bindings; it does not resolve native file identity or launch a process. Source resolution and file emission belong to their filesystem owners.
117
+ */
49
118
  const getParameterDeclarations: (props: {
50
119
  project: INestiaProject;
51
120
  route: ITypedWebSocketRoute;
52
121
  provider: boolean;
53
122
  prefix: boolean;
54
123
  }) => ParameterDeclaration[];
124
+ /**
125
+ * Reports whether the route's path holds no parameter, so `path()` takes
126
+ * none.
127
+ *
128
+ * @evidence contracts/common.md#principled-implementation The route has no path parameter and no query.
129
+ * @evidence contracts/common.md#clear-and-simple-design One expression.
130
+ * @evidence contracts/common.md#prohibited-implementation-shortcuts It reads the route.
131
+ * @evidence contracts/common.md#meaningful-documentation The comment states what the declaration produces and its result.
132
+ * @evidenceExclude contracts/portability.md#os-neutral-implementation SdkWebSocketParameterProgrammer.isPathEmpty composes SDK syntax, identifiers or import bindings; it does not resolve native file identity or launch a process. Source resolution and file emission belong to their filesystem owners.
133
+ */
55
134
  const isPathEmpty: (route: ITypedWebSocketRoute) => boolean;
56
135
  }