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,16 +1,16 @@
1
1
  package factories
2
2
 
3
3
  import (
4
- "crypto/rand"
5
- "fmt"
6
- "math"
7
- "os"
8
- "path/filepath"
9
- "strings"
4
+ "crypto/rand"
5
+ "fmt"
6
+ "math"
7
+ "os"
8
+ "path/filepath"
9
+ "strings"
10
10
 
11
- shimast "github.com/microsoft/typescript-go/shim/ast"
12
- shimcore "github.com/microsoft/typescript-go/shim/core"
13
- shimparser "github.com/microsoft/typescript-go/shim/parser"
11
+ shimast "github.com/microsoft/typescript-go/shim/ast"
12
+ shimcore "github.com/microsoft/typescript-go/shim/core"
13
+ shimparser "github.com/microsoft/typescript-go/shim/parser"
14
14
  )
15
15
 
16
16
  type expressionFactoryNamespace struct{}
@@ -18,317 +18,317 @@ type expressionFactoryNamespace struct{}
18
18
  var ExpressionFactory = expressionFactoryNamespace{}
19
19
 
20
20
  type ExpressionFactory_IsObjectProps struct {
21
- CheckNull bool
22
- CheckArray bool
23
- Input *shimast.Expression
21
+ CheckNull bool
22
+ CheckArray bool
23
+ Input *shimast.Expression
24
24
  }
25
25
 
26
26
  type ExpressionFactory_CurryingProps struct {
27
- Function *shimast.Expression
28
- Arguments []*shimast.Expression
27
+ Function *shimast.Expression
28
+ Arguments []*shimast.Expression
29
29
  }
30
30
 
31
31
  type ExpressionFactory_TranspileProps struct {
32
- Transformer any
33
- Importer ExpressionFactory_Importer
34
- Script string
32
+ Transformer any
33
+ Importer ExpressionFactory_Importer
34
+ Script string
35
35
  }
36
36
 
37
37
  type ExpressionFactory_Importer interface {
38
- Internal(name string) *shimast.Node
39
- Instance(props ExpressionFactory_IInstance) *shimast.Node
40
- Namespace(props ExpressionFactory_INamespace) *shimast.Node
41
- Default(props ExpressionFactory_IDefault) *shimast.Node
38
+ Internal(name string) *shimast.Node
39
+ Instance(props ExpressionFactory_IInstance) *shimast.Node
40
+ Namespace(props ExpressionFactory_INamespace) *shimast.Node
41
+ Default(props ExpressionFactory_IDefault) *shimast.Node
42
42
  }
43
43
 
44
44
  type ExpressionFactory_IDefault struct {
45
- File string
46
- Name string
47
- Type bool
45
+ File string
46
+ Name string
47
+ Type bool
48
48
  }
49
49
 
50
50
  type ExpressionFactory_IInstance struct {
51
- File string
52
- Name string
53
- Alias *string
51
+ File string
52
+ Name string
53
+ Alias *string
54
54
  }
55
55
 
56
56
  type ExpressionFactory_INamespace struct {
57
- File string
58
- Name string
57
+ File string
58
+ Name string
59
59
  }
60
60
 
61
61
  type ExpressionFactory_GetEscapedTextProps struct {
62
- Printer any
63
- Input *shimast.Expression
62
+ Printer any
63
+ Input *shimast.Expression
64
64
  }
65
65
 
66
66
  var expressionFactory_factory = shimast.NewNodeFactory(shimast.NodeFactoryHooks{})
67
67
 
68
68
  func (expressionFactoryNamespace) Number(value any) *shimast.Node {
69
- text, numeric := expressionFactory_number_text(value)
70
- if numeric < 0 {
71
- return expressionFactory_factory.NewPrefixUnaryExpression(
72
- shimast.KindMinusToken,
73
- expressionFactory_factory.NewNumericLiteral(expressionFactory_number_abs_text(numeric), shimast.TokenFlagsNone),
74
- )
75
- }
76
- return expressionFactory_factory.NewNumericLiteral(text, shimast.TokenFlagsNone)
69
+ text, numeric := expressionFactory_number_text(value)
70
+ if numeric < 0 {
71
+ return expressionFactory_factory.NewPrefixUnaryExpression(
72
+ shimast.KindMinusToken,
73
+ expressionFactory_factory.NewNumericLiteral(expressionFactory_number_abs_text(numeric), shimast.TokenFlagsNone),
74
+ )
75
+ }
76
+ return expressionFactory_factory.NewNumericLiteral(text, shimast.TokenFlagsNone)
77
77
  }
