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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (364) hide show
  1. package/lib/executable/TypiaGenerateWizard.js +55 -8
  2. package/lib/executable/TypiaGenerateWizard.js.map +1 -1
  3. package/lib/executable/TypiaGenerateWizard2.mjs +55 -8
  4. package/lib/executable/TypiaGenerateWizard2.mjs.map +1 -1
  5. package/lib/executable/generate/ttsc.js.map +1 -1
  6. package/lib/executable/setup/PluginConfigurator.js.map +1 -1
  7. package/lib/internal/_randomInteger.js.map +1 -1
  8. package/lib/internal/_validateReport.js.map +1 -1
  9. package/lib/transform.d.ts +2 -13
  10. package/lib/transform.js +4 -11
  11. package/lib/transform.js.map +1 -1
  12. package/lib/transform2.mjs +6 -14
  13. package/lib/transform2.mjs.map +1 -1
  14. package/native/adapter/adapter.go +128 -128
  15. package/native/adapter/cleanup.go +155 -172
  16. package/native/adapter/imports.go +80 -80
  17. package/native/adapter/visit.go +142 -142
  18. package/native/cmd/ttsc-typia/build.go +223 -223
  19. package/native/cmd/ttsc-typia/main.go +57 -57
  20. package/native/cmd/ttsc-typia/transform.go +421 -254
  21. package/native/cmd/ttsc-typia/transform_test.go +40 -0
  22. package/native/core/context/IProgrammerProps.go +7 -7
  23. package/native/core/context/ITransformOptions.go +5 -5
  24. package/native/core/context/ITypiaContext.go +13 -13
  25. package/native/core/context/TransformerError.go +81 -81
  26. package/native/core/factories/CommentFactory.go +9 -9
  27. package/native/core/factories/ExpressionFactory.go +254 -254
  28. package/native/core/factories/FormatCheatSheet.go +23 -23
  29. package/native/core/factories/IdentifierFactory.go +130 -130
  30. package/native/core/factories/JsonMetadataFactory.go +129 -129
  31. package/native/core/factories/LiteralFactory.go +195 -182
  32. package/native/core/factories/MetadataCommentTagFactory.go +379 -379
  33. package/native/core/factories/MetadataFactory.go +462 -462
  34. package/native/core/factories/MetadataTypeTagFactory.go +498 -498
  35. package/native/core/factories/MetadataTypeTagSchemaFactory.go +102 -102
  36. package/native/core/factories/NumericRangeFactory.go +84 -84
  37. package/native/core/factories/ProtobufFactory.go +933 -933
  38. package/native/core/factories/StatementFactory.go +72 -72
  39. package/native/core/factories/TemplateFactory.go +57 -57
  40. package/native/core/factories/TypeFactory.go +125 -125
  41. package/native/core/factories/ValueFactory.go +12 -12
  42. package/native/core/factories/internal/metadata/IMetadataIteratorProps.go +35 -35
  43. package/native/core/factories/internal/metadata/MetadataHelper.go +176 -176
  44. package/native/core/factories/internal/metadata/emend_metadata_atomics.go +69 -69
  45. package/native/core/factories/internal/metadata/emplace_metadata_alias.go +27 -27
  46. package/native/core/factories/internal/metadata/emplace_metadata_array_type.go +33 -33
  47. package/native/core/factories/internal/metadata/emplace_metadata_object.go +209 -209
  48. package/native/core/factories/internal/metadata/emplace_metadata_tuple.go +50 -50
  49. package/native/core/factories/internal/metadata/explore_metadata.go +29 -29
  50. package/native/core/factories/internal/metadata/iterate_metadata.go +46 -46
  51. package/native/core/factories/internal/metadata/iterate_metadata_alias.go +25 -25
  52. package/native/core/factories/internal/metadata/iterate_metadata_array.go +65 -65
  53. package/native/core/factories/internal/metadata/iterate_metadata_atomic.go +49 -49
  54. package/native/core/factories/internal/metadata/iterate_metadata_coalesce.go +22 -22
  55. package/native/core/factories/internal/metadata/iterate_metadata_collection.go +228 -228
  56. package/native/core/factories/internal/metadata/iterate_metadata_comment_tags.go +12 -12
  57. package/native/core/factories/internal/metadata/iterate_metadata_constant.go +71 -71
  58. package/native/core/factories/internal/metadata/iterate_metadata_escape.go +48 -48
  59. package/native/core/factories/internal/metadata/iterate_metadata_function.go +82 -82
  60. package/native/core/factories/internal/metadata/iterate_metadata_intersection.go +319 -319
  61. package/native/core/factories/internal/metadata/iterate_metadata_map.go +51 -51
  62. package/native/core/factories/internal/metadata/iterate_metadata_native.go +85 -85
  63. package/native/core/factories/internal/metadata/iterate_metadata_object.go +27 -27
  64. package/native/core/factories/internal/metadata/iterate_metadata_set.go +37 -37
  65. package/native/core/factories/internal/metadata/iterate_metadata_sort.go +137 -137
  66. package/native/core/factories/internal/metadata/iterate_metadata_template.go +33 -33
  67. package/native/core/factories/internal/metadata/iterate_metadata_tuple.go +16 -16
  68. package/native/core/factories/internal/metadata/iterate_metadata_union.go +18 -18
  69. package/native/core/programmers/AssertProgrammer.go +389 -389
  70. package/native/core/programmers/ImportProgrammer.go +196 -196
  71. package/native/core/programmers/IsProgrammer.go +293 -293
  72. package/native/core/programmers/RandomProgrammer.go +1094 -1094
  73. package/native/core/programmers/ValidateProgrammer.go +369 -369
  74. package/native/core/programmers/functional/FunctionalAssertFunctionProgrammer.go +133 -133
  75. package/native/core/programmers/functional/FunctionalAssertParametersProgrammer.go +104 -104
  76. package/native/core/programmers/functional/FunctionalAssertReturnProgrammer.go +100 -100
  77. package/native/core/programmers/functional/FunctionalIsFunctionProgrammer.go +79 -79
  78. package/native/core/programmers/functional/FunctionalIsParametersProgrammer.go +159 -159
  79. package/native/core/programmers/functional/FunctionalIsReturnProgrammer.go +99 -99
  80. package/native/core/programmers/functional/FunctionalValidateFunctionProgrammer.go +138 -138
  81. package/native/core/programmers/functional/FunctionalValidateParametersProgrammer.go +222 -222
  82. package/native/core/programmers/functional/FunctionalValidateReturnProgrammer.go +116 -116
  83. package/native/core/programmers/functional/internal/FunctionalGeneralProgrammer.go +36 -36
  84. package/native/core/programmers/helpers/AtomicPredicator.go +35 -35
  85. package/native/core/programmers/helpers/CloneJoiner.go +217 -217
  86. package/native/core/programmers/helpers/FunctionProgrammer.go +79 -79
  87. package/native/core/programmers/helpers/HttpMetadataUtil.go +17 -17
  88. package/native/core/programmers/helpers/ICheckEntry.go +5 -5
  89. package/native/core/programmers/helpers/IExpressionEntry.go +6 -6
  90. package/native/core/programmers/helpers/NotationJoiner.go +159 -159
  91. package/native/core/programmers/helpers/OptionPredicator.go +4 -4
  92. package/native/core/programmers/helpers/ProtobufUtil.go +231 -231
  93. package/native/core/programmers/helpers/ProtobufWire.go +6 -6
  94. package/native/core/programmers/helpers/PruneJoiner.go +227 -227
  95. package/native/core/programmers/helpers/RandomJoiner.go +155 -155
  96. package/native/core/programmers/helpers/StringifyJoinder.go +331 -331
  97. package/native/core/programmers/helpers/StringifyPredicator.go +10 -10
  98. package/native/core/programmers/helpers/UnionExplorer.go +835 -835
  99. package/native/core/programmers/helpers/UnionPredicator.go +78 -78
  100. package/native/core/programmers/helpers/disable_function_programmer_declare.go +6 -6
  101. package/native/core/programmers/http/HttpAssertFormDataProgrammer.go +93 -93
  102. package/native/core/programmers/http/HttpAssertHeadersProgrammer.go +42 -42
  103. package/native/core/programmers/http/HttpAssertQueryProgrammer.go +51 -51
  104. package/native/core/programmers/http/HttpFormDataProgrammer.go +351 -351
  105. package/native/core/programmers/http/HttpHeadersProgrammer.go +370 -370
  106. package/native/core/programmers/http/HttpIsFormDataProgrammer.go +109 -109
  107. package/native/core/programmers/http/HttpIsHeadersProgrammer.go +36 -36
  108. package/native/core/programmers/http/HttpIsQueryProgrammer.go +45 -45
  109. package/native/core/programmers/http/HttpParameterProgrammer.go +158 -158
  110. package/native/core/programmers/http/HttpQueryProgrammer.go +422 -422
  111. package/native/core/programmers/http/HttpValidateFormDataProgrammer.go +87 -87
  112. package/native/core/programmers/http/HttpValidateHeadersProgrammer.go +39 -39
  113. package/native/core/programmers/http/HttpValidateQueryProgrammer.go +48 -48
  114. package/native/core/programmers/internal/CheckerProgrammer.go +1490 -1490
  115. package/native/core/programmers/internal/FeatureProgrammer.go +589 -589
  116. package/native/core/programmers/iterate/check_array_length.go +46 -46
  117. package/native/core/programmers/iterate/check_bigint.go +52 -52
  118. package/native/core/programmers/iterate/check_dynamic_key.go +220 -220
  119. package/native/core/programmers/iterate/check_dynamic_properties.go +245 -245
  120. package/native/core/programmers/iterate/check_everything.go +21 -21
  121. package/native/core/programmers/iterate/check_native.go +25 -25
  122. package/native/core/programmers/iterate/check_number.go +135 -135
  123. package/native/core/programmers/iterate/check_object.go +66 -66
  124. package/native/core/programmers/iterate/check_string.go +52 -52
  125. package/native/core/programmers/iterate/check_template.go +57 -57
  126. package/native/core/programmers/iterate/check_union_array_like.go +372 -372
  127. package/native/core/programmers/iterate/decode_union_object.go +118 -118
  128. package/native/core/programmers/iterate/feature_object_entries.go +134 -134
  129. package/native/core/programmers/iterate/json_schema_alias.go +52 -52
  130. package/native/core/programmers/iterate/json_schema_array.go +52 -52
  131. package/native/core/programmers/iterate/json_schema_bigint.go +8 -8
  132. package/native/core/programmers/iterate/json_schema_boolean.go +8 -8
  133. package/native/core/programmers/iterate/json_schema_constant.go +38 -38
  134. package/native/core/programmers/iterate/json_schema_description.go +12 -12
  135. package/native/core/programmers/iterate/json_schema_discriminator.go +47 -47
  136. package/native/core/programmers/iterate/json_schema_escaped.go +58 -58
  137. package/native/core/programmers/iterate/json_schema_jsDocTags.go +34 -34
  138. package/native/core/programmers/iterate/json_schema_native.go +43 -43
  139. package/native/core/programmers/iterate/json_schema_number.go +8 -8
  140. package/native/core/programmers/iterate/json_schema_object.go +149 -149
  141. package/native/core/programmers/iterate/json_schema_plugin.go +35 -35
  142. package/native/core/programmers/iterate/json_schema_station.go +211 -211
  143. package/native/core/programmers/iterate/json_schema_string.go +8 -8
  144. package/native/core/programmers/iterate/json_schema_template.go +53 -53
  145. package/native/core/programmers/iterate/json_schema_title.go +16 -16
  146. package/native/core/programmers/iterate/json_schema_tuple.go +34 -34
  147. package/native/core/programmers/iterate/metadata_to_pattern.go +53 -53
  148. package/native/core/programmers/iterate/postfix_of_tuple.go +5 -5
  149. package/native/core/programmers/iterate/prune_object_properties.go +85 -85
  150. package/native/core/programmers/iterate/stringify_dynamic_properties.go +193 -193
  151. package/native/core/programmers/iterate/stringify_native.go +1 -1
  152. package/native/core/programmers/iterate/stringify_regular_properties.go +84 -84
  153. package/native/core/programmers/iterate/template_to_pattern.go +20 -20
  154. package/native/core/programmers/iterate/wrap_metadata_rest_tuple.go +13 -13
  155. package/native/core/programmers/json/JsonApplicationProgrammer.go +323 -323
  156. package/native/core/programmers/json/JsonAssertParseProgrammer.go +100 -100
  157. package/native/core/programmers/json/JsonAssertStringifyProgrammer.go +88 -88
  158. package/native/core/programmers/json/JsonIsParseProgrammer.go +130 -130
  159. package/native/core/programmers/json/JsonIsStringifyProgrammer.go +92 -92
  160. package/native/core/programmers/json/JsonSchemaProgrammer.go +65 -65
  161. package/native/core/programmers/json/JsonSchemasProgrammer.go +116 -116
  162. package/native/core/programmers/json/JsonStringifyProgrammer.go +1245 -1245
  163. package/native/core/programmers/json/JsonValidateParseProgrammer.go +89 -89
  164. package/native/core/programmers/json/JsonValidateStringifyProgrammer.go +106 -106
  165. package/native/core/programmers/llm/LlmApplicationProgrammer.go +449 -437
  166. package/native/core/programmers/llm/LlmCoerceProgrammer.go +79 -79
  167. package/native/core/programmers/llm/LlmControllerProgrammer.go +35 -35
  168. package/native/core/programmers/llm/LlmMetadataFactory.go +74 -74
  169. package/native/core/programmers/llm/LlmParametersProgrammer.go +105 -132
  170. package/native/core/programmers/llm/LlmParseProgrammer.go +88 -88
  171. package/native/core/programmers/llm/LlmSchemaProgrammer.go +780 -423
  172. package/native/core/programmers/llm/LlmStructuredOutputProgrammer.go +123 -123
  173. package/native/core/programmers/misc/MiscAssertCloneProgrammer.go +82 -82
  174. package/native/core/programmers/misc/MiscAssertPruneProgrammer.go +97 -97
  175. package/native/core/programmers/misc/MiscCloneProgrammer.go +1056 -1056
  176. package/native/core/programmers/misc/MiscIsCloneProgrammer.go +94 -94
  177. package/native/core/programmers/misc/MiscIsPruneProgrammer.go +86 -86
  178. package/native/core/programmers/misc/MiscLiteralsProgrammer.go +99 -99
  179. package/native/core/programmers/misc/MiscPruneProgrammer.go +700 -700
  180. package/native/core/programmers/misc/MiscValidateCloneProgrammer.go +103 -103
  181. package/native/core/programmers/misc/MiscValidatePruneProgrammer.go +94 -94
  182. package/native/core/programmers/notations/NotationAssertGeneralProgrammer.go +85 -85
  183. package/native/core/programmers/notations/NotationGeneralProgrammer.go +1188 -1188
  184. package/native/core/programmers/notations/NotationIsGeneralProgrammer.go +90 -90
  185. package/native/core/programmers/notations/NotationValidateGeneralProgrammer.go +109 -109
  186. package/native/core/programmers/protobuf/ProtobufAssertDecodeProgrammer.go +99 -99
  187. package/native/core/programmers/protobuf/ProtobufAssertEncodeProgrammer.go +114 -114
  188. package/native/core/programmers/protobuf/ProtobufDecodeProgrammer.go +697 -697
  189. package/native/core/programmers/protobuf/ProtobufEncodeProgrammer.go +1039 -1039
  190. package/native/core/programmers/protobuf/ProtobufIsDecodeProgrammer.go +99 -99
  191. package/native/core/programmers/protobuf/ProtobufIsEncodeProgrammer.go +93 -93
  192. package/native/core/programmers/protobuf/ProtobufMessageProgrammer.go +228 -228
  193. package/native/core/programmers/protobuf/ProtobufValidateDecodeProgrammer.go +88 -88
  194. package/native/core/programmers/protobuf/ProtobufValidateEncodeProgrammer.go +120 -120
  195. package/native/core/schemas/metadata/IMetadataDictionary.go +4 -4
  196. package/native/core/schemas/metadata/MetadataAlias.go +15 -15
  197. package/native/core/schemas/metadata/MetadataAliasType.go +36 -36
  198. package/native/core/schemas/metadata/MetadataApplication.go +25 -25
  199. package/native/core/schemas/metadata/MetadataArray.go +15 -15
  200. package/native/core/schemas/metadata/MetadataArrayType.go +31 -31
  201. package/native/core/schemas/metadata/MetadataAtomic.go +45 -45
  202. package/native/core/schemas/metadata/MetadataCollection.go +380 -380
  203. package/native/core/schemas/metadata/MetadataComponents.go +95 -95
  204. package/native/core/schemas/metadata/MetadataConstant.go +31 -31
  205. package/native/core/schemas/metadata/MetadataConstantValue.go +63 -63
  206. package/native/core/schemas/metadata/MetadataEscaped.go +17 -17
  207. package/native/core/schemas/metadata/MetadataFunction.go +30 -30
  208. package/native/core/schemas/metadata/MetadataMap.go +21 -21
  209. package/native/core/schemas/metadata/MetadataNative.go +48 -48
  210. package/native/core/schemas/metadata/MetadataObject.go +15 -15
  211. package/native/core/schemas/metadata/MetadataObjectType.go +116 -116
  212. package/native/core/schemas/metadata/MetadataParameter.go +28 -28
  213. package/native/core/schemas/metadata/MetadataProperty.go +32 -32
  214. package/native/core/schemas/metadata/MetadataSchema.go +766 -766
  215. package/native/core/schemas/metadata/MetadataSet.go +17 -17
  216. package/native/core/schemas/metadata/MetadataTemplate.go +43 -43
  217. package/native/core/schemas/metadata/MetadataTuple.go +10 -10
  218. package/native/core/schemas/metadata/MetadataTupleType.go +38 -38
  219. package/native/core/schemas/protobuf/IProtobufProperty.go +2 -2
  220. package/native/core/schemas/protobuf/IProtobufPropertyType.go +18 -18
  221. package/native/core/schemas/protobuf/IProtobufSchema.go +17 -17
  222. package/native/core/typings/Writable.go +1 -1
  223. package/native/core/utils/PatternUtil.go +38 -38
  224. package/native/core/utils/ProtobufNameEncoder.go +28 -28
  225. package/native/shim/printer/shim.go +213 -213
  226. package/native/third_party/ttsc/driver/host.go +7 -7
  227. package/native/third_party/ttsc/driver/program.go +275 -275
  228. package/native/third_party/ttsc/driver/rewrite.go +219 -219
  229. package/native/third_party/ttsc/shim/ast/lint.go +171 -171
  230. package/native/third_party/ttsc/shim/ast/shim.go +83 -83
  231. package/native/third_party/ttsc/shim/bundled/shim.go +5 -1
  232. package/native/third_party/ttsc/shim/checker/shim.go +79 -79
  233. package/native/third_party/ttsc/shim/compiler/shim.go +16 -1
  234. package/native/third_party/ttsc/shim/core/shim.go +10 -10
  235. package/native/third_party/ttsc/shim/diagnosticwriter/lint.go +79 -79
  236. package/native/third_party/ttsc/shim/diagnosticwriter/shim.go +19 -19
  237. package/native/third_party/ttsc/shim/parser/shim.go +7 -1
  238. package/native/third_party/ttsc/shim/scanner/shim.go +39 -1
  239. package/native/third_party/ttsc/shim/tsoptions/shim.go +51 -1
  240. package/native/third_party/ttsc/shim/tspath/shim.go +72 -1
  241. package/native/third_party/ttsc/shim/vfs/cachedvfs/shim.go +1 -1
  242. package/native/third_party/ttsc/shim/vfs/osvfs/shim.go +1 -1
  243. package/native/third_party/ttsc/shim/vfs/shim.go +4 -1
  244. package/native/transform/CallExpressionTransformer.go +556 -556
  245. package/native/transform/FileTransformer.go +123 -123
  246. package/native/transform/ImportTransformer.go +224 -224
  247. package/native/transform/NodeTransformer.go +11 -11
  248. package/native/transform/TypiaGenerator.go +136 -136
  249. package/native/transform/features/AssertTransformer.go +28 -28
  250. package/native/transform/features/CreateAssertTransformer.go +28 -28
  251. package/native/transform/features/CreateIsTransformer.go +24 -24
  252. package/native/transform/features/CreateRandomTransformer.go +35 -35
  253. package/native/transform/features/CreateValidateTransformer.go +24 -24
  254. package/native/transform/features/IsTransformer.go +24 -24
  255. package/native/transform/features/RandomTransformer.go +37 -37
  256. package/native/transform/features/ValidateTransformer.go +24 -24
  257. package/native/transform/features/functional/FunctionalGenericTransformer.go +48 -48
  258. package/native/transform/features/http/CreateHttpAssertFormDataTransformer.go +11 -11
  259. package/native/transform/features/http/CreateHttpAssertHeadersTransformer.go +11 -11
  260. package/native/transform/features/http/CreateHttpAssertQueryTransformer.go +17 -17
  261. package/native/transform/features/http/CreateHttpFormDataTransformer.go +11 -11
  262. package/native/transform/features/http/CreateHttpHeadersTransformer.go +11 -11
  263. package/native/transform/features/http/CreateHttpIsFormDataTransformer.go +11 -11
  264. package/native/transform/features/http/CreateHttpIsHeadersTransformer.go +11 -11
  265. package/native/transform/features/http/CreateHttpIsQueryTransformer.go +17 -17
  266. package/native/transform/features/http/CreateHttpParameterTransformer.go +11 -11
  267. package/native/transform/features/http/CreateHttpQueryTransformer.go +17 -17
  268. package/native/transform/features/http/CreateHttpValidateFormDataTransformer.go +11 -11
  269. package/native/transform/features/http/CreateHttpValidateHeadersTransformer.go +11 -11
  270. package/native/transform/features/http/CreateHttpValidateQueryTransformer.go +17 -17
  271. package/native/transform/features/http/HttpAssertFormDataTransformer.go +11 -11
  272. package/native/transform/features/http/HttpAssertHeadersTransformer.go +11 -11
  273. package/native/transform/features/http/HttpAssertQueryTransformer.go +17 -17
  274. package/native/transform/features/http/HttpFormDataTransformer.go +11 -11
  275. package/native/transform/features/http/HttpHeadersTransformer.go +11 -11
  276. package/native/transform/features/http/HttpIsFormDataTransformer.go +11 -11
  277. package/native/transform/features/http/HttpIsHeadersTransformer.go +11 -11
  278. package/native/transform/features/http/HttpIsQueryTransformer.go +17 -17
  279. package/native/transform/features/http/HttpParameterTransformer.go +11 -11
  280. package/native/transform/features/http/HttpQueryTransformer.go +17 -17
  281. package/native/transform/features/http/HttpValidateFormDataTransformer.go +11 -11
  282. package/native/transform/features/http/HttpValidateHeadersTransformer.go +11 -11
  283. package/native/transform/features/http/HttpValidateQueryTransformer.go +17 -17
  284. package/native/transform/features/json/JsonApplicationTransformer.go +61 -61
  285. package/native/transform/features/json/JsonAssertParseTransformer.go +11 -11
  286. package/native/transform/features/json/JsonAssertStringifyTransformer.go +11 -11
  287. package/native/transform/features/json/JsonCreateAssertParseTransformer.go +11 -11
  288. package/native/transform/features/json/JsonCreateAssertStringifyTransformer.go +11 -11
  289. package/native/transform/features/json/JsonCreateIsParseTransformer.go +11 -11
  290. package/native/transform/features/json/JsonCreateIsStringifyTransformer.go +11 -11
  291. package/native/transform/features/json/JsonCreateStringifyTransformer.go +11 -11
  292. package/native/transform/features/json/JsonCreateValidateParseTransformer.go +11 -11
  293. package/native/transform/features/json/JsonCreateValidateStringifyProgrammer.go +11 -11
  294. package/native/transform/features/json/JsonIsParseTransformer.go +11 -11
  295. package/native/transform/features/json/JsonIsStringifyTransformer.go +11 -11
  296. package/native/transform/features/json/JsonSchemaTransformer.go +148 -148
  297. package/native/transform/features/json/JsonSchemasTransformer.go +94 -94
  298. package/native/transform/features/json/JsonStringifyTransformer.go +11 -11
  299. package/native/transform/features/json/JsonValidateParseTransformer.go +11 -11
  300. package/native/transform/features/json/JsonValidateStringifyTransformer.go +11 -11
  301. package/native/transform/features/llm/LlmApplicationTransformer.go +43 -43
  302. package/native/transform/features/llm/LlmCoerceTransformer.go +50 -50
  303. package/native/transform/features/llm/LlmControllerTransformer.go +48 -48
  304. package/native/transform/features/llm/LlmCreateCoerceTransformer.go +43 -43
  305. package/native/transform/features/llm/LlmCreateParseTransformer.go +43 -43
  306. package/native/transform/features/llm/LlmParametersTransformer.go +38 -38
  307. package/native/transform/features/llm/LlmParseTransformer.go +50 -50
  308. package/native/transform/features/llm/LlmSchemaTransformer.go +129 -129
  309. package/native/transform/features/llm/LlmStructuredOutputTransformer.go +44 -44
  310. package/native/transform/features/misc/MiscAssertCloneTransformer.go +11 -11
  311. package/native/transform/features/misc/MiscAssertPruneTransformer.go +11 -11
  312. package/native/transform/features/misc/MiscCloneTransformer.go +11 -11
  313. package/native/transform/features/misc/MiscCreateAssertCloneTransformer.go +11 -11
  314. package/native/transform/features/misc/MiscCreateAssertPruneTransformer.go +11 -11
  315. package/native/transform/features/misc/MiscCreateCloneTransformer.go +11 -11
  316. package/native/transform/features/misc/MiscCreateIsCloneTransformer.go +11 -11
  317. package/native/transform/features/misc/MiscCreateIsPruneTransformer.go +11 -11
  318. package/native/transform/features/misc/MiscCreatePruneTransformer.go +11 -11
  319. package/native/transform/features/misc/MiscCreateValidateCloneTransformer.go +11 -11
  320. package/native/transform/features/misc/MiscCreateValidatePruneTransformer.go +11 -11
  321. package/native/transform/features/misc/MiscIsCloneTransformer.go +11 -11
  322. package/native/transform/features/misc/MiscIsPruneTransformer.go +11 -11
  323. package/native/transform/features/misc/MiscLiteralsTransformer.go +21 -21
  324. package/native/transform/features/misc/MiscPruneTransformer.go +11 -11
  325. package/native/transform/features/misc/MiscValidateCloneTransformer.go +11 -11
  326. package/native/transform/features/misc/MiscValidatePruneTransformer.go +11 -11
  327. package/native/transform/features/notations/NotationAssertGeneralTransformer.go +16 -16
  328. package/native/transform/features/notations/NotationCreateAssertGeneralTransformer.go +16 -16
  329. package/native/transform/features/notations/NotationCreateGeneralTransformer.go +16 -16
  330. package/native/transform/features/notations/NotationCreateIsGeneralTransformer.go +16 -16
  331. package/native/transform/features/notations/NotationCreateValidateGeneralTransformer.go +16 -16
  332. package/native/transform/features/notations/NotationGeneralTransformer.go +21 -21
  333. package/native/transform/features/notations/NotationIsGeneralTransformer.go +16 -16
  334. package/native/transform/features/notations/NotationValidateGeneralTransformer.go +16 -16
  335. package/native/transform/features/protobuf/ProtobufAssertDecodeTransformer.go +11 -11
  336. package/native/transform/features/protobuf/ProtobufAssertEncodeTransformer.go +11 -11
  337. package/native/transform/features/protobuf/ProtobufCreateAssertDecodeTransformer.go +11 -11
  338. package/native/transform/features/protobuf/ProtobufCreateAssertEncodeTransformer.go +11 -11
  339. package/native/transform/features/protobuf/ProtobufCreateDecodeTransformer.go +11 -11
  340. package/native/transform/features/protobuf/ProtobufCreateEncodeTransformer.go +11 -11
  341. package/native/transform/features/protobuf/ProtobufCreateIsDecodeTransformer.go +11 -11
  342. package/native/transform/features/protobuf/ProtobufCreateIsEncodeTransformer.go +11 -11
  343. package/native/transform/features/protobuf/ProtobufCreateValidateDecodeTransformer.go +11 -11
  344. package/native/transform/features/protobuf/ProtobufCreateValidateEncodeTransformer.go +11 -11
  345. package/native/transform/features/protobuf/ProtobufDecodeTransformer.go +11 -11
  346. package/native/transform/features/protobuf/ProtobufEncodeTransformer.go +11 -11
  347. package/native/transform/features/protobuf/ProtobufIsDecodeTransformer.go +11 -11
  348. package/native/transform/features/protobuf/ProtobufIsEncodeTransformer.go +11 -11
  349. package/native/transform/features/protobuf/ProtobufMessageTransformer.go +20 -20
  350. package/native/transform/features/protobuf/ProtobufValidateDecodeTransformer.go +11 -11
  351. package/native/transform/features/protobuf/ProtobufValidateEncodeTransformer.go +11 -11
  352. package/native/transform/features/reflect/ReflectMetadataTransformer.go +59 -59
  353. package/native/transform/features/reflect/ReflectNameTransformer.go +78 -78
  354. package/native/transform/features/reflect/ReflectSchemaTransformer.go +121 -121
  355. package/native/transform/features/reflect/ReflectSchemasTransformer.go +55 -55
  356. package/native/transform/internal/GenericTransformer.go +173 -173
  357. package/native/transform/transform.go +32 -32
  358. package/package.json +4 -4
  359. package/src/executable/TypiaGenerateWizard.ts +78 -9
  360. package/src/executable/generate/ttsc.ts +2 -3
  361. package/src/executable/setup/PluginConfigurator.ts +2 -3
  362. package/src/internal/_randomInteger.ts +5 -5
  363. package/src/internal/_validateReport.ts +1 -2
  364. package/src/transform.ts +6 -11
