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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (364) hide show
  1. package/lib/executable/TypiaGenerateWizard.js +55 -8
  2. package/lib/executable/TypiaGenerateWizard.js.map +1 -1
  3. package/lib/executable/TypiaGenerateWizard2.mjs +55 -8
  4. package/lib/executable/TypiaGenerateWizard2.mjs.map +1 -1
  5. package/lib/executable/generate/ttsc.js.map +1 -1
  6. package/lib/executable/setup/PluginConfigurator.js.map +1 -1
  7. package/lib/internal/_randomInteger.js.map +1 -1
  8. package/lib/internal/_validateReport.js.map +1 -1
  9. package/lib/transform.d.ts +2 -13
  10. package/lib/transform.js +4 -11
  11. package/lib/transform.js.map +1 -1
  12. package/lib/transform2.mjs +6 -14
  13. package/lib/transform2.mjs.map +1 -1
  14. package/native/adapter/adapter.go +128 -128
  15. package/native/adapter/cleanup.go +155 -172
  16. package/native/adapter/imports.go +80 -80
  17. package/native/adapter/visit.go +142 -142
  18. package/native/cmd/ttsc-typia/build.go +223 -223
  19. package/native/cmd/ttsc-typia/main.go +57 -57
  20. package/native/cmd/ttsc-typia/transform.go +421 -254
  21. package/native/cmd/ttsc-typia/transform_test.go +40 -0
  22. package/native/core/context/IProgrammerProps.go +7 -7
  23. package/native/core/context/ITransformOptions.go +5 -5
  24. package/native/core/context/ITypiaContext.go +13 -13
  25. package/native/core/context/TransformerError.go +81 -81
  26. package/native/core/factories/CommentFactory.go +9 -9
  27. package/native/core/factories/ExpressionFactory.go +254 -254
  28. package/native/core/factories/FormatCheatSheet.go +23 -23
  29. package/native/core/factories/IdentifierFactory.go +130 -130
  30. package/native/core/factories/JsonMetadataFactory.go +129 -129
  31. package/native/core/factories/LiteralFactory.go +195 -182
  32. package/native/core/factories/MetadataCommentTagFactory.go +379 -379
  33. package/native/core/factories/MetadataFactory.go +462 -462
  34. package/native/core/factories/MetadataTypeTagFactory.go +498 -498
  35. package/native/core/factories/MetadataTypeTagSchemaFactory.go +102 -102
  36. package/native/core/factories/NumericRangeFactory.go +84 -84
  37. package/native/core/factories/ProtobufFactory.go +933 -933
  38. package/native/core/factories/StatementFactory.go +72 -72
  39. package/native/core/factories/TemplateFactory.go +57 -57
  40. package/native/core/factories/TypeFactory.go +125 -125
  41. package/native/core/factories/ValueFactory.go +12 -12
  42. package/native/core/factories/internal/metadata/IMetadataIteratorProps.go +35 -35
  43. package/native/core/factories/internal/metadata/MetadataHelper.go +176 -176
  44. package/native/core/factories/internal/metadata/emend_metadata_atomics.go +69 -69
  45. package/native/core/factories/internal/metadata/emplace_metadata_alias.go +27 -27
  46. package/native/core/factories/internal/metadata/emplace_metadata_array_type.go +33 -33
  47. package/native/core/factories/internal/metadata/emplace_metadata_object.go +209 -209
  48. package/native/core/factories/internal/metadata/emplace_metadata_tuple.go +50 -50
  49. package/native/core/factories/internal/metadata/explore_metadata.go +29 -29
  50. package/native/core/factories/internal/metadata/iterate_metadata.go +46 -46
  51. package/native/core/factories/internal/metadata/iterate_metadata_alias.go +25 -25
  52. package/native/core/factories/internal/metadata/iterate_metadata_array.go +65 -65
  53. package/native/core/factories/internal/metadata/iterate_metadata_atomic.go +49 -49
  54. package/native/core/factories/internal/metadata/iterate_metadata_coalesce.go +22 -22
  55. package/native/core/factories/internal/metadata/iterate_metadata_collection.go +228 -228
  56. package/native/core/factories/internal/metadata/iterate_metadata_comment_tags.go +12 -12
  57. package/native/core/factories/internal/metadata/iterate_metadata_constant.go +71 -71
  58. package/native/core/factories/internal/metadata/iterate_metadata_escape.go +48 -48
  59. package/native/core/factories/internal/metadata/iterate_metadata_function.go +82 -82
  60. package/native/core/factories/internal/metadata/iterate_metadata_intersection.go +319 -319
  61. package/native/core/factories/internal/metadata/iterate_metadata_map.go +51 -51
  62. package/native/core/factories/internal/metadata/iterate_metadata_native.go +85 -85
  63. package/native/core/factories/internal/metadata/iterate_metadata_object.go +27 -27
  64. package/native/core/factories/internal/metadata/iterate_metadata_set.go +37 -37
  65. package/native/core/factories/internal/metadata/iterate_metadata_sort.go +137 -137
  66. package/native/core/factories/internal/metadata/iterate_metadata_template.go +33 -33
  67. package/native/core/factories/internal/metadata/iterate_metadata_tuple.go +16 -16
  68. package/native/core/factories/internal/metadata/iterate_metadata_union.go +18 -18
  69. package/native/core/programmers/AssertProgrammer.go +389 -389
  70. package/native/core/programmers/ImportProgrammer.go +196 -196
  71. package/native/core/programmers/IsProgrammer.go +293 -293
  72. package/native/core/programmers/RandomProgrammer.go +1094 -1094
  73. package/native/core/programmers/ValidateProgrammer.go +369 -369
  74. package/native/core/programmers/functional/FunctionalAssertFunctionProgrammer.go +133 -133
  75. package/native/core/programmers/functional/FunctionalAssertParametersProgrammer.go +104 -104
  76. package/native/core/programmers/functional/FunctionalAssertReturnProgrammer.go +100 -100
  77. package/native/core/programmers/functional/FunctionalIsFunctionProgrammer.go +79 -79
  78. package/native/core/programmers/functional/FunctionalIsParametersProgrammer.go +159 -159
  79. package/native/core/programmers/functional/FunctionalIsReturnProgrammer.go +99 -99
  80. package/native/core/programmers/functional/FunctionalValidateFunctionProgrammer.go +138 -138
  81. package/native/core/programmers/functional/FunctionalValidateParametersProgrammer.go +222 -222
  82. package/native/core/programmers/functional/FunctionalValidateReturnProgrammer.go +116 -116
  83. package/native/core/programmers/functional/internal/FunctionalGeneralProgrammer.go +36 -36
  84. package/native/core/programmers/helpers/AtomicPredicator.go +35 -35
  85. package/native/core/programmers/helpers/CloneJoiner.go +217 -217
  86. package/native/core/programmers/helpers/FunctionProgrammer.go +79 -79
  87. package/native/core/programmers/helpers/HttpMetadataUtil.go +17 -17
  88. package/native/core/programmers/helpers/ICheckEntry.go +5 -5
  89. package/native/core/programmers/helpers/IExpressionEntry.go +6 -6
  90. package/native/core/programmers/helpers/NotationJoiner.go +159 -159
  91. package/native/core/programmers/helpers/OptionPredicator.go +4 -4
  92. package/native/core/programmers/helpers/ProtobufUtil.go +231 -231
  93. package/native/core/programmers/helpers/ProtobufWire.go +6 -6
  94. package/native/core/programmers/helpers/PruneJoiner.go +227 -227
  95. package/native/core/programmers/helpers/RandomJoiner.go +155 -155
  96. package/native/core/programmers/helpers/StringifyJoinder.go +331 -331
  97. package/native/core/programmers/helpers/StringifyPredicator.go +10 -10
  98. package/native/core/programmers/helpers/UnionExplorer.go +835 -835
  99. package/native/core/programmers/helpers/UnionPredicator.go +78 -78
  100. package/native/core/programmers/helpers/disable_function_programmer_declare.go +6 -6
  101. package/native/core/programmers/http/HttpAssertFormDataProgrammer.go +93 -93
  102. package/native/core/programmers/http/HttpAssertHeadersProgrammer.go +42 -42
  103. package/native/core/programmers/http/HttpAssertQueryProgrammer.go +51 -51
  104. package/native/core/programmers/http/HttpFormDataProgrammer.go +351 -351
  105. package/native/core/programmers/http/HttpHeadersProgrammer.go +370 -370
  106. package/native/core/programmers/http/HttpIsFormDataProgrammer.go +109 -109
  107. package/native/core/programmers/http/HttpIsHeadersProgrammer.go +36 -36
  108. package/native/core/programmers/http/HttpIsQueryProgrammer.go +45 -45
  109. package/native/core/programmers/http/HttpParameterProgrammer.go +158 -158
  110. package/native/core/programmers/http/HttpQueryProgrammer.go +422 -422
  111. package/native/core/programmers/http/HttpValidateFormDataProgrammer.go +87 -87
  112. package/native/core/programmers/http/HttpValidateHeadersProgrammer.go +39 -39
  113. package/native/core/programmers/http/HttpValidateQueryProgrammer.go +48 -48
  114. package/native/core/programmers/internal/CheckerProgrammer.go +1490 -1490
  115. package/native/core/programmers/internal/FeatureProgrammer.go +589 -589
  116. package/native/core/programmers/iterate/check_array_length.go +46 -46
  117. package/native/core/programmers/iterate/check_bigint.go +52 -52
  118. package/native/core/programmers/iterate/check_dynamic_key.go +220 -220
  119. package/native/core/programmers/iterate/check_dynamic_properties.go +245 -245
  120. package/native/core/programmers/iterate/check_everything.go +21 -21
  121. package/native/core/programmers/iterate/check_native.go +25 -25
  122. package/native/core/programmers/iterate/check_number.go +135 -135
  123. package/native/core/programmers/iterate/check_object.go +66 -66
  124. package/native/core/programmers/iterate/check_string.go +52 -52
  125. package/native/core/programmers/iterate/check_template.go +57 -57
  126. package/native/core/programmers/iterate/check_union_array_like.go +372 -372
  127. package/native/core/programmers/iterate/decode_union_object.go +118 -118
  128. package/native/core/programmers/iterate/feature_object_entries.go +134 -134
  129. package/native/core/programmers/iterate/json_schema_alias.go +52 -52
  130. package/native/core/programmers/iterate/json_schema_array.go +52 -52
  131. package/native/core/programmers/iterate/json_schema_bigint.go +8 -8
  132. package/native/core/programmers/iterate/json_schema_boolean.go +8 -8
  133. package/native/core/programmers/iterate/json_schema_constant.go +38 -38
  134. package/native/core/programmers/iterate/json_schema_description.go +12 -12
  135. package/native/core/programmers/iterate/json_schema_discriminator.go +47 -47
  136. package/native/core/programmers/iterate/json_schema_escaped.go +58 -58
  137. package/native/core/programmers/iterate/json_schema_jsDocTags.go +34 -34
  138. package/native/core/programmers/iterate/json_schema_native.go +43 -43
  139. package/native/core/programmers/iterate/json_schema_number.go +8 -8
  140. package/native/core/programmers/iterate/json_schema_object.go +149 -149
  141. package/native/core/programmers/iterate/json_schema_plugin.go +35 -35
  142. package/native/core/programmers/iterate/json_schema_station.go +211 -211
  143. package/native/core/programmers/iterate/json_schema_string.go +8 -8
  144. package/native/core/programmers/iterate/json_schema_template.go +53 -53
  145. package/native/core/programmers/iterate/json_schema_title.go +16 -16
  146. package/native/core/programmers/iterate/json_schema_tuple.go +34 -34
  147. package/native/core/programmers/iterate/metadata_to_pattern.go +53 -53
  148. package/native/core/programmers/iterate/postfix_of_tuple.go +5 -5
  149. package/native/core/programmers/iterate/prune_object_properties.go +85 -85
  150. package/native/core/programmers/iterate/stringify_dynamic_properties.go +193 -193
  151. package/native/core/programmers/iterate/stringify_native.go +1 -1
  152. package/native/core/programmers/iterate/stringify_regular_properties.go +84 -84
  153. package/native/core/programmers/iterate/template_to_pattern.go +20 -20
  154. package/native/core/programmers/iterate/wrap_metadata_rest_tuple.go +13 -13
  155. package/native/core/programmers/json/JsonApplicationProgrammer.go +323 -323
  156. package/native/core/programmers/json/JsonAssertParseProgrammer.go +100 -100
  157. package/native/core/programmers/json/JsonAssertStringifyProgrammer.go +88 -88
  158. package/native/core/programmers/json/JsonIsParseProgrammer.go +130 -130
  159. package/native/core/programmers/json/JsonIsStringifyProgrammer.go +92 -92
  160. package/native/core/programmers/json/JsonSchemaProgrammer.go +65 -65
  161. package/native/core/programmers/json/JsonSchemasProgrammer.go +116 -116
  162. package/native/core/programmers/json/JsonStringifyProgrammer.go +1245 -1245
  163. package/native/core/programmers/json/JsonValidateParseProgrammer.go +89 -89
  164. package/native/core/programmers/json/JsonValidateStringifyProgrammer.go +106 -106
  165. package/native/core/programmers/llm/LlmApplicationProgrammer.go +449 -437
  166. package/native/core/programmers/llm/LlmCoerceProgrammer.go +79 -79
  167. package/native/core/programmers/llm/LlmControllerProgrammer.go +35 -35
  168. package/native/core/programmers/llm/LlmMetadataFactory.go +74 -74
  169. package/native/core/programmers/llm/LlmParametersProgrammer.go +105 -132
  170. package/native/core/programmers/llm/LlmParseProgrammer.go +88 -88
  171. package/native/core/programmers/llm/LlmSchemaProgrammer.go +780 -423
  172. package/native/core/programmers/llm/LlmStructuredOutputProgrammer.go +123 -123
  173. package/native/core/programmers/misc/MiscAssertCloneProgrammer.go +82 -82
  174. package/native/core/programmers/misc/MiscAssertPruneProgrammer.go +97 -97
  175. package/native/core/programmers/misc/MiscCloneProgrammer.go +1056 -1056
  176. package/native/core/programmers/misc/MiscIsCloneProgrammer.go +94 -94
  177. package/native/core/programmers/misc/MiscIsPruneProgrammer.go +86 -86
  178. package/native/core/programmers/misc/MiscLiteralsProgrammer.go +99 -99
  179. package/native/core/programmers/misc/MiscPruneProgrammer.go +700 -700
  180. package/native/core/programmers/misc/MiscValidateCloneProgrammer.go +103 -103
  181. package/native/core/programmers/misc/MiscValidatePruneProgrammer.go +94 -94
  182. package/native/core/programmers/notations/NotationAssertGeneralProgrammer.go +85 -85
  183. package/native/core/programmers/notations/NotationGeneralProgrammer.go +1188 -1188
  184. package/native/core/programmers/notations/NotationIsGeneralProgrammer.go +90 -90
  185. package/native/core/programmers/notations/NotationValidateGeneralProgrammer.go +109 -109
  186. package/native/core/programmers/protobuf/ProtobufAssertDecodeProgrammer.go +99 -99
  187. package/native/core/programmers/protobuf/ProtobufAssertEncodeProgrammer.go +114 -114
  188. package/native/core/programmers/protobuf/ProtobufDecodeProgrammer.go +697 -697
  189. package/native/core/programmers/protobuf/ProtobufEncodeProgrammer.go +1039 -1039
  190. package/native/core/programmers/protobuf/ProtobufIsDecodeProgrammer.go +99 -99
  191. package/native/core/programmers/protobuf/ProtobufIsEncodeProgrammer.go +93 -93
  192. package/native/core/programmers/protobuf/ProtobufMessageProgrammer.go +228 -228
  193. package/native/core/programmers/protobuf/ProtobufValidateDecodeProgrammer.go +88 -88
  194. package/native/core/programmers/protobuf/ProtobufValidateEncodeProgrammer.go +120 -120
  195. package/native/core/schemas/metadata/IMetadataDictionary.go +4 -4
  196. package/native/core/schemas/metadata/MetadataAlias.go +15 -15
  197. package/native/core/schemas/metadata/MetadataAliasType.go +36 -36
  198. package/native/core/schemas/metadata/MetadataApplication.go +25 -25
  199. package/native/core/schemas/metadata/MetadataArray.go +15 -15
  200. package/native/core/schemas/metadata/MetadataArrayType.go +31 -31
  201. package/native/core/schemas/metadata/MetadataAtomic.go +45 -45
  202. package/native/core/schemas/metadata/MetadataCollection.go +380 -380
  203. package/native/core/schemas/metadata/MetadataComponents.go +95 -95
  204. package/native/core/schemas/metadata/MetadataConstant.go +31 -31
  205. package/native/core/schemas/metadata/MetadataConstantValue.go +63 -63
  206. package/native/core/schemas/metadata/MetadataEscaped.go +17 -17
  207. package/native/core/schemas/metadata/MetadataFunction.go +30 -30
  208. package/native/core/schemas/metadata/MetadataMap.go +21 -21
  209. package/native/core/schemas/metadata/MetadataNative.go +48 -48
  210. package/native/core/schemas/metadata/MetadataObject.go +15 -15
  211. package/native/core/schemas/metadata/MetadataObjectType.go +116 -116
  212. package/native/core/schemas/metadata/MetadataParameter.go +28 -28
  213. package/native/core/schemas/metadata/MetadataProperty.go +32 -32
  214. package/native/core/schemas/metadata/MetadataSchema.go +766 -766
  215. package/native/core/schemas/metadata/MetadataSet.go +17 -17
  216. package/native/core/schemas/metadata/MetadataTemplate.go +43 -43
  217. package/native/core/schemas/metadata/MetadataTuple.go +10 -10
  218. package/native/core/schemas/metadata/MetadataTupleType.go +38 -38
  219. package/native/core/schemas/protobuf/IProtobufProperty.go +2 -2
  220. package/native/core/schemas/protobuf/IProtobufPropertyType.go +18 -18
  221. package/native/core/schemas/protobuf/IProtobufSchema.go +17 -17
  222. package/native/core/typings/Writable.go +1 -1
  223. package/native/core/utils/PatternUtil.go +38 -38
  224. package/native/core/utils/ProtobufNameEncoder.go +28 -28
  225. package/native/shim/printer/shim.go +213 -213
  226. package/native/third_party/ttsc/driver/host.go +7 -7
  227. package/native/third_party/ttsc/driver/program.go +275 -275
  228. package/native/third_party/ttsc/driver/rewrite.go +219 -219
  229. package/native/third_party/ttsc/shim/ast/lint.go +171 -171
  230. package/native/third_party/ttsc/shim/ast/shim.go +83 -83
  231. package/native/third_party/ttsc/shim/bundled/shim.go +5 -1
  232. package/native/third_party/ttsc/shim/checker/shim.go +79 -79
  233. package/native/third_party/ttsc/shim/compiler/shim.go +16 -1
  234. package/native/third_party/ttsc/shim/core/shim.go +10 -10
  235. package/native/third_party/ttsc/shim/diagnosticwriter/lint.go +79 -79
  236. package/native/third_party/ttsc/shim/diagnosticwriter/shim.go +19 -19
  237. package/native/third_party/ttsc/shim/parser/shim.go +7 -1
  238. package/native/third_party/ttsc/shim/scanner/shim.go +39 -1
  239. package/native/third_party/ttsc/shim/tsoptions/shim.go +51 -1
  240. package/native/third_party/ttsc/shim/tspath/shim.go +72 -1
  241. package/native/third_party/ttsc/shim/vfs/cachedvfs/shim.go +1 -1
  242. package/native/third_party/ttsc/shim/vfs/osvfs/shim.go +1 -1
  243. package/native/third_party/ttsc/shim/vfs/shim.go +4 -1
  244. package/native/transform/CallExpressionTransformer.go +556 -556
  245. package/native/transform/FileTransformer.go +123 -123
  246. package/native/transform/ImportTransformer.go +224 -224
  247. package/native/transform/NodeTransformer.go +11 -11
  248. package/native/transform/TypiaGenerator.go +136 -136
  249. package/native/transform/features/AssertTransformer.go +28 -28
  250. package/native/transform/features/CreateAssertTransformer.go +28 -28
  251. package/native/transform/features/CreateIsTransformer.go +24 -24
  252. package/native/transform/features/CreateRandomTransformer.go +35 -35
  253. package/native/transform/features/CreateValidateTransformer.go +24 -24
  254. package/native/transform/features/IsTransformer.go +24 -24
  255. package/native/transform/features/RandomTransformer.go +37 -37
  256. package/native/transform/features/ValidateTransformer.go +24 -24
  257. package/native/transform/features/functional/FunctionalGenericTransformer.go +48 -48
  258. package/native/transform/features/http/CreateHttpAssertFormDataTransformer.go +11 -11
  259. package/native/transform/features/http/CreateHttpAssertHeadersTransformer.go +11 -11
  260. package/native/transform/features/http/CreateHttpAssertQueryTransformer.go +17 -17
  261. package/native/transform/features/http/CreateHttpFormDataTransformer.go +11 -11
  262. package/native/transform/features/http/CreateHttpHeadersTransformer.go +11 -11
  263. package/native/transform/features/http/CreateHttpIsFormDataTransformer.go +11 -11
  264. package/native/transform/features/http/CreateHttpIsHeadersTransformer.go +11 -11
  265. package/native/transform/features/http/CreateHttpIsQueryTransformer.go +17 -17
  266. package/native/transform/features/http/CreateHttpParameterTransformer.go +11 -11
  267. package/native/transform/features/http/CreateHttpQueryTransformer.go +17 -17
  268. package/native/transform/features/http/CreateHttpValidateFormDataTransformer.go +11 -11
  269. package/native/transform/features/http/CreateHttpValidateHeadersTransformer.go +11 -11
  270. package/native/transform/features/http/CreateHttpValidateQueryTransformer.go +17 -17
  271. package/native/transform/features/http/HttpAssertFormDataTransformer.go +11 -11
  272. package/native/transform/features/http/HttpAssertHeadersTransformer.go +11 -11
  273. package/native/transform/features/http/HttpAssertQueryTransformer.go +17 -17
  274. package/native/transform/features/http/HttpFormDataTransformer.go +11 -11
  275. package/native/transform/features/http/HttpHeadersTransformer.go +11 -11
  276. package/native/transform/features/http/HttpIsFormDataTransformer.go +11 -11
  277. package/native/transform/features/http/HttpIsHeadersTransformer.go +11 -11
  278. package/native/transform/features/http/HttpIsQueryTransformer.go +17 -17
  279. package/native/transform/features/http/HttpParameterTransformer.go +11 -11
  280. package/native/transform/features/http/HttpQueryTransformer.go +17 -17
  281. package/native/transform/features/http/HttpValidateFormDataTransformer.go +11 -11
  282. package/native/transform/features/http/HttpValidateHeadersTransformer.go +11 -11
  283. package/native/transform/features/http/HttpValidateQueryTransformer.go +17 -17
  284. package/native/transform/features/json/JsonApplicationTransformer.go +61 -61
  285. package/native/transform/features/json/JsonAssertParseTransformer.go +11 -11
  286. package/native/transform/features/json/JsonAssertStringifyTransformer.go +11 -11
  287. package/native/transform/features/json/JsonCreateAssertParseTransformer.go +11 -11
  288. package/native/transform/features/json/JsonCreateAssertStringifyTransformer.go +11 -11
  289. package/native/transform/features/json/JsonCreateIsParseTransformer.go +11 -11
  290. package/native/transform/features/json/JsonCreateIsStringifyTransformer.go +11 -11
  291. package/native/transform/features/json/JsonCreateStringifyTransformer.go +11 -11
  292. package/native/transform/features/json/JsonCreateValidateParseTransformer.go +11 -11
  293. package/native/transform/features/json/JsonCreateValidateStringifyProgrammer.go +11 -11
  294. package/native/transform/features/json/JsonIsParseTransformer.go +11 -11
  295. package/native/transform/features/json/JsonIsStringifyTransformer.go +11 -11
  296. package/native/transform/features/json/JsonSchemaTransformer.go +148 -148
  297. package/native/transform/features/json/JsonSchemasTransformer.go +94 -94
  298. package/native/transform/features/json/JsonStringifyTransformer.go +11 -11
  299. package/native/transform/features/json/JsonValidateParseTransformer.go +11 -11
  300. package/native/transform/features/json/JsonValidateStringifyTransformer.go +11 -11
  301. package/native/transform/features/llm/LlmApplicationTransformer.go +43 -43
  302. package/native/transform/features/llm/LlmCoerceTransformer.go +50 -50
  303. package/native/transform/features/llm/LlmControllerTransformer.go +48 -48
  304. package/native/transform/features/llm/LlmCreateCoerceTransformer.go +43 -43
  305. package/native/transform/features/llm/LlmCreateParseTransformer.go +43 -43
  306. package/native/transform/features/llm/LlmParametersTransformer.go +38 -38
  307. package/native/transform/features/llm/LlmParseTransformer.go +50 -50
  308. package/native/transform/features/llm/LlmSchemaTransformer.go +129 -129
  309. package/native/transform/features/llm/LlmStructuredOutputTransformer.go +44 -44
  310. package/native/transform/features/misc/MiscAssertCloneTransformer.go +11 -11
  311. package/native/transform/features/misc/MiscAssertPruneTransformer.go +11 -11
  312. package/native/transform/features/misc/MiscCloneTransformer.go +11 -11
  313. package/native/transform/features/misc/MiscCreateAssertCloneTransformer.go +11 -11
  314. package/native/transform/features/misc/MiscCreateAssertPruneTransformer.go +11 -11
  315. package/native/transform/features/misc/MiscCreateCloneTransformer.go +11 -11
  316. package/native/transform/features/misc/MiscCreateIsCloneTransformer.go +11 -11
  317. package/native/transform/features/misc/MiscCreateIsPruneTransformer.go +11 -11
  318. package/native/transform/features/misc/MiscCreatePruneTransformer.go +11 -11
  319. package/native/transform/features/misc/MiscCreateValidateCloneTransformer.go +11 -11
  320. package/native/transform/features/misc/MiscCreateValidatePruneTransformer.go +11 -11
  321. package/native/transform/features/misc/MiscIsCloneTransformer.go +11 -11
  322. package/native/transform/features/misc/MiscIsPruneTransformer.go +11 -11
  323. package/native/transform/features/misc/MiscLiteralsTransformer.go +21 -21
  324. package/native/transform/features/misc/MiscPruneTransformer.go +11 -11
  325. package/native/transform/features/misc/MiscValidateCloneTransformer.go +11 -11
  326. package/native/transform/features/misc/MiscValidatePruneTransformer.go +11 -11
  327. package/native/transform/features/notations/NotationAssertGeneralTransformer.go +16 -16
  328. package/native/transform/features/notations/NotationCreateAssertGeneralTransformer.go +16 -16
  329. package/native/transform/features/notations/NotationCreateGeneralTransformer.go +16 -16
  330. package/native/transform/features/notations/NotationCreateIsGeneralTransformer.go +16 -16
  331. package/native/transform/features/notations/NotationCreateValidateGeneralTransformer.go +16 -16
  332. package/native/transform/features/notations/NotationGeneralTransformer.go +21 -21
  333. package/native/transform/features/notations/NotationIsGeneralTransformer.go +16 -16
  334. package/native/transform/features/notations/NotationValidateGeneralTransformer.go +16 -16
  335. package/native/transform/features/protobuf/ProtobufAssertDecodeTransformer.go +11 -11
  336. package/native/transform/features/protobuf/ProtobufAssertEncodeTransformer.go +11 -11
  337. package/native/transform/features/protobuf/ProtobufCreateAssertDecodeTransformer.go +11 -11
  338. package/native/transform/features/protobuf/ProtobufCreateAssertEncodeTransformer.go +11 -11
  339. package/native/transform/features/protobuf/ProtobufCreateDecodeTransformer.go +11 -11
  340. package/native/transform/features/protobuf/ProtobufCreateEncodeTransformer.go +11 -11
  341. package/native/transform/features/protobuf/ProtobufCreateIsDecodeTransformer.go +11 -11
  342. package/native/transform/features/protobuf/ProtobufCreateIsEncodeTransformer.go +11 -11
  343. package/native/transform/features/protobuf/ProtobufCreateValidateDecodeTransformer.go +11 -11
  344. package/native/transform/features/protobuf/ProtobufCreateValidateEncodeTransformer.go +11 -11
  345. package/native/transform/features/protobuf/ProtobufDecodeTransformer.go +11 -11
  346. package/native/transform/features/protobuf/ProtobufEncodeTransformer.go +11 -11
  347. package/native/transform/features/protobuf/ProtobufIsDecodeTransformer.go +11 -11
  348. package/native/transform/features/protobuf/ProtobufIsEncodeTransformer.go +11 -11
  349. package/native/transform/features/protobuf/ProtobufMessageTransformer.go +20 -20
  350. package/native/transform/features/protobuf/ProtobufValidateDecodeTransformer.go +11 -11
  351. package/native/transform/features/protobuf/ProtobufValidateEncodeTransformer.go +11 -11
  352. package/native/transform/features/reflect/ReflectMetadataTransformer.go +59 -59
  353. package/native/transform/features/reflect/ReflectNameTransformer.go +78 -78
  354. package/native/transform/features/reflect/ReflectSchemaTransformer.go +121 -121
  355. package/native/transform/features/reflect/ReflectSchemasTransformer.go +55 -55
  356. package/native/transform/internal/GenericTransformer.go +173 -173
  357. package/native/transform/transform.go +32 -32
  358. package/package.json +4 -4
  359. package/src/executable/TypiaGenerateWizard.ts +78 -9
  360. package/src/executable/generate/ttsc.ts +2 -3
  361. package/src/executable/setup/PluginConfigurator.ts +2 -3
  362. package/src/internal/_randomInteger.ts +5 -5
  363. package/src/internal/_validateReport.ts +1 -2
  364. package/src/transform.ts +6 -11
