typia 13.0.0-dev.20260430 → 13.0.0-dev.20260502-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 (364) hide show
  1. package/lib/executable/TypiaGenerateWizard.js +55 -8
  2. package/lib/executable/TypiaGenerateWizard.js.map +1 -1
  3. package/lib/executable/TypiaGenerateWizard2.mjs +55 -8
  4. package/lib/executable/TypiaGenerateWizard2.mjs.map +1 -1
  5. package/lib/executable/generate/ttsc.js.map +1 -1
  6. package/lib/executable/setup/PluginConfigurator.js.map +1 -1
  7. package/lib/internal/_randomInteger.js.map +1 -1
  8. package/lib/internal/_validateReport.js.map +1 -1
  9. package/lib/transform.d.ts +2 -13
  10. package/lib/transform.js +4 -11
  11. package/lib/transform.js.map +1 -1
  12. package/lib/transform2.mjs +6 -14
  13. package/lib/transform2.mjs.map +1 -1
  14. package/native/adapter/adapter.go +128 -128
  15. package/native/adapter/cleanup.go +155 -172
  16. package/native/adapter/imports.go +80 -80
  17. package/native/adapter/visit.go +142 -142
  18. package/native/cmd/ttsc-typia/build.go +223 -223
  19. package/native/cmd/ttsc-typia/main.go +57 -57
  20. package/native/cmd/ttsc-typia/transform.go +421 -254
  21. package/native/cmd/ttsc-typia/transform_test.go +40 -0
  22. package/native/core/context/IProgrammerProps.go +7 -7
  23. package/native/core/context/ITransformOptions.go +5 -5
  24. package/native/core/context/ITypiaContext.go +13 -13
  25. package/native/core/context/TransformerError.go +81 -81
  26. package/native/core/factories/CommentFactory.go +9 -9
  27. package/native/core/factories/ExpressionFactory.go +254 -254
  28. package/native/core/factories/FormatCheatSheet.go +23 -23
  29. package/native/core/factories/IdentifierFactory.go +130 -130
  30. package/native/core/factories/JsonMetadataFactory.go +129 -129
  31. package/native/core/factories/LiteralFactory.go +195 -182
  32. package/native/core/factories/MetadataCommentTagFactory.go +379 -379
  33. package/native/core/factories/MetadataFactory.go +462 -462
  34. package/native/core/factories/MetadataTypeTagFactory.go +498 -498
  35. package/native/core/factories/MetadataTypeTagSchemaFactory.go +102 -102
  36. package/native/core/factories/NumericRangeFactory.go +84 -84
  37. package/native/core/factories/ProtobufFactory.go +933 -933
  38. package/native/core/factories/StatementFactory.go +72 -72
  39. package/native/core/factories/TemplateFactory.go +57 -57
  40. package/native/core/factories/TypeFactory.go +125 -125
  41. package/native/core/factories/ValueFactory.go +12 -12
  42. package/native/core/factories/internal/metadata/IMetadataIteratorProps.go +35 -35
  43. package/native/core/factories/internal/metadata/MetadataHelper.go +176 -176
  44. package/native/core/factories/internal/metadata/emend_metadata_atomics.go +69 -69
  45. package/native/core/factories/internal/metadata/emplace_metadata_alias.go +27 -27
  46. package/native/core/factories/internal/metadata/emplace_metadata_array_type.go +33 -33
  47. package/native/core/factories/internal/metadata/emplace_metadata_object.go +209 -209
  48. package/native/core/factories/internal/metadata/emplace_metadata_tuple.go +50 -50
  49. package/native/core/factories/internal/metadata/explore_metadata.go +29 -29
  50. package/native/core/factories/internal/metadata/iterate_metadata.go +46 -46
  51. package/native/core/factories/internal/metadata/iterate_metadata_alias.go +25 -25
  52. package/native/core/factories/internal/metadata/iterate_metadata_array.go +65 -65
  53. package/native/core/factories/internal/metadata/iterate_metadata_atomic.go +49 -49
  54. package/native/core/factories/internal/metadata/iterate_metadata_coalesce.go +22 -22
  55. package/native/core/factories/internal/metadata/iterate_metadata_collection.go +228 -228
  56. package/native/core/factories/internal/metadata/iterate_metadata_comment_tags.go +12 -12
  57. package/native/core/factories/internal/metadata/iterate_metadata_constant.go +71 -71
  58. package/native/core/factories/internal/metadata/iterate_metadata_escape.go +48 -48
  59. package/native/core/factories/internal/metadata/iterate_metadata_function.go +82 -82
  60. package/native/core/factories/internal/metadata/iterate_metadata_intersection.go +319 -319
  61. package/native/core/factories/internal/metadata/iterate_metadata_map.go +51 -51
  62. package/native/core/factories/internal/metadata/iterate_metadata_native.go +85 -85
  63. package/native/core/factories/internal/metadata/iterate_metadata_object.go +27 -27
  64. package/native/core/factories/internal/metadata/iterate_metadata_set.go +37 -37
  65. package/native/core/factories/internal/metadata/iterate_metadata_sort.go +137 -137
  66. package/native/core/factories/internal/metadata/iterate_metadata_template.go +33 -33
  67. package/native/core/factories/internal/metadata/iterate_metadata_tuple.go +16 -16
  68. package/native/core/factories/internal/metadata/iterate_metadata_union.go +18 -18
  69. package/native/core/programmers/AssertProgrammer.go +389 -389
  70. package/native/core/programmers/ImportProgrammer.go +196 -196
  71. package/native/core/programmers/IsProgrammer.go +293 -293
  72. package/native/core/programmers/RandomProgrammer.go +1094 -1094
  73. package/native/core/programmers/ValidateProgrammer.go +369 -369
  74. package/native/core/programmers/functional/FunctionalAssertFunctionProgrammer.go +133 -133
  75. package/native/core/programmers/functional/FunctionalAssertParametersProgrammer.go +104 -104
  76. package/native/core/programmers/functional/FunctionalAssertReturnProgrammer.go +100 -100
  77. package/native/core/programmers/functional/FunctionalIsFunctionProgrammer.go +79 -79
  78. package/native/core/programmers/functional/FunctionalIsParametersProgrammer.go +159 -159
  79. package/native/core/programmers/functional/FunctionalIsReturnProgrammer.go +99 -99
  80. package/native/core/programmers/functional/FunctionalValidateFunctionProgrammer.go +138 -138
  81. package/native/core/programmers/functional/FunctionalValidateParametersProgrammer.go +222 -222
  82. package/native/core/programmers/functional/FunctionalValidateReturnProgrammer.go +116 -116
  83. package/native/core/programmers/functional/internal/FunctionalGeneralProgrammer.go +36 -36
  84. package/native/core/programmers/helpers/AtomicPredicator.go +35 -35
  85. package/native/core/programmers/helpers/CloneJoiner.go +217 -217
  86. package/native/core/programmers/helpers/FunctionProgrammer.go +79 -79
  87. package/native/core/programmers/helpers/HttpMetadataUtil.go +17 -17
  88. package/native/core/programmers/helpers/ICheckEntry.go +5 -5
  89. package/native/core/programmers/helpers/IExpressionEntry.go +6 -6
  90. package/native/core/programmers/helpers/NotationJoiner.go +159 -159
  91. package/native/core/programmers/helpers/OptionPredicator.go +4 -4
  92. package/native/core/programmers/helpers/ProtobufUtil.go +231 -231
  93. package/native/core/programmers/helpers/ProtobufWire.go +6 -6
  94. package/native/core/programmers/helpers/PruneJoiner.go +227 -227
  95. package/native/core/programmers/helpers/RandomJoiner.go +155 -155
  96. package/native/core/programmers/helpers/StringifyJoinder.go +331 -331
  97. package/native/core/programmers/helpers/StringifyPredicator.go +10 -10
  98. package/native/core/programmers/helpers/UnionExplorer.go +835 -835
  99. package/native/core/programmers/helpers/UnionPredicator.go +78 -78
  100. package/native/core/programmers/helpers/disable_function_programmer_declare.go +6 -6
  101. package/native/core/programmers/http/HttpAssertFormDataProgrammer.go +93 -93
  102. package/native/core/programmers/http/HttpAssertHeadersProgrammer.go +42 -42
  103. package/native/core/programmers/http/HttpAssertQueryProgrammer.go +51 -51
  104. package/native/core/programmers/http/HttpFormDataProgrammer.go +351 -351
  105. package/native/core/programmers/http/HttpHeadersProgrammer.go +370 -370
  106. package/native/core/programmers/http/HttpIsFormDataProgrammer.go +109 -109
  107. package/native/core/programmers/http/HttpIsHeadersProgrammer.go +36 -36
  108. package/native/core/programmers/http/HttpIsQueryProgrammer.go +45 -45
  109. package/native/core/programmers/http/HttpParameterProgrammer.go +158 -158
  110. package/native/core/programmers/http/HttpQueryProgrammer.go +422 -422
  111. package/native/core/programmers/http/HttpValidateFormDataProgrammer.go +87 -87
  112. package/native/core/programmers/http/HttpValidateHeadersProgrammer.go +39 -39
  113. package/native/core/programmers/http/HttpValidateQueryProgrammer.go +48 -48
  114. package/native/core/programmers/internal/CheckerProgrammer.go +1490 -1490
  115. package/native/core/programmers/internal/FeatureProgrammer.go +589 -589
  116. package/native/core/programmers/iterate/check_array_length.go +46 -46
  117. package/native/core/programmers/iterate/check_bigint.go +52 -52
  118. package/native/core/programmers/iterate/check_dynamic_key.go +220 -220
  119. package/native/core/programmers/iterate/check_dynamic_properties.go +245 -245
  120. package/native/core/programmers/iterate/check_everything.go +21 -21
  121. package/native/core/programmers/iterate/check_native.go +25 -25
  122. package/native/core/programmers/iterate/check_number.go +135 -135
  123. package/native/core/programmers/iterate/check_object.go +66 -66
  124. package/native/core/programmers/iterate/check_string.go +52 -52
  125. package/native/core/programmers/iterate/check_template.go +57 -57
  126. package/native/core/programmers/iterate/check_union_array_like.go +372 -372
  127. package/native/core/programmers/iterate/decode_union_object.go +118 -118
  128. package/native/core/programmers/iterate/feature_object_entries.go +134 -134
  129. package/native/core/programmers/iterate/json_schema_alias.go +52 -52
  130. package/native/core/programmers/iterate/json_schema_array.go +52 -52
  131. package/native/core/programmers/iterate/json_schema_bigint.go +8 -8
  132. package/native/core/programmers/iterate/json_schema_boolean.go +8 -8
  133. package/native/core/programmers/iterate/json_schema_constant.go +38 -38
  134. package/native/core/programmers/iterate/json_schema_description.go +12 -12
  135. package/native/core/programmers/iterate/json_schema_discriminator.go +47 -47
  136. package/native/core/programmers/iterate/json_schema_escaped.go +58 -58
  137. package/native/core/programmers/iterate/json_schema_jsDocTags.go +34 -34
  138. package/native/core/programmers/iterate/json_schema_native.go +43 -43
  139. package/native/core/programmers/iterate/json_schema_number.go +8 -8
  140. package/native/core/programmers/iterate/json_schema_object.go +149 -149
  141. package/native/core/programmers/iterate/json_schema_plugin.go +35 -35
  142. package/native/core/programmers/iterate/json_schema_station.go +211 -211
  143. package/native/core/programmers/iterate/json_schema_string.go +8 -8
  144. package/native/core/programmers/iterate/json_schema_template.go +53 -53
  145. package/native/core/programmers/iterate/json_schema_title.go +16 -16
  146. package/native/core/programmers/iterate/json_schema_tuple.go +34 -34
  147. package/native/core/programmers/iterate/metadata_to_pattern.go +53 -53
  148. package/native/core/programmers/iterate/postfix_of_tuple.go +5 -5
  149. package/native/core/programmers/iterate/prune_object_properties.go +85 -85
  150. package/native/core/programmers/iterate/stringify_dynamic_properties.go +193 -193
  151. package/native/core/programmers/iterate/stringify_native.go +1 -1
  152. package/native/core/programmers/iterate/stringify_regular_properties.go +84 -84
  153. package/native/core/programmers/iterate/template_to_pattern.go +20 -20
  154. package/native/core/programmers/iterate/wrap_metadata_rest_tuple.go +13 -13
  155. package/native/core/programmers/json/JsonApplicationProgrammer.go +323 -323
  156. package/native/core/programmers/json/JsonAssertParseProgrammer.go +100 -100
  157. package/native/core/programmers/json/JsonAssertStringifyProgrammer.go +88 -88
  158. package/native/core/programmers/json/JsonIsParseProgrammer.go +130 -130
  159. package/native/core/programmers/json/JsonIsStringifyProgrammer.go +92 -92
  160. package/native/core/programmers/json/JsonSchemaProgrammer.go +65 -65
  161. package/native/core/programmers/json/JsonSchemasProgrammer.go +116 -116
  162. package/native/core/programmers/json/JsonStringifyProgrammer.go +1245 -1245
  163. package/native/core/programmers/json/JsonValidateParseProgrammer.go +89 -89
  164. package/native/core/programmers/json/JsonValidateStringifyProgrammer.go +106 -106
  165. package/native/core/programmers/llm/LlmApplicationProgrammer.go +449 -437
  166. package/native/core/programmers/llm/LlmCoerceProgrammer.go +79 -79
  167. package/native/core/programmers/llm/LlmControllerProgrammer.go +35 -35
  168. package/native/core/programmers/llm/LlmMetadataFactory.go +74 -74
  169. package/native/core/programmers/llm/LlmParametersProgrammer.go +105 -132
  170. package/native/core/programmers/llm/LlmParseProgrammer.go +88 -88
  171. package/native/core/programmers/llm/LlmSchemaProgrammer.go +780 -423
  172. package/native/core/programmers/llm/LlmStructuredOutputProgrammer.go +123 -123
  173. package/native/core/programmers/misc/MiscAssertCloneProgrammer.go +82 -82
  174. package/native/core/programmers/misc/MiscAssertPruneProgrammer.go +97 -97
  175. package/native/core/programmers/misc/MiscCloneProgrammer.go +1056 -1056
  176. package/native/core/programmers/misc/MiscIsCloneProgrammer.go +94 -94
  177. package/native/core/programmers/misc/MiscIsPruneProgrammer.go +86 -86
  178. package/native/core/programmers/misc/MiscLiteralsProgrammer.go +99 -99
  179. package/native/core/programmers/misc/MiscPruneProgrammer.go +700 -700
  180. package/native/core/programmers/misc/MiscValidateCloneProgrammer.go +103 -103
  181. package/native/core/programmers/misc/MiscValidatePruneProgrammer.go +94 -94
  182. package/native/core/programmers/notations/NotationAssertGeneralProgrammer.go +85 -85
  183. package/native/core/programmers/notations/NotationGeneralProgrammer.go +1188 -1188
  184. package/native/core/programmers/notations/NotationIsGeneralProgrammer.go +90 -90
  185. package/native/core/programmers/notations/NotationValidateGeneralProgrammer.go +109 -109
  186. package/native/core/programmers/protobuf/ProtobufAssertDecodeProgrammer.go +99 -99
  187. package/native/core/programmers/protobuf/ProtobufAssertEncodeProgrammer.go +114 -114
  188. package/native/core/programmers/protobuf/ProtobufDecodeProgrammer.go +697 -697
  189. package/native/core/programmers/protobuf/ProtobufEncodeProgrammer.go +1039 -1039
  190. package/native/core/programmers/protobuf/ProtobufIsDecodeProgrammer.go +99 -99
  191. package/native/core/programmers/protobuf/ProtobufIsEncodeProgrammer.go +93 -93
  192. package/native/core/programmers/protobuf/ProtobufMessageProgrammer.go +228 -228
  193. package/native/core/programmers/protobuf/ProtobufValidateDecodeProgrammer.go +88 -88
  194. package/native/core/programmers/protobuf/ProtobufValidateEncodeProgrammer.go +120 -120
  195. package/native/core/schemas/metadata/IMetadataDictionary.go +4 -4
  196. package/native/core/schemas/metadata/MetadataAlias.go +15 -15
  197. package/native/core/schemas/metadata/MetadataAliasType.go +36 -36
  198. package/native/core/schemas/metadata/MetadataApplication.go +25 -25
  199. package/native/core/schemas/metadata/MetadataArray.go +15 -15
  200. package/native/core/schemas/metadata/MetadataArrayType.go +31 -31
  201. package/native/core/schemas/metadata/MetadataAtomic.go +45 -45
  202. package/native/core/schemas/metadata/MetadataCollection.go +380 -380
  203. package/native/core/schemas/metadata/MetadataComponents.go +95 -95
  204. package/native/core/schemas/metadata/MetadataConstant.go +31 -31
  205. package/native/core/schemas/metadata/MetadataConstantValue.go +63 -63
  206. package/native/core/schemas/metadata/MetadataEscaped.go +17 -17
  207. package/native/core/schemas/metadata/MetadataFunction.go +30 -30
  208. package/native/core/schemas/metadata/MetadataMap.go +21 -21
  209. package/native/core/schemas/metadata/MetadataNative.go +48 -48
  210. package/native/core/schemas/metadata/MetadataObject.go +15 -15
  211. package/native/core/schemas/metadata/MetadataObjectType.go +116 -116
  212. package/native/core/schemas/metadata/MetadataParameter.go +28 -28
  213. package/native/core/schemas/metadata/MetadataProperty.go +32 -32
  214. package/native/core/schemas/metadata/MetadataSchema.go +766 -766
  215. package/native/core/schemas/metadata/MetadataSet.go +17 -17
  216. package/native/core/schemas/metadata/MetadataTemplate.go +43 -43
  217. package/native/core/schemas/metadata/MetadataTuple.go +10 -10
  218. package/native/core/schemas/metadata/MetadataTupleType.go +38 -38
  219. package/native/core/schemas/protobuf/IProtobufProperty.go +2 -2
  220. package/native/core/schemas/protobuf/IProtobufPropertyType.go +18 -18
  221. package/native/core/schemas/protobuf/IProtobufSchema.go +17 -17
  222. package/native/core/typings/Writable.go +1 -1
  223. package/native/core/utils/PatternUtil.go +38 -38
  224. package/native/core/utils/ProtobufNameEncoder.go +28 -28
  225. package/native/shim/printer/shim.go +213 -213
  226. package/native/third_party/ttsc/driver/host.go +7 -7
  227. package/native/third_party/ttsc/driver/program.go +275 -275
  228. package/native/third_party/ttsc/driver/rewrite.go +219 -219
  229. package/native/third_party/ttsc/shim/ast/lint.go +171 -171
  230. package/native/third_party/ttsc/shim/ast/shim.go +83 -83
  231. package/native/third_party/ttsc/shim/bundled/shim.go +5 -1
  232. package/native/third_party/ttsc/shim/checker/shim.go +79 -79
  233. package/native/third_party/ttsc/shim/compiler/shim.go +16 -1
  234. package/native/third_party/ttsc/shim/core/shim.go +10 -10
  235. package/native/third_party/ttsc/shim/diagnosticwriter/lint.go +79 -79
  236. package/native/third_party/ttsc/shim/diagnosticwriter/shim.go +19 -19
  237. package/native/third_party/ttsc/shim/parser/shim.go +7 -1
  238. package/native/third_party/ttsc/shim/scanner/shim.go +39 -1
  239. package/native/third_party/ttsc/shim/tsoptions/shim.go +51 -1
  240. package/native/third_party/ttsc/shim/tspath/shim.go +72 -1
  241. package/native/third_party/ttsc/shim/vfs/cachedvfs/shim.go +1 -1
  242. package/native/third_party/ttsc/shim/vfs/osvfs/shim.go +1 -1
  243. package/native/third_party/ttsc/shim/vfs/shim.go +4 -1
  244. package/native/transform/CallExpressionTransformer.go +556 -556
  245. package/native/transform/FileTransformer.go +123 -123
  246. package/native/transform/ImportTransformer.go +224 -224
  247. package/native/transform/NodeTransformer.go +11 -11
  248. package/native/transform/TypiaGenerator.go +136 -136
  249. package/native/transform/features/AssertTransformer.go +28 -28
  250. package/native/transform/features/CreateAssertTransformer.go +28 -28
  251. package/native/transform/features/CreateIsTransformer.go +24 -24
  252. package/native/transform/features/CreateRandomTransformer.go +35 -35
  253. package/native/transform/features/CreateValidateTransformer.go +24 -24
  254. package/native/transform/features/IsTransformer.go +24 -24
  255. package/native/transform/features/RandomTransformer.go +37 -37
  256. package/native/transform/features/ValidateTransformer.go +24 -24
  257. package/native/transform/features/functional/FunctionalGenericTransformer.go +48 -48
  258. package/native/transform/features/http/CreateHttpAssertFormDataTransformer.go +11 -11
  259. package/native/transform/features/http/CreateHttpAssertHeadersTransformer.go +11 -11
  260. package/native/transform/features/http/CreateHttpAssertQueryTransformer.go +17 -17
  261. package/native/transform/features/http/CreateHttpFormDataTransformer.go +11 -11
  262. package/native/transform/features/http/CreateHttpHeadersTransformer.go +11 -11
  263. package/native/transform/features/http/CreateHttpIsFormDataTransformer.go +11 -11
  264. package/native/transform/features/http/CreateHttpIsHeadersTransformer.go +11 -11
  265. package/native/transform/features/http/CreateHttpIsQueryTransformer.go +17 -17
  266. package/native/transform/features/http/CreateHttpParameterTransformer.go +11 -11
  267. package/native/transform/features/http/CreateHttpQueryTransformer.go +17 -17
  268. package/native/transform/features/http/CreateHttpValidateFormDataTransformer.go +11 -11
  269. package/native/transform/features/http/CreateHttpValidateHeadersTransformer.go +11 -11
  270. package/native/transform/features/http/CreateHttpValidateQueryTransformer.go +17 -17
  271. package/native/transform/features/http/HttpAssertFormDataTransformer.go +11 -11
  272. package/native/transform/features/http/HttpAssertHeadersTransformer.go +11 -11
  273. package/native/transform/features/http/HttpAssertQueryTransformer.go +17 -17
  274. package/native/transform/features/http/HttpFormDataTransformer.go +11 -11
  275. package/native/transform/features/http/HttpHeadersTransformer.go +11 -11
  276. package/native/transform/features/http/HttpIsFormDataTransformer.go +11 -11
  277. package/native/transform/features/http/HttpIsHeadersTransformer.go +11 -11
  278. package/native/transform/features/http/HttpIsQueryTransformer.go +17 -17
  279. package/native/transform/features/http/HttpParameterTransformer.go +11 -11
  280. package/native/transform/features/http/HttpQueryTransformer.go +17 -17
  281. package/native/transform/features/http/HttpValidateFormDataTransformer.go +11 -11
  282. package/native/transform/features/http/HttpValidateHeadersTransformer.go +11 -11
  283. package/native/transform/features/http/HttpValidateQueryTransformer.go +17 -17
  284. package/native/transform/features/json/JsonApplicationTransformer.go +61 -61
  285. package/native/transform/features/json/JsonAssertParseTransformer.go +11 -11
  286. package/native/transform/features/json/JsonAssertStringifyTransformer.go +11 -11
  287. package/native/transform/features/json/JsonCreateAssertParseTransformer.go +11 -11
  288. package/native/transform/features/json/JsonCreateAssertStringifyTransformer.go +11 -11
  289. package/native/transform/features/json/JsonCreateIsParseTransformer.go +11 -11
  290. package/native/transform/features/json/JsonCreateIsStringifyTransformer.go +11 -11
  291. package/native/transform/features/json/JsonCreateStringifyTransformer.go +11 -11
  292. package/native/transform/features/json/JsonCreateValidateParseTransformer.go +11 -11
  293. package/native/transform/features/json/JsonCreateValidateStringifyProgrammer.go +11 -11
  294. package/native/transform/features/json/JsonIsParseTransformer.go +11 -11
  295. package/native/transform/features/json/JsonIsStringifyTransformer.go +11 -11
  296. package/native/transform/features/json/JsonSchemaTransformer.go +148 -148
  297. package/native/transform/features/json/JsonSchemasTransformer.go +94 -94
  298. package/native/transform/features/json/JsonStringifyTransformer.go +11 -11
  299. package/native/transform/features/json/JsonValidateParseTransformer.go +11 -11
  300. package/native/transform/features/json/JsonValidateStringifyTransformer.go +11 -11
  301. package/native/transform/features/llm/LlmApplicationTransformer.go +43 -43
  302. package/native/transform/features/llm/LlmCoerceTransformer.go +50 -50
  303. package/native/transform/features/llm/LlmControllerTransformer.go +48 -48
  304. package/native/transform/features/llm/LlmCreateCoerceTransformer.go +43 -43
  305. package/native/transform/features/llm/LlmCreateParseTransformer.go +43 -43
  306. package/native/transform/features/llm/LlmParametersTransformer.go +38 -38
  307. package/native/transform/features/llm/LlmParseTransformer.go +50 -50
  308. package/native/transform/features/llm/LlmSchemaTransformer.go +129 -129
  309. package/native/transform/features/llm/LlmStructuredOutputTransformer.go +44 -44
  310. package/native/transform/features/misc/MiscAssertCloneTransformer.go +11 -11
  311. package/native/transform/features/misc/MiscAssertPruneTransformer.go +11 -11
  312. package/native/transform/features/misc/MiscCloneTransformer.go +11 -11
  313. package/native/transform/features/misc/MiscCreateAssertCloneTransformer.go +11 -11
  314. package/native/transform/features/misc/MiscCreateAssertPruneTransformer.go +11 -11
  315. package/native/transform/features/misc/MiscCreateCloneTransformer.go +11 -11
  316. package/native/transform/features/misc/MiscCreateIsCloneTransformer.go +11 -11
  317. package/native/transform/features/misc/MiscCreateIsPruneTransformer.go +11 -11
  318. package/native/transform/features/misc/MiscCreatePruneTransformer.go +11 -11
  319. package/native/transform/features/misc/MiscCreateValidateCloneTransformer.go +11 -11
  320. package/native/transform/features/misc/MiscCreateValidatePruneTransformer.go +11 -11
  321. package/native/transform/features/misc/MiscIsCloneTransformer.go +11 -11
  322. package/native/transform/features/misc/MiscIsPruneTransformer.go +11 -11
  323. package/native/transform/features/misc/MiscLiteralsTransformer.go +21 -21
  324. package/native/transform/features/misc/MiscPruneTransformer.go +11 -11
  325. package/native/transform/features/misc/MiscValidateCloneTransformer.go +11 -11
  326. package/native/transform/features/misc/MiscValidatePruneTransformer.go +11 -11
  327. package/native/transform/features/notations/NotationAssertGeneralTransformer.go +16 -16
  328. package/native/transform/features/notations/NotationCreateAssertGeneralTransformer.go +16 -16
  329. package/native/transform/features/notations/NotationCreateGeneralTransformer.go +16 -16
  330. package/native/transform/features/notations/NotationCreateIsGeneralTransformer.go +16 -16
  331. package/native/transform/features/notations/NotationCreateValidateGeneralTransformer.go +16 -16
  332. package/native/transform/features/notations/NotationGeneralTransformer.go +21 -21
  333. package/native/transform/features/notations/NotationIsGeneralTransformer.go +16 -16
  334. package/native/transform/features/notations/NotationValidateGeneralTransformer.go +16 -16
  335. package/native/transform/features/protobuf/ProtobufAssertDecodeTransformer.go +11 -11
  336. package/native/transform/features/protobuf/ProtobufAssertEncodeTransformer.go +11 -11
  337. package/native/transform/features/protobuf/ProtobufCreateAssertDecodeTransformer.go +11 -11
  338. package/native/transform/features/protobuf/ProtobufCreateAssertEncodeTransformer.go +11 -11
  339. package/native/transform/features/protobuf/ProtobufCreateDecodeTransformer.go +11 -11
  340. package/native/transform/features/protobuf/ProtobufCreateEncodeTransformer.go +11 -11
  341. package/native/transform/features/protobuf/ProtobufCreateIsDecodeTransformer.go +11 -11
  342. package/native/transform/features/protobuf/ProtobufCreateIsEncodeTransformer.go +11 -11
  343. package/native/transform/features/protobuf/ProtobufCreateValidateDecodeTransformer.go +11 -11
  344. package/native/transform/features/protobuf/ProtobufCreateValidateEncodeTransformer.go +11 -11
  345. package/native/transform/features/protobuf/ProtobufDecodeTransformer.go +11 -11
  346. package/native/transform/features/protobuf/ProtobufEncodeTransformer.go +11 -11
  347. package/native/transform/features/protobuf/ProtobufIsDecodeTransformer.go +11 -11
  348. package/native/transform/features/protobuf/ProtobufIsEncodeTransformer.go +11 -11
  349. package/native/transform/features/protobuf/ProtobufMessageTransformer.go +20 -20
  350. package/native/transform/features/protobuf/ProtobufValidateDecodeTransformer.go +11 -11
  351. package/native/transform/features/protobuf/ProtobufValidateEncodeTransformer.go +11 -11
  352. package/native/transform/features/reflect/ReflectMetadataTransformer.go +59 -59
  353. package/native/transform/features/reflect/ReflectNameTransformer.go +78 -78
  354. package/native/transform/features/reflect/ReflectSchemaTransformer.go +121 -121
  355. package/native/transform/features/reflect/ReflectSchemasTransformer.go +55 -55
  356. package/native/transform/internal/GenericTransformer.go +173 -173
  357. package/native/transform/transform.go +32 -32
  358. package/package.json +4 -4
  359. package/src/executable/TypiaGenerateWizard.ts +78 -9
  360. package/src/executable/generate/ttsc.ts +2 -3
  361. package/src/executable/setup/PluginConfigurator.ts +2 -3
  362. package/src/internal/_randomInteger.ts +5 -5
  363. package/src/internal/_validateReport.ts +1 -2
  364. package/src/transform.ts +6 -11
