typia 13.0.0-dev.20260430 → 13.0.0-dev.20260502-2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (364) hide show
  1. package/lib/executable/TypiaGenerateWizard.js +55 -8
  2. package/lib/executable/TypiaGenerateWizard.js.map +1 -1
  3. package/lib/executable/TypiaGenerateWizard2.mjs +55 -8
  4. package/lib/executable/TypiaGenerateWizard2.mjs.map +1 -1
  5. package/lib/executable/generate/ttsc.js.map +1 -1
  6. package/lib/executable/setup/PluginConfigurator.js.map +1 -1
  7. package/lib/internal/_randomInteger.js.map +1 -1
  8. package/lib/internal/_validateReport.js.map +1 -1
  9. package/lib/transform.d.ts +2 -13
  10. package/lib/transform.js +4 -11
  11. package/lib/transform.js.map +1 -1
  12. package/lib/transform2.mjs +6 -14
  13. package/lib/transform2.mjs.map +1 -1
  14. package/native/adapter/adapter.go +128 -128
  15. package/native/adapter/cleanup.go +155 -172
  16. package/native/adapter/imports.go +80 -80
  17. package/native/adapter/visit.go +142 -142
  18. package/native/cmd/ttsc-typia/build.go +223 -223
  19. package/native/cmd/ttsc-typia/main.go +57 -57
  20. package/native/cmd/ttsc-typia/transform.go +421 -254
  21. package/native/cmd/ttsc-typia/transform_test.go +40 -0
  22. package/native/core/context/IProgrammerProps.go +7 -7
  23. package/native/core/context/ITransformOptions.go +5 -5
  24. package/native/core/context/ITypiaContext.go +13 -13
  25. package/native/core/context/TransformerError.go +81 -81
  26. package/native/core/factories/CommentFactory.go +9 -9
  27. package/native/core/factories/ExpressionFactory.go +254 -254
  28. package/native/core/factories/FormatCheatSheet.go +23 -23
  29. package/native/core/factories/IdentifierFactory.go +130 -130
  30. package/native/core/factories/JsonMetadataFactory.go +129 -129
  31. package/native/core/factories/LiteralFactory.go +195 -182
  32. package/native/core/factories/MetadataCommentTagFactory.go +379 -379
  33. package/native/core/factories/MetadataFactory.go +462 -462
  34. package/native/core/factories/MetadataTypeTagFactory.go +498 -498
  35. package/native/core/factories/MetadataTypeTagSchemaFactory.go +102 -102
  36. package/native/core/factories/NumericRangeFactory.go +84 -84
  37. package/native/core/factories/ProtobufFactory.go +933 -933
  38. package/native/core/factories/StatementFactory.go +72 -72
  39. package/native/core/factories/TemplateFactory.go +57 -57
  40. package/native/core/factories/TypeFactory.go +125 -125
  41. package/native/core/factories/ValueFactory.go +12 -12
  42. package/native/core/factories/internal/metadata/IMetadataIteratorProps.go +35 -35
  43. package/native/core/factories/internal/metadata/MetadataHelper.go +176 -176
  44. package/native/core/factories/internal/metadata/emend_metadata_atomics.go +69 -69
  45. package/native/core/factories/internal/metadata/emplace_metadata_alias.go +27 -27
  46. package/native/core/factories/internal/metadata/emplace_metadata_array_type.go +33 -33
  47. package/native/core/factories/internal/metadata/emplace_metadata_object.go +209 -209
  48. package/native/core/factories/internal/metadata/emplace_metadata_tuple.go +50 -50
  49. package/native/core/factories/internal/metadata/explore_metadata.go +29 -29
  50. package/native/core/factories/internal/metadata/iterate_metadata.go +46 -46
  51. package/native/core/factories/internal/metadata/iterate_metadata_alias.go +25 -25
  52. package/native/core/factories/internal/metadata/iterate_metadata_array.go +65 -65
  53. package/native/core/factories/internal/metadata/iterate_metadata_atomic.go +49 -49
  54. package/native/core/factories/internal/metadata/iterate_metadata_coalesce.go +22 -22
  55. package/native/core/factories/internal/metadata/iterate_metadata_collection.go +228 -228
  56. package/native/core/factories/internal/metadata/iterate_metadata_comment_tags.go +12 -12
  57. package/native/core/factories/internal/metadata/iterate_metadata_constant.go +71 -71
  58. package/native/core/factories/internal/metadata/iterate_metadata_escape.go +48 -48
  59. package/native/core/factories/internal/metadata/iterate_metadata_function.go +82 -82
  60. package/native/core/factories/internal/metadata/iterate_metadata_intersection.go +319 -319
  61. package/native/core/factories/internal/metadata/iterate_metadata_map.go +51 -51
  62. package/native/core/factories/internal/metadata/iterate_metadata_native.go +85 -85
  63. package/native/core/factories/internal/metadata/iterate_metadata_object.go +27 -27
  64. package/native/core/factories/internal/metadata/iterate_metadata_set.go +37 -37
  65. package/native/core/factories/internal/metadata/iterate_metadata_sort.go +137 -137
  66. package/native/core/factories/internal/metadata/iterate_metadata_template.go +33 -33
  67. package/native/core/factories/internal/metadata/iterate_metadata_tuple.go +16 -16
  68. package/native/core/factories/internal/metadata/iterate_metadata_union.go +18 -18
  69. package/native/core/programmers/AssertProgrammer.go +389 -389
  70. package/native/core/programmers/ImportProgrammer.go +196 -196
  71. package/native/core/programmers/IsProgrammer.go +293 -293
  72. package/native/core/programmers/RandomProgrammer.go +1094 -1094
  73. package/native/core/programmers/ValidateProgrammer.go +369 -369
  74. package/native/core/programmers/functional/FunctionalAssertFunctionProgrammer.go +133 -133
  75. package/native/core/programmers/functional/FunctionalAssertParametersProgrammer.go +104 -104
  76. package/native/core/programmers/functional/FunctionalAssertReturnProgrammer.go +100 -100
  77. package/native/core/programmers/functional/FunctionalIsFunctionProgrammer.go +79 -79
  78. package/native/core/programmers/functional/FunctionalIsParametersProgrammer.go +159 -159
  79. package/native/core/programmers/functional/FunctionalIsReturnProgrammer.go +99 -99
  80. package/native/core/programmers/functional/FunctionalValidateFunctionProgrammer.go +138 -138
  81. package/native/core/programmers/functional/FunctionalValidateParametersProgrammer.go +222 -222
  82. package/native/core/programmers/functional/FunctionalValidateReturnProgrammer.go +116 -116
  83. package/native/core/programmers/functional/internal/FunctionalGeneralProgrammer.go +36 -36
  84. package/native/core/programmers/helpers/AtomicPredicator.go +35 -35
  85. package/native/core/programmers/helpers/CloneJoiner.go +217 -217
  86. package/native/core/programmers/helpers/FunctionProgrammer.go +79 -79
  87. package/native/core/programmers/helpers/HttpMetadataUtil.go +17 -17
  88. package/native/core/programmers/helpers/ICheckEntry.go +5 -5
  89. package/native/core/programmers/helpers/IExpressionEntry.go +6 -6
  90. package/native/core/programmers/helpers/NotationJoiner.go +159 -159
  91. package/native/core/programmers/helpers/OptionPredicator.go +4 -4
  92. package/native/core/programmers/helpers/ProtobufUtil.go +231 -231
  93. package/native/core/programmers/helpers/ProtobufWire.go +6 -6
  94. package/native/core/programmers/helpers/PruneJoiner.go +227 -227
  95. package/native/core/programmers/helpers/RandomJoiner.go +155 -155
  96. package/native/core/programmers/helpers/StringifyJoinder.go +331 -331
  97. package/native/core/programmers/helpers/StringifyPredicator.go +10 -10
  98. package/native/core/programmers/helpers/UnionExplorer.go +835 -835
  99. package/native/core/programmers/helpers/UnionPredicator.go +78 -78
  100. package/native/core/programmers/helpers/disable_function_programmer_declare.go +6 -6
  101. package/native/core/programmers/http/HttpAssertFormDataProgrammer.go +93 -93
  102. package/native/core/programmers/http/HttpAssertHeadersProgrammer.go +42 -42
  103. package/native/core/programmers/http/HttpAssertQueryProgrammer.go +51 -51
  104. package/native/core/programmers/http/HttpFormDataProgrammer.go +351 -351
  105. package/native/core/programmers/http/HttpHeadersProgrammer.go +370 -370
  106. package/native/core/programmers/http/HttpIsFormDataProgrammer.go +109 -109
  107. package/native/core/programmers/http/HttpIsHeadersProgrammer.go +36 -36
  108. package/native/core/programmers/http/HttpIsQueryProgrammer.go +45 -45
  109. package/native/core/programmers/http/HttpParameterProgrammer.go +158 -158
  110. package/native/core/programmers/http/HttpQueryProgrammer.go +422 -422
  111. package/native/core/programmers/http/HttpValidateFormDataProgrammer.go +87 -87
  112. package/native/core/programmers/http/HttpValidateHeadersProgrammer.go +39 -39
  113. package/native/core/programmers/http/HttpValidateQueryProgrammer.go +48 -48
  114. package/native/core/programmers/internal/CheckerProgrammer.go +1490 -1490
  115. package/native/core/programmers/internal/FeatureProgrammer.go +589 -589
  116. package/native/core/programmers/iterate/check_array_length.go +46 -46
  117. package/native/core/programmers/iterate/check_bigint.go +52 -52
  118. package/native/core/programmers/iterate/check_dynamic_key.go +220 -220
  119. package/native/core/programmers/iterate/check_dynamic_properties.go +245 -245
  120. package/native/core/programmers/iterate/check_everything.go +21 -21
  121. package/native/core/programmers/iterate/check_native.go +25 -25
  122. package/native/core/programmers/iterate/check_number.go +135 -135
  123. package/native/core/programmers/iterate/check_object.go +66 -66
  124. package/native/core/programmers/iterate/check_string.go +52 -52
  125. package/native/core/programmers/iterate/check_template.go +57 -57
  126. package/native/core/programmers/iterate/check_union_array_like.go +372 -372
  127. package/native/core/programmers/iterate/decode_union_object.go +118 -118
  128. package/native/core/programmers/iterate/feature_object_entries.go +134 -134
  129. package/native/core/programmers/iterate/json_schema_alias.go +52 -52
  130. package/native/core/programmers/iterate/json_schema_array.go +52 -52
  131. package/native/core/programmers/iterate/json_schema_bigint.go +8 -8
  132. package/native/core/programmers/iterate/json_schema_boolean.go +8 -8
  133. package/native/core/programmers/iterate/json_schema_constant.go +38 -38
  134. package/native/core/programmers/iterate/json_schema_description.go +12 -12
  135. package/native/core/programmers/iterate/json_schema_discriminator.go +47 -47
  136. package/native/core/programmers/iterate/json_schema_escaped.go +58 -58
  137. package/native/core/programmers/iterate/json_schema_jsDocTags.go +34 -34
  138. package/native/core/programmers/iterate/json_schema_native.go +43 -43
  139. package/native/core/programmers/iterate/json_schema_number.go +8 -8
  140. package/native/core/programmers/iterate/json_schema_object.go +149 -149
  141. package/native/core/programmers/iterate/json_schema_plugin.go +35 -35
  142. package/native/core/programmers/iterate/json_schema_station.go +211 -211
  143. package/native/core/programmers/iterate/json_schema_string.go +8 -8
  144. package/native/core/programmers/iterate/json_schema_template.go +53 -53
  145. package/native/core/programmers/iterate/json_schema_title.go +16 -16
  146. package/native/core/programmers/iterate/json_schema_tuple.go +34 -34
  147. package/native/core/programmers/iterate/metadata_to_pattern.go +53 -53
  148. package/native/core/programmers/iterate/postfix_of_tuple.go +5 -5
  149. package/native/core/programmers/iterate/prune_object_properties.go +85 -85
  150. package/native/core/programmers/iterate/stringify_dynamic_properties.go +193 -193
  151. package/native/core/programmers/iterate/stringify_native.go +1 -1
  152. package/native/core/programmers/iterate/stringify_regular_properties.go +84 -84
  153. package/native/core/programmers/iterate/template_to_pattern.go +20 -20
  154. package/native/core/programmers/iterate/wrap_metadata_rest_tuple.go +13 -13
  155. package/native/core/programmers/json/JsonApplicationProgrammer.go +323 -323
  156. package/native/core/programmers/json/JsonAssertParseProgrammer.go +100 -100
  157. package/native/core/programmers/json/JsonAssertStringifyProgrammer.go +88 -88
  158. package/native/core/programmers/json/JsonIsParseProgrammer.go +130 -130
  159. package/native/core/programmers/json/JsonIsStringifyProgrammer.go +92 -92
  160. package/native/core/programmers/json/JsonSchemaProgrammer.go +65 -65
  161. package/native/core/programmers/json/JsonSchemasProgrammer.go +116 -116
  162. package/native/core/programmers/json/JsonStringifyProgrammer.go +1245 -1245
  163. package/native/core/programmers/json/JsonValidateParseProgrammer.go +89 -89
  164. package/native/core/programmers/json/JsonValidateStringifyProgrammer.go +106 -106
  165. package/native/core/programmers/llm/LlmApplicationProgrammer.go +449 -437
  166. package/native/core/programmers/llm/LlmCoerceProgrammer.go +79 -79
  167. package/native/core/programmers/llm/LlmControllerProgrammer.go +35 -35
  168. package/native/core/programmers/llm/LlmMetadataFactory.go +74 -74
  169. package/native/core/programmers/llm/LlmParametersProgrammer.go +105 -132
  170. package/native/core/programmers/llm/LlmParseProgrammer.go +88 -88
  171. package/native/core/programmers/llm/LlmSchemaProgrammer.go +780 -423
  172. package/native/core/programmers/llm/LlmStructuredOutputProgrammer.go +123 -123
  173. package/native/core/programmers/misc/MiscAssertCloneProgrammer.go +82 -82
  174. package/native/core/programmers/misc/MiscAssertPruneProgrammer.go +97 -97
  175. package/native/core/programmers/misc/MiscCloneProgrammer.go +1056 -1056
  176. package/native/core/programmers/misc/MiscIsCloneProgrammer.go +94 -94
  177. package/native/core/programmers/misc/MiscIsPruneProgrammer.go +86 -86
  178. package/native/core/programmers/misc/MiscLiteralsProgrammer.go +99 -99
  179. package/native/core/programmers/misc/MiscPruneProgrammer.go +700 -700
  180. package/native/core/programmers/misc/MiscValidateCloneProgrammer.go +103 -103
  181. package/native/core/programmers/misc/MiscValidatePruneProgrammer.go +94 -94
  182. package/native/core/programmers/notations/NotationAssertGeneralProgrammer.go +85 -85
  183. package/native/core/programmers/notations/NotationGeneralProgrammer.go +1188 -1188
  184. package/native/core/programmers/notations/NotationIsGeneralProgrammer.go +90 -90
  185. package/native/core/programmers/notations/NotationValidateGeneralProgrammer.go +109 -109
  186. package/native/core/programmers/protobuf/ProtobufAssertDecodeProgrammer.go +99 -99
  187. package/native/core/programmers/protobuf/ProtobufAssertEncodeProgrammer.go +114 -114
  188. package/native/core/programmers/protobuf/ProtobufDecodeProgrammer.go +697 -697
  189. package/native/core/programmers/protobuf/ProtobufEncodeProgrammer.go +1039 -1039
  190. package/native/core/programmers/protobuf/ProtobufIsDecodeProgrammer.go +99 -99
  191. package/native/core/programmers/protobuf/ProtobufIsEncodeProgrammer.go +93 -93
  192. package/native/core/programmers/protobuf/ProtobufMessageProgrammer.go +228 -228
  193. package/native/core/programmers/protobuf/ProtobufValidateDecodeProgrammer.go +88 -88
  194. package/native/core/programmers/protobuf/ProtobufValidateEncodeProgrammer.go +120 -120
  195. package/native/core/schemas/metadata/IMetadataDictionary.go +4 -4
  196. package/native/core/schemas/metadata/MetadataAlias.go +15 -15
  197. package/native/core/schemas/metadata/MetadataAliasType.go +36 -36
  198. package/native/core/schemas/metadata/MetadataApplication.go +25 -25
  199. package/native/core/schemas/metadata/MetadataArray.go +15 -15
  200. package/native/core/schemas/metadata/MetadataArrayType.go +31 -31
  201. package/native/core/schemas/metadata/MetadataAtomic.go +45 -45
  202. package/native/core/schemas/metadata/MetadataCollection.go +380 -380
  203. package/native/core/schemas/metadata/MetadataComponents.go +95 -95
  204. package/native/core/schemas/metadata/MetadataConstant.go +31 -31
  205. package/native/core/schemas/metadata/MetadataConstantValue.go +63 -63
  206. package/native/core/schemas/metadata/MetadataEscaped.go +17 -17
  207. package/native/core/schemas/metadata/MetadataFunction.go +30 -30
  208. package/native/core/schemas/metadata/MetadataMap.go +21 -21
  209. package/native/core/schemas/metadata/MetadataNative.go +48 -48
  210. package/native/core/schemas/metadata/MetadataObject.go +15 -15
  211. package/native/core/schemas/metadata/MetadataObjectType.go +116 -116
  212. package/native/core/schemas/metadata/MetadataParameter.go +28 -28
  213. package/native/core/schemas/metadata/MetadataProperty.go +32 -32
  214. package/native/core/schemas/metadata/MetadataSchema.go +766 -766
  215. package/native/core/schemas/metadata/MetadataSet.go +17 -17
  216. package/native/core/schemas/metadata/MetadataTemplate.go +43 -43
  217. package/native/core/schemas/metadata/MetadataTuple.go +10 -10
  218. package/native/core/schemas/metadata/MetadataTupleType.go +38 -38
  219. package/native/core/schemas/protobuf/IProtobufProperty.go +2 -2
  220. package/native/core/schemas/protobuf/IProtobufPropertyType.go +18 -18
  221. package/native/core/schemas/protobuf/IProtobufSchema.go +17 -17
  222. package/native/core/typings/Writable.go +1 -1
  223. package/native/core/utils/PatternUtil.go +38 -38
  224. package/native/core/utils/ProtobufNameEncoder.go +28 -28
  225. package/native/shim/printer/shim.go +213 -213
  226. package/native/third_party/ttsc/driver/host.go +7 -7
  227. package/native/third_party/ttsc/driver/program.go +275 -275
  228. package/native/third_party/ttsc/driver/rewrite.go +219 -219
  229. package/native/third_party/ttsc/shim/ast/lint.go +171 -171
  230. package/native/third_party/ttsc/shim/ast/shim.go +83 -83
  231. package/native/third_party/ttsc/shim/bundled/shim.go +5 -1
  232. package/native/third_party/ttsc/shim/checker/shim.go +79 -79
  233. package/native/third_party/ttsc/shim/compiler/shim.go +16 -1
  234. package/native/third_party/ttsc/shim/core/shim.go +10 -10
  235. package/native/third_party/ttsc/shim/diagnosticwriter/lint.go +79 -79
  236. package/native/third_party/ttsc/shim/diagnosticwriter/shim.go +19 -19
  237. package/native/third_party/ttsc/shim/parser/shim.go +7 -1
  238. package/native/third_party/ttsc/shim/scanner/shim.go +39 -1
  239. package/native/third_party/ttsc/shim/tsoptions/shim.go +51 -1
  240. package/native/third_party/ttsc/shim/tspath/shim.go +72 -1
  241. package/native/third_party/ttsc/shim/vfs/cachedvfs/shim.go +1 -1
  242. package/native/third_party/ttsc/shim/vfs/osvfs/shim.go +1 -1
  243. package/native/third_party/ttsc/shim/vfs/shim.go +4 -1
  244. package/native/transform/CallExpressionTransformer.go +556 -556
  245. package/native/transform/FileTransformer.go +123 -123
  246. package/native/transform/ImportTransformer.go +224 -224
  247. package/native/transform/NodeTransformer.go +11 -11
  248. package/native/transform/TypiaGenerator.go +136 -136
  249. package/native/transform/features/AssertTransformer.go +28 -28
  250. package/native/transform/features/CreateAssertTransformer.go +28 -28
  251. package/native/transform/features/CreateIsTransformer.go +24 -24
  252. package/native/transform/features/CreateRandomTransformer.go +35 -35
  253. package/native/transform/features/CreateValidateTransformer.go +24 -24
  254. package/native/transform/features/IsTransformer.go +24 -24
  255. package/native/transform/features/RandomTransformer.go +37 -37
  256. package/native/transform/features/ValidateTransformer.go +24 -24
  257. package/native/transform/features/functional/FunctionalGenericTransformer.go +48 -48
  258. package/native/transform/features/http/CreateHttpAssertFormDataTransformer.go +11 -11
  259. package/native/transform/features/http/CreateHttpAssertHeadersTransformer.go +11 -11
  260. package/native/transform/features/http/CreateHttpAssertQueryTransformer.go +17 -17
  261. package/native/transform/features/http/CreateHttpFormDataTransformer.go +11 -11
  262. package/native/transform/features/http/CreateHttpHeadersTransformer.go +11 -11
  263. package/native/transform/features/http/CreateHttpIsFormDataTransformer.go +11 -11
  264. package/native/transform/features/http/CreateHttpIsHeadersTransformer.go +11 -11
  265. package/native/transform/features/http/CreateHttpIsQueryTransformer.go +17 -17
  266. package/native/transform/features/http/CreateHttpParameterTransformer.go +11 -11
  267. package/native/transform/features/http/CreateHttpQueryTransformer.go +17 -17
  268. package/native/transform/features/http/CreateHttpValidateFormDataTransformer.go +11 -11
  269. package/native/transform/features/http/CreateHttpValidateHeadersTransformer.go +11 -11
  270. package/native/transform/features/http/CreateHttpValidateQueryTransformer.go +17 -17
  271. package/native/transform/features/http/HttpAssertFormDataTransformer.go +11 -11
  272. package/native/transform/features/http/HttpAssertHeadersTransformer.go +11 -11
  273. package/native/transform/features/http/HttpAssertQueryTransformer.go +17 -17
  274. package/native/transform/features/http/HttpFormDataTransformer.go +11 -11
  275. package/native/transform/features/http/HttpHeadersTransformer.go +11 -11
  276. package/native/transform/features/http/HttpIsFormDataTransformer.go +11 -11
  277. package/native/transform/features/http/HttpIsHeadersTransformer.go +11 -11
  278. package/native/transform/features/http/HttpIsQueryTransformer.go +17 -17
  279. package/native/transform/features/http/HttpParameterTransformer.go +11 -11
  280. package/native/transform/features/http/HttpQueryTransformer.go +17 -17
  281. package/native/transform/features/http/HttpValidateFormDataTransformer.go +11 -11
  282. package/native/transform/features/http/HttpValidateHeadersTransformer.go +11 -11
  283. package/native/transform/features/http/HttpValidateQueryTransformer.go +17 -17
  284. package/native/transform/features/json/JsonApplicationTransformer.go +61 -61
  285. package/native/transform/features/json/JsonAssertParseTransformer.go +11 -11
  286. package/native/transform/features/json/JsonAssertStringifyTransformer.go +11 -11
  287. package/native/transform/features/json/JsonCreateAssertParseTransformer.go +11 -11
  288. package/native/transform/features/json/JsonCreateAssertStringifyTransformer.go +11 -11
  289. package/native/transform/features/json/JsonCreateIsParseTransformer.go +11 -11
  290. package/native/transform/features/json/JsonCreateIsStringifyTransformer.go +11 -11
  291. package/native/transform/features/json/JsonCreateStringifyTransformer.go +11 -11
  292. package/native/transform/features/json/JsonCreateValidateParseTransformer.go +11 -11
  293. package/native/transform/features/json/JsonCreateValidateStringifyProgrammer.go +11 -11
  294. package/native/transform/features/json/JsonIsParseTransformer.go +11 -11
  295. package/native/transform/features/json/JsonIsStringifyTransformer.go +11 -11
  296. package/native/transform/features/json/JsonSchemaTransformer.go +148 -148
  297. package/native/transform/features/json/JsonSchemasTransformer.go +94 -94
  298. package/native/transform/features/json/JsonStringifyTransformer.go +11 -11
  299. package/native/transform/features/json/JsonValidateParseTransformer.go +11 -11
  300. package/native/transform/features/json/JsonValidateStringifyTransformer.go +11 -11
  301. package/native/transform/features/llm/LlmApplicationTransformer.go +43 -43
  302. package/native/transform/features/llm/LlmCoerceTransformer.go +50 -50
  303. package/native/transform/features/llm/LlmControllerTransformer.go +48 -48
  304. package/native/transform/features/llm/LlmCreateCoerceTransformer.go +43 -43
  305. package/native/transform/features/llm/LlmCreateParseTransformer.go +43 -43
  306. package/native/transform/features/llm/LlmParametersTransformer.go +38 -38
  307. package/native/transform/features/llm/LlmParseTransformer.go +50 -50
  308. package/native/transform/features/llm/LlmSchemaTransformer.go +129 -129
  309. package/native/transform/features/llm/LlmStructuredOutputTransformer.go +44 -44
  310. package/native/transform/features/misc/MiscAssertCloneTransformer.go +11 -11
  311. package/native/transform/features/misc/MiscAssertPruneTransformer.go +11 -11
  312. package/native/transform/features/misc/MiscCloneTransformer.go +11 -11
  313. package/native/transform/features/misc/MiscCreateAssertCloneTransformer.go +11 -11
  314. package/native/transform/features/misc/MiscCreateAssertPruneTransformer.go +11 -11
  315. package/native/transform/features/misc/MiscCreateCloneTransformer.go +11 -11
  316. package/native/transform/features/misc/MiscCreateIsCloneTransformer.go +11 -11
  317. package/native/transform/features/misc/MiscCreateIsPruneTransformer.go +11 -11
  318. package/native/transform/features/misc/MiscCreatePruneTransformer.go +11 -11
  319. package/native/transform/features/misc/MiscCreateValidateCloneTransformer.go +11 -11
  320. package/native/transform/features/misc/MiscCreateValidatePruneTransformer.go +11 -11
  321. package/native/transform/features/misc/MiscIsCloneTransformer.go +11 -11
  322. package/native/transform/features/misc/MiscIsPruneTransformer.go +11 -11
  323. package/native/transform/features/misc/MiscLiteralsTransformer.go +21 -21
  324. package/native/transform/features/misc/MiscPruneTransformer.go +11 -11
  325. package/native/transform/features/misc/MiscValidateCloneTransformer.go +11 -11
  326. package/native/transform/features/misc/MiscValidatePruneTransformer.go +11 -11
  327. package/native/transform/features/notations/NotationAssertGeneralTransformer.go +16 -16
  328. package/native/transform/features/notations/NotationCreateAssertGeneralTransformer.go +16 -16
  329. package/native/transform/features/notations/NotationCreateGeneralTransformer.go +16 -16
  330. package/native/transform/features/notations/NotationCreateIsGeneralTransformer.go +16 -16
  331. package/native/transform/features/notations/NotationCreateValidateGeneralTransformer.go +16 -16
  332. package/native/transform/features/notations/NotationGeneralTransformer.go +21 -21
  333. package/native/transform/features/notations/NotationIsGeneralTransformer.go +16 -16
  334. package/native/transform/features/notations/NotationValidateGeneralTransformer.go +16 -16
  335. package/native/transform/features/protobuf/ProtobufAssertDecodeTransformer.go +11 -11
  336. package/native/transform/features/protobuf/ProtobufAssertEncodeTransformer.go +11 -11
  337. package/native/transform/features/protobuf/ProtobufCreateAssertDecodeTransformer.go +11 -11
  338. package/native/transform/features/protobuf/ProtobufCreateAssertEncodeTransformer.go +11 -11
  339. package/native/transform/features/protobuf/ProtobufCreateDecodeTransformer.go +11 -11
  340. package/native/transform/features/protobuf/ProtobufCreateEncodeTransformer.go +11 -11
  341. package/native/transform/features/protobuf/ProtobufCreateIsDecodeTransformer.go +11 -11
  342. package/native/transform/features/protobuf/ProtobufCreateIsEncodeTransformer.go +11 -11
  343. package/native/transform/features/protobuf/ProtobufCreateValidateDecodeTransformer.go +11 -11
  344. package/native/transform/features/protobuf/ProtobufCreateValidateEncodeTransformer.go +11 -11
  345. package/native/transform/features/protobuf/ProtobufDecodeTransformer.go +11 -11
  346. package/native/transform/features/protobuf/ProtobufEncodeTransformer.go +11 -11
  347. package/native/transform/features/protobuf/ProtobufIsDecodeTransformer.go +11 -11
  348. package/native/transform/features/protobuf/ProtobufIsEncodeTransformer.go +11 -11
  349. package/native/transform/features/protobuf/ProtobufMessageTransformer.go +20 -20
  350. package/native/transform/features/protobuf/ProtobufValidateDecodeTransformer.go +11 -11
  351. package/native/transform/features/protobuf/ProtobufValidateEncodeTransformer.go +11 -11
  352. package/native/transform/features/reflect/ReflectMetadataTransformer.go +59 -59
  353. package/native/transform/features/reflect/ReflectNameTransformer.go +78 -78
  354. package/native/transform/features/reflect/ReflectSchemaTransformer.go +121 -121
  355. package/native/transform/features/reflect/ReflectSchemasTransformer.go +55 -55
  356. package/native/transform/internal/GenericTransformer.go +173 -173
  357. package/native/transform/transform.go +32 -32
  358. package/package.json +4 -4
  359. package/src/executable/TypiaGenerateWizard.ts +78 -9
  360. package/src/executable/generate/ttsc.ts +2 -3
  361. package/src/executable/setup/PluginConfigurator.ts +2 -3
  362. package/src/internal/_randomInteger.ts +5 -5
  363. package/src/internal/_validateReport.ts +1 -2
  364. package/src/transform.ts +6 -11
