@nestia/sdk 14.0.0 → 14.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (391) hide show
  1. package/README.md +1 -1
  2. package/assets/bundle/distribute/build-sdk.cjs +28 -0
  3. package/assets/bundle/distribute/package.json +7 -3
  4. package/assets/bundle/distribute/tsconfig.json +15 -105
  5. package/lib/INestiaConfig.d.ts +74 -34
  6. package/lib/NestiaSdkApplication.d.ts +60 -0
  7. package/lib/NestiaSdkApplication.js +121 -32
  8. package/lib/NestiaSdkApplication.js.map +1 -1
  9. package/lib/NestiaSwaggerComposer.d.ts +21 -0
  10. package/lib/NestiaSwaggerComposer.js +32 -13
  11. package/lib/NestiaSwaggerComposer.js.map +1 -1
  12. package/lib/analyses/AccessorAnalyzer.d.ts +26 -0
  13. package/lib/analyses/AccessorAnalyzer.js +26 -0
  14. package/lib/analyses/AccessorAnalyzer.js.map +1 -1
  15. package/lib/analyses/ConfigAnalyzer.d.ts +41 -0
  16. package/lib/analyses/ConfigAnalyzer.js +52 -77
  17. package/lib/analyses/ConfigAnalyzer.js.map +1 -1
  18. package/lib/analyses/ImportAnalyzer.d.ts +25 -0
  19. package/lib/analyses/ImportAnalyzer.js +25 -0
  20. package/lib/analyses/ImportAnalyzer.js.map +1 -1
  21. package/lib/analyses/ParameterNameAnalyzer.d.ts +44 -0
  22. package/lib/analyses/ParameterNameAnalyzer.js +63 -0
  23. package/lib/analyses/ParameterNameAnalyzer.js.map +1 -0
  24. package/lib/analyses/PathAnalyzer.d.ts +93 -1
  25. package/lib/analyses/PathAnalyzer.js +160 -23
  26. package/lib/analyses/PathAnalyzer.js.map +1 -1
  27. package/lib/analyses/ReflectControllerAnalyzer.d.ts +32 -0
  28. package/lib/analyses/ReflectControllerAnalyzer.js +24 -1
  29. package/lib/analyses/ReflectControllerAnalyzer.js.map +1 -1
  30. package/lib/analyses/ReflectHttpOperationAnalyzer.d.ts +29 -0
  31. package/lib/analyses/ReflectHttpOperationAnalyzer.js +35 -24
  32. package/lib/analyses/ReflectHttpOperationAnalyzer.js.map +1 -1
  33. package/lib/analyses/ReflectHttpOperationExceptionAnalyzer.d.ts +31 -0
  34. package/lib/analyses/ReflectHttpOperationExceptionAnalyzer.js +21 -0
  35. package/lib/analyses/ReflectHttpOperationExceptionAnalyzer.js.map +1 -1
  36. package/lib/analyses/ReflectHttpOperationParameterAnalyzer.d.ts +31 -0
  37. package/lib/analyses/ReflectHttpOperationParameterAnalyzer.js +143 -23
  38. package/lib/analyses/ReflectHttpOperationParameterAnalyzer.js.map +1 -1
  39. package/lib/analyses/ReflectHttpOperationResponseAnalyzer.d.ts +32 -0
  40. package/lib/analyses/ReflectHttpOperationResponseAnalyzer.js +27 -2
  41. package/lib/analyses/ReflectHttpOperationResponseAnalyzer.js.map +1 -1
  42. package/lib/analyses/ReflectMcpOperationAnalyzer.d.ts +29 -0
  43. package/lib/analyses/ReflectMcpOperationAnalyzer.js +35 -11
  44. package/lib/analyses/ReflectMcpOperationAnalyzer.js.map +1 -1
  45. package/lib/analyses/ReflectMetadataAnalyzer.d.ts +47 -0
  46. package/lib/analyses/ReflectMetadataAnalyzer.js +47 -0
  47. package/lib/analyses/ReflectMetadataAnalyzer.js.map +1 -1
  48. package/lib/analyses/ReflectWebSocketOperationAnalyzer.d.ts +29 -0
  49. package/lib/analyses/ReflectWebSocketOperationAnalyzer.js +27 -5
  50. package/lib/analyses/ReflectWebSocketOperationAnalyzer.js.map +1 -1
  51. package/lib/analyses/SecurityAnalyzer.d.ts +25 -0
  52. package/lib/analyses/SecurityAnalyzer.js +39 -19
  53. package/lib/analyses/SecurityAnalyzer.js.map +1 -1
  54. package/lib/analyses/SwaggerExampleAnalyzer.d.ts +31 -0
  55. package/lib/analyses/SwaggerExampleAnalyzer.js +36 -0
  56. package/lib/analyses/SwaggerExampleAnalyzer.js.map +1 -0
  57. package/lib/analyses/TypedHttpRouteAnalyzer.d.ts +41 -3
  58. package/lib/analyses/TypedHttpRouteAnalyzer.js +196 -172
  59. package/lib/analyses/TypedHttpRouteAnalyzer.js.map +1 -1
  60. package/lib/analyses/TypedMcpRouteAnalyzer.d.ts +29 -0
  61. package/lib/analyses/TypedMcpRouteAnalyzer.js +152 -20
  62. package/lib/analyses/TypedMcpRouteAnalyzer.js.map +1 -1
  63. package/lib/analyses/TypedWebSocketRouteAnalyzer.d.ts +19 -0
  64. package/lib/analyses/TypedWebSocketRouteAnalyzer.js +20 -1
  65. package/lib/analyses/TypedWebSocketRouteAnalyzer.js.map +1 -1
  66. package/lib/decorators/OperationMetadata.d.ts +6 -0
  67. package/lib/decorators/OperationMetadata.js +6 -0
  68. package/lib/decorators/OperationMetadata.js.map +1 -1
  69. package/lib/executable/internal/CommandParser.d.ts +19 -0
  70. package/lib/executable/internal/CommandParser.js +19 -0
  71. package/lib/executable/internal/CommandParser.js.map +1 -1
  72. package/lib/executable/internal/NestiaConfigLoader.d.ts +56 -0
  73. package/lib/executable/internal/NestiaConfigLoader.js +48 -42
  74. package/lib/executable/internal/NestiaConfigLoader.js.map +1 -1
  75. package/lib/executable/internal/NestiaSdkCommand.d.ts +60 -0
  76. package/lib/executable/internal/NestiaSdkCommand.js +95 -3
  77. package/lib/executable/internal/NestiaSdkCommand.js.map +1 -1
  78. package/lib/executable/internal/NestiaSdkWatcher.d.ts +81 -0
  79. package/lib/executable/internal/NestiaSdkWatcher.js +125 -41
  80. package/lib/executable/internal/NestiaSdkWatcher.js.map +1 -1
  81. package/lib/executable/internal/NestiaSwaggerWatch.d.ts +80 -0
  82. package/lib/executable/internal/NestiaSwaggerWatch.js +308 -0
  83. package/lib/executable/internal/NestiaSwaggerWatch.js.map +1 -0
  84. package/lib/executable/sdk.js +16 -1
  85. package/lib/executable/sdk.js.map +1 -1
  86. package/lib/factories/ExpressionFactory.d.ts +18 -0
  87. package/lib/factories/ExpressionFactory.js +21 -2
  88. package/lib/factories/ExpressionFactory.js.map +1 -1
  89. package/lib/factories/IdentifierFactory.d.ts +24 -0
  90. package/lib/factories/IdentifierFactory.js +24 -0
  91. package/lib/factories/IdentifierFactory.js.map +1 -1
  92. package/lib/factories/LiteralFactory.d.ts +22 -4
  93. package/lib/factories/LiteralFactory.js +33 -11
  94. package/lib/factories/LiteralFactory.js.map +1 -1
  95. package/lib/factories/StatementFactory.d.ts +28 -1
  96. package/lib/factories/StatementFactory.js +28 -1
  97. package/lib/factories/StatementFactory.js.map +1 -1
  98. package/lib/factories/TypeFactory.d.ts +24 -0
  99. package/lib/factories/TypeFactory.js +15 -0
  100. package/lib/factories/TypeFactory.js.map +1 -1
  101. package/lib/generates/CloneGenerator.d.ts +22 -0
  102. package/lib/generates/CloneGenerator.js +26 -5
  103. package/lib/generates/CloneGenerator.js.map +1 -1
  104. package/lib/generates/E2eGenerator.d.ts +19 -0
  105. package/lib/generates/E2eGenerator.js +19 -0
  106. package/lib/generates/E2eGenerator.js.map +1 -1
  107. package/lib/generates/SdkGenerator.d.ts +38 -0
  108. package/lib/generates/SdkGenerator.js +43 -5
  109. package/lib/generates/SdkGenerator.js.map +1 -1
  110. package/lib/generates/SwaggerGenerator.d.ts +36 -6
  111. package/lib/generates/SwaggerGenerator.js +190 -40
  112. package/lib/generates/SwaggerGenerator.js.map +1 -1
  113. package/lib/generates/internal/E2eFileProgrammer.d.ts +19 -0
  114. package/lib/generates/internal/E2eFileProgrammer.js +20 -1
  115. package/lib/generates/internal/E2eFileProgrammer.js.map +1 -1
  116. package/lib/generates/internal/FilePrinter.d.ts +57 -0
  117. package/lib/generates/internal/FilePrinter.js +74 -0
  118. package/lib/generates/internal/FilePrinter.js.map +1 -1
  119. package/lib/generates/internal/ImportDictionary.d.ts +93 -1
  120. package/lib/generates/internal/ImportDictionary.js +103 -2
  121. package/lib/generates/internal/ImportDictionary.js.map +1 -1
  122. package/lib/generates/internal/SdkAliasCollection.d.ts +121 -1
  123. package/lib/generates/internal/SdkAliasCollection.js +132 -11
  124. package/lib/generates/internal/SdkAliasCollection.js.map +1 -1
  125. package/lib/generates/internal/SdkDistributionComposer.d.ts +19 -0
  126. package/lib/generates/internal/SdkDistributionComposer.js +149 -52
  127. package/lib/generates/internal/SdkDistributionComposer.js.map +1 -1
  128. package/lib/generates/internal/SdkFileProgrammer.d.ts +18 -0
  129. package/lib/generates/internal/SdkFileProgrammer.js +101 -12
  130. package/lib/generates/internal/SdkFileProgrammer.js.map +1 -1
  131. package/lib/generates/internal/SdkHttpCloneProgrammer.d.ts +29 -0
  132. package/lib/generates/internal/SdkHttpCloneProgrammer.js +33 -0
  133. package/lib/generates/internal/SdkHttpCloneProgrammer.js.map +1 -1
  134. package/lib/generates/internal/SdkHttpCloneReferencer.d.ts +19 -0
  135. package/lib/generates/internal/SdkHttpCloneReferencer.js +78 -25
  136. package/lib/generates/internal/SdkHttpCloneReferencer.js.map +1 -1
  137. package/lib/generates/internal/SdkHttpFunctionProgrammer.d.ts +19 -0
  138. package/lib/generates/internal/SdkHttpFunctionProgrammer.js +40 -23
  139. package/lib/generates/internal/SdkHttpFunctionProgrammer.js.map +1 -1
  140. package/lib/generates/internal/SdkHttpNamespaceProgrammer.d.ts +19 -0
  141. package/lib/generates/internal/SdkHttpNamespaceProgrammer.js +46 -34
  142. package/lib/generates/internal/SdkHttpNamespaceProgrammer.js.map +1 -1
  143. package/lib/generates/internal/SdkHttpParameterProgrammer.d.ts +142 -1
  144. package/lib/generates/internal/SdkHttpParameterProgrammer.js +175 -6
  145. package/lib/generates/internal/SdkHttpParameterProgrammer.js.map +1 -1
  146. package/lib/generates/internal/SdkHttpRouteProgrammer.d.ts +20 -0
  147. package/lib/generates/internal/SdkHttpRouteProgrammer.js +36 -32
  148. package/lib/generates/internal/SdkHttpRouteProgrammer.js.map +1 -1
  149. package/lib/generates/internal/SdkHttpSimulationProgrammer.d.ts +38 -0
  150. package/lib/generates/internal/SdkHttpSimulationProgrammer.js +66 -18
  151. package/lib/generates/internal/SdkHttpSimulationProgrammer.js.map +1 -1
  152. package/lib/generates/internal/SdkImportWizard.d.ts +63 -0
  153. package/lib/generates/internal/SdkImportWizard.js +63 -0
  154. package/lib/generates/internal/SdkImportWizard.js.map +1 -1
  155. package/lib/generates/internal/SdkMcpRouteProgrammer.d.ts +17 -2
  156. package/lib/generates/internal/SdkMcpRouteProgrammer.js +72 -24
  157. package/lib/generates/internal/SdkMcpRouteProgrammer.js.map +1 -1
  158. package/lib/generates/internal/SdkPathTemplate.d.ts +36 -0
  159. package/lib/generates/internal/SdkPathTemplate.js +65 -0
  160. package/lib/generates/internal/SdkPathTemplate.js.map +1 -0
  161. package/lib/generates/internal/SdkRouteDirectory.d.ts +10 -0
  162. package/lib/generates/internal/SdkRouteDirectory.js +10 -0
  163. package/lib/generates/internal/SdkRouteDirectory.js.map +1 -1
  164. package/lib/generates/internal/SdkTypeProgrammer.d.ts +54 -1
  165. package/lib/generates/internal/SdkTypeProgrammer.js +111 -27
  166. package/lib/generates/internal/SdkTypeProgrammer.js.map +1 -1
  167. package/lib/generates/internal/SdkTypeTagProgrammer.d.ts +53 -1
  168. package/lib/generates/internal/SdkTypeTagProgrammer.js +407 -67
  169. package/lib/generates/internal/SdkTypeTagProgrammer.js.map +1 -1
  170. package/lib/generates/internal/SdkWebSocketCloneProgrammer.d.ts +40 -0
  171. package/lib/generates/internal/SdkWebSocketCloneProgrammer.js +149 -142
  172. package/lib/generates/internal/SdkWebSocketCloneProgrammer.js.map +1 -1
  173. package/lib/generates/internal/SdkWebSocketNamespaceProgrammer.d.ts +19 -0
  174. package/lib/generates/internal/SdkWebSocketNamespaceProgrammer.js +46 -36
  175. package/lib/generates/internal/SdkWebSocketNamespaceProgrammer.js.map +1 -1
  176. package/lib/generates/internal/SdkWebSocketParameterProgrammer.d.ts +114 -1
  177. package/lib/generates/internal/SdkWebSocketParameterProgrammer.js +120 -5
  178. package/lib/generates/internal/SdkWebSocketParameterProgrammer.js.map +1 -1
  179. package/lib/generates/internal/SdkWebSocketRouteProgrammer.d.ts +18 -0
  180. package/lib/generates/internal/SdkWebSocketRouteProgrammer.js +75 -33
  181. package/lib/generates/internal/SdkWebSocketRouteProgrammer.js.map +1 -1
  182. package/lib/generates/internal/SwaggerDescriptionComposer.d.ts +42 -0
  183. package/lib/generates/internal/SwaggerDescriptionComposer.js +44 -1
  184. package/lib/generates/internal/SwaggerDescriptionComposer.js.map +1 -1
  185. package/lib/generates/internal/SwaggerOperationComposer.d.ts +18 -0
  186. package/lib/generates/internal/SwaggerOperationComposer.js +37 -8
  187. package/lib/generates/internal/SwaggerOperationComposer.js.map +1 -1
  188. package/lib/generates/internal/SwaggerOperationParameterComposer.d.ts +40 -1
  189. package/lib/generates/internal/SwaggerOperationParameterComposer.js +230 -25
  190. package/lib/generates/internal/SwaggerOperationParameterComposer.js.map +1 -1
  191. package/lib/generates/internal/SwaggerOperationResponseComposer.d.ts +21 -0
  192. package/lib/generates/internal/SwaggerOperationResponseComposer.js +58 -7
  193. package/lib/generates/internal/SwaggerOperationResponseComposer.js.map +1 -1
  194. package/lib/internal/legacy.d.ts +342 -31
  195. package/lib/internal/legacy.js +207 -31
  196. package/lib/internal/legacy.js.map +1 -1
  197. package/lib/structures/INestiaProject.d.ts +10 -0
  198. package/lib/structures/INestiaSdkInput.d.ts +30 -0
  199. package/lib/structures/IOperationMetadata.d.ts +77 -0
  200. package/lib/structures/IReflectController.d.ts +10 -0
  201. package/lib/structures/IReflectHttpOperation.d.ts +10 -0
  202. package/lib/structures/IReflectHttpOperationException.d.ts +13 -2
  203. package/lib/structures/IReflectHttpOperationParameter.d.ts +55 -3
  204. package/lib/structures/IReflectHttpOperationSuccess.d.ts +15 -3
  205. package/lib/structures/IReflectImport.d.ts +10 -0
  206. package/lib/structures/IReflectMcpOperation.d.ts +19 -0
  207. package/lib/structures/IReflectMcpOperationParameter.d.ts +9 -0
  208. package/lib/structures/IReflectOperationError.d.ts +28 -0
  209. package/lib/structures/IReflectOperationError.js +22 -2
  210. package/lib/structures/IReflectOperationError.js.map +1 -1
  211. package/lib/structures/IReflectType.d.ts +9 -0
  212. package/lib/structures/IReflectWebSocketOperation.d.ts +10 -0
  213. package/lib/structures/IReflectWebSocketOperationParameter.d.ts +55 -0
  214. package/lib/structures/ITypedApplication.d.ts +10 -0
  215. package/lib/structures/ITypedHttpRoute.d.ts +18 -0
  216. package/lib/structures/ITypedHttpRouteException.d.ts +13 -1
  217. package/lib/structures/ITypedHttpRouteParameter.d.ts +48 -1
  218. package/lib/structures/ITypedHttpRouteSuccess.d.ts +13 -1
  219. package/lib/structures/ITypedMcpRoute.d.ts +11 -0
  220. package/lib/structures/ITypedWebSocketRoute.d.ts +18 -0
  221. package/lib/transform.d.ts +6 -0
  222. package/lib/transform.js +6 -0
  223. package/lib/transform.js.map +1 -1
  224. package/lib/utils/ArrayUtil.d.ts +31 -1
  225. package/lib/utils/ArrayUtil.js +32 -11
  226. package/lib/utils/ArrayUtil.js.map +1 -1
  227. package/lib/utils/EmittedJavaScriptPatcher.d.ts +20 -0
  228. package/lib/utils/EmittedJavaScriptPatcher.js +65 -46
  229. package/lib/utils/EmittedJavaScriptPatcher.js.map +1 -1
  230. package/lib/utils/FileRetriever.d.ts +29 -0
  231. package/lib/utils/FileRetriever.js +29 -0
  232. package/lib/utils/FileRetriever.js.map +1 -1
  233. package/lib/utils/HttpResponseContentTypeUtil.d.ts +41 -0
  234. package/lib/utils/HttpResponseContentTypeUtil.js +31 -0
  235. package/lib/utils/HttpResponseContentTypeUtil.js.map +1 -1
  236. package/lib/utils/MapUtil.d.ts +64 -1
  237. package/lib/utils/MapUtil.js +24 -3
  238. package/lib/utils/MapUtil.js.map +1 -1
  239. package/lib/utils/PathUtil.d.ts +31 -0
  240. package/lib/utils/PathUtil.js +38 -0
  241. package/lib/utils/PathUtil.js.map +1 -1
  242. package/lib/utils/SdkBundlePath.d.ts +2 -0
  243. package/lib/utils/SdkBundlePath.js +10 -0
  244. package/lib/utils/SdkBundlePath.js.map +1 -0
  245. package/lib/utils/SdkInputFilter.d.ts +31 -0
  246. package/lib/utils/SdkInputFilter.js +115 -0
  247. package/lib/utils/SdkInputFilter.js.map +1 -0
  248. package/lib/utils/SourceFinder.d.ts +45 -0
  249. package/lib/utils/SourceFinder.js +74 -16
  250. package/lib/utils/SourceFinder.js.map +1 -1
  251. package/lib/utils/StringUtil.d.ts +77 -2
  252. package/lib/utils/StringUtil.js +166 -4
  253. package/lib/utils/StringUtil.js.map +1 -1
  254. package/lib/utils/TemporaryDirectory.d.ts +60 -0
  255. package/lib/utils/TemporaryDirectory.js +112 -0
  256. package/lib/utils/TemporaryDirectory.js.map +1 -0
  257. package/lib/utils/TsConfigReader.d.ts +42 -0
  258. package/lib/utils/TsConfigReader.js +98 -14
  259. package/lib/utils/TsConfigReader.js.map +1 -1
  260. package/lib/utils/TtscExecutor.d.ts +23 -1
  261. package/lib/utils/TtscExecutor.js +22 -0
  262. package/lib/utils/TtscExecutor.js.map +1 -1
  263. package/lib/utils/VersioningStrategy.d.ts +39 -2
  264. package/lib/utils/VersioningStrategy.js +46 -13
  265. package/lib/utils/VersioningStrategy.js.map +1 -1
  266. package/lib/validators/TextPlainValidator.d.ts +19 -0
  267. package/lib/validators/TextPlainValidator.js +19 -0
  268. package/lib/validators/TextPlainValidator.js.map +1 -1
  269. package/native/go.mod +1 -1
  270. package/native/go.sum +2 -2
  271. package/native/sdk/register.go +12 -2
  272. package/native/sdk/sdk_http_rules.go +210 -0
  273. package/native/sdk/sdk_metadata_json.go +79 -4
  274. package/native/sdk/sdk_transform.go +1157 -414
  275. package/package.json +8 -6
  276. package/src/INestiaConfig.ts +74 -34
  277. package/src/NestiaSdkApplication.ts +129 -41
  278. package/src/NestiaSwaggerComposer.ts +32 -14
  279. package/src/analyses/AccessorAnalyzer.ts +26 -0
  280. package/src/analyses/ConfigAnalyzer.ts +52 -90
  281. package/src/analyses/ImportAnalyzer.ts +25 -0
  282. package/src/analyses/ParameterNameAnalyzer.ts +75 -0
  283. package/src/analyses/PathAnalyzer.ts +167 -23
  284. package/src/analyses/ReflectControllerAnalyzer.ts +34 -1
  285. package/src/analyses/ReflectHttpOperationAnalyzer.ts +36 -14
  286. package/src/analyses/ReflectHttpOperationExceptionAnalyzer.ts +31 -0
  287. package/src/analyses/ReflectHttpOperationParameterAnalyzer.ts +153 -39
  288. package/src/analyses/ReflectHttpOperationResponseAnalyzer.ts +38 -7
  289. package/src/analyses/ReflectMcpOperationAnalyzer.ts +38 -3
  290. package/src/analyses/ReflectMetadataAnalyzer.ts +47 -0
  291. package/src/analyses/ReflectWebSocketOperationAnalyzer.ts +40 -7
  292. package/src/analyses/SecurityAnalyzer.ts +45 -20
  293. package/src/analyses/SwaggerExampleAnalyzer.ts +39 -0
  294. package/src/analyses/TypedHttpRouteAnalyzer.ts +263 -198
  295. package/src/analyses/TypedMcpRouteAnalyzer.ts +180 -20
  296. package/src/analyses/TypedWebSocketRouteAnalyzer.ts +20 -0
  297. package/src/decorators/OperationMetadata.ts +6 -0
  298. package/src/executable/internal/CommandParser.ts +19 -0
  299. package/src/executable/internal/NestiaConfigLoader.ts +66 -50
  300. package/src/executable/internal/NestiaSdkCommand.ts +96 -3
  301. package/src/executable/internal/NestiaSdkWatcher.ts +172 -44
  302. package/src/executable/internal/NestiaSwaggerWatch.ts +359 -0
  303. package/src/executable/sdk.ts +24 -1
  304. package/src/factories/ExpressionFactory.ts +23 -2
  305. package/src/factories/IdentifierFactory.ts +24 -0
  306. package/src/factories/LiteralFactory.ts +51 -13
  307. package/src/factories/StatementFactory.ts +28 -1
  308. package/src/factories/TypeFactory.ts +24 -0
  309. package/src/generates/CloneGenerator.ts +26 -5
  310. package/src/generates/E2eGenerator.ts +19 -0
  311. package/src/generates/SdkGenerator.ts +43 -12
  312. package/src/generates/SwaggerGenerator.ts +229 -46
  313. package/src/generates/internal/E2eFileProgrammer.ts +20 -0
  314. package/src/generates/internal/FilePrinter.ts +71 -0
  315. package/src/generates/internal/ImportDictionary.ts +120 -2
  316. package/src/generates/internal/SdkAliasCollection.ts +144 -15
  317. package/src/generates/internal/SdkDistributionComposer.ts +181 -56
  318. package/src/generates/internal/SdkFileProgrammer.ts +126 -16
  319. package/src/generates/internal/SdkHttpCloneProgrammer.ts +55 -0
  320. package/src/generates/internal/SdkHttpCloneReferencer.ts +97 -23
  321. package/src/generates/internal/SdkHttpFunctionProgrammer.ts +47 -30
  322. package/src/generates/internal/SdkHttpNamespaceProgrammer.ts +53 -64
  323. package/src/generates/internal/SdkHttpParameterProgrammer.ts +295 -13
  324. package/src/generates/internal/SdkHttpRouteProgrammer.ts +37 -31
  325. package/src/generates/internal/SdkHttpSimulationProgrammer.ts +122 -18
  326. package/src/generates/internal/SdkImportWizard.ts +63 -0
  327. package/src/generates/internal/SdkMcpRouteProgrammer.ts +150 -33
  328. package/src/generates/internal/SdkPathTemplate.ts +88 -0
  329. package/src/generates/internal/SdkRouteDirectory.ts +10 -0
  330. package/src/generates/internal/SdkTypeProgrammer.ts +137 -36
  331. package/src/generates/internal/SdkTypeTagProgrammer.ts +536 -78
  332. package/src/generates/internal/SdkWebSocketCloneProgrammer.ts +185 -142
  333. package/src/generates/internal/SdkWebSocketNamespaceProgrammer.ts +62 -68
  334. package/src/generates/internal/SdkWebSocketParameterProgrammer.ts +205 -5
  335. package/src/generates/internal/SdkWebSocketRouteProgrammer.ts +89 -48
  336. package/src/generates/internal/SwaggerDescriptionComposer.ts +47 -1
  337. package/src/generates/internal/SwaggerOperationComposer.ts +38 -6
  338. package/src/generates/internal/SwaggerOperationParameterComposer.ts +318 -36
  339. package/src/generates/internal/SwaggerOperationResponseComposer.ts +74 -11
  340. package/src/internal/legacy-augmentation.d.ts +16 -0
  341. package/src/internal/legacy.ts +407 -49
  342. package/src/structures/INestiaProject.ts +10 -0
  343. package/src/structures/INestiaSdkInput.ts +30 -0
  344. package/src/structures/IOperationMetadata.ts +83 -0
  345. package/src/structures/IReflectController.ts +10 -0
  346. package/src/structures/IReflectHttpOperation.ts +10 -0
  347. package/src/structures/IReflectHttpOperationException.ts +17 -2
  348. package/src/structures/IReflectHttpOperationParameter.ts +56 -2
  349. package/src/structures/IReflectHttpOperationSuccess.ts +19 -3
  350. package/src/structures/IReflectImport.ts +10 -0
  351. package/src/structures/IReflectMcpOperation.ts +19 -0
  352. package/src/structures/IReflectMcpOperationParameter.ts +9 -0
  353. package/src/structures/IReflectOperationError.ts +31 -2
  354. package/src/structures/IReflectType.ts +9 -0
  355. package/src/structures/IReflectWebSocketOperation.ts +10 -0
  356. package/src/structures/IReflectWebSocketOperationParameter.ts +55 -0
  357. package/src/structures/ITypedApplication.ts +10 -0
  358. package/src/structures/ITypedHttpRoute.ts +18 -0
  359. package/src/structures/ITypedHttpRouteException.ts +14 -1
  360. package/src/structures/ITypedHttpRouteParameter.ts +48 -1
  361. package/src/structures/ITypedHttpRouteSuccess.ts +14 -1
  362. package/src/structures/ITypedMcpRoute.ts +12 -0
  363. package/src/structures/ITypedWebSocketRoute.ts +18 -0
  364. package/src/transform.ts +6 -0
  365. package/src/utils/ArrayUtil.ts +32 -13
  366. package/src/utils/EmittedJavaScriptPatcher.ts +70 -47
  367. package/src/utils/FileRetriever.ts +29 -0
  368. package/src/utils/HttpResponseContentTypeUtil.ts +41 -0
  369. package/src/utils/MapUtil.ts +68 -3
  370. package/src/utils/PathUtil.ts +38 -0
  371. package/src/utils/SdkBundlePath.ts +11 -0
  372. package/src/utils/SdkInputFilter.ts +108 -0
  373. package/src/utils/SourceFinder.ts +76 -18
  374. package/src/utils/StringUtil.ts +182 -5
  375. package/src/utils/TemporaryDirectory.ts +108 -0
  376. package/src/utils/TsConfigReader.ts +124 -26
  377. package/src/utils/TtscExecutor.ts +23 -1
  378. package/src/utils/VersioningStrategy.ts +51 -16
  379. package/src/validators/TextPlainValidator.ts +19 -0
  380. package/lib/generates/internal/SwaggerReadonlyArrayEmender.d.ts +0 -9
  381. package/lib/generates/internal/SwaggerReadonlyArrayEmender.js +0 -178
  382. package/lib/generates/internal/SwaggerReadonlyArrayEmender.js.map +0 -1
  383. package/lib/validators/HttpHeadersValidator.d.ts +0 -11
  384. package/lib/validators/HttpHeadersValidator.js +0 -15
  385. package/lib/validators/HttpHeadersValidator.js.map +0 -1
  386. package/lib/validators/HttpQueryValidator.d.ts +0 -10
  387. package/lib/validators/HttpQueryValidator.js +0 -14
  388. package/lib/validators/HttpQueryValidator.js.map +0 -1
  389. package/src/generates/internal/SwaggerReadonlyArrayEmender.ts +0 -264
  390. package/src/validators/HttpHeadersValidator.ts +0 -12
  391. package/src/validators/HttpQueryValidator.ts +0 -11
