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,13 +1,13 @@
1
1
  package programmers
2
2
 
3
3
  import (
4
- shimast "github.com/microsoft/typescript-go/shim/ast"
5
- nativechecker "github.com/microsoft/typescript-go/shim/checker"
6
- nativecontext "github.com/samchon/typia/packages/typia/native/core/context"
7
- nativefactories "github.com/samchon/typia/packages/typia/native/core/factories"
8
- nativehelpers "github.com/samchon/typia/packages/typia/native/core/programmers/helpers"
9
- nativeinternal "github.com/samchon/typia/packages/typia/native/core/programmers/internal"
10
- nativeiterate "github.com/samchon/typia/packages/typia/native/core/programmers/iterate"
4
+ shimast "github.com/microsoft/typescript-go/shim/ast"
5
+ nativechecker "github.com/microsoft/typescript-go/shim/checker"
6
+ nativecontext "github.com/samchon/typia/packages/typia/native/core/context"
7
+ nativefactories "github.com/samchon/typia/packages/typia/native/core/factories"
8
+ nativehelpers "github.com/samchon/typia/packages/typia/native/core/programmers/helpers"
9
+ nativeinternal "github.com/samchon/typia/packages/typia/native/core/programmers/internal"
10
+ nativeiterate "github.com/samchon/typia/packages/typia/native/core/programmers/iterate"
11
11
  )
12
12
 
13
13
  type assertProgrammerNamespace struct{}
@@ -15,31 +15,31 @@ type assertProgrammerNamespace struct{}
15
15
  var AssertProgrammer = assertProgrammerNamespace{}
16
16
 
17
17
  type AssertProgrammer_IConfig struct {
18
- Equals bool
19
- Guard bool
18
+ Equals bool
19
+ Guard bool
20
20
  }
21
21
 
22
22
  type AssertProgrammer_IProps struct {
23
- Context nativecontext.ITypiaContext
24
- Modulo *shimast.Node
25
- Type *nativechecker.Type
26
- Name *string
27
- Init *shimast.Node
28
- Config AssertProgrammer_IConfig
23
+ Context nativecontext.ITypiaContext
24
+ Modulo *shimast.Node
25
+ Type *nativechecker.Type
26
+ Name *string
27
+ Init *shimast.Node
28
+ Config AssertProgrammer_IConfig
29
29
  }
30
30
 
31
31
  type AssertProgrammer_DecomposeProps struct {
32
- Config AssertProgrammer_IConfig
33
- Context nativecontext.ITypiaContext
34
- Functor *nativehelpers.FunctionProgrammer
35
- Type *nativechecker.Type
36
- Name *string
37
- Init *shimast.Node
32
+ Config AssertProgrammer_IConfig
33
+ Context nativecontext.ITypiaContext
34
+ Functor *nativehelpers.FunctionProgrammer
35
+ Type *nativechecker.Type
36
+ Name *string
37
+ Init *shimast.Node
38
38
  }
39
39
 
40
40
  type assertProgrammerImporter interface {
41
- Internal(name string) *shimast.Node
42
- Type(props ImportProgrammer_TypeProps) *shimast.Node
41
+ Internal(name string) *shimast.Node
42
+ Type(props ImportProgrammer_TypeProps) *shimast.Node
43
43
  }
44
44
 
45
45
  type assertProgrammerGuardianNamespace struct{}
@@ -49,435 +49,435 @@ var Guardian = assertProgrammerGuardianNamespace{}
49
49
  var assertProgrammer_factory = shimast.NewNodeFactory(shimast.NodeFactoryHooks{})
50
50
 
