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
@@ -7,99 +7,99 @@ type statementFactoryNamespace struct{}
7
7
  var StatementFactory = statementFactoryNamespace{}
8
8
 
9
9
  type StatementFactory_MutProps struct {
10
- Name string
11
- Type *shimast.TypeNode
12
- Initializer *shimast.Expression
10
+ Name string
11
+ Type *shimast.TypeNode
12
+ Initializer *shimast.Expression
13
13
  }
14
14
 
15
15
  type StatementFactory_ConstantProps struct {
16
- Name string
17
- Type *shimast.TypeNode
18
- Value *shimast.Expression
16
+ Name string
17
+ Type *shimast.TypeNode
18
+ Value *shimast.Expression
19
19
  }
20
20
 
21
21
  type StatementFactory_EntryProps struct {
22
- Key string
23
- Value string
22
+ Key string
23
+ Value string
24
24
  }
25
25
 
26
26
  var statementFactory_factory = shimast.NewNodeFactory(shimast.NodeFactoryHooks{})
27
27
 
28
28
  func (statementFactoryNamespace) Mut(props StatementFactory_MutProps) *shimast.Node {
29
- typeNode := props.Type
30
- if typeNode == nil && props.Initializer == nil {
31
- typeNode = TypeFactory.Keyword("any")
32
- }
33
- declaration := statementFactory_factory.NewVariableDeclaration(
34
- statementFactory_factory.NewIdentifier(props.Name),
35
- nil,
36
- typeNode,
37
- props.Initializer,
38
- )
39
- return statementFactory_factory.NewVariableStatement(
40
- nil,
41
- statementFactory_factory.NewVariableDeclarationList(
42
- statementFactory_factory.NewNodeList([]*shimast.Node{declaration}),
43
- shimast.NodeFlagsLet,
44
- ),
45
- )
29
+ typeNode := props.Type
30
+ if typeNode == nil && props.Initializer == nil {
31
+ typeNode = TypeFactory.Keyword("any")
32
+ }
33
+ declaration := statementFactory_factory.NewVariableDeclaration(
34
+ statementFactory_factory.NewIdentifier(props.Name),
35
+ nil,
36
+ typeNode,
37
+ props.Initializer,
38
+ )
39
+ return statementFactory_factory.NewVariableStatement(
40
+ nil,
41
+ statementFactory_factory.NewVariableDeclarationList(
42
+ statementFactory_factory.NewNodeList([]*shimast.Node{declaration}),
43
+ shimast.NodeFlagsLet,
44
+ ),
45
+ )
46
46
  }
47
47
 
48
48
  func (statementFactoryNamespace) Constant(props StatementFactory_ConstantProps) *shimast.Node {
49
- typeNode := props.Type
50
- if typeNode == nil && props.Value == nil {
51
- typeNode = TypeFactory.Keyword("any")
52
- }
53
- declaration := statementFactory_factory.NewVariableDeclaration(
54
- statementFactory_factory.NewIdentifier(props.Name),
55
- nil,
56
- typeNode,
57
- props.Value,
58
- )
59
- return statementFactory_factory.NewVariableStatement(
60
- nil,
61
- statementFactory_factory.NewVariableDeclarationList(
62
- statementFactory_factory.NewNodeList([]*shimast.Node{declaration}),
63
- shimast.NodeFlagsConst,
64
- ),
65
- )
49
+ typeNode := props.Type
50
+ if typeNode == nil && props.Value == nil {
51
+ typeNode = TypeFactory.Keyword("any")
52
+ }
53
+ declaration := statementFactory_factory.NewVariableDeclaration(
54
+ statementFactory_factory.NewIdentifier(props.Name),
55
+ nil,
56
+ typeNode,
57
+ props.Value,
58
+ )
59
+ return statementFactory_factory.NewVariableStatement(
60
+ nil,
61
+ statementFactory_factory.NewVariableDeclarationList(
62
+ statementFactory_factory.NewNodeList([]*shimast.Node{declaration}),
63
+ shimast.NodeFlagsConst,
64
+ ),
65
+ )
66
66
  }
67
67
 