@@ -1,116 +1,116 @@
1
1
  package helpers
2
2
 
3
3
  import (
4
- "fmt"
4
+ "fmt"
5
5
 
6
- shimast "github.com/microsoft/typescript-go/shim/ast"
7
- nativefactories "github.com/samchon/typia/packages/typia/native/core/factories"
6
+ shimast "github.com/microsoft/typescript-go/shim/ast"
7
+ nativefactories "github.com/samchon/typia/packages/typia/native/core/factories"
8
8
  )
9
9
 
10
10
  type FunctionProgrammer struct {
11
- Method string
12
- local_ map[string]bool
13
- unions_ map[string]*functionProgrammer_union
14
- unionOrder_ []string
15
- variables_ map[string]*shimast.Node
16
- variableOrder_ []string
17
- sequence_ int
18
- disableDeclare bool
11
+ Method string
12
+ local_ map[string]bool
13
+ unions_ map[string]*functionProgrammer_union
14
+ unionOrder_ []string
15
+ variables_ map[string]*shimast.Node
16
+ variableOrder_ []string
17
+ sequence_ int
18
+ disableDeclare bool
19
19
  }
20
20
 
21
21
  type functionProgrammer_union struct {
22
- name string
23
- value *shimast.Node
22
+ name string
23
+ value *shimast.Node
24
24
  }