78
78
 
79
79
  func (expressionFactoryNamespace) Bigint(value any) *shimast.Node {
80
- return expressionFactory_factory.NewCallExpression(
81
- expressionFactory_factory.NewIdentifier("BigInt"),
82
- nil,
83
- nil,
84
- expressionFactory_factory.NewNodeList([]*shimast.Node{
85
- expressionFactory_factory.NewIdentifier(fmt.Sprint(value)),
86
- }),
87
- shimast.NodeFlagsNone,
88
- )
80
+ return expressionFactory_factory.NewCallExpression(
81
+ expressionFactory_factory.NewIdentifier("BigInt"),
82
+ nil,
83
+ nil,
84
+ expressionFactory_factory.NewNodeList([]*shimast.Node{
85
+ expressionFactory_factory.NewIdentifier(fmt.Sprint(value)),
86
+ }),
87
+ shimast.NodeFlagsNone,
88
+ )
89
89
  }
90
90
 
91
91
  func (expressionFactoryNamespace) IsRequired(input *shimast.Expression) *shimast.Node {
92
- return expressionFactory_factory.NewBinaryExpression(
93
- nil,
94
- expressionFactory_factory.NewIdentifier("undefined"),
95
- nil,
96
- expressionFactory_factory.NewToken(shimast.KindExclamationEqualsEqualsToken),
97
- input,
98
- )
92
+ return expressionFactory_factory.NewBinaryExpression(
93
+ nil,
94
+ expressionFactory_factory.NewIdentifier("undefined"),
95
+ nil,
96
+ expressionFactory_factory.NewToken(shimast.KindExclamationEqualsEqualsToken),
97
+ input,
98
+ )
99
99
  }
100
100
 
101
101
  func (expressionFactoryNamespace) IsArray(input *shimast.Expression) *shimast.Node {
102
- return expressionFactory_factory.NewCallExpression(
103
- expressionFactory_factory.NewIdentifier("Array.isArray"),
104
- nil,
105
- nil,
106
- expressionFactory_factory.NewNodeList([]*shimast.Node{input}),
107
- shimast.NodeFlagsNone,
108
- )
102
+ return expressionFactory_factory.NewCallExpression(
103
+ expressionFactory_factory.NewIdentifier("Array.isArray"),
104
+ nil,
105
+ nil,
106
+ expressionFactory_factory.NewNodeList([]*shimast.Node{input}),
107
+ shimast.NodeFlagsNone,
108
+ )
109
109
  }
110
110
 