68
68
  func (statementFactoryNamespace) Entry(props StatementFactory_EntryProps) *shimast.Node {
69
- key := statementFactory_factory.NewBindingElement(
70
- nil,
71
- nil,
72
- statementFactory_factory.NewIdentifier(props.Key),
73
- nil,
74
- )
75
- value := statementFactory_factory.NewBindingElement(
76
- nil,
77
- nil,
78
- statementFactory_factory.NewIdentifier(props.Value),
79
- nil,
80
- )
81
- pattern := statementFactory_factory.NewBindingPattern(
82
- shimast.KindArrayBindingPattern,
83
- statementFactory_factory.NewNodeList([]*shimast.Node{key, value}),
84
- )
85
- declaration := statementFactory_factory.NewVariableDeclaration(pattern, nil, nil, nil)
86
- return statementFactory_factory.NewVariableDeclarationList(
87
- statementFactory_factory.NewNodeList([]*shimast.Node{declaration}),
88
- shimast.NodeFlagsConst,
89
- )
69
+ key := statementFactory_factory.NewBindingElement(
70
+ nil,
71
+ nil,
72
+ statementFactory_factory.NewIdentifier(props.Key),
73
+ nil,
74
+ )
75
+ value := statementFactory_factory.NewBindingElement(
76
+ nil,
77
+ nil,
78
+ statementFactory_factory.NewIdentifier(props.Value),
79
+ nil,
80
+ )
81
+ pattern := statementFactory_factory.NewBindingPattern(
82
+ shimast.KindArrayBindingPattern,
83
+ statementFactory_factory.NewNodeList([]*shimast.Node{key, value}),
84
+ )
85
+ declaration := statementFactory_factory.NewVariableDeclaration(pattern, nil, nil, nil)
86
+ return statementFactory_factory.NewVariableDeclarationList(
87
+ statementFactory_factory.NewNodeList([]*shimast.Node{declaration}),
88
+ shimast.NodeFlagsConst,
89
+ )
90
90
  }
91
91
 
92
92
  func (statementFactoryNamespace) Transpile(script string) *shimast.Node {
93
- return statementFactory_factory.NewExpressionStatement(
94
- statementFactory_factory.NewIdentifier(script),
95
- )
93
+ return statementFactory_factory.NewExpressionStatement(
94
+ statementFactory_factory.NewIdentifier(script),
95
+ )
96
96
  }
97
97
 
98
98
  func (statementFactoryNamespace) Block(expression *shimast.Expression) *shimast.Node {
99
- return statementFactory_factory.NewBlock(
100
- statementFactory_factory.NewNodeList([]*shimast.Node{
101
- statementFactory_factory.NewExpressionStatement(expression),
102
- }),
103
- true,
104
- )
99
+ return statementFactory_factory.NewBlock(
100
+ statementFactory_factory.NewNodeList([]*shimast.Node{
101
+ statementFactory_factory.NewExpressionStatement(expression),
102
+ }),
103
+ true,
104
+ )
105
105
  }
@@ -9,69 +9,69 @@ type templateFactoryNamespace struct{}
9
9
  var TemplateFactory = templateFactoryNamespace{}
10
10
 
11
11
  type TemplateFactory_IIterator struct {
12
- Value string
13
- Index int
12
+ Value string
13
+ Index int
14
14
  }
15
15
 
16
16
  var templateFactory_factory = shimast.NewNodeFactory(shimast.NodeFactoryHooks{})
17
17
 