51
51
  func (assertProgrammerNamespace) Decompose(props AssertProgrammer_DecomposeProps) nativeinternal.FeatureProgrammer_IDecomposed {
52
- is := IsProgrammer.Decompose(IsProgrammer_DecomposeProps{
53
- Config: IsProgrammer_IConfig{Equals: props.Config.Equals},
54
- Context: props.Context,
55
- Functor: props.Functor,
56
- Type: props.Type,
57
- Name: props.Name,
58
- })
59
-
60
- composed := nativeinternal.CheckerProgrammer.Compose(nativeinternal.CheckerProgrammer_ComposeProps{
61
- Context: props.Context,
62
- Functor: props.Functor,
63
- Type: props.Type,
64
- Name: props.Name,
65
- Config: nativeinternal.CheckerProgrammer_IConfig{
66
- Prefix: "_a",
67
- Path: true,
68
- Trace: true,
69
- Numeric: nativehelpers.OptionPredicator.Numeric(props.Context.Options),
70
- Equals: props.Config.Equals,
71
- Atomist: assertProgrammer_atomist(props),
72
- Combiner: assertProgrammer_combiner(struct {
73
- Config AssertProgrammer_IConfig
74
- Context nativecontext.ITypiaContext
75
- Functor *nativehelpers.FunctionProgrammer
76
- }{Config: props.Config, Context: props.Context, Functor: props.Functor}),
77
- Joiner: assertProgrammer_joiner(props),
78
- Success: assertProgrammer_factory.NewKeywordExpression(shimast.KindTrueKeyword),
79
- },
80
- })
81
-
82
- typeName := assertProgrammer_type_name(props.Context, props.Type, props.Name)
83
- var returnType *shimast.Node
84
- if props.Config.Guard {
85
- returnType = assertProgrammer_factory.NewTypePredicateNode(
86
- assertProgrammer_factory.NewToken(shimast.KindAssertsKeyword),
87
- assertProgrammer_factory.NewIdentifier("input"),
88
- assertProgrammer_factory.NewTypeReferenceNode(assertProgrammer_factory.NewIdentifier(typeName), nil),
89
- )
90
- } else {
91
- returnType = assertProgrammer_factory.NewTypeReferenceNode(assertProgrammer_factory.NewIdentifier(typeName), nil)
92
- }
93
-
94
- statements := []*shimast.Node{
95
- assertProgrammer_factory.NewIfStatement(
96
- assertProgrammer_equal(
97
- assertProgrammer_factory.NewKeywordExpression(shimast.KindFalseKeyword),
98
- assertProgrammer_factory.NewCallExpression(
99
- assertProgrammer_factory.NewIdentifier("__is"),
100
- nil,
101
- nil,
102
- assertProgrammer_factory.NewNodeList([]*shimast.Node{assertProgrammer_factory.NewIdentifier("input")}),
103
- shimast.NodeFlagsNone,
104
- ),
105
- ),
106
- assertProgrammer_factory.NewBlock(
107
- assertProgrammer_factory.NewNodeList([]*shimast.Node{
108
- assertProgrammer_factory.NewExpressionStatement(
109
- assertProgrammer_factory.NewBinaryExpression(
110
- nil,
111
- assertProgrammer_factory.NewIdentifier("_errorFactory"),
112
- nil,
113
- assertProgrammer_factory.NewToken(shimast.KindEqualsToken),
114
- assertProgrammer_factory.NewIdentifier("errorFactory"),
115
- ),
116
- ),
117
- assertProgrammer_factory.NewExpressionStatement(
118
- assertProgrammer_factory.NewCallExpression(
119
- assertProgrammer_factory.NewArrowFunction(
120
- nil,
121
- nil,
122
- assertProgrammer_factory.NewNodeList(composed.Parameters),
123
- nil,
124
- nil,
125
- assertProgrammer_factory.NewToken(shimast.KindEqualsGreaterThanToken),
126
- composed.Body,
127
- ),
128
- nil,
129
- nil,
130
- assertProgrammer_factory.NewNodeList([]*shimast.Node{
131
- assertProgrammer_factory.NewIdentifier("input"),
132
- assertProgrammer_factory.NewStringLiteral("$input", shimast.TokenFlagsNone),
133
- assertProgrammer_factory.NewKeywordExpression(shimast.KindTrueKeyword),
134
- }),
135
- shimast.NodeFlagsNone,
136
- ),
137
- ),
138
- }),
139
- true,
140
- ),
141
- nil,
142
- ),
143
- }
144
- if props.Config.Guard == false {
145
- statements = append(statements, assertProgrammer_factory.NewReturnStatement(assertProgrammer_factory.NewIdentifier("input")))
146
- }
147
- arrow := assertProgrammer_factory.NewArrowFunction(
148
- nil,
149
- nil,
150
- assertProgrammer_factory.NewNodeList([]*shimast.Node{
151
- nativefactories.IdentifierFactory.Parameter("input", nativefactories.TypeFactory.Keyword("any"), nil),
152
- Guardian.Parameter(struct {
153
- Context nativecontext.ITypiaContext
154
- Init *shimast.Node
155
- }{Context: props.Context, Init: props.Init}),
156
- }),
157
- returnType,
158
- nil,
159
- assertProgrammer_factory.NewToken(shimast.KindEqualsGreaterThanToken),
160
- assertProgrammer_factory.NewBlock(assertProgrammer_factory.NewNodeList(statements), true),
161
- )
162
-
163
- functions := map[string]*shimast.Node{}
164
- for key, value := range is.Functions {
165
- functions[key] = value
166
- }
167
- for key, value := range composed.Functions {
168
- functions[key] = value
169
- }
170
- outStatements := []*shimast.Node{}
171
- outStatements = append(outStatements, is.Statements...)
172
- outStatements = append(outStatements, composed.Statements...)
173
- outStatements = append(outStatements,
174
- nativefactories.StatementFactory.Constant(nativefactories.StatementFactory_ConstantProps{Name: "__is", Value: is.Arrow}),
175
- nativefactories.StatementFactory.Mut(nativefactories.StatementFactory_MutProps{Name: "_errorFactory"}),
176
- )
177
- return nativeinternal.FeatureProgrammer_IDecomposed{
178
- Functions: functions,
179
- Statements: outStatements,
180
- Arrow: arrow,
181
- }
52
+ is := IsProgrammer.Decompose(IsProgrammer_DecomposeProps{
53
+ Config: IsProgrammer_IConfig{Equals: props.Config.Equals},
54
+ Context: props.Context,
55
+ Functor: props.Functor,
56
+ Type: props.Type,
57
+ Name: props.Name,
58
+ })
59
+
60
+ composed := nativeinternal.CheckerProgrammer.Compose(nativeinternal.CheckerProgrammer_ComposeProps{
61
+ Context: props.Context,
62
+ Functor: props.Functor,
63
+ Type: props.Type,
64
+ Name: props.Name,
65
+ Config: nativeinternal.CheckerProgrammer_IConfig{
66
+ Prefix: "_a",
67
+ Path: true,
68
+ Trace: true,
69
+ Numeric: nativehelpers.OptionPredicator.Numeric(props.Context.Options),
70
+ Equals: props.Config.Equals,
71
+ Atomist: assertProgrammer_atomist(props),
72
+ Combiner: assertProgrammer_combiner(struct {
73
+ Config AssertProgrammer_IConfig
74
+ Context nativecontext.ITypiaContext
75
+ Functor *nativehelpers.FunctionProgrammer
76
+ }{Config: props.Config, Context: props.Context, Functor: props.Functor}),
77
+ Joiner: assertProgrammer_joiner(props),
78
+ Success: assertProgrammer_factory.NewKeywordExpression(shimast.KindTrueKeyword),
79
+ },
80
+ })
81
+
82
+ typeName := assertProgrammer_type_name(props.Context, props.Type, props.Name)
83
+ var returnType *shimast.Node
84
+ if props.Config.Guard {
85
+ returnType = assertProgrammer_factory.NewTypePredicateNode(
86
+ assertProgrammer_factory.NewToken(shimast.KindAssertsKeyword),
87
+ assertProgrammer_factory.NewIdentifier("input"),
88
+ assertProgrammer_factory.NewTypeReferenceNode(assertProgrammer_factory.NewIdentifier(typeName), nil),
89
+ )
90
+ } else {
91
+ returnType = assertProgrammer_factory.NewTypeReferenceNode(assertProgrammer_factory.NewIdentifier(typeName), nil)
92
+ }
93
+
94
+ statements := []*shimast.Node{
95
+ assertProgrammer_factory.NewIfStatement(
96
+ assertProgrammer_equal(
97
+ assertProgrammer_factory.NewKeywordExpression(shimast.KindFalseKeyword),
98
+ assertProgrammer_factory.NewCallExpression(
99
+ assertProgrammer_factory.NewIdentifier("__is"),
100
+ nil,
101
+ nil,
102
+ assertProgrammer_factory.NewNodeList([]*shimast.Node{assertProgrammer_factory.NewIdentifier("input")}),
103
+ shimast.NodeFlagsNone,
104
+ ),
105
+ ),
106
+ assertProgrammer_factory.NewBlock(
107
+ assertProgrammer_factory.NewNodeList([]*shimast.Node{
108
+ assertProgrammer_factory.NewExpressionStatement(
109
+ assertProgrammer_factory.NewBinaryExpression(
110
+ nil,
111
+ assertProgrammer_factory.NewIdentifier("_errorFactory"),
112
+ nil,
113
+ assertProgrammer_factory.NewToken(shimast.KindEqualsToken),
114
+ assertProgrammer_factory.NewIdentifier("errorFactory"),
115
+ ),
116
+ ),
117
+ assertProgrammer_factory.NewExpressionStatement(
118
+ assertProgrammer_factory.NewCallExpression(
119
+ assertProgrammer_factory.NewArrowFunction(
120
+ nil,
121
+ nil,
122
+ assertProgrammer_factory.NewNodeList(composed.Parameters),
123
+ nil,
124
+ nil,
125
+ assertProgrammer_factory.NewToken(shimast.KindEqualsGreaterThanToken),
126
+ composed.Body,
127
+ ),
128
+ nil,
129
+ nil,
130
+ assertProgrammer_factory.NewNodeList([]*shimast.Node{
131
+ assertProgrammer_factory.NewIdentifier("input"),
132
+ assertProgrammer_factory.NewStringLiteral("$input", shimast.TokenFlagsNone),
133
+ assertProgrammer_factory.NewKeywordExpression(shimast.KindTrueKeyword),
134
+ }),
135
+ shimast.NodeFlagsNone,
136
+ ),
137
+ ),
138
+ }),
139
+ true,
140
+ ),
141
+ nil,
142
+ ),
143
+ }
144
+ if props.Config.Guard == false {
145
+ statements = append(statements, assertProgrammer_factory.NewReturnStatement(assertProgrammer_factory.NewIdentifier("input")))
146
+ }
147
+ arrow := assertProgrammer_factory.NewArrowFunction(
148
+ nil,
149
+ nil,
150
+ assertProgrammer_factory.NewNodeList([]*shimast.Node{
151
+ nativefactories.IdentifierFactory.Parameter("input", nativefactories.TypeFactory.Keyword("any"), nil),
152
+ Guardian.Parameter(struct {
153
+ Context nativecontext.ITypiaContext
154
+ Init *shimast.Node
155
+ }{Context: props.Context, Init: props.Init}),
156
+ }),
157
+ returnType,
158
+ nil,
159
+ assertProgrammer_factory.NewToken(shimast.KindEqualsGreaterThanToken),
160
+ assertProgrammer_factory.NewBlock(assertProgrammer_factory.NewNodeList(statements), true),
161
+ )
162
+
163
+ functions := map[string]*shimast.Node{}
164
+ for key, value := range is.Functions {
165
+ functions[key] = value
166
+ }
167
+ for key, value := range composed.Functions {
168
+ functions[key] = value
169
+ }
170
+ outStatements := []*shimast.Node{}
171
+ outStatements = append(outStatements, is.Statements...)
172
+ outStatements = append(outStatements, composed.Statements...)
173
+ outStatements = append(outStatements,
174
+ nativefactories.StatementFactory.Constant(nativefactories.StatementFactory_ConstantProps{Name: "__is", Value: is.Arrow}),
175
+ nativefactories.StatementFactory.Mut(nativefactories.StatementFactory_MutProps{Name: "_errorFactory"}),
176
+ )
177
+ return nativeinternal.FeatureProgrammer_IDecomposed{
178
+ Functions: functions,
179
+ Statements: outStatements,
180
+ Arrow: arrow,
181
+ }
182
182
  }