25
25
 
26
26
  var functionProgrammer_factory = shimast.NewNodeFactory(shimast.NodeFactoryHooks{})
27
27
 
28
28
  func NewFunctionProgrammer(method string) *FunctionProgrammer {
29
- return &FunctionProgrammer{
30
- Method: method,
31
- local_: map[string]bool{},
32
- unions_: map[string]*functionProgrammer_union{},
33
- unionOrder_: []string{},
34
- variables_: map[string]*shimast.Node{},
35
- variableOrder_: []string{},
36
- }
29
+ return &FunctionProgrammer{
30
+ Method: method,
31
+ local_: map[string]bool{},
32
+ unions_: map[string]*functionProgrammer_union{},
33
+ unionOrder_: []string{},
34
+ variables_: map[string]*shimast.Node{},
35
+ variableOrder_: []string{},
36
+ }
37
37
  }
38
38
 
39
39
  func (p *FunctionProgrammer) UseLocal(name string) string {
40
- p.local_[name] = true
41
- return name
40
+ p.local_[name] = true
41
+ return name
42
42
  }
43
43
 
44
44
  func (p *FunctionProgrammer) HasLocal(name string) bool {
45
- return p.local_[name]
45
+ return p.local_[name]
46
46
  }
47
47
 
48
48
  func (p *FunctionProgrammer) Declare(includeUnions ...bool) []*shimast.Node {
49
- if p.disableDeclare {
50
- return []*shimast.Node{}
51
- }
52
- output := []*shimast.Node{}
53
- for _, name := range p.variableOrder_ {
54
- value := p.variables_[name]
55
- output = append(output, nativefactories.StatementFactory.Constant(nativefactories.StatementFactory_ConstantProps{
56
- Name: name,
57
- Value: value,
58
- }))
59
- }
60
- enabled := true
61
- if len(includeUnions) != 0 {
62
- enabled = includeUnions[0]
63
- }
64
- if enabled {
65
- for _, key := range p.unionOrder_ {
66
- tuple := p.unions_[key]
67
- output = append(output, nativefactories.StatementFactory.Constant(nativefactories.StatementFactory_ConstantProps{
68
- Name: tuple.name,
69
- Value: tuple.value,
70
- }))
71
- }
72
- }
73
- return output
49
+ if p.disableDeclare {
50
+ return []*shimast.Node{}
51
+ }
52
+ output := []*shimast.Node{}
53
+ for _, name := range p.variableOrder_ {
54
+ value := p.variables_[name]
55
+ output = append(output, nativefactories.StatementFactory.Constant(nativefactories.StatementFactory_ConstantProps{
56
+ Name: name,
57
+ Value: value,
58
+ }))
59
+ }
60
+ enabled := true
61
+ if len(includeUnions) != 0 {
62
+ enabled = includeUnions[0]
63
+ }
64
+ if enabled {
65
+ for _, key := range p.unionOrder_ {
66
+ tuple := p.unions_[key]
67
+ output = append(output, nativefactories.StatementFactory.Constant(nativefactories.StatementFactory_ConstantProps{
68
+ Name: tuple.name,
69
+ Value: tuple.value,
70
+ }))
71
+ }
72
+ }
73
+ return output
74
74
  }
