@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
@@ -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":";;;;;;;;;;;;;;;AAAA,4CAAoB;AACpB,gDAAwB;AAIxB,IAAiB,2BAA2B,CAqS3C;AArSD,WAAiB,2BAA2B;IAC7B,iCAAK,GAAG,CAAO,GAAsB,EAAwB,EAAE;;;QAC1E,MAAM,GAAG,GAAa;YACpB,MAAM,EAAE,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,aAAa;YACjD,OAAO,EAAE,IAAI,GAAG,EAAE;YAClB,OAAO,EAAE,IAAI,GAAG,EAAE;SACnB,CAAC;QACF,MAAM,MAAM,GAAgB,IAAI,GAAG,EAAE,CAAC;QACtC,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,MAAM;YAC5B,IAAI,KAAK,CAAC,QAAQ,KAAK,WAAW;gBAChC,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,OAAO;oBAC7B,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;wBACjC,MAAM,QAAQ,SAAW,MAAA,GAAG,CAAC,cAAc,0CAAG,KAAK,CAAC,mCAAI,KAAK,CAAC;wBAC9D,IAAI,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC;4BACtC,MAAM,CAAC,GAAG,CAAC,qCAAS,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;oBAC9C,CAAC;QACP,OAAO,MAAM,CAAC;IAChB,CAAC,CAAA,CAAC;IAEF,MAAM,KAAK,GACT,CAAC,GAAa,EAAE,EAAE,CAClB,CAAO,IAAY,EAAE,IAAY,EAAoB,EAAE;QACrD,MAAM,QAAQ,GAAkB,MAAM,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAC9D,IAAI,QAAQ,KAAK,IAAI,IAAI,6CAAiB,CAAC,QAAQ,CAAC;YAAE,OAAO,KAAK,CAAC;QAEnE,MAAM,GAAG,GAAW,GAAG,QAAQ,IAAI,IAAI,EAAE,CAAC;QAC1C,MAAM,MAAM,GAA4B,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC7D,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO,IAAI,CAAC;aACzD,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO,KAAK,CAAC;QAC5C,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAEhC,MAAM,IAAI,GAAW,MAAM,YAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAClE,MAAM,YAAY,GAAa,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC3D,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9B,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;YAChC,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,IAAI,GAAW,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC/C,MAAM,OAAO,GAAa,MAAM,cAAc,CAAC,GAAG,CAAC,CAAC;YAClD,IAAI;YACJ,QAAQ;YACR,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,IAAI;SACb,CAAC,CAAC;QAEH,MAAM,OAAO,GACX,CAAC,GAAG,OAAO,EAAE,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;QACvE,MAAM,MAAM,GAAuB,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACzD,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;YAC/C,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;YAChC,OAAO,KAAK,CAAC;QACf,CAAC;QACD,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAE/B,MAAM,YAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACzD,MAAM,YAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,GAAG,CAAC,MAAM,IAAI,IAAI,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QACzE,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAChC,OAAO,IAAI,CAAC;IACd,CAAC,CAAA,CAAC;IAEJ,MAAM,cAAc,GAClB,CAAC,GAAa,EAAE,EAAE,CAClB,CAAO,KAKN,EAAqB,EAAE;QACtB,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,MAAM,GAAG,GAAG,CAAC,IAAY,EAAQ,EAAE;YACjC,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,KAAK;gBAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3D,CAAC,CAAC;QAEF,KAAK,MAAM,GAAG,IAAI,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3C,MAAM,QAAQ,GAAY,GAAG,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;YACxD,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;gBAChC,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK;oBAAE,SAAS;gBAErD,IAAI,QAAQ,KAAK,KAAK,EAAE,CAAC;oBACvB,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;oBACd,SAAS;gBACX,CAAC;gBAED,MAAM,UAAU,GAAW,cAAI,CAAC,OAAO,CACrC,cAAI,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,EAC5B,GAAG,CAAC,SAAS,CACd,CAAC;gBACF,IAAI,CAAC,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,KAAK,KAAK,EAAE,CAAC;oBAC5D,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;oBACd,SAAS;gBACX,CAAC;gBACD,GAAG,CACD,iBAAiB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,KAAK,EAAE,cAAc,IAAI,CAAC,QAAQ,IAAI,CACxH,CAAC;YACJ,CAAC;YACD,KAAK,MAAM,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,SAAS,CAAC;gBAC7C,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC;oBAAE,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC/D,CAAC;QAED,KAAK,MAAM,IAAI,IAAI,gBAAgB,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;YAClD,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,KAAK,CAAC,MAAM;gBAAE,SAAS;YACrD,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,KAAK;gBAAE,SAAS;YAC/C,IAAI,CAAC,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,KAAK,IAAI;gBACnD,GAAG,CAAC,iBAAiB,IAAI,cAAc,IAAI,IAAI,CAAC,CAAC;QACrD,CAAC;QACD,OAAO,OAAO,CAAC,IAAI,EAAE,CAAC;IACxB,CAAC,CAAA,CAAC;IAEJ,MAAM,iBAAiB,GAAG,CAAO,IAAY,EAA0B,EAAE;QACvE,MAAM,IAAI,GAAW,oBAAoB,CAAC,IAAI,CAAC,CAAC;QAChD,MAAM,UAAU,GAAa;YAC3B,IAAI;YACJ,IAAI;YACJ,GAAG,IAAI,KAAK;YACZ,GAAG,IAAI,MAAM;YACb,GAAG,IAAI,OAAO;YACd,cAAI,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC;YAC3B,cAAI,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC;SAC9B,CAAC;QACF,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACnC,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAW,cAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;gBACjD,MAAM,IAAI,GAAa,MAAM,YAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACxD,IAAI,IAAI,CAAC,MAAM,EAAE;oBAAE,OAAO,QAAQ,CAAC;YACrC,CAAC;uBAAO,CAAC,CAAA,CAAC;QACZ,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAA,CAAC;IAEF,MAAM,oBAAoB,GAAG,CAAC,IAAY,EAAU,EAAE;QACpD,KAAK,MAAM,GAAG,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;YAC/C,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;gBAAE,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC5D,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IAEF,MAAM,eAAe,GAAG,CAAC,MAAc,EAAE,IAAY,EAAY,EAAE;QACjE,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,MAAM,UAAU,GAAW,UAAU,CAAC,MAAM,CAAC,CAAC;QAC9C,MAAM,KAAK,GAAW,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAC7C,KAAK,MAAM,KAAK,IAAI,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YAC/C,IAAI,UAAU,CAAC,UAAU,EAAE,KAAK,CAAC,KAAM,CAAC,KAAK,KAAK;gBAAE,SAAS;YAC7D,MAAM,GAAG,GAAW,cAAc,CAAC,UAAU,EAAE,KAAK,CAAC,KAAM,EAAE,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC;YACxE,IAAI,GAAG,KAAK,CAAC,CAAC;gBAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,KAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QACtE,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;IAEF,MAAM,gBAAgB,GAAG,CAAC,MAAc,EAAY,EAAE;QACpD,MAAM,UAAU,GAAW,UAAU,CAAC,MAAM,CAAC,CAAC;QAC9C,OAAO,KAAK,CAAC,IAAI,CACf,UAAU,CAAC,QAAQ,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,CAAC,CAC3D;aACE,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,UAAU,CAAC,UAAU,EAAE,KAAK,CAAC,KAAM,CAAC,CAAC;aACvD,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC;IAC/B,CAAC,CAAC;IAEF,MAAM,gBAAgB,GAAG,CAAC,IAAY,EAAU,EAAE,CAChD,IAAI,MAAM,CACR,uEAAuE,IAAI,MAAM,EACjF,GAAG,CACJ,CAAC;IAEJ,MAAM,cAAc,GAAG,CACrB,MAAc,EACd,KAAa,EACb,IAAY,EACJ,EAAE;QACV,IAAI,KAAK,GAAW,CAAC,CAAC;QACtB,IAAI,KAAK,GAAY,KAAK,CAAC;QAC3B,KAAK,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;YAC3C,MAAM,EAAE,GAAW,MAAM,CAAC,CAAC,CAAE,CAAC;YAC9B,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;gBACf,EAAE,KAAK,CAAC;gBACR,KAAK,GAAG,IAAI,CAAC;YACf,CAAC;iBAAM,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;gBACtB,EAAE,KAAK,CAAC;gBACR,IAAI,IAAI,KAAK,MAAM,IAAI,KAAK,IAAI,KAAK,KAAK,CAAC;oBAAE,OAAO,CAAC,GAAG,CAAC,CAAC;YAC5D,CAAC;iBAAM,IAAI,EAAE,KAAK,GAAG,IAAI,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,CAAC;gBAAE,OAAO,CAAC,GAAG,CAAC,CAAC;iBACjE,IAAI,EAAE,KAAK,GAAG,IAAI,IAAI,KAAK,MAAM,IAAI,KAAK,KAAK,CAAC;gBAAE,OAAO,CAAC,GAAG,CAAC,CAAC;QACtE,CAAC;QACD,OAAO,CAAC,CAAC,CAAC;IACZ,CAAC,CAAC;IAEF,MAAM,UAAU,GAAG,CAAC,MAAc,EAAE,KAAa,EAAW,EAAE;QAC5D,IAAI,KAAK,GAAW,CAAC,CAAC;QACtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC;YAC/B,MAAM,EAAE,GAAW,MAAM,CAAC,CAAC,CAAE,CAAC;YAC9B,IAAI,EAAE,KAAK,GAAG;gBAAE,EAAE,KAAK,CAAC;iBACnB,IAAI,EAAE,KAAK,GAAG;gBAAE,EAAE,KAAK,CAAC;QAC/B,CAAC;QACD,OAAO,KAAK,KAAK,CAAC,CAAC;IACrB,CAAC,CAAC;IAEF,MAAM,UAAU,GAAG,CAAC,MAAc,EAAU,EAAE;QAC5C,MAAM,GAAG,GAAa,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACvC,MAAM,IAAI,GAAG,CAAC,KAAa,EAAQ,EAAE;YACnC,IAAI,GAAG,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,GAAG,CAAC,KAAK,CAAC,KAAK,IAAI;gBAAE,GAAG,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC;QACnE,CAAC,CAAC;QAEF,IAAI,KAAK,GAAkB,IAAI,CAAC;QAChC,IAAI,OAAO,GAAY,KAAK,CAAC;QAC7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;YACpC,MAAM,EAAE,GAAW,MAAM,CAAC,CAAC,CAAE,CAAC;YAC9B,MAAM,IAAI,GAAuB,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC/C,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;gBACnB,IAAI,CAAC,CAAC,CAAC,CAAC;gBACR,IAAI,OAAO;oBAAE,OAAO,GAAG,KAAK,CAAC;qBACxB,IAAI,EAAE,KAAK,IAAI;oBAAE,OAAO,GAAG,IAAI,CAAC;qBAChC,IAAI,EAAE,KAAK,KAAK;oBAAE,KAAK,GAAG,IAAI,CAAC;YACtC,CAAC;iBAAM,IAAI,EAAE,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;gBACtC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;gBACV,OAAO,CAAC,GAAG,GAAG,CAAC,MAAM,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,EAAE,CAAC;oBAAE,IAAI,CAAC,CAAC,CAAC,CAAC;gBAC1D,EAAE,CAAC,CAAC;YACN,CAAC;iBAAM,IAAI,EAAE,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;gBACtC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;gBACV,IAAI,CAAC,CAAC,CAAC,CAAC;gBACR,KAAK,EAAE,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;oBAC9B,MAAM,OAAO,GAAW,MAAM,CAAC,CAAC,CAAE,CAAC;oBACnC,MAAM,SAAS,GAAuB,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBACpD,IAAI,CAAC,CAAC,CAAC,CAAC;oBACR,IAAI,OAAO,KAAK,GAAG,IAAI,SAAS,KAAK,GAAG,EAAE,CAAC;wBACzC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;wBACV,MAAM;oBACR,CAAC;gBACH,CAAC;YACH,CAAC;iBAAM,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;gBAClD,KAAK,GAAG,EAAE,CAAC;gBACX,IAAI,CAAC,CAAC,CAAC,CAAC;YACV,CAAC;QACH,CAAC;QACD,OAAO,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACtB,CAAC,CAAC;IAEF,MAAM,UAAU,GAAG,CAAC,MAAc,EAAa,EAAE,CAC/C,KAAK,CAAC,IAAI,CACR,MAAM,CAAC,QAAQ,CAAC,kDAAkD,CAAC,CACpE,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QACd,MAAM,MAAM,GAAW,KAAK,CAAC,CAAC,CAAE,CAAC,IAAI,EAAE,CAAC;QACxC,MAAM,SAAS,GAAW,KAAK,CAAC,CAAC,CAAE,CAAC;QACpC,OAAO;YACL,IAAI,EAAE,KAAK,CAAC,CAAC,CAAE,CAAC,IAAI,EAAE;YACtB,SAAS;YACT,OAAO,EAAE,iBAAiB,CAAC,MAAM,CAAC;YAClC,SAAS,EAAE,mBAAmB,CAAC,MAAM,CAAC;YACtC,QAAQ,EAAE,mBAAmB,CAAC,MAAM,CAAC;SACtC,CAAC;IACJ,CAAC,CAAC,CAAC;IAEL,MAAM,iBAAiB,GAAG,CAAC,MAAc,EAAiB,EAAE;QAC1D,MAAM,KAAK,GAAW,MAAM;aACzB,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAE;aACd,IAAI,EAAE;aACN,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;QAC3B,OAAO,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;IACxE,CAAC,CAAC;IAEF,MAAM,mBAAmB,GAAG,CAAC,MAAc,EAAiB,EAAE;;QAC5D,MAAM,KAAK,GAA4B,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;QACvE,aAAO,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAG,CAAC,CAAC,mCAAI,IAAI,CAAC;IAC5B,CAAC,CAAC;IAEF,MAAM,mBAAmB,GAAG,CAAC,MAAc,EAAoB,EAAE;QAC/D,MAAM,KAAK,GAA4B,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;QACtE,IAAI,KAAK,KAAK,IAAI;YAAE,OAAO,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC,CAAC,CAAE;aACb,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;aAClD,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC;aAC7B,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;;YACZ,MAAM,MAAM,GAAa,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YAChD,MAAM,QAAQ,GAAW,MAAM,CAAC,CAAC,CAAE,CAAC,IAAI,EAAE,CAAC;YAC3C,OAAO;gBACL,QAAQ;gBACR,KAAK,EAAE,OAAC,MAAM,CAAC,CAAC,CAAC,mCAAI,QAAQ,CAAC,CAAC,IAAI,EAAE;aACtC,CAAC;QACJ,CAAC,CAAC,CAAC;IACP,CAAC,CAAC;IAEF,MAAM,IAAI,GAAG,CAAC,IAAY,EAAE,IAAY,EAAW,EAAE,CACnD,IAAI,MAAM,CAAC,MAAM,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEvD,MAAM,YAAY,GAAG,CAAC,GAAW,EAAU,EAAE,CAC3C,GAAG,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;IAEhC,qCAAS,GAAG,CAAC,IAAY,EAAE,IAAY,EAAU,EAAE,CAC9D,GAAG,IAAI,IAAI,IAAI,EAAE,CAAC;IAEP,6CAAiB,GAAG,CAAC,IAAY,EAAW,EAAE,CACzD,cAAI;SACD,OAAO,CAAC,IAAI,CAAC;SACb,KAAK,CAAC,QAAQ,CAAC;SACf,QAAQ,CAAC,cAAc,CAAC,CAAC;AAChC,CAAC,EArSgB,2BAA2B,aAA3B,2BAA2B,GAA3B,2BAA2B,QAqS3C"}
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
  }