@@ -1,13 +1,13 @@
1
1
  package json
2
2
 
3
3
  import (
4
- "strings"
4
+ "strings"
5
5
 
6
- shimast "github.com/microsoft/typescript-go/shim/ast"
7
- nativecontext "github.com/samchon/typia/packages/typia/native/core/context"
8
- nativefactories "github.com/samchon/typia/packages/typia/native/core/factories"
9
- nativeiterate "github.com/samchon/typia/packages/typia/native/core/programmers/iterate"
10
- nativemetadata "github.com/samchon/typia/packages/typia/native/core/schemas/metadata"
6
+ shimast "github.com/microsoft/typescript-go/shim/ast"
7
+ nativecontext "github.com/samchon/typia/packages/typia/native/core/context"
8
+ nativefactories "github.com/samchon/typia/packages/typia/native/core/factories"
9
+ nativeiterate "github.com/samchon/typia/packages/typia/native/core/programmers/iterate"
10
+ nativemetadata "github.com/samchon/typia/packages/typia/native/core/schemas/metadata"
11
11
  )
12
12
 
13
13
  type jsonApplicationProgrammerNamespace struct{}
@@ -15,360 +15,360 @@ type jsonApplicationProgrammerNamespace struct{}
15
15
  var JsonApplicationProgrammer = jsonApplicationProgrammerNamespace{}