75
75
 
76
76
  func (p *FunctionProgrammer) DeclareUnions() []*shimast.Node {
77
- if p.disableDeclare {
78
- return []*shimast.Node{}
79
- }
80
- output := []*shimast.Node{}
81
- for _, key := range p.unionOrder_ {
82
- tuple := p.unions_[key]
83
- output = append(output, nativefactories.StatementFactory.Constant(nativefactories.StatementFactory_ConstantProps{
84
- Name: tuple.name,
85
- Value: tuple.value,
86
- }))
87
- }
88
- return output
77
+ if p.disableDeclare {
78
+ return []*shimast.Node{}
79
+ }
80
+ output := []*shimast.Node{}
81
+ for _, key := range p.unionOrder_ {
82
+ tuple := p.unions_[key]
83
+ output = append(output, nativefactories.StatementFactory.Constant(nativefactories.StatementFactory_ConstantProps{
84
+ Name: tuple.name,
85
+ Value: tuple.value,
86
+ }))
87
+ }
88
+ return output
89
89
  }
90
90
 
91
91
  func (p *FunctionProgrammer) Increment() int {
92
- p.sequence_++
93
- return p.sequence_
92
+ p.sequence_++
93
+ return p.sequence_
94
94
  }
95
95
 
96
96
  func (p *FunctionProgrammer) EmplaceUnion(prefix string, name string, factory func() *shimast.Node) string {
97
- key := prefix + "::" + name
98
- if oldbie, ok := p.unions_[key]; ok {
99
- return oldbie.name
100
- }
101
- index := len(p.unions_)
102
- accessor := fmt.Sprintf("%sp%d", prefix, index)
103
- tuple := &functionProgrammer_union{name: accessor}
104
- p.unions_[key] = tuple
105
- p.unionOrder_ = append(p.unionOrder_, key)
106
- tuple.value = factory()
107
- return accessor
97
+ key := prefix + "::" + name
98
+ if oldbie, ok := p.unions_[key]; ok {
99
+ return oldbie.name
100
+ }
101
+ index := len(p.unions_)
102
+ accessor := fmt.Sprintf("%sp%d", prefix, index)
103
+ tuple := &functionProgrammer_union{name: accessor}
104
+ p.unions_[key] = tuple
105
+ p.unionOrder_ = append(p.unionOrder_, key)
106
+ tuple.value = factory()
107
+ return accessor
108
108
  }