@@ -1,14 +1,14 @@
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"
11
- nativemetadata "github.com/samchon/typia/packages/typia/native/core/schemas/metadata"
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
+ nativemetadata "github.com/samchon/typia/packages/typia/native/core/schemas/metadata"
12
12
  )
13
13
 
14
14
  type isProgrammerNamespace struct{}
@@ -16,355 +16,355 @@ type isProgrammerNamespace struct{}
16
16
  var IsProgrammer = isProgrammerNamespace{}
17
17
 
18
18
  type IsProgrammer_CONFIG_IOptions struct {
19
- Numeric *bool
20
- Undefined *bool
21
- Object func(props IsProgrammer_CONFIG_IOptions_ObjectProps) *shimast.Node
19
+ Numeric *bool
20
+ Undefined *bool
21
+ Object func(props IsProgrammer_CONFIG_IOptions_ObjectProps) *shimast.Node
22
22
  }
23
23
 
24
24
  type IsProgrammer_CONFIG_IOptions_ObjectProps struct {
25
- Input *shimast.Expression
26
- Entries []nativehelpers.IExpressionEntry
27
- Object *nativemetadata.MetadataObjectType
25
+ Input *shimast.Expression
26
+ Entries []nativehelpers.IExpressionEntry
27
+ Object *nativemetadata.MetadataObjectType
28
28
  }