183
183
 
184
184
  func (assertProgrammerNamespace) Write(props AssertProgrammer_IProps) *shimast.Node {
185
- method := ""
186
- if props.Modulo != nil {
187
- method = props.Modulo.Text()
188
- }
189
- functor := nativehelpers.NewFunctionProgrammer(method)
190
- result := AssertProgrammer.Decompose(AssertProgrammer_DecomposeProps{
191
- Config: props.Config,
192
- Context: props.Context,
193
- Functor: functor,
194
- Type: props.Type,
195
- Name: props.Name,
196
- Init: props.Init,
197
- })
198
- return nativeinternal.FeatureProgrammer.WriteDecomposed(nativeinternal.FeatureProgrammer_WriteDecomposedProps{
199
- Modulo: props.Modulo,
200
- Functor: functor,
201
- Result: result,
202
- })
185
+ method := ""
186
+ if props.Modulo != nil {
187
+ method = props.Modulo.Text()
188
+ }
189
+ functor := nativehelpers.NewFunctionProgrammer(method)
190
+ result := AssertProgrammer.Decompose(AssertProgrammer_DecomposeProps{
191
+ Config: props.Config,
192
+ Context: props.Context,
193
+ Functor: functor,
194
+ Type: props.Type,
195
+ Name: props.Name,
196
+ Init: props.Init,
197
+ })
198
+ return nativeinternal.FeatureProgrammer.WriteDecomposed(nativeinternal.FeatureProgrammer_WriteDecomposedProps{
199
+ Modulo: props.Modulo,
200
+ Functor: functor,
201
+ Result: result,
202
+ })
203
203
  }
204
204
 
