typia 13.0.0-dev.20260501 → 13.0.0-dev.20260506

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