29
29
 
30
30
  type IsProgrammer_IConfig struct {
31
- Equals bool
31
+ Equals bool
32
32
  }
33
33
 
34
34
  type IsProgrammer_IProps struct {
35
- Context nativecontext.ITypiaContext
36
- Modulo *shimast.Node
37
- Type *nativechecker.Type
38
- Name *string
39
- Init *shimast.Node
40
- Config IsProgrammer_IConfig
35
+ Context nativecontext.ITypiaContext
36
+ Modulo *shimast.Node
37
+ Type *nativechecker.Type
38
+ Name *string
39
+ Init *shimast.Node
40
+ Config IsProgrammer_IConfig
41
41
  }
42
42
 
43
43
  type IsProgrammer_DecomposeProps struct {
44
- Context nativecontext.ITypiaContext
45
- Functor *nativehelpers.FunctionProgrammer
46
- Config IsProgrammer_IConfig
47
- Type *nativechecker.Type
48
- Name *string
44
+ Context nativecontext.ITypiaContext
45
+ Functor *nativehelpers.FunctionProgrammer
46
+ Config IsProgrammer_IConfig
47
+ Type *nativechecker.Type
48
+ Name *string
49
49
  }
50
50
 
51
51
  type IsProgrammer_WriteFunctionStatementsProps struct {
52
- Context nativecontext.ITypiaContext
53
- Functor *nativehelpers.FunctionProgrammer
54
- Collection *nativemetadata.MetadataCollection
52
+ Context nativecontext.ITypiaContext
53
+ Functor *nativehelpers.FunctionProgrammer
54
+ Collection *nativemetadata.MetadataCollection
55
55
  }