205
205
  func assertProgrammer_atomist(props AssertProgrammer_DecomposeProps) func(next nativeinternal.CheckerProgrammer_AtomistProps) *shimast.Node {
206
- return func(next nativeinternal.CheckerProgrammer_AtomistProps) *shimast.Node {
207
- expressions := []*shimast.Node{}
208
- if next.Entry.Expression != nil {
209
- expressions = append(expressions, next.Entry.Expression)
210
- }
211
- if len(next.Entry.Conditions) != 0 {
212
- exceptionable := assertProgrammer_exceptionable(next.Explore)
213
- path := assertProgrammer_path(next.Explore)
214
- if len(next.Entry.Conditions) == 1 {
215
- for _, cond := range next.Entry.Conditions[0] {
216
- expressions = append(expressions, assertProgrammer_or(
217
- cond.Expression,
218
- assertProgrammer_create_guard_call(assertProgrammer_createGuardCallProps{Context: props.Context, Functor: props.Functor, Exceptionable: exceptionable, Path: path, Expected: cond.Expected, Input: next.Input}),
219
- ))
220
- }
221
- } else {
222
- rows := []*shimast.Node{}
223
- for _, set := range next.Entry.Conditions {
224
- cols := []*shimast.Node{}
225
- for _, s := range set {
226
- cols = append(cols, s.Expression)
227
- }
228
- rows = append(rows, assertProgrammer_reduce(cols, shimast.KindAmpersandAmpersandToken, assertProgrammer_factory.NewKeywordExpression(shimast.KindTrueKeyword)))
229
- }
230
- expressions = append(expressions, assertProgrammer_or(
231
- assertProgrammer_reduce(rows, shimast.KindBarBarToken, assertProgrammer_factory.NewKeywordExpression(shimast.KindFalseKeyword)),
232
- assertProgrammer_create_guard_call(assertProgrammer_createGuardCallProps{Context: props.Context, Functor: props.Functor, Exceptionable: exceptionable, Path: path, Expected: next.Entry.Expected, Input: next.Input}),
233
- ))
234
- }
235
- }
236
- return assertProgrammer_reduce(expressions, shimast.KindAmpersandAmpersandToken, assertProgrammer_factory.NewKeywordExpression(shimast.KindTrueKeyword))
237
- }
206
+ return func(next nativeinternal.CheckerProgrammer_AtomistProps) *shimast.Node {
207
+ expressions := []*shimast.Node{}
208
+ if next.Entry.Expression != nil {
209
+ expressions = append(expressions, next.Entry.Expression)
210
+ }
211
+ if len(next.Entry.Conditions) != 0 {
212
+ exceptionable := assertProgrammer_exceptionable(next.Explore)
213
+ path := assertProgrammer_path(next.Explore)
214
+ if len(next.Entry.Conditions) == 1 {
215
+ for _, cond := range next.Entry.Conditions[0] {
216
+ expressions = append(expressions, assertProgrammer_or(
217
+ cond.Expression,
218
+ assertProgrammer_create_guard_call(assertProgrammer_createGuardCallProps{Context: props.Context, Functor: props.Functor, Exceptionable: exceptionable, Path: path, Expected: cond.Expected, Input: next.Input}),
219
+ ))
220
+ }
221
+ } else {
222
+ rows := []*shimast.Node{}
223
+ for _, set := range next.Entry.Conditions {
224
+ cols := []*shimast.Node{}
225
+ for _, s := range set {
226
+ cols = append(cols, s.Expression)
227
+ }
228
+ rows = append(rows, assertProgrammer_reduce(cols, shimast.KindAmpersandAmpersandToken, assertProgrammer_factory.NewKeywordExpression(shimast.KindTrueKeyword)))
229
+ }
230
+ expressions = append(expressions, assertProgrammer_or(
231
+ assertProgrammer_reduce(rows, shimast.KindBarBarToken, assertProgrammer_factory.NewKeywordExpression(shimast.KindFalseKeyword)),
232
+ assertProgrammer_create_guard_call(assertProgrammer_createGuardCallProps{Context: props.Context, Functor: props.Functor, Exceptionable: exceptionable, Path: path, Expected: next.Entry.Expected, Input: next.Input}),
233
+ ))
234
+ }
235
+ }
236
+ return assertProgrammer_reduce(expressions, shimast.KindAmpersandAmpersandToken, assertProgrammer_factory.NewKeywordExpression(shimast.KindTrueKeyword))
237
+ }
238
238
  }
239
239
 