18
18
  func (templateFactoryNamespace) Generate(expressions []*shimast.Expression) *shimast.Node {
19
- allString := true
20
- for _, exp := range expressions {
21
- if !shimast.IsStringLiteral(exp) {
22
- allString = false
23
- break
24
- }
25
- }
26
- if allString {
27
- values := make([]string, 0, len(expressions))
28
- for _, str := range expressions {
29
- values = append(values, str.Text())
30
- }
31
- return templateFactory_factory.NewStringLiteral(strings.Join(values, ""), shimast.TokenFlagsNone)
32
- }
33
- iterator := &TemplateFactory_IIterator{Value: "", Index: 0}
34
- templateFactory_gather(expressions, iterator)
35
- head := templateFactory_factory.NewTemplateHead(iterator.Value, iterator.Value, shimast.TokenFlagsNone)
36
- spans := []*shimast.Node{}
37
- for {
38
- elem := expressions[iterator.Index]
39
- iterator.Index++
40
- templateFactory_gather(expressions, iterator)
41
- broken := iterator.Index == len(expressions)
42
- var literal *shimast.TemplateMiddleOrTail
43
- if broken {
44
- literal = templateFactory_factory.NewTemplateTail(iterator.Value, iterator.Value, shimast.TokenFlagsNone)
45
- } else {
46
- literal = templateFactory_factory.NewTemplateMiddle(iterator.Value, iterator.Value, shimast.TokenFlagsNone)
47
- }
48
- spans = append(spans, templateFactory_factory.NewTemplateSpan(elem, literal))
49
- if broken {
50
- break
51
- }
52
- }
53
- return templateFactory_factory.NewTemplateExpression(
54
- head,
55
- templateFactory_factory.NewNodeList(spans),
56
- )
19
+ allString := true
20
+ for _, exp := range expressions {
21
+ if !shimast.IsStringLiteral(exp) {
22
+ allString = false
23
+ break
24
+ }
25
+ }
26
+ if allString {
27
+ values := make([]string, 0, len(expressions))
28
+ for _, str := range expressions {
29
+ values = append(values, str.Text())
30
+ }
31
+ return templateFactory_factory.NewStringLiteral(strings.Join(values, ""), shimast.TokenFlagsNone)
32
+ }
33
+ iterator := &TemplateFactory_IIterator{Value: "", Index: 0}
34
+ templateFactory_gather(expressions, iterator)
35
+ head := templateFactory_factory.NewTemplateHead(iterator.Value, iterator.Value, shimast.TokenFlagsNone)
36
+ spans := []*shimast.Node{}
37
+ for {
38
+ elem := expressions[iterator.Index]
39
+ iterator.Index++
40
+ templateFactory_gather(expressions, iterator)
41
+ broken := iterator.Index == len(expressions)
42
+ var literal *shimast.TemplateMiddleOrTail
43
+ if broken {
44
+ literal = templateFactory_factory.NewTemplateTail(iterator.Value, iterator.Value, shimast.TokenFlagsNone)
45
+ } else {
46
+ literal = templateFactory_factory.NewTemplateMiddle(iterator.Value, iterator.Value, shimast.TokenFlagsNone)
47
+ }
48
+ spans = append(spans, templateFactory_factory.NewTemplateSpan(elem, literal))
49
+ if broken {
50
+ break
51
+ }
52
+ }
53
+ return templateFactory_factory.NewTemplateExpression(
54
+ head,
55
+ templateFactory_factory.NewNodeList(spans),
56
+ )
57
57
  }
58
58
 
59
59
  func templateFactory_gather(expressions []*shimast.Expression, iterator *TemplateFactory_IIterator) {
60
- found := -1
61
- for i := iterator.Index; i < len(expressions); i++ {
62
- if !shimast.IsStringLiteral(expressions[i]) {
63
- found = i
64
- break
65
- }
66
- }
67
- last := len(expressions)
68
- if found != -1 {
69
- last = found
70
- }
71
- values := make([]string, 0, last-iterator.Index)
72
- for _, elem := range expressions[iterator.Index:last] {
73
- values = append(values, elem.Text())
74
- }
75
- iterator.Value = strings.Join(values, "")
76
- iterator.Index = last
60
+ found := -1
61
+ for i := iterator.Index; i < len(expressions); i++ {
62
+ if !shimast.IsStringLiteral(expressions[i]) {
63
+ found = i
64
+ break
65
+ }
66
+ }
67
+ last := len(expressions)
68
+ if found != -1 {
69
+ last = found
70
+ }
71
+ values := make([]string, 0, last-iterator.Index)
72
+ for _, elem := range expressions[iterator.Index:last] {
73
+ values = append(values, elem.Text())
74
+ }
75
+ iterator.Value = strings.Join(values, "")
76
+ iterator.Index = last
77
77
  }
@@ -1,10 +1,10 @@
1
1
  package factories
2
2
 
3
3
  import (
4
- "strings"
4
+ "strings"
5
5
 
6
- shimast "github.com/microsoft/typescript-go/shim/ast"
7
- shimchecker "github.com/microsoft/typescript-go/shim/checker"
6
+ shimast "github.com/microsoft/typescript-go/shim/ast"
7
+ shimchecker "github.com/microsoft/typescript-go/shim/checker"
8
8
  )
9
9
 
10
10
  type typeFactoryNamespace struct{}
@@ -12,152 +12,152 @@ type typeFactoryNamespace struct{}
12
12
  var TypeFactory = typeFactoryNamespace{}
13
13
 
