@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
@@ -4,16 +4,37 @@ exports.SdkTypeProgrammer = void 0;
4
4
  const factory_1 = require("@ttsc/factory");
5
5
  const utils_1 = require("@typia/utils");
6
6
  const ExpressionFactory_1 = require("../../factories/ExpressionFactory");
7
+ const LiteralFactory_1 = require("../../factories/LiteralFactory");
7
8
  const TypeFactory_1 = require("../../factories/TypeFactory");
8
9
  const legacy_1 = require("../../internal/legacy");
9
10
  const StringUtil_1 = require("../../utils/StringUtil");
10
11
  const FilePrinter_1 = require("./FilePrinter");
11
12
  const SdkTypeTagProgrammer_1 = require("./SdkTypeTagProgrammer");
13
+ /**
14
+ * Writes the TypeScript type of a metadata.
15
+ *
16
+ * @evidence contracts/common.md#principled-implementation The namespace turns each member of the metadata into a type node and joins them as a union.
17
+ * @evidence contracts/common.md#clear-and-simple-design The schema facade and object writer use one writer per form; collection-body operations distinguish a named recursive definition from its nested references.
18
+ * @evidence contracts/common.md#prohibited-implementation-shortcuts A name that cannot be referenced is written inline.
19
+ * @evidence contracts/common.md#meaningful-documentation The comment states what the declaration produces and its result.
20
+ * @evidenceExclude contracts/portability.md#os-neutral-implementation SdkTypeProgrammer 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.
21
+ */
12
22
  var SdkTypeProgrammer;