240
240
  func assertProgrammer_combiner(props struct {
241
- Config AssertProgrammer_IConfig
242
- Context nativecontext.ITypiaContext
243
- Functor *nativehelpers.FunctionProgrammer
241
+ Config AssertProgrammer_IConfig
242
+ Context nativecontext.ITypiaContext
243
+ Functor *nativehelpers.FunctionProgrammer
244
244
  }) nativeinternal.CheckerProgrammer_IConfig_Combiner {
245
- return func(next nativeinternal.CheckerProgrammer_CombinerProps) *shimast.Node {
246
- if next.Explore.Tracable == false {
247
- options := &IsProgrammer_CONFIG_IOptions{
248
- Numeric: assertProgrammer_bool_ptr(true),
249
- Object: func(v IsProgrammer_CONFIG_IOptions_ObjectProps) *shimast.Node {
250
- return assertProgrammer_assert_object(assertProgrammer_assertObjectProps{Config: props.Config, Context: props.Context, Functor: props.Functor, Entries: v.Entries, Input: v.Input})
251
- },
252
- }
253
- return IsProgrammer.Configure(struct {
254
- Options *IsProgrammer_CONFIG_IOptions
255
- Context nativecontext.ITypiaContext
256
- Functor *nativehelpers.FunctionProgrammer
257
- }{Options: options, Context: props.Context, Functor: props.Functor}).Combiner(next)
258
- }
259
- path := assertProgrammer_path(next.Explore)
260
- exceptionable := assertProgrammer_exceptionable(next.Explore)
261
- if next.Logic == "and" {
262
- expressions := []*shimast.Node{}
263
- for _, binary := range next.Binaries {
264
- if binary.Combined {
265
- expressions = append(expressions, binary.Expression)
266
- } else {
267
- expressions = append(expressions, assertProgrammer_or(
268
- binary.Expression,
269
- assertProgrammer_create_guard_call(assertProgrammer_createGuardCallProps{Context: props.Context, Functor: props.Functor, Exceptionable: exceptionable, Path: path, Expected: next.Expected, Input: next.Input}),
270
- ))
271
- }
272
- }
273
- return assertProgrammer_reduce(expressions, shimast.KindAmpersandAmpersandToken, assertProgrammer_factory.NewKeywordExpression(shimast.KindTrueKeyword))
274
- }
275
- expressions := []*shimast.Node{}
276
- for _, binary := range next.Binaries {
277
- expressions = append(expressions, binary.Expression)
278
- }
279
- return assertProgrammer_or(
280
- assertProgrammer_reduce(expressions, shimast.KindBarBarToken, assertProgrammer_factory.NewKeywordExpression(shimast.KindFalseKeyword)),
281
- assertProgrammer_create_guard_call(assertProgrammer_createGuardCallProps{Context: props.Context, Functor: props.Functor, Exceptionable: exceptionable, Path: path, Expected: next.Expected, Input: next.Input}),
282
- )
283
- }
245
+ return func(next nativeinternal.CheckerProgrammer_CombinerProps) *shimast.Node {
246
+ if next.Explore.Tracable == false {
247
+ options := &IsProgrammer_CONFIG_IOptions{
248
+ Numeric: assertProgrammer_bool_ptr(true),
249
+ Object: func(v IsProgrammer_CONFIG_IOptions_ObjectProps) *shimast.Node {
250
+ return assertProgrammer_assert_object(assertProgrammer_assertObjectProps{Config: props.Config, Context: props.Context, Functor: props.Functor, Entries: v.Entries, Input: v.Input})
251
+ },
252
+ }
253
+ return IsProgrammer.Configure(struct {
254
+ Options *IsProgrammer_CONFIG_IOptions
255
+ Context nativecontext.ITypiaContext
256
+ Functor *nativehelpers.FunctionProgrammer
257
+ }{Options: options, Context: props.Context, Functor: props.Functor}).Combiner(next)
258
+ }
259
+ path := assertProgrammer_path(next.Explore)
260
+ exceptionable := assertProgrammer_exceptionable(next.Explore)
261
+ if next.Logic == "and" {
262
+ expressions := []*shimast.Node{}
263
+ for _, binary := range next.Binaries {
264
+ if binary.Combined {
265
+ expressions = append(expressions, binary.Expression)
266
+ } else {
267
+ expressions = append(expressions, assertProgrammer_or(
268
+ binary.Expression,
269
+ assertProgrammer_create_guard_call(assertProgrammer_createGuardCallProps{Context: props.Context, Functor: props.Functor, Exceptionable: exceptionable, Path: path, Expected: next.Expected, Input: next.Input}),
270
+ ))
271
+ }
272
+ }
273
+ return assertProgrammer_reduce(expressions, shimast.KindAmpersandAmpersandToken, assertProgrammer_factory.NewKeywordExpression(shimast.KindTrueKeyword))
274
+ }
275
+ expressions := []*shimast.Node{}
276
+ for _, binary := range next.Binaries {
277
+ expressions = append(expressions, binary.Expression)
278
+ }
279
+ return assertProgrammer_or(
280
+ assertProgrammer_reduce(expressions, shimast.KindBarBarToken, assertProgrammer_factory.NewKeywordExpression(shimast.KindFalseKeyword)),
281
+ assertProgrammer_create_guard_call(assertProgrammer_createGuardCallProps{Context: props.Context, Functor: props.Functor, Exceptionable: exceptionable, Path: path, Expected: next.Expected, Input: next.Input}),
282
+ )
283
+ }
284
284
  }
285
285
 
286
286
  type assertProgrammer_assertObjectProps struct {
287
- Config AssertProgrammer_IConfig
288
- Context nativecontext.ITypiaContext
289
- Functor *nativehelpers.FunctionProgrammer
290
- Entries []nativehelpers.IExpressionEntry
291
- Input *shimast.Expression
287
+ Config AssertProgrammer_IConfig
288
+ Context nativecontext.ITypiaContext
289
+ Functor *nativehelpers.FunctionProgrammer
290
+ Entries []nativehelpers.IExpressionEntry
291
+ Input *shimast.Expression
292
292
  }
293
293
 
