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
@@ -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
  }