109
109
 
110
110
  func (p *FunctionProgrammer) EmplaceVariable(name string, value *shimast.Expression) *shimast.Node {
111
- if _, ok := p.variables_[name]; !ok {
112
- p.variableOrder_ = append(p.variableOrder_, name)
113
- }
114
- p.variables_[name] = value
115
- return functionProgrammer_factory.NewIdentifier(name)
111
+ if _, ok := p.variables_[name]; !ok {
112
+ p.variableOrder_ = append(p.variableOrder_, name)
113
+ }
114
+ p.variables_[name] = value
115
+ return functionProgrammer_factory.NewIdentifier(name)
116
116
  }
@@ -7,24 +7,24 @@ type httpMetadataUtilNamespace struct{}
7
7
  var HttpMetadataUtil = httpMetadataUtilNamespace{}
8
8
 
9
9
  func (httpMetadataUtilNamespace) Atomics(metadata *nativemetadata.MetadataSchema) map[string]struct{} {
10
- output := map[string]struct{}{}
11
- for _, atomic := range metadata.Atomics {
12
- output[atomic.Type] = struct{}{}
13
- }
14
- for _, constant := range metadata.Constants {
15
- output[constant.Type] = struct{}{}
16
- }
17
- if len(metadata.Templates) != 0 {
18
- output["string"] = struct{}{}
19
- }
20
- return output
10
+ output := map[string]struct{}{}
11
+ for _, atomic := range metadata.Atomics {
12
+ output[atomic.Type] = struct{}{}
13
+ }
14
+ for _, constant := range metadata.Constants {
15
+ output[constant.Type] = struct{}{}
16
+ }
17
+ if len(metadata.Templates) != 0 {
18
+ output["string"] = struct{}{}
19
+ }
20
+ return output
21
21
  }