56
56
 
57
57
  type IsProgrammer_DecodeProps struct {
58
- Context nativecontext.ITypiaContext
59
- Functor *nativehelpers.FunctionProgrammer
60
- Metadata *nativemetadata.MetadataSchema
61
- Input *shimast.Expression
62
- Explore nativeinternal.CheckerProgrammer_IExplore
58
+ Context nativecontext.ITypiaContext
59
+ Functor *nativehelpers.FunctionProgrammer
60
+ Metadata *nativemetadata.MetadataSchema
61
+ Input *shimast.Expression
62
+ Explore nativeinternal.CheckerProgrammer_IExplore
63
63
  }
64
64
 
65
65
  type IsProgrammer_DecodeObjectProps struct {
66
- Context nativecontext.ITypiaContext
67
- Functor *nativehelpers.FunctionProgrammer
68
- Object *nativemetadata.MetadataObjectType
69
- Input *shimast.Expression
70
- Explore nativeinternal.FeatureProgrammer_IExplore
66
+ Context nativecontext.ITypiaContext
67
+ Functor *nativehelpers.FunctionProgrammer
68
+ Object *nativemetadata.MetadataObjectType
69
+ Input *shimast.Expression
70
+ Explore nativeinternal.FeatureProgrammer_IExplore
71
71
  }