13
23
  (function (SdkTypeProgrammer) {
14
24
  /* -----------------------------------------------------------
15
25
  FACADE
16
26
  ----------------------------------------------------------- */
27
+ /**
28
+ * Returns the type of a metadata: the union of its any, null, undefined,
29
+ * escaped, constant, template, atomic, tuple, array, object, alias, and
30
+ * native and typed collection forms. An empty union emits never.
31
+ *
32
+ * @evidence contracts/common.md#principled-implementation Named objects, aliases and recursive collections use references; implicit objects and nonrecursive collections use inline bodies. A recursive declaration writes its collection body once, and nested uses return through references.
33
+ * @evidence contracts/common.md#clear-and-simple-design One function of ordered cases.
34
+ * @evidence contracts/common.md#prohibited-implementation-shortcuts The member order is fixed, supported resolved natives retain their type references, and empty unions use the TypeScript bottom type rather than an empty printed node.
35
+ * @evidence contracts/common.md#meaningful-documentation The comment states what the declaration produces and its result.
36
+ * @evidenceExclude contracts/portability.md#os-neutral-implementation SdkTypeProgrammer.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.
37
+ */
17
38
  SdkTypeProgrammer.write = (project) => (importer) => (meta, parentEscaped = false) => {
18
39
  var _a;
19
40
  const union = [];
@@ -29,7 +50,7 @@ var SdkTypeProgrammer;
29
50
  // ATOMIC TYPES
30
51
  for (const c of meta.constants)
31
52
  for (const value of c.values)
32
- union.push(write_constant(value));
53
+ union.push(write_constant(c.type, value));
33
54
  for (const tpl of meta.templates)
34
55
  union.push(write_template(project)(importer)((_a = tpl.row) !== null && _a !== void 0 ? _a : tpl));
35
56
  for (const atom of meta.atomics)
@@ -54,12 +75,33 @@ var SdkTypeProgrammer;
54
75
  for (const alias of meta.aliases)
55
76
  union.push(writeAlias(project)(importer)(alias.type));
56
77
  for (const native of meta.natives)
57
- if (native.name === "Blob" || native.name === "File")
58
- union.push(write_native(native.name));
59
- return union.length === 1
60
- ? union[0]
61
- : factory_1.factory.createUnionTypeNode(union);
78
+ union.push(write_native(native.name));
79
+ for (const set of meta.sets)
80
+ union.push(factory_1.factory.createTypeReferenceNode("Set", [
81
+ SdkTypeProgrammer.write(project)(importer)(set.value),
82
+ ]));
83
+ for (const map of meta.maps)
84
+ union.push(factory_1.factory.createTypeReferenceNode("Map", [
85
+ SdkTypeProgrammer.write(project)(importer)(map.key),
86
+ SdkTypeProgrammer.write(project)(importer)(map.value),
87
+ ]));
88
+ return union.length === 0
89
+ ? TypeFactory_1.TypeFactory.keyword("never")
90
+ : union.length === 1
91
+ ? union[0]
92
+ : factory_1.factory.createUnionTypeNode(union);
62
93
  };
94
+ /**
95
+ * Returns the type of an object: the regular properties as one literal,
96
+ * intersected with each dynamic key's index signature. Both signature forms
97
+ * retain the metadata's readonly modifier.
98
+ *
99
+ * @evidence contracts/common.md#principled-implementation A key that is a sole literal is regular, and every other key is dynamic. Each property's mutability supplies the readonly modifier for its corresponding property or index signature.
100
+ * @evidence contracts/common.md#clear-and-simple-design One function.
101
+ * @evidence contracts/common.md#prohibited-implementation-shortcuts The cases are exhaustive over the keys.
102
+ * @evidence contracts/common.md#meaningful-documentation The comment states what the declaration produces and its result.
103
+ * @evidenceExclude contracts/portability.md#os-neutral-implementation SdkTypeProgrammer.write_object 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.
104
+ */
63
105
  SdkTypeProgrammer.write_object = (project) => (importer) => (object) => {
64
106
  const regular = object.properties.filter((p) => (0, legacy_1.isSoleLiteralOf)(p.key));
65
107
  const dynamic = object.properties.filter((p) => !(0, legacy_1.isSoleLiteralOf)(p.key));
@@ -73,31 +115,43 @@ var SdkTypeProgrammer;
73
115
  : write_regular_property(project)(importer)(regular);
74
116
  };
75
117
  const write_escaped = (project) => (importer) => (meta) => {
76
- if ((0, legacy_1.sizeOf)(meta.original) === 1 &&
77
- meta.original.natives.length === 1 &&
78
- meta.original.natives[0].name === "Date")
118
+ if (meta.original.natives.length === 1 &&
119
+ meta.original.natives[0].name === "Date" &&
120
+ !meta.original.any &&
121
+ meta.original.escaped === null &&
122
+ [
123
+ meta.original.atomics,
124
+ meta.original.constants,
125
+ meta.original.templates,
126
+ meta.original.arrays,
127
+ meta.original.tuples,
128
+ meta.original.objects,
129
+ meta.original.aliases,
130
+ meta.original.sets,
131
+ meta.original.maps,
132
+ meta.original.functions,
133
+ ].every((members) => members.length === 0))
79
134
  return factory_1.factory.createIntersectionTypeNode([
80
135
  TypeFactory_1.TypeFactory.keyword("string"),
81
- SdkTypeTagProgrammer_1.SdkTypeTagProgrammer.write(importer, "string", {
82
- name: "Format",
83
- value: "date-time",
84
- }),
136
+ SdkTypeTagProgrammer_1.SdkTypeTagProgrammer.writePredefined(importer, "Format", "date-time"),
85
137
  ]);
86
138
  return SdkTypeProgrammer.write(project)(importer)(meta.returns, true);
87
139
  };
88
140
  /* -----------------------------------------------------------
89
141
  ATOMICS
90
142
  ----------------------------------------------------------- */
91
- const write_constant = (value) => {
92
- if (typeof value.value === "boolean")
93
- return factory_1.factory.createLiteralTypeNode(value.value ? factory_1.factory.createTrue() : factory_1.factory.createFalse());
94
- else if (typeof value.value === "bigint")
95
- return factory_1.factory.createLiteralTypeNode(value.value < BigInt(0)
96
- ? factory_1.factory.createPrefixUnaryExpression(factory_1.SyntaxKind.MinusToken, factory_1.factory.createBigIntLiteral((-value.value).toString()))
97
- : factory_1.factory.createBigIntLiteral(value.value.toString()));
98
- else if (typeof value.value === "number")
99
- return factory_1.factory.createLiteralTypeNode(ExpressionFactory_1.ExpressionFactory.number(value.value));
100
- return factory_1.factory.createLiteralTypeNode(factory_1.factory.createStringLiteral(value.value));
143
+ const write_constant = (type, constant) => {
144
+ const value = (0, legacy_1.decodeMetadataValue)(type, constant.value);
145
+ if (typeof value === "boolean")
146
+ return factory_1.factory.createLiteralTypeNode(value ? factory_1.factory.createTrue() : factory_1.factory.createFalse());
147
+ else if (typeof value === "bigint")
148
+ return factory_1.factory.createLiteralTypeNode(LiteralFactory_1.LiteralFactory.write(value));
149
+ else if (typeof value === "number")
150
+ // NaN is the one number with no literal type
151
+ return Number.isNaN(value)
152
+ ? TypeFactory_1.TypeFactory.keyword("number")
153
+ : factory_1.factory.createLiteralTypeNode(ExpressionFactory_1.ExpressionFactory.number(value));
154
+ return factory_1.factory.createLiteralTypeNode(factory_1.factory.createStringLiteral(value));
101
155
  };
102
156
  const write_template = (project) => (importer) => (meta) => {
103
157
  var _a;
@@ -138,8 +192,34 @@ var SdkTypeProgrammer;
138
192
  /* -----------------------------------------------------------
139
193
  INSTANCES
140
194
  ----------------------------------------------------------- */
141
- const write_array = (project) => (importer) => (meta) => write_type_tag_matrix(importer)("array", factory_1.factory.createArrayTypeNode(SdkTypeProgrammer.write(project)(importer)(meta.type.value)), meta.tags);
142
- const write_tuple = (project) => (importer) => (meta) => factory_1.factory.createTupleTypeNode(meta.type.elements.map((elem) => elem.rest
195
+ const write_array = (project) => (importer) => (meta) => write_type_tag_matrix(importer)("array", meta.type.recursive
196
+ ? writeAlias(project)(importer)(meta.type)
197
+ : SdkTypeProgrammer.write_array_type(project)(importer)(meta.type), meta.tags);
198
+ const write_tuple = (project) => (importer) => (meta) => meta.type.recursive
199
+ ? writeAlias(project)(importer)(meta.type)
200
+ : SdkTypeProgrammer.write_tuple_type(project)(importer)(meta.type);
201
+ /**
202
+ * Writes an array definition's body, using named references for recursive
203
+ * collections reached through its element schema.
204
+ *
205
+ * @evidence contracts/common.md#principled-implementation A declaration needs one array body while its nested use sites use the ordinary writer's recursive references, so X=X[] is finite and retains its element meaning.
206
+ * @evidence contracts/common.md#clear-and-simple-design One array node delegates its element to write.
207
+ * @evidence contracts/common.md#prohibited-implementation-shortcuts The declaration operation is distinct from reference emission and adds no test-only flags or names.
208
+ * @evidence contracts/common.md#meaningful-documentation The comment distinguishes a definition body from nested references.
209
+ * @evidenceExclude contracts/portability.md#os-neutral-implementation SdkTypeProgrammer.write_array_type 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.
210
+ */
211
+ SdkTypeProgrammer.write_array_type = (project) => (importer) => (meta) => factory_1.factory.createArrayTypeNode(SdkTypeProgrammer.write(project)(importer)(meta.value));
212
+ /**
213
+ * Writes a tuple definition's body, retaining optional and rest elements
214
+ * while nested recursive collections use named references.
215
+ *
216
+ * @evidence contracts/common.md#principled-implementation Each element retains its optional/rest form and schema; nested uses return through write, whose recursive reference branch terminates self and mutual collection cycles.
217
+ * @evidence contracts/common.md#clear-and-simple-design One element map creates the tuple body.
218
+ * @evidence contracts/common.md#prohibited-implementation-shortcuts The same body operation serves ordinary inline tuples and recursive declarations without special-cased source names.
219
+ * @evidence contracts/common.md#meaningful-documentation The comment states the definition body and modifier responsibilities.
220
+ * @evidenceExclude contracts/portability.md#os-neutral-implementation SdkTypeProgrammer.write_tuple_type 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.
221
+ */
222
+ SdkTypeProgrammer.write_tuple_type = (project) => (importer) => (meta) => factory_1.factory.createTupleTypeNode(meta.elements.map((elem) => elem.rest
143
223
  ? factory_1.factory.createRestTypeNode(factory_1.factory.createArrayTypeNode(SdkTypeProgrammer.write(project)(importer)(elem.rest)))
144
224
  : elem.optional
145
225
  ? factory_1.factory.createOptionalTypeNode(SdkTypeProgrammer.write(project)(importer)(elem))
@@ -147,7 +227,9 @@ var SdkTypeProgrammer;
147
227
  const write_regular_property = (project) => (importer) => (properties) => factory_1.factory.createTypeLiteralNode(properties
148
228
  .map((p) => {
149
229
  const description = writeComment(p.value.atomics)(p.description, p.jsDocTags);
150
- const signature = factory_1.factory.createPropertySignature(undefined, utils_1.NamingConvention.variable(String(p.key.constants[0].values[0].value))
230
+ const signature = factory_1.factory.createPropertySignature(p.mutability === "readonly"
231
+ ? [factory_1.factory.createModifier(factory_1.SyntaxKind.ReadonlyKeyword)]
232
+ : undefined, utils_1.NamingConvention.variable(String(p.key.constants[0].values[0].value))
151
233
  ? factory_1.factory.createIdentifier(String(p.key.constants[0].values[0].value))
152
234
  : factory_1.factory.createStringLiteral(String(p.key.constants[0].values[0].value)), (0, legacy_1.isRequiredOf)(p.value) === false
153
235
  ? factory_1.factory.createToken(factory_1.SyntaxKind.QuestionToken)
@@ -161,7 +243,9 @@ var SdkTypeProgrammer;
161
243
  })
162
244
  .flat());
163
245
  const write_dynamic_property = (project) => (importer) => (property) => factory_1.factory.createTypeLiteralNode([
164
- FilePrinter_1.FilePrinter.description(factory_1.factory.createIndexSignature(undefined, [
246
+ FilePrinter_1.FilePrinter.description(factory_1.factory.createIndexSignature(property.mutability === "readonly"
247
+ ? [factory_1.factory.createModifier(factory_1.SyntaxKind.ReadonlyKeyword)]
248
+ : undefined, [
165
249
  factory_1.factory.createParameterDeclaration(undefined, undefined, factory_1.factory.createIdentifier("key"), undefined, SdkTypeProgrammer.write(project)(importer)(property.key)),
166
250
  ], SdkTypeProgrammer.write(project)(importer)(property.value)), writeComment(property.value.atomics)(property.description, property.jsDocTags)),
167
251
  ]);
@@ -1 +1 @@
1
- {"version":3,"file":"SdkTypeProgrammer.js","sourceRoot":"","sources":["../../../src/generates/internal/SdkTypeProgrammer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SdkTypeProgrammer.js","sourceRoot":"","sources":["../../../src/generates/internal/SdkTypeProgrammer.ts"],"names":[],"mappings":";;;AAAA,2CAAmE;AACnE,wCAAgD;AAGhD,yEAAsE;AACtE,mEAAgE;AAChE,6DAA0D;AAC1D,kDAe+B;AAE/B,uDAAoD;AACpD,+CAA4C;AAE5C,iEAA8D;AAE9D;;;;;;;;GAQG;AACH,IAAiB,iBAAiB,CA6ZjC;AA7ZD,WAAiB,iBAAiB;IAChC;;kEAE8D;IAC9D;;;;;;;;;;OAUG;IACU,uBAAK,GAChB,CAAC,OAAuB,EAAE,EAAE,CAC5B,CAAC,QAA0B,EAAE,EAAE,CAC/B,CAAC,IAAoB,EAAE,aAAa,GAAY,KAAK,EAAY,EAAE;;QACjE,MAAM,KAAK,GAAe,EAAE,CAAC;QAE7B,YAAY;QACZ,IAAI,IAAI,CAAC,GAAG;YAAE,KAAK,CAAC,IAAI,CAAC,yBAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;QACrD,IAAI,IAAI,CAAC,QAAQ;YAAE,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;QACjD,IAAI,IAAI,CAAC,QAAQ,KAAK,KAAK;YAAE,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC;QAChE,IAAI,aAAa,KAAK,KAAK,IAAI,IAAI,CAAC,OAAO;YACzC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;QAE7D,eAAe;QACf,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,SAAS;YAC5B,KAAK,MAAM,KAAK,IAAI,CAAC,CAAC,MAAM;gBAAE,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;QAC1E,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,SAAS;YAC9B,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,OAAC,GAAG,CAAC,GAAG,mCAAI,GAAG,CAAC,CAAC,CAAC;QAChE,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,OAAO;YAAE,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAE1E,eAAe;QACf,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM;YAC7B,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,KAAsB,CAAC,CAAC,CAAC;QACrE,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM;YAC7B,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,KAAsB,CAAC,CAAC,CAAC;QACrE,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAClC,MAAM,MAAM,GAAG,MAAM,CAAC,IAA0B,CAAC;YACjD,qEAAqE;YACrE,uEAAuE;YACvE,sEAAsE;YACtE,wEAAwE;YACxE,mEAAmE;YACnE,IAAI,uBAAU,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC;gBACpC,KAAK,CAAC,IAAI,CAAC,8BAAY,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;;gBACjD,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;QACzD,CAAC;QACD,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,OAAO;YAC9B,KAAK,CAAC,IAAI,CACR,UAAU,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,IAAyB,CAAC,CAC/D,CAAC;QACJ,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO;YAAE,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QACzE,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI;YACzB,KAAK,CAAC,IAAI,CACR,iBAAO,CAAC,uBAAuB,CAAC,KAAK,EAAE;gBACrC,uBAAK,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC;aACpC,CAAC,CACH,CAAC;QACJ,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI;YACzB,KAAK,CAAC,IAAI,CACR,iBAAO,CAAC,uBAAuB,CAAC,KAAK,EAAE;gBACrC,uBAAK,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;gBACjC,uBAAK,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC;aACpC,CAAC,CACH,CAAC;QAEJ,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;YACvB,CAAC,CAAC,yBAAW,CAAC,OAAO,CAAC,OAAO,CAAC;YAC9B,CAAC,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;gBAClB,CAAC,CAAC,KAAK,CAAC,CAAC,CAAE;gBACX,CAAC,CAAC,iBAAO,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;IAC3C,CAAC,CAAC;IAEJ;;;;;;;;;;OAUG;IACU,8BAAY,GACvB,CAAC,OAAuB,EAAE,EAAE,CAC5B,CAAC,QAA0B,EAAE,EAAE,CAC/B,CAAC,MAA0B,EAAY,EAAE;QACvC,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,wBAAe,EAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACxE,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAA,wBAAe,EAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACzE,OAAO,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM;YACrC,CAAC,CAAC,iBAAO,CAAC,0BAA0B,CAAC;gBACjC,sBAAsB,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC;gBAClD,GAAG,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC;aAC1D,CAAC;YACJ,CAAC,CAAC,OAAO,CAAC,MAAM;gBACd,CAAC,CAAC,iBAAO,CAAC,0BAA0B,CAChC,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,CACvD;gBACH,CAAC,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC;IAC3D,CAAC,CAAC;IAEJ,MAAM,aAAa,GACjB,CAAC,OAAuB,EAAE,EAAE,CAC5B,CAAC,QAA0B,EAAE,EAAE,CAC/B,CAAC,IAAqB,EAAY,EAAE;QAClC,IACE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC;YAClC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAE,CAAC,IAAI,KAAK,MAAM;YACzC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG;YAClB,IAAI,CAAC,QAAQ,CAAC,OAAO,KAAK,IAAI;YAC9B;gBACE,IAAI,CAAC,QAAQ,CAAC,OAAO;gBACrB,IAAI,CAAC,QAAQ,CAAC,SAAS;gBACvB,IAAI,CAAC,QAAQ,CAAC,SAAS;gBACvB,IAAI,CAAC,QAAQ,CAAC,MAAM;gBACpB,IAAI,CAAC,QAAQ,CAAC,MAAM;gBACpB,IAAI,CAAC,QAAQ,CAAC,OAAO;gBACrB,IAAI,CAAC,QAAQ,CAAC,OAAO;gBACrB,IAAI,CAAC,QAAQ,CAAC,IAAI;gBAClB,IAAI,CAAC,QAAQ,CAAC,IAAI;gBAClB,IAAI,CAAC,QAAQ,CAAC,SAAS;aACxB,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC;YAE1C,OAAO,iBAAO,CAAC,0BAA0B,CAAC;gBACxC,yBAAW,CAAC,OAAO,CAAC,QAAQ,CAAC;gBAC7B,2CAAoB,CAAC,eAAe,CAAC,QAAQ,EAAE,QAAQ,EAAE,WAAW,CAAC;aACtE,CAAC,CAAC;QACL,OAAO,uBAAK,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACtD,CAAC,CAAC;IAEJ;;kEAE8D;IAC9D,MAAM,cAAc,GAAG,CACrB,IAAY,EACZ,QAA+B,EACrB,EAAE;QACZ,MAAM,KAAK,GAAY,IAAA,4BAAmB,EAAC,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;QACjE,IAAI,OAAO,KAAK,KAAK,SAAS;YAC5B,OAAO,iBAAO,CAAC,qBAAqB,CAClC,KAAK,CAAC,CAAC,CAAC,iBAAO,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,iBAAO,CAAC,WAAW,EAAE,CACrD,CAAC;aACC,IAAI,OAAO,KAAK,KAAK,QAAQ;YAChC,OAAO,iBAAO,CAAC,qBAAqB,CAAC,+BAAc,CAAC,KAAK,CAAC,KAAK,CAAQ,CAAC,CAAC;aACtE,IAAI,OAAO,KAAK,KAAK,QAAQ;YAChC,6CAA6C;YAC7C,OAAO,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC;gBACxB,CAAC,CAAC,yBAAW,CAAC,OAAO,CAAC,QAAQ,CAAC;gBAC/B,CAAC,CAAC,iBAAO,CAAC,qBAAqB,CAAC,qCAAiB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QACrE,OAAO,iBAAO,CAAC,qBAAqB,CAClC,iBAAO,CAAC,mBAAmB,CAAC,KAAe,CAAC,CAC7C,CAAC;IACJ,CAAC,CAAC;IAEF,MAAM,cAAc,GAClB,CAAC,OAAuB,EAAE,EAAE,CAC5B,CAAC,QAA0B,EAAE,EAAE,CAC/B,CAAC,IAAsB,EAAY,EAAE;;QACnC,MAAM,IAAI,GAAY,IAAA,wBAAe,EAAC,IAAI,CAAC,CAAC,CAAE,CAAC,CAAC;QAChD,MAAM,KAAK,GAAuC,EAAE,CAAC;QACrD,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5C,MAAM,IAAI,SACR,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,mCACZ,CAAC,GAAG,EAAE;gBACJ,MAAM,KAAK,GAAG,CAAC,IAAK,EAAE,IAAK,CAAqC,CAAC;gBACjE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAClB,OAAO,KAAK,CAAC;YACf,CAAC,CAAC,EAAE,CAAC;YACP,IAAI,IAAA,wBAAe,EAAC,IAAI,CAAC;gBACvB,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI;oBAClB,IAAI,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAE,CAAC,MAAM,CAAC,CAAC,CAAE,CAAC,KAAK,CAAC,CAAC;;oBAEtD,KAAK,CAAC,IAAI,CAAC;wBACT,iBAAO,CAAC,qBAAqB,CAC3B,iBAAO,CAAC,mBAAmB,CACzB,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAE,CAAC,MAAM,CAAC,CAAC,CAAE,CAAC,KAAK,CAAC,CAC5C,CACF;wBACD,IAAI;qBACL,CAAC,CAAC;iBACF,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI;gBAAE,IAAI,CAAC,CAAC,CAAC,GAAG,uBAAK,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC;;gBAC/D,KAAK,CAAC,IAAI,CAAC,CAAC,uBAAK,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;QAC1D,CAAC;QACD,OAAO,iBAAO,CAAC,yBAAyB,CACtC,iBAAO,CAAC,kBAAkB,CACxB,IAAI,CAAC,CAAC,CAAE,IAAI,CAAC,CAAC,CAAE,CAAC,SAAS,CAAC,CAAC,CAAE,CAAC,MAAM,CAAC,CAAC,CAAE,CAAC,KAAgB,CAAC,CAAC,CAAC,EAAE,CAChE,EACD,KAAK;aACF,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC;aACjC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,CAC7B,iBAAO,CAAC,6BAA6B,CACnC,IAAK,EACL,CAAC,CAAC,KAAK,KAAK,CAAC,MAAM,GAAG,CAAC;YACrB,CAAC,CAAC,iBAAO,CAAC,oBAAoB;YAC9B,CAAC,CAAC,iBAAO,CAAC,kBAAkB,CAAC,CAAC,GAAG,aAAH,GAAG,cAAH,GAAG,GAAI,EAAE,CAAC,CAC3C,CACF,CACJ,CAAC;IACJ,CAAC,CAAC;IAEJ,MAAM,YAAY,GAChB,CAAC,QAA0B,EAAE,EAAE,CAC/B,CAAC,IAAoB,EAAY,EAAE,CACjC,qBAAqB,CAAC,QAAQ,CAAC,CAC7B,IAAI,CAAC,IAAkD,EACvD,iBAAO,CAAC,qBAAqB,CAC3B,IAAI,CAAC,IAAI,KAAK,SAAS;QACrB,CAAC,CAAC,oBAAU,CAAC,cAAc;QAC3B,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ;YACtB,CAAC,CAAC,oBAAU,CAAC,aAAa;YAC1B,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ;gBACtB,CAAC,CAAC,oBAAU,CAAC,aAAa;gBAC1B,CAAC,CAAC,oBAAU,CAAC,aAAa,CACjC,EACD,IAAI,CAAC,IAAI,CACV,CAAC;IAEN;;kEAE8D;IAC9D,MAAM,WAAW,GACf,CAAC,OAAuB,EAAE,EAAE,CAC5B,CAAC,QAA0B,EAAE,EAAE,CAC/B,CAAC,IAAmB,EAAY,EAAE,CAChC,qBAAqB,CAAC,QAAQ,CAAC,CAC7B,OAAO,EACP,IAAI,CAAC,IAAK,CAAC,SAAS;QAClB,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAK,CAAC;QAC3C,CAAC,CAAC,kCAAgB,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAK,CAAC,EACnD,IAAI,CAAC,IAAI,CACV,CAAC;IAEN,MAAM,WAAW,GACf,CAAC,OAAuB,EAAE,EAAE,CAC5B,CAAC,QAA0B,EAAE,EAAE,CAC/B,CAAC,IAAmB,EAAY,EAAE,CAChC,IAAI,CAAC,IAAK,CAAC,SAAS;QAClB,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAK,CAAC;QAC3C,CAAC,CAAC,kCAAgB,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAK,CAAC,CAAC;IAExD;;;;;;;;;OASG;IACU,kCAAgB,GAC3B,CAAC,OAAuB,EAAE,EAAE,CAC5B,CAAC,QAA0B,EAAE,EAAE,CAC/B,CAAC,IAAuB,EAAY,EAAE,CACpC,iBAAO,CAAC,mBAAmB,CAAC,uBAAK,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAEtE;;;;;;;;;OASG;IACU,kCAAgB,GAC3B,CAAC,OAAuB,EAAE,EAAE,CAC5B,CAAC,QAA0B,EAAE,EAAE,CAC/B,CAAC,IAAuB,EAAY,EAAE,CACpC,iBAAO,CAAC,mBAAmB,CACzB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CACzB,IAAI,CAAC,IAAI;QACP,CAAC,CAAC,iBAAO,CAAC,kBAAkB,CACxB,iBAAO,CAAC,mBAAmB,CACzB,uBAAK,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CACpC,CACF;QACH,CAAC,CAAC,IAAI,CAAC,QAAQ;YACb,CAAC,CAAC,iBAAO,CAAC,sBAAsB,CAAC,uBAAK,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC;YAChE,CAAC,CAAC,uBAAK,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CACrC,CACF,CAAC;IAEN,MAAM,sBAAsB,GAC1B,CAAC,OAAuB,EAAE,EAAE,CAC5B,CAAC,QAA0B,EAAE,EAAE,CAC/B,CAAC,UAA8B,EAAY,EAAE,CAC3C,iBAAO,CAAC,qBAAqB,CAC3B,UAAU;SACP,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACT,MAAM,WAAW,GAAW,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CACvD,CAAC,CAAC,WAAW,EACb,CAAC,CAAC,SAAS,CACZ,CAAC;QACF,MAAM,SAAS,GAAG,iBAAO,CAAC,uBAAuB,CAC/C,CAAC,CAAC,UAAU,KAAK,UAAU;YACzB,CAAC,CAAC,CAAC,iBAAO,CAAC,cAAc,CAAC,oBAAU,CAAC,eAAe,CAAC,CAAC;YACtD,CAAC,CAAC,SAAS,EACb,wBAAgB,CAAC,QAAQ,CACvB,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAE,CAAC,MAAM,CAAC,CAAC,CAAE,CAAC,KAAK,CAAC,CAC7C;YACC,CAAC,CAAC,iBAAO,CAAC,gBAAgB,CACtB,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAE,CAAC,MAAM,CAAC,CAAC,CAAE,CAAC,KAAK,CAAC,CAC7C;YACH,CAAC,CAAC,iBAAO,CAAC,mBAAmB,CACzB,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAE,CAAC,MAAM,CAAC,CAAC,CAAE,CAAC,KAAK,CAAC,CAC7C,EACL,IAAA,qBAAY,EAAC,CAAC,CAAC,KAAK,CAAC,KAAK,KAAK;YAC7B,CAAC,CAAC,iBAAO,CAAC,WAAW,CAAC,oBAAU,CAAC,aAAa,CAAC;YAC/C,CAAC,CAAC,SAAS,EACb,iBAAiB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CACpD,CAAC;QACF,OAAO,CAAC,CAAC,WAAW,CAAC,MAAM;YACzB,CAAC,CAAC;gBACE,iBAAO,CAAC,gBAAgB,CAAC,IAAI,CAAQ;gBACrC,yBAAW,CAAC,WAAW,CAAC,SAAS,EAAE,WAAW,CAAC;aAChD;YACH,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC,CAAC;SACD,IAAI,EAAE,CACV,CAAC;IAEN,MAAM,sBAAsB,GAC1B,CAAC,OAAuB,EAAE,EAAE,CAC5B,CAAC,QAA0B,EAAE,EAAE,CAC/B,CAAC,QAA0B,EAAY,EAAE,CACvC,iBAAO,CAAC,qBAAqB,CAAC;QAC5B,yBAAW,CAAC,WAAW,CACrB,iBAAO,CAAC,oBAAoB,CAC1B,QAAQ,CAAC,UAAU,KAAK,UAAU;YAChC,CAAC,CAAC,CAAC,iBAAO,CAAC,cAAc,CAAC,oBAAU,CAAC,eAAe,CAAC,CAAC;YACtD,CAAC,CAAC,SAAS,EACb;YACE,iBAAO,CAAC,0BAA0B,CAChC,SAAS,EACT,SAAS,EACT,iBAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAC/B,SAAS,EACT,iBAAiB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CACzD;SACF,EACD,iBAAiB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAC3D,EACD,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAClC,QAAQ,CAAC,WAAW,EACpB,QAAQ,CAAC,SAAS,CACnB,CACF;KACF,CAAC,CAAC;IAEP,MAAM,UAAU,GACd,CAAC,OAAuB,EAAE,EAAE,CAC5B,CAAC,QAA0B,EAAE,EAAE,CAC/B,CACE,IAIqB,EACX,EAAE;QACZ,kBAAkB,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjD,mEAAmE;QACnE,sEAAsE;QACtE,yEAAyE;QACzE,uCAAuC;QACvC,OAAO,iBAAO,CAAC,uBAAuB,CACpC,uBAAU,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAC5C,CAAC;IACJ,CAAC,CAAC;IAEJ,MAAM,YAAY,GAAG,CAAC,IAAY,EAAY,EAAE,CAC9C,iBAAO,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;IAExC;;kEAE8D;IAC9D,MAAM,qBAAqB,GACzB,CAAC,QAA0B,EAAE,EAAE,CAC/B,CACE,IAAqE,EACrE,IAAc,EACd,MAA4B,EAClB,EAAE;QACZ,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC;QAClD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;aAChC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;YAC1B,OAAO,iBAAO,CAAC,0BAA0B,CAAC;gBACxC,IAAI;gBACJ,GAAG,MAAM,CAAC,CAAC,CAAE,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CACxB,2CAAoB,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,GAAG,CAAC,CAChD;aACF,CAAC,CAAC;QACL,OAAO,iBAAO,CAAC,0BAA0B,CAAC;YACxC,IAAI;YACJ,iBAAO,CAAC,mBAAmB,CACzB,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CACjB,GAAG,CAAC,MAAM,KAAK,CAAC;gBACd,CAAC,CAAC,2CAAoB,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,CAAE,CAAC;gBACrD,CAAC,CAAC,iBAAO,CAAC,0BAA0B,CAChC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CACd,2CAAoB,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,GAAG,CAAC,CAChD,CACF,CACN,CACF;SACF,CAAC,CAAC;IACL,CAAC,CAAC;AACN,CAAC,EA7ZgB,iBAAiB,aAAjB,iBAAiB,GAAjB,iBAAiB,QA6ZjC;AAED,MAAM,SAAS,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,iBAAO,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;AAC1E,MAAM,YAAY,GAChB,CAAC,OAAyB,EAAE,EAAE,CAC9B,CAAC,WAA0B,EAAE,SAA0B,EAAU,EAAE;IACjE,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,MAAM;QACrB,KAAK,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IAE5D,MAAM,QAAQ,GACZ,CAAC,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,EAAC,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,MAAM,CAAA;QACrC,CAAC,CAAC,SAAS,CAAC,MAAM,CACd,CAAC,GAAG,EAAE,EAAE,CACN,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAClB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC,CAAC,CACvD,CACJ;QACH,CAAC,CAAC,CAAC,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,EAAE,CAAC,CAAC;IAExB,IAAI,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,MAAM,KAAI,QAAQ,CAAC,MAAM;QAAE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC3D,IAAI,QAAQ,CAAC,MAAM;QACjB,KAAK,CAAC,IAAI,CACR,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,kBACpB,CAAA,MAAA,CAAC,CAAC,IAAI,0CAAE,MAAM;YACZ,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;YACpD,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,GAAA,CACjB,CACF,CAAC;IACJ,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC,CAAC;AAEJ,MAAM,kBAAkB,GACtB,CAAC,OAAuB,EAAE,EAAE,CAC5B,CAAC,QAA0B,EAAE,EAAE,CAC/B,CAAC,IAAY,EAAE,EAAE;IACf,yEAAyE;IACzE,oEAAoE;IACpE,MAAM,GAAG,GAAW,uBAAU,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAE,CAAC;IACrD,IAAI,QAAQ,CAAC,IAAI,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK;QACnE,OAAO;IACT,QAAQ,CAAC,QAAQ,CAAC;QAChB,WAAW,EAAE,IAAI;QACjB,IAAI,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,eAAe,GAAG,EAAE;QAClD,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,GAAG;KACV,CAAC,CAAC;AACL,CAAC,CAAC"}
@@ -1,6 +1,58 @@
1
1
  import { type TypeNode } from "@ttsc/factory";
2
2
  import { IMetadataTypeTag } from "@typia/interface";
3
3
  import { ImportDictionary } from "./ImportDictionary";
4
+ /**
5
+ * Writes the type tags of a cloned DTO.
6
+ *
7
+ * @evidence contracts/common.md#principled-implementation Supported predefined tags require matching arguments and encoded validation, exclusivity and schema expansions; other tags are emitted from the metadata fields as tags.TagBase.
8
+ * @evidence contracts/common.md#clear-and-simple-design Two public functions over a table of predefined tags.
9
+ * @evidence contracts/common.md#prohibited-implementation-shortcuts The choice is decided by the expansion.
10
+ * @evidence contracts/common.md#meaningful-documentation The comment states what the declaration produces and its result.
11
+ * @evidenceExclude contracts/portability.md#os-neutral-implementation SdkTypeTagProgrammer 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.
12
+ */
4
13
  export declare namespace SdkTypeTagProgrammer {
5
- const write: (importer: ImportDictionary, from: "object" | "array" | "boolean" | "number" | "bigint" | "string", tag: IMetadataTypeTag) => TypeNode;
14
+ /**
15
+ * The kinds of type a tag can be attached to.
16
+ *
17
+ * @evidence contracts/common.md#principled-implementation The six kinds are those the tags declare.
18
+ * @evidence contracts/common.md#clear-and-simple-design One union.
19
+ * @evidence contracts/common.md#prohibited-implementation-shortcuts It is a type and adds no runtime behavior.
20
+ * @evidence contracts/common.md#meaningful-documentation The comment states what the declaration produces and its result.
21
+ * @evidenceExclude contracts/portability.md#os-neutral-implementation SdkTypeTagProgrammer.Target 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.
22
+ */
23
+ type Target = "object" | "array" | "boolean" | "number" | "bigint" | "string";
24
+ /**
25
+ * Writes a type tag of a cloned DTO.
26
+ *
27
+ * A tag prints as the predefined typia tag it matches, `tags.Minimum<3>`,
28
+ * only when that tag accepts the argument and, given it, expands to exactly
29
+ * the tag the metadata carries; then the two are the same type. Anything else
30
+ * prints in the generic `tags.TagBase<{ ... }>` form using the native
31
+ * metadata's reported fields. This cannot recover source details absent from
32
+ * that metadata or composite values changed by JSON encoding.
33
+ *
34
+ * The tag's name cannot decide it. The SDK names a tag after its object type
35
+ * with the brackets and quotes a component name drops, `Minimum3` or
36
+ * `Formatuuid`, so a name no longer tells `tags.Minimum<3>` from a user's own
37
+ * tag named alike (#1662). The expansion can: it is typia's declaration of
38
+ * each predefined tag, and should typia change one, the tag only falls back
39
+ * to the `TagBase` form.
40
+ *
41
+ * @evidence contracts/common.md#principled-implementation A tag prints as the predefined tag it matches only when that tag expands to exactly the tag the metadata carries.
42
+ * @evidence contracts/common.md#clear-and-simple-design One function.
43
+ * @evidence contracts/common.md#prohibited-implementation-shortcuts Generic tags retain the reported value, validation, exclusivity and schema fields; NaN has no literal type and is represented as null. Source details absent from native metadata are not claimed to be reconstructed.
44
+ * @evidence contracts/common.md#meaningful-documentation The comment states what the declaration produces and its result.
45
+ * @evidenceExclude contracts/portability.md#os-neutral-implementation SdkTypeTagProgrammer.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.
46
+ */
47
+ const write: (importer: ImportDictionary, from: Target, tag: IMetadataTypeTag) => TypeNode;
48
+ /**
49
+ * Writes the predefined typia tag `tags.<name><argument>`.
50
+ *
51
+ * @evidence contracts/common.md#principled-implementation The name and argument were decided by the matching.
52
+ * @evidence contracts/common.md#clear-and-simple-design One node.
53
+ * @evidence contracts/common.md#prohibited-implementation-shortcuts The argument is written as a literal.
54
+ * @evidence contracts/common.md#meaningful-documentation The comment states what the declaration produces and its result.
55
+ * @evidenceExclude contracts/portability.md#os-neutral-implementation SdkTypeTagProgrammer.writePredefined 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.
56
+ */
57
+ const writePredefined: (importer: ImportDictionary, name: string, argument: unknown) => TypeNode;
6
58
  }