@@ -1,12 +1,30 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.SwaggerOperationParameterComposer = void 0;
4
+ const utils_1 = require("@typia/utils");
4
5
  const tstl_1 = require("tstl");
5
6
  const legacy_1 = require("../../internal/legacy");
6
7
  const SwaggerDescriptionComposer_1 = require("./SwaggerDescriptionComposer");
7
- const SwaggerReadonlyArrayEmender_1 = require("./SwaggerReadonlyArrayEmender");
8
+ /**
9
+ * Composes the parameters and the request body of an operation.
10
+ *
11
+ * @evidence contracts/common.md#principled-implementation The namespace writes each parameter where the router reads it, decomposes a query or headers object into its keys where the format needs it, and fits a body into what Swagger 2.0 can hold.
12
+ * @evidence contracts/common.md#clear-and-simple-design Two public functions over private helpers.
13
+ * @evidence contracts/common.md#prohibited-implementation-shortcuts The 2.0 restrictions are applied by dedicated helpers.
14
+ * @evidence contracts/common.md#meaningful-documentation The comment states what the declaration produces and its result.
15
+ * @evidenceExclude contracts/portability.md#os-neutral-implementation SwaggerOperationParameterComposer composes OpenAPI data; it does not resolve native file identity or launch a process. Source resolution and file emission belong to their filesystem owners.
16
+ */
8
17
  var SwaggerOperationParameterComposer;