@@ -1,490 +1,490 @@
1
1
  package metadata
2
2
 
3
3
  import (
4
- "strings"
4
+ "strings"
5
5
 
6
- nativeast "github.com/microsoft/typescript-go/shim/ast"
7
- nativechecker "github.com/microsoft/typescript-go/shim/checker"
6
+ nativeast "github.com/microsoft/typescript-go/shim/ast"
7
+ nativechecker "github.com/microsoft/typescript-go/shim/checker"
8
8
  )
9
9
 
10
10
  type MetadataCollection_IOptions struct {
11
- Replace func(str string) string
11
+ Replace func(str string) string
12
12
  }
13
13
 
14
14
  type MetadataCollection struct {
15
- Options *MetadataCollection_IOptions
15
+ Options *MetadataCollection_IOptions
16
16
 
17
- objects_ map[*nativechecker.Type]*MetadataObjectType
18
- object_unions_ map[string][]*MetadataObjectType
19
- aliases_ map[*nativechecker.Type]*MetadataAliasType
20
- arrays_ map[*nativechecker.Type]*MetadataArrayType
21
- tuples_ map[*nativechecker.Type]*MetadataTupleType
17
+ objects_ map[*nativechecker.Type]*MetadataObjectType
18
+ object_unions_ map[string][]*MetadataObjectType
19
+ aliases_ map[*nativechecker.Type]*MetadataAliasType
20
+ arrays_ map[*nativechecker.Type]*MetadataArrayType
21
+ tuples_ map[*nativechecker.Type]*MetadataTupleType
22
22
 
23
- objects_order_ []*nativechecker.Type
24
- object_unions_order_ []string
25
- aliases_order_ []*nativechecker.Type
26
- arrays_order_ []*nativechecker.Type
27
- tuples_order_ []*nativechecker.Type
23
+ objects_order_ []*nativechecker.Type
24
+ object_unions_order_ []string
25
+ aliases_order_ []*nativechecker.Type
26
+ arrays_order_ []*nativechecker.Type
27
+ tuples_order_ []*nativechecker.Type
28
28
 
29
- names_ map[string]map[*nativechecker.Type]string
30
- object_index_ int
31
- recursive_array_index_ int
32
- recursive_tuple_index_ int
29
+ names_ map[string]map[*nativechecker.Type]string
30
+ object_index_ int
31
+ recursive_array_index_ int
32
+ recursive_tuple_index_ int
33
33
  }