72
72
 
73
73
  var isProgrammer_factory = shimast.NewNodeFactory(shimast.NodeFactoryHooks{})
74
74
 
75
75
  func (isProgrammerNamespace) Configure(props struct {
76
- Options *IsProgrammer_CONFIG_IOptions
77
- Context nativecontext.ITypiaContext
78
- Functor *nativehelpers.FunctionProgrammer
76
+ Options *IsProgrammer_CONFIG_IOptions
77
+ Context nativecontext.ITypiaContext
78
+ Functor *nativehelpers.FunctionProgrammer
79
79
  }) nativeinternal.CheckerProgrammer_IConfig {
80
- options := props.Options
81
- return nativeinternal.CheckerProgrammer_IConfig{
82
- Prefix: "_i",
83
- Equals: options != nil && options.Object != nil,
84
- Trace: false,
85
- Path: false,
86
- Numeric: isProgrammer_option_numeric(options),
87
- Atomist: func(next nativeinternal.CheckerProgrammer_AtomistProps) *shimast.Node {
88
- expressions := []*shimast.Node{}
89
- if next.Entry.Expression != nil {
90
- expressions = append(expressions, next.Entry.Expression)
91
- }
92
- if len(next.Entry.Conditions) != 0 {
93
- rows := []*shimast.Node{}
94
- for _, set := range next.Entry.Conditions {
95
- cols := make([]*shimast.Node, 0, len(set))
96
- for _, cond := range set {
97
- cols = append(cols, cond.Expression)
98
- }
99
- rows = append(rows, isProgrammer_reduce(cols, shimast.KindAmpersandAmpersandToken, isProgrammer_factory.NewKeywordExpression(shimast.KindTrueKeyword)))
100
- }
101
- expressions = append(expressions, isProgrammer_reduce(rows, shimast.KindBarBarToken, isProgrammer_factory.NewKeywordExpression(shimast.KindFalseKeyword)))
102
- }
103
- return isProgrammer_reduce(expressions, shimast.KindAmpersandAmpersandToken, isProgrammer_factory.NewKeywordExpression(shimast.KindTrueKeyword))
104
- },
105
- Combiner: func(next nativeinternal.CheckerProgrammer_CombinerProps) *shimast.Node {
106
- initial := isProgrammer_factory.NewKeywordExpression(shimast.KindFalseKeyword)
107
- operator := shimast.KindBarBarToken
108
- if next.Logic == "and" {
109
- initial = isProgrammer_factory.NewKeywordExpression(shimast.KindTrueKeyword)
110
- operator = shimast.KindAmpersandAmpersandToken
111
- }
112
- expressions := make([]*shimast.Node, 0, len(next.Binaries))
113
- for _, binary := range next.Binaries {
114
- expressions = append(expressions, binary.Expression)
115
- }
116
- return isProgrammer_reduce(expressions, operator, initial)
117
- },
118
- Joiner: nativeinternal.CheckerProgrammer_IConfig_IJoiner{
119
- Object: func(v nativeinternal.CheckerProgrammer_JoinerObjectProps) *shimast.Node {
120
- if options != nil && options.Object != nil {
121
- return options.Object(IsProgrammer_CONFIG_IOptions_ObjectProps{
122
- Input: v.Input,
123
- Entries: v.Entries,
124
- Object: v.Object,
125
- })
126
- }
127
- return nativeiterate.Check_object(nativeiterate.Check_objectProps{
128
- Config: nativeiterate.Check_object_IConfig{
129
- Equals: options != nil && options.Object != nil,
130
- Undefined: isProgrammer_option_undefined(options),
131
- Assert: true,
132
- Reduce: func(a *shimast.Expression, b *shimast.Expression) *shimast.Node {
133
- return isProgrammer_binary(a, shimast.KindAmpersandAmpersandToken, b)
134
- },
135
- Positive: isProgrammer_factory.NewKeywordExpression(shimast.KindTrueKeyword),
136
- Superfluous: func(value *shimast.Expression, description *shimast.Expression) *shimast.Node {
137
- return isProgrammer_factory.NewKeywordExpression(shimast.KindFalseKeyword)
138
- },
139
- },
140
- Context: props.Context,
141
- Entries: v.Entries,
142
- Input: v.Input,
143
- })
144
- },
145
- Array: func(v nativeinternal.CheckerProgrammer_JoinerArrayProps) *shimast.Node {
146
- return isProgrammer_factory.NewCallExpression(
147
- nativefactories.IdentifierFactory.Access(v.Input, "every"),
148
- nil,
149
- nil,
150
- isProgrammer_factory.NewNodeList([]*shimast.Node{v.Arrow}),
151
- shimast.NodeFlagsNone,
152
- )
153
- },
154
- Failure: func(nativeinternal.CheckerProgrammer_JoinerFailureProps) *shimast.Node {
155
- return isProgrammer_factory.NewKeywordExpression(shimast.KindFalseKeyword)
156
- },
157
- },
158
- Success: isProgrammer_factory.NewKeywordExpression(shimast.KindTrueKeyword),
159
- }
80
+ options := props.Options
81
+ return nativeinternal.CheckerProgrammer_IConfig{
82
+ Prefix: "_i",
83
+ Equals: options != nil && options.Object != nil,
84
+ Trace: false,
85
+ Path: false,
86
+ Numeric: isProgrammer_option_numeric(options),
87
+ Atomist: func(next nativeinternal.CheckerProgrammer_AtomistProps) *shimast.Node {
88
+ expressions := []*shimast.Node{}
89
+ if next.Entry.Expression != nil {
90
+ expressions = append(expressions, next.Entry.Expression)
91
+ }
92
+ if len(next.Entry.Conditions) != 0 {
93
+ rows := []*shimast.Node{}
94
+ for _, set := range next.Entry.Conditions {
95
+ cols := make([]*shimast.Node, 0, len(set))
96
+ for _, cond := range set {
97
+ cols = append(cols, cond.Expression)
98
+ }
99
+ rows = append(rows, isProgrammer_reduce(cols, shimast.KindAmpersandAmpersandToken, isProgrammer_factory.NewKeywordExpression(shimast.KindTrueKeyword)))
100
+ }
101
+ expressions = append(expressions, isProgrammer_reduce(rows, shimast.KindBarBarToken, isProgrammer_factory.NewKeywordExpression(shimast.KindFalseKeyword)))
102
+ }
103
+ return isProgrammer_reduce(expressions, shimast.KindAmpersandAmpersandToken, isProgrammer_factory.NewKeywordExpression(shimast.KindTrueKeyword))
104
+ },
105
+ Combiner: func(next nativeinternal.CheckerProgrammer_CombinerProps) *shimast.Node {
106
+ initial := isProgrammer_factory.NewKeywordExpression(shimast.KindFalseKeyword)
107
+ operator := shimast.KindBarBarToken
108
+ if next.Logic == "and" {
109
+ initial = isProgrammer_factory.NewKeywordExpression(shimast.KindTrueKeyword)
110
+ operator = shimast.KindAmpersandAmpersandToken
111
+ }
112
+ expressions := make([]*shimast.Node, 0, len(next.Binaries))
113
+ for _, binary := range next.Binaries {
114
+ expressions = append(expressions, binary.Expression)
115
+ }
116
+ return isProgrammer_reduce(expressions, operator, initial)
117
+ },
118
+ Joiner: nativeinternal.CheckerProgrammer_IConfig_IJoiner{
119
+ Object: func(v nativeinternal.CheckerProgrammer_JoinerObjectProps) *shimast.Node {
120
+ if options != nil && options.Object != nil {
121
+ return options.Object(IsProgrammer_CONFIG_IOptions_ObjectProps{
122
+ Input: v.Input,
123
+ Entries: v.Entries,
124
+ Object: v.Object,
125
+ })
126
+ }
127
+ return nativeiterate.Check_object(nativeiterate.Check_objectProps{
128
+ Config: nativeiterate.Check_object_IConfig{
129
+ Equals: options != nil && options.Object != nil,
130
+ Undefined: isProgrammer_option_undefined(options),
131
+ Assert: true,
132
+ Reduce: func(a *shimast.Expression, b *shimast.Expression) *shimast.Node {
133
+ return isProgrammer_binary(a, shimast.KindAmpersandAmpersandToken, b)
134
+ },
135
+ Positive: isProgrammer_factory.NewKeywordExpression(shimast.KindTrueKeyword),
136
+ Superfluous: func(value *shimast.Expression, description *shimast.Expression) *shimast.Node {
137
+ return isProgrammer_factory.NewKeywordExpression(shimast.KindFalseKeyword)
138
+ },
139
+ },
140
+ Context: props.Context,
141
+ Entries: v.Entries,
142
+ Input: v.Input,
143
+ })
144
+ },
145
+ Array: func(v nativeinternal.CheckerProgrammer_JoinerArrayProps) *shimast.Node {
146
+ return isProgrammer_factory.NewCallExpression(
147
+ nativefactories.IdentifierFactory.Access(v.Input, "every"),
148
+ nil,
149
+ nil,
150
+ isProgrammer_factory.NewNodeList([]*shimast.Node{v.Arrow}),
151
+ shimast.NodeFlagsNone,
152
+ )
153
+ },
154
+ Failure: func(nativeinternal.CheckerProgrammer_JoinerFailureProps) *shimast.Node {
155
+ return isProgrammer_factory.NewKeywordExpression(shimast.KindFalseKeyword)
156
+ },
157
+ },
158
+ Success: isProgrammer_factory.NewKeywordExpression(shimast.KindTrueKeyword),
159
+ }
160
160
  }