16
16
 
17
17
  type JsonApplicationProgrammer_IWriteProps struct {
18
- Context nativecontext.ITypiaContext
19
- Version string
20
- Metadata *nativemetadata.MetadataSchema
21
- Filter func(prop *nativemetadata.MetadataProperty) bool
18
+ Context nativecontext.ITypiaContext
19
+ Version string
20
+ Metadata *nativemetadata.MetadataSchema
21
+ Filter func(prop *nativemetadata.MetadataProperty) bool
22
22
  }
23
23
 
24
24
  func (jsonApplicationProgrammerNamespace) Validate(props struct {
25
- Metadata *nativemetadata.MetadataSchema
26
- Explore nativefactories.MetadataFactory_IExplore
25
+ Metadata *nativemetadata.MetadataSchema
26
+ Explore nativefactories.MetadataFactory_IExplore
27
27
  }) []string {
28
- if props.Explore.Top == false {
29
- return JsonSchemasProgrammer.Validate(props)
30
- }
28
+ if props.Explore.Top == false {
29
+ return JsonSchemasProgrammer.Validate(props)
30
+ }
31
31
 
32
- output := []string{}
33
- valid := props.Metadata.Size() == 1 &&
34
- len(props.Metadata.Objects) == 1 &&
35
- props.Metadata.IsRequired() == true &&
36
- props.Metadata.Nullable == false
37
- if valid == false {
38
- output = append(output, "JSON application's generic argument must be a class/interface type.")
39
- }
32
+ output := []string{}
33
+ valid := props.Metadata.Size() == 1 &&
34
+ len(props.Metadata.Objects) == 1 &&
35
+ props.Metadata.IsRequired() == true &&
36
+ props.Metadata.Nullable == false
37
+ if valid == false {
38
+ output = append(output, "JSON application's generic argument must be a class/interface type.")
39
+ }
40
40
 
41
- var object *nativemetadata.MetadataObjectType
42
- if len(props.Metadata.Objects) != 0 {
43
- object = props.Metadata.Objects[0].Type
44
- }
45
- if object != nil {
46
- for _, p := range object.Properties {
47
- if p.Key.IsSoleLiteral() == false {
48
- output = append(output, "JSON application does not allow dynamic keys.")
49
- break
50
- }
51
- }
52
- least := false
53
- for _, p := range object.Properties {
54
- value := p.Value
55
- if len(value.Functions) != 0 {
56
- least = true
57
- if valid == false {
58
- if len(value.Functions) != 1 || value.Size() != 1 {
59
- output = append(output, "JSON application's function type does not allow union type.")
60
- }
61
- if value.IsRequired() == false {
62
- output = append(output, "JSON application's function type must be required.")
63
- }
64
- if value.Nullable == true {
65
- output = append(output, "JSON application's function type must not be nullable.")
66
- }
67
- }
68
- }
69
- }
70
- if least == false {
71
- output = append(output, "JSON application's target type must have at least a function type.")
72
- }
73
- }
74
- return output
41
+ var object *nativemetadata.MetadataObjectType
42
+ if len(props.Metadata.Objects) != 0 {
43
+ object = props.Metadata.Objects[0].Type
44
+ }
45
+ if object != nil {
46
+ for _, p := range object.Properties {
47
+ if p.Key.IsSoleLiteral() == false {
48
+ output = append(output, "JSON application does not allow dynamic keys.")
49
+ break
50
+ }
51
+ }
52
+ least := false
53
+ for _, p := range object.Properties {
54
+ value := p.Value
55
+ if len(value.Functions) != 0 {
56
+ least = true
57
+ if valid == false {
58
+ if len(value.Functions) != 1 || value.Size() != 1 {
59
+ output = append(output, "JSON application's function type does not allow union type.")
60
+ }
61
+ if value.IsRequired() == false {
62
+ output = append(output, "JSON application's function type must be required.")
63
+ }
64
+ if value.Nullable == true {
65
+ output = append(output, "JSON application's function type must not be nullable.")
66
+ }
67
+ }
68
+ }
69
+ }
70
+ if least == false {
71
+ output = append(output, "JSON application's target type must have at least a function type.")
72
+ }
73
+ }
74
+ return output
75
75
  }