34
34
 
35
35
  func NewMetadataCollection(options ...*MetadataCollection_IOptions) *MetadataCollection {
36
- var opt *MetadataCollection_IOptions
37
- if len(options) > 0 {
38
- opt = options[0]
39
- }
40
- return &MetadataCollection{
41
- Options: opt,
42
-
43
- objects_: map[*nativechecker.Type]*MetadataObjectType{},
44
- object_unions_: map[string][]*MetadataObjectType{},
45
- aliases_: map[*nativechecker.Type]*MetadataAliasType{},
46
- arrays_: map[*nativechecker.Type]*MetadataArrayType{},
47
- tuples_: map[*nativechecker.Type]*MetadataTupleType{},
48
-
49
- objects_order_: []*nativechecker.Type{},
50
- object_unions_order_: []string{},
51
- aliases_order_: []*nativechecker.Type{},
52
- arrays_order_: []*nativechecker.Type{},
53
- tuples_order_: []*nativechecker.Type{},
54
-
55
- names_: map[string]map[*nativechecker.Type]string{},
56
- object_index_: 0,
57
- recursive_array_index_: 0,
58
- recursive_tuple_index_: 0,
59
- }
36
+ var opt *MetadataCollection_IOptions
37
+ if len(options) > 0 {
38
+ opt = options[0]
39
+ }
40
+ return &MetadataCollection{
41
+ Options: opt,
42
+
43
+ objects_: map[*nativechecker.Type]*MetadataObjectType{},
44
+ object_unions_: map[string][]*MetadataObjectType{},
45
+ aliases_: map[*nativechecker.Type]*MetadataAliasType{},
46
+ arrays_: map[*nativechecker.Type]*MetadataArrayType{},
47
+ tuples_: map[*nativechecker.Type]*MetadataTupleType{},
48
+
49
+ objects_order_: []*nativechecker.Type{},
50
+ object_unions_order_: []string{},
51
+ aliases_order_: []*nativechecker.Type{},
52
+ arrays_order_: []*nativechecker.Type{},
53
+ tuples_order_: []*nativechecker.Type{},
54
+
55
+ names_: map[string]map[*nativechecker.Type]string{},
56
+ object_index_: 0,
57
+ recursive_array_index_: 0,
58
+ recursive_tuple_index_: 0,
59
+ }
60
60
  }