14
14
  type TypeFactory_GetReturnTypeOfClassMethodProps struct {
15
- Checker *shimchecker.Checker
16
- Class *shimchecker.Type
17
- Function string
15
+ Checker *shimchecker.Checker
16
+ Class *shimchecker.Type
17
+ Function string
18
18
  }
19
19
 
20
20
  type TypeFactory_GetFullNameProps struct {
21
- Checker *shimchecker.Checker
22
- Type *shimchecker.Type
23
- Symbol *shimast.Symbol
24
- AliasTypeArguments *bool
21
+ Checker *shimchecker.Checker
22
+ Type *shimchecker.Type
23
+ Symbol *shimast.Symbol
24
+ AliasTypeArguments *bool
25
25
  }
26
26
 
27
27
  var typeFactory_factory = shimast.NewNodeFactory(shimast.NodeFactoryHooks{})
28
28
 
29
29
  func (typeFactoryNamespace) IsFunction(t *shimchecker.Type) bool {
30
- return TypeFactory.GetFunction(t) != nil
30
+ return TypeFactory.GetFunction(t) != nil
31
31
  }
32
32
 
33
33
  func (typeFactoryNamespace) GetFunction(t *shimchecker.Type) *shimast.Node {
34
- if t == nil {
35
- return nil
36
- }
37
- symbol := t.Symbol()
38
- if symbol == nil || len(symbol.Declarations) == 0 {
39
- return nil
40
- }
41
- node := symbol.Declarations[0]
42
- if shimast.IsFunctionLike(node) {
43
- return node
44
- }
45
- if shimast.IsPropertyAssignment(node) {
46
- initializer := node.AsPropertyAssignment().Initializer
47
- if shimast.IsFunctionLike(initializer) {
48
- return initializer
49
- }
50
- return nil
51
- }
52
- if shimast.IsPropertyDeclaration(node) {
53
- initializer := node.AsPropertyDeclaration().Initializer
54
- if shimast.IsFunctionLike(initializer) {
55
- return initializer
56
- }
57
- }
58
- return nil
34
+ if t == nil {
35
+ return nil
36
+ }
37
+ symbol := t.Symbol()
38
+ if symbol == nil || len(symbol.Declarations) == 0 {
39
+ return nil
40
+ }
41
+ node := symbol.Declarations[0]
42
+ if shimast.IsFunctionLike(node) {
43
+ return node
44
+ }
45
+ if shimast.IsPropertyAssignment(node) {
46
+ initializer := node.AsPropertyAssignment().Initializer
47
+ if shimast.IsFunctionLike(initializer) {
48
+ return initializer
49
+ }
50
+ return nil
51
+ }
52
+ if shimast.IsPropertyDeclaration(node) {
53
+ initializer := node.AsPropertyDeclaration().Initializer
54
+ if shimast.IsFunctionLike(initializer) {
55
+ return initializer
56
+ }
57
+ }
58
+ return nil
59
59
  }
60
60
 
61
61
  func (typeFactoryNamespace) GetReturnTypeOfClassMethod(props TypeFactory_GetReturnTypeOfClassMethodProps) *shimchecker.Type {
62
- if props.Checker == nil || props.Class == nil {
63
- return nil
64
- }
65
- symbol := props.Checker.GetPropertyOfType(props.Class, props.Function)
66
- if symbol == nil || symbol.ValueDeclaration == nil {
67
- return nil
68
- }
69
- functor := props.Checker.GetTypeOfSymbolAtLocation(symbol, symbol.ValueDeclaration)
70
- signatures := props.Checker.GetSignaturesOfType(functor, shimchecker.SignatureKindCall)
71
- if len(signatures) == 0 {
72
- return nil
73
- }
74
- return props.Checker.GetReturnTypeOfSignature(signatures[0])
62
+ if props.Checker == nil || props.Class == nil {
63
+ return nil
64
+ }
65
+ symbol := props.Checker.GetPropertyOfType(props.Class, props.Function)
66
+ if symbol == nil || symbol.ValueDeclaration == nil {
67
+ return nil
68
+ }
69
+ functor := props.Checker.GetTypeOfSymbolAtLocation(symbol, symbol.ValueDeclaration)
70
+ signatures := props.Checker.GetSignaturesOfType(functor, shimchecker.SignatureKindCall)
71
+ if len(signatures) == 0 {
72
+ return nil
73
+ }
74
+ return props.Checker.GetReturnTypeOfSignature(signatures[0])
75
75
  }
