typia 13.0.0-rc.1 → 13.0.0

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 (506) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +169 -171
  3. package/native/adapter/adapter.go +29 -29
  4. package/native/adapter/adapter_options_branch_matrix_test.go +54 -54
  5. package/native/adapter/visit.go +173 -173
  6. package/native/adapter/visit_property_chain_edges_test.go +129 -129
  7. package/native/cmd/ttsc-typia/any_array_type_tags_transform_test.go +204 -204
  8. package/native/cmd/ttsc-typia/atomic_intersection_schema_transform_test.go +148 -148
  9. package/native/cmd/ttsc-typia/boolean_literal_discriminant_schema_transform_test.go +374 -374
  10. package/native/cmd/ttsc-typia/build.go +188 -188
  11. package/native/cmd/ttsc-typia/build_reports_semantic_diagnostics_test.go +34 -34
  12. package/native/cmd/ttsc-typia/build_reports_syntactic_diagnostics_test.go +34 -34
  13. package/native/cmd/ttsc-typia/command_routes_and_diagnostics_coverage_test.go +314 -314
  14. package/native/cmd/ttsc-typia/compare_equal_cover_transform_test.go +271 -271
  15. package/native/cmd/ttsc-typia/compare_less_transform_test.go +180 -180
  16. package/native/cmd/ttsc-typia/compare_method_delegation_transform_test.go +173 -173
  17. package/native/cmd/ttsc-typia/demo_rejects_bad_flag_test.go +25 -25
  18. package/native/cmd/ttsc-typia/diagnostics.go +51 -51
  19. package/native/cmd/ttsc-typia/dynamic_key_path_helper_alias_transform_test.go +159 -159
  20. package/native/cmd/ttsc-typia/exclude_type_tag_transform_test.go +176 -176
  21. package/native/cmd/ttsc-typia/inline_type_display_name_transform_test.go +290 -290
  22. package/native/cmd/ttsc-typia/instance_union_create_is_transform_test.go +248 -248
  23. package/native/cmd/ttsc-typia/intersection_all_never_union_transform_test.go +168 -168
  24. package/native/cmd/ttsc-typia/intersection_brand_transform_test.go +267 -267
  25. package/native/cmd/ttsc-typia/intersection_nonsensible_backstop_transform_test.go +157 -132
  26. package/native/cmd/ttsc-typia/intersection_union_validation_transform_test.go +590 -590
  27. package/native/cmd/ttsc-typia/json_is_stringify_scoped_checker_transform_test.go +206 -0
  28. package/native/cmd/ttsc-typia/json_stringify_constant_atomic_union_transform_test.go +171 -171
  29. package/native/cmd/ttsc-typia/main.go +97 -97
  30. package/native/cmd/ttsc-typia/main_wasm.go +226 -226
  31. package/native/cmd/ttsc-typia/non_trailing_rest_tuple_transform_test.go +156 -156
  32. package/native/cmd/ttsc-typia/notation_kebab_case_transform_test.go +186 -186
  33. package/native/cmd/ttsc-typia/nullable_primitive_property_is_transform_test.go +236 -236
  34. package/native/cmd/ttsc-typia/object_custom_tag_validation_transform_test.go +332 -332
  35. package/native/cmd/ttsc-typia/object_union_explicit_pointer_schema_transform_test.go +269 -269
  36. package/native/cmd/ttsc-typia/plain_classify_class_ref_transform_test.go +261 -261
  37. package/native/cmd/ttsc-typia/plain_classify_container_seed_transform_test.go +144 -144
  38. package/native/cmd/ttsc-typia/plain_classify_cross_module_extra_transform_test.go +211 -211
  39. package/native/cmd/ttsc-typia/plain_classify_deep_nested_transform_test.go +184 -184
  40. package/native/cmd/ttsc-typia/plain_classify_field_copy_transform_test.go +204 -204
  41. package/native/cmd/ttsc-typia/plain_classify_from_new_transform_test.go +465 -465
  42. package/native/cmd/ttsc-typia/plain_classify_strategy_edges_transform_test.go +519 -519
  43. package/native/cmd/ttsc-typia/plain_classify_union_transform_test.go +149 -149
  44. package/native/cmd/ttsc-typia/plain_classify_validated_union_transform_test.go +212 -212
  45. package/native/cmd/ttsc-typia/plain_clone_bigint_wrapper_transform_test.go +153 -153
  46. package/native/cmd/ttsc-typia/plugin_options_missing_config_test.go +26 -26
  47. package/native/cmd/ttsc-typia/plugin_options_undefined_false_test.go +36 -36
  48. package/native/cmd/ttsc-typia/project_catalog_transform_coverage_test.go +73 -73
  49. package/native/cmd/ttsc-typia/protobuf_object_generic_union_encode_transform_test.go +248 -248
  50. package/native/cmd/ttsc-typia/protobuf_sequence_field_numbers_transform_test.go +107 -107
  51. package/native/cmd/ttsc-typia/random_recursive_min_items_diagnostic_test.go +234 -234
  52. package/native/cmd/ttsc-typia/random_unsatisfiable_recursive_diagnostic_test.go +146 -146
  53. package/native/cmd/ttsc-typia/recursive_visit_tracking_transform_test.go +473 -473
  54. package/native/cmd/ttsc-typia/run_default_build_route_test.go +31 -31
  55. package/native/cmd/ttsc-typia/schema_dts_role_transform_test.go +404 -404
  56. package/native/cmd/ttsc-typia/shallow_depth_argument_error_transform_test.go +88 -88
  57. package/native/cmd/ttsc-typia/shallow_depth_limit_transform_test.go +278 -278
  58. package/native/cmd/ttsc-typia/shallow_depth_runtime_test.go +173 -173
  59. package/native/cmd/ttsc-typia/shallow_factory_depth_runtime_test.go +171 -171
  60. package/native/cmd/ttsc-typia/shallow_nested_depth_transform_test.go +148 -148
  61. package/native/cmd/ttsc-typia/template_interpolation_type_tags_transform_test.go +322 -322
  62. package/native/cmd/ttsc-typia/template_literal_type_tags_transform_test.go +162 -162
  63. package/native/cmd/ttsc-typia/transform.go +270 -270
  64. package/native/cmd/ttsc-typia/transform_declaration_source_produces_no_js_test.go +59 -59
  65. package/native/cmd/ttsc-typia/transform_diagnostics_preserve_details_test.go +203 -203
  66. package/native/cmd/ttsc-typia/transform_fixtures_emit_coverage_test.go +528 -528
  67. package/native/cmd/ttsc-typia/transform_helpers_test.go +155 -155
  68. package/native/core/context/EmitFactory.go +39 -39
  69. package/native/core/context/IProgrammerProps.go +14 -14
  70. package/native/core/context/ITransformOptions.go +9 -9
  71. package/native/core/context/ITypiaContext.go +36 -36
  72. package/native/core/context/ImportProgrammer.go +354 -354
  73. package/native/core/context/TransformerError.go +117 -117
  74. package/native/core/context/import_programmer_statement_coverage_test.go +71 -71
  75. package/native/core/context/index.go +1 -1
  76. package/native/core/context/transformer_error_formatting_test.go +100 -100
  77. package/native/core/factories/CommentFactory.go +27 -27
  78. package/native/core/factories/ExpressionFactory.go +357 -357
  79. package/native/core/factories/FormatCheatSheet.go +30 -30
  80. package/native/core/factories/IdentifierFactory.go +172 -172
  81. package/native/core/factories/JsonMetadataFactory.go +154 -154
  82. package/native/core/factories/LiteralFactory.go +282 -282
  83. package/native/core/factories/MetadataCommentTagFactory.go +446 -446
  84. package/native/core/factories/MetadataFactory.go +543 -543
  85. package/native/core/factories/MetadataTypeTagFactory.go +560 -560
  86. package/native/core/factories/MetadataTypeTagSchemaFactory.go +117 -117
  87. package/native/core/factories/NumericRangeFactory.go +132 -132
  88. package/native/core/factories/ProtobufFactory.go +1090 -1090
  89. package/native/core/factories/StatementFactory.go +114 -114
  90. package/native/core/factories/TemplateFactory.go +82 -82
  91. package/native/core/factories/TypeFactory.go +176 -176
  92. package/native/core/factories/ValueFactory.go +43 -43
  93. package/native/core/factories/factory_utility_coverage_test.go +1006 -1006
  94. package/native/core/factories/index.go +1 -1
  95. package/native/core/factories/internal/metadata/IMetadataIteratorProps.go +70 -70
  96. package/native/core/factories/internal/metadata/MetadataHelper.go +425 -425
  97. package/native/core/factories/internal/metadata/comment_tags_coverage_test.go +184 -184
  98. package/native/core/factories/internal/metadata/emend_metadata_atomics.go +80 -80
  99. package/native/core/factories/internal/metadata/emplace_metadata_alias.go +41 -41
  100. package/native/core/factories/internal/metadata/emplace_metadata_array_type.go +44 -44
  101. package/native/core/factories/internal/metadata/emplace_metadata_object.go +599 -599
  102. package/native/core/factories/internal/metadata/emplace_metadata_tuple.go +69 -69
  103. package/native/core/factories/internal/metadata/explore_metadata.go +75 -75
  104. package/native/core/factories/internal/metadata/iterate_metadata.go +55 -55
  105. package/native/core/factories/internal/metadata/iterate_metadata_alias.go +36 -36
  106. package/native/core/factories/internal/metadata/iterate_metadata_array.go +77 -77
  107. package/native/core/factories/internal/metadata/iterate_metadata_atomic.go +63 -63
  108. package/native/core/factories/internal/metadata/iterate_metadata_coalesce.go +30 -30
  109. package/native/core/factories/internal/metadata/iterate_metadata_collection.go +366 -366
  110. package/native/core/factories/internal/metadata/iterate_metadata_collection_branch_matrix_test.go +201 -201
  111. package/native/core/factories/internal/metadata/iterate_metadata_comment_tags.go +34 -34
  112. package/native/core/factories/internal/metadata/iterate_metadata_constant.go +139 -139
  113. package/native/core/factories/internal/metadata/iterate_metadata_escape.go +56 -56
  114. package/native/core/factories/internal/metadata/iterate_metadata_function.go +93 -93
  115. package/native/core/factories/internal/metadata/iterate_metadata_intersection.go +1054 -1054
  116. package/native/core/factories/internal/metadata/iterate_metadata_intersection_brand_coverage_test.go +114 -114
  117. package/native/core/factories/internal/metadata/iterate_metadata_intersection_coverage_test.go +106 -106
  118. package/native/core/factories/internal/metadata/iterate_metadata_intersection_shareable_name_test.go +22 -22
  119. package/native/core/factories/internal/metadata/iterate_metadata_map.go +55 -55
  120. package/native/core/factories/internal/metadata/iterate_metadata_native.go +122 -122
  121. package/native/core/factories/internal/metadata/iterate_metadata_object.go +35 -35
  122. package/native/core/factories/internal/metadata/iterate_metadata_set.go +41 -41
  123. package/native/core/factories/internal/metadata/iterate_metadata_sort.go +202 -202
  124. package/native/core/factories/internal/metadata/iterate_metadata_template.go +41 -41
  125. package/native/core/factories/internal/metadata/iterate_metadata_tuple.go +24 -24
  126. package/native/core/factories/internal/metadata/iterate_metadata_union.go +40 -40
  127. package/native/core/factories/internal/metadata/js_doc_parameter_name_reads_qualified_name_test.go +55 -55
  128. package/native/core/factories/internal/metadata/optional_coalesce_coverage_test.go +38 -38
  129. package/native/core/factories/internal/metadata/sort_constants_coverage_test.go +63 -63
  130. package/native/core/factories/json_metadata_factory_dedupes_bigint_diagnostics_test.go +36 -36
  131. package/native/core/factories/json_metadata_factory_rejects_bigint_native_test.go +29 -29
  132. package/native/core/factories/metadata_comment_tag_factory_coverage_test.go +239 -239
  133. package/native/core/factories/protobuf_factory_rejects_invalid_field_names_test.go +75 -75
  134. package/native/core/index.go +1 -1
  135. package/native/core/programmers/AssertProgrammer.go +511 -511
  136. package/native/core/programmers/IsProgrammer.go +418 -419
  137. package/native/core/programmers/RandomProgrammer.go +1448 -1448
  138. package/native/core/programmers/ValidateProgrammer.go +488 -488
  139. package/native/core/programmers/compare/CompareEqualProgrammer.go +668 -668
  140. package/native/core/programmers/compare/CompareLessProgrammer.go +489 -489
  141. package/native/core/programmers/functional/FunctionalAssertFunctionProgrammer.go +172 -172
  142. package/native/core/programmers/functional/FunctionalAssertParametersProgrammer.go +135 -135
  143. package/native/core/programmers/functional/FunctionalAssertReturnProgrammer.go +131 -131
  144. package/native/core/programmers/functional/FunctionalIsFunctionProgrammer.go +106 -106
  145. package/native/core/programmers/functional/FunctionalIsParametersProgrammer.go +222 -222
  146. package/native/core/programmers/functional/FunctionalIsReturnProgrammer.go +129 -129
  147. package/native/core/programmers/functional/FunctionalValidateFunctionProgrammer.go +172 -172
  148. package/native/core/programmers/functional/FunctionalValidateParametersProgrammer.go +252 -252
  149. package/native/core/programmers/functional/FunctionalValidateReturnProgrammer.go +147 -147
  150. package/native/core/programmers/functional/functional_assert_helper_coverage_test.go +26 -26
  151. package/native/core/programmers/functional/index.go +1 -1
  152. package/native/core/programmers/functional/internal/FunctionalGeneralProgrammer.go +53 -53
  153. package/native/core/programmers/helpers/AtomicPredicator.go +75 -75
  154. package/native/core/programmers/helpers/ClassifyJoiner.go +174 -174
  155. package/native/core/programmers/helpers/CloneJoiner.go +307 -307
  156. package/native/core/programmers/helpers/FunctionProgrammer.go +218 -218
  157. package/native/core/programmers/helpers/HttpMetadataUtil.go +30 -30
  158. package/native/core/programmers/helpers/ICheckEntry.go +14 -14
  159. package/native/core/programmers/helpers/IExpressionEntry.go +15 -15
  160. package/native/core/programmers/helpers/ModuloText.go +26 -26
  161. package/native/core/programmers/helpers/NotationJoiner.go +204 -204
  162. package/native/core/programmers/helpers/OptionPredicator.go +39 -39
  163. package/native/core/programmers/helpers/ProtobufUtil.go +273 -273
  164. package/native/core/programmers/helpers/ProtobufWire.go +14 -14
  165. package/native/core/programmers/helpers/PruneJoiner.go +290 -290
  166. package/native/core/programmers/helpers/RandomJoiner.go +805 -805
  167. package/native/core/programmers/helpers/StringifyJoinder.go +409 -409
  168. package/native/core/programmers/helpers/StringifyPredicator.go +25 -25
  169. package/native/core/programmers/helpers/UnionExplorer.go +966 -966
  170. package/native/core/programmers/helpers/UnionPredicator.go +92 -92
  171. package/native/core/programmers/helpers/clone_joiner_optional_condition_test.go +70 -70
  172. package/native/core/programmers/helpers/disable_function_programmer_declare.go +10 -10
  173. package/native/core/programmers/helpers/function_programmer_unique_names_test.go +54 -54
  174. package/native/core/programmers/helpers/joiner_branch_coverage_test.go +147 -147
  175. package/native/core/programmers/helpers/random_joiner_recursive_array_guard_test.go +166 -166
  176. package/native/core/programmers/helpers/union_explorer_coverage_test.go +135 -135
  177. package/native/core/programmers/helpers/union_predicator_checks_neighbor_flag_test.go +34 -34
  178. package/native/core/programmers/helpers/union_predicator_skips_atomic_like_native_fields_test.go +65 -65
  179. package/native/core/programmers/helpers/union_predicator_skips_collection_bucket_fields_test.go +72 -72
  180. package/native/core/programmers/helpers/union_predicator_skips_shared_native_names_test.go +239 -239
  181. package/native/core/programmers/helpers/union_predicator_skips_shared_object_fields_test.go +43 -43
  182. package/native/core/programmers/helpers/union_predicator_skips_shared_template_fields_test.go +57 -57
  183. package/native/core/programmers/http/HttpAssertFormDataProgrammer.go +116 -116
  184. package/native/core/programmers/http/HttpAssertHeadersProgrammer.go +59 -59
  185. package/native/core/programmers/http/HttpAssertQueryProgrammer.go +71 -71
  186. package/native/core/programmers/http/HttpFormDataProgrammer.go +416 -416
  187. package/native/core/programmers/http/HttpHeadersProgrammer.go +428 -428
  188. package/native/core/programmers/http/HttpIsFormDataProgrammer.go +142 -142
  189. package/native/core/programmers/http/HttpIsHeadersProgrammer.go +53 -53
  190. package/native/core/programmers/http/HttpIsQueryProgrammer.go +65 -65
  191. package/native/core/programmers/http/HttpParameterProgrammer.go +190 -190
  192. package/native/core/programmers/http/HttpQueryProgrammer.go +484 -484
  193. package/native/core/programmers/http/HttpValidateFormDataProgrammer.go +110 -110
  194. package/native/core/programmers/http/HttpValidateHeadersProgrammer.go +56 -56
  195. package/native/core/programmers/http/HttpValidateQueryProgrammer.go +68 -68
  196. package/native/core/programmers/http/http_programmer_helper_coverage_test.go +120 -120
  197. package/native/core/programmers/http/index.go +1 -1
  198. package/native/core/programmers/index.go +1 -1
  199. package/native/core/programmers/internal/CheckerProgrammer.go +2064 -2064
  200. package/native/core/programmers/internal/FeatureProgrammer.go +1361 -1361
  201. package/native/core/programmers/internal/feature_programmer_visit_guard_test.go +70 -70
  202. package/native/core/programmers/internal/internal_utility_coverage_test.go +384 -384
  203. package/native/core/programmers/iterate/check_array_length.go +64 -64
  204. package/native/core/programmers/iterate/check_bigint.go +78 -78
  205. package/native/core/programmers/iterate/check_dynamic_key.go +271 -271
  206. package/native/core/programmers/iterate/check_dynamic_key_tag_rows_test.go +46 -46
  207. package/native/core/programmers/iterate/check_dynamic_properties.go +292 -292
  208. package/native/core/programmers/iterate/check_everything.go +33 -33
  209. package/native/core/programmers/iterate/check_exclude.go +88 -88
  210. package/native/core/programmers/iterate/check_native.go +38 -38
  211. package/native/core/programmers/iterate/check_number.go +180 -180
  212. package/native/core/programmers/iterate/check_object.go +113 -113
  213. package/native/core/programmers/iterate/check_object_strict_optional_undefined_test.go +74 -74
  214. package/native/core/programmers/iterate/check_object_type_tags.go +64 -64
  215. package/native/core/programmers/iterate/check_string.go +78 -78
  216. package/native/core/programmers/iterate/check_template.go +346 -346
  217. package/native/core/programmers/iterate/check_union_array_like.go +422 -422
  218. package/native/core/programmers/iterate/decode_union_object.go +157 -157
  219. package/native/core/programmers/iterate/feature_object_entries.go +188 -188
  220. package/native/core/programmers/iterate/iterate_check_coverage_test.go +178 -178
  221. package/native/core/programmers/iterate/iterate_utility_coverage_test.go +302 -302
  222. package/native/core/programmers/iterate/json_schema_alias.go +62 -62
  223. package/native/core/programmers/iterate/json_schema_array.go +66 -66
  224. package/native/core/programmers/iterate/json_schema_bigint.go +17 -17
  225. package/native/core/programmers/iterate/json_schema_boolean.go +17 -17
  226. package/native/core/programmers/iterate/json_schema_constant.go +53 -53
  227. package/native/core/programmers/iterate/json_schema_description.go +21 -21
  228. package/native/core/programmers/iterate/json_schema_discriminator.go +57 -57
  229. package/native/core/programmers/iterate/json_schema_escaped.go +68 -68
  230. package/native/core/programmers/iterate/json_schema_jsDocTags.go +48 -48
  231. package/native/core/programmers/iterate/json_schema_native.go +106 -106
  232. package/native/core/programmers/iterate/json_schema_number.go +17 -17
  233. package/native/core/programmers/iterate/json_schema_object.go +187 -184
  234. package/native/core/programmers/iterate/json_schema_plugin.go +47 -47
  235. package/native/core/programmers/iterate/json_schema_station.go +251 -251
  236. package/native/core/programmers/iterate/json_schema_string.go +17 -17
  237. package/native/core/programmers/iterate/json_schema_template.go +63 -63
  238. package/native/core/programmers/iterate/json_schema_title.go +25 -25
  239. package/native/core/programmers/iterate/json_schema_tuple.go +41 -41
  240. package/native/core/programmers/iterate/metadata_to_pattern.go +64 -64
  241. package/native/core/programmers/iterate/postfix_of_tuple.go +12 -12
  242. package/native/core/programmers/iterate/prune_object_properties.go +105 -105
  243. package/native/core/programmers/iterate/stringify_dynamic_properties.go +219 -219
  244. package/native/core/programmers/iterate/stringify_native.go +14 -14
  245. package/native/core/programmers/iterate/stringify_regular_properties.go +112 -112
  246. package/native/core/programmers/iterate/template_interpolation_tags_test.go +495 -495
  247. package/native/core/programmers/iterate/template_runtime_pattern.go +262 -262
  248. package/native/core/programmers/iterate/template_to_pattern.go +29 -29
  249. package/native/core/programmers/iterate/wrap_metadata_rest_tuple.go +23 -23
  250. package/native/core/programmers/json/JsonApplicationProgrammer.go +380 -380
  251. package/native/core/programmers/json/JsonAssertParseProgrammer.go +115 -115
  252. package/native/core/programmers/json/JsonAssertStringifyProgrammer.go +108 -108
  253. package/native/core/programmers/json/JsonIsParseProgrammer.go +162 -162
  254. package/native/core/programmers/json/JsonIsStringifyProgrammer.go +113 -113
  255. package/native/core/programmers/json/JsonSchemaProgrammer.go +94 -94
  256. package/native/core/programmers/json/JsonSchemasProgrammer.go +142 -142
  257. package/native/core/programmers/json/JsonStringifyProgrammer.go +1528 -1508
  258. package/native/core/programmers/json/JsonValidateParseProgrammer.go +105 -105
  259. package/native/core/programmers/json/JsonValidateStringifyProgrammer.go +126 -126
  260. package/native/core/programmers/json/index.go +1 -1
  261. package/native/core/programmers/json/json_schema_programmer_coverage_test.go +198 -198
  262. package/native/core/programmers/json/json_schemas_programmer_dedupes_bigint_diagnostics_test.go +37 -37
  263. package/native/core/programmers/json/json_schemas_programmer_rejects_bigint_native_test.go +29 -29
  264. package/native/core/programmers/json/json_stringify_programmer_coverage_test.go +422 -422
  265. package/native/core/programmers/llm/LlmApplicationProgrammer.go +526 -526
  266. package/native/core/programmers/llm/LlmCoerceProgrammer.go +109 -109
  267. package/native/core/programmers/llm/LlmControllerProgrammer.go +51 -51
  268. package/native/core/programmers/llm/LlmMetadataFactory.go +89 -89
  269. package/native/core/programmers/llm/LlmParametersProgrammer.go +141 -141
  270. package/native/core/programmers/llm/LlmParseProgrammer.go +121 -121
  271. package/native/core/programmers/llm/LlmSchemaProgrammer.go +902 -846
  272. package/native/core/programmers/llm/LlmStructuredOutputProgrammer.go +147 -147
  273. package/native/core/programmers/llm/index.go +1 -1
  274. package/native/core/programmers/llm/llm_application_programmer_coverage_test.go +166 -166
  275. package/native/core/programmers/llm/llm_schema_programmer_coverage_test.go +282 -282
  276. package/native/core/programmers/llm/llm_schema_programmer_dedupes_bigint_diagnostics_test.go +38 -38
  277. package/native/core/programmers/llm/llm_schema_programmer_rejects_bigint_native_test.go +30 -30
  278. package/native/core/programmers/llm/llm_schema_programmer_rejects_exclude_tag_in_strict_test.go +52 -52
  279. package/native/core/programmers/notations/NotationAssertGeneralProgrammer.go +107 -107
  280. package/native/core/programmers/notations/NotationGeneralProgrammer.go +1441 -1441
  281. package/native/core/programmers/notations/NotationIsGeneralProgrammer.go +112 -112
  282. package/native/core/programmers/notations/NotationValidateGeneralProgrammer.go +131 -131
  283. package/native/core/programmers/notations/index.go +1 -1
  284. package/native/core/programmers/notations/notation_general_helpers_test.go +395 -395
  285. package/native/core/programmers/notations/notation_general_programmer_snake_prefix_test.go +44 -44
  286. package/native/core/programmers/plain/PlainAssertClassifyProgrammer.go +111 -111
  287. package/native/core/programmers/plain/PlainAssertCloneProgrammer.go +102 -102
  288. package/native/core/programmers/plain/PlainAssertPruneProgrammer.go +117 -117
  289. package/native/core/programmers/plain/PlainClassifyProgrammer.go +2205 -2205
  290. package/native/core/programmers/plain/PlainCloneProgrammer.go +1254 -1254
  291. package/native/core/programmers/plain/PlainIsCloneProgrammer.go +117 -117
  292. package/native/core/programmers/plain/PlainIsPruneProgrammer.go +106 -106
  293. package/native/core/programmers/plain/PlainPruneProgrammer.go +837 -837
  294. package/native/core/programmers/plain/PlainValidateClassifyProgrammer.go +127 -127
  295. package/native/core/programmers/plain/PlainValidateCloneProgrammer.go +123 -123
  296. package/native/core/programmers/plain/PlainValidatePruneProgrammer.go +114 -114
  297. package/native/core/programmers/plain/index.go +1 -1
  298. package/native/core/programmers/plain/plain_programmer_helper_coverage_test.go +284 -284
  299. package/native/core/programmers/plain/plain_prune_programmer_branch_matrix_test.go +145 -145
  300. package/native/core/programmers/programmer_direct_helper_coverage_test.go +70 -70
  301. package/native/core/programmers/protobuf/ProtobufAssertDecodeProgrammer.go +125 -125
  302. package/native/core/programmers/protobuf/ProtobufAssertEncodeProgrammer.go +143 -143
  303. package/native/core/programmers/protobuf/ProtobufDecodeProgrammer.go +861 -861
  304. package/native/core/programmers/protobuf/ProtobufEncodeProgrammer.go +1269 -1269
  305. package/native/core/programmers/protobuf/ProtobufIsDecodeProgrammer.go +122 -122
  306. package/native/core/programmers/protobuf/ProtobufIsEncodeProgrammer.go +115 -115
  307. package/native/core/programmers/protobuf/ProtobufMessageProgrammer.go +269 -269
  308. package/native/core/programmers/protobuf/ProtobufValidateDecodeProgrammer.go +111 -111
  309. package/native/core/programmers/protobuf/ProtobufValidateEncodeProgrammer.go +145 -145
  310. package/native/core/programmers/protobuf/index.go +1 -1
  311. package/native/core/programmers/protobuf/protobuf_programmer_helper_coverage_test.go +454 -454
  312. package/native/core/programmers/random_programmer_helper_coverage_test.go +367 -367
  313. package/native/core/programmers/random_programmer_min_items_tag_test.go +44 -44
  314. package/native/core/programmers/reflect/ReflectLiteralsProgrammer.go +125 -125
  315. package/native/core/schemas/index.go +1 -1
  316. package/native/core/schemas/metadata/IMetadataDictionary.go +8 -8
  317. package/native/core/schemas/metadata/IMetadataTypeTagSequence.go +53 -53
  318. package/native/core/schemas/metadata/MetadataAlias.go +36 -36
  319. package/native/core/schemas/metadata/MetadataAliasType.go +64 -64
  320. package/native/core/schemas/metadata/MetadataApplication.go +41 -41
  321. package/native/core/schemas/metadata/MetadataArray.go +36 -36
  322. package/native/core/schemas/metadata/MetadataArrayType.go +59 -59
  323. package/native/core/schemas/metadata/MetadataAtomic.go +69 -69
  324. package/native/core/schemas/metadata/MetadataCollection.go +698 -698
  325. package/native/core/schemas/metadata/MetadataComponents.go +122 -122
  326. package/native/core/schemas/metadata/MetadataConstant.go +47 -47
  327. package/native/core/schemas/metadata/MetadataConstantValue.go +97 -97
  328. package/native/core/schemas/metadata/MetadataEscaped.go +40 -40
  329. package/native/core/schemas/metadata/MetadataFunction.go +46 -46
  330. package/native/core/schemas/metadata/MetadataMap.go +45 -45
  331. package/native/core/schemas/metadata/MetadataNative.go +72 -72
  332. package/native/core/schemas/metadata/MetadataObject.go +36 -36
  333. package/native/core/schemas/metadata/MetadataObjectType.go +223 -223
  334. package/native/core/schemas/metadata/MetadataParameter.go +46 -46
  335. package/native/core/schemas/metadata/MetadataProperty.go +50 -50
  336. package/native/core/schemas/metadata/MetadataSchema.go +1485 -1485
  337. package/native/core/schemas/metadata/MetadataSet.go +41 -41
  338. package/native/core/schemas/metadata/MetadataTemplate.go +70 -70
  339. package/native/core/schemas/metadata/MetadataTuple.go +20 -20
  340. package/native/core/schemas/metadata/MetadataTupleType.go +69 -69
  341. package/native/core/schemas/metadata/index.go +1 -1
  342. package/native/core/schemas/metadata/metadata_object_type_required_literal_property_test.go +51 -51
  343. package/native/core/schemas/metadata/metadata_schema_covers_tag_matrix_test.go +125 -125
  344. package/native/core/schemas/metadata/metadata_schema_sole_literal_caches_pointer_test.go +38 -38
  345. package/native/core/schemas/metadata/schema_sequence_and_json_coverage_test.go +427 -427
  346. package/native/core/schemas/protobuf/IProtobufProperty.go +6 -6
  347. package/native/core/schemas/protobuf/IProtobufPropertyType.go +55 -55
  348. package/native/core/schemas/protobuf/IProtobufSchema.go +54 -54
  349. package/native/core/schemas/protobuf/index.go +1 -1
  350. package/native/core/schemas/protobuf/protobuf_marker_coverage_test.go +58 -58
  351. package/native/core/typings/Writable.go +5 -5
  352. package/native/core/utils/PatternUtil.go +57 -57
  353. package/native/core/utils/ProtobufNameEncoder.go +47 -47
  354. package/native/go.mod +31 -31
  355. package/native/go.sum +22 -22
  356. package/native/go.work +22 -22
  357. package/native/transform/CallExpressionTransformer.go +719 -719
  358. package/native/transform/FileTransformer.go +221 -221
  359. package/native/transform/ITransformProps.go +5 -5
  360. package/native/transform/ImportTransformer.go +285 -285
  361. package/native/transform/NodeTransformer.go +25 -25
  362. package/native/transform/TransformerError.go +11 -11
  363. package/native/transform/TypiaGenerator.go +171 -171
  364. package/native/transform/call_expression_transformer_registry_coverage_test.go +53 -53
  365. package/native/transform/call_expression_transformer_target_test.go +46 -46
  366. package/native/transform/features/AssertTransformer.go +39 -39
  367. package/native/transform/features/CreateAssertTransformer.go +39 -39
  368. package/native/transform/features/CreateIsTransformer.go +35 -35
  369. package/native/transform/features/CreateRandomTransformer.go +47 -47
  370. package/native/transform/features/CreateShallowTransformer.go +33 -33
  371. package/native/transform/features/CreateValidateTransformer.go +35 -35
  372. package/native/transform/features/IsTransformer.go +35 -35
  373. package/native/transform/features/RandomTransformer.go +54 -54
  374. package/native/transform/features/ShallowTransformer.go +65 -65
  375. package/native/transform/features/ValidateTransformer.go +35 -35
  376. package/native/transform/features/compare/CompareCoverTransformer.go +14 -14
  377. package/native/transform/features/compare/CompareCreateCoverTransformer.go +14 -14
  378. package/native/transform/features/compare/CompareCreateEqualTransformer.go +14 -14
  379. package/native/transform/features/compare/CompareCreateLessTransformer.go +14 -14
  380. package/native/transform/features/compare/CompareEqualTransformer.go +73 -73
  381. package/native/transform/features/compare/CompareLessTransformer.go +71 -71
  382. package/native/transform/features/feature_transformer_entry_coverage_test.go +59 -59
  383. package/native/transform/features/functional/FunctionalGenericTransformer.go +70 -70
  384. package/native/transform/features/http/CreateHttpAssertFormDataTransformer.go +22 -22
  385. package/native/transform/features/http/CreateHttpAssertHeadersTransformer.go +22 -22
  386. package/native/transform/features/http/CreateHttpAssertQueryTransformer.go +28 -28
  387. package/native/transform/features/http/CreateHttpFormDataTransformer.go +22 -22
  388. package/native/transform/features/http/CreateHttpHeadersTransformer.go +22 -22
  389. package/native/transform/features/http/CreateHttpIsFormDataTransformer.go +22 -22
  390. package/native/transform/features/http/CreateHttpIsHeadersTransformer.go +22 -22
  391. package/native/transform/features/http/CreateHttpIsQueryTransformer.go +28 -28
  392. package/native/transform/features/http/CreateHttpParameterTransformer.go +22 -22
  393. package/native/transform/features/http/CreateHttpQueryTransformer.go +28 -28
  394. package/native/transform/features/http/CreateHttpValidateFormDataTransformer.go +22 -22
  395. package/native/transform/features/http/CreateHttpValidateHeadersTransformer.go +22 -22
  396. package/native/transform/features/http/CreateHttpValidateQueryTransformer.go +28 -28
  397. package/native/transform/features/http/HttpAssertFormDataTransformer.go +22 -22
  398. package/native/transform/features/http/HttpAssertHeadersTransformer.go +22 -22
  399. package/native/transform/features/http/HttpAssertQueryTransformer.go +28 -28
  400. package/native/transform/features/http/HttpFormDataTransformer.go +22 -22
  401. package/native/transform/features/http/HttpHeadersTransformer.go +22 -22
  402. package/native/transform/features/http/HttpIsFormDataTransformer.go +22 -22
  403. package/native/transform/features/http/HttpIsHeadersTransformer.go +22 -22
  404. package/native/transform/features/http/HttpIsQueryTransformer.go +28 -28
  405. package/native/transform/features/http/HttpParameterTransformer.go +22 -22
  406. package/native/transform/features/http/HttpQueryTransformer.go +28 -28
  407. package/native/transform/features/http/HttpValidateFormDataTransformer.go +22 -22
  408. package/native/transform/features/http/HttpValidateHeadersTransformer.go +22 -22
  409. package/native/transform/features/http/HttpValidateQueryTransformer.go +28 -28
  410. package/native/transform/features/http/http_transformer_entry_coverage_test.go +65 -65
  411. package/native/transform/features/json/JsonApplicationTransformer.go +75 -75
  412. package/native/transform/features/json/JsonAssertParseTransformer.go +22 -22
  413. package/native/transform/features/json/JsonAssertStringifyTransformer.go +22 -22
  414. package/native/transform/features/json/JsonCreateAssertParseTransformer.go +22 -22
  415. package/native/transform/features/json/JsonCreateAssertStringifyTransformer.go +22 -22
  416. package/native/transform/features/json/JsonCreateIsParseTransformer.go +22 -22
  417. package/native/transform/features/json/JsonCreateIsStringifyTransformer.go +22 -22
  418. package/native/transform/features/json/JsonCreateStringifyTransformer.go +22 -22
  419. package/native/transform/features/json/JsonCreateValidateParseTransformer.go +22 -22
  420. package/native/transform/features/json/JsonCreateValidateStringifyProgrammer.go +22 -22
  421. package/native/transform/features/json/JsonIsParseTransformer.go +22 -22
  422. package/native/transform/features/json/JsonIsStringifyTransformer.go +22 -22
  423. package/native/transform/features/json/JsonSchemaTransformer.go +175 -175
  424. package/native/transform/features/json/JsonSchemasTransformer.go +109 -109
  425. package/native/transform/features/json/JsonStringifyTransformer.go +22 -22
  426. package/native/transform/features/json/JsonValidateParseTransformer.go +22 -22
  427. package/native/transform/features/json/JsonValidateStringifyTransformer.go +22 -22
  428. package/native/transform/features/json/json_transformer_entry_coverage_test.go +56 -56
  429. package/native/transform/features/llm/LlmApplicationTransformer.go +54 -54
  430. package/native/transform/features/llm/LlmCoerceTransformer.go +63 -63
  431. package/native/transform/features/llm/LlmControllerTransformer.go +59 -59
  432. package/native/transform/features/llm/LlmCreateCoerceTransformer.go +54 -54
  433. package/native/transform/features/llm/LlmCreateParseTransformer.go +54 -54
  434. package/native/transform/features/llm/LlmParametersTransformer.go +49 -49
  435. package/native/transform/features/llm/LlmParseTransformer.go +63 -63
  436. package/native/transform/features/llm/LlmSchemaTransformer.go +167 -167
  437. package/native/transform/features/llm/LlmStructuredOutputTransformer.go +55 -55
  438. package/native/transform/features/llm/llm_transformer_entry_coverage_test.go +48 -48
  439. package/native/transform/features/notations/NotationAssertGeneralTransformer.go +27 -27
  440. package/native/transform/features/notations/NotationCreateAssertGeneralTransformer.go +27 -27
  441. package/native/transform/features/notations/NotationCreateGeneralTransformer.go +27 -27
  442. package/native/transform/features/notations/NotationCreateIsGeneralTransformer.go +27 -27
  443. package/native/transform/features/notations/NotationCreateValidateGeneralTransformer.go +27 -27
  444. package/native/transform/features/notations/NotationGeneralTransformer.go +36 -36
  445. package/native/transform/features/notations/NotationIsGeneralTransformer.go +27 -27
  446. package/native/transform/features/notations/NotationValidateGeneralTransformer.go +27 -27
  447. package/native/transform/features/notations/notation_transformer_entry_coverage_test.go +58 -58
  448. package/native/transform/features/plain/PlainAssertClassifyTransformer.go +22 -22
  449. package/native/transform/features/plain/PlainAssertCloneTransformer.go +22 -22
  450. package/native/transform/features/plain/PlainAssertPruneTransformer.go +22 -22
  451. package/native/transform/features/plain/PlainClassifyTransformer.go +22 -22
  452. package/native/transform/features/plain/PlainCloneTransformer.go +22 -22
  453. package/native/transform/features/plain/PlainCreateAssertClassifyTransformer.go +22 -22
  454. package/native/transform/features/plain/PlainCreateAssertCloneTransformer.go +22 -22
  455. package/native/transform/features/plain/PlainCreateAssertPruneTransformer.go +22 -22
  456. package/native/transform/features/plain/PlainCreateClassifyTransformer.go +22 -22
  457. package/native/transform/features/plain/PlainCreateCloneTransformer.go +22 -22
  458. package/native/transform/features/plain/PlainCreateIsCloneTransformer.go +22 -22
  459. package/native/transform/features/plain/PlainCreateIsPruneTransformer.go +22 -22
  460. package/native/transform/features/plain/PlainCreatePruneTransformer.go +22 -22
  461. package/native/transform/features/plain/PlainCreateValidateClassifyTransformer.go +22 -22
  462. package/native/transform/features/plain/PlainCreateValidateCloneTransformer.go +22 -22
  463. package/native/transform/features/plain/PlainCreateValidatePruneTransformer.go +22 -22
  464. package/native/transform/features/plain/PlainIsCloneTransformer.go +22 -22
  465. package/native/transform/features/plain/PlainIsPruneTransformer.go +22 -22
  466. package/native/transform/features/plain/PlainPruneTransformer.go +22 -22
  467. package/native/transform/features/plain/PlainValidateClassifyTransformer.go +22 -22
  468. package/native/transform/features/plain/PlainValidateCloneTransformer.go +22 -22
  469. package/native/transform/features/plain/PlainValidatePruneTransformer.go +22 -22
  470. package/native/transform/features/plain/plain_transformer_entry_coverage_test.go +61 -61
  471. package/native/transform/features/protobuf/ProtobufAssertDecodeTransformer.go +22 -22
  472. package/native/transform/features/protobuf/ProtobufAssertEncodeTransformer.go +22 -22
  473. package/native/transform/features/protobuf/ProtobufCreateAssertDecodeTransformer.go +22 -22
  474. package/native/transform/features/protobuf/ProtobufCreateAssertEncodeTransformer.go +22 -22
  475. package/native/transform/features/protobuf/ProtobufCreateDecodeTransformer.go +22 -22
  476. package/native/transform/features/protobuf/ProtobufCreateEncodeTransformer.go +22 -22
  477. package/native/transform/features/protobuf/ProtobufCreateIsDecodeTransformer.go +22 -22
  478. package/native/transform/features/protobuf/ProtobufCreateIsEncodeTransformer.go +22 -22
  479. package/native/transform/features/protobuf/ProtobufCreateValidateDecodeTransformer.go +22 -22
  480. package/native/transform/features/protobuf/ProtobufCreateValidateEncodeTransformer.go +22 -22
  481. package/native/transform/features/protobuf/ProtobufDecodeTransformer.go +22 -22
  482. package/native/transform/features/protobuf/ProtobufEncodeTransformer.go +22 -22
  483. package/native/transform/features/protobuf/ProtobufIsDecodeTransformer.go +22 -22
  484. package/native/transform/features/protobuf/ProtobufIsEncodeTransformer.go +22 -22
  485. package/native/transform/features/protobuf/ProtobufMessageTransformer.go +31 -31
  486. package/native/transform/features/protobuf/ProtobufValidateDecodeTransformer.go +22 -22
  487. package/native/transform/features/protobuf/ProtobufValidateEncodeTransformer.go +22 -22
  488. package/native/transform/features/protobuf/protobuf_transformer_entry_coverage_test.go +56 -56
  489. package/native/transform/features/reflect/ReflectLiteralsTransformer.go +32 -32
  490. package/native/transform/features/reflect/ReflectMetadataTransformer.go +73 -73
  491. package/native/transform/features/reflect/ReflectNameTransformer.go +100 -100
  492. package/native/transform/features/reflect/ReflectSchemaTransformer.go +153 -153
  493. package/native/transform/features/reflect/ReflectSchemasTransformer.go +68 -68
  494. package/native/transform/features/reflect/reflect_metadata_transformer_edge_branches_test.go +55 -55
  495. package/native/transform/features/reflect/reflect_transformer_entry_coverage_test.go +47 -47
  496. package/native/transform/file_transformer_coverage_test.go +94 -94
  497. package/native/transform/import_transformer_coverage_test.go +153 -153
  498. package/native/transform/index.go +1 -1
  499. package/native/transform/internal/GenericTransformer.go +236 -236
  500. package/native/transform/transform.go +57 -57
  501. package/native/transform/typia_generator_helpers_coverage_test.go +166 -166
  502. package/package.json +5 -5
  503. package/src/internal/_ProtobufReader.ts +187 -187
  504. package/src/internal/_randomArray.ts +34 -34
  505. package/src/internal/_randomString.ts +30 -30
  506. package/src/transform.ts +21 -21