161
161
 
162
162
  func (isProgrammerNamespace) Decompose(props IsProgrammer_DecomposeProps) nativeinternal.FeatureProgrammer_IDecomposed {
163
- options := &IsProgrammer_CONFIG_IOptions{
164
- Numeric: props.Context.Options.Numeric,
165
- Object: func(v IsProgrammer_CONFIG_IOptions_ObjectProps) *shimast.Node {
166
- return nativeiterate.Check_object(nativeiterate.Check_objectProps{
167
- Config: nativeiterate.Check_object_IConfig{
168
- Equals: props.Config.Equals,
169
- Undefined: nativehelpers.OptionPredicator.Undefined(props.Context.Options),
170
- Assert: true,
171
- Reduce: func(a *shimast.Expression, b *shimast.Expression) *shimast.Node {
172
- return isProgrammer_binary(a, shimast.KindAmpersandAmpersandToken, b)
173
- },
174
- Positive: isProgrammer_factory.NewKeywordExpression(shimast.KindTrueKeyword),
175
- Superfluous: func(value *shimast.Expression, description *shimast.Expression) *shimast.Node {
176
- return isProgrammer_factory.NewKeywordExpression(shimast.KindFalseKeyword)
177
- },
178
- },
179
- Context: props.Context,
180
- Entries: v.Entries,
181
- Input: v.Input,
182
- })
183
- },
184
- }
185
- config := IsProgrammer.Configure(struct {
186
- Options *IsProgrammer_CONFIG_IOptions
187
- Context nativecontext.ITypiaContext
188
- Functor *nativehelpers.FunctionProgrammer
189
- }{Options: options, Context: props.Context, Functor: props.Functor})
190
- config.Trace = props.Config.Equals
163
+ options := &IsProgrammer_CONFIG_IOptions{
164
+ Numeric: props.Context.Options.Numeric,
165
+ Object: func(v IsProgrammer_CONFIG_IOptions_ObjectProps) *shimast.Node {
166
+ return nativeiterate.Check_object(nativeiterate.Check_objectProps{
167
+ Config: nativeiterate.Check_object_IConfig{
168
+ Equals: props.Config.Equals,
169
+ Undefined: nativehelpers.OptionPredicator.Undefined(props.Context.Options),
170
+ Assert: true,
171
+ Reduce: func(a *shimast.Expression, b *shimast.Expression) *shimast.Node {
172
+ return isProgrammer_binary(a, shimast.KindAmpersandAmpersandToken, b)
173
+ },
174
+ Positive: isProgrammer_factory.NewKeywordExpression(shimast.KindTrueKeyword),
175
+ Superfluous: func(value *shimast.Expression, description *shimast.Expression) *shimast.Node {
176
+ return isProgrammer_factory.NewKeywordExpression(shimast.KindFalseKeyword)
177
+ },
178
+ },
179
+ Context: props.Context,
180
+ Entries: v.Entries,
181
+ Input: v.Input,
182
+ })
183
+ },
184
+ }
185
+ config := IsProgrammer.Configure(struct {
186
+ Options *IsProgrammer_CONFIG_IOptions
187
+ Context nativecontext.ITypiaContext
188
+ Functor *nativehelpers.FunctionProgrammer
189
+ }{Options: options, Context: props.Context, Functor: props.Functor})
190
+ config.Trace = props.Config.Equals
191
191
 
192
- composed := nativeinternal.CheckerProgrammer.Compose(nativeinternal.CheckerProgrammer_ComposeProps{
193
- Context: props.Context,
194
- Config: config,
195
- Functor: props.Functor,
196
- Type: props.Type,
197
- Name: props.Name,
198
- })
199
- return nativeinternal.FeatureProgrammer_IDecomposed{
200
- Functions: composed.Functions,
201
- Statements: composed.Statements,
202
- Arrow: isProgrammer_factory.NewArrowFunction(
203
- nil,
204
- nil,
205
- isProgrammer_factory.NewNodeList(composed.Parameters),
206
- composed.Response,
207
- nil,
208
- isProgrammer_factory.NewToken(shimast.KindEqualsGreaterThanToken),
209
- composed.Body,
210
- ),
211
- }
192
+ composed := nativeinternal.CheckerProgrammer.Compose(nativeinternal.CheckerProgrammer_ComposeProps{
193
+ Context: props.Context,
194
+ Config: config,
195
+ Functor: props.Functor,
196
+ Type: props.Type,
197
+ Name: props.Name,
198
+ })
199
+ return nativeinternal.FeatureProgrammer_IDecomposed{
200
+ Functions: composed.Functions,
201
+ Statements: composed.Statements,
202
+ Arrow: isProgrammer_factory.NewArrowFunction(
203
+ nil,
204
+ nil,
205
+ isProgrammer_factory.NewNodeList(composed.Parameters),
206
+ composed.Response,
207
+ nil,
208
+ isProgrammer_factory.NewToken(shimast.KindEqualsGreaterThanToken),
209
+ composed.Body,
210
+ ),
211
+ }
212
212
  }