61
61
 
62
62
  func (collection *MetadataCollection) Clone() *MetadataCollection {
63
- output := NewMetadataCollection(collection.Options)
64
- for k, v := range collection.objects_ {
65
- output.objects_[k] = v
66
- }
67
- for k, v := range collection.object_unions_ {
68
- output.object_unions_[k] = append([]*MetadataObjectType{}, v...)
69
- }
70
- for k, v := range collection.aliases_ {
71
- output.aliases_[k] = v
72
- }
73
- for k, v := range collection.arrays_ {
74
- output.arrays_[k] = v
75
- }
76
- for k, v := range collection.tuples_ {
77
- output.tuples_[k] = v
78
- }
79
- output.objects_order_ = append([]*nativechecker.Type{}, collection.objects_order_...)
80
- output.object_unions_order_ = append([]string{}, collection.object_unions_order_...)
81
- output.aliases_order_ = append([]*nativechecker.Type{}, collection.aliases_order_...)
82
- output.arrays_order_ = append([]*nativechecker.Type{}, collection.arrays_order_...)
83
- output.tuples_order_ = append([]*nativechecker.Type{}, collection.tuples_order_...)
84
- for k, v := range collection.names_ {
85
- duplicates := map[*nativechecker.Type]string{}
86
- for kt, vt := range v {
87
- duplicates[kt] = vt
88
- }
89
- output.names_[k] = duplicates
90
- }
91
- output.object_index_ = collection.object_index_
92
- output.recursive_array_index_ = collection.recursive_array_index_
93
- output.recursive_tuple_index_ = collection.recursive_tuple_index_
94
- return output
63
+ output := NewMetadataCollection(collection.Options)
64
+ for k, v := range collection.objects_ {
65
+ output.objects_[k] = v
66
+ }
67
+ for k, v := range collection.object_unions_ {
68
+ output.object_unions_[k] = append([]*MetadataObjectType{}, v...)
69
+ }
70
+ for k, v := range collection.aliases_ {
71
+ output.aliases_[k] = v
72
+ }
73
+ for k, v := range collection.arrays_ {
74
+ output.arrays_[k] = v
75
+ }
76
+ for k, v := range collection.tuples_ {
77
+ output.tuples_[k] = v
78
+ }
79
+ output.objects_order_ = append([]*nativechecker.Type{}, collection.objects_order_...)
80
+ output.object_unions_order_ = append([]string{}, collection.object_unions_order_...)
81
+ output.aliases_order_ = append([]*nativechecker.Type{}, collection.aliases_order_...)
82
+ output.arrays_order_ = append([]*nativechecker.Type{}, collection.arrays_order_...)
83
+ output.tuples_order_ = append([]*nativechecker.Type{}, collection.tuples_order_...)
84
+ for k, v := range collection.names_ {
85
+ duplicates := map[*nativechecker.Type]string{}
86
+ for kt, vt := range v {
87
+ duplicates[kt] = vt
88
+ }
89
+ output.names_[k] = duplicates
90
+ }
91
+ output.object_index_ = collection.object_index_
92
+ output.recursive_array_index_ = collection.recursive_array_index_
93
+ output.recursive_tuple_index_ = collection.recursive_tuple_index_
94
+ return output
95
95
  }
