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,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
  }