213
213
 
214
214
  func (isProgrammerNamespace) Write(props IsProgrammer_IProps) *shimast.Node {
215
- method := ""
216
- if props.Modulo != nil {
217
- method = props.Modulo.Text()
218
- }
219
- functor := nativehelpers.NewFunctionProgrammer(method)
220
- result := IsProgrammer.Decompose(IsProgrammer_DecomposeProps{
221
- Config: props.Config,
222
- Context: props.Context,
223
- Functor: functor,
224
- Type: props.Type,
225
- Name: props.Name,
226
- })
227
- return nativeinternal.FeatureProgrammer.WriteDecomposed(nativeinternal.FeatureProgrammer_WriteDecomposedProps{
228
- Modulo: props.Modulo,
229
- Functor: functor,
230
- Result: result,
231
- })
215
+ method := ""
216
+ if props.Modulo != nil {
217
+ method = props.Modulo.Text()
218
+ }
219
+ functor := nativehelpers.NewFunctionProgrammer(method)
220
+ result := IsProgrammer.Decompose(IsProgrammer_DecomposeProps{
221
+ Config: props.Config,
222
+ Context: props.Context,
223
+ Functor: functor,
224
+ Type: props.Type,
225
+ Name: props.Name,
226
+ })
227
+ return nativeinternal.FeatureProgrammer.WriteDecomposed(nativeinternal.FeatureProgrammer_WriteDecomposedProps{
228
+ Modulo: props.Modulo,
229
+ Functor: functor,
230
+ Result: result,
231
+ })
232
232
  }
233
233
 
234
234
  func (isProgrammerNamespace) Write_function_statements(props IsProgrammer_WriteFunctionStatementsProps) []*shimast.Node {
235
- config := IsProgrammer.Configure(struct {
236
- Options *IsProgrammer_CONFIG_IOptions
237
- Context nativecontext.ITypiaContext
238
- Functor *nativehelpers.FunctionProgrammer
239
- }{Options: nil, Context: props.Context, Functor: props.Functor})
240
- next := nativeinternal.CheckerProgrammer_WriteObjectFunctionsProps{
241
- Context: props.Context,
242
- Config: config,
243
- Functor: props.Functor,
244
- Collection: props.Collection,
245
- }
246
- objects := nativeinternal.CheckerProgrammer.Write_object_functions(next)
247
- unions := nativeinternal.CheckerProgrammer.Write_union_functions(next)
248
- arrays := nativeinternal.CheckerProgrammer.Write_array_functions(next)
249
- tuples := nativeinternal.CheckerProgrammer.Write_tuple_functions(next)
235
+ config := IsProgrammer.Configure(struct {
236
+ Options *IsProgrammer_CONFIG_IOptions
237
+ Context nativecontext.ITypiaContext
238
+ Functor *nativehelpers.FunctionProgrammer
239
+ }{Options: nil, Context: props.Context, Functor: props.Functor})
240
+ next := nativeinternal.CheckerProgrammer_WriteObjectFunctionsProps{
241
+ Context: props.Context,
242
+ Config: config,
243
+ Functor: props.Functor,
244
+ Collection: props.Collection,
245
+ }
246
+ objects := nativeinternal.CheckerProgrammer.Write_object_functions(next)
247
+ unions := nativeinternal.CheckerProgrammer.Write_union_functions(next)
248
+ arrays := nativeinternal.CheckerProgrammer.Write_array_functions(next)
249
+ tuples := nativeinternal.CheckerProgrammer.Write_tuple_functions(next)
250
250
 
251
- output := []*shimast.Node{}
252
- for i, stmt := range objects {
253
- if props.Functor.HasLocal(config.Prefix + "o" + isProgrammer_itoa(i)) {
254
- output = append(output, stmt)
255
- }
256
- }
257
- for i, stmt := range unions {
258
- if props.Functor.HasLocal(config.Prefix + "u" + isProgrammer_itoa(i)) {
259
- output = append(output, stmt)
260
- }
261
- }
262
- for i, stmt := range arrays {
263
- if props.Functor.HasLocal(config.Prefix + "a" + isProgrammer_itoa(i)) {
264
- output = append(output, stmt)
265
- }
266
- }
267
- for i, stmt := range tuples {
268
- if props.Functor.HasLocal(config.Prefix + "t" + isProgrammer_itoa(i)) {
269
- output = append(output, stmt)
270
- }
271
- }
272
- return output
251
+ output := []*shimast.Node{}
252
+ for i, stmt := range objects {
253
+ if props.Functor.HasLocal(config.Prefix + "o" + isProgrammer_itoa(i)) {
254
+ output = append(output, stmt)
255
+ }
256
+ }
257
+ for i, stmt := range unions {
258
+ if props.Functor.HasLocal(config.Prefix + "u" + isProgrammer_itoa(i)) {
259
+ output = append(output, stmt)
260
+ }
261
+ }
262
+ for i, stmt := range arrays {
263
+ if props.Functor.HasLocal(config.Prefix + "a" + isProgrammer_itoa(i)) {
264
+ output = append(output, stmt)
265
+ }
266
+ }
267
+ for i, stmt := range tuples {
268
+ if props.Functor.HasLocal(config.Prefix + "t" + isProgrammer_itoa(i)) {
269
+ output = append(output, stmt)
270
+ }
271
+ }
272
+ return output
273
273
  }