111
111
  func (expressionFactoryNamespace) IsObject(props ExpressionFactory_IsObjectProps) *shimast.Node {
112
- conditions := []*shimast.Node{
113
- expressionFactory_factory.NewBinaryExpression(
114
- nil,
115
- expressionFactory_factory.NewStringLiteral("object", shimast.TokenFlagsNone),
116
- nil,
117
- expressionFactory_factory.NewToken(shimast.KindEqualsEqualsEqualsToken),
118
- expressionFactory_factory.NewTypeOfExpression(props.Input),
119
- ),
120
- }
121
- if props.CheckNull {
122
- conditions = append(conditions, expressionFactory_factory.NewBinaryExpression(
123
- nil,
124
- expressionFactory_factory.NewKeywordExpression(shimast.KindNullKeyword),
125
- nil,
126
- expressionFactory_factory.NewToken(shimast.KindExclamationEqualsEqualsToken),
127
- props.Input,
128
- ))
129
- }
130
- if props.CheckArray {
131
- conditions = append(conditions, expressionFactory_factory.NewBinaryExpression(
132
- nil,
133
- expressionFactory_factory.NewKeywordExpression(shimast.KindFalseKeyword),
134
- nil,
135
- expressionFactory_factory.NewToken(shimast.KindEqualsEqualsEqualsToken),
136
- ExpressionFactory.IsArray(props.Input),
137
- ))
138
- }
139
- if len(conditions) == 1 {
140
- return conditions[0]
141
- }
142
- output := conditions[0]
143
- for _, condition := range conditions[1:] {
144
- output = expressionFactory_factory.NewBinaryExpression(
145
- nil,
146
- output,
147
- nil,
148
- expressionFactory_factory.NewToken(shimast.KindAmpersandAmpersandToken),
149
- condition,
150
- )
151
- }
152
- return output
112
+ conditions := []*shimast.Node{
113
+ expressionFactory_factory.NewBinaryExpression(
114
+ nil,
115
+ expressionFactory_factory.NewStringLiteral("object", shimast.TokenFlagsNone),
116
+ nil,
117
+ expressionFactory_factory.NewToken(shimast.KindEqualsEqualsEqualsToken),
118
+ expressionFactory_factory.NewTypeOfExpression(props.Input),
119
+ ),
120
+ }
121
+ if props.CheckNull {
122
+ conditions = append(conditions, expressionFactory_factory.NewBinaryExpression(
123
+ nil,
124
+ expressionFactory_factory.NewKeywordExpression(shimast.KindNullKeyword),
125
+ nil,
126
+ expressionFactory_factory.NewToken(shimast.KindExclamationEqualsEqualsToken),
127
+ props.Input,
128
+ ))
129
+ }
130
+ if props.CheckArray {
131
+ conditions = append(conditions, expressionFactory_factory.NewBinaryExpression(
132
+ nil,
133
+ expressionFactory_factory.NewKeywordExpression(shimast.KindFalseKeyword),
134
+ nil,
135
+ expressionFactory_factory.NewToken(shimast.KindEqualsEqualsEqualsToken),
136
+ ExpressionFactory.IsArray(props.Input),
137
+ ))
138
+ }
139
+ if len(conditions) == 1 {
140
+ return conditions[0]
141
+ }
142
+ output := conditions[0]
143
+ for _, condition := range conditions[1:] {
144
+ output = expressionFactory_factory.NewBinaryExpression(
145
+ nil,
146
+ output,
147
+ nil,
148
+ expressionFactory_factory.NewToken(shimast.KindAmpersandAmpersandToken),
149
+ condition,
150
+ )
151
+ }
152
+ return output
153
153
  }
154
154
 
155
155
  func (expressionFactoryNamespace) IsInstanceOf(t string, input *shimast.Expression) *shimast.Node {
156
- return expressionFactory_factory.NewBinaryExpression(
157
- nil,
158
- input,
159
- nil,
160
- expressionFactory_factory.NewToken(shimast.KindInstanceOfKeyword),
161
- expressionFactory_factory.NewIdentifier(t),
162
- )
156
+ return expressionFactory_factory.NewBinaryExpression(
157
+ nil,
158
+ input,
159
+ nil,
160
+ expressionFactory_factory.NewToken(shimast.KindInstanceOfKeyword),
161
+ expressionFactory_factory.NewIdentifier(t),
162
+ )
163
163
  }
164
164
 
165
165
  func (expressionFactoryNamespace) Coalesce(x *shimast.Expression, y *shimast.Expression) *shimast.Node {
166
- return expressionFactory_factory.NewBinaryExpression(
167
- nil,
168
- x,
169
- nil,
170
- expressionFactory_factory.NewToken(shimast.KindQuestionQuestionToken),
171
- y,
172
- )
166
+ return expressionFactory_factory.NewBinaryExpression(
167
+ nil,
168
+ x,
169
+ nil,
170
+ expressionFactory_factory.NewToken(shimast.KindQuestionQuestionToken),
171
+ y,
172
+ )
173
173
  }
174
174
 