76
76
 
77
77
  func (jsonApplicationProgrammerNamespace) Write(props JsonApplicationProgrammer_IWriteProps) *shimast.Node {
78
- app := JsonApplicationProgrammer.WriteApplication(struct {
79
- Version string
80
- Metadata *nativemetadata.MetadataSchema
81
- Filter func(prop *nativemetadata.MetadataProperty) bool
82
- }{
83
- Version: props.Version,
84
- Metadata: props.Metadata,
85
- Filter: props.Filter,
86
- })
87
- return nativefactories.LiteralFactory.Write(app)
78
+ app := JsonApplicationProgrammer.WriteApplication(struct {
79
+ Version string
80
+ Metadata *nativemetadata.MetadataSchema
81
+ Filter func(prop *nativemetadata.MetadataProperty) bool
82
+ }{
83
+ Version: props.Version,
84
+ Metadata: props.Metadata,
85
+ Filter: props.Filter,
86
+ })
87
+ return nativefactories.LiteralFactory.Write(app)
88
88
  }
89
89
 
90
90
  func (jsonApplicationProgrammerNamespace) WriteApplication(props struct {
91
- Version string
92
- Metadata *nativemetadata.MetadataSchema
93
- Filter func(prop *nativemetadata.MetadataProperty) bool
91
+ Version string
92
+ Metadata *nativemetadata.MetadataSchema
93
+ Filter func(prop *nativemetadata.MetadataProperty) bool
94
94
  }) map[string]any {
95
- object := props.Metadata.Objects[0].Type
96
- definitions := []*nativemetadata.MetadataSchema{}
97
- setters := []func(nativeiterate.JsonSchema){}
98
- collect := func(metadata *nativemetadata.MetadataSchema, setter func(nativeiterate.JsonSchema)) {
99
- definitions = append(definitions, metadata)
100
- setters = append(setters, setter)
101
- }
95
+ object := props.Metadata.Objects[0].Type
96
+ definitions := []*nativemetadata.MetadataSchema{}
97
+ setters := []func(nativeiterate.JsonSchema){}
98
+ collect := func(metadata *nativemetadata.MetadataSchema, setter func(nativeiterate.JsonSchema)) {
99
+ definitions = append(definitions, metadata)
100
+ setters = append(setters, setter)
101
+ }
102
102
 
103
- functions := []any{}
104
- for _, property := range object.Properties {
105
- unaliased := nativemetadata.MetadataSchema_unalias(property.Value)
106
- if property.Key.IsSoleLiteral() == false ||
107
- property.Value.Size() != 1 ||
108
- property.Value.Nullable != false ||
109
- property.Value.IsRequired() != true ||
110
- len(unaliased.Functions) != 1 {
111
- continue
112
- }
113
- if jsonApplicationProgrammer_hidden(property.JsDocTags) {
114
- continue
115
- }
116
- if props.Filter != nil && props.Filter(property) == false {
117
- continue
118
- }
119
- functions = append(functions, jsonApplicationProgrammer_collectFunction(struct {
120
- Version string
121
- Name string
122
- Function *nativemetadata.MetadataFunction
123
- Description *string
124
- JsDocTags []nativemetadata.IJsDocTagInfo
125
- Collect func(*nativemetadata.MetadataSchema, func(nativeiterate.JsonSchema))
126
- }{
127
- Version: props.Version,
128
- Name: *property.Key.GetSoleLiteral(),
129
- Function: unaliased.Functions[0],
130
- Description: property.Description,
131
- JsDocTags: property.JsDocTags,
132
- Collect: collect,
133
- }))
134
- }
135
- collection := JsonSchemasProgrammer.WriteSchemas(struct {
136
- Version string
137
- Metadatas []*nativemetadata.MetadataSchema
138
- }{
139
- Version: props.Version,
140
- Metadatas: definitions,
141
- })
142
- for i, schema := range collection.Schemas {
143
- if i < len(setters) && setters[i] != nil {
144
- setters[i](schema)
145
- }
146
- }
147
- return map[string]any{
148
- "version": props.Version,
149
- "components": collection.Components,
150
- "functions": functions,
151
- }
103
+ functions := []any{}
104
+ for _, property := range object.Properties {
105
+ unaliased := nativemetadata.MetadataSchema_unalias(property.Value)
106
+ if property.Key.IsSoleLiteral() == false ||
107
+ property.Value.Size() != 1 ||
108
+ property.Value.Nullable != false ||
109
+ property.Value.IsRequired() != true ||
110
+ len(unaliased.Functions) != 1 {
111
+ continue
112
+ }
113
+ if jsonApplicationProgrammer_hidden(property.JsDocTags) {
114
+ continue
115
+ }
116
+ if props.Filter != nil && props.Filter(property) == false {
117
+ continue
118
+ }
119
+ functions = append(functions, jsonApplicationProgrammer_collectFunction(struct {
120
+ Version string
121
+ Name string
122
+ Function *nativemetadata.MetadataFunction
123
+ Description *string
124
+ JsDocTags []nativemetadata.IJsDocTagInfo
125
+ Collect func(*nativemetadata.MetadataSchema, func(nativeiterate.JsonSchema))
126
+ }{
127
+ Version: props.Version,
128
+ Name: *property.Key.GetSoleLiteral(),
129
+ Function: unaliased.Functions[0],
130
+ Description: property.Description,
131
+ JsDocTags: property.JsDocTags,
132
+ Collect: collect,
133
+ }))
134
+ }
135
+ collection := JsonSchemasProgrammer.WriteSchemas(struct {
136
+ Version string
137
+ Metadatas []*nativemetadata.MetadataSchema
138
+ }{
139
+ Version: props.Version,
140
+ Metadatas: definitions,
141
+ })
142
+ for i, schema := range collection.Schemas {
143
+ if i < len(setters) && setters[i] != nil {
144
+ setters[i](schema)
145
+ }
146
+ }
147
+ return map[string]any{
148
+ "version": props.Version,
149
+ "components": collection.Components,
150
+ "functions": functions,
151
+ }
152
152
  }