274
274
 
275
275
  func (isProgrammerNamespace) Decode(props IsProgrammer_DecodeProps) *shimast.Node {
276
- return nativeinternal.CheckerProgrammer.Decode(nativeinternal.CheckerProgrammer_DecodeProps{
277
- Context: props.Context,
278
- Config: IsProgrammer.Configure(struct {
279
- Options *IsProgrammer_CONFIG_IOptions
280
- Context nativecontext.ITypiaContext
281
- Functor *nativehelpers.FunctionProgrammer
282
- }{Options: nil, Context: props.Context, Functor: props.Functor}),
283
- Functor: props.Functor,
284
- Metadata: props.Metadata,
285
- Input: props.Input,
286
- Explore: props.Explore,
287
- })
276
+ return nativeinternal.CheckerProgrammer.Decode(nativeinternal.CheckerProgrammer_DecodeProps{
277
+ Context: props.Context,
278
+ Config: IsProgrammer.Configure(struct {
279
+ Options *IsProgrammer_CONFIG_IOptions
280
+ Context nativecontext.ITypiaContext
281
+ Functor *nativehelpers.FunctionProgrammer
282
+ }{Options: nil, Context: props.Context, Functor: props.Functor}),
283
+ Functor: props.Functor,
284
+ Metadata: props.Metadata,
285
+ Input: props.Input,
286
+ Explore: props.Explore,
287
+ })
288
288
  }
289
289
 
290
290
  func (isProgrammerNamespace) Decode_object(props IsProgrammer_DecodeObjectProps) *shimast.Node {
291
- return nativeinternal.CheckerProgrammer.Decode_object(nativeinternal.CheckerProgrammer_DecodeObjectProps{
292
- Config: IsProgrammer.Configure(struct {
293
- Options *IsProgrammer_CONFIG_IOptions
294
- Context nativecontext.ITypiaContext
295
- Functor *nativehelpers.FunctionProgrammer
296
- }{Options: nil, Context: props.Context, Functor: props.Functor}),
297
- Functor: props.Functor,
298
- Object: props.Object,
299
- Input: props.Input,
300
- Explore: props.Explore,
301
- })
291
+ return nativeinternal.CheckerProgrammer.Decode_object(nativeinternal.CheckerProgrammer_DecodeObjectProps{
292
+ Config: IsProgrammer.Configure(struct {
293
+ Options *IsProgrammer_CONFIG_IOptions
294
+ Context nativecontext.ITypiaContext
295
+ Functor *nativehelpers.FunctionProgrammer
296
+ }{Options: nil, Context: props.Context, Functor: props.Functor}),
297
+ Functor: props.Functor,
298
+ Object: props.Object,
299
+ Input: props.Input,
300
+ Explore: props.Explore,
301
+ })
302
302
  }
303
303
 
304
304
  func (isProgrammerNamespace) Decode_to_json(props struct {
305
- Input *shimast.Expression
306
- CheckNull bool
305
+ Input *shimast.Expression
306
+ CheckNull bool
307
307
  }) *shimast.Node {
308
- return isProgrammer_binary(
309
- nativefactories.ExpressionFactory.IsObject(nativefactories.ExpressionFactory_IsObjectProps{
310
- CheckArray: false,
311
- CheckNull: props.CheckNull,
312
- Input: props.Input,
313
- }),
314
- shimast.KindAmpersandAmpersandToken,
315
- isProgrammer_binary(
316
- isProgrammer_factory.NewStringLiteral("function", shimast.TokenFlagsNone),
317
- shimast.KindEqualsEqualsEqualsToken,
318
- nativefactories.ValueFactory.TYPEOF(nativefactories.IdentifierFactory.Access(props.Input, "toJSON")),
319
- ),
320
- )
308
+ return isProgrammer_binary(
309
+ nativefactories.ExpressionFactory.IsObject(nativefactories.ExpressionFactory_IsObjectProps{
310
+ CheckArray: false,
311
+ CheckNull: props.CheckNull,
312
+ Input: props.Input,
313
+ }),
314
+ shimast.KindAmpersandAmpersandToken,
315
+ isProgrammer_binary(
316
+ isProgrammer_factory.NewStringLiteral("function", shimast.TokenFlagsNone),
317
+ shimast.KindEqualsEqualsEqualsToken,
318
+ nativefactories.ValueFactory.TYPEOF(nativefactories.IdentifierFactory.Access(props.Input, "toJSON")),
319
+ ),
320
+ )
321
321
  }
322
322
 
323
323
  func (isProgrammerNamespace) Decode_functional(input *shimast.Expression) *shimast.Node {
324
- return isProgrammer_binary(
325
- isProgrammer_factory.NewStringLiteral("function", shimast.TokenFlagsNone),
326
- shimast.KindEqualsEqualsEqualsToken,
327
- nativefactories.ValueFactory.TYPEOF(input),
328
- )
324
+ return isProgrammer_binary(
325
+ isProgrammer_factory.NewStringLiteral("function", shimast.TokenFlagsNone),
326
+ shimast.KindEqualsEqualsEqualsToken,
327
+ nativefactories.ValueFactory.TYPEOF(input),
328
+ )
329
329
  }
330
330
 
331
331
  func isProgrammer_reduce(expressions []*shimast.Node, operator shimast.Kind, initial *shimast.Expression) *shimast.Node {
332
- if len(expressions) == 0 {
333
- return initial
334
- }
335
- output := expressions[0]
336
- for _, expr := range expressions[1:] {
337
- output = isProgrammer_binary(output, operator, expr)
338
- }
339
- return output
332
+ if len(expressions) == 0 {
333
+ return initial
334
+ }
335
+ output := expressions[0]
336
+ for _, expr := range expressions[1:] {
337
+ output = isProgrammer_binary(output, operator, expr)
338
+ }
339
+ return output
340
340
  }
341
341
 
342
342
  func isProgrammer_binary(left *shimast.Expression, operator shimast.Kind, right *shimast.Expression) *shimast.Node {
343
- return isProgrammer_factory.NewBinaryExpression(
344
- nil,
345
- left,
346
- nil,
347
- isProgrammer_factory.NewToken(operator),
348
- right,
349
- )
343
+ return isProgrammer_factory.NewBinaryExpression(
344
+ nil,
345
+ left,
346
+ nil,
347
+ isProgrammer_factory.NewToken(operator),
348
+ right,
349
+ )
350
350
  }
351
351
 
352
352
  func isProgrammer_option_numeric(options *IsProgrammer_CONFIG_IOptions) bool {
353
- return options != nil && options.Numeric != nil && *options.Numeric
353
+ return options != nil && options.Numeric != nil && *options.Numeric
354
354
  }
355
355
 
356
356
  func isProgrammer_option_undefined(options *IsProgrammer_CONFIG_IOptions) bool {
357
- return options == nil || options.Undefined == nil || *options.Undefined
357
+ return options == nil || options.Undefined == nil || *options.Undefined
358
358
  }
359
359
 
360
360
  func isProgrammer_itoa(value int) string {
361
- if value == 0 {
362
- return "0"
363
- }
364
- digits := []byte{}
365
- for value > 0 {
366
- digits = append([]byte{byte('0' + value%10)}, digits...)
367
- value /= 10
368
- }
369
- return string(digits)
361
+ if value == 0 {
362
+ return "0"
363
+ }
364
+ digits := []byte{}
365
+ for value > 0 {
366
+ digits = append([]byte{byte('0' + value%10)}, digits...)
367
+ value /= 10
368
+ }
369
+ return string(digits)
370
370
  }