175
175
  func (expressionFactoryNamespace) Currying(props ExpressionFactory_CurryingProps) *shimast.Node {
176
- if len(props.Arguments) == 0 {
177
- return expressionFactory_factory.NewCallExpression(props.Function, nil, nil, nil, shimast.NodeFlagsNone)
178
- }
179
- prev := expressionFactory_factory.NewCallExpression(
180
- props.Function,
181
- nil,
182
- nil,
183
- expressionFactory_factory.NewNodeList([]*shimast.Node{props.Arguments[0]}),
184
- shimast.NodeFlagsNone,
185
- )
186
- for _, param := range props.Arguments[1:] {
187
- prev = expressionFactory_factory.NewCallExpression(
188
- prev,
189
- nil,
190
- nil,
191
- expressionFactory_factory.NewNodeList([]*shimast.Node{param}),
192
- shimast.NodeFlagsNone,
193
- )
194
- }
195
- return prev
176
+ if len(props.Arguments) == 0 {
177
+ return expressionFactory_factory.NewCallExpression(props.Function, nil, nil, nil, shimast.NodeFlagsNone)
178
+ }
179
+ prev := expressionFactory_factory.NewCallExpression(
180
+ props.Function,
181
+ nil,
182
+ nil,
183
+ expressionFactory_factory.NewNodeList([]*shimast.Node{props.Arguments[0]}),
184
+ shimast.NodeFlagsNone,
185
+ )
186
+ for _, param := range props.Arguments[1:] {
187
+ prev = expressionFactory_factory.NewCallExpression(
188
+ prev,
189
+ nil,
190
+ nil,
191
+ expressionFactory_factory.NewNodeList([]*shimast.Node{param}),
192
+ shimast.NodeFlagsNone,
193
+ )
194
+ }
195
+ return prev
196
196
  }
197
197
 
198
198
  func (expressionFactoryNamespace) SelfCall(body *shimast.ConciseBody, typeNode ...*shimast.TypeNode) *shimast.Node {
199
- if body != nil && body.Kind == shimast.KindCallExpression {
200
- return body
201
- }
202
- var output *shimast.TypeNode
203
- if len(typeNode) != 0 {
204
- output = typeNode[0]
205
- }
206
- arrow := expressionFactory_factory.NewArrowFunction(
207
- nil,
208
- nil,
209
- expressionFactory_factory.NewNodeList(nil),
210
- output,
211
- nil,
212
- expressionFactory_factory.NewToken(shimast.KindEqualsGreaterThanToken),
213
- body,
214
- )
215
- return expressionFactory_factory.NewCallExpression(
216
- expressionFactory_factory.NewParenthesizedExpression(arrow),
217
- nil,
218
- nil,
219
- nil,
220
- shimast.NodeFlagsNone,
221
- )
199
+ if body != nil && body.Kind == shimast.KindCallExpression {
200
+ return body
201
+ }
202
+ var output *shimast.TypeNode
203
+ if len(typeNode) != 0 {
204
+ output = typeNode[0]
205
+ }
206
+ arrow := expressionFactory_factory.NewArrowFunction(
207
+ nil,
208
+ nil,
209
+ expressionFactory_factory.NewNodeList(nil),
210
+ output,
211
+ nil,
212
+ expressionFactory_factory.NewToken(shimast.KindEqualsGreaterThanToken),
213
+ body,
214
+ )
215
+ return expressionFactory_factory.NewCallExpression(
216
+ expressionFactory_factory.NewParenthesizedExpression(arrow),
217
+ nil,
218
+ nil,
219
+ nil,
220
+ shimast.NodeFlagsNone,
221
+ )
222
222
  }
223
223
 
224
224
  func (expressionFactoryNamespace) GetEscapedText(props ExpressionFactory_GetEscapedTextProps) string {
225
- if props.Input == nil {
226
- return ""
227
- }
228
- if props.Input.Kind == shimast.KindIdentifier || shimast.IsStringLiteral(props.Input) {
229
- return props.Input.Text()
230
- }
231
- return IdentifierFactory.GetName(props.Input)
225
+ if props.Input == nil {
226
+ return ""
227
+ }
228
+ if props.Input.Kind == shimast.KindIdentifier || shimast.IsStringLiteral(props.Input) {
229
+ return props.Input.Text()
230
+ }
231
+ return IdentifierFactory.GetName(props.Input)
232
232
  }
233
233
 