22
22
 
23
23
  func (httpMetadataUtilNamespace) IsUnion(metadata *nativemetadata.MetadataSchema) bool {
24
- return len(HttpMetadataUtil.Atomics(metadata))+
25
- len(metadata.Arrays)+
26
- len(metadata.Tuples)+
27
- len(metadata.Natives)+
28
- len(metadata.Maps)+
29
- len(metadata.Objects) > 1
24
+ return len(HttpMetadataUtil.Atomics(metadata))+
25
+ len(metadata.Arrays)+
26
+ len(metadata.Tuples)+
27
+ len(metadata.Natives)+
28
+ len(metadata.Maps)+
29
+ len(metadata.Objects) > 1
30
30
  }
@@ -3,12 +3,12 @@ package helpers
3
3
  import shimast "github.com/microsoft/typescript-go/shim/ast"
4
4
 
5
5
  type ICheckEntry struct {
6
- Expected string
7
- Expression *shimast.Node
8
- Conditions [][]ICheckEntry_ICondition
6
+ Expected string
7
+ Expression *shimast.Node
8
+ Conditions [][]ICheckEntry_ICondition
9
9
  }
10
10
 
11
11
  type ICheckEntry_ICondition struct {
12
- Expected string
13
- Expression *shimast.Node
12
+ Expected string
13
+ Expression *shimast.Node
14
14
  }
@@ -1,13 +1,13 @@
1
1
  package helpers
2
2
 
3
3
  import (
4
- shimast "github.com/microsoft/typescript-go/shim/ast"
5
- nativemetadata "github.com/samchon/typia/packages/typia/native/core/schemas/metadata"
4
+ shimast "github.com/microsoft/typescript-go/shim/ast"
5
+ nativemetadata "github.com/samchon/typia/packages/typia/native/core/schemas/metadata"
6
6
  )
7
7
 
8
8
  type IExpressionEntry struct {
9
- Input *shimast.Node
10
- Key *nativemetadata.MetadataSchema
11
- Meta *nativemetadata.MetadataSchema
12
- Expression *shimast.Node
9
+ Input *shimast.Node
10
+ Key *nativemetadata.MetadataSchema
11
+ Meta *nativemetadata.MetadataSchema
12
+ Expression *shimast.Node
13
13
  }
@@ -1,9 +1,9 @@
1
1
  package helpers
2
2
 
3
3
  import (
4
- shimast "github.com/microsoft/typescript-go/shim/ast"
5
- nativefactories "github.com/samchon/typia/packages/typia/native/core/factories"
6
- nativemetadata "github.com/samchon/typia/packages/typia/native/core/schemas/metadata"
4
+ shimast "github.com/microsoft/typescript-go/shim/ast"
5
+ nativefactories "github.com/samchon/typia/packages/typia/native/core/factories"
6
+ nativemetadata "github.com/samchon/typia/packages/typia/native/core/schemas/metadata"
7
7
  )
8
8
 
9
9
  type notationJoinerNamespace struct{}
@@ -11,184 +11,184 @@ type notationJoinerNamespace struct{}
11
11
  var NotationJoiner = notationJoinerNamespace{}
12
12
 
13
13
  type NotationJoiner_ObjectProps struct {
14
- Rename func(str string) string
15
- Input *shimast.Expression
16
- Entries []IExpressionEntry
14
+ Rename func(str string) string
15
+ Input *shimast.Expression
16
+ Entries []IExpressionEntry
17
17
  }
18
18
 
19
19
  type NotationJoiner_TupleProps struct {
20
- Elements []*shimast.Expression
21
- Rest *shimast.Expression
20
+ Elements []*shimast.Expression
21
+ Rest *shimast.Expression
22
22
  }
23
23
 
24
24
  type NotationJoiner_ArrayProps struct {
25
- Input *shimast.Expression
26
- Arrow *shimast.Expression
25
+ Input *shimast.Expression
26
+ Arrow *shimast.Expression
27
27
  }
28
28
 
29
29
  var notationJoiner_factory = shimast.NewNodeFactory(shimast.NodeFactoryHooks{})
30
30
 