96
96
 
97
97
  func (collection *MetadataCollection) Aliases() []*MetadataAliasType {
98
- output := make([]*MetadataAliasType, 0, len(collection.aliases_))
99
- for _, key := range collection.aliases_order_ {
100
- if value := collection.aliases_[key]; value != nil {
101
- output = append(output, value)
102
- }
103
- }
104
- return output
98
+ output := make([]*MetadataAliasType, 0, len(collection.aliases_))
99
+ for _, key := range collection.aliases_order_ {
100
+ if value := collection.aliases_[key]; value != nil {
101
+ output = append(output, value)
102
+ }
103
+ }
104
+ return output
105
105
  }
106
106
 
107
107
  func (collection *MetadataCollection) Objects() []*MetadataObjectType {
108
- output := make([]*MetadataObjectType, 0, len(collection.objects_))
109
- for _, key := range collection.objects_order_ {
110
- if value := collection.objects_[key]; value != nil {
111
- output = append(output, value)
112
- }
113
- }
114
- return output
108
+ output := make([]*MetadataObjectType, 0, len(collection.objects_))
109
+ for _, key := range collection.objects_order_ {
110
+ if value := collection.objects_[key]; value != nil {
111
+ output = append(output, value)
112
+ }
113
+ }
114
+ return output
115
115
  }
116
116
 
117
117
  func (collection *MetadataCollection) Unions() [][]*MetadataObjectType {
118
- output := make([][]*MetadataObjectType, 0, len(collection.object_unions_))
119
- for _, key := range collection.object_unions_order_ {
120
- if value := collection.object_unions_[key]; value != nil {
121
- output = append(output, value)
122
- }
123
- }
124
- return output
118
+ output := make([][]*MetadataObjectType, 0, len(collection.object_unions_))
119
+ for _, key := range collection.object_unions_order_ {
120
+ if value := collection.object_unions_[key]; value != nil {
121
+ output = append(output, value)
122
+ }
123
+ }
124
+ return output
125
125
  }
126
126
 
127
127
  func (collection *MetadataCollection) Arrays() []*MetadataArrayType {
128
- output := make([]*MetadataArrayType, 0, len(collection.arrays_))
129
- for _, key := range collection.arrays_order_ {
130
- if value := collection.arrays_[key]; value != nil {
131
- output = append(output, value)
132
- }
133
- }
134
- return output
128
+ output := make([]*MetadataArrayType, 0, len(collection.arrays_))
129
+ for _, key := range collection.arrays_order_ {
130
+ if value := collection.arrays_[key]; value != nil {
131
+ output = append(output, value)
132
+ }
133
+ }
134
+ return output
135
135
  }
136
136
 
137
137
  func (collection *MetadataCollection) Tuples() []*MetadataTupleType {
138
- output := make([]*MetadataTupleType, 0, len(collection.tuples_))
139
- for _, key := range collection.tuples_order_ {
140
- if value := collection.tuples_[key]; value != nil {
141
- output = append(output, value)
142
- }
143
- }
144
- return output
138
+ output := make([]*MetadataTupleType, 0, len(collection.tuples_))
139
+ for _, key := range collection.tuples_order_ {
140
+ if value := collection.tuples_[key]; value != nil {
141
+ output = append(output, value)
142
+ }
143
+ }
144
+ return output
145
145
  }
146
146
 