234
234
  func (expressionFactoryNamespace) Transpile(props ExpressionFactory_TranspileProps) func(input *shimast.Expression) *shimast.Node {
235
- file := shimparser.ParseSourceFile(
236
- shimast.SourceFileParseOptions{FileName: filepath.Join(os.TempDir(), expressionFactory_random_format_uuid()+".ts")},
237
- props.Script,
238
- shimcore.ScriptKindTS,
239
- )
240
- if file == nil || file.Statements == nil || len(file.Statements.Nodes) == 0 {
241
- panic("Error on ExpressionFactory.transpile(): no statement exists.")
242
- }
243
- statement := file.Statements.Nodes[0]
244
- if statement.Kind != shimast.KindExpressionStatement {
245
- panic("Error on ExpressionFactory.transpile(): statement is not an expression statement.")
246
- }
247
- expression := expressionFactory_factory.DeepCloneNode(statement.AsExpressionStatement().Expression)
248
- return func(input *shimast.Expression) *shimast.Node {
249
- var visitor *shimast.NodeVisitor
250
- visitor = shimast.NewNodeVisitor(func(node *shimast.Node) *shimast.Node {
251
- if node == nil {
252
- return nil
253
- }
254
- if node.Kind == shimast.KindIdentifier && node.Text() == "$input" {
255
- return input
256
- }
257
- if props.Importer != nil && node.Kind == shimast.KindCallExpression {
258
- if imported := expressionFactory_import(props.Importer, node); imported != nil {
259
- return imported
260
- }
261
- }
262
- return node.VisitEachChild(visitor)
263
- }, expressionFactory_factory, shimast.NodeVisitorHooks{})
264
- return visitor.VisitNode(expression)
265
- }
235
+ file := shimparser.ParseSourceFile(
236
+ shimast.SourceFileParseOptions{FileName: filepath.Join(os.TempDir(), expressionFactory_random_format_uuid()+".ts")},
237
+ props.Script,
238
+ shimcore.ScriptKindTS,
239
+ )
240
+ if file == nil || file.Statements == nil || len(file.Statements.Nodes) == 0 {
241
+ panic("Error on ExpressionFactory.transpile(): no statement exists.")
242
+ }
243
+ statement := file.Statements.Nodes[0]
244
+ if statement.Kind != shimast.KindExpressionStatement {
245
+ panic("Error on ExpressionFactory.transpile(): statement is not an expression statement.")
246
+ }
247
+ expression := expressionFactory_factory.DeepCloneNode(statement.AsExpressionStatement().Expression)
248
+ return func(input *shimast.Expression) *shimast.Node {
249
+ var visitor *shimast.NodeVisitor
250
+ visitor = shimast.NewNodeVisitor(func(node *shimast.Node) *shimast.Node {
251
+ if node == nil {
252
+ return nil
253
+ }
254
+ if node.Kind == shimast.KindIdentifier && node.Text() == "$input" {
255
+ return input
256
+ }
257
+ if props.Importer != nil && node.Kind == shimast.KindCallExpression {
258
+ if imported := expressionFactory_import(props.Importer, node); imported != nil {
259
+ return imported
260
+ }
261
+ }
262
+ return node.VisitEachChild(visitor)
263
+ }, expressionFactory_factory, shimast.NodeVisitorHooks{})
264
+ return visitor.VisitNode(expression)
265
+ }
266
266
  }
267
267
 