9
18
  (function (SwaggerOperationParameterComposer) {
19
+ /**
20
+ * Returns the parameter objects of a path, query, or header parameter.
21
+ *
22
+ * @evidence contracts/common.md#principled-implementation A query object or a headers object is decomposed into one parameter per property where the format needs it.
23
+ * @evidence contracts/common.md#clear-and-simple-design One dispatch by category.
24
+ * @evidence contracts/common.md#prohibited-implementation-shortcuts The category decides the location.
25
+ * @evidence contracts/common.md#meaningful-documentation The comment states what the declaration produces and its result.
26
+ * @evidenceExclude contracts/portability.md#os-neutral-implementation SwaggerOperationParameterComposer.compose composes OpenAPI data; it does not resolve native file identity or launch a process. Source resolution and file emission belong to their filesystem owners.
27
+ */
10
28
  SwaggerOperationParameterComposer.compose = (props) => props.parameter.category === "body"
11
29
  ? []
12
30
  : props.parameter.category === "param"
@@ -14,6 +32,17 @@ var SwaggerOperationParameterComposer;
14
32
  : props.parameter.category === "query"
15
33
  ? query(Object.assign(Object.assign({}, props), { parameter: props.parameter }))
16
34
  : header(Object.assign(Object.assign({}, props), { parameter: props.parameter }));
35
+ /**
36
+ * Returns the request body of a route, or `undefined`.
37
+ *
38
+ * Swagger 2.0 receives the form a body parameter can hold.
39
+ *
40
+ * @evidence contracts/common.md#principled-implementation The description carries the encryption warning, and the flag is written for the versions that can hold it.
41
+ * @evidence contracts/common.md#clear-and-simple-design One function.
42
+ * @evidence contracts/common.md#prohibited-implementation-shortcuts The 2.0 conversion is separate.
43
+ * @evidence contracts/common.md#meaningful-documentation The comment states what the declaration produces and its result.
44
+ * @evidenceExclude contracts/portability.md#os-neutral-implementation SwaggerOperationParameterComposer.body composes OpenAPI data; it does not resolve native file identity or launch a process. Source resolution and file emission belong to their filesystem owners.
45
+ */
17
46
  SwaggerOperationParameterComposer.body = (props) => {
18
47
  var _a;
19
48
  const description = (_a = props.parameter.description) !== null && _a !== void 0 ? _a : SwaggerDescriptionComposer_1.SwaggerDescriptionComposer.descriptionFromJsDocTag({
@@ -21,7 +50,7 @@ var SwaggerOperationParameterComposer;
21
50
  tag: "param",
22
51
  parameter: props.parameter.name,
23
52
  });
24
- return Object.assign({ description: props.parameter.encrypted
53
+ const output = Object.assign({ description: props.parameter.encrypted
25
54
  ? `${warning.get(!!description)}${description !== null && description !== void 0 ? description : ""}`
26
55
  : description, content: {
27
56
  [props.parameter.contentType]: {
@@ -30,6 +59,52 @@ var SwaggerOperationParameterComposer;
30
59
  examples: props.parameter.examples,
31
60
  },
32
61
  }, required: props.parameter.metadata.required }, (props.parameter.encrypted ? { "x-nestia-encrypted": true } : {}));
62
+ return props.config.openapi === "2.0"
63
+ ? swaggerV2Body(props, output)
64
+ : output;
65
+ };
66
+ /**
67
+ * The request body a Swagger 2.0 document can hold.
68
+ *
69
+ * Typia's downgrader refuses what 2.0 has no place for rather than lose it,
70
+ * so one route used to fail the whole document (#1649). A 2.0 body parameter
71
+ * holds only a schema: no example, and no `x-nestia-encrypted` flag, whose
72
+ * warning the description keeps. A form becomes one `formData` parameter per
73
+ * field, which carry neither the body's description nor the form object's own
74
+ * attributes, and are each required or not; so a form keeps only its fields,
75
+ * is required when one of them is, and without fields has no body to list. A
76
+ * `formData` file is one file, never an array, a union, or null, so a field
77
+ * taking several files, or none, is listed as one file, optional unless it
78
+ * requires one ({@link swaggerV2FormField}).
79
+ */
80
+ const swaggerV2Body = (props, body) => {
81
+ var _a, _b, _c;
82
+ const contentType = props.parameter.contentType;
83
+ if (contentType !== "multipart/form-data" &&
84
+ contentType !== "application/x-www-form-urlencoded")
85
+ return {
86
+ description: body.description,
87
+ content: { [contentType]: { schema: props.schema } },
88
+ required: body.required,
89
+ };
90
+ const object = resolveObject(props.document, props.schema);
91
+ if (object === undefined ||
92
+ Object.keys((_a = object.properties) !== null && _a !== void 0 ? _a : {}).length === 0)
93
+ return undefined;
94
+ const fields = Object.entries((_b = object.properties) !== null && _b !== void 0 ? _b : {}).map(([key, value]) => [key, swaggerV2FormField(value)]);
95
+ const required = ((_c = object.required) !== null && _c !== void 0 ? _c : []).filter((key) => { var _a; return ((_a = fields.find(([name]) => name === key)) === null || _a === void 0 ? void 0 : _a[1].optional) !== true; });
96
+ return {
97
+ content: {
98
+ [contentType]: {
99
+ schema: {
100
+ type: "object",
101
+ properties: Object.fromEntries(fields.map(([key, field]) => [key, field.schema])),
102
+ required,
103
+ },
104
+ },
105
+ },
106
+ required: required.length !== 0,
107
+ };
33
108
  };
34
109
  const path = (props) => ({
35
110
  name: props.parameter.field,
@@ -51,51 +126,181 @@ var SwaggerOperationParameterComposer;
51
126
  };
52
127
  const decomposible = (props) => {
53
128
  var _a;
129
+ var _b, _c;
130
+ const object = (_a = props.parameter.metadata
131
+ .objects[0]) === null || _a === void 0 ? void 0 : _a.type;
54
132
  const param = {
55
- name: (_a = props.parameter.field) !== null && _a !== void 0 ? _a : props.parameter.name,
133
+ name: (_b = props.parameter.field) !== null && _b !== void 0 ? _b : props.parameter.name,
56
134
  in: props.parameter.category === "query" ? "query" : "header",
57
135
  schema: props.schema,
58
136
  description: parameterDescription(props),
59
- required: props.parameter.metadata.required,
137
+ // An unnamed object's keys are the request's own query keys or headers,
138
+ // so it is mandatory only when one of the keys the document describes
139
+ // is; an object whose described properties are all optional is satisfied
140
+ // when the request sends none of them. A field-named parameter is one
141
+ // key, required as declared.
142
+ required: props.parameter.metadata.required &&
143
+ (props.parameter.field !== null ||
144
+ ((_c = object === null || object === void 0 ? void 0 : object.properties.some((p) => isDescribed(p) && (0, legacy_1.isRequiredOf)(p.value))) !== null && _c !== void 0 ? _c : true)),
60
145
  example: props.parameter.example,
61
146
  examples: props.parameter.examples,
62
147
  };
63
- if (props.config.decompose === false ||
64
- props.parameter.metadata.objects.length === 0)
148
+ // A field-named parameter is one key, which typia's HTTP rules (#1648)
149
+ // keep atomic, and a query or headers object passed them: one object of
150
+ // statically named atomic or array-of-atomic properties, so each has a
151
+ // name to give its parameter.
152
+ if (props.parameter.field !== null || object === undefined)
65
153
  return [param];
66
- return props.parameter.metadata.objects[0].type.properties
67
- .filter((p) => p.jsDocTags.every((tag) => tag.name !== "hidden" && tag.name !== "ignore"))
154
+ // `decompose: false` keeps a query object one parameter where the format
155
+ // can say so: OpenAPI 3.x spreads it into its keys with `style: form` and
156
+ // `explode: true`. Swagger 2.0 has no object query parameter, and no
157
+ // format spreads an object into headers, so one parameter would be a key
158
+ // or header no request carries (#1653); those are always decomposed.
159
+ if (props.config.decompose === false &&
160
+ props.parameter.category === "query" &&
161
+ props.config.openapi !== "2.0")
162
+ return [Object.assign(Object.assign({}, param), { style: "form", explode: true })];
163
+ // One parameter per property typia's object schema describes, so the
164
+ // decomposed form says what `decompose: false` would say about the object:
165
+ // the property's schema, and in the parameter's own fields its
166
+ // description, deprecation, and share of the object's examples.
167
+ return object.properties
168
+ .filter(isDescribed)
68
169
  .map((p) => {
69
- var _a, _b, _c, _d;
70
- var _e, _f;
71
- const json = legacy_1.JsonSchemasProgrammer.writeSchemas({
170
+ var _a, _b, _c, _d, _e;
171
+ var _f, _g, _h;
172
+ const key = String(p.key.constants[0].values[0].value);
173
+ const json = legacy_1.JsonSchemasProgrammer.writeProperty({
72
174
  version: "3.1",
73
- metadatas: [p.value],
175
+ metadata: props.parameter.metadata,
176
+ key,
177
+ value: p.value,
74
178
  });
75
- SwaggerReadonlyArrayEmender_1.SwaggerReadonlyArrayEmender.emend({
76
- components: json.components,
77
- schema: json.schemas[0],
78
- metadata: p.value,
79
- });
80
- if (Object.keys((_a = json.components.schemas) !== null && _a !== void 0 ? _a : {}).length !== 0) {
81
- (_b = (_e = props.document).components) !== null && _b !== void 0 ? _b : (_e.components = {});
82
- (_c = (_f = props.document.components).schemas) !== null && _c !== void 0 ? _c : (_f.schemas = {});
83
- Object.assign(props.document.components.schemas, json.components.schemas);
84
- }
179
+ if (json === null)
180
+ return null;
181
+ // Only what the document lacks: the parameter's own schema already
182
+ // brought every component its properties reach from the native bake.
183
+ // Existing document components take precedence over this copy.
184
+ (_a = (_f = props.document).components) !== null && _a !== void 0 ? _a : (_f.components = {});
185
+ (_b = (_g = props.document.components).schemas) !== null && _b !== void 0 ? _b : (_g.schemas = {});
186
+ for (const [name, schema] of Object.entries((_c = json.components.schemas) !== null && _c !== void 0 ? _c : {}))
187
+ (_d = (_h = props.document.components.schemas)[name]) !== null && _d !== void 0 ? _d : (_h[name] = schema);
85
188
  return {
86
- name: p.key.constants[0].values[0].value,
189
+ name: key,
87
190
  in: props.parameter.category === "query" ? "query" : "header",
88
191
  schema: json.schemas[0],
89
192
  required: (0, legacy_1.isRequiredOf)(p.value),
90
193
  description: SwaggerDescriptionComposer_1.SwaggerDescriptionComposer.compose({
91
- description: (_d = p.description) !== null && _d !== void 0 ? _d : null,
194
+ description: (_e = p.description) !== null && _e !== void 0 ? _e : null,
92
195
  jsDocTags: p.jsDocTags,
93
196
  kind: "title",
94
197
  }).description,
198
+ // Swagger 2.0 defines no `deprecated` on a parameter, and the
199
+ // downgrader copies the field through rather than refusing it.
200
+ deprecated: props.config.openapi !== "2.0" &&
201
+ p.jsDocTags.some((tag) => tag.name === "deprecated")
202
+ ? true
203
+ : undefined,
204
+ example: memberOf(props.parameter.example, key),
205
+ examples: membersOf(props.parameter.examples, key),
95
206
  };
96
- });
207
+ })
208
+ .filter((p) => p !== null);
97
209
  };
98
210
  })(SwaggerOperationParameterComposer || (exports.SwaggerOperationParameterComposer = SwaggerOperationParameterComposer = {}));
211
+ /**
212
+ * Whether the document can describe a property on its own: it has a literal key
213
+ * to name it, and none of the `@hidden`, `@ignore`, and `@internal` tags
214
+ * typia's object schema drops it for.
215
+ */
216
+ const isDescribed = (p) => (0, legacy_1.isSoleLiteralOf)(p.key) &&
217
+ p.jsDocTags.every((tag) => tag.name !== "hidden" && tag.name !== "ignore" && tag.name !== "internal");
218
+ /**
219
+ * A form field as a Swagger 2.0 `formData` parameter can hold it.
220
+ *
221
+ * A 2.0 file is one file: never an array, a union, or null. A field whose value
222
+ * is made of files, a union of files or one of them or null, or an array of
223
+ * those, becomes the one file a request may carry, keeping the field's title,
224
+ * description, and deprecation. A request may then carry none, since the server
225
+ * reads a missing field as null or an empty array, so such a field is not
226
+ * required unless its array requires an item; a plain file is kept as it is.
227
+ */
228
+ const swaggerV2FormField = (schema) => {
229
+ const file = fileOf(schema, true);
230
+ if (file === undefined || file.binary === schema)
231
+ return { schema, optional: false };
232
+ const attributes = schema;
233
+ return {
234
+ schema: Object.assign(Object.assign(Object.assign(Object.assign({}, file.binary), (attributes.title !== undefined ? { title: attributes.title } : {})), (attributes.description !== undefined
235
+ ? { description: attributes.description }
236
+ : {})), (attributes.deprecated !== undefined
237
+ ? { deprecated: attributes.deprecated }
238
+ : {})),
239
+ optional: file.optional,
240
+ };
241
+ };
242
+ /** The file a field's value is made of, if it is made of files only. */
243
+ const fileOf = (schema, top) => {
244
+ var _a;
245
+ if (isBinary(schema))
246
+ return { binary: schema, optional: false };
247
+ if (utils_1.OpenApiTypeChecker.isOneOf(schema)) {
248
+ const members = schema.oneOf.filter((s) => utils_1.OpenApiTypeChecker.isNull(s) === false);
249
+ const files = members.map((s) => fileOf(s, top));
250
+ if (files.length === 0 || files.some((f) => f === undefined))
251
+ return undefined;
252
+ return {
253
+ binary: files[0].binary,
254
+ optional: members.length !== schema.oneOf.length ||
255
+ files.some((f) => f.optional),
256
+ };
257
+ }
258
+ if (top && utils_1.OpenApiTypeChecker.isArray(schema)) {
259
+ const item = fileOf(schema.items, false);
260
+ // an empty array is a request without the field, unless one file is due
261
+ return item === undefined
262
+ ? undefined
263
+ : { binary: item.binary, optional: ((_a = schema.minItems) !== null && _a !== void 0 ? _a : 0) === 0 };
264
+ }
265
+ return undefined;
266
+ };
267
+ const isBinary = (schema) => utils_1.OpenApiTypeChecker.isString(schema) && schema.format === "binary";
268
+ /** The object schema `schema` is or refers to, if it is one. */
269
+ const resolveObject = (document, schema) => {
270
+ var _a, _b;
271
+ const visited = new Set();
272
+ while (utils_1.OpenApiTypeChecker.isReference(schema)) {
273
+ if (visited.has(schema.$ref))
274
+ return undefined;
275
+ visited.add(schema.$ref);
276
+ const next = (_b = (_a = document.components) === null || _a === void 0 ? void 0 : _a.schemas) === null || _b === void 0 ? void 0 : _b[schema.$ref.substring("#/components/schemas/".length)];
277
+ if (next === undefined)
278
+ return undefined;
279
+ schema = next;
280
+ }
281
+ return utils_1.OpenApiTypeChecker.isObject(schema) ? schema : undefined;
282
+ };
283
+ /** The `key` member of an object example, if the example has one. */
284
+ const memberOf = (example, key) => typeof example === "object" &&
285
+ example !== null &&
286
+ Object.prototype.hasOwnProperty.call(example, key)
287
+ ? example[key]
288
+ : undefined;
289
+ /**
290
+ * Named object examples narrowed to the ones whose value has a `key` member,
291
+ * each an Example Object of that member.
292
+ */
293
+ const membersOf = (examples, key) => {
294
+ if (examples === undefined)
295
+ return undefined;
296
+ const entries = Object.entries(examples)
297
+ .map(([name, example]) => [
298
+ name,
299
+ Object.assign(Object.assign({}, example), { value: memberOf(example.value, key) }),
300
+ ])
301
+ .filter(([, example]) => example.value !== undefined);
302
+ return entries.length !== 0 ? Object.fromEntries(entries) : undefined;
303
+ };
99
304
  const warning = new tstl_1.VariadicSingleton((described) => {
100
305
  const summary = "Request body must be encrypted.";
101
306
  const component = "[EncryptedBody](https://github.com/samchon/@nestia/core#encryptedbody)";
@@ -1 +1 @@
1
- {"version":3,"file":"SwaggerOperationParameterComposer.js","sourceRoot":"","sources":["../../../src/generates/internal/SwaggerOperationParameterComposer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SwaggerOperationParameterComposer.js","sourceRoot":"","sources":["../../../src/generates/internal/SwaggerOperationParameterComposer.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,29 @@
1
1
  import { OpenApi } from "@typia/interface";
2
+ import { INestiaConfig } from "../../INestiaConfig";
2
3
  import { MetadataSchema } from "../../internal/legacy";
3
4
  import { ITypedHttpRoute } from "../../structures/ITypedHttpRoute";
5
+ /**
6
+ * Composes the responses of an operation.
7
+ *
8
+ * @evidence contracts/common.md#principled-implementation The namespace writes the responses of the exceptions, of the `@throws` comments, and of the success, and shares the media type of a 2.0 operation.
9
+ * @evidence contracts/common.md#clear-and-simple-design One public function and helpers.
10
+ * @evidence contracts/common.md#prohibited-implementation-shortcuts Every response goes through one content writer.
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 SwaggerOperationResponseComposer composes OpenAPI data; it does not resolve native file identity or launch a process. Source resolution and file emission belong to their filesystem owners.
13
+ */
4
14
  export declare namespace SwaggerOperationResponseComposer {
15
+ /**
16
+ * Returns the responses of a route, by status: the declared exceptions, the
17
+ * `@throws` comments, and the success.
18
+ *
19
+ * @evidence contracts/common.md#principled-implementation Decorated exceptions retain their schemas and gain a missing description from comments. The success response replaces any entry at its own status. A 2.0 document omits named examples and shares the success body's media type where present.
20
+ * @evidence contracts/common.md#clear-and-simple-design One function.
21
+ * @evidence contracts/common.md#prohibited-implementation-shortcuts The sources are ordered.
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 SwaggerOperationResponseComposer.compose composes OpenAPI data; it does not resolve native file identity or launch a process. Source resolution and file emission belong to their filesystem owners.
24
+ */
5
25
  const compose: (props: {
26
+ config: Omit<INestiaConfig.ISwaggerConfig, "output">;
6
27
  schema: (metadata: MetadataSchema) => OpenApi.IJsonSchema | undefined;
7
28
  route: ITypedHttpRoute;
8
29
  }) => Record<string, OpenApi.IOperation.IResponse>;
@@ -4,11 +4,34 @@ exports.SwaggerOperationResponseComposer = void 0;
4
4
  const tstl_1 = require("tstl");
5
5
  const StringUtil_1 = require("../../utils/StringUtil");
6
6
  const SwaggerDescriptionComposer_1 = require("./SwaggerDescriptionComposer");
7
+ /**
8
+ * Composes the responses of an operation.
9
+ *
10
+ * @evidence contracts/common.md#principled-implementation The namespace writes the responses of the exceptions, of the `@throws` comments, and of the success, and shares the media type of a 2.0 operation.
11
+ * @evidence contracts/common.md#clear-and-simple-design One public function and helpers.
12
+ * @evidence contracts/common.md#prohibited-implementation-shortcuts Every response goes through one content writer.
13
+ * @evidence contracts/common.md#meaningful-documentation The comment states what the declaration produces and its result.
14
+ * @evidenceExclude contracts/portability.md#os-neutral-implementation SwaggerOperationResponseComposer composes OpenAPI data; it does not resolve native file identity or launch a process. Source resolution and file emission belong to their filesystem owners.
15
+ */
7
16
  var SwaggerOperationResponseComposer;
8
17
  (function (SwaggerOperationResponseComposer) {
18
+ /**
19
+ * Returns the responses of a route, by status: the declared exceptions, the
20
+ * `@throws` comments, and the success.
21
+ *
22
+ * @evidence contracts/common.md#principled-implementation Decorated exceptions retain their schemas and gain a missing description from comments. The success response replaces any entry at its own status. A 2.0 document omits named examples and shares the success body's media type where present.
23
+ * @evidence contracts/common.md#clear-and-simple-design One function.
24
+ * @evidence contracts/common.md#prohibited-implementation-shortcuts The sources are ordered.
25
+ * @evidence contracts/common.md#meaningful-documentation The comment states what the declaration produces and its result.
26
+ * @evidenceExclude contracts/portability.md#os-neutral-implementation SwaggerOperationResponseComposer.compose composes OpenAPI data; it does not resolve native file identity or launch a process. Source resolution and file emission belong to their filesystem owners.
27
+ */
9
28
  SwaggerOperationResponseComposer.compose = (props) => {
10
29
  var _a, _b;
11
30
  var _c, _d, _e, _f;
31
+ // Swagger 2.0 keys a response's examples by MIME type, one each, so it has
32
+ // no named examples; the downgrader refuses the whole document rather than
33
+ // lose them (#1649). The single example still fits.
34
+ const named = (examples) => props.config.openapi === "2.0" ? undefined : examples;
12
35
  const output = {};
13
36
  // FROM DECORATOR
14
37
  for (const [status, error] of Object.entries(props.route.exceptions))
@@ -18,7 +41,7 @@ var SwaggerOperationResponseComposer;
18
41
  contentType: "application/json",
19
42
  schema: props.schema(error.metadata),
20
43
  example: error.example,
21
- examples: error.examples,
44
+ examples: named(error.examples),
22
45
  }),
23
46
  };
24
47
  // FROM COMMENTS
@@ -28,15 +51,16 @@ var SwaggerOperationResponseComposer;
28
51
  const text = (_b = (_a = tag.text) === null || _a === void 0 ? void 0 : _a.find((elem) => elem.kind === "text")) === null || _b === void 0 ? void 0 : _b.text;
29
52
  if (text === undefined)
30
53
  continue;
31
- const elements = text.split(" ").map((str) => str.trim());
32
- const status = elements[0];
54
+ // the status is the first word; a tag's text may run over lines
55
+ const status = text.trim().split(/\s+/)[0];
33
56
  if (isNaN(Number(status)) &&
34
57
  status !== "2XX" &&
35
58
  status !== "3XX" &&
36
59
  status !== "4XX" &&
37
60
  status !== "5XX")
38
61
  continue;
39
- const description = elements.length === 1 ? undefined : elements.slice(1).join(" ");
62
+ const rest = text.trim().substring(status.length).trim();
63
+ const description = rest.length ? rest : undefined;
40
64
  const oldbie = output[status];
41
65
  if (description && oldbie !== undefined)
42
66
  (_d = oldbie.description) !== null && _d !== void 0 ? _d : (oldbie.description = description);
@@ -64,7 +88,8 @@ var SwaggerOperationResponseComposer;
64
88
  jsDocTags: props.route.jsDocTags,
65
89
  tag: "return",
66
90
  });
67
- output[(_f = props.route.success.status) !== null && _f !== void 0 ? _f : (props.route.method.toLowerCase() === "post" ? 201 : 200)] = Object.assign({ description: props.route.success.encrypted
91
+ const status = String((_f = props.route.success.status) !== null && _f !== void 0 ? _f : (props.route.method.toLowerCase() === "post" ? 201 : 200));
92
+ output[status] = Object.assign({ description: props.route.success.encrypted
68
93
  ? `${warning.get(!!description, props.route.method)}${description !== null && description !== void 0 ? description : ""}`
69
94
  : (description !== null && description !== void 0 ? description : ""), content: composeContent({
70
95
  contentType: props.route.success.contentType,
@@ -75,10 +100,36 @@ var SwaggerOperationResponseComposer;
75
100
  }
76
101
  : props.schema(props.route.success.metadata),
77
102
  example: props.route.success.example,
78
- examples: props.route.success.examples,
79
- }) }, (props.route.success.encrypted ? { "x-nestia-encrypted": true } : {}));
103
+ examples: named(props.route.success.examples),
104
+ }) }, (props.route.success.encrypted && props.config.openapi !== "2.0"
105
+ ? { "x-nestia-encrypted": true }
106
+ : {}));
107
+ if (props.config.openapi === "2.0")
108
+ swaggerV2Produces(output, status);
80
109
  return output;
81
110
  };
111
+ /**
112
+ * Makes every response body of a Swagger 2.0 operation share one media type.
113
+ *
114
+ * 2.0 declares the media types an operation `produces` once for all of its
115
+ * responses, and the downgrader refuses an operation whose responses disagree
116
+ * rather than list a type a response does not use (#1649). A route whose
117
+ * success body is not JSON, such as an encrypted or a query-string one, still
118
+ * documents its exceptions as JSON, so where the success body has another
119
+ * type, the exceptions keep their status and description without a body.
120
+ */
121
+ const swaggerV2Produces = (output, success) => {
122
+ const kept = mediaOf(output[success]);
123
+ if (kept === undefined)
124
+ return;
125
+ for (const [status, response] of Object.entries(output))
126
+ if (status !== success && mediaOf(response) !== kept)
127
+ delete response.content;
128
+ };
129
+ /** The media types of a response body, or `undefined` without one. */
130
+ const mediaOf = (response) => response.content === undefined
131
+ ? undefined
132
+ : Object.keys(response.content).sort().join(" ");
82
133
  })(SwaggerOperationResponseComposer || (exports.SwaggerOperationResponseComposer = SwaggerOperationResponseComposer = {}));
83
134
  /**
84
135
  * Compose a response's `content`, or omit it when the response has no body.
@@ -1 +1 @@
1
- {"version":3,"file":"SwaggerOperationResponseComposer.js","sourceRoot":"","sources":["../../../src/generates/internal/SwaggerOperationResponseComposer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SwaggerOperationResponseComposer.js","sourceRoot":"","sources":["../../../src/generates/internal/SwaggerOperationResponseComposer.ts"],"names":[],"mappings":";;;AACA,+BAAyC;AAKzC,uDAAoD;AACpD,6EAA0E;AAE1E;;;;;;;;GAQG;AACH,IAAiB,gCAAgC,CAgJhD;AAhJD,WAAiB,gCAAgC;IAC/C;;;;;;;;;OASG;IACU,wCAAO,GAAG,CAAC,KAIvB,EAAgD,EAAE;;;QACjD,2EAA2E;QAC3E,2EAA2E;QAC3E,oDAAoD;QACpD,MAAM,KAAK,GAAG,CACZ,QAAsD,EACR,EAAE,CAChD,KAAK,CAAC,MAAM,CAAC,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC;QACxD,MAAM,MAAM,GAAiD,EAAE,CAAC;QAChE,iBAAiB;QACjB,KAAK,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC;YAClE,MAAM,CAAC,MAAM,CAAC,GAAG;gBACf,WAAW,QAAE,KAAK,CAAC,WAAW,mCAAI,SAAS;gBAC3C,OAAO,EAAE,cAAc,CAAC;oBACtB,WAAW,EAAE,kBAAkB;oBAC/B,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC;oBACpC,OAAO,EAAE,KAAK,CAAC,OAAO;oBACtB,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC;iBAChC,CAAC;aACH,CAAC;QAEJ,gBAAgB;QAChB,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;YACxC,IAAI,GAAG,CAAC,IAAI,KAAK,OAAO,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ;gBAAE,SAAS;YAC5D,MAAM,IAAI,GAAuB,MAAA,MAAA,GAAG,CAAC,IAAI,0CAAE,IAAI,CAC7C,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,CAC/B,0CAAE,IAAI,CAAC;YACR,IAAI,IAAI,KAAK,SAAS;gBAAE,SAAS;YAEjC,gEAAgE;YAChE,MAAM,MAAM,GAAW,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAE,CAAC;YACpD,IACE,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBACrB,MAAM,KAAK,KAAK;gBAChB,MAAM,KAAK,KAAK;gBAChB,MAAM,KAAK,KAAK;gBAChB,MAAM,KAAK,KAAK;gBAEhB,SAAS;YAEX,MAAM,IAAI,GAAW,IAAI,CAAC,IAAI,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;YACjE,MAAM,WAAW,GAAuB,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;YACvE,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;YAC9B,IAAI,WAAW,IAAI,MAAM,KAAK,SAAS;gBACrC,MAAA,MAAM,CAAC,WAAW,oCAAlB,MAAM,CAAC,WAAW,GAAK,WAAW,EAAC;iBAChC,IAAI,MAAM,KAAK,SAAS;gBAC3B,MAAM,CAAC,MAAM,CAAC,GAAG;oBACf,WAAW,EAAE,WAAW;oBACxB,qEAAqE;oBACrE,oEAAoE;oBACpE,qEAAqE;oBACrE,mEAAmE;oBACnE,8DAA8D;oBAC9D,OAAO,EAAE,cAAc,CAAC;wBACtB,WAAW,EAAE,kBAAkB;wBAC/B,MAAM,EAAE,EAAE;wBACV,OAAO,EAAE,SAAS;wBAClB,QAAQ,EAAE,SAAS;qBACpB,CAAC;iBACH,CAAC;QACN,CAAC;QAED,UAAU;QACV,MAAM,WAAW,SACf,uDAA0B,CAAC,uBAAuB,CAAC;YACjD,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,SAAS;YAChC,GAAG,EAAE,SAAS;SACf,CAAC,mCACF,uDAA0B,CAAC,uBAAuB,CAAC;YACjD,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,SAAS;YAChC,GAAG,EAAE,QAAQ;SACd,CAAC,CAAC;QACL,MAAM,MAAM,GAAW,MAAM,OAC3B,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,mCACxB,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAC5D,CAAC;QACF,MAAM,CAAC,MAAM,CAAC,mBACZ,WAAW,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS;gBACxC,CAAC,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,WAAW,aAAX,WAAW,cAAX,WAAW,GAAI,EAAE,EAAE;gBACzE,CAAC,CAAC,CAAC,WAAW,aAAX,WAAW,cAAX,WAAW,GAAI,EAAE,CAAC,EACvB,OAAO,EAAE,cAAc,CAAC;gBACtB,WAAW,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW;gBAC5C,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM;oBAChC,CAAC,CAAC;wBACE,MAAM,EAAE,QAAQ;wBAChB,IAAI,EAAE,QAAQ;qBACf;oBACH,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;gBAC9C,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO;gBACpC,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;aAC9C,CAAC,IAGC,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,KAAK,KAAK;YACjE,CAAC,CAAC,EAAE,oBAAoB,EAAE,IAAI,EAAE;YAChC,CAAC,CAAC,EAAE,CAAC,CACR,CAAC;QACF,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,KAAK,KAAK;YAAE,iBAAiB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACtE,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;IAEF;;;;;;;;;OASG;IACH,MAAM,iBAAiB,GAAG,CACxB,MAAoD,EACpD,OAAe,EACT,EAAE;QACR,MAAM,IAAI,GAAuB,OAAO,CAAC,MAAM,CAAC,OAAO,CAAE,CAAC,CAAC;QAC3D,IAAI,IAAI,KAAK,SAAS;YAAE,OAAO;QAC/B,KAAK,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;YACrD,IAAI,MAAM,KAAK,OAAO,IAAI,OAAO,CAAC,QAAQ,CAAC,KAAK,IAAI;gBAClD,OAAO,QAAQ,CAAC,OAAO,CAAC;IAC9B,CAAC,CAAC;IAEF,sEAAsE;IACtE,MAAM,OAAO,GAAG,CACd,QAAsC,EAClB,EAAE,CACtB,QAAQ,CAAC,OAAO,KAAK,SAAS;QAC5B,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACvD,CAAC,EAhJgB,gCAAgC,aAAhC,gCAAgC,GAAhC,gCAAgC,QAgJhD;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,cAAc,GAAG,CAAC,KAKvB,EAA2C,EAAE;;IAC5C,IAAI,CAAC,KAAK,CAAC,WAAW;QAAE,OAAO,SAAS,CAAC;IACzC,MAAM,SAAS,GACb,KAAK,CAAC,MAAM,KAAK,SAAS;QAC1B,KAAK,CAAC,OAAO,KAAK,SAAS;QAC3B,MAAM,CAAC,IAAI,OAAC,KAAK,CAAC,QAAQ,mCAAI,EAAE,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC;IACjD,IAAI,SAAS,KAAK,KAAK;QAAE,OAAO,SAAS,CAAC;IAC1C,OAAO;QACL,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE;YACnB,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,QAAQ,EAAE,KAAK,CAAC,QAAQ;SACzB;KACF,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,OAAO,GAAG,IAAI,wBAAiB,CAAC,CAAC,SAAkB,EAAE,MAAc,EAAE,EAAE;IAC3E,MAAM,OAAO,GAAW,oCAAoC,CAAC;IAC7D,MAAM,SAAS,GAAW,mBAAmB,uBAAU,CAAC,UAAU,CAAC,MAAM,CAAC,2DAA2D,CAAC;IAEtI,MAAM,OAAO,GAAa;QACxB,YAAY;QACZ,EAAE;QACF,OAAO;QACP,EAAE;QACF,0HAA0H,SAAS,aAAa;QAChJ,EAAE;QACF,mMAAmM;KACpM,CAAC;IACF,IAAI,SAAS,KAAK,IAAI;QAAE,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,kBAAkB,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACrE,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC5B,CAAC,CAAC,CAAC"}