@@ -1,120 +1,120 @@
1
- //go:build typia_native_internal
2
- // +build typia_native_internal
3
-
4
- package http
5
-
6
- import (
7
- "testing"
8
-
9
- shimast "github.com/microsoft/typescript-go/shim/ast"
10
- nativecontext "github.com/samchon/typia/packages/typia/native/core/context"
11
- schemametadata "github.com/samchon/typia/packages/typia/native/core/schemas/metadata"
12
- )
13
-
14
- // TestHttpProgrammerHelperCoverage exercises HTTP array helpers.
15
- //
16
- // Header and form-data array readers have separate branches for required,
17
- // nullable, cookie-delimited, and string-trimming behavior. These helpers are
18
- // pure AST builders, so direct calls cover them without an HTTP transform.
19
- //
20
- // 1. Return required non-null form-data arrays unchanged.
21
- // 2. Build nullable and optional form-data array readers.
22
- // 3. Build header array readers for string, number, and cookie delimiters.
23
- // 4. Verify HTTP import, property-key, type decoding, and debug helpers.
24
- func TestHttpProgrammerHelperCoverage(t *testing.T) {
25
- factory := shimast.NewNodeFactory(shimast.NodeFactoryHooks{})
26
- input := factory.NewIdentifier("input")
27
- required := httpMetadata("string", true, false)
28
- optional := httpMetadata("string", false, false)
29
- nullable := httpMetadata("string", true, true)
30
- if httpFormDataProgrammer_decode_array(struct {
31
- Context nativecontext.ITypiaContext
32
- Metadata *schemametadata.MetadataSchema
33
- Input *shimast.Node
34
- }{Metadata: required, Input: input}) != input {
35
- t.Fatal("required form-data array should return input unchanged")
36
- }
37
- if httpFormDataProgrammer_decode_array(struct {
38
- Context nativecontext.ITypiaContext
39
- Metadata *schemametadata.MetadataSchema
40
- Input *shimast.Node
41
- }{Metadata: optional, Input: input}) == nil ||
42
- httpFormDataProgrammer_decode_array(struct {
43
- Context nativecontext.ITypiaContext
44
- Metadata *schemametadata.MetadataSchema
45
- Input *shimast.Node
46
- }{Metadata: nullable, Input: input}) == nil {
47
- t.Fatal("form-data array reader returned nil")
48
- }
49
- if httpHeadersProgrammer_decode_array(struct {
50
- Context nativecontext.ITypiaContext
51
- Type string
52
- Key string
53
- Value *schemametadata.MetadataSchema
54
- Input *shimast.Node
55
- }{Type: "string", Key: "accept", Value: required, Input: input}) == nil ||
56
- httpHeadersProgrammer_decode_array(struct {
57
- Context nativecontext.ITypiaContext
58
- Type string
59
- Key string
60
- Value *schemametadata.MetadataSchema
61
- Input *shimast.Node
62
- }{Type: "number", Key: "cookie", Value: optional, Input: input}) == nil {
63
- t.Fatal("header array reader returned nil")
64
- }
65
- if httpProgrammer_debug([]string{"a", "b"}) == "" {
66
- t.Fatal("HTTP debug helper returned empty text")
67
- }
68
- if httpProgrammer_method_text(nil) != "" ||
69
- httpProgrammer_method_text(factory.NewIdentifier("method")) != "method" {
70
- t.Fatal("HTTP method text helper mismatch")
71
- }
72
- if httpProgrammer_import_type(nativecontext.ITypiaContext{}, nativecontext.ImportProgrammer_TypeProps{Name: "Alias"}) == nil ||
73
- httpProgrammer_import_type(nativecontext.ITypiaContext{}, nativecontext.ImportProgrammer_TypeProps{Name: factory.NewIdentifier("AliasNode")}) == nil ||
74
- httpProgrammer_import_type(nativecontext.ITypiaContext{Importer: nativecontext.NewImportProgrammer()}, nativecontext.ImportProgrammer_TypeProps{Name: "Alias"}) == nil {
75
- t.Fatal("HTTP import type helper returned nil")
76
- }
77
- if httpProgrammer_property_key(nil) != "" ||
78
- httpProgrammer_property_key(schemametadata.MetadataProperty_create(schemametadata.MetadataProperty{Key: httpLiteral("field")})) != "field" {
79
- t.Fatal("HTTP property key helper mismatch")
80
- }
81
- nativeBlob := schemametadata.MetadataSchema_initialize()
82
- nativeBlob.Natives = append(nativeBlob.Natives, schemametadata.MetadataNative_create(schemametadata.MetadataNative{Name: "Blob"}))
83
- nativeFile := schemametadata.MetadataSchema_initialize()
84
- nativeFile.Natives = append(nativeFile.Natives, schemametadata.MetadataNative_create(schemametadata.MetadataNative{Name: "File"}))
85
- array := schemametadata.MetadataSchema_initialize()
86
- array.Arrays = append(array.Arrays, schemametadata.MetadataArray_create(schemametadata.MetadataArray{
87
- Type: schemametadata.MetadataArrayType_create(schemametadata.MetadataArrayType{Name: "string[]", Value: required}),
88
- }))
89
- tuple := schemametadata.MetadataSchema_initialize()
90
- tuple.Tuples = append(tuple.Tuples, schemametadata.MetadataTuple_create(schemametadata.MetadataTuple{
91
- Type: schemametadata.MetadataTupleType_create(schemametadata.MetadataTupleType{Name: "[string]", Elements: []*schemametadata.MetadataSchema{required}}),
92
- }))
93
- constant := schemametadata.MetadataSchema_initialize()
94
- constant.Constants = append(constant.Constants, schemametadata.MetadataConstant_create(schemametadata.MetadataConstant{Type: "number"}))
95
- for _, meta := range []*schemametadata.MetadataSchema{nil, required, constant, nativeBlob, nativeFile, array, tuple} {
96
- if _, ok := httpProgrammer_decode_type_from_metadata(meta, true, false); meta != nil && !ok && len(meta.Arrays) != 0 {
97
- t.Fatal("HTTP array decode type should report array output")
98
- }
99
- }
100
- }
101
-
102
- func httpMetadata(kind string, required bool, nullable bool) *schemametadata.MetadataSchema {
103
- meta := schemametadata.MetadataSchema_initialize()
104
- meta.Required = required
105
- meta.Optional = !required
106
- meta.Nullable = nullable
107
- meta.Atomics = append(meta.Atomics, schemametadata.MetadataAtomic_create(schemametadata.MetadataAtomic{Type: kind}))
108
- return meta
109
- }
110
-
111
- func httpLiteral(value string) *schemametadata.MetadataSchema {
112
- meta := schemametadata.MetadataSchema_initialize()
113
- meta.Constants = append(meta.Constants, schemametadata.MetadataConstant_create(schemametadata.MetadataConstant{
114
- Type: "string",
115
- Values: []*schemametadata.MetadataConstantValue{
116
- schemametadata.MetadataConstantValue_create(schemametadata.MetadataConstantValue{Value: value}),
117
- },
118
- }))
119
- return meta
120
- }
1
+ //go:build typia_native_internal
2
+ // +build typia_native_internal
3
+
4
+ package http
5
+
6
+ import (
7
+ "testing"
8
+
9
+ shimast "github.com/microsoft/typescript-go/shim/ast"
10
+ nativecontext "github.com/samchon/typia/packages/typia/native/core/context"
11
+ schemametadata "github.com/samchon/typia/packages/typia/native/core/schemas/metadata"
12
+ )
13
+
14
+ // TestHttpProgrammerHelperCoverage exercises HTTP array helpers.
15
+ //
16
+ // Header and form-data array readers have separate branches for required,
17
+ // nullable, cookie-delimited, and string-trimming behavior. These helpers are
18
+ // pure AST builders, so direct calls cover them without an HTTP transform.
19
+ //
20
+ // 1. Return required non-null form-data arrays unchanged.
21
+ // 2. Build nullable and optional form-data array readers.
22
+ // 3. Build header array readers for string, number, and cookie delimiters.
23
+ // 4. Verify HTTP import, property-key, type decoding, and debug helpers.
24
+ func TestHttpProgrammerHelperCoverage(t *testing.T) {
25
+ factory := shimast.NewNodeFactory(shimast.NodeFactoryHooks{})
26
+ input := factory.NewIdentifier("input")
27
+ required := httpMetadata("string", true, false)
28
+ optional := httpMetadata("string", false, false)
29
+ nullable := httpMetadata("string", true, true)
30
+ if httpFormDataProgrammer_decode_array(struct {
31
+ Context nativecontext.ITypiaContext
32
+ Metadata *schemametadata.MetadataSchema
33
+ Input *shimast.Node
34
+ }{Metadata: required, Input: input}) != input {
35
+ t.Fatal("required form-data array should return input unchanged")
36
+ }
37
+ if httpFormDataProgrammer_decode_array(struct {
38
+ Context nativecontext.ITypiaContext
39
+ Metadata *schemametadata.MetadataSchema
40
+ Input *shimast.Node
41
+ }{Metadata: optional, Input: input}) == nil ||
42
+ httpFormDataProgrammer_decode_array(struct {
43
+ Context nativecontext.ITypiaContext
44
+ Metadata *schemametadata.MetadataSchema
45
+ Input *shimast.Node
46
+ }{Metadata: nullable, Input: input}) == nil {
47
+ t.Fatal("form-data array reader returned nil")
48
+ }
49
+ if httpHeadersProgrammer_decode_array(struct {
50
+ Context nativecontext.ITypiaContext
51
+ Type string
52
+ Key string
53
+ Value *schemametadata.MetadataSchema
54
+ Input *shimast.Node
55
+ }{Type: "string", Key: "accept", Value: required, Input: input}) == nil ||
56
+ httpHeadersProgrammer_decode_array(struct {
57
+ Context nativecontext.ITypiaContext
58
+ Type string
59
+ Key string
60
+ Value *schemametadata.MetadataSchema
61
+ Input *shimast.Node
62
+ }{Type: "number", Key: "cookie", Value: optional, Input: input}) == nil {
63
+ t.Fatal("header array reader returned nil")
64
+ }
65
+ if httpProgrammer_debug([]string{"a", "b"}) == "" {
66
+ t.Fatal("HTTP debug helper returned empty text")
67
+ }
68
+ if httpProgrammer_method_text(nil) != "" ||
69
+ httpProgrammer_method_text(factory.NewIdentifier("method")) != "method" {
70
+ t.Fatal("HTTP method text helper mismatch")
71
+ }
72
+ if httpProgrammer_import_type(nativecontext.ITypiaContext{}, nativecontext.ImportProgrammer_TypeProps{Name: "Alias"}) == nil ||
73
+ httpProgrammer_import_type(nativecontext.ITypiaContext{}, nativecontext.ImportProgrammer_TypeProps{Name: factory.NewIdentifier("AliasNode")}) == nil ||
74
+ httpProgrammer_import_type(nativecontext.ITypiaContext{Importer: nativecontext.NewImportProgrammer()}, nativecontext.ImportProgrammer_TypeProps{Name: "Alias"}) == nil {
75
+ t.Fatal("HTTP import type helper returned nil")
76
+ }
77
+ if httpProgrammer_property_key(nil) != "" ||
78
+ httpProgrammer_property_key(schemametadata.MetadataProperty_create(schemametadata.MetadataProperty{Key: httpLiteral("field")})) != "field" {
79
+ t.Fatal("HTTP property key helper mismatch")
80
+ }
81
+ nativeBlob := schemametadata.MetadataSchema_initialize()
82
+ nativeBlob.Natives = append(nativeBlob.Natives, schemametadata.MetadataNative_create(schemametadata.MetadataNative{Name: "Blob"}))
83
+ nativeFile := schemametadata.MetadataSchema_initialize()
84
+ nativeFile.Natives = append(nativeFile.Natives, schemametadata.MetadataNative_create(schemametadata.MetadataNative{Name: "File"}))
85
+ array := schemametadata.MetadataSchema_initialize()
86
+ array.Arrays = append(array.Arrays, schemametadata.MetadataArray_create(schemametadata.MetadataArray{
87
+ Type: schemametadata.MetadataArrayType_create(schemametadata.MetadataArrayType{Name: "string[]", Value: required}),
88
+ }))
89
+ tuple := schemametadata.MetadataSchema_initialize()
90
+ tuple.Tuples = append(tuple.Tuples, schemametadata.MetadataTuple_create(schemametadata.MetadataTuple{
91
+ Type: schemametadata.MetadataTupleType_create(schemametadata.MetadataTupleType{Name: "[string]", Elements: []*schemametadata.MetadataSchema{required}}),
92
+ }))
93
+ constant := schemametadata.MetadataSchema_initialize()
94
+ constant.Constants = append(constant.Constants, schemametadata.MetadataConstant_create(schemametadata.MetadataConstant{Type: "number"}))
95
+ for _, meta := range []*schemametadata.MetadataSchema{nil, required, constant, nativeBlob, nativeFile, array, tuple} {
96
+ if _, ok := httpProgrammer_decode_type_from_metadata(meta, true, false); meta != nil && !ok && len(meta.Arrays) != 0 {
97
+ t.Fatal("HTTP array decode type should report array output")
98
+ }
99
+ }
100
+ }
101
+
102
+ func httpMetadata(kind string, required bool, nullable bool) *schemametadata.MetadataSchema {
103
+ meta := schemametadata.MetadataSchema_initialize()
104
+ meta.Required = required
105
+ meta.Optional = !required
106
+ meta.Nullable = nullable
107
+ meta.Atomics = append(meta.Atomics, schemametadata.MetadataAtomic_create(schemametadata.MetadataAtomic{Type: kind}))
108
+ return meta
109
+ }
110
+
111
+ func httpLiteral(value string) *schemametadata.MetadataSchema {
112
+ meta := schemametadata.MetadataSchema_initialize()
113
+ meta.Constants = append(meta.Constants, schemametadata.MetadataConstant_create(schemametadata.MetadataConstant{
114
+ Type: "string",
115
+ Values: []*schemametadata.MetadataConstantValue{
116
+ schemametadata.MetadataConstantValue_create(schemametadata.MetadataConstantValue{Value: value}),
117
+ },
118
+ }))
119
+ return meta
120
+ }
@@ -1 +1 @@
1
- package http
1
+ package http
@@ -1 +1 @@
1
- package programmers
1
+ package programmers