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