147
147
  func (collection *MetadataCollection) getName(checker *nativechecker.Checker, typ *nativechecker.Type) string {
148
- name := metadataCollection_getFullName(checker, typ)
149
- name = strings.ToValidUTF8(name, "__")
150
- name = strings.ReplaceAll(name, "\uFFFD", "__")
151
- if collection.Options != nil && collection.Options.Replace != nil {
152
- name = collection.Options.Replace(name)
153
- }
154
- duplicates := collection.names_[name]
155
- if duplicates == nil {
156
- duplicates = map[*nativechecker.Type]string{}
157
- collection.names_[name] = duplicates
158
- }
159
- if oldbie, ok := duplicates[typ]; ok {
160
- return oldbie
161
- }
162
- addicted := name
163
- if len(duplicates) != 0 {
164
- addicted = name + ".o" + metadataCollection_itoa(len(duplicates))
165
- }
166
- duplicates[typ] = addicted
167
- return addicted
148
+ name := metadataCollection_getFullName(checker, typ)
149
+ name = strings.ToValidUTF8(name, "__")
150
+ name = strings.ReplaceAll(name, "\uFFFD", "__")
151
+ if collection.Options != nil && collection.Options.Replace != nil {
152
+ name = collection.Options.Replace(name)
153
+ }
154
+ duplicates := collection.names_[name]
155
+ if duplicates == nil {
156
+ duplicates = map[*nativechecker.Type]string{}
157
+ collection.names_[name] = duplicates
158
+ }
159
+ if oldbie, ok := duplicates[typ]; ok {
160
+ return oldbie
161
+ }
162
+ addicted := name
163
+ if len(duplicates) != 0 {
164
+ addicted = name + ".o" + metadataCollection_itoa(len(duplicates))
165
+ }
166
+ duplicates[typ] = addicted
167
+ return addicted
168
168
  }
169
169
 
170
170
  func (collection *MetadataCollection) GetUnionIndex(meta *MetadataSchema) int {
171
- names := make([]string, 0, len(meta.Objects))
172
- for _, obj := range meta.Objects {
173
- names = append(names, obj.Type.Name)
174
- }
175
- key := strings.Join(names, " | ")
176
- if _, ok := collection.object_unions_[key]; ok == false {
177
- values := make([]*MetadataObjectType, 0, len(meta.Objects))
178
- for _, obj := range meta.Objects {
179
- values = append(values, obj.Type)
180
- }
181
- collection.object_unions_[key] = values
182
- collection.object_unions_order_ = append(collection.object_unions_order_, key)
183
- }
184
- for index, candidate := range collection.object_unions_order_ {
185
- if candidate == key {
186
- return index
187
- }
188
- }
189
- return -1
171
+ names := make([]string, 0, len(meta.Objects))
172
+ for _, obj := range meta.Objects {
173
+ names = append(names, obj.Type.Name)
174
+ }
175
+ key := strings.Join(names, " | ")
176
+ if _, ok := collection.object_unions_[key]; ok == false {
177
+ values := make([]*MetadataObjectType, 0, len(meta.Objects))
178
+ for _, obj := range meta.Objects {
179
+ values = append(values, obj.Type)
180
+ }
181
+ collection.object_unions_[key] = values
182
+ collection.object_unions_order_ = append(collection.object_unions_order_, key)
183
+ }
184
+ for index, candidate := range collection.object_unions_order_ {
185
+ if candidate == key {
186
+ return index
187
+ }
188
+ }
189
+ return -1
190
190
  }
191
191
 
192
192
  func (collection *MetadataCollection) Emplace(checker *nativechecker.Checker, typ *nativechecker.Type) (*MetadataObjectType, bool) {
193
- if oldbie := collection.objects_[typ]; oldbie != nil {
194
- return oldbie, false
195
- }
196
- id := collection.getName(checker, typ)
197
- obj := MetadataObjectType_create(MetadataObjectType{
198
- Name: id,
199
- Properties: []*MetadataProperty{},
200
- Description: metadataCollection_description(metadataCollection_symbol(typ)),
201
- JsDocTags: metadataCollection_jsDocTags(metadataCollection_symbol(typ)),
202
- Validated: false,
203
- Index: collection.object_index_,
204
- Recursive: false,
205
- Nullables: []bool{},
206
- })
207
- collection.object_index_++
208
- collection.objects_[typ] = obj
209
- collection.objects_order_ = append(collection.objects_order_, typ)
210
- return obj, true
193
+ if oldbie := collection.objects_[typ]; oldbie != nil {
194
+ return oldbie, false
195
+ }
196
+ id := collection.getName(checker, typ)
197
+ obj := MetadataObjectType_create(MetadataObjectType{
198
+ Name: id,
199
+ Properties: []*MetadataProperty{},
200
+ Description: metadataCollection_description(metadataCollection_symbol(typ)),
201
+ JsDocTags: metadataCollection_jsDocTags(metadataCollection_symbol(typ)),
202
+ Validated: false,
203
+ Index: collection.object_index_,
204
+ Recursive: false,
205
+ Nullables: []bool{},
206
+ })
207
+ collection.object_index_++
208
+ collection.objects_[typ] = obj
209
+ collection.objects_order_ = append(collection.objects_order_, typ)
210
+ return obj, true
211
211
  }
212
212
 
213
213
  func (collection *MetadataCollection) EmplaceAlias(
214
- checker *nativechecker.Checker,
215
- typ *nativechecker.Type,
216
- symbol *nativeast.Symbol,
214
+ checker *nativechecker.Checker,
215
+ typ *nativechecker.Type,
216
+ symbol *nativeast.Symbol,
217
217
  ) (*MetadataAliasType, bool, func(meta *MetadataSchema)) {
218
- if oldbie := collection.aliases_[typ]; oldbie != nil {
219
- return oldbie, false, func(meta *MetadataSchema) {}
220
- }
221
- id := collection.getName(checker, typ)
222
- alias := MetadataAliasType_create(MetadataAliasType{
223
- Name: id,
224
- Value: nil,
225
- Description: metadataCollection_description(symbol),
226
- Recursive: false,
227
- Nullables: []bool{},
228
- JsDocTags: metadataCollection_jsDocTags(symbol),
229
- })
230
- collection.aliases_[typ] = alias
231
- collection.aliases_order_ = append(collection.aliases_order_, typ)
232
- return alias, true, func(meta *MetadataSchema) {
233
- alias.Value = meta
234
- }
218
+ if oldbie := collection.aliases_[typ]; oldbie != nil {
219
+ return oldbie, false, func(meta *MetadataSchema) {}
220
+ }
221
+ id := collection.getName(checker, typ)
222
+ alias := MetadataAliasType_create(MetadataAliasType{
223
+ Name: id,
224
+ Value: nil,
225
+ Description: metadataCollection_description(symbol),
226
+ Recursive: false,
227
+ Nullables: []bool{},
228
+ JsDocTags: metadataCollection_jsDocTags(symbol),
229
+ })
230
+ collection.aliases_[typ] = alias
231
+ collection.aliases_order_ = append(collection.aliases_order_, typ)
232
+ return alias, true, func(meta *MetadataSchema) {
233
+ alias.Value = meta
234
+ }
235
235
  }
236
236
 
237
237
  func (collection *MetadataCollection) EmplaceArray(
238
- checker *nativechecker.Checker,
239
- typ *nativechecker.Type,
238
+ checker *nativechecker.Checker,
239
+ typ *nativechecker.Type,
240
240
  ) (*MetadataArrayType, bool, func(meta *MetadataSchema)) {
241
- if oldbie := collection.arrays_[typ]; oldbie != nil {
242
- return oldbie, false, func(meta *MetadataSchema) {}
243
- }
244
- id := collection.getName(checker, typ)
245
- array := MetadataArrayType_create(MetadataArrayType{
246
- Name: id,
247
- Value: nil,
248
- Index: nil,
249
- Recursive: false,
250
- Nullables: []bool{},
251
- })
252
- collection.arrays_[typ] = array
253
- collection.arrays_order_ = append(collection.arrays_order_, typ)
254
- return array, true, func(meta *MetadataSchema) {
255
- array.Value = meta
256
- }
241
+ if oldbie := collection.arrays_[typ]; oldbie != nil {
242
+ return oldbie, false, func(meta *MetadataSchema) {}
243
+ }
244
+ id := collection.getName(checker, typ)
245
+ array := MetadataArrayType_create(MetadataArrayType{
246
+ Name: id,
247
+ Value: nil,
248
+ Index: nil,
249
+ Recursive: false,
250
+ Nullables: []bool{},
251
+ })
252
+ collection.arrays_[typ] = array
253
+ collection.arrays_order_ = append(collection.arrays_order_, typ)
254
+ return array, true, func(meta *MetadataSchema) {
255
+ array.Value = meta
256
+ }
257
257
  }