268
268
  func expressionFactory_import(importer ExpressionFactory_Importer, node *shimast.Node) *shimast.Node {
269
- call := node.AsCallExpression()
270
- if call == nil || call.Expression == nil || call.Expression.Kind != shimast.KindIdentifier {
271
- return nil
272
- }
273
- name := call.Expression.Text()
274
- args := []*shimast.Node{}
275
- if call.Arguments != nil {
276
- args = call.Arguments.Nodes
277
- }
278
- if name == "$importInternal" && len(args) == 1 && shimast.IsStringLiteral(args[0]) {
279
- return importer.Internal(args[0].Text())
280
- }
281
- if name == "$importInstance" && len(args) == 2 && shimast.IsStringLiteral(args[0]) && shimast.IsStringLiteral(args[1]) {
282
- return importer.Instance(ExpressionFactory_IInstance{
283
- Name: args[0].Text(),
284
- File: args[1].Text(),
285
- })
286
- }
287
- if name == "$importNamespace" && len(args) == 2 && shimast.IsStringLiteral(args[0]) && shimast.IsStringLiteral(args[1]) {
288
- return importer.Namespace(ExpressionFactory_INamespace{
289
- Name: args[0].Text(),
290
- File: args[1].Text(),
291
- })
292
- }
293
- if name == "$importDefault" && len(args) == 3 && shimast.IsStringLiteral(args[0]) && shimast.IsStringLiteral(args[1]) {
294
- return importer.Default(ExpressionFactory_IDefault{
295
- Name: args[0].Text(),
296
- File: args[1].Text(),
297
- Type: false,
298
- })
299
- }
300
- return nil
269
+ call := node.AsCallExpression()
270
+ if call == nil || call.Expression == nil || call.Expression.Kind != shimast.KindIdentifier {
271
+ return nil
272
+ }
273
+ name := call.Expression.Text()
274
+ args := []*shimast.Node{}
275
+ if call.Arguments != nil {
276
+ args = call.Arguments.Nodes
277
+ }
278
+ if name == "$importInternal" && len(args) == 1 && shimast.IsStringLiteral(args[0]) {
279
+ return importer.Internal(args[0].Text())
280
+ }
281
+ if name == "$importInstance" && len(args) == 2 && shimast.IsStringLiteral(args[0]) && shimast.IsStringLiteral(args[1]) {
282
+ return importer.Instance(ExpressionFactory_IInstance{
283
+ Name: args[0].Text(),
284
+ File: args[1].Text(),
285
+ })
286
+ }
287
+ if name == "$importNamespace" && len(args) == 2 && shimast.IsStringLiteral(args[0]) && shimast.IsStringLiteral(args[1]) {
288
+ return importer.Namespace(ExpressionFactory_INamespace{
289
+ Name: args[0].Text(),
290
+ File: args[1].Text(),
291
+ })
292
+ }
293
+ if name == "$importDefault" && len(args) == 3 && shimast.IsStringLiteral(args[0]) && shimast.IsStringLiteral(args[1]) {
294
+ return importer.Default(ExpressionFactory_IDefault{
295
+ Name: args[0].Text(),
296
+ File: args[1].Text(),
297
+ Type: false,
298
+ })
299
+ }
300
+ return nil
301
301
  }
302
302
 
303
303
  func expressionFactory_number_text(value any) (string, float64) {
304
- switch v := value.(type) {
305
- case int:
306
- return fmt.Sprint(v), float64(v)
307
- case int64:
308
- return fmt.Sprint(v), float64(v)
309
- case float32:
310
- return fmt.Sprint(v), float64(v)
311
- case float64:
312
- return fmt.Sprint(v), v
313
- default:
314
- text := fmt.Sprint(value)
315
- var f float64
316
- fmt.Sscan(text, &f)
317
- return text, f
318
- }
304
+ switch v := value.(type) {
305
+ case int:
306
+ return fmt.Sprint(v), float64(v)
307
+ case int64:
308
+ return fmt.Sprint(v), float64(v)
309
+ case float32:
310
+ return fmt.Sprint(v), float64(v)
311
+ case float64:
312
+ return fmt.Sprint(v), v
313
+ default:
314
+ text := fmt.Sprint(value)
315
+ var f float64
316
+ fmt.Sscan(text, &f)
317
+ return text, f
318
+ }
319
319
  }
320
320
 
321
321
  func expressionFactory_number_abs_text(value float64) string {
322
- text := fmt.Sprint(math.Abs(value))
323
- return strings.TrimSuffix(text, ".0")
322
+ text := fmt.Sprint(math.Abs(value))
323
+ return strings.TrimSuffix(text, ".0")
324
324
  }
325
325
 
326
326
  func expressionFactory_random_format_uuid() string {
327
- bytes := make([]byte, 16)
328
- if _, err := rand.Read(bytes); err != nil {
329
- return "00000000-0000-4000-8000-000000000000"
330
- }
331
- bytes[6] = (bytes[6] & 0x0f) | 0x40
332
- bytes[8] = (bytes[8] & 0x3f) | 0x80
333
- return fmt.Sprintf("%08x-%04x-%04x-%04x-%012x", bytes[0:4], bytes[4:6], bytes[6:8], bytes[8:10], bytes[10:16])
327
+ bytes := make([]byte, 16)
328
+ if _, err := rand.Read(bytes); err != nil {
329
+ return "00000000-0000-4000-8000-000000000000"
330
+ }
331
+ bytes[6] = (bytes[6] & 0x0f) | 0x40
332
+ bytes[8] = (bytes[8] & 0x3f) | 0x80
333
+ return fmt.Sprintf("%08x-%04x-%04x-%04x-%012x", bytes[0:4], bytes[4:6], bytes[6:8], bytes[8:10], bytes[10:16])
334
334
  }