153
153
 
154
154
  func (jsonApplicationProgrammerNamespace) WriteDescription(props struct {
155
- Description *string
156
- JsDocTags []nativemetadata.IJsDocTagInfo
157
- Kind string
155
+ Description *string
156
+ JsDocTags []nativemetadata.IJsDocTagInfo
157
+ Kind string
158
158
  }) map[string]any {
159
- var title any
160
- texts := jsonApplicationProgrammer_getJsDocTexts(struct {
161
- JsDocTags []nativemetadata.IJsDocTagInfo
162
- Name string
163
- }{
164
- JsDocTags: props.JsDocTags,
165
- Name: props.Kind,
166
- })
167
- if len(texts) != 0 && len(texts[0]) != 0 {
168
- title = texts[0]
169
- } else if props.Description != nil && len(*props.Description) != 0 {
170
- index := strings.Index(*props.Description, "\n")
171
- top := *props.Description
172
- if index != -1 {
173
- top = (*props.Description)[:index]
174
- }
175
- top = strings.TrimSpace(top)
176
- if strings.HasSuffix(top, ".") {
177
- title = top[:len(top)-1]
178
- }
179
- }
180
- output := map[string]any{}
181
- if title != nil {
182
- output[props.Kind] = title
183
- }
184
- if props.Description != nil && len(*props.Description) != 0 {
185
- output["description"] = *props.Description
186
- }
187
- return output
159
+ var title any
160
+ texts := jsonApplicationProgrammer_getJsDocTexts(struct {
161
+ JsDocTags []nativemetadata.IJsDocTagInfo
162
+ Name string
163
+ }{
164
+ JsDocTags: props.JsDocTags,
165
+ Name: props.Kind,
166
+ })
167
+ if len(texts) != 0 && len(texts[0]) != 0 {
168
+ title = texts[0]
169
+ } else if props.Description != nil && len(*props.Description) != 0 {
170
+ index := strings.Index(*props.Description, "\n")
171
+ top := *props.Description
172
+ if index != -1 {
173
+ top = (*props.Description)[:index]
174
+ }
175
+ top = strings.TrimSpace(top)
176
+ if strings.HasSuffix(top, ".") {
177
+ title = top[:len(top)-1]
178
+ }
179
+ }
180
+ output := map[string]any{}
181
+ if title != nil {
182
+ output[props.Kind] = title
183
+ }
184
+ if props.Description != nil && len(*props.Description) != 0 {
185
+ output["description"] = *props.Description
186
+ }
187
+ return output
188
188
  }