258
258
 
259
259
  func (collection *MetadataCollection) EmplaceTuple(
260
- checker *nativechecker.Checker,
261
- typ *nativechecker.Type,
260
+ checker *nativechecker.Checker,
261
+ typ *nativechecker.Type,
262
262
  ) (*MetadataTupleType, bool, func(elements []*MetadataSchema)) {
263
- if oldbie := collection.tuples_[typ]; oldbie != nil {
264
- return oldbie, false, func(elements []*MetadataSchema) {}
265
- }
266
- id := collection.getName(checker, typ)
267
- tuple := MetadataTupleType_create(MetadataTupleType{
268
- Name: id,
269
- Elements: nil,
270
- Index: nil,
271
- Recursive: false,
272
- Nullables: []bool{},
273
- })
274
- collection.tuples_[typ] = tuple
275
- collection.tuples_order_ = append(collection.tuples_order_, typ)
276
- return tuple, true, func(elements []*MetadataSchema) {
277
- tuple.Elements = elements
278
- }
263
+ if oldbie := collection.tuples_[typ]; oldbie != nil {
264
+ return oldbie, false, func(elements []*MetadataSchema) {}
265
+ }
266
+ id := collection.getName(checker, typ)
267
+ tuple := MetadataTupleType_create(MetadataTupleType{
268
+ Name: id,
269
+ Elements: nil,
270
+ Index: nil,
271
+ Recursive: false,
272
+ Nullables: []bool{},
273
+ })
274
+ collection.tuples_[typ] = tuple
275
+ collection.tuples_order_ = append(collection.tuples_order_, typ)
276
+ return tuple, true, func(elements []*MetadataSchema) {
277
+ tuple.Elements = elements
278
+ }
279
279
  }
280
280
 
281
281
  func (collection *MetadataCollection) SetObjectRecursive(obj *MetadataObjectType, recursive bool) {
282
- obj.Recursive = recursive
282
+ obj.Recursive = recursive
283
283
  }
284
284
 
285
285
  func (collection *MetadataCollection) SetAliasRecursive(alias *MetadataAliasType, recursive bool) {
286
- alias.Recursive = recursive
286
+ alias.Recursive = recursive
287
287
  }
288
288
 
289
289
  func (collection *MetadataCollection) SetArrayRecursive(array *MetadataArrayType, recursive bool) {
290
- array.Recursive = recursive
291
- if recursive {
292
- index := collection.recursive_array_index_
293
- array.Index = &index
294
- collection.recursive_array_index_++
295
- }
290
+ array.Recursive = recursive
291
+ if recursive {
292
+ index := collection.recursive_array_index_
293
+ array.Index = &index
294
+ collection.recursive_array_index_++
295
+ }
296
296
  }
297
297
 
298
298
  func (collection *MetadataCollection) SetTupleRecursive(tuple *MetadataTupleType, recursive bool) {
299
- tuple.Recursive = recursive
300
- if recursive {
301
- index := collection.recursive_tuple_index_
302
- tuple.Index = &index
303
- collection.recursive_tuple_index_++
304
- }
299
+ tuple.Recursive = recursive
300
+ if recursive {
301
+ index := collection.recursive_tuple_index_
302
+ tuple.Index = &index
303
+ collection.recursive_tuple_index_++
304
+ }
305
305
  }
306
306
 
307
307
  func (collection *MetadataCollection) ToJSON() IMetadataComponents {
308
- objects := make([]IMetadataSchema_IObjectType, 0, len(collection.objects_))
309
- for _, object := range collection.Objects() {
310
- objects = append(objects, object.ToJSON())
311
- }
312
- aliases := make([]IMetadataSchema_IAliasType, 0, len(collection.aliases_))
313
- for _, alias := range collection.Aliases() {
314
- aliases = append(aliases, alias.ToJSON())
315
- }
316
- arrays := make([]IMetadataSchema_IArrayType, 0, len(collection.arrays_))
317
- for _, array := range collection.Arrays() {
318
- arrays = append(arrays, array.ToJSON())
319
- }
320
- tuples := make([]IMetadataSchema_ITupleType, 0, len(collection.tuples_))
321
- for _, tuple := range collection.Tuples() {
322
- tuples = append(tuples, tuple.ToJSON())
323
- }
324
- return IMetadataComponents{
325
- Objects: objects,
326
- Aliases: aliases,
327
- Arrays: arrays,
328
- Tuples: tuples,
329
- }
308
+ objects := make([]IMetadataSchema_IObjectType, 0, len(collection.objects_))
309
+ for _, object := range collection.Objects() {
310
+ objects = append(objects, object.ToJSON())
311
+ }
312
+ aliases := make([]IMetadataSchema_IAliasType, 0, len(collection.aliases_))
313
+ for _, alias := range collection.Aliases() {
314
+ aliases = append(aliases, alias.ToJSON())
315
+ }
316
+ arrays := make([]IMetadataSchema_IArrayType, 0, len(collection.arrays_))
317
+ for _, array := range collection.Arrays() {
318
+ arrays = append(arrays, array.ToJSON())
319
+ }
320
+ tuples := make([]IMetadataSchema_ITupleType, 0, len(collection.tuples_))
321
+ for _, tuple := range collection.Tuples() {
322
+ tuples = append(tuples, tuple.ToJSON())
323
+ }
324
+ return IMetadataComponents{
325
+ Objects: objects,
326
+ Aliases: aliases,
327
+ Arrays: arrays,
328
+ Tuples: tuples,
329
+ }
330
330
  }
331
331
 
332
332
  func MetadataCollection_replace(str string) string {
333
- replaced := str
334
- for _, pair := range metadataCollection_replacers {
335
- replaced = strings.ReplaceAll(replaced, pair.Before, "")
336
- }
337
- if len(replaced) != 0 {
338
- return replaced
339
- }
340
- for _, pair := range metadataCollection_replacers {
341
- str = strings.ReplaceAll(str, pair.Before, pair.After)
342
- }
343
- return str
333
+ replaced := str
334
+ for _, pair := range metadataCollection_replacers {
335
+ replaced = strings.ReplaceAll(replaced, pair.Before, "")
336
+ }
337
+ if len(replaced) != 0 {
338
+ return replaced
339
+ }
340
+ for _, pair := range metadataCollection_replacers {
341
+ str = strings.ReplaceAll(str, pair.Before, pair.After)
342
+ }
343
+ return str
344
344
  }
345
345
 
346
346
  func MetadataCollection_escape(str string) string {
347
- for _, pair := range metadataCollection_replacers {
348
- if pair.After != "" {
349
- str = strings.ReplaceAll(str, pair.After, pair.Before)
350
- }
351
- }
352
- return str
347
+ for _, pair := range metadataCollection_replacers {
348
+ if pair.After != "" {
349
+ str = strings.ReplaceAll(str, pair.After, pair.Before)
350
+ }
351
+ }
352
+ return str
353
353
  }
354
354
 
355
355
  type metadataCollection_replacer struct {
356
- Before string
357
- After string
356
+ Before string
357
+ After string
358
358
  }
359
359
 
360
360
  var metadataCollection_replacers = []metadataCollection_replacer{
361
- {Before: "$", After: "_dollar_"},
362
- {Before: "&", After: "_and_"},
363
- {Before: "|", After: "_or_"},
364
- {Before: "{", After: "_blt_"},
365
- {Before: "}", After: "_bgt_"},
366
- {Before: "<", After: "_lt_"},
367
- {Before: ">", After: "_gt_"},
368
- {Before: "[", After: "_alt_"},
369
- {Before: "]", After: "_agt_"},
370
- {Before: ",", After: "_comma_"},
371
- {Before: "`", After: "_backquote_"},
372
- {Before: "'", After: "_singlequote_"},
373
- {Before: "\"", After: "_doublequote_"},
374
- {Before: " ", After: "_space_"},
375
- {Before: "?", After: "_question_"},
376
- {Before: ":", After: "_colon_"},
377
- {Before: ";", After: "_semicolon_"},
361
+ {Before: "$", After: "_dollar_"},
362
+ {Before: "&", After: "_and_"},
363
+ {Before: "|", After: "_or_"},
364
+ {Before: "{", After: "_blt_"},
365
+ {Before: "}", After: "_bgt_"},
366
+ {Before: "<", After: "_lt_"},
367
+ {Before: ">", After: "_gt_"},
368
+ {Before: "[", After: "_alt_"},
369
+ {Before: "]", After: "_agt_"},
370
+ {Before: ",", After: "_comma_"},
371
+ {Before: "`", After: "_backquote_"},
372
+ {Before: "'", After: "_singlequote_"},
373
+ {Before: "\"", After: "_doublequote_"},
374
+ {Before: " ", After: "_space_"},
375
+ {Before: "?", After: "_question_"},
376
+ {Before: ":", After: "_colon_"},
377
+ {Before: ";", After: "_semicolon_"},
378
378
  }