76
76
 
77
77
  func (typeFactoryNamespace) GetFullName(props TypeFactory_GetFullNameProps) string {
78
- if props.Checker == nil || props.Type == nil {
79
- return ""
80
- }
81
- symbol := props.Symbol
82
- if symbol == nil {
83
- symbol = props.Type.Symbol()
84
- }
85
- if symbol == nil {
86
- if props.Type.IsUnion() || props.Type.IsIntersection() {
87
- joiner := " | "
88
- if props.Type.IsIntersection() {
89
- joiner = " & "
90
- }
91
- children := props.Type.Types()
92
- names := make([]string, 0, len(children))
93
- for _, child := range children {
94
- names = append(names, TypeFactory.GetFullName(TypeFactory_GetFullNameProps{
95
- Checker: props.Checker,
96
- Type: child,
97
- }))
98
- }
99
- return strings.Join(names, joiner)
100
- }
101
- return props.Checker.TypeToString(props.Type)
102
- }
103
- name := typeFactory_get_name(symbol)
104
- generic := props.Checker.GetTypeArguments(props.Type)
105
- if len(generic) == 0 {
106
- return name
107
- }
108
- if name == "Promise" {
109
- return TypeFactory.GetFullName(TypeFactory_GetFullNameProps{
110
- Checker: props.Checker,
111
- Type: generic[0],
112
- })
113
- }
114
- names := make([]string, 0, len(generic))
115
- for _, child := range generic {
116
- names = append(names, TypeFactory.GetFullName(TypeFactory_GetFullNameProps{
117
- Checker: props.Checker,
118
- Type: child,
119
- }))
120
- }
121
- return name + "<" + strings.Join(names, ", ") + ">"
78
+ if props.Checker == nil || props.Type == nil {
79
+ return ""
80
+ }
81
+ symbol := props.Symbol
82
+ if symbol == nil {
83
+ symbol = props.Type.Symbol()
84
+ }
85
+ if symbol == nil {
86
+ if props.Type.IsUnion() || props.Type.IsIntersection() {
87
+ joiner := " | "
88
+ if props.Type.IsIntersection() {
89
+ joiner = " & "
90
+ }
91
+ children := props.Type.Types()
92
+ names := make([]string, 0, len(children))
93
+ for _, child := range children {
94
+ names = append(names, TypeFactory.GetFullName(TypeFactory_GetFullNameProps{
95
+ Checker: props.Checker,
96
+ Type: child,
97
+ }))
98
+ }
99
+ return strings.Join(names, joiner)
100
+ }
101
+ return props.Checker.TypeToString(props.Type)
102
+ }
103
+ name := typeFactory_get_name(symbol)
104
+ generic := props.Checker.GetTypeArguments(props.Type)
105
+ if len(generic) == 0 {
106
+ return name
107
+ }
108
+ if name == "Promise" {
109
+ return TypeFactory.GetFullName(TypeFactory_GetFullNameProps{
110
+ Checker: props.Checker,
111
+ Type: generic[0],
112
+ })
113
+ }
114
+ names := make([]string, 0, len(generic))
115
+ for _, child := range generic {
116
+ names = append(names, TypeFactory.GetFullName(TypeFactory_GetFullNameProps{
117
+ Checker: props.Checker,
118
+ Type: child,
119
+ }))
120
+ }
121
+ return name + "<" + strings.Join(names, ", ") + ">"
122
122
  }
123
123
 
124
124
  func typeFactory_explore_name(node *shimast.Node, name string) string {
125
- if node != nil && shimast.IsModuleBlock(node) && node.Parent != nil && node.Parent.Parent != nil {
126
- parentName := ""
127
- if node.Parent.Name() != nil {
128
- parentName = strings.TrimSpace(node.Parent.Name().Text())
129
- }
130
- if parentName != "" {
131
- return typeFactory_explore_name(node.Parent.Parent, parentName+"."+name)
132
- }
133
- }
134
- return name
125
+ if node != nil && shimast.IsModuleBlock(node) && node.Parent != nil && node.Parent.Parent != nil {
126
+ parentName := ""
127
+ if node.Parent.Name() != nil {
128
+ parentName = strings.TrimSpace(node.Parent.Name().Text())
129
+ }
130
+ if parentName != "" {
131
+ return typeFactory_explore_name(node.Parent.Parent, parentName+"."+name)
132
+ }
133
+ }
134
+ return name
135
135
  }