189
189
 
190
190
  func jsonApplicationProgrammer_collectFunction(props struct {
191
- Version string
192
- Name string
193
- Function *nativemetadata.MetadataFunction
194
- Description *string
195
- JsDocTags []nativemetadata.IJsDocTagInfo
196
- Collect func(*nativemetadata.MetadataSchema, func(nativeiterate.JsonSchema))
191
+ Version string
192
+ Name string
193
+ Function *nativemetadata.MetadataFunction
194
+ Description *string
195
+ JsDocTags []nativemetadata.IJsDocTagInfo
196
+ Collect func(*nativemetadata.MetadataSchema, func(nativeiterate.JsonSchema))
197
197
  }) map[string]any {
198
- deprecated := false
199
- for _, tag := range props.JsDocTags {
200
- if tag.Name == "deprecated" {
201
- deprecated = true
202
- break
203
- }
204
- }
205
- tags := []any{}
206
- for _, tag := range props.JsDocTags {
207
- if tag.Name != "tag" {
208
- continue
209
- }
210
- for _, elem := range tag.Text {
211
- if elem.Kind == "text" {
212
- words := strings.Fields(strings.TrimSpace(elem.Text))
213
- if len(words) != 0 {
214
- tags = append(tags, words[0])
215
- }
216
- }
217
- }
218
- }
198
+ deprecated := false
199
+ for _, tag := range props.JsDocTags {
200
+ if tag.Name == "deprecated" {
201
+ deprecated = true
202
+ break
203
+ }
204
+ }
205
+ tags := []any{}
206
+ for _, tag := range props.JsDocTags {
207
+ if tag.Name != "tag" {
208
+ continue
209
+ }
210
+ for _, elem := range tag.Text {
211
+ if elem.Kind == "text" {
212
+ words := strings.Fields(strings.TrimSpace(elem.Text))
213
+ if len(words) != 0 {
214
+ tags = append(tags, words[0])
215
+ }
216
+ }
217
+ }
218
+ }
219
219
 
220
- parameters := []any{}
221
- for _, param := range props.Function.Parameters {
222
- appParam := map[string]any{
223
- "name": param.Name,
224
- "required": param.Type.IsRequired(),
225
- "schema": nil,
226
- }
227
- description := param.Description
228
- if description == nil {
229
- description = jsonApplicationProgrammer_descriptionFromParam(props.JsDocTags, param)
230
- }
231
- for key, value := range JsonApplicationProgrammer.WriteDescription(struct {
232
- Description *string
233
- JsDocTags []nativemetadata.IJsDocTagInfo
234
- Kind string
235
- }{
236
- Description: description,
237
- JsDocTags: props.JsDocTags,
238
- Kind: "title",
239
- }) {
240
- appParam[key] = value
241
- }
242
- target := appParam
243
- props.Collect(param.Type, func(schema nativeiterate.JsonSchema) {
244
- target["schema"] = schema
245
- })
246
- parameters = append(parameters, appParam)
247
- }
220
+ parameters := []any{}
221
+ for _, param := range props.Function.Parameters {
222
+ appParam := map[string]any{
223
+ "name": param.Name,
224
+ "required": param.Type.IsRequired(),
225
+ "schema": nil,
226
+ }
227
+ description := param.Description
228
+ if description == nil {
229
+ description = jsonApplicationProgrammer_descriptionFromParam(props.JsDocTags, param)
230
+ }
231
+ for key, value := range JsonApplicationProgrammer.WriteDescription(struct {
232
+ Description *string
233
+ JsDocTags []nativemetadata.IJsDocTagInfo
234
+ Kind string
235
+ }{
236
+ Description: description,
237
+ JsDocTags: props.JsDocTags,
238
+ Kind: "title",
239
+ }) {
240
+ appParam[key] = value
241
+ }
242
+ target := appParam
243
+ props.Collect(param.Type, func(schema nativeiterate.JsonSchema) {
244
+ target["schema"] = schema
245
+ })
246
+ parameters = append(parameters, appParam)
247
+ }
248
248
 
249
- var output any
250
- if props.Function.Output != nil && props.Function.Output.Size() != 0 {
251
- appOutput := map[string]any{
252
- "schema": nil,
253
- "required": props.Function.Output.IsRequired(),
254
- }
255
- description := jsonApplicationProgrammer_writeDescriptionFromJsDocTag(struct {
256
- JsDocTags []nativemetadata.IJsDocTagInfo
257
- Name string
258
- Parameter *string
259
- }{JsDocTags: props.JsDocTags, Name: "return"})
260
- if description == nil {
261
- description = jsonApplicationProgrammer_writeDescriptionFromJsDocTag(struct {
262
- JsDocTags []nativemetadata.IJsDocTagInfo
263
- Name string
264
- Parameter *string
265
- }{JsDocTags: props.JsDocTags, Name: "returns"})
266
- }
267
- if description != nil {
268
- appOutput["description"] = *description
269
- }
270
- target := appOutput
271
- props.Collect(props.Function.Output, func(schema nativeiterate.JsonSchema) {
272
- target["schema"] = schema
273
- })
274
- output = appOutput
275
- }
249
+ var output any
250
+ if props.Function.Output != nil && props.Function.Output.Size() != 0 {
251
+ appOutput := map[string]any{
252
+ "schema": nil,
253
+ "required": props.Function.Output.IsRequired(),
254
+ }
255
+ description := jsonApplicationProgrammer_writeDescriptionFromJsDocTag(struct {
256
+ JsDocTags []nativemetadata.IJsDocTagInfo
257
+ Name string
258
+ Parameter *string
259
+ }{JsDocTags: props.JsDocTags, Name: "return"})
260
+ if description == nil {
261
+ description = jsonApplicationProgrammer_writeDescriptionFromJsDocTag(struct {
262
+ JsDocTags []nativemetadata.IJsDocTagInfo
263
+ Name string
264
+ Parameter *string
265
+ }{JsDocTags: props.JsDocTags, Name: "returns"})
266
+ }
267
+ if description != nil {
268
+ appOutput["description"] = *description
269
+ }
270
+ target := appOutput
271
+ props.Collect(props.Function.Output, func(schema nativeiterate.JsonSchema) {
272
+ target["schema"] = schema
273
+ })
274
+ output = appOutput
275
+ }
276
276
 
277
- fn := map[string]any{
278
- "name": props.Name,
279
- "async": props.Function.Async,
280
- "parameters": parameters,
281
- }
282
- if output != nil {
283
- fn["output"] = output
284
- }
285
- if props.Description != nil {
286
- fn["description"] = *props.Description
287
- }
288
- if deprecated {
289
- fn["deprecated"] = true
290
- }
291
- if len(tags) != 0 {
292
- fn["tags"] = tags
293
- }
294
- return fn
277
+ fn := map[string]any{
278
+ "name": props.Name,
279
+ "async": props.Function.Async,
280
+ "parameters": parameters,
281
+ }
282
+ if output != nil {
283
+ fn["output"] = output
284
+ }
285
+ if props.Description != nil {
286
+ fn["description"] = *props.Description
287
+ }
288
+ if deprecated {
289
+ fn["deprecated"] = true
290
+ }
291
+ if len(tags) != 0 {
292
+ fn["tags"] = tags
293
+ }
294
+ return fn
295
295
  }
