typia 13.0.0-dev.20260501 → 13.0.0-dev.20260506

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