31
31
  func (notationJoinerNamespace) Object(props NotationJoiner_ObjectProps) *shimast.Node {
32
- if len(props.Entries) == 0 {
33
- return notationJoiner_factory.NewIdentifier("{}")
34
- }
32
+ if len(props.Entries) == 0 {
33
+ return notationJoiner_factory.NewIdentifier("{}")
34
+ }
35
35
 
36
- regular := []IExpressionEntry{}
37
- dynamic := []IExpressionEntry{}
38
- for _, entry := range props.Entries {
39
- if entry.Key.IsSoleLiteral() {
40
- regular = append(regular, entry)
41
- } else {
42
- dynamic = append(dynamic, entry)
43
- }
44
- }
36
+ regular := []IExpressionEntry{}
37
+ dynamic := []IExpressionEntry{}
38
+ for _, entry := range props.Entries {
39
+ if entry.Key.IsSoleLiteral() {
40
+ regular = append(regular, entry)
41
+ } else {
42
+ dynamic = append(dynamic, entry)
43
+ }
44
+ }
45
45
 
46
- properties := make([]*shimast.Node, 0, len(regular))
47
- for _, entry := range regular {
48
- str := props.Rename(*entry.Key.GetSoleLiteral())
49
- properties = append(properties, notationJoiner_factory.NewPropertyAssignment(
50
- nil,
51
- nativefactories.IdentifierFactory.Identifier(str),
52
- nil,
53
- nil,
54
- entry.Expression,
55
- ))
56
- }
57
- literal := notationJoiner_factory.NewObjectLiteralExpression(
58
- notationJoiner_factory.NewNodeList(properties),
59
- true,
60
- )
61
- if len(dynamic) == 0 {
62
- return literal
63
- }
46
+ properties := make([]*shimast.Node, 0, len(regular))
47
+ for _, entry := range regular {
48
+ str := props.Rename(*entry.Key.GetSoleLiteral())
49
+ properties = append(properties, notationJoiner_factory.NewPropertyAssignment(
50
+ nil,
51
+ nativefactories.IdentifierFactory.Identifier(str),
52
+ nil,
53
+ nil,
54
+ entry.Expression,
55
+ ))
56
+ }
57
+ literal := notationJoiner_factory.NewObjectLiteralExpression(
58
+ notationJoiner_factory.NewNodeList(properties),
59
+ true,
60
+ )
61
+ if len(dynamic) == 0 {
62
+ return literal
63
+ }
64
64
 
65
- key := notationJoiner_factory.NewIdentifier("key")
66
- output := notationJoiner_factory.NewIdentifier("output")
67
- statements := []*shimast.Node{}
68
- if len(regular) != 0 {
69
- statements = append(statements, notationJoiner_regular_skip(regular))
70
- }
71
- for _, entry := range dynamic {
72
- statements = append(statements, notationJoiner_factory.NewIfStatement(
73
- notationJoiner_factory.NewCallExpression(
74
- notationJoiner_factory.NewIdentifier("RegExp(/"+cloneJoiner_metadata_to_pattern(struct {
75
- top bool
76
- metadata *nativemetadata.MetadataSchema
77
- }{top: true, metadata: entry.Key})+"/).test"),
78
- nil,
79
- nil,
80
- notationJoiner_factory.NewNodeList([]*shimast.Node{key}),
81
- shimast.NodeFlagsNone,
82
- ),
83
- notationJoiner_factory.NewBlock(
84
- notationJoiner_factory.NewNodeList([]*shimast.Node{
85
- notationJoiner_factory.NewExpressionStatement(
86
- notationJoiner_factory.NewBinaryExpression(
87
- nil,
88
- notationJoiner_factory.NewElementAccessExpression(output, nil, key, shimast.NodeFlagsNone),
89
- nil,
90
- notationJoiner_factory.NewToken(shimast.KindEqualsToken),
91
- entry.Expression,
92
- ),
93
- ),
94
- notationJoiner_factory.NewContinueStatement(nil),
95
- }),
96
- false,
97
- ),
98
- nil,
99
- ))
100
- }
65
+ key := notationJoiner_factory.NewIdentifier("key")
66
+ output := notationJoiner_factory.NewIdentifier("output")
67
+ statements := []*shimast.Node{}
68
+ if len(regular) != 0 {
69
+ statements = append(statements, notationJoiner_regular_skip(regular))
70
+ }
71
+ for _, entry := range dynamic {
72
+ statements = append(statements, notationJoiner_factory.NewIfStatement(
73
+ notationJoiner_factory.NewCallExpression(
74
+ notationJoiner_factory.NewIdentifier("RegExp(/"+cloneJoiner_metadata_to_pattern(struct {
75
+ top bool
76
+ metadata *nativemetadata.MetadataSchema
77
+ }{top: true, metadata: entry.Key})+"/).test"),
78
+ nil,
79
+ nil,
80
+ notationJoiner_factory.NewNodeList([]*shimast.Node{key}),
81
+ shimast.NodeFlagsNone,
82
+ ),
83
+ notationJoiner_factory.NewBlock(
84
+ notationJoiner_factory.NewNodeList([]*shimast.Node{
85
+ notationJoiner_factory.NewExpressionStatement(
86
+ notationJoiner_factory.NewBinaryExpression(
87
+ nil,
88
+ notationJoiner_factory.NewElementAccessExpression(output, nil, key, shimast.NodeFlagsNone),
89
+ nil,
90
+ notationJoiner_factory.NewToken(shimast.KindEqualsToken),
91
+ entry.Expression,
92
+ ),
93
+ ),
94
+ notationJoiner_factory.NewContinueStatement(nil),
95
+ }),
96
+ false,
97
+ ),
98
+ nil,
99
+ ))
100
+ }
101
101
 
102
- return notationJoiner_factory.NewBlock(
103
- notationJoiner_factory.NewNodeList([]*shimast.Node{
104
- nativefactories.StatementFactory.Constant(nativefactories.StatementFactory_ConstantProps{
105
- Name: "output",
106
- Value: notationJoiner_factory.NewAsExpression(
107
- literal,
108
- nativefactories.TypeFactory.Keyword("any"),
109
- ),
110
- }),
111
- notationJoiner_factory.NewForInOrOfStatement(
112
- shimast.KindForOfStatement,
113
- nil,
114
- nativefactories.StatementFactory.Entry(nativefactories.StatementFactory_EntryProps{Key: "key", Value: "value"}),
115
- notationJoiner_factory.NewCallExpression(
116
- notationJoiner_factory.NewIdentifier("Object.entries"),
117
- nil,
118
- nil,
119
- notationJoiner_factory.NewNodeList([]*shimast.Node{props.Input}),
120
- shimast.NodeFlagsNone,
121
- ),
122
- notationJoiner_factory.NewBlock(notationJoiner_factory.NewNodeList(statements), false),
123
- ),
124
- notationJoiner_factory.NewReturnStatement(output),
125
- }),
126
- false,
127
- )
102
+ return notationJoiner_factory.NewBlock(
103
+ notationJoiner_factory.NewNodeList([]*shimast.Node{
104
+ nativefactories.StatementFactory.Constant(nativefactories.StatementFactory_ConstantProps{
105
+ Name: "output",
106
+ Value: notationJoiner_factory.NewAsExpression(
107
+ literal,
108
+ nativefactories.TypeFactory.Keyword("any"),
109
+ ),
110
+ }),
111
+ notationJoiner_factory.NewForInOrOfStatement(
112
+ shimast.KindForOfStatement,
113
+ nil,
114
+ nativefactories.StatementFactory.Entry(nativefactories.StatementFactory_EntryProps{Key: "key", Value: "value"}),
115
+ notationJoiner_factory.NewCallExpression(
116
+ notationJoiner_factory.NewIdentifier("Object.entries"),
117
+ nil,
118
+ nil,
119
+ notationJoiner_factory.NewNodeList([]*shimast.Node{props.Input}),
120
+ shimast.NodeFlagsNone,
121
+ ),
122
+ notationJoiner_factory.NewBlock(notationJoiner_factory.NewNodeList(statements), false),
123
+ ),
124
+ notationJoiner_factory.NewReturnStatement(output),
125
+ }),
126
+ false,
127
+ )
128
128
  }