296
296
 
297
297
  func jsonApplicationProgrammer_writeDescriptionFromJsDocTag(props struct {
298
- JsDocTags []nativemetadata.IJsDocTagInfo
299
- Name string
300
- Parameter *string
298
+ JsDocTags []nativemetadata.IJsDocTagInfo
299
+ Name string
300
+ Parameter *string
301
301
  }) *string {
302
- for _, tag := range props.JsDocTags {
303
- if tag.Name != props.Name || len(tag.Text) == 0 {
304
- continue
305
- }
306
- if props.Parameter != nil {
307
- found := false
308
- for _, elem := range tag.Text {
309
- if elem.Kind == "parameterName" && elem.Text == *props.Parameter {
310
- found = true
311
- break
312
- }
313
- }
314
- if found == false {
315
- continue
316
- }
317
- }
318
- for _, elem := range tag.Text {
319
- if elem.Kind == "text" {
320
- text := elem.Text
321
- return &text
322
- }
323
- }
324
- }
325
- return nil
302
+ for _, tag := range props.JsDocTags {
303
+ if tag.Name != props.Name || len(tag.Text) == 0 {
304
+ continue
305
+ }
306
+ if props.Parameter != nil {
307
+ found := false
308
+ for _, elem := range tag.Text {
309
+ if elem.Kind == "parameterName" && elem.Text == *props.Parameter {
310
+ found = true
311
+ break
312
+ }
313
+ }
314
+ if found == false {
315
+ continue
316
+ }
317
+ }
318
+ for _, elem := range tag.Text {
319
+ if elem.Kind == "text" {
320
+ text := elem.Text
321
+ return &text
322
+ }
323
+ }
324
+ }
325
+ return nil
326
326
  }
327
327
 
328
328
  func jsonApplicationProgrammer_getJsDocTexts(props struct {
329
- JsDocTags []nativemetadata.IJsDocTagInfo
330
- Name string
329
+ JsDocTags []nativemetadata.IJsDocTagInfo
330
+ Name string
331
331
  }) []string {
332
- output := []string{}
333
- for _, tag := range props.JsDocTags {
334
- if tag.Name != props.Name {
335
- continue
336
- }
337
- for _, elem := range tag.Text {
338
- if elem.Kind == "text" && len(elem.Text) != 0 {
339
- output = append(output, elem.Text)
340
- break
341
- }
342
- }
343
- }
344
- return output
332
+ output := []string{}
333
+ for _, tag := range props.JsDocTags {
334
+ if tag.Name != props.Name {
335
+ continue
336
+ }
337
+ for _, elem := range tag.Text {
338
+ if elem.Kind == "text" && len(elem.Text) != 0 {
339
+ output = append(output, elem.Text)
340
+ break
341
+ }
342
+ }
343
+ }
344
+ return output
345
345
  }
346
346
 
347
347
  func jsonApplicationProgrammer_descriptionFromParam(tags []nativemetadata.IJsDocTagInfo, param *nativemetadata.MetadataParameter) *string {
348
- for _, tag := range param.JsDocTags {
349
- if tag.Name == "description" && len(tag.Text) != 0 {
350
- text := tag.Text[0].Text
351
- return &text
352
- }
353
- }
354
- name := param.Name
355
- description := jsonApplicationProgrammer_writeDescriptionFromJsDocTag(struct {
356
- JsDocTags []nativemetadata.IJsDocTagInfo
357
- Name string
358
- Parameter *string
359
- }{JsDocTags: tags, Name: "param", Parameter: &name})
360
- if description == nil {
361
- return nil
362
- }
363
- text := strings.TrimPrefix(*description, param.Name)
364
- return &text
348
+ for _, tag := range param.JsDocTags {
349
+ if tag.Name == "description" && len(tag.Text) != 0 {
350
+ text := tag.Text[0].Text
351
+ return &text
352
+ }
353
+ }
354
+ name := param.Name
355
+ description := jsonApplicationProgrammer_writeDescriptionFromJsDocTag(struct {
356
+ JsDocTags []nativemetadata.IJsDocTagInfo
357
+ Name string
358
+ Parameter *string
359
+ }{JsDocTags: tags, Name: "param", Parameter: &name})
360
+ if description == nil {
361
+ return nil
362
+ }
363
+ text := strings.TrimPrefix(*description, param.Name)
364
+ return &text
365
365
  }
366
366
 
367
367
  func jsonApplicationProgrammer_hidden(tags []nativemetadata.IJsDocTagInfo) bool {
368
- for _, tag := range tags {
369
- if tag.Name == "hidden" || tag.Name == "ignore" || tag.Name == "internal" {
370
- return true
371
- }
372
- }
373
- return false
368
+ for _, tag := range tags {
369
+ if tag.Name == "hidden" || tag.Name == "ignore" || tag.Name == "internal" {
370
+ return true
371
+ }
372
+ }
373
+ return false
374
374
  }