294
294
  func assertProgrammer_assert_object(props assertProgrammer_assertObjectProps) *shimast.Node {
295
- return nativeiterate.Check_object(nativeiterate.Check_objectProps{
296
- Config: nativeiterate.Check_object_IConfig{
297
- Equals: props.Config.Equals,
298
- Assert: true,
299
- Undefined: true,
300
- Reduce: func(a *shimast.Expression, b *shimast.Expression) *shimast.Node {
301
- return assertProgrammer_binary(a, shimast.KindAmpersandAmpersandToken, b)
302
- },
303
- Positive: assertProgrammer_factory.NewKeywordExpression(shimast.KindTrueKeyword),
304
- Superfluous: func(input *shimast.Expression, description *shimast.Expression) *shimast.Node {
305
- return assertProgrammer_create_guard_call(assertProgrammer_createGuardCallProps{
306
- Context: props.Context,
307
- Functor: props.Functor,
308
- Path: assertProgrammer_binary(
309
- assertProgrammer_factory.NewIdentifier("_path"),
310
- shimast.KindPlusToken,
311
- assertProgrammer_factory.NewCallExpression(assertProgrammer_internal(props.Context, "accessExpressionAsString"), nil, nil, assertProgrammer_factory.NewNodeList([]*shimast.Node{assertProgrammer_factory.NewIdentifier("key")}), shimast.NodeFlagsNone),
312
- ),
313
- Expected: "undefined",
314
- Input: input,
315
- })
316
- },
317
- Halt: func(expr *shimast.Expression) *shimast.Node {
318
- return assertProgrammer_or(
319
- assertProgrammer_equal(assertProgrammer_factory.NewKeywordExpression(shimast.KindFalseKeyword), assertProgrammer_factory.NewIdentifier("_exceptionable")),
320
- expr,
321
- )
322
- },
323
- },
324
- Context: props.Context,
325
- Entries: props.Entries,
326
- Input: props.Input,
327
- })
295
+ return nativeiterate.Check_object(nativeiterate.Check_objectProps{
296
+ Config: nativeiterate.Check_object_IConfig{
297
+ Equals: props.Config.Equals,
298
+ Assert: true,
299
+ Undefined: true,
300
+ Reduce: func(a *shimast.Expression, b *shimast.Expression) *shimast.Node {
301
+ return assertProgrammer_binary(a, shimast.KindAmpersandAmpersandToken, b)
302
+ },
303
+ Positive: assertProgrammer_factory.NewKeywordExpression(shimast.KindTrueKeyword),
304
+ Superfluous: func(input *shimast.Expression, description *shimast.Expression) *shimast.Node {
305
+ return assertProgrammer_create_guard_call(assertProgrammer_createGuardCallProps{
306
+ Context: props.Context,
307
+ Functor: props.Functor,
308
+ Path: assertProgrammer_binary(
309
+ assertProgrammer_factory.NewIdentifier("_path"),
310
+ shimast.KindPlusToken,
311
+ assertProgrammer_factory.NewCallExpression(assertProgrammer_internal(props.Context, "accessExpressionAsString"), nil, nil, assertProgrammer_factory.NewNodeList([]*shimast.Node{assertProgrammer_factory.NewIdentifier("key")}), shimast.NodeFlagsNone),
312
+ ),
313
+ Expected: "undefined",
314
+ Input: input,
315
+ })
316
+ },
317
+ Halt: func(expr *shimast.Expression) *shimast.Node {
318
+ return assertProgrammer_or(
319
+ assertProgrammer_equal(assertProgrammer_factory.NewKeywordExpression(shimast.KindFalseKeyword), assertProgrammer_factory.NewIdentifier("_exceptionable")),
320
+ expr,
321
+ )
322
+ },
323
+ },
324
+ Context: props.Context,
325
+ Entries: props.Entries,
326
+ Input: props.Input,
327
+ })
328
328
  }
329
329
 
330
330
  func assertProgrammer_joiner(props AssertProgrammer_DecomposeProps) nativeinternal.CheckerProgrammer_IConfig_IJoiner {
331
- joiner := nativeinternal.CheckerProgrammer_IConfig_IJoiner{
332
- Object: func(next nativeinternal.CheckerProgrammer_JoinerObjectProps) *shimast.Node {
333
- return assertProgrammer_assert_object(assertProgrammer_assertObjectProps{Config: props.Config, Context: props.Context, Functor: props.Functor, Entries: next.Entries, Input: next.Input})
334
- },
335
- Array: func(next nativeinternal.CheckerProgrammer_JoinerArrayProps) *shimast.Node {
336
- return assertProgrammer_factory.NewCallExpression(nativefactories.IdentifierFactory.Access(next.Input, "every"), nil, nil, assertProgrammer_factory.NewNodeList([]*shimast.Node{next.Arrow}), shimast.NodeFlagsNone)
337
- },
338
- Failure: func(next nativeinternal.CheckerProgrammer_JoinerFailureProps) *shimast.Node {
339
- explore := nativeinternal.FeatureProgrammer_IExplore{}
340
- if next.Explore != nil {
341
- explore = *next.Explore
342
- }
343
- return assertProgrammer_create_guard_call(assertProgrammer_createGuardCallProps{Context: props.Context, Functor: props.Functor, Exceptionable: assertProgrammer_exceptionable(explore), Path: assertProgrammer_path(explore), Expected: next.Expected, Input: next.Input})
344
- },
345
- }
346
- if props.Config.Equals == false {
347
- joiner.Full = func(next nativeinternal.CheckerProgrammer_JoinerFullProps) *shimast.Node {
348
- return assertProgrammer_or(
349
- next.Condition,
350
- assertProgrammer_create_guard_call(assertProgrammer_createGuardCallProps{Context: props.Context, Functor: props.Functor, Exceptionable: assertProgrammer_exceptionable(next.Explore), Path: assertProgrammer_factory.NewIdentifier("_path"), Expected: next.Expected, Input: next.Input}),
351
- )
352
- }
353
- }
354
- return joiner
331
+ joiner := nativeinternal.CheckerProgrammer_IConfig_IJoiner{
332
+ Object: func(next nativeinternal.CheckerProgrammer_JoinerObjectProps) *shimast.Node {
333
+ return assertProgrammer_assert_object(assertProgrammer_assertObjectProps{Config: props.Config, Context: props.Context, Functor: props.Functor, Entries: next.Entries, Input: next.Input})
334
+ },
335
+ Array: func(next nativeinternal.CheckerProgrammer_JoinerArrayProps) *shimast.Node {
336
+ return assertProgrammer_factory.NewCallExpression(nativefactories.IdentifierFactory.Access(next.Input, "every"), nil, nil, assertProgrammer_factory.NewNodeList([]*shimast.Node{next.Arrow}), shimast.NodeFlagsNone)
337
+ },
338
+ Failure: func(next nativeinternal.CheckerProgrammer_JoinerFailureProps) *shimast.Node {
339
+ explore := nativeinternal.FeatureProgrammer_IExplore{}
340
+ if next.Explore != nil {
341
+ explore = *next.Explore
342
+ }
343
+ return assertProgrammer_create_guard_call(assertProgrammer_createGuardCallProps{Context: props.Context, Functor: props.Functor, Exceptionable: assertProgrammer_exceptionable(explore), Path: assertProgrammer_path(explore), Expected: next.Expected, Input: next.Input})
344
+ },
345
+ }
346
+ if props.Config.Equals == false {
347
+ joiner.Full = func(next nativeinternal.CheckerProgrammer_JoinerFullProps) *shimast.Node {
348
+ return assertProgrammer_or(
349
+ next.Condition,
350
+ assertProgrammer_create_guard_call(assertProgrammer_createGuardCallProps{Context: props.Context, Functor: props.Functor, Exceptionable: assertProgrammer_exceptionable(next.Explore), Path: assertProgrammer_factory.NewIdentifier("_path"), Expected: next.Expected, Input: next.Input}),
351
+ )
352
+ }
353
+ }
354
+ return joiner
355
355
  }