379
379
 
380
380
  func metadataCollection_getFullName(checker *nativechecker.Checker, typ *nativechecker.Type) string {
381
- if checker == nil || typ == nil {
382
- return "__type"
383
- }
384
- rendered := metadataCollection_sanitizeName(checker.TypeToString(typ))
385
- symbol := nativechecker.Type_getTypeNameSymbol(typ)
386
- if symbol == nil {
387
- symbol = typ.Symbol()
388
- }
389
- if symbol == nil {
390
- if typ.IsUnion() || typ.IsIntersection() {
391
- joiner := " | "
392
- if typ.IsIntersection() {
393
- joiner = " & "
394
- }
395
- children := typ.Types()
396
- names := make([]string, 0, len(children))
397
- for _, child := range children {
398
- names = append(names, metadataCollection_getFullName(checker, child))
399
- }
400
- return strings.Join(names, joiner)
401
- }
402
- if rendered != "" {
403
- return rendered
404
- }
405
- return "__type"
406
- }
407
- name := metadataCollection_getName(symbol)
408
- generic := []*nativechecker.Type{}
409
- if typ.ObjectFlags()&nativechecker.ObjectFlagsReference != 0 {
410
- generic = nativechecker.Checker_getTypeArguments(checker, typ)
411
- }
412
- if len(generic) == 0 {
413
- if metadataCollection_isSpecializedName(rendered, name) {
414
- return rendered
415
- }
416
- return name
417
- }
418
- if name == "Promise" {
419
- return metadataCollection_getFullName(checker, generic[0])
420
- }
421
- names := make([]string, 0, len(generic))
422
- for _, child := range generic {
423
- names = append(names, metadataCollection_getFullName(checker, child))
424
- }
425
- return name + "<" + strings.Join(names, ", ") + ">"
381
+ if checker == nil || typ == nil {
382
+ return "__type"
383
+ }
384
+ rendered := metadataCollection_sanitizeName(checker.TypeToString(typ))
385
+ symbol := nativechecker.Type_getTypeNameSymbol(typ)
386
+ if symbol == nil {
387
+ symbol = typ.Symbol()
388
+ }
389
+ if symbol == nil {
390
+ if typ.IsUnion() || typ.IsIntersection() {
391
+ joiner := " | "
392
+ if typ.IsIntersection() {
393
+ joiner = " & "
394
+ }
395
+ children := typ.Types()
396
+ names := make([]string, 0, len(children))
397
+ for _, child := range children {
398
+ names = append(names, metadataCollection_getFullName(checker, child))
399
+ }
400
+ return strings.Join(names, joiner)
401
+ }
402
+ if rendered != "" {
403
+ return rendered
404
+ }
405
+ return "__type"
406
+ }
407
+ name := metadataCollection_getName(symbol)
408
+ generic := []*nativechecker.Type{}
409
+ if typ.ObjectFlags()&nativechecker.ObjectFlagsReference != 0 {
410
+ generic = nativechecker.Checker_getTypeArguments(checker, typ)
411
+ }
412
+ if len(generic) == 0 {
413
+ if metadataCollection_isSpecializedName(rendered, name) {
414
+ return rendered
415
+ }
416
+ return name
417
+ }
418
+ if name == "Promise" {
419
+ return metadataCollection_getFullName(checker, generic[0])
420
+ }
421
+ names := make([]string, 0, len(generic))
422
+ for _, child := range generic {
423
+ names = append(names, metadataCollection_getFullName(checker, child))
424
+ }
425
+ return name + "<" + strings.Join(names, ", ") + ">"
426
426
  }
427
427
 
428
428
  func metadataCollection_getName(symbol *nativeast.Symbol) string {
429
- if symbol == nil || len(symbol.Declarations) == 0 || symbol.Declarations[0].Parent == nil {
430
- return "__type"
431
- }
432
- return metadataCollection_exploreName(symbol.Declarations[0].Parent, strings.ReplaceAll(symbol.Name, "\uFFFD", "__"))
429
+ if symbol == nil || len(symbol.Declarations) == 0 || symbol.Declarations[0].Parent == nil {
430
+ return "__type"
431
+ }
432
+ return metadataCollection_exploreName(symbol.Declarations[0].Parent, strings.ReplaceAll(symbol.Name, "\uFFFD", "__"))
433
433
  }
434
434
 
435
435
  func metadataCollection_exploreName(node *nativeast.Node, name string) string {
436
- if node != nil && nativeast.IsModuleBlock(node) && node.Parent != nil && node.Parent.Parent != nil {
437
- parentName := ""
438
- if node.Parent.Name() != nil {
439
- parentName = strings.TrimSpace(node.Parent.Name().Text())
440
- }
441
- if parentName != "" {
442
- return metadataCollection_exploreName(node.Parent.Parent, parentName+"."+name)
443
- }
444
- }
445
- return name
436
+ if node != nil && nativeast.IsModuleBlock(node) && node.Parent != nil && node.Parent.Parent != nil {
437
+ parentName := ""
438
+ if node.Parent.Name() != nil {
439
+ parentName = strings.TrimSpace(node.Parent.Name().Text())
440
+ }
441
+ if parentName != "" {
442
+ return metadataCollection_exploreName(node.Parent.Parent, parentName+"."+name)
443
+ }
444
+ }
445
+ return name
446
446
  }
447
447
 
448
448
  func metadataCollection_sanitizeName(name string) string {
449
- name = strings.ToValidUTF8(name, "__")
450
- name = strings.ReplaceAll(name, "\uFFFD", "__")
451
- return name
449
+ name = strings.ToValidUTF8(name, "__")
450
+ name = strings.ReplaceAll(name, "\uFFFD", "__")
451
+ return name
452
452
  }
453
453
 
454
454
  func metadataCollection_isSpecializedName(rendered string, name string) bool {
455
- if rendered == "" || name == "" {
456
- return false
457
- }
458
- return strings.HasPrefix(rendered, name+"<") ||
459
- strings.Contains(rendered, "."+name+"<")
455
+ if rendered == "" || name == "" {
456
+ return false
457
+ }
458
+ return strings.HasPrefix(rendered, name+"<") ||
459
+ strings.Contains(rendered, "."+name+"<")
460
460
  }
461
461
 
462
462
  func metadataCollection_symbol(typ *nativechecker.Type) *nativeast.Symbol {
463
- if typ == nil {
464
- return nil
465
- }
466
- if symbol := nativechecker.Type_getTypeNameSymbol(typ); symbol != nil {
467
- return symbol
468
- }
469
- return typ.Symbol()
463
+ if typ == nil {
464
+ return nil
465
+ }
466
+ if symbol := nativechecker.Type_getTypeNameSymbol(typ); symbol != nil {
467
+ return symbol
468
+ }
469
+ return typ.Symbol()
470
470
  }
471
471
 
472
472
  func metadataCollection_description(symbol *nativeast.Symbol) *string {
473
- return nil
473
+ return nil
474
474
  }
475
475
 
476
476
  func metadataCollection_jsDocTags(symbol *nativeast.Symbol) []IJsDocTagInfo {
477
- return []IJsDocTagInfo{}
477
+ return []IJsDocTagInfo{}
478
478
  }
479
479
 
480
480
  func metadataCollection_itoa(value int) string {
481
- if value == 0 {
482
- return "0"
483
- }
484
- digits := []byte{}
485
- for value > 0 {
486
- digits = append([]byte{byte('0' + value%10)}, digits...)
487
- value /= 10
488
- }
489
- return string(digits)
481
+ if value == 0 {
482
+ return "0"
483
+ }
484
+ digits := []byte{}
485
+ for value > 0 {
486
+ digits = append([]byte{byte('0' + value%10)}, digits...)
487
+ value /= 10
488
+ }
489
+ return string(digits)
490
490
  }