@@ -7,13 +7,33 @@ const IdentifierFactory_1 = require("../../factories/IdentifierFactory");
7
7
  const TypeFactory_1 = require("../../factories/TypeFactory");
8
8
  const FilePrinter_1 = require("./FilePrinter");
9
9
  const SdkAliasCollection_1 = require("./SdkAliasCollection");
10
+ const SdkPathTemplate_1 = require("./SdkPathTemplate");
10
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
+ */
11
21
  var SdkWebSocketNamespaceProgrammer;
12
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
+ */
13
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([
14
34
  ...writeTypes(project)(importer)(route),
15
35
  FilePrinter_1.FilePrinter.enter(),
16
- writePath(project)(route),
36
+ writePath(project)(importer)(route),
17
37
  ]), factory_1.NodeFlags.Namespace);
18
38
  const writeTypes = (project) => (importer) => (route) => {
19
39
  var _a, _b, _c, _d, _e, _f;
@@ -21,7 +41,7 @@ var SdkWebSocketNamespaceProgrammer;
21
41
  const output = [];
22
42
  const declare = (name, type) => output.push(factory_1.factory.createTypeAliasDeclaration([factory_1.factory.createModifier(factory_1.SyntaxKind.ExportKeyword)], name, undefined, type));
23
43
  if (project.config.keyword === true)
24
- declare("Props", SdkAliasCollection_1.SdkAliasCollection.websocketProps(route));
44
+ declare("Props", SdkAliasCollection_1.SdkAliasCollection.websocketProps(route, SdkWebSocketParameterProgrammer_1.SdkWebSocketParameterProgrammer.getNames({ project, route })));
25
45
  declare("Output", factory_1.factory.createTypeLiteralNode([
26
46
  factory_1.factory.createPropertySignature(undefined, "connector", undefined, factory_1.factory.createTypeReferenceNode(importer.external({
27
47
  declaration: false,
@@ -54,7 +74,7 @@ var SdkWebSocketNamespaceProgrammer;
54
74
  declare("Query", SdkAliasCollection_1.SdkAliasCollection.name(route.query));
55
75
  return output;
56
76
  };
57
- const writePath = (project) => (route) => {
77
+ const writePath = (project) => (importer) => (route) => {
58
78
  const out = (body) => constant("path")(factory_1.factory.createArrowFunction([], [], SdkWebSocketParameterProgrammer_1.SdkWebSocketParameterProgrammer.getParameterDeclarations({
59
79
  project,
60
80
  route,
@@ -62,55 +82,45 @@ var SdkWebSocketNamespaceProgrammer;
62
82
  prefix: false,
63
83
  }), undefined, undefined, body));
64
84
  if (route.pathParameters.length === 0 && route.query === null)
65
- return out(factory_1.factory.createStringLiteral(route.path));
66
- const access = (key) => project.config.keyword === true
67
- ? factory_1.factory.createPropertyAccessExpression(factory_1.factory.createIdentifier("props"), key)
68
- : factory_1.factory.createIdentifier(key);
69
- const template = () => {
70
- const split = route.path.split(":");
71
- if (split.length === 1)
72
- return factory_1.factory.createStringLiteral(route.path);
73
- return factory_1.factory.createTemplateExpression(factory_1.factory.createTemplateHead(split[0]), split.slice(1).map((s, i, arr) => {
74
- const name = s.split("/")[0];
75
- return factory_1.factory.createTemplateSpan(factory_1.factory.createCallExpression(factory_1.factory.createIdentifier("encodeURIComponent"), undefined, [
76
- factory_1.factory.createBinaryExpression(factory_1.factory.createCallChain(factory_1.factory.createPropertyAccessChain(access(route.pathParameters.find((p) => p.field === name)
77
- .name), factory_1.factory.createToken(factory_1.SyntaxKind.QuestionDotToken), "toString"), undefined, undefined, []), factory_1.factory.createToken(factory_1.SyntaxKind.QuestionQuestionToken), factory_1.factory.createStringLiteral("null")),
78
- ]), (i !== arr.length - 1
79
- ? factory_1.factory.createTemplateMiddle
80
- : factory_1.factory.createTemplateTail)(s.substring(name.length)));
85
+ return out(SdkPathTemplate_1.SdkPathTemplate.compose({
86
+ importer,
87
+ path: route.path,
88
+ argument: () => factory_1.factory.createIdentifier("undefined"),
81
89
  }));
82
- };
90
+ const names = SdkWebSocketParameterProgrammer_1.SdkWebSocketParameterProgrammer.getNames({ project, route });
91
+ const template = () => SdkPathTemplate_1.SdkPathTemplate.compose({
92
+ importer,
93
+ path: route.path,
94
+ argument: (name) => names.access(names.parameter(route.pathParameters.find((p) => p.field === name))),
95
+ });
83
96
  if (route.query === null)
84
97
  return out(template());
85
98
  const block = (expr) => {
86
- const computeName = (str) => [...route.pathParameters, ...(route.query ? [route.query] : [])].find((p) => p.name === str) !== undefined
87
- ? computeName("_" + str)
88
- : str;
89
- const variables = computeName("variables");
99
+ const variables = names.variables;
90
100
  return factory_1.factory.createBlock([
91
101
  local(variables)("URLSearchParams")(factory_1.factory.createNewExpression(factory_1.factory.createIdentifier("URLSearchParams"), [], [])),
92
102
  factory_1.factory.createForOfStatement(undefined, factory_1.factory.createVariableDeclarationList([
93
103
  factory_1.factory.createVariableDeclaration(factory_1.factory.createArrayBindingPattern([
94
- factory_1.factory.createBindingElement(undefined, undefined, factory_1.factory.createIdentifier("key"), undefined),
95
- factory_1.factory.createBindingElement(undefined, undefined, factory_1.factory.createIdentifier("value"), undefined),
104
+ factory_1.factory.createBindingElement(undefined, undefined, factory_1.factory.createIdentifier(names.key), undefined),
105
+ factory_1.factory.createBindingElement(undefined, undefined, factory_1.factory.createIdentifier(names.value), undefined),
96
106
  ]), undefined, undefined, undefined),
97
- ], factory_1.NodeFlags.Const), factory_1.factory.createCallExpression(factory_1.factory.createIdentifier("Object.entries"), undefined, [factory_1.factory.createAsExpression(expr, TypeFactory_1.TypeFactory.keyword("any"))]), factory_1.factory.createIfStatement(factory_1.factory.createStrictEquality(factory_1.factory.createIdentifier("undefined"), factory_1.factory.createIdentifier("value")), factory_1.factory.createContinueStatement(), factory_1.factory.createIfStatement(factory_1.factory.createCallExpression(factory_1.factory.createIdentifier("Array.isArray"), undefined, [factory_1.factory.createIdentifier("value")]), factory_1.factory.createExpressionStatement(factory_1.factory.createCallExpression(factory_1.factory.createPropertyAccessExpression(factory_1.factory.createIdentifier("value"), factory_1.factory.createIdentifier("forEach")), undefined, [
98
- factory_1.factory.createArrowFunction(undefined, undefined, [IdentifierFactory_1.IdentifierFactory.parameter("elem")], undefined, undefined, factory_1.factory.createCallExpression(IdentifierFactory_1.IdentifierFactory.access(factory_1.factory.createIdentifier(variables), "append"), undefined, [
99
- factory_1.factory.createIdentifier("key"),
100
- factory_1.factory.createCallExpression(factory_1.factory.createIdentifier("String"), undefined, [factory_1.factory.createIdentifier("elem")]),
107
+ ], factory_1.NodeFlags.Const), factory_1.factory.createCallExpression(factory_1.factory.createIdentifier("Object.entries"), undefined, [factory_1.factory.createAsExpression(expr, TypeFactory_1.TypeFactory.keyword("any"))]), factory_1.factory.createIfStatement(factory_1.factory.createStrictEquality(factory_1.factory.createIdentifier("undefined"), factory_1.factory.createIdentifier(names.value)), factory_1.factory.createContinueStatement(), factory_1.factory.createIfStatement(factory_1.factory.createCallExpression(factory_1.factory.createIdentifier("Array.isArray"), undefined, [factory_1.factory.createIdentifier(names.value)]), factory_1.factory.createExpressionStatement(factory_1.factory.createCallExpression(factory_1.factory.createPropertyAccessExpression(factory_1.factory.createIdentifier(names.value), factory_1.factory.createIdentifier("forEach")), undefined, [
108
+ factory_1.factory.createArrowFunction(undefined, undefined, [IdentifierFactory_1.IdentifierFactory.parameter(names.elem)], undefined, undefined, factory_1.factory.createCallExpression(IdentifierFactory_1.IdentifierFactory.access(factory_1.factory.createIdentifier(variables), "append"), undefined, [
109
+ factory_1.factory.createIdentifier(names.key),
110
+ factory_1.factory.createCallExpression(factory_1.factory.createIdentifier("String"), undefined, [factory_1.factory.createIdentifier(names.elem)]),
101
111
  ])),
102
112
  ])), factory_1.factory.createExpressionStatement(factory_1.factory.createCallExpression(IdentifierFactory_1.IdentifierFactory.access(factory_1.factory.createIdentifier(variables), "set"), undefined, [
103
- factory_1.factory.createIdentifier("key"),
104
- factory_1.factory.createCallExpression(factory_1.factory.createIdentifier("String"), undefined, [factory_1.factory.createIdentifier("value")]),
113
+ factory_1.factory.createIdentifier(names.key),
114
+ factory_1.factory.createCallExpression(factory_1.factory.createIdentifier("String"), undefined, [factory_1.factory.createIdentifier(names.value)]),
105
115
  ]))))),
106
- local("location")("string")(template()),
107
- factory_1.factory.createReturnStatement(factory_1.factory.createConditionalExpression(factory_1.factory.createStrictEquality(ExpressionFactory_1.ExpressionFactory.number(0), IdentifierFactory_1.IdentifierFactory.access(factory_1.factory.createIdentifier(variables), "size")), undefined, factory_1.factory.createIdentifier("location"), undefined, factory_1.factory.createTemplateExpression(factory_1.factory.createTemplateHead(""), [
108
- factory_1.factory.createTemplateSpan(factory_1.factory.createIdentifier("location"), factory_1.factory.createTemplateMiddle("?")),
116
+ local(names.location)("string")(template()),
117
+ factory_1.factory.createReturnStatement(factory_1.factory.createConditionalExpression(factory_1.factory.createStrictEquality(ExpressionFactory_1.ExpressionFactory.number(0), IdentifierFactory_1.IdentifierFactory.access(factory_1.factory.createIdentifier(variables), "size")), undefined, factory_1.factory.createIdentifier(names.location), undefined, factory_1.factory.createTemplateExpression(factory_1.factory.createTemplateHead(""), [
118
+ factory_1.factory.createTemplateSpan(factory_1.factory.createIdentifier(names.location), factory_1.factory.createTemplateMiddle("?")),
109
119
  factory_1.factory.createTemplateSpan(factory_1.factory.createCallExpression(IdentifierFactory_1.IdentifierFactory.access(factory_1.factory.createIdentifier(variables), "toString"), undefined, undefined), factory_1.factory.createTemplateTail("")),
110
120
  ]))),
111
121
  ], true);
112
122
  };
113
- return out(block(access(route.query.name)));
123
+ return out(block(names.access(names.query)));
114
124
  };
115
125
  })(SdkWebSocketNamespaceProgrammer || (exports.SdkWebSocketNamespaceProgrammer = SdkWebSocketNamespaceProgrammer = {}));
116
126
  const local = (name) => (type) => (expression) => factory_1.factory.createVariableStatement([], factory_1.factory.createVariableDeclarationList([
@@ -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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"}