356
356
 
357
357
  type assertProgrammer_createGuardCallProps struct {
358
- Context nativecontext.ITypiaContext
359
- Functor *nativehelpers.FunctionProgrammer
360
- Expected string
361
- Input *shimast.Expression
362
- Path *shimast.Expression
363
- Exceptionable *shimast.Expression
358
+ Context nativecontext.ITypiaContext
359
+ Functor *nativehelpers.FunctionProgrammer
360
+ Expected string
361
+ Input *shimast.Expression
362
+ Path *shimast.Expression
363
+ Exceptionable *shimast.Expression
364
364
  }
365
365
 
366
366
  func assertProgrammer_create_guard_call(props assertProgrammer_createGuardCallProps) *shimast.Node {
367
- exceptionable := props.Exceptionable
368
- if exceptionable == nil {
369
- exceptionable = assertProgrammer_factory.NewIdentifier("_exceptionable")
370
- }
371
- return assertProgrammer_factory.NewCallExpression(
372
- assertProgrammer_internal(props.Context, "assertGuard"),
373
- nil,
374
- nil,
375
- assertProgrammer_factory.NewNodeList([]*shimast.Node{
376
- exceptionable,
377
- assertProgrammer_factory.NewObjectLiteralExpression(assertProgrammer_factory.NewNodeList([]*shimast.Node{
378
- assertProgrammer_factory.NewPropertyAssignment(nil, nativefactories.IdentifierFactory.Identifier("method"), nil, nil, assertProgrammer_factory.NewStringLiteral(props.Functor.Method, shimast.TokenFlagsNone)),
379
- assertProgrammer_factory.NewPropertyAssignment(nil, nativefactories.IdentifierFactory.Identifier("path"), nil, nil, props.Path),
380
- assertProgrammer_factory.NewPropertyAssignment(nil, nativefactories.IdentifierFactory.Identifier("expected"), nil, nil, assertProgrammer_factory.NewStringLiteral(props.Expected, shimast.TokenFlagsNone)),
381
- assertProgrammer_factory.NewPropertyAssignment(nil, nativefactories.IdentifierFactory.Identifier("value"), nil, nil, props.Input),
382
- }), true),
383
- assertProgrammer_factory.NewIdentifier("_errorFactory"),
384
- }),
385
- shimast.NodeFlagsNone,
386
- )
367
+ exceptionable := props.Exceptionable
368
+ if exceptionable == nil {
369
+ exceptionable = assertProgrammer_factory.NewIdentifier("_exceptionable")
370
+ }
371
+ return assertProgrammer_factory.NewCallExpression(
372
+ assertProgrammer_internal(props.Context, "assertGuard"),
373
+ nil,
374
+ nil,
375
+ assertProgrammer_factory.NewNodeList([]*shimast.Node{
376
+ exceptionable,
377
+ assertProgrammer_factory.NewObjectLiteralExpression(assertProgrammer_factory.NewNodeList([]*shimast.Node{
378
+ assertProgrammer_factory.NewPropertyAssignment(nil, nativefactories.IdentifierFactory.Identifier("method"), nil, nil, assertProgrammer_factory.NewStringLiteral(props.Functor.Method, shimast.TokenFlagsNone)),
379
+ assertProgrammer_factory.NewPropertyAssignment(nil, nativefactories.IdentifierFactory.Identifier("path"), nil, nil, props.Path),
380
+ assertProgrammer_factory.NewPropertyAssignment(nil, nativefactories.IdentifierFactory.Identifier("expected"), nil, nil, assertProgrammer_factory.NewStringLiteral(props.Expected, shimast.TokenFlagsNone)),
381
+ assertProgrammer_factory.NewPropertyAssignment(nil, nativefactories.IdentifierFactory.Identifier("value"), nil, nil, props.Input),
382
+ }), true),
383
+ assertProgrammer_factory.NewIdentifier("_errorFactory"),
384
+ }),
385
+ shimast.NodeFlagsNone,
386
+ )
387
387
  }
388
388
 
389
389
  func (assertProgrammerGuardianNamespace) Identifier() *shimast.Node {
390
- return assertProgrammer_factory.NewIdentifier("errorFactory")
390
+ return assertProgrammer_factory.NewIdentifier("errorFactory")
391
391
  }
392
392
 
393
393
  func (assertProgrammerGuardianNamespace) Parameter(props struct {
394
- Context nativecontext.ITypiaContext
395
- Init *shimast.Node
394
+ Context nativecontext.ITypiaContext
395
+ Init *shimast.Node
396
396
  }) *shimast.Node {
397
- init := props.Init
398
- if init == nil {
399
- init = assertProgrammer_factory.NewToken(shimast.KindQuestionToken)
400
- }
401
- return nativefactories.IdentifierFactory.Parameter("errorFactory", Guardian.Type(props.Context), init)
397
+ init := props.Init
398
+ if init == nil {
399
+ init = assertProgrammer_factory.NewToken(shimast.KindQuestionToken)
400
+ }
401
+ return nativefactories.IdentifierFactory.Parameter("errorFactory", Guardian.Type(props.Context), init)
402
402
  }
403
403
 