129
129
 
130
130
  func (notationJoinerNamespace) Tuple(props NotationJoiner_TupleProps) *shimast.Node {
131
- elements := make([]*shimast.Node, 0, len(props.Elements)+1)
132
- for _, elem := range props.Elements {
133
- elements = append(elements, elem)
134
- }
135
- if props.Rest != nil {
136
- elements = append(elements, notationJoiner_factory.NewSpreadElement(props.Rest))
137
- }
138
- return notationJoiner_factory.NewAsExpression(
139
- notationJoiner_factory.NewArrayLiteralExpression(
140
- notationJoiner_factory.NewNodeList(elements),
141
- true,
142
- ),
143
- nativefactories.TypeFactory.Keyword("any"),
144
- )
131
+ elements := make([]*shimast.Node, 0, len(props.Elements)+1)
132
+ for _, elem := range props.Elements {
133
+ elements = append(elements, elem)
134
+ }
135
+ if props.Rest != nil {
136
+ elements = append(elements, notationJoiner_factory.NewSpreadElement(props.Rest))
137
+ }
138
+ return notationJoiner_factory.NewAsExpression(
139
+ notationJoiner_factory.NewArrayLiteralExpression(
140
+ notationJoiner_factory.NewNodeList(elements),
141
+ true,
142
+ ),
143
+ nativefactories.TypeFactory.Keyword("any"),
144
+ )
145
145
  }
146
146
 
147
147
  func (notationJoinerNamespace) Array(props NotationJoiner_ArrayProps) *shimast.Node {
148
- return notationJoiner_factory.NewCallExpression(
149
- nativefactories.IdentifierFactory.Access(props.Input, "map"),
150
- nil,
151
- nil,
152
- notationJoiner_factory.NewNodeList([]*shimast.Node{props.Arrow}),
153
- shimast.NodeFlagsNone,
154
- )
148
+ return notationJoiner_factory.NewCallExpression(
149
+ nativefactories.IdentifierFactory.Access(props.Input, "map"),
150
+ nil,
151
+ nil,
152
+ notationJoiner_factory.NewNodeList([]*shimast.Node{props.Arrow}),
153
+ shimast.NodeFlagsNone,
154
+ )
155
155
  }
156
156
 
157
157
  func notationJoiner_regular_skip(regular []IExpressionEntry) *shimast.Node {
158
- elements := make([]*shimast.Node, 0, len(regular))
159
- for _, entry := range regular {
160
- elements = append(elements, notationJoiner_factory.NewStringLiteral(*entry.Key.GetSoleLiteral(), shimast.TokenFlagsNone))
161
- }
162
- return notationJoiner_factory.NewIfStatement(
163
- notationJoiner_factory.NewCallExpression(
164
- nativefactories.IdentifierFactory.Access(
165
- notationJoiner_factory.NewArrayLiteralExpression(notationJoiner_factory.NewNodeList(elements), false),
166
- "some",
167
- ),
168
- nil,
169
- nil,
170
- notationJoiner_factory.NewNodeList([]*shimast.Node{
171
- notationJoiner_factory.NewArrowFunction(
172
- nil,
173
- nil,
174
- notationJoiner_factory.NewNodeList([]*shimast.Node{
175
- nativefactories.IdentifierFactory.Parameter("regular", nil, nil),
176
- }),
177
- nil,
178
- nil,
179
- notationJoiner_factory.NewToken(shimast.KindEqualsGreaterThanToken),
180
- notationJoiner_factory.NewBinaryExpression(
181
- nil,
182
- notationJoiner_factory.NewIdentifier("regular"),
183
- nil,
184
- notationJoiner_factory.NewToken(shimast.KindEqualsEqualsEqualsToken),
185
- notationJoiner_factory.NewIdentifier("key"),
186
- ),
187
- ),
188
- }),
189
- shimast.NodeFlagsNone,
190
- ),
191
- notationJoiner_factory.NewContinueStatement(nil),
192
- nil,
193
- )
158
+ elements := make([]*shimast.Node, 0, len(regular))
159
+ for _, entry := range regular {
160
+ elements = append(elements, notationJoiner_factory.NewStringLiteral(*entry.Key.GetSoleLiteral(), shimast.TokenFlagsNone))
161
+ }
162
+ return notationJoiner_factory.NewIfStatement(
163
+ notationJoiner_factory.NewCallExpression(
164
+ nativefactories.IdentifierFactory.Access(
165
+ notationJoiner_factory.NewArrayLiteralExpression(notationJoiner_factory.NewNodeList(elements), false),
166
+ "some",
167
+ ),
168
+ nil,
169
+ nil,
170
+ notationJoiner_factory.NewNodeList([]*shimast.Node{
171
+ notationJoiner_factory.NewArrowFunction(
172
+ nil,
173
+ nil,
174
+ notationJoiner_factory.NewNodeList([]*shimast.Node{
175
+ nativefactories.IdentifierFactory.Parameter("regular", nil, nil),
176
+ }),
177
+ nil,
178
+ nil,
179
+ notationJoiner_factory.NewToken(shimast.KindEqualsGreaterThanToken),
180
+ notationJoiner_factory.NewBinaryExpression(
181
+ nil,
182
+ notationJoiner_factory.NewIdentifier("regular"),
183
+ nil,
184
+ notationJoiner_factory.NewToken(shimast.KindEqualsEqualsEqualsToken),
185
+ notationJoiner_factory.NewIdentifier("key"),
186
+ ),
187
+ ),
188
+ }),
189
+ shimast.NodeFlagsNone,
190
+ ),
191
+ notationJoiner_factory.NewContinueStatement(nil),
192
+ nil,
193
+ )
194
194
  }
@@ -7,17 +7,17 @@ type optionPredicatorNamespace struct{}
7
7
  var OptionPredicator optionPredicatorNamespace
8
8
 
9
9
  func (optionPredicatorNamespace) Numeric(options nativecontext.ITransformOptions) bool {
10
- return OptionPredicator.Finite(options) || options.Numeric != nil && *options.Numeric
10
+ return OptionPredicator.Finite(options) || options.Numeric != nil && *options.Numeric
11
11
  }
12
12
 
13
13
  func (optionPredicatorNamespace) Functional(options nativecontext.ITransformOptions) bool {
14
- return options.Functional != nil && *options.Functional
14
+ return options.Functional != nil && *options.Functional
15
15
  }
16
16
 
17
17
  func (optionPredicatorNamespace) Finite(options nativecontext.ITransformOptions) bool {
18
- return options.Finite != nil && *options.Finite
18
+ return options.Finite != nil && *options.Finite
19
19
  }
20
20
 
21
21
  func (optionPredicatorNamespace) Undefined(options nativecontext.ITransformOptions) bool {
22
- return options.Undefined == nil || *options.Undefined
22
+ return options.Undefined == nil || *options.Undefined
23
23
  }