136
136
 
137
137
  func typeFactory_get_name(symbol *shimast.Symbol) string {
138
- if symbol == nil || len(symbol.Declarations) == 0 || symbol.Declarations[0].Parent == nil {
139
- return "__type"
140
- }
141
- return typeFactory_explore_name(symbol.Declarations[0].Parent, symbol.Name)
138
+ if symbol == nil || len(symbol.Declarations) == 0 || symbol.Declarations[0].Parent == nil {
139
+ return "__type"
140
+ }
141
+ return typeFactory_explore_name(symbol.Declarations[0].Parent, symbol.Name)
142
142
  }
143
143
 
144
144
  func (typeFactoryNamespace) Keyword(t string) *shimast.Node {
145
- var kind shimast.KeywordTypeSyntaxKind
146
- switch t {
147
- case "void":
148
- kind = shimast.KindVoidKeyword
149
- case "any":
150
- kind = shimast.KindAnyKeyword
151
- case "unknown":
152
- kind = shimast.KindUnknownKeyword
153
- case "boolean":
154
- kind = shimast.KindBooleanKeyword
155
- case "number":
156
- kind = shimast.KindNumberKeyword
157
- case "bigint":
158
- kind = shimast.KindBigIntKeyword
159
- default:
160
- kind = shimast.KindStringKeyword
161
- }
162
- return typeFactory_factory.NewKeywordTypeNode(kind)
145
+ var kind shimast.KeywordTypeSyntaxKind
146
+ switch t {
147
+ case "void":
148
+ kind = shimast.KindVoidKeyword
149
+ case "any":
150
+ kind = shimast.KindAnyKeyword
151
+ case "unknown":
152
+ kind = shimast.KindUnknownKeyword
153
+ case "boolean":
154
+ kind = shimast.KindBooleanKeyword
155
+ case "number":
156
+ kind = shimast.KindNumberKeyword
157
+ case "bigint":
158
+ kind = shimast.KindBigIntKeyword
159
+ default:
160
+ kind = shimast.KindStringKeyword
161
+ }
162
+ return typeFactory_factory.NewKeywordTypeNode(kind)
163
163
  }
@@ -9,28 +9,28 @@ var ValueFactory = valueFactoryNamespace{}
9
9
  var valueFactory_factory = shimast.NewNodeFactory(shimast.NodeFactoryHooks{})
10
10
 
11
11
  func (valueFactoryNamespace) NULL() *shimast.Node {
12
- return valueFactory_factory.NewKeywordExpression(shimast.KindNullKeyword)
12
+ return valueFactory_factory.NewKeywordExpression(shimast.KindNullKeyword)
13
13
  }
14
14
 
15
15
  func (valueFactoryNamespace) UNDEFINED() *shimast.Node {
16
- return valueFactory_factory.NewIdentifier("undefined")
16
+ return valueFactory_factory.NewIdentifier("undefined")
17
17
  }
18
18
 
19
19
  func (valueFactoryNamespace) BOOLEAN(value bool) *shimast.Node {
20
- if value {
21
- return valueFactory_factory.NewKeywordExpression(shimast.KindTrueKeyword)
22
- }
23
- return valueFactory_factory.NewKeywordExpression(shimast.KindFalseKeyword)
20
+ if value {
21
+ return valueFactory_factory.NewKeywordExpression(shimast.KindTrueKeyword)
22
+ }
23
+ return valueFactory_factory.NewKeywordExpression(shimast.KindFalseKeyword)
24
24
  }
25
25
 
26
26
  func (valueFactoryNamespace) INPUT(str ...string) *shimast.Node {
27
- name := "input"
28
- if len(str) != 0 {
29
- name = str[0]
30
- }
31
- return valueFactory_factory.NewIdentifier(name)
27
+ name := "input"
28
+ if len(str) != 0 {
29
+ name = str[0]
30
+ }
31
+ return valueFactory_factory.NewIdentifier(name)
32
32
  }
33
33
 
34
34
  func (valueFactoryNamespace) TYPEOF(input *shimast.Expression) *shimast.Node {
35
- return valueFactory_factory.NewTypeOfExpression(input)
35
+ return valueFactory_factory.NewTypeOfExpression(input)
36
36
  }