404
404
  func (assertProgrammerGuardianNamespace) Type(context nativecontext.ITypiaContext) *shimast.Node {
405
- return assertProgrammer_factory.NewFunctionTypeNode(
406
- nil,
407
- assertProgrammer_factory.NewNodeList([]*shimast.Node{
408
- assertProgrammer_factory.NewParameterDeclaration(
409
- nil,
410
- nil,
411
- assertProgrammer_factory.NewIdentifier("p"),
412
- nil,
413
- assertProgrammer_import_type(context, ImportProgrammer_TypeProps{File: "typia", Name: "TypeGuardError.IProps"}),
414
- nil,
415
- ),
416
- }),
417
- assertProgrammer_factory.NewTypeReferenceNode(assertProgrammer_factory.NewIdentifier("Error"), nil),
418
- )
405
+ return assertProgrammer_factory.NewFunctionTypeNode(
406
+ nil,
407
+ assertProgrammer_factory.NewNodeList([]*shimast.Node{
408
+ assertProgrammer_factory.NewParameterDeclaration(
409
+ nil,
410
+ nil,
411
+ assertProgrammer_factory.NewIdentifier("p"),
412
+ nil,
413
+ assertProgrammer_import_type(context, ImportProgrammer_TypeProps{File: "typia", Name: "TypeGuardError.IProps"}),
414
+ nil,
415
+ ),
416
+ }),
417
+ assertProgrammer_factory.NewTypeReferenceNode(assertProgrammer_factory.NewIdentifier("Error"), nil),
418
+ )
419
419
  }
420
420
 
421
421
  func assertProgrammer_reduce(expressions []*shimast.Node, operator shimast.Kind, initial *shimast.Expression) *shimast.Node {
422
- if len(expressions) == 0 {
423
- return initial
424
- }
425
- output := expressions[0]
426
- for _, expr := range expressions[1:] {
427
- output = assertProgrammer_binary(output, operator, expr)
428
- }
429
- return output
422
+ if len(expressions) == 0 {
423
+ return initial
424
+ }
425
+ output := expressions[0]
426
+ for _, expr := range expressions[1:] {
427
+ output = assertProgrammer_binary(output, operator, expr)
428
+ }
429
+ return output
430
430
  }
431
431
 
432
432
  func assertProgrammer_binary(left *shimast.Expression, operator shimast.Kind, right *shimast.Expression) *shimast.Node {
433
- return assertProgrammer_factory.NewBinaryExpression(nil, left, nil, assertProgrammer_factory.NewToken(operator), right)
433
+ return assertProgrammer_factory.NewBinaryExpression(nil, left, nil, assertProgrammer_factory.NewToken(operator), right)
434
434
  }
435
435
 
436
436
  func assertProgrammer_equal(left *shimast.Expression, right *shimast.Expression) *shimast.Node {
437
- return assertProgrammer_binary(left, shimast.KindEqualsEqualsEqualsToken, right)
437
+ return assertProgrammer_binary(left, shimast.KindEqualsEqualsEqualsToken, right)
438
438
  }
439
439
 
440
440
  func assertProgrammer_or(left *shimast.Expression, right *shimast.Expression) *shimast.Node {
441
- return assertProgrammer_binary(left, shimast.KindBarBarToken, right)
441
+ return assertProgrammer_binary(left, shimast.KindBarBarToken, right)
442
442
  }
443
443
 
444
444
  func assertProgrammer_exceptionable(explore nativeinternal.FeatureProgrammer_IExplore) *shimast.Node {
445
- if explore.From == "top" || explore.Source == "top" {
446
- return assertProgrammer_factory.NewKeywordExpression(shimast.KindTrueKeyword)
447
- }
448
- return assertProgrammer_factory.NewIdentifier("_exceptionable")
445
+ if explore.From == "top" || explore.Source == "top" {
446
+ return assertProgrammer_factory.NewKeywordExpression(shimast.KindTrueKeyword)
447
+ }
448
+ return assertProgrammer_factory.NewIdentifier("_exceptionable")
449
449
  }
450
450
 
451
451
  func assertProgrammer_path(explore nativeinternal.FeatureProgrammer_IExplore) *shimast.Node {
452
- if explore.Postfix != "" {
453
- return assertProgrammer_factory.NewIdentifier("_path + " + explore.Postfix)
454
- }
455
- return assertProgrammer_factory.NewIdentifier("_path")
452
+ if explore.Postfix != "" {
453
+ return assertProgrammer_factory.NewIdentifier("_path + " + explore.Postfix)
454
+ }
455
+ return assertProgrammer_factory.NewIdentifier("_path")
456
456
  }
457
457
 
458
458
  func assertProgrammer_type_name(context nativecontext.ITypiaContext, typ *nativechecker.Type, name *string) string {
459
- if name != nil {
460
- return *name
461
- }
462
- return nativefactories.TypeFactory.GetFullName(nativefactories.TypeFactory_GetFullNameProps{Checker: context.Checker, Type: typ})
459
+ if name != nil {
460
+ return *name
461
+ }
462
+ return nativefactories.TypeFactory.GetFullName(nativefactories.TypeFactory_GetFullNameProps{Checker: context.Checker, Type: typ})
463
463
  }
464
464
 
465
465
  func assertProgrammer_internal(context nativecontext.ITypiaContext, name string) *shimast.Node {
466
- if importer, ok := context.Importer.(interface{ Internal(string) *shimast.Node }); ok {
467
- return importer.Internal(name)
468
- }
469
- return assertProgrammer_factory.NewIdentifier(name)
466
+ if importer, ok := context.Importer.(interface{ Internal(string) *shimast.Node }); ok {
467
+ return importer.Internal(name)
468
+ }
469
+ return assertProgrammer_factory.NewIdentifier(name)
470
470
  }
471
471
 
472
472
  func assertProgrammer_import_type(context nativecontext.ITypiaContext, props ImportProgrammer_TypeProps) *shimast.Node {
473
- if importer, ok := context.Importer.(interface {
474
- Type(ImportProgrammer_TypeProps) *shimast.Node
475
- }); ok {
476
- return importer.Type(props)
477
- }
478
- return assertProgrammer_factory.NewTypeReferenceNode(assertProgrammer_factory.NewIdentifier(props.Name.(string)), nil)
473
+ if importer, ok := context.Importer.(interface {
474
+ Type(ImportProgrammer_TypeProps) *shimast.Node
475
+ }); ok {
476
+ return importer.Type(props)
477
+ }
478
+ return assertProgrammer_factory.NewTypeReferenceNode(assertProgrammer_factory.NewIdentifier(props.Name.(string)), nil)
479
479
  }
480
480
 
481
481
  func assertProgrammer_bool_ptr(value bool) *bool {
482
- return &value
482
+ return &value
483
483
  }