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