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,10 +1,10 @@
1
1
  package factories
2
2
 
3
3
  import (
4
- "math/big"
5
- "reflect"
6
- "sort"
7
- "strings"
4
+ "math/big"
5
+ "reflect"
6
+ "sort"
7
+ "strings"
8
8
  )
9
9
 
10
10
  import shimast "github.com/microsoft/typescript-go/shim/ast"
@@ -16,206 +16,219 @@ var LiteralFactory = literalFactoryNamespace{}
16
16
  var literalFactory_factory = shimast.NewNodeFactory(shimast.NodeFactoryHooks{})
17
17
 
18
18
  func (literalFactoryNamespace) Write(input any) *shimast.Node {
19
- if input == nil {
20
- return literalFactory_factory.NewKeywordExpression(shimast.KindNullKeyword)
21
- }
22
- if node, ok := input.(*shimast.Node); ok {
23
- if node.Kind == shimast.KindArrowFunction || node.Kind == shimast.KindCallExpression || node.Kind == shimast.KindIdentifier {
24
- return node
25
- }
26
- }
27
- if array, ok := input.([]any); ok {
28
- return literalFactory_writeArray(array)
29
- }
30
- if object, ok := input.(map[string]any); ok {
31
- return literalFactory_writeObject(object)
32
- }
33
- switch value := input.(type) {
34
- case bool:
35
- return literalFactory_writeBoolean(value)
36
- case *big.Int:
37
- return literalFactory_writeBigint(value)
38
- case int:
39
- return literalFactory_writeNumber(value)
40
- case int64:
41
- return literalFactory_writeNumber(value)
42
- case float64:
43
- return literalFactory_writeNumber(value)
44
- case string:
45
- return literalFactory_writeString(value)
46
- }
47
- reflected := reflect.ValueOf(input)
48
- switch reflected.Kind() {
49
- case reflect.Bool:
50
- return literalFactory_writeBoolean(reflected.Bool())
51
- case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64:
52
- return literalFactory_writeNumber(reflected.Int())
53
- case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr:
54
- return literalFactory_writeNumber(reflected.Uint())
55
- case reflect.Float32, reflect.Float64:
56
- return literalFactory_writeNumber(reflected.Float())
57
- case reflect.Pointer:
58
- if reflected.IsNil() {
59
- return literalFactory_factory.NewKeywordExpression(shimast.KindNullKeyword)
60
- }
61
- return LiteralFactory.Write(reflected.Elem().Interface())
62
- case reflect.Struct:
63
- object := map[string]any{}
64
- typ := reflected.Type()
65
- for i := 0; i < reflected.NumField(); i++ {
66
- field := typ.Field(i)
67
- if field.PkgPath != "" || reflected.Field(i).CanInterface() == false {
68
- continue
69
- }
70
- object[literalFactory_fieldName(field.Name)] = reflected.Field(i).Interface()
71
- }
72
- return literalFactory_writeObject(object)
73
- case reflect.Slice, reflect.Array:
74
- array := make([]any, 0, reflected.Len())
75
- for i := 0; i < reflected.Len(); i++ {
76
- array = append(array, reflected.Index(i).Interface())
77
- }
78
- return literalFactory_writeArray(array)
79
- case reflect.Map:
80
- if reflected.Type().Key().Kind() == reflect.String {
81
- object := map[string]any{}
82
- for _, key := range reflected.MapKeys() {
83
- object[key.String()] = reflected.MapIndex(key).Interface()
84
- }
85
- return literalFactory_writeObject(object)
86
- }
87
- case reflect.Func:
88
- return literalFactory_factory.NewIdentifier("undefined")
89
- }
90
- panic("Error on LiteralFactory.generate(): unknown type.")
19
+ if input == nil {
20
+ return literalFactory_factory.NewKeywordExpression(shimast.KindNullKeyword)
21
+ }
22
+ if node, ok := input.(*shimast.Node); ok {
23
+ if node.Kind == shimast.KindArrowFunction || node.Kind == shimast.KindCallExpression || node.Kind == shimast.KindIdentifier {
24
+ return node
25
+ }
26
+ }
27
+ if array, ok := input.([]any); ok {
28
+ return literalFactory_writeArray(array)
29
+ }
30
+ if object, ok := input.(map[string]any); ok {
31
+ return literalFactory_writeObject(object)
32
+ }
33
+ switch value := input.(type) {
34
+ case bool:
35
+ return literalFactory_writeBoolean(value)
36
+ case *big.Int:
37
+ return literalFactory_writeBigint(value)
38
+ case int:
39
+ return literalFactory_writeNumber(value)
40
+ case int64:
41
+ return literalFactory_writeNumber(value)
42
+ case float64:
43
+ return literalFactory_writeNumber(value)
44
+ case string:
45
+ return literalFactory_writeString(value)
46
+ }
47
+ reflected := reflect.ValueOf(input)
48
+ switch reflected.Kind() {
49
+ case reflect.Bool:
50
+ return literalFactory_writeBoolean(reflected.Bool())
51
+ case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64:
52
+ return literalFactory_writeNumber(reflected.Int())
53
+ case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr:
54
+ return literalFactory_writeNumber(reflected.Uint())
55
+ case reflect.Float32, reflect.Float64:
56
+ return literalFactory_writeNumber(reflected.Float())
57
+ case reflect.Pointer:
58
+ if reflected.IsNil() {
59
+ return literalFactory_factory.NewKeywordExpression(shimast.KindNullKeyword)
60
+ }
61
+ return LiteralFactory.Write(reflected.Elem().Interface())
62
+ case reflect.Struct:
63
+ object := map[string]any{}
64
+ typ := reflected.Type()
65
+ for i := 0; i < reflected.NumField(); i++ {
66
+ field := typ.Field(i)
67
+ if field.PkgPath != "" || reflected.Field(i).CanInterface() == false {
68
+ continue
69
+ }
70
+ object[literalFactory_fieldName(field.Name)] = reflected.Field(i).Interface()
71
+ }
72
+ return literalFactory_writeObject(object)
73
+ case reflect.Slice, reflect.Array:
74
+ array := make([]any, 0, reflected.Len())
75
+ for i := 0; i < reflected.Len(); i++ {
76
+ array = append(array, reflected.Index(i).Interface())
77
+ }
78
+ return literalFactory_writeArray(array)
79
+ case reflect.Map:
80
+ if reflected.Type().Key().Kind() == reflect.String {
81
+ object := map[string]any{}
82
+ for _, key := range reflected.MapKeys() {
83
+ object[key.String()] = reflected.MapIndex(key).Interface()
84
+ }
85
+ return literalFactory_writeObject(object)
86
+ }
87
+ case reflect.Func:
88
+ return literalFactory_factory.NewIdentifier("undefined")
89
+ }
90
+ panic("Error on LiteralFactory.generate(): unknown type.")
91
91
  }
92
92
 
93
93
  func literalFactory_fieldName(name string) string {
94
- if name == "" {
95
- return name
96
- }
97
- return strings.ToLower(name[:1]) + name[1:]
94
+ if name == "" {
95
+ return name
96
+ }
97
+ return strings.ToLower(name[:1]) + name[1:]
98
98
  }
99
99
 
100
100
  func literalFactory_writeObject(obj map[string]any) *shimast.Node {
101
- keys := make([]string, 0, len(obj))
102
- for key, value := range obj {
103
- if value == nil {
104
- continue
105
- }
106
- keys = append(keys, key)
107
- }
108
- sort.SliceStable(keys, func(i, j int) bool {
109
- left, right := literalFactory_propertyRank(keys[i]), literalFactory_propertyRank(keys[j])
110
- if left != right {
111
- return left < right
112
- }
113
- return keys[i] < keys[j]
114
- })
115
- properties := make([]*shimast.Node, 0, len(keys))
116
- for _, key := range keys {
117
- properties = append(properties, literalFactory_factory.NewPropertyAssignment(
118
- nil,
119
- IdentifierFactory.Identifier(key),
120
- nil,
121
- nil,
122
- LiteralFactory.Write(obj[key]),
123
- ))
124
- }
125
- return literalFactory_factory.NewObjectLiteralExpression(
126
- literalFactory_factory.NewNodeList(properties),
127
- true,
128
- )
101
+ keys := make([]string, 0, len(obj))
102
+ for key, value := range obj {
103
+ if literalFactory_isNilLike(value) {
104
+ continue
105
+ }
106
+ keys = append(keys, key)
107
+ }
108
+ sort.SliceStable(keys, func(i, j int) bool {
109
+ left, right := literalFactory_propertyRank(keys[i]), literalFactory_propertyRank(keys[j])
110
+ if left != right {
111
+ return left < right
112
+ }
113
+ return keys[i] < keys[j]
114
+ })
115
+ properties := make([]*shimast.Node, 0, len(keys))
116
+ for _, key := range keys {
117
+ properties = append(properties, literalFactory_factory.NewPropertyAssignment(
118
+ nil,
119
+ IdentifierFactory.Identifier(key),
120
+ nil,
121
+ nil,
122
+ LiteralFactory.Write(obj[key]),
123
+ ))
124
+ }
125
+ return literalFactory_factory.NewObjectLiteralExpression(
126
+ literalFactory_factory.NewNodeList(properties),
127
+ true,
128
+ )
129
129
  }
130
130
 
131
131
  func literalFactory_propertyRank(key string) int {
132
- switch key {
133
- case "$ref":
134
- return 0
135
- case "type":
136
- return 10
137
- case "nullable":
138
- return 11
139
- case "const":
140
- return 12
141
- case "enum":
142
- return 13
143
- case "minimum":
144
- return 20
145
- case "exclusiveMinimum":
146
- return 21
147
- case "maximum":
148
- return 22
149
- case "exclusiveMaximum":
150
- return 23
151
- case "multipleOf":
152
- return 24
153
- case "minLength":
154
- return 30
155
- case "maxLength":
156
- return 31
157
- case "pattern":
158
- return 32
159
- case "format":
160
- return 33
161
- case "minItems":
162
- return 40
163
- case "maxItems":
164
- return 41
165
- case "uniqueItems":
166
- return 42
167
- case "items":
168
- return 43
169
- case "prefixItems":
170
- return 44
171
- case "properties":
172
- return 50
173
- case "required":
174
- return 51
175
- case "additionalProperties":
176
- return 52
177
- case "oneOf":
178
- return 60
179
- case "anyOf":
180
- return 61
181
- case "allOf":
182
- return 62
183
- case "title":
184
- return 90
185
- case "description":
186
- return 91
187
- case "default":
188
- return 92
189
- }
190
- return 1_000
132
+ switch key {
133
+ case "$ref":
134
+ return 0
135
+ case "type":
136
+ return 10
137
+ case "nullable":
138
+ return 11
139
+ case "const":
140
+ return 12
141
+ case "enum":
142
+ return 13
143
+ case "minimum":
144
+ return 20
145
+ case "exclusiveMinimum":
146
+ return 21
147
+ case "maximum":
148
+ return 22
149
+ case "exclusiveMaximum":
150
+ return 23
151
+ case "multipleOf":
152
+ return 24
153
+ case "minLength":
154
+ return 30
155
+ case "maxLength":
156
+ return 31
157
+ case "pattern":
158
+ return 32
159
+ case "format":
160
+ return 33
161
+ case "minItems":
162
+ return 40
163
+ case "maxItems":
164
+ return 41
165
+ case "uniqueItems":
166
+ return 42
167
+ case "items":
168
+ return 43
169
+ case "prefixItems":
170
+ return 44
171
+ case "properties":
172
+ return 50
173
+ case "required":
174
+ return 51
175
+ case "additionalProperties":
176
+ return 52
177
+ case "oneOf":
178
+ return 60
179
+ case "anyOf":
180
+ return 61
181
+ case "allOf":
182
+ return 62
183
+ case "title":
184
+ return 90
185
+ case "description":
186
+ return 91
187
+ case "default":
188
+ return 92
189
+ }
190
+ return 1_000
191
+ }
192
+
193
+ func literalFactory_isNilLike(value any) bool {
194
+ if value == nil {
195
+ return true
196
+ }
197
+ reflected := reflect.ValueOf(value)
198
+ switch reflected.Kind() {
199
+ case reflect.Chan, reflect.Func, reflect.Interface, reflect.Map, reflect.Pointer, reflect.Slice:
200
+ return reflected.IsNil()
201
+ default:
202
+ return false
203
+ }
191
204
  }
192
205
 
193
206
  func literalFactory_writeArray(array []any) *shimast.Node {
194
- elements := make([]*shimast.Node, 0, len(array))
195
- for _, elem := range array {
196
- elements = append(elements, LiteralFactory.Write(elem))
197
- }
198
- return literalFactory_factory.NewArrayLiteralExpression(
199
- literalFactory_factory.NewNodeList(elements),
200
- true,
201
- )
207
+ elements := make([]*shimast.Node, 0, len(array))
208
+ for _, elem := range array {
209
+ elements = append(elements, LiteralFactory.Write(elem))
210
+ }
211
+ return literalFactory_factory.NewArrayLiteralExpression(
212
+ literalFactory_factory.NewNodeList(elements),
213
+ true,
214
+ )
202
215
  }
203
216
 
204
217
  func literalFactory_writeBoolean(value bool) *shimast.Node {
205
- if value {
206
- return literalFactory_factory.NewKeywordExpression(shimast.KindTrueKeyword)
207
- }
208
- return literalFactory_factory.NewKeywordExpression(shimast.KindFalseKeyword)
218
+ if value {
219
+ return literalFactory_factory.NewKeywordExpression(shimast.KindTrueKeyword)
220
+ }
221
+ return literalFactory_factory.NewKeywordExpression(shimast.KindFalseKeyword)
209
222
  }
210
223
 
211
224
  func literalFactory_writeNumber(value any) *shimast.Node {
212
- return ExpressionFactory.Number(value)
225
+ return ExpressionFactory.Number(value)
213
226
  }
214
227
 
215
228
  func literalFactory_writeBigint(value any) *shimast.Node {
216
- return ExpressionFactory.Bigint(value)
229
+ return ExpressionFactory.Bigint(value)
217
230
  }
218
231
 
219
232
  func literalFactory_writeString(value string) *shimast.Node {
220
- return literalFactory_factory.NewStringLiteral(value, shimast.TokenFlagsNone)
233
+ return literalFactory_factory.NewStringLiteral(value, shimast.TokenFlagsNone)
221
234
  }