typia 13.0.1-dev.20260703.1 → 13.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1298) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +169 -171
  3. package/lib/TypeGuardError.mjs +42 -3
  4. package/lib/TypeGuardError.mjs.map +1 -1
  5. package/lib/_virtual/_rolldown/runtime.mjs +17 -0
  6. package/lib/compare.mjs +39 -3
  7. package/lib/compare.mjs.map +1 -1
  8. package/lib/executable/TypiaGenerateWizard.js +7 -2
  9. package/lib/executable/TypiaGenerateWizard.js.map +1 -1
  10. package/lib/executable/TypiaGenerateWizard.mjs +474 -3
  11. package/lib/executable/TypiaGenerateWizard.mjs.map +1 -1
  12. package/lib/executable/generate/ttsc.js +11 -8
  13. package/lib/executable/generate/ttsc.js.map +1 -1
  14. package/lib/executable/generate/ttsc.mjs +37 -3
  15. package/lib/executable/generate/ttsc.mjs.map +1 -1
  16. package/lib/executable/typia.js +10 -4
  17. package/lib/executable/typia.js.map +1 -1
  18. package/lib/executable/typia.mjs +59 -3
  19. package/lib/executable/typia.mjs.map +1 -1
  20. package/lib/functional.mjs +99 -3
  21. package/lib/functional.mjs.map +1 -1
  22. package/lib/http.mjs +139 -3
  23. package/lib/http.mjs.map +1 -1
  24. package/lib/index.mjs +18 -2
  25. package/lib/index.mjs.map +1 -1
  26. package/lib/internal/_IProtobufWriter.mjs +0 -3
  27. package/lib/internal/_ProtobufReader.js +7 -6
  28. package/lib/internal/_ProtobufReader.js.map +1 -1
  29. package/lib/internal/_ProtobufReader.mjs +140 -3
  30. package/lib/internal/_ProtobufReader.mjs.map +1 -1
  31. package/lib/internal/_ProtobufSizer.mjs +84 -3
  32. package/lib/internal/_ProtobufSizer.mjs.map +1 -1
  33. package/lib/internal/_ProtobufWriter.mjs +94 -3
  34. package/lib/internal/_ProtobufWriter.mjs.map +1 -1
  35. package/lib/internal/_accessExpressionAsString.mjs +46 -3
  36. package/lib/internal/_accessExpressionAsString.mjs.map +1 -1
  37. package/lib/internal/_assertGuard.mjs +11 -3
  38. package/lib/internal/_assertGuard.mjs.map +1 -1
  39. package/lib/internal/_coerceLlmArguments.mjs +7 -3
  40. package/lib/internal/_coerceLlmArguments.mjs.map +1 -1
  41. package/lib/internal/_createStandardSchema.mjs +64 -3
  42. package/lib/internal/_createStandardSchema.mjs.map +1 -1
  43. package/lib/internal/_functionalTypeGuardErrorFactory.mjs +7 -3
  44. package/lib/internal/_functionalTypeGuardErrorFactory.mjs.map +1 -1
  45. package/lib/internal/_httpFormDataReadArray.mjs +6 -3
  46. package/lib/internal/_httpFormDataReadArray.mjs.map +1 -1
  47. package/lib/internal/_httpFormDataReadBigint.mjs +13 -3
  48. package/lib/internal/_httpFormDataReadBigint.mjs.map +1 -1
  49. package/lib/internal/_httpFormDataReadBlob.mjs +6 -3
  50. package/lib/internal/_httpFormDataReadBlob.mjs.map +1 -1
  51. package/lib/internal/_httpFormDataReadBoolean.mjs +6 -3
  52. package/lib/internal/_httpFormDataReadBoolean.mjs.map +1 -1
  53. package/lib/internal/_httpFormDataReadFile.mjs +6 -3
  54. package/lib/internal/_httpFormDataReadFile.mjs.map +1 -1
  55. package/lib/internal/_httpFormDataReadNumber.mjs +10 -3
  56. package/lib/internal/_httpFormDataReadNumber.mjs.map +1 -1
  57. package/lib/internal/_httpFormDataReadString.mjs +6 -3
  58. package/lib/internal/_httpFormDataReadString.mjs.map +1 -1
  59. package/lib/internal/_httpHeaderReadBigint.mjs +13 -3
  60. package/lib/internal/_httpHeaderReadBigint.mjs.map +1 -1
  61. package/lib/internal/_httpHeaderReadBoolean.mjs +6 -3
  62. package/lib/internal/_httpHeaderReadBoolean.mjs.map +1 -1
  63. package/lib/internal/_httpHeaderReadNumber.mjs +10 -3
  64. package/lib/internal/_httpHeaderReadNumber.mjs.map +1 -1
  65. package/lib/internal/_httpParameterReadBigint.mjs +13 -3
  66. package/lib/internal/_httpParameterReadBigint.mjs.map +1 -1
  67. package/lib/internal/_httpParameterReadBoolean.mjs +6 -3
  68. package/lib/internal/_httpParameterReadBoolean.mjs.map +1 -1
  69. package/lib/internal/_httpParameterReadNumber.mjs +10 -3
  70. package/lib/internal/_httpParameterReadNumber.mjs.map +1 -1
  71. package/lib/internal/_httpParameterReadString.mjs +6 -3
  72. package/lib/internal/_httpParameterReadString.mjs.map +1 -1
  73. package/lib/internal/_httpQueryParseURLSearchParams.mjs +13 -3
  74. package/lib/internal/_httpQueryParseURLSearchParams.mjs.map +1 -1
  75. package/lib/internal/_httpQueryReadArray.mjs +6 -3
  76. package/lib/internal/_httpQueryReadArray.mjs.map +1 -1
  77. package/lib/internal/_httpQueryReadBigint.mjs +13 -3
  78. package/lib/internal/_httpQueryReadBigint.mjs.map +1 -1
  79. package/lib/internal/_httpQueryReadBoolean.mjs +6 -3
  80. package/lib/internal/_httpQueryReadBoolean.mjs.map +1 -1
  81. package/lib/internal/_httpQueryReadNumber.mjs +10 -3
  82. package/lib/internal/_httpQueryReadNumber.mjs.map +1 -1
  83. package/lib/internal/_httpQueryReadString.mjs +6 -3
  84. package/lib/internal/_httpQueryReadString.mjs.map +1 -1
  85. package/lib/internal/_isBetween.mjs +6 -3
  86. package/lib/internal/_isBetween.mjs.map +1 -1
  87. package/lib/internal/_isBigintString.mjs +13 -3
  88. package/lib/internal/_isBigintString.mjs.map +1 -1
  89. package/lib/internal/_isFormatByte.mjs +10 -3
  90. package/lib/internal/_isFormatByte.mjs.map +1 -1
  91. package/lib/internal/_isFormatDate.mjs +7 -3
  92. package/lib/internal/_isFormatDate.mjs.map +1 -1
  93. package/lib/internal/_isFormatDateTime.mjs +7 -3
  94. package/lib/internal/_isFormatDateTime.mjs.map +1 -1
  95. package/lib/internal/_isFormatDuration.mjs +7 -3
  96. package/lib/internal/_isFormatDuration.mjs.map +1 -1
  97. package/lib/internal/_isFormatEmail.mjs +7 -3
  98. package/lib/internal/_isFormatEmail.mjs.map +1 -1
  99. package/lib/internal/_isFormatHostname.mjs +7 -3
  100. package/lib/internal/_isFormatHostname.mjs.map +1 -1
  101. package/lib/internal/_isFormatIdnEmail.mjs +7 -3
  102. package/lib/internal/_isFormatIdnEmail.mjs.map +1 -1
  103. package/lib/internal/_isFormatIdnHostname.mjs +7 -3
  104. package/lib/internal/_isFormatIdnHostname.mjs.map +1 -1
  105. package/lib/internal/_isFormatIpv4.mjs +7 -3
  106. package/lib/internal/_isFormatIpv4.mjs.map +1 -1
  107. package/lib/internal/_isFormatIpv6.mjs +7 -3
  108. package/lib/internal/_isFormatIpv6.mjs.map +1 -1
  109. package/lib/internal/_isFormatIri.mjs +7 -3
  110. package/lib/internal/_isFormatIri.mjs.map +1 -1
  111. package/lib/internal/_isFormatIriReference.mjs +7 -3
  112. package/lib/internal/_isFormatIriReference.mjs.map +1 -1
  113. package/lib/internal/_isFormatJsonPointer.mjs +7 -3
  114. package/lib/internal/_isFormatJsonPointer.mjs.map +1 -1
  115. package/lib/internal/_isFormatPassword.mjs +6 -3
  116. package/lib/internal/_isFormatPassword.mjs.map +1 -1
  117. package/lib/internal/_isFormatRegex.mjs +13 -3
  118. package/lib/internal/_isFormatRegex.mjs.map +1 -1
  119. package/lib/internal/_isFormatRelativeJsonPointer.mjs +7 -3
  120. package/lib/internal/_isFormatRelativeJsonPointer.mjs.map +1 -1
  121. package/lib/internal/_isFormatTime.mjs +7 -3
  122. package/lib/internal/_isFormatTime.mjs.map +1 -1
  123. package/lib/internal/_isFormatUri.mjs +8 -3
  124. package/lib/internal/_isFormatUri.mjs.map +1 -1
  125. package/lib/internal/_isFormatUriReference.mjs +7 -3
  126. package/lib/internal/_isFormatUriReference.mjs.map +1 -1
  127. package/lib/internal/_isFormatUriTemplate.mjs +7 -3
  128. package/lib/internal/_isFormatUriTemplate.mjs.map +1 -1
  129. package/lib/internal/_isFormatUrl.mjs +7 -3
  130. package/lib/internal/_isFormatUrl.mjs.map +1 -1
  131. package/lib/internal/_isFormatUuid.mjs +7 -3
  132. package/lib/internal/_isFormatUuid.mjs.map +1 -1
  133. package/lib/internal/_isTypeFloat.mjs +8 -3
  134. package/lib/internal/_isTypeFloat.mjs.map +1 -1
  135. package/lib/internal/_isTypeInt16.mjs +8 -3
  136. package/lib/internal/_isTypeInt16.mjs.map +1 -1
  137. package/lib/internal/_isTypeInt32.mjs +8 -3
  138. package/lib/internal/_isTypeInt32.mjs.map +1 -1
  139. package/lib/internal/_isTypeInt64.mjs +8 -3
  140. package/lib/internal/_isTypeInt64.mjs.map +1 -1
  141. package/lib/internal/_isTypeInt8.mjs +8 -3
  142. package/lib/internal/_isTypeInt8.mjs.map +1 -1
  143. package/lib/internal/_isTypeUint16.mjs +8 -3
  144. package/lib/internal/_isTypeUint16.mjs.map +1 -1
  145. package/lib/internal/_isTypeUint32.mjs +8 -3
  146. package/lib/internal/_isTypeUint32.mjs.map +1 -1
  147. package/lib/internal/_isTypeUint64.mjs +8 -3
  148. package/lib/internal/_isTypeUint64.mjs.map +1 -1
  149. package/lib/internal/_isTypeUint8.mjs +8 -3
  150. package/lib/internal/_isTypeUint8.mjs.map +1 -1
  151. package/lib/internal/_isUniqueItems.mjs +67 -3
  152. package/lib/internal/_isUniqueItems.mjs.map +1 -1
  153. package/lib/internal/_jsonStringifyNumber.mjs +6 -3
  154. package/lib/internal/_jsonStringifyNumber.mjs.map +1 -1
  155. package/lib/internal/_jsonStringifyRest.mjs +8 -3
  156. package/lib/internal/_jsonStringifyRest.mjs.map +1 -1
  157. package/lib/internal/_jsonStringifyString.mjs +34 -3
  158. package/lib/internal/_jsonStringifyString.mjs.map +1 -1
  159. package/lib/internal/_jsonStringifyTail.mjs +6 -3
  160. package/lib/internal/_jsonStringifyTail.mjs.map +1 -1
  161. package/lib/internal/_llmApplicationFinalize.mjs +19 -3
  162. package/lib/internal/_llmApplicationFinalize.mjs.map +1 -1
  163. package/lib/internal/_notationAny.mjs +18 -3
  164. package/lib/internal/_notationAny.mjs.map +1 -1
  165. package/lib/internal/_notationCamel.mjs +11 -3
  166. package/lib/internal/_notationCamel.mjs.map +1 -1
  167. package/lib/internal/_notationPascal.mjs +11 -3
  168. package/lib/internal/_notationPascal.mjs.map +1 -1
  169. package/lib/internal/_notationSnake.mjs +32 -3
  170. package/lib/internal/_notationSnake.mjs.map +1 -1
  171. package/lib/internal/_parseLlmArguments.mjs +7 -3
  172. package/lib/internal/_parseLlmArguments.mjs.map +1 -1
  173. package/lib/internal/_plainCloneAny.mjs +35 -3
  174. package/lib/internal/_plainCloneAny.mjs.map +1 -1
  175. package/lib/internal/_randomArray.mjs +22 -3
  176. package/lib/internal/_randomArray.mjs.map +1 -1
  177. package/lib/internal/_randomBigint.mjs +7 -3
  178. package/lib/internal/_randomBigint.mjs.map +1 -1
  179. package/lib/internal/_randomBoolean.mjs +6 -3
  180. package/lib/internal/_randomBoolean.mjs.map +1 -1
  181. package/lib/internal/_randomFormatByte.mjs +7 -3
  182. package/lib/internal/_randomFormatByte.mjs.map +1 -1
  183. package/lib/internal/_randomFormatDate.mjs +11 -3
  184. package/lib/internal/_randomFormatDate.mjs.map +1 -1
  185. package/lib/internal/_randomFormatDatetime.mjs +11 -3
  186. package/lib/internal/_randomFormatDatetime.mjs.map +1 -1
  187. package/lib/internal/_randomFormatDuration.mjs +26 -3
  188. package/lib/internal/_randomFormatDuration.mjs.map +1 -1
  189. package/lib/internal/_randomFormatEmail.mjs +12 -3
  190. package/lib/internal/_randomFormatEmail.mjs.map +1 -1
  191. package/lib/internal/_randomFormatHostname.mjs +12 -3
  192. package/lib/internal/_randomFormatHostname.mjs.map +1 -1
  193. package/lib/internal/_randomFormatIdnEmail.mjs +7 -3
  194. package/lib/internal/_randomFormatIdnEmail.mjs.map +1 -1
  195. package/lib/internal/_randomFormatIdnHostname.mjs +7 -3
  196. package/lib/internal/_randomFormatIdnHostname.mjs.map +1 -1
  197. package/lib/internal/_randomFormatIpv4.mjs +12 -3
  198. package/lib/internal/_randomFormatIpv4.mjs.map +1 -1
  199. package/lib/internal/_randomFormatIpv6.mjs +12 -3
  200. package/lib/internal/_randomFormatIpv6.mjs.map +1 -1
  201. package/lib/internal/_randomFormatIri.mjs +7 -3
  202. package/lib/internal/_randomFormatIri.mjs.map +1 -1
  203. package/lib/internal/_randomFormatIriReference.mjs +7 -3
  204. package/lib/internal/_randomFormatIriReference.mjs.map +1 -1
  205. package/lib/internal/_randomFormatJsonPointer.mjs +12 -3
  206. package/lib/internal/_randomFormatJsonPointer.mjs.map +1 -1
  207. package/lib/internal/_randomFormatPassword.mjs +11 -3
  208. package/lib/internal/_randomFormatPassword.mjs.map +1 -1
  209. package/lib/internal/_randomFormatRegex.mjs +7 -3
  210. package/lib/internal/_randomFormatRegex.mjs.map +1 -1
  211. package/lib/internal/_randomFormatRelativeJsonPointer.mjs +11 -3
  212. package/lib/internal/_randomFormatRelativeJsonPointer.mjs.map +1 -1
  213. package/lib/internal/_randomFormatTime.mjs +12 -3
  214. package/lib/internal/_randomFormatTime.mjs.map +1 -1
  215. package/lib/internal/_randomFormatUri.mjs +7 -3
  216. package/lib/internal/_randomFormatUri.mjs.map +1 -1
  217. package/lib/internal/_randomFormatUriReference.mjs +7 -3
  218. package/lib/internal/_randomFormatUriReference.mjs.map +1 -1
  219. package/lib/internal/_randomFormatUriTemplate.mjs +7 -3
  220. package/lib/internal/_randomFormatUriTemplate.mjs.map +1 -1
  221. package/lib/internal/_randomFormatUrl.mjs +12 -3
  222. package/lib/internal/_randomFormatUrl.mjs.map +1 -1
  223. package/lib/internal/_randomFormatUuid.mjs +9 -3
  224. package/lib/internal/_randomFormatUuid.mjs.map +1 -1
  225. package/lib/internal/_randomInteger.mjs +31 -3
  226. package/lib/internal/_randomInteger.mjs.map +1 -1
  227. package/lib/internal/_randomNumber.mjs +45 -3
  228. package/lib/internal/_randomNumber.mjs.map +1 -1
  229. package/lib/internal/_randomPattern.mjs +14 -3
  230. package/lib/internal/_randomPattern.mjs.map +1 -1
  231. package/lib/internal/_randomPick.mjs +12 -3
  232. package/lib/internal/_randomPick.mjs.map +1 -1
  233. package/lib/internal/_randomString.mjs +23 -3
  234. package/lib/internal/_randomString.mjs.map +1 -1
  235. package/lib/internal/_throwTypeGuardError.mjs +9 -3
  236. package/lib/internal/_throwTypeGuardError.mjs.map +1 -1
  237. package/lib/internal/_validateReport.mjs +23 -3
  238. package/lib/internal/_validateReport.mjs.map +1 -1
  239. package/lib/internal/private/__notationCapitalize.mjs +6 -3
  240. package/lib/internal/private/__notationCapitalize.mjs.map +1 -1
  241. package/lib/internal/private/__notationUnsnake.mjs +15 -3
  242. package/lib/internal/private/__notationUnsnake.mjs.map +1 -1
  243. package/lib/json.mjs +94 -3
  244. package/lib/json.mjs.map +1 -1
  245. package/lib/llm.mjs +54 -3
  246. package/lib/llm.mjs.map +1 -1
  247. package/lib/module.mjs +131 -2
  248. package/lib/module.mjs.map +1 -1
  249. package/lib/notations.mjs +169 -3
  250. package/lib/notations.mjs.map +1 -1
  251. package/lib/plain.mjs +119 -3
  252. package/lib/plain.mjs.map +1 -1
  253. package/lib/protobuf.mjs +94 -3
  254. package/lib/protobuf.mjs.map +1 -1
  255. package/lib/re-exports.d.ts +2 -1
  256. package/lib/re-exports.js +5 -1
  257. package/lib/re-exports.js.map +1 -1
  258. package/lib/re-exports.mjs +2 -2
  259. package/lib/reflect.mjs +29 -3
  260. package/lib/reflect.mjs.map +1 -1
  261. package/lib/transform.mjs +15 -2
  262. package/lib/transform.mjs.map +1 -1
  263. package/lib/transformers/NoTransformConfigurationError.mjs +19 -3
  264. package/lib/transformers/NoTransformConfigurationError.mjs.map +1 -1
  265. package/native/adapter/adapter.go +29 -29
  266. package/native/adapter/adapter_options_branch_matrix_test.go +54 -54
  267. package/native/adapter/visit.go +173 -173
  268. package/native/adapter/visit_property_chain_edges_test.go +129 -129
  269. package/native/cmd/ttsc-typia/any_array_type_tags_transform_test.go +204 -204
  270. package/native/cmd/ttsc-typia/atomic_intersection_schema_transform_test.go +148 -148
  271. package/native/cmd/ttsc-typia/boolean_literal_discriminant_schema_transform_test.go +374 -374
  272. package/native/cmd/ttsc-typia/build.go +188 -188
  273. package/native/cmd/ttsc-typia/build_reports_semantic_diagnostics_test.go +34 -34
  274. package/native/cmd/ttsc-typia/build_reports_syntactic_diagnostics_test.go +34 -34
  275. package/native/cmd/ttsc-typia/command_routes_and_diagnostics_coverage_test.go +314 -314
  276. package/native/cmd/ttsc-typia/compare_equal_cover_transform_test.go +271 -271
  277. package/native/cmd/ttsc-typia/compare_less_transform_test.go +180 -180
  278. package/native/cmd/ttsc-typia/compare_method_delegation_transform_test.go +173 -173
  279. package/native/cmd/ttsc-typia/demo_rejects_bad_flag_test.go +25 -25
  280. package/native/cmd/ttsc-typia/diagnostics.go +51 -51
  281. package/native/cmd/ttsc-typia/dynamic_key_path_helper_alias_transform_test.go +159 -159
  282. package/native/cmd/ttsc-typia/exclude_type_tag_transform_test.go +176 -176
  283. package/native/cmd/ttsc-typia/inline_type_display_name_transform_test.go +290 -290
  284. package/native/cmd/ttsc-typia/instance_union_create_is_transform_test.go +248 -248
  285. package/native/cmd/ttsc-typia/intersection_all_never_union_transform_test.go +168 -168
  286. package/native/cmd/ttsc-typia/intersection_brand_transform_test.go +267 -267
  287. package/native/cmd/ttsc-typia/intersection_nonsensible_backstop_transform_test.go +157 -132
  288. package/native/cmd/ttsc-typia/intersection_union_validation_transform_test.go +590 -590
  289. package/native/cmd/ttsc-typia/json_is_stringify_scoped_checker_transform_test.go +206 -0
  290. package/native/cmd/ttsc-typia/json_stringify_constant_atomic_union_transform_test.go +171 -171
  291. package/native/cmd/ttsc-typia/main.go +97 -97
  292. package/native/cmd/ttsc-typia/main_wasm.go +226 -226
  293. package/native/cmd/ttsc-typia/non_trailing_rest_tuple_transform_test.go +156 -156
  294. package/native/cmd/ttsc-typia/notation_kebab_case_transform_test.go +186 -186
  295. package/native/cmd/ttsc-typia/nullable_primitive_property_is_transform_test.go +236 -236
  296. package/native/cmd/ttsc-typia/object_custom_tag_validation_transform_test.go +332 -332
  297. package/native/cmd/ttsc-typia/object_union_explicit_pointer_schema_transform_test.go +269 -269
  298. package/native/cmd/ttsc-typia/plain_classify_class_ref_transform_test.go +261 -261
  299. package/native/cmd/ttsc-typia/plain_classify_container_seed_transform_test.go +144 -144
  300. package/native/cmd/ttsc-typia/plain_classify_cross_module_extra_transform_test.go +211 -211
  301. package/native/cmd/ttsc-typia/plain_classify_deep_nested_transform_test.go +184 -184
  302. package/native/cmd/ttsc-typia/plain_classify_field_copy_transform_test.go +204 -204
  303. package/native/cmd/ttsc-typia/plain_classify_from_new_transform_test.go +465 -465
  304. package/native/cmd/ttsc-typia/plain_classify_strategy_edges_transform_test.go +519 -519
  305. package/native/cmd/ttsc-typia/plain_classify_union_transform_test.go +149 -149
  306. package/native/cmd/ttsc-typia/plain_classify_validated_union_transform_test.go +212 -212
  307. package/native/cmd/ttsc-typia/plain_clone_bigint_wrapper_transform_test.go +153 -153
  308. package/native/cmd/ttsc-typia/plugin_options_missing_config_test.go +26 -26
  309. package/native/cmd/ttsc-typia/plugin_options_undefined_false_test.go +36 -36
  310. package/native/cmd/ttsc-typia/project_catalog_transform_coverage_test.go +73 -73
  311. package/native/cmd/ttsc-typia/protobuf_object_generic_union_encode_transform_test.go +248 -248
  312. package/native/cmd/ttsc-typia/protobuf_sequence_field_numbers_transform_test.go +107 -107
  313. package/native/cmd/ttsc-typia/random_recursive_min_items_diagnostic_test.go +234 -234
  314. package/native/cmd/ttsc-typia/random_unsatisfiable_recursive_diagnostic_test.go +146 -146
  315. package/native/cmd/ttsc-typia/recursive_visit_tracking_transform_test.go +473 -473
  316. package/native/cmd/ttsc-typia/run_default_build_route_test.go +31 -31
  317. package/native/cmd/ttsc-typia/schema_dts_role_transform_test.go +404 -404
  318. package/native/cmd/ttsc-typia/shallow_depth_argument_error_transform_test.go +88 -88
  319. package/native/cmd/ttsc-typia/shallow_depth_limit_transform_test.go +278 -278
  320. package/native/cmd/ttsc-typia/shallow_depth_runtime_test.go +173 -173
  321. package/native/cmd/ttsc-typia/shallow_factory_depth_runtime_test.go +171 -171
  322. package/native/cmd/ttsc-typia/shallow_nested_depth_transform_test.go +148 -148
  323. package/native/cmd/ttsc-typia/template_interpolation_type_tags_transform_test.go +322 -322
  324. package/native/cmd/ttsc-typia/template_literal_type_tags_transform_test.go +162 -162
  325. package/native/cmd/ttsc-typia/transform.go +270 -270
  326. package/native/cmd/ttsc-typia/transform_declaration_source_produces_no_js_test.go +59 -59
  327. package/native/cmd/ttsc-typia/transform_diagnostics_preserve_details_test.go +203 -203
  328. package/native/cmd/ttsc-typia/transform_fixtures_emit_coverage_test.go +528 -528
  329. package/native/cmd/ttsc-typia/transform_helpers_test.go +155 -155
  330. package/native/core/context/EmitFactory.go +39 -39
  331. package/native/core/context/IProgrammerProps.go +14 -14
  332. package/native/core/context/ITransformOptions.go +9 -9
  333. package/native/core/context/ITypiaContext.go +36 -36
  334. package/native/core/context/ImportProgrammer.go +388 -354
  335. package/native/core/context/TransformerError.go +117 -117
  336. package/native/core/context/import_programmer_module_identifier_test.go +29 -0
  337. package/native/core/context/import_programmer_statement_coverage_test.go +71 -71
  338. package/native/core/context/index.go +1 -1
  339. package/native/core/context/transformer_error_formatting_test.go +100 -100
  340. package/native/core/factories/CommentFactory.go +27 -27
  341. package/native/core/factories/ExpressionFactory.go +357 -357
  342. package/native/core/factories/FormatCheatSheet.go +30 -30
  343. package/native/core/factories/IdentifierFactory.go +172 -172
  344. package/native/core/factories/JsonMetadataFactory.go +154 -154
  345. package/native/core/factories/LiteralFactory.go +319 -282
  346. package/native/core/factories/MetadataCommentTagFactory.go +446 -446
  347. package/native/core/factories/MetadataFactory.go +543 -543
  348. package/native/core/factories/MetadataTypeTagFactory.go +560 -560
  349. package/native/core/factories/MetadataTypeTagSchemaFactory.go +117 -117
  350. package/native/core/factories/NumericRangeFactory.go +132 -132
  351. package/native/core/factories/ProtobufFactory.go +1090 -1090
  352. package/native/core/factories/StatementFactory.go +114 -114
  353. package/native/core/factories/TemplateFactory.go +82 -82
  354. package/native/core/factories/TypeFactory.go +176 -176
  355. package/native/core/factories/ValueFactory.go +43 -43
  356. package/native/core/factories/factory_utility_coverage_test.go +1006 -1006
  357. package/native/core/factories/index.go +1 -1
  358. package/native/core/factories/internal/metadata/IMetadataIteratorProps.go +70 -70
  359. package/native/core/factories/internal/metadata/MetadataHelper.go +425 -425
  360. package/native/core/factories/internal/metadata/comment_tags_coverage_test.go +184 -184
  361. package/native/core/factories/internal/metadata/emend_metadata_atomics.go +80 -80
  362. package/native/core/factories/internal/metadata/emplace_metadata_alias.go +41 -41
  363. package/native/core/factories/internal/metadata/emplace_metadata_array_type.go +44 -44
  364. package/native/core/factories/internal/metadata/emplace_metadata_object.go +599 -599
  365. package/native/core/factories/internal/metadata/emplace_metadata_tuple.go +69 -69
  366. package/native/core/factories/internal/metadata/explore_metadata.go +75 -75
  367. package/native/core/factories/internal/metadata/iterate_metadata.go +55 -55
  368. package/native/core/factories/internal/metadata/iterate_metadata_alias.go +36 -36
  369. package/native/core/factories/internal/metadata/iterate_metadata_array.go +77 -77
  370. package/native/core/factories/internal/metadata/iterate_metadata_atomic.go +63 -63
  371. package/native/core/factories/internal/metadata/iterate_metadata_coalesce.go +30 -30
  372. package/native/core/factories/internal/metadata/iterate_metadata_collection.go +366 -366
  373. package/native/core/factories/internal/metadata/iterate_metadata_collection_branch_matrix_test.go +201 -201
  374. package/native/core/factories/internal/metadata/iterate_metadata_comment_tags.go +34 -34
  375. package/native/core/factories/internal/metadata/iterate_metadata_constant.go +139 -139
  376. package/native/core/factories/internal/metadata/iterate_metadata_escape.go +56 -56
  377. package/native/core/factories/internal/metadata/iterate_metadata_function.go +93 -93
  378. package/native/core/factories/internal/metadata/iterate_metadata_intersection.go +1054 -1054
  379. package/native/core/factories/internal/metadata/iterate_metadata_intersection_brand_coverage_test.go +114 -114
  380. package/native/core/factories/internal/metadata/iterate_metadata_intersection_coverage_test.go +106 -106
  381. package/native/core/factories/internal/metadata/iterate_metadata_intersection_shareable_name_test.go +22 -22
  382. package/native/core/factories/internal/metadata/iterate_metadata_map.go +55 -55
  383. package/native/core/factories/internal/metadata/iterate_metadata_native.go +122 -122
  384. package/native/core/factories/internal/metadata/iterate_metadata_object.go +35 -35
  385. package/native/core/factories/internal/metadata/iterate_metadata_set.go +41 -41
  386. package/native/core/factories/internal/metadata/iterate_metadata_sort.go +202 -202
  387. package/native/core/factories/internal/metadata/iterate_metadata_template.go +41 -41
  388. package/native/core/factories/internal/metadata/iterate_metadata_tuple.go +24 -24
  389. package/native/core/factories/internal/metadata/iterate_metadata_union.go +40 -40
  390. package/native/core/factories/internal/metadata/js_doc_parameter_name_reads_qualified_name_test.go +55 -55
  391. package/native/core/factories/internal/metadata/optional_coalesce_coverage_test.go +38 -38
  392. package/native/core/factories/internal/metadata/sort_constants_coverage_test.go +63 -63
  393. package/native/core/factories/json_metadata_factory_dedupes_bigint_diagnostics_test.go +36 -36
  394. package/native/core/factories/json_metadata_factory_rejects_bigint_native_test.go +29 -29
  395. package/native/core/factories/literal_factory_ordered_object_marshals_json_test.go +40 -0
  396. package/native/core/factories/metadata_comment_tag_factory_coverage_test.go +239 -239
  397. package/native/core/factories/protobuf_factory_rejects_invalid_field_names_test.go +75 -75
  398. package/native/core/index.go +1 -1
  399. package/native/core/programmers/AssertProgrammer.go +511 -511
  400. package/native/core/programmers/IsProgrammer.go +418 -419
  401. package/native/core/programmers/RandomProgrammer.go +1448 -1448
  402. package/native/core/programmers/ValidateProgrammer.go +488 -488
  403. package/native/core/programmers/compare/CompareEqualProgrammer.go +668 -668
  404. package/native/core/programmers/compare/CompareLessProgrammer.go +489 -489
  405. package/native/core/programmers/functional/FunctionalAssertFunctionProgrammer.go +172 -172
  406. package/native/core/programmers/functional/FunctionalAssertParametersProgrammer.go +135 -135
  407. package/native/core/programmers/functional/FunctionalAssertReturnProgrammer.go +131 -131
  408. package/native/core/programmers/functional/FunctionalIsFunctionProgrammer.go +106 -106
  409. package/native/core/programmers/functional/FunctionalIsParametersProgrammer.go +222 -222
  410. package/native/core/programmers/functional/FunctionalIsReturnProgrammer.go +129 -129
  411. package/native/core/programmers/functional/FunctionalValidateFunctionProgrammer.go +172 -172
  412. package/native/core/programmers/functional/FunctionalValidateParametersProgrammer.go +252 -252
  413. package/native/core/programmers/functional/FunctionalValidateReturnProgrammer.go +147 -147
  414. package/native/core/programmers/functional/functional_assert_helper_coverage_test.go +26 -26
  415. package/native/core/programmers/functional/index.go +1 -1
  416. package/native/core/programmers/functional/internal/FunctionalGeneralProgrammer.go +53 -53
  417. package/native/core/programmers/helpers/AtomicPredicator.go +75 -75
  418. package/native/core/programmers/helpers/ClassifyJoiner.go +174 -174
  419. package/native/core/programmers/helpers/CloneJoiner.go +307 -307
  420. package/native/core/programmers/helpers/FunctionProgrammer.go +218 -218
  421. package/native/core/programmers/helpers/HttpMetadataUtil.go +30 -30
  422. package/native/core/programmers/helpers/ICheckEntry.go +14 -14
  423. package/native/core/programmers/helpers/IExpressionEntry.go +15 -15
  424. package/native/core/programmers/helpers/ModuloText.go +26 -26
  425. package/native/core/programmers/helpers/NotationJoiner.go +204 -204
  426. package/native/core/programmers/helpers/OptionPredicator.go +39 -39
  427. package/native/core/programmers/helpers/ProtobufUtil.go +273 -273
  428. package/native/core/programmers/helpers/ProtobufWire.go +14 -14
  429. package/native/core/programmers/helpers/PruneJoiner.go +290 -290
  430. package/native/core/programmers/helpers/RandomJoiner.go +805 -805
  431. package/native/core/programmers/helpers/StringifyJoinder.go +409 -409
  432. package/native/core/programmers/helpers/StringifyPredicator.go +25 -25
  433. package/native/core/programmers/helpers/UnionExplorer.go +966 -966
  434. package/native/core/programmers/helpers/UnionPredicator.go +92 -92
  435. package/native/core/programmers/helpers/clone_joiner_optional_condition_test.go +70 -70
  436. package/native/core/programmers/helpers/disable_function_programmer_declare.go +10 -10
  437. package/native/core/programmers/helpers/function_programmer_unique_names_test.go +54 -54
  438. package/native/core/programmers/helpers/joiner_branch_coverage_test.go +147 -147
  439. package/native/core/programmers/helpers/random_joiner_recursive_array_guard_test.go +166 -166
  440. package/native/core/programmers/helpers/union_explorer_coverage_test.go +135 -135
  441. package/native/core/programmers/helpers/union_predicator_checks_neighbor_flag_test.go +34 -34
  442. package/native/core/programmers/helpers/union_predicator_skips_atomic_like_native_fields_test.go +65 -65
  443. package/native/core/programmers/helpers/union_predicator_skips_collection_bucket_fields_test.go +72 -72
  444. package/native/core/programmers/helpers/union_predicator_skips_shared_native_names_test.go +239 -239
  445. package/native/core/programmers/helpers/union_predicator_skips_shared_object_fields_test.go +43 -43
  446. package/native/core/programmers/helpers/union_predicator_skips_shared_template_fields_test.go +57 -57
  447. package/native/core/programmers/http/HttpAssertFormDataProgrammer.go +116 -116
  448. package/native/core/programmers/http/HttpAssertHeadersProgrammer.go +59 -59
  449. package/native/core/programmers/http/HttpAssertQueryProgrammer.go +71 -71
  450. package/native/core/programmers/http/HttpFormDataProgrammer.go +416 -416
  451. package/native/core/programmers/http/HttpHeadersProgrammer.go +428 -428
  452. package/native/core/programmers/http/HttpIsFormDataProgrammer.go +142 -142
  453. package/native/core/programmers/http/HttpIsHeadersProgrammer.go +53 -53
  454. package/native/core/programmers/http/HttpIsQueryProgrammer.go +65 -65
  455. package/native/core/programmers/http/HttpParameterProgrammer.go +190 -190
  456. package/native/core/programmers/http/HttpQueryProgrammer.go +484 -484
  457. package/native/core/programmers/http/HttpValidateFormDataProgrammer.go +110 -110
  458. package/native/core/programmers/http/HttpValidateHeadersProgrammer.go +56 -56
  459. package/native/core/programmers/http/HttpValidateQueryProgrammer.go +68 -68
  460. package/native/core/programmers/http/http_programmer_helper_coverage_test.go +120 -120
  461. package/native/core/programmers/http/index.go +1 -1
  462. package/native/core/programmers/index.go +1 -1
  463. package/native/core/programmers/internal/CheckerProgrammer.go +2064 -2064
  464. package/native/core/programmers/internal/FeatureProgrammer.go +1361 -1361
  465. package/native/core/programmers/internal/feature_programmer_visit_guard_test.go +70 -70
  466. package/native/core/programmers/internal/internal_utility_coverage_test.go +384 -384
  467. package/native/core/programmers/iterate/check_array_length.go +64 -64
  468. package/native/core/programmers/iterate/check_bigint.go +78 -78
  469. package/native/core/programmers/iterate/check_dynamic_key.go +271 -271
  470. package/native/core/programmers/iterate/check_dynamic_key_tag_rows_test.go +46 -46
  471. package/native/core/programmers/iterate/check_dynamic_properties.go +292 -292
  472. package/native/core/programmers/iterate/check_everything.go +33 -33
  473. package/native/core/programmers/iterate/check_exclude.go +88 -88
  474. package/native/core/programmers/iterate/check_native.go +38 -38
  475. package/native/core/programmers/iterate/check_number.go +180 -180
  476. package/native/core/programmers/iterate/check_object.go +113 -113
  477. package/native/core/programmers/iterate/check_object_strict_optional_undefined_test.go +74 -74
  478. package/native/core/programmers/iterate/check_object_type_tags.go +64 -64
  479. package/native/core/programmers/iterate/check_string.go +78 -78
  480. package/native/core/programmers/iterate/check_template.go +346 -346
  481. package/native/core/programmers/iterate/check_union_array_like.go +422 -422
  482. package/native/core/programmers/iterate/decode_union_object.go +157 -157
  483. package/native/core/programmers/iterate/feature_object_entries.go +188 -188
  484. package/native/core/programmers/iterate/iterate_check_coverage_test.go +178 -178
  485. package/native/core/programmers/iterate/iterate_utility_coverage_test.go +302 -302
  486. package/native/core/programmers/iterate/json_schema_alias.go +62 -62
  487. package/native/core/programmers/iterate/json_schema_array.go +66 -66
  488. package/native/core/programmers/iterate/json_schema_bigint.go +17 -17
  489. package/native/core/programmers/iterate/json_schema_boolean.go +17 -17
  490. package/native/core/programmers/iterate/json_schema_constant.go +53 -53
  491. package/native/core/programmers/iterate/json_schema_description.go +21 -21
  492. package/native/core/programmers/iterate/json_schema_discriminator.go +57 -57
  493. package/native/core/programmers/iterate/json_schema_escaped.go +68 -68
  494. package/native/core/programmers/iterate/json_schema_jsDocTags.go +48 -48
  495. package/native/core/programmers/iterate/json_schema_native.go +106 -106
  496. package/native/core/programmers/iterate/json_schema_number.go +17 -17
  497. package/native/core/programmers/iterate/json_schema_object.go +187 -184
  498. package/native/core/programmers/iterate/json_schema_plugin.go +47 -47
  499. package/native/core/programmers/iterate/json_schema_station.go +251 -251
  500. package/native/core/programmers/iterate/json_schema_string.go +17 -17
  501. package/native/core/programmers/iterate/json_schema_template.go +63 -63
  502. package/native/core/programmers/iterate/json_schema_title.go +25 -25
  503. package/native/core/programmers/iterate/json_schema_tuple.go +41 -41
  504. package/native/core/programmers/iterate/metadata_to_pattern.go +64 -64
  505. package/native/core/programmers/iterate/postfix_of_tuple.go +12 -12
  506. package/native/core/programmers/iterate/prune_object_properties.go +105 -105
  507. package/native/core/programmers/iterate/stringify_dynamic_properties.go +219 -219
  508. package/native/core/programmers/iterate/stringify_native.go +14 -14
  509. package/native/core/programmers/iterate/stringify_regular_properties.go +112 -112
  510. package/native/core/programmers/iterate/template_interpolation_tags_test.go +495 -495
  511. package/native/core/programmers/iterate/template_runtime_pattern.go +262 -262
  512. package/native/core/programmers/iterate/template_to_pattern.go +29 -29
  513. package/native/core/programmers/iterate/wrap_metadata_rest_tuple.go +23 -23
  514. package/native/core/programmers/json/JsonApplicationProgrammer.go +380 -380
  515. package/native/core/programmers/json/JsonAssertParseProgrammer.go +115 -115
  516. package/native/core/programmers/json/JsonAssertStringifyProgrammer.go +108 -108
  517. package/native/core/programmers/json/JsonIsParseProgrammer.go +162 -162
  518. package/native/core/programmers/json/JsonIsStringifyProgrammer.go +113 -113
  519. package/native/core/programmers/json/JsonSchemaProgrammer.go +94 -94
  520. package/native/core/programmers/json/JsonSchemasProgrammer.go +142 -142
  521. package/native/core/programmers/json/JsonStringifyProgrammer.go +1528 -1508
  522. package/native/core/programmers/json/JsonValidateParseProgrammer.go +105 -105
  523. package/native/core/programmers/json/JsonValidateStringifyProgrammer.go +126 -126
  524. package/native/core/programmers/json/index.go +1 -1
  525. package/native/core/programmers/json/json_schema_programmer_coverage_test.go +198 -198
  526. package/native/core/programmers/json/json_schemas_programmer_dedupes_bigint_diagnostics_test.go +37 -37
  527. package/native/core/programmers/json/json_schemas_programmer_rejects_bigint_native_test.go +29 -29
  528. package/native/core/programmers/json/json_stringify_programmer_coverage_test.go +422 -422
  529. package/native/core/programmers/llm/LlmApplicationProgrammer.go +526 -526
  530. package/native/core/programmers/llm/LlmCoerceProgrammer.go +109 -109
  531. package/native/core/programmers/llm/LlmControllerProgrammer.go +51 -51
  532. package/native/core/programmers/llm/LlmMetadataFactory.go +89 -89
  533. package/native/core/programmers/llm/LlmParametersProgrammer.go +141 -141
  534. package/native/core/programmers/llm/LlmParseProgrammer.go +121 -121
  535. package/native/core/programmers/llm/LlmSchemaProgrammer.go +902 -846
  536. package/native/core/programmers/llm/LlmStructuredOutputProgrammer.go +147 -147
  537. package/native/core/programmers/llm/index.go +1 -1
  538. package/native/core/programmers/llm/llm_application_programmer_coverage_test.go +166 -166
  539. package/native/core/programmers/llm/llm_schema_programmer_coverage_test.go +282 -282
  540. package/native/core/programmers/llm/llm_schema_programmer_dedupes_bigint_diagnostics_test.go +38 -38
  541. package/native/core/programmers/llm/llm_schema_programmer_rejects_bigint_native_test.go +30 -30
  542. package/native/core/programmers/llm/llm_schema_programmer_rejects_exclude_tag_in_strict_test.go +52 -52
  543. package/native/core/programmers/notations/NotationAssertGeneralProgrammer.go +107 -107
  544. package/native/core/programmers/notations/NotationGeneralProgrammer.go +1441 -1441
  545. package/native/core/programmers/notations/NotationIsGeneralProgrammer.go +112 -112
  546. package/native/core/programmers/notations/NotationValidateGeneralProgrammer.go +131 -131
  547. package/native/core/programmers/notations/index.go +1 -1
  548. package/native/core/programmers/notations/notation_general_helpers_test.go +395 -395
  549. package/native/core/programmers/notations/notation_general_programmer_snake_prefix_test.go +44 -44
  550. package/native/core/programmers/plain/PlainAssertClassifyProgrammer.go +111 -111
  551. package/native/core/programmers/plain/PlainAssertCloneProgrammer.go +102 -102
  552. package/native/core/programmers/plain/PlainAssertPruneProgrammer.go +117 -117
  553. package/native/core/programmers/plain/PlainClassifyProgrammer.go +2205 -2205
  554. package/native/core/programmers/plain/PlainCloneProgrammer.go +1254 -1254
  555. package/native/core/programmers/plain/PlainIsCloneProgrammer.go +117 -117
  556. package/native/core/programmers/plain/PlainIsPruneProgrammer.go +106 -106
  557. package/native/core/programmers/plain/PlainPruneProgrammer.go +837 -837
  558. package/native/core/programmers/plain/PlainValidateClassifyProgrammer.go +127 -127
  559. package/native/core/programmers/plain/PlainValidateCloneProgrammer.go +123 -123
  560. package/native/core/programmers/plain/PlainValidatePruneProgrammer.go +114 -114
  561. package/native/core/programmers/plain/index.go +1 -1
  562. package/native/core/programmers/plain/plain_programmer_helper_coverage_test.go +284 -284
  563. package/native/core/programmers/plain/plain_prune_programmer_branch_matrix_test.go +145 -145
  564. package/native/core/programmers/programmer_direct_helper_coverage_test.go +70 -70
  565. package/native/core/programmers/protobuf/ProtobufAssertDecodeProgrammer.go +125 -125
  566. package/native/core/programmers/protobuf/ProtobufAssertEncodeProgrammer.go +143 -143
  567. package/native/core/programmers/protobuf/ProtobufDecodeProgrammer.go +861 -861
  568. package/native/core/programmers/protobuf/ProtobufEncodeProgrammer.go +1269 -1269
  569. package/native/core/programmers/protobuf/ProtobufIsDecodeProgrammer.go +122 -122
  570. package/native/core/programmers/protobuf/ProtobufIsEncodeProgrammer.go +115 -115
  571. package/native/core/programmers/protobuf/ProtobufMessageProgrammer.go +269 -269
  572. package/native/core/programmers/protobuf/ProtobufValidateDecodeProgrammer.go +111 -111
  573. package/native/core/programmers/protobuf/ProtobufValidateEncodeProgrammer.go +145 -145
  574. package/native/core/programmers/protobuf/index.go +1 -1
  575. package/native/core/programmers/protobuf/protobuf_programmer_helper_coverage_test.go +454 -454
  576. package/native/core/programmers/random_programmer_helper_coverage_test.go +367 -367
  577. package/native/core/programmers/random_programmer_min_items_tag_test.go +44 -44
  578. package/native/core/programmers/reflect/ReflectLiteralsProgrammer.go +125 -125
  579. package/native/core/schemas/index.go +1 -1
  580. package/native/core/schemas/metadata/IMetadataDictionary.go +8 -8
  581. package/native/core/schemas/metadata/IMetadataTypeTagSequence.go +53 -53
  582. package/native/core/schemas/metadata/MetadataAlias.go +36 -36
  583. package/native/core/schemas/metadata/MetadataAliasType.go +64 -64
  584. package/native/core/schemas/metadata/MetadataApplication.go +41 -41
  585. package/native/core/schemas/metadata/MetadataArray.go +36 -36
  586. package/native/core/schemas/metadata/MetadataArrayType.go +59 -59
  587. package/native/core/schemas/metadata/MetadataAtomic.go +69 -69
  588. package/native/core/schemas/metadata/MetadataCollection.go +698 -698
  589. package/native/core/schemas/metadata/MetadataComponents.go +122 -122
  590. package/native/core/schemas/metadata/MetadataConstant.go +47 -47
  591. package/native/core/schemas/metadata/MetadataConstantValue.go +97 -97
  592. package/native/core/schemas/metadata/MetadataEscaped.go +40 -40
  593. package/native/core/schemas/metadata/MetadataFunction.go +46 -46
  594. package/native/core/schemas/metadata/MetadataMap.go +45 -45
  595. package/native/core/schemas/metadata/MetadataNative.go +72 -72
  596. package/native/core/schemas/metadata/MetadataObject.go +36 -36
  597. package/native/core/schemas/metadata/MetadataObjectType.go +223 -223
  598. package/native/core/schemas/metadata/MetadataParameter.go +46 -46
  599. package/native/core/schemas/metadata/MetadataProperty.go +50 -50
  600. package/native/core/schemas/metadata/MetadataSchema.go +1485 -1485
  601. package/native/core/schemas/metadata/MetadataSet.go +41 -41
  602. package/native/core/schemas/metadata/MetadataTemplate.go +70 -70
  603. package/native/core/schemas/metadata/MetadataTuple.go +20 -20
  604. package/native/core/schemas/metadata/MetadataTupleType.go +69 -69
  605. package/native/core/schemas/metadata/index.go +1 -1
  606. package/native/core/schemas/metadata/metadata_object_type_required_literal_property_test.go +51 -51
  607. package/native/core/schemas/metadata/metadata_schema_covers_tag_matrix_test.go +125 -125
  608. package/native/core/schemas/metadata/metadata_schema_sole_literal_caches_pointer_test.go +38 -38
  609. package/native/core/schemas/metadata/schema_sequence_and_json_coverage_test.go +427 -427
  610. package/native/core/schemas/protobuf/IProtobufProperty.go +6 -6
  611. package/native/core/schemas/protobuf/IProtobufPropertyType.go +55 -55
  612. package/native/core/schemas/protobuf/IProtobufSchema.go +54 -54
  613. package/native/core/schemas/protobuf/index.go +1 -1
  614. package/native/core/schemas/protobuf/protobuf_marker_coverage_test.go +58 -58
  615. package/native/core/typings/Writable.go +5 -5
  616. package/native/core/utils/PatternUtil.go +57 -57
  617. package/native/core/utils/ProtobufNameEncoder.go +47 -47
  618. package/native/go.mod +31 -31
  619. package/native/go.sum +22 -22
  620. package/native/go.work +22 -22
  621. package/native/transform/CallExpressionTransformer.go +719 -719
  622. package/native/transform/FileTransformer.go +221 -221
  623. package/native/transform/ITransformProps.go +5 -5
  624. package/native/transform/ImportTransformer.go +285 -285
  625. package/native/transform/NodeTransformer.go +25 -25
  626. package/native/transform/TransformerError.go +11 -11
  627. package/native/transform/TypiaGenerator.go +171 -171
  628. package/native/transform/call_expression_transformer_registry_coverage_test.go +53 -53
  629. package/native/transform/call_expression_transformer_target_test.go +46 -46
  630. package/native/transform/features/AssertTransformer.go +39 -39
  631. package/native/transform/features/CreateAssertTransformer.go +39 -39
  632. package/native/transform/features/CreateIsTransformer.go +35 -35
  633. package/native/transform/features/CreateRandomTransformer.go +47 -47
  634. package/native/transform/features/CreateShallowTransformer.go +33 -33
  635. package/native/transform/features/CreateValidateTransformer.go +35 -35
  636. package/native/transform/features/IsTransformer.go +35 -35
  637. package/native/transform/features/RandomTransformer.go +54 -54
  638. package/native/transform/features/ShallowTransformer.go +65 -65
  639. package/native/transform/features/ValidateTransformer.go +35 -35
  640. package/native/transform/features/compare/CompareCoverTransformer.go +14 -14
  641. package/native/transform/features/compare/CompareCreateCoverTransformer.go +14 -14
  642. package/native/transform/features/compare/CompareCreateEqualTransformer.go +14 -14
  643. package/native/transform/features/compare/CompareCreateLessTransformer.go +14 -14
  644. package/native/transform/features/compare/CompareEqualTransformer.go +73 -73
  645. package/native/transform/features/compare/CompareLessTransformer.go +71 -71
  646. package/native/transform/features/feature_transformer_entry_coverage_test.go +59 -59
  647. package/native/transform/features/functional/FunctionalGenericTransformer.go +70 -70
  648. package/native/transform/features/http/CreateHttpAssertFormDataTransformer.go +22 -22
  649. package/native/transform/features/http/CreateHttpAssertHeadersTransformer.go +22 -22
  650. package/native/transform/features/http/CreateHttpAssertQueryTransformer.go +28 -28
  651. package/native/transform/features/http/CreateHttpFormDataTransformer.go +22 -22
  652. package/native/transform/features/http/CreateHttpHeadersTransformer.go +22 -22
  653. package/native/transform/features/http/CreateHttpIsFormDataTransformer.go +22 -22
  654. package/native/transform/features/http/CreateHttpIsHeadersTransformer.go +22 -22
  655. package/native/transform/features/http/CreateHttpIsQueryTransformer.go +28 -28
  656. package/native/transform/features/http/CreateHttpParameterTransformer.go +22 -22
  657. package/native/transform/features/http/CreateHttpQueryTransformer.go +28 -28
  658. package/native/transform/features/http/CreateHttpValidateFormDataTransformer.go +22 -22
  659. package/native/transform/features/http/CreateHttpValidateHeadersTransformer.go +22 -22
  660. package/native/transform/features/http/CreateHttpValidateQueryTransformer.go +28 -28
  661. package/native/transform/features/http/HttpAssertFormDataTransformer.go +22 -22
  662. package/native/transform/features/http/HttpAssertHeadersTransformer.go +22 -22
  663. package/native/transform/features/http/HttpAssertQueryTransformer.go +28 -28
  664. package/native/transform/features/http/HttpFormDataTransformer.go +22 -22
  665. package/native/transform/features/http/HttpHeadersTransformer.go +22 -22
  666. package/native/transform/features/http/HttpIsFormDataTransformer.go +22 -22
  667. package/native/transform/features/http/HttpIsHeadersTransformer.go +22 -22
  668. package/native/transform/features/http/HttpIsQueryTransformer.go +28 -28
  669. package/native/transform/features/http/HttpParameterTransformer.go +22 -22
  670. package/native/transform/features/http/HttpQueryTransformer.go +28 -28
  671. package/native/transform/features/http/HttpValidateFormDataTransformer.go +22 -22
  672. package/native/transform/features/http/HttpValidateHeadersTransformer.go +22 -22
  673. package/native/transform/features/http/HttpValidateQueryTransformer.go +28 -28
  674. package/native/transform/features/http/http_transformer_entry_coverage_test.go +65 -65
  675. package/native/transform/features/json/JsonApplicationTransformer.go +75 -75
  676. package/native/transform/features/json/JsonAssertParseTransformer.go +22 -22
  677. package/native/transform/features/json/JsonAssertStringifyTransformer.go +22 -22
  678. package/native/transform/features/json/JsonCreateAssertParseTransformer.go +22 -22
  679. package/native/transform/features/json/JsonCreateAssertStringifyTransformer.go +22 -22
  680. package/native/transform/features/json/JsonCreateIsParseTransformer.go +22 -22
  681. package/native/transform/features/json/JsonCreateIsStringifyTransformer.go +22 -22
  682. package/native/transform/features/json/JsonCreateStringifyTransformer.go +22 -22
  683. package/native/transform/features/json/JsonCreateValidateParseTransformer.go +22 -22
  684. package/native/transform/features/json/JsonCreateValidateStringifyProgrammer.go +22 -22
  685. package/native/transform/features/json/JsonIsParseTransformer.go +22 -22
  686. package/native/transform/features/json/JsonIsStringifyTransformer.go +22 -22
  687. package/native/transform/features/json/JsonSchemaTransformer.go +175 -175
  688. package/native/transform/features/json/JsonSchemasTransformer.go +109 -109
  689. package/native/transform/features/json/JsonStringifyTransformer.go +22 -22
  690. package/native/transform/features/json/JsonValidateParseTransformer.go +22 -22
  691. package/native/transform/features/json/JsonValidateStringifyTransformer.go +22 -22
  692. package/native/transform/features/json/json_transformer_entry_coverage_test.go +56 -56
  693. package/native/transform/features/llm/LlmApplicationTransformer.go +54 -54
  694. package/native/transform/features/llm/LlmCoerceTransformer.go +63 -63
  695. package/native/transform/features/llm/LlmControllerTransformer.go +59 -59
  696. package/native/transform/features/llm/LlmCreateCoerceTransformer.go +54 -54
  697. package/native/transform/features/llm/LlmCreateParseTransformer.go +54 -54
  698. package/native/transform/features/llm/LlmParametersTransformer.go +49 -49
  699. package/native/transform/features/llm/LlmParseTransformer.go +63 -63
  700. package/native/transform/features/llm/LlmSchemaTransformer.go +167 -167
  701. package/native/transform/features/llm/LlmStructuredOutputTransformer.go +55 -55
  702. package/native/transform/features/llm/llm_transformer_entry_coverage_test.go +48 -48
  703. package/native/transform/features/notations/NotationAssertGeneralTransformer.go +27 -27
  704. package/native/transform/features/notations/NotationCreateAssertGeneralTransformer.go +27 -27
  705. package/native/transform/features/notations/NotationCreateGeneralTransformer.go +27 -27
  706. package/native/transform/features/notations/NotationCreateIsGeneralTransformer.go +27 -27
  707. package/native/transform/features/notations/NotationCreateValidateGeneralTransformer.go +27 -27
  708. package/native/transform/features/notations/NotationGeneralTransformer.go +36 -36
  709. package/native/transform/features/notations/NotationIsGeneralTransformer.go +27 -27
  710. package/native/transform/features/notations/NotationValidateGeneralTransformer.go +27 -27
  711. package/native/transform/features/notations/notation_transformer_entry_coverage_test.go +58 -58
  712. package/native/transform/features/plain/PlainAssertClassifyTransformer.go +22 -22
  713. package/native/transform/features/plain/PlainAssertCloneTransformer.go +22 -22
  714. package/native/transform/features/plain/PlainAssertPruneTransformer.go +22 -22
  715. package/native/transform/features/plain/PlainClassifyTransformer.go +22 -22
  716. package/native/transform/features/plain/PlainCloneTransformer.go +22 -22
  717. package/native/transform/features/plain/PlainCreateAssertClassifyTransformer.go +22 -22
  718. package/native/transform/features/plain/PlainCreateAssertCloneTransformer.go +22 -22
  719. package/native/transform/features/plain/PlainCreateAssertPruneTransformer.go +22 -22
  720. package/native/transform/features/plain/PlainCreateClassifyTransformer.go +22 -22
  721. package/native/transform/features/plain/PlainCreateCloneTransformer.go +22 -22
  722. package/native/transform/features/plain/PlainCreateIsCloneTransformer.go +22 -22
  723. package/native/transform/features/plain/PlainCreateIsPruneTransformer.go +22 -22
  724. package/native/transform/features/plain/PlainCreatePruneTransformer.go +22 -22
  725. package/native/transform/features/plain/PlainCreateValidateClassifyTransformer.go +22 -22
  726. package/native/transform/features/plain/PlainCreateValidateCloneTransformer.go +22 -22
  727. package/native/transform/features/plain/PlainCreateValidatePruneTransformer.go +22 -22
  728. package/native/transform/features/plain/PlainIsCloneTransformer.go +22 -22
  729. package/native/transform/features/plain/PlainIsPruneTransformer.go +22 -22
  730. package/native/transform/features/plain/PlainPruneTransformer.go +22 -22
  731. package/native/transform/features/plain/PlainValidateClassifyTransformer.go +22 -22
  732. package/native/transform/features/plain/PlainValidateCloneTransformer.go +22 -22
  733. package/native/transform/features/plain/PlainValidatePruneTransformer.go +22 -22
  734. package/native/transform/features/plain/plain_transformer_entry_coverage_test.go +61 -61
  735. package/native/transform/features/protobuf/ProtobufAssertDecodeTransformer.go +22 -22
  736. package/native/transform/features/protobuf/ProtobufAssertEncodeTransformer.go +22 -22
  737. package/native/transform/features/protobuf/ProtobufCreateAssertDecodeTransformer.go +22 -22
  738. package/native/transform/features/protobuf/ProtobufCreateAssertEncodeTransformer.go +22 -22
  739. package/native/transform/features/protobuf/ProtobufCreateDecodeTransformer.go +22 -22
  740. package/native/transform/features/protobuf/ProtobufCreateEncodeTransformer.go +22 -22
  741. package/native/transform/features/protobuf/ProtobufCreateIsDecodeTransformer.go +22 -22
  742. package/native/transform/features/protobuf/ProtobufCreateIsEncodeTransformer.go +22 -22
  743. package/native/transform/features/protobuf/ProtobufCreateValidateDecodeTransformer.go +22 -22
  744. package/native/transform/features/protobuf/ProtobufCreateValidateEncodeTransformer.go +22 -22
  745. package/native/transform/features/protobuf/ProtobufDecodeTransformer.go +22 -22
  746. package/native/transform/features/protobuf/ProtobufEncodeTransformer.go +22 -22
  747. package/native/transform/features/protobuf/ProtobufIsDecodeTransformer.go +22 -22
  748. package/native/transform/features/protobuf/ProtobufIsEncodeTransformer.go +22 -22
  749. package/native/transform/features/protobuf/ProtobufMessageTransformer.go +31 -31
  750. package/native/transform/features/protobuf/ProtobufValidateDecodeTransformer.go +22 -22
  751. package/native/transform/features/protobuf/ProtobufValidateEncodeTransformer.go +22 -22
  752. package/native/transform/features/protobuf/protobuf_transformer_entry_coverage_test.go +56 -56
  753. package/native/transform/features/reflect/ReflectLiteralsTransformer.go +32 -32
  754. package/native/transform/features/reflect/ReflectMetadataTransformer.go +73 -73
  755. package/native/transform/features/reflect/ReflectNameTransformer.go +100 -100
  756. package/native/transform/features/reflect/ReflectSchemaTransformer.go +153 -153
  757. package/native/transform/features/reflect/ReflectSchemasTransformer.go +68 -68
  758. package/native/transform/features/reflect/reflect_metadata_transformer_edge_branches_test.go +55 -55
  759. package/native/transform/features/reflect/reflect_transformer_entry_coverage_test.go +47 -47
  760. package/native/transform/file_transformer_coverage_test.go +94 -94
  761. package/native/transform/import_transformer_coverage_test.go +153 -153
  762. package/native/transform/index.go +1 -1
  763. package/native/transform/internal/GenericTransformer.go +236 -236
  764. package/native/transform/transform.go +57 -57
  765. package/native/transform/typia_generator_helpers_coverage_test.go +166 -166
  766. package/package.json +8 -15
  767. package/src/executable/TypiaGenerateWizard.ts +5 -1
  768. package/src/executable/generate/ttsc.ts +3 -4
  769. package/src/executable/typia.ts +8 -4
  770. package/src/internal/_ProtobufReader.ts +187 -187
  771. package/src/internal/_randomArray.ts +34 -34
  772. package/src/internal/_randomString.ts +30 -30
  773. package/src/re-exports.ts +8 -3
  774. package/src/transform.ts +21 -21
  775. package/lib/TypeGuardError2.mjs +0 -55
  776. package/lib/TypeGuardError2.mjs.map +0 -1
  777. package/lib/_virtual/NoTransformConfigurationError.mjs +0 -4
  778. package/lib/_virtual/NoTransformConfigurationError.mjs.map +0 -1
  779. package/lib/_virtual/TypeGuardError.mjs +0 -4
  780. package/lib/_virtual/TypeGuardError.mjs.map +0 -1
  781. package/lib/_virtual/TypiaGenerateWizard.mjs +0 -4
  782. package/lib/_virtual/TypiaGenerateWizard.mjs.map +0 -1
  783. package/lib/_virtual/_IProtobufWriter.mjs +0 -4
  784. package/lib/_virtual/_IProtobufWriter.mjs.map +0 -1
  785. package/lib/_virtual/_ProtobufReader.mjs +0 -4
  786. package/lib/_virtual/_ProtobufReader.mjs.map +0 -1
  787. package/lib/_virtual/_ProtobufSizer.mjs +0 -4
  788. package/lib/_virtual/_ProtobufSizer.mjs.map +0 -1
  789. package/lib/_virtual/_ProtobufWriter.mjs +0 -4
  790. package/lib/_virtual/_ProtobufWriter.mjs.map +0 -1
  791. package/lib/_virtual/__notationCapitalize.mjs +0 -4
  792. package/lib/_virtual/__notationCapitalize.mjs.map +0 -1
  793. package/lib/_virtual/__notationUnsnake.mjs +0 -4
  794. package/lib/_virtual/__notationUnsnake.mjs.map +0 -1
  795. package/lib/_virtual/_accessExpressionAsString.mjs +0 -4
  796. package/lib/_virtual/_accessExpressionAsString.mjs.map +0 -1
  797. package/lib/_virtual/_assertGuard.mjs +0 -4
  798. package/lib/_virtual/_assertGuard.mjs.map +0 -1
  799. package/lib/_virtual/_coerceLlmArguments.mjs +0 -4
  800. package/lib/_virtual/_coerceLlmArguments.mjs.map +0 -1
  801. package/lib/_virtual/_commander.mjs +0 -7
  802. package/lib/_virtual/_commander.mjs.map +0 -1
  803. package/lib/_virtual/_commonjsHelpers.mjs +0 -35
  804. package/lib/_virtual/_commonjsHelpers.mjs.map +0 -1
  805. package/lib/_virtual/_createStandardSchema.mjs +0 -4
  806. package/lib/_virtual/_createStandardSchema.mjs.map +0 -1
  807. package/lib/_virtual/_functionalTypeGuardErrorFactory.mjs +0 -4
  808. package/lib/_virtual/_functionalTypeGuardErrorFactory.mjs.map +0 -1
  809. package/lib/_virtual/_httpFormDataReadArray.mjs +0 -4
  810. package/lib/_virtual/_httpFormDataReadArray.mjs.map +0 -1
  811. package/lib/_virtual/_httpFormDataReadBigint.mjs +0 -4
  812. package/lib/_virtual/_httpFormDataReadBigint.mjs.map +0 -1
  813. package/lib/_virtual/_httpFormDataReadBlob.mjs +0 -4
  814. package/lib/_virtual/_httpFormDataReadBlob.mjs.map +0 -1
  815. package/lib/_virtual/_httpFormDataReadBoolean.mjs +0 -4
  816. package/lib/_virtual/_httpFormDataReadBoolean.mjs.map +0 -1
  817. package/lib/_virtual/_httpFormDataReadFile.mjs +0 -4
  818. package/lib/_virtual/_httpFormDataReadFile.mjs.map +0 -1
  819. package/lib/_virtual/_httpFormDataReadNumber.mjs +0 -4
  820. package/lib/_virtual/_httpFormDataReadNumber.mjs.map +0 -1
  821. package/lib/_virtual/_httpFormDataReadString.mjs +0 -4
  822. package/lib/_virtual/_httpFormDataReadString.mjs.map +0 -1
  823. package/lib/_virtual/_httpHeaderReadBigint.mjs +0 -4
  824. package/lib/_virtual/_httpHeaderReadBigint.mjs.map +0 -1
  825. package/lib/_virtual/_httpHeaderReadBoolean.mjs +0 -4
  826. package/lib/_virtual/_httpHeaderReadBoolean.mjs.map +0 -1
  827. package/lib/_virtual/_httpHeaderReadNumber.mjs +0 -4
  828. package/lib/_virtual/_httpHeaderReadNumber.mjs.map +0 -1
  829. package/lib/_virtual/_httpParameterReadBigint.mjs +0 -4
  830. package/lib/_virtual/_httpParameterReadBigint.mjs.map +0 -1
  831. package/lib/_virtual/_httpParameterReadBoolean.mjs +0 -4
  832. package/lib/_virtual/_httpParameterReadBoolean.mjs.map +0 -1
  833. package/lib/_virtual/_httpParameterReadNumber.mjs +0 -4
  834. package/lib/_virtual/_httpParameterReadNumber.mjs.map +0 -1
  835. package/lib/_virtual/_httpParameterReadString.mjs +0 -4
  836. package/lib/_virtual/_httpParameterReadString.mjs.map +0 -1
  837. package/lib/_virtual/_httpQueryParseURLSearchParams.mjs +0 -4
  838. package/lib/_virtual/_httpQueryParseURLSearchParams.mjs.map +0 -1
  839. package/lib/_virtual/_httpQueryReadArray.mjs +0 -4
  840. package/lib/_virtual/_httpQueryReadArray.mjs.map +0 -1
  841. package/lib/_virtual/_httpQueryReadBigint.mjs +0 -4
  842. package/lib/_virtual/_httpQueryReadBigint.mjs.map +0 -1
  843. package/lib/_virtual/_httpQueryReadBoolean.mjs +0 -4
  844. package/lib/_virtual/_httpQueryReadBoolean.mjs.map +0 -1
  845. package/lib/_virtual/_httpQueryReadNumber.mjs +0 -4
  846. package/lib/_virtual/_httpQueryReadNumber.mjs.map +0 -1
  847. package/lib/_virtual/_httpQueryReadString.mjs +0 -4
  848. package/lib/_virtual/_httpQueryReadString.mjs.map +0 -1
  849. package/lib/_virtual/_inquirer.mjs +0 -7
  850. package/lib/_virtual/_inquirer.mjs.map +0 -1
  851. package/lib/_virtual/_isBetween.mjs +0 -4
  852. package/lib/_virtual/_isBetween.mjs.map +0 -1
  853. package/lib/_virtual/_isBigintString.mjs +0 -4
  854. package/lib/_virtual/_isBigintString.mjs.map +0 -1
  855. package/lib/_virtual/_isFormatByte.mjs +0 -4
  856. package/lib/_virtual/_isFormatByte.mjs.map +0 -1
  857. package/lib/_virtual/_isFormatDate.mjs +0 -4
  858. package/lib/_virtual/_isFormatDate.mjs.map +0 -1
  859. package/lib/_virtual/_isFormatDateTime.mjs +0 -4
  860. package/lib/_virtual/_isFormatDateTime.mjs.map +0 -1
  861. package/lib/_virtual/_isFormatDuration.mjs +0 -4
  862. package/lib/_virtual/_isFormatDuration.mjs.map +0 -1
  863. package/lib/_virtual/_isFormatEmail.mjs +0 -4
  864. package/lib/_virtual/_isFormatEmail.mjs.map +0 -1
  865. package/lib/_virtual/_isFormatHostname.mjs +0 -4
  866. package/lib/_virtual/_isFormatHostname.mjs.map +0 -1
  867. package/lib/_virtual/_isFormatIdnEmail.mjs +0 -4
  868. package/lib/_virtual/_isFormatIdnEmail.mjs.map +0 -1
  869. package/lib/_virtual/_isFormatIdnHostname.mjs +0 -4
  870. package/lib/_virtual/_isFormatIdnHostname.mjs.map +0 -1
  871. package/lib/_virtual/_isFormatIpv4.mjs +0 -4
  872. package/lib/_virtual/_isFormatIpv4.mjs.map +0 -1
  873. package/lib/_virtual/_isFormatIpv6.mjs +0 -4
  874. package/lib/_virtual/_isFormatIpv6.mjs.map +0 -1
  875. package/lib/_virtual/_isFormatIri.mjs +0 -4
  876. package/lib/_virtual/_isFormatIri.mjs.map +0 -1
  877. package/lib/_virtual/_isFormatIriReference.mjs +0 -4
  878. package/lib/_virtual/_isFormatIriReference.mjs.map +0 -1
  879. package/lib/_virtual/_isFormatJsonPointer.mjs +0 -4
  880. package/lib/_virtual/_isFormatJsonPointer.mjs.map +0 -1
  881. package/lib/_virtual/_isFormatPassword.mjs +0 -4
  882. package/lib/_virtual/_isFormatPassword.mjs.map +0 -1
  883. package/lib/_virtual/_isFormatRegex.mjs +0 -4
  884. package/lib/_virtual/_isFormatRegex.mjs.map +0 -1
  885. package/lib/_virtual/_isFormatRelativeJsonPointer.mjs +0 -4
  886. package/lib/_virtual/_isFormatRelativeJsonPointer.mjs.map +0 -1
  887. package/lib/_virtual/_isFormatTime.mjs +0 -4
  888. package/lib/_virtual/_isFormatTime.mjs.map +0 -1
  889. package/lib/_virtual/_isFormatUri.mjs +0 -4
  890. package/lib/_virtual/_isFormatUri.mjs.map +0 -1
  891. package/lib/_virtual/_isFormatUriReference.mjs +0 -4
  892. package/lib/_virtual/_isFormatUriReference.mjs.map +0 -1
  893. package/lib/_virtual/_isFormatUriTemplate.mjs +0 -4
  894. package/lib/_virtual/_isFormatUriTemplate.mjs.map +0 -1
  895. package/lib/_virtual/_isFormatUrl.mjs +0 -4
  896. package/lib/_virtual/_isFormatUrl.mjs.map +0 -1
  897. package/lib/_virtual/_isFormatUuid.mjs +0 -4
  898. package/lib/_virtual/_isFormatUuid.mjs.map +0 -1
  899. package/lib/_virtual/_isTypeFloat.mjs +0 -4
  900. package/lib/_virtual/_isTypeFloat.mjs.map +0 -1
  901. package/lib/_virtual/_isTypeInt16.mjs +0 -4
  902. package/lib/_virtual/_isTypeInt16.mjs.map +0 -1
  903. package/lib/_virtual/_isTypeInt32.mjs +0 -4
  904. package/lib/_virtual/_isTypeInt32.mjs.map +0 -1
  905. package/lib/_virtual/_isTypeInt64.mjs +0 -4
  906. package/lib/_virtual/_isTypeInt64.mjs.map +0 -1
  907. package/lib/_virtual/_isTypeInt8.mjs +0 -4
  908. package/lib/_virtual/_isTypeInt8.mjs.map +0 -1
  909. package/lib/_virtual/_isTypeUint16.mjs +0 -4
  910. package/lib/_virtual/_isTypeUint16.mjs.map +0 -1
  911. package/lib/_virtual/_isTypeUint32.mjs +0 -4
  912. package/lib/_virtual/_isTypeUint32.mjs.map +0 -1
  913. package/lib/_virtual/_isTypeUint64.mjs +0 -4
  914. package/lib/_virtual/_isTypeUint64.mjs.map +0 -1
  915. package/lib/_virtual/_isTypeUint8.mjs +0 -4
  916. package/lib/_virtual/_isTypeUint8.mjs.map +0 -1
  917. package/lib/_virtual/_isUniqueItems.mjs +0 -4
  918. package/lib/_virtual/_isUniqueItems.mjs.map +0 -1
  919. package/lib/_virtual/_jsonStringifyNumber.mjs +0 -4
  920. package/lib/_virtual/_jsonStringifyNumber.mjs.map +0 -1
  921. package/lib/_virtual/_jsonStringifyRest.mjs +0 -4
  922. package/lib/_virtual/_jsonStringifyRest.mjs.map +0 -1
  923. package/lib/_virtual/_jsonStringifyString.mjs +0 -4
  924. package/lib/_virtual/_jsonStringifyString.mjs.map +0 -1
  925. package/lib/_virtual/_jsonStringifyTail.mjs +0 -4
  926. package/lib/_virtual/_jsonStringifyTail.mjs.map +0 -1
  927. package/lib/_virtual/_llmApplicationFinalize.mjs +0 -4
  928. package/lib/_virtual/_llmApplicationFinalize.mjs.map +0 -1
  929. package/lib/_virtual/_node_child_process.mjs +0 -7
  930. package/lib/_virtual/_node_child_process.mjs.map +0 -1
  931. package/lib/_virtual/_node_fs.mjs +0 -7
  932. package/lib/_virtual/_node_fs.mjs.map +0 -1
  933. package/lib/_virtual/_node_module.mjs +0 -7
  934. package/lib/_virtual/_node_module.mjs.map +0 -1
  935. package/lib/_virtual/_node_path.mjs +0 -7
  936. package/lib/_virtual/_node_path.mjs.map +0 -1
  937. package/lib/_virtual/_notationAny.mjs +0 -4
  938. package/lib/_virtual/_notationAny.mjs.map +0 -1
  939. package/lib/_virtual/_notationCamel.mjs +0 -4
  940. package/lib/_virtual/_notationCamel.mjs.map +0 -1
  941. package/lib/_virtual/_notationPascal.mjs +0 -4
  942. package/lib/_virtual/_notationPascal.mjs.map +0 -1
  943. package/lib/_virtual/_notationSnake.mjs +0 -4
  944. package/lib/_virtual/_notationSnake.mjs.map +0 -1
  945. package/lib/_virtual/_parseLlmArguments.mjs +0 -4
  946. package/lib/_virtual/_parseLlmArguments.mjs.map +0 -1
  947. package/lib/_virtual/_plainCloneAny.mjs +0 -4
  948. package/lib/_virtual/_plainCloneAny.mjs.map +0 -1
  949. package/lib/_virtual/_randexp.mjs +0 -7
  950. package/lib/_virtual/_randexp.mjs.map +0 -1
  951. package/lib/_virtual/_randomArray.mjs +0 -4
  952. package/lib/_virtual/_randomArray.mjs.map +0 -1
  953. package/lib/_virtual/_randomBigint.mjs +0 -4
  954. package/lib/_virtual/_randomBigint.mjs.map +0 -1
  955. package/lib/_virtual/_randomBoolean.mjs +0 -4
  956. package/lib/_virtual/_randomBoolean.mjs.map +0 -1
  957. package/lib/_virtual/_randomFormatByte.mjs +0 -4
  958. package/lib/_virtual/_randomFormatByte.mjs.map +0 -1
  959. package/lib/_virtual/_randomFormatDate.mjs +0 -4
  960. package/lib/_virtual/_randomFormatDate.mjs.map +0 -1
  961. package/lib/_virtual/_randomFormatDatetime.mjs +0 -4
  962. package/lib/_virtual/_randomFormatDatetime.mjs.map +0 -1
  963. package/lib/_virtual/_randomFormatDuration.mjs +0 -4
  964. package/lib/_virtual/_randomFormatDuration.mjs.map +0 -1
  965. package/lib/_virtual/_randomFormatEmail.mjs +0 -4
  966. package/lib/_virtual/_randomFormatEmail.mjs.map +0 -1
  967. package/lib/_virtual/_randomFormatHostname.mjs +0 -4
  968. package/lib/_virtual/_randomFormatHostname.mjs.map +0 -1
  969. package/lib/_virtual/_randomFormatIdnEmail.mjs +0 -4
  970. package/lib/_virtual/_randomFormatIdnEmail.mjs.map +0 -1
  971. package/lib/_virtual/_randomFormatIdnHostname.mjs +0 -4
  972. package/lib/_virtual/_randomFormatIdnHostname.mjs.map +0 -1
  973. package/lib/_virtual/_randomFormatIpv4.mjs +0 -4
  974. package/lib/_virtual/_randomFormatIpv4.mjs.map +0 -1
  975. package/lib/_virtual/_randomFormatIpv6.mjs +0 -4
  976. package/lib/_virtual/_randomFormatIpv6.mjs.map +0 -1
  977. package/lib/_virtual/_randomFormatIri.mjs +0 -4
  978. package/lib/_virtual/_randomFormatIri.mjs.map +0 -1
  979. package/lib/_virtual/_randomFormatIriReference.mjs +0 -4
  980. package/lib/_virtual/_randomFormatIriReference.mjs.map +0 -1
  981. package/lib/_virtual/_randomFormatJsonPointer.mjs +0 -4
  982. package/lib/_virtual/_randomFormatJsonPointer.mjs.map +0 -1
  983. package/lib/_virtual/_randomFormatPassword.mjs +0 -4
  984. package/lib/_virtual/_randomFormatPassword.mjs.map +0 -1
  985. package/lib/_virtual/_randomFormatRegex.mjs +0 -4
  986. package/lib/_virtual/_randomFormatRegex.mjs.map +0 -1
  987. package/lib/_virtual/_randomFormatRelativeJsonPointer.mjs +0 -4
  988. package/lib/_virtual/_randomFormatRelativeJsonPointer.mjs.map +0 -1
  989. package/lib/_virtual/_randomFormatTime.mjs +0 -4
  990. package/lib/_virtual/_randomFormatTime.mjs.map +0 -1
  991. package/lib/_virtual/_randomFormatUri.mjs +0 -4
  992. package/lib/_virtual/_randomFormatUri.mjs.map +0 -1
  993. package/lib/_virtual/_randomFormatUriReference.mjs +0 -4
  994. package/lib/_virtual/_randomFormatUriReference.mjs.map +0 -1
  995. package/lib/_virtual/_randomFormatUriTemplate.mjs +0 -4
  996. package/lib/_virtual/_randomFormatUriTemplate.mjs.map +0 -1
  997. package/lib/_virtual/_randomFormatUrl.mjs +0 -4
  998. package/lib/_virtual/_randomFormatUrl.mjs.map +0 -1
  999. package/lib/_virtual/_randomFormatUuid.mjs +0 -4
  1000. package/lib/_virtual/_randomFormatUuid.mjs.map +0 -1
  1001. package/lib/_virtual/_randomInteger.mjs +0 -4
  1002. package/lib/_virtual/_randomInteger.mjs.map +0 -1
  1003. package/lib/_virtual/_randomNumber.mjs +0 -4
  1004. package/lib/_virtual/_randomNumber.mjs.map +0 -1
  1005. package/lib/_virtual/_randomPattern.mjs +0 -4
  1006. package/lib/_virtual/_randomPattern.mjs.map +0 -1
  1007. package/lib/_virtual/_randomPick.mjs +0 -4
  1008. package/lib/_virtual/_randomPick.mjs.map +0 -1
  1009. package/lib/_virtual/_randomString.mjs +0 -4
  1010. package/lib/_virtual/_randomString.mjs.map +0 -1
  1011. package/lib/_virtual/_throwTypeGuardError.mjs +0 -4
  1012. package/lib/_virtual/_throwTypeGuardError.mjs.map +0 -1
  1013. package/lib/_virtual/_tinyglobby.mjs +0 -7
  1014. package/lib/_virtual/_tinyglobby.mjs.map +0 -1
  1015. package/lib/_virtual/_validateReport.mjs +0 -4
  1016. package/lib/_virtual/_validateReport.mjs.map +0 -1
  1017. package/lib/_virtual/compare.mjs +0 -4
  1018. package/lib/_virtual/compare.mjs.map +0 -1
  1019. package/lib/_virtual/functional.mjs +0 -4
  1020. package/lib/_virtual/functional.mjs.map +0 -1
  1021. package/lib/_virtual/http.mjs +0 -4
  1022. package/lib/_virtual/http.mjs.map +0 -1
  1023. package/lib/_virtual/index.mjs +0 -4
  1024. package/lib/_virtual/index.mjs.map +0 -1
  1025. package/lib/_virtual/json.mjs +0 -4
  1026. package/lib/_virtual/json.mjs.map +0 -1
  1027. package/lib/_virtual/llm.mjs +0 -4
  1028. package/lib/_virtual/llm.mjs.map +0 -1
  1029. package/lib/_virtual/module.mjs +0 -4
  1030. package/lib/_virtual/module.mjs.map +0 -1
  1031. package/lib/_virtual/notations.mjs +0 -4
  1032. package/lib/_virtual/notations.mjs.map +0 -1
  1033. package/lib/_virtual/plain.mjs +0 -4
  1034. package/lib/_virtual/plain.mjs.map +0 -1
  1035. package/lib/_virtual/protobuf.mjs +0 -4
  1036. package/lib/_virtual/protobuf.mjs.map +0 -1
  1037. package/lib/_virtual/re-exports.mjs +0 -4
  1038. package/lib/_virtual/re-exports.mjs.map +0 -1
  1039. package/lib/_virtual/reflect.mjs +0 -4
  1040. package/lib/_virtual/reflect.mjs.map +0 -1
  1041. package/lib/_virtual/transform.mjs +0 -4
  1042. package/lib/_virtual/transform.mjs.map +0 -1
  1043. package/lib/_virtual/ttsc.mjs +0 -4
  1044. package/lib/_virtual/ttsc.mjs.map +0 -1
  1045. package/lib/_virtual/typia.mjs +0 -4
  1046. package/lib/_virtual/typia.mjs.map +0 -1
  1047. package/lib/compare2.mjs +0 -39
  1048. package/lib/compare2.mjs.map +0 -1
  1049. package/lib/executable/TypiaGenerateWizard2.mjs +0 -719
  1050. package/lib/executable/TypiaGenerateWizard2.mjs.map +0 -1
  1051. package/lib/executable/generate/ttsc2.mjs +0 -56
  1052. package/lib/executable/generate/ttsc2.mjs.map +0 -1
  1053. package/lib/executable/typia2.mjs +0 -88
  1054. package/lib/executable/typia2.mjs.map +0 -1
  1055. package/lib/functional2.mjs +0 -99
  1056. package/lib/functional2.mjs.map +0 -1
  1057. package/lib/http2.mjs +0 -139
  1058. package/lib/http2.mjs.map +0 -1
  1059. package/lib/index2.mjs +0 -53
  1060. package/lib/index2.mjs.map +0 -1
  1061. package/lib/internal/_IProtobufWriter.mjs.map +0 -1
  1062. package/lib/internal/_IProtobufWriter2.mjs +0 -6
  1063. package/lib/internal/_IProtobufWriter2.mjs.map +0 -1
  1064. package/lib/internal/_ProtobufReader2.mjs +0 -169
  1065. package/lib/internal/_ProtobufReader2.mjs.map +0 -1
  1066. package/lib/internal/_ProtobufSizer2.mjs +0 -119
  1067. package/lib/internal/_ProtobufSizer2.mjs.map +0 -1
  1068. package/lib/internal/_ProtobufWriter2.mjs +0 -107
  1069. package/lib/internal/_ProtobufWriter2.mjs.map +0 -1
  1070. package/lib/internal/_accessExpressionAsString2.mjs +0 -49
  1071. package/lib/internal/_accessExpressionAsString2.mjs.map +0 -1
  1072. package/lib/internal/_assertGuard2.mjs +0 -20
  1073. package/lib/internal/_assertGuard2.mjs.map +0 -1
  1074. package/lib/internal/_coerceLlmArguments2.mjs +0 -11
  1075. package/lib/internal/_coerceLlmArguments2.mjs.map +0 -1
  1076. package/lib/internal/_createStandardSchema2.mjs +0 -138
  1077. package/lib/internal/_createStandardSchema2.mjs.map +0 -1
  1078. package/lib/internal/_functionalTypeGuardErrorFactory2.mjs +0 -12
  1079. package/lib/internal/_functionalTypeGuardErrorFactory2.mjs.map +0 -1
  1080. package/lib/internal/_httpFormDataReadArray2.mjs +0 -9
  1081. package/lib/internal/_httpFormDataReadArray2.mjs.map +0 -1
  1082. package/lib/internal/_httpFormDataReadBigint2.mjs +0 -23
  1083. package/lib/internal/_httpFormDataReadBigint2.mjs.map +0 -1
  1084. package/lib/internal/_httpFormDataReadBlob2.mjs +0 -15
  1085. package/lib/internal/_httpFormDataReadBlob2.mjs.map +0 -1
  1086. package/lib/internal/_httpFormDataReadBoolean2.mjs +0 -21
  1087. package/lib/internal/_httpFormDataReadBoolean2.mjs.map +0 -1
  1088. package/lib/internal/_httpFormDataReadFile2.mjs +0 -15
  1089. package/lib/internal/_httpFormDataReadFile2.mjs.map +0 -1
  1090. package/lib/internal/_httpFormDataReadNumber2.mjs +0 -19
  1091. package/lib/internal/_httpFormDataReadNumber2.mjs.map +0 -1
  1092. package/lib/internal/_httpFormDataReadString2.mjs +0 -15
  1093. package/lib/internal/_httpFormDataReadString2.mjs.map +0 -1
  1094. package/lib/internal/_httpHeaderReadBigint2.mjs +0 -17
  1095. package/lib/internal/_httpHeaderReadBigint2.mjs.map +0 -1
  1096. package/lib/internal/_httpHeaderReadBoolean2.mjs +0 -15
  1097. package/lib/internal/_httpHeaderReadBoolean2.mjs.map +0 -1
  1098. package/lib/internal/_httpHeaderReadNumber2.mjs +0 -13
  1099. package/lib/internal/_httpHeaderReadNumber2.mjs.map +0 -1
  1100. package/lib/internal/_httpParameterReadBigint2.mjs +0 -17
  1101. package/lib/internal/_httpParameterReadBigint2.mjs.map +0 -1
  1102. package/lib/internal/_httpParameterReadBoolean2.mjs +0 -15
  1103. package/lib/internal/_httpParameterReadBoolean2.mjs.map +0 -1
  1104. package/lib/internal/_httpParameterReadNumber2.mjs +0 -13
  1105. package/lib/internal/_httpParameterReadNumber2.mjs.map +0 -1
  1106. package/lib/internal/_httpParameterReadString2.mjs +0 -9
  1107. package/lib/internal/_httpParameterReadString2.mjs.map +0 -1
  1108. package/lib/internal/_httpQueryParseURLSearchParams2.mjs +0 -16
  1109. package/lib/internal/_httpQueryParseURLSearchParams2.mjs.map +0 -1
  1110. package/lib/internal/_httpQueryReadArray2.mjs +0 -9
  1111. package/lib/internal/_httpQueryReadArray2.mjs.map +0 -1
  1112. package/lib/internal/_httpQueryReadBigint2.mjs +0 -17
  1113. package/lib/internal/_httpQueryReadBigint2.mjs.map +0 -1
  1114. package/lib/internal/_httpQueryReadBoolean2.mjs +0 -19
  1115. package/lib/internal/_httpQueryReadBoolean2.mjs.map +0 -1
  1116. package/lib/internal/_httpQueryReadNumber2.mjs +0 -13
  1117. package/lib/internal/_httpQueryReadNumber2.mjs.map +0 -1
  1118. package/lib/internal/_httpQueryReadString2.mjs +0 -9
  1119. package/lib/internal/_httpQueryReadString2.mjs.map +0 -1
  1120. package/lib/internal/_isBetween2.mjs +0 -9
  1121. package/lib/internal/_isBetween2.mjs.map +0 -1
  1122. package/lib/internal/_isBigintString2.mjs +0 -17
  1123. package/lib/internal/_isBigintString2.mjs.map +0 -1
  1124. package/lib/internal/_isFormatByte2.mjs +0 -13
  1125. package/lib/internal/_isFormatByte2.mjs.map +0 -1
  1126. package/lib/internal/_isFormatDate2.mjs +0 -10
  1127. package/lib/internal/_isFormatDate2.mjs.map +0 -1
  1128. package/lib/internal/_isFormatDateTime2.mjs +0 -10
  1129. package/lib/internal/_isFormatDateTime2.mjs.map +0 -1
  1130. package/lib/internal/_isFormatDuration2.mjs +0 -10
  1131. package/lib/internal/_isFormatDuration2.mjs.map +0 -1
  1132. package/lib/internal/_isFormatEmail2.mjs +0 -10
  1133. package/lib/internal/_isFormatEmail2.mjs.map +0 -1
  1134. package/lib/internal/_isFormatHostname2.mjs +0 -10
  1135. package/lib/internal/_isFormatHostname2.mjs.map +0 -1
  1136. package/lib/internal/_isFormatIdnEmail2.mjs +0 -10
  1137. package/lib/internal/_isFormatIdnEmail2.mjs.map +0 -1
  1138. package/lib/internal/_isFormatIdnHostname2.mjs +0 -10
  1139. package/lib/internal/_isFormatIdnHostname2.mjs.map +0 -1
  1140. package/lib/internal/_isFormatIpv42.mjs +0 -10
  1141. package/lib/internal/_isFormatIpv42.mjs.map +0 -1
  1142. package/lib/internal/_isFormatIpv62.mjs +0 -10
  1143. package/lib/internal/_isFormatIpv62.mjs.map +0 -1
  1144. package/lib/internal/_isFormatIri2.mjs +0 -10
  1145. package/lib/internal/_isFormatIri2.mjs.map +0 -1
  1146. package/lib/internal/_isFormatIriReference2.mjs +0 -10
  1147. package/lib/internal/_isFormatIriReference2.mjs.map +0 -1
  1148. package/lib/internal/_isFormatJsonPointer2.mjs +0 -10
  1149. package/lib/internal/_isFormatJsonPointer2.mjs.map +0 -1
  1150. package/lib/internal/_isFormatPassword2.mjs +0 -9
  1151. package/lib/internal/_isFormatPassword2.mjs.map +0 -1
  1152. package/lib/internal/_isFormatRegex2.mjs +0 -17
  1153. package/lib/internal/_isFormatRegex2.mjs.map +0 -1
  1154. package/lib/internal/_isFormatRelativeJsonPointer2.mjs +0 -10
  1155. package/lib/internal/_isFormatRelativeJsonPointer2.mjs.map +0 -1
  1156. package/lib/internal/_isFormatTime2.mjs +0 -10
  1157. package/lib/internal/_isFormatTime2.mjs.map +0 -1
  1158. package/lib/internal/_isFormatUri2.mjs +0 -11
  1159. package/lib/internal/_isFormatUri2.mjs.map +0 -1
  1160. package/lib/internal/_isFormatUriReference2.mjs +0 -10
  1161. package/lib/internal/_isFormatUriReference2.mjs.map +0 -1
  1162. package/lib/internal/_isFormatUriTemplate2.mjs +0 -10
  1163. package/lib/internal/_isFormatUriTemplate2.mjs.map +0 -1
  1164. package/lib/internal/_isFormatUrl2.mjs +0 -10
  1165. package/lib/internal/_isFormatUrl2.mjs.map +0 -1
  1166. package/lib/internal/_isFormatUuid2.mjs +0 -10
  1167. package/lib/internal/_isFormatUuid2.mjs.map +0 -1
  1168. package/lib/internal/_isTypeFloat2.mjs +0 -11
  1169. package/lib/internal/_isTypeFloat2.mjs.map +0 -1
  1170. package/lib/internal/_isTypeInt162.mjs +0 -11
  1171. package/lib/internal/_isTypeInt162.mjs.map +0 -1
  1172. package/lib/internal/_isTypeInt322.mjs +0 -11
  1173. package/lib/internal/_isTypeInt322.mjs.map +0 -1
  1174. package/lib/internal/_isTypeInt642.mjs +0 -11
  1175. package/lib/internal/_isTypeInt642.mjs.map +0 -1
  1176. package/lib/internal/_isTypeInt82.mjs +0 -11
  1177. package/lib/internal/_isTypeInt82.mjs.map +0 -1
  1178. package/lib/internal/_isTypeUint162.mjs +0 -11
  1179. package/lib/internal/_isTypeUint162.mjs.map +0 -1
  1180. package/lib/internal/_isTypeUint322.mjs +0 -11
  1181. package/lib/internal/_isTypeUint322.mjs.map +0 -1
  1182. package/lib/internal/_isTypeUint642.mjs +0 -11
  1183. package/lib/internal/_isTypeUint642.mjs.map +0 -1
  1184. package/lib/internal/_isTypeUint82.mjs +0 -11
  1185. package/lib/internal/_isTypeUint82.mjs.map +0 -1
  1186. package/lib/internal/_isUniqueItems2.mjs +0 -143
  1187. package/lib/internal/_isUniqueItems2.mjs.map +0 -1
  1188. package/lib/internal/_jsonStringifyNumber2.mjs +0 -9
  1189. package/lib/internal/_jsonStringifyNumber2.mjs.map +0 -1
  1190. package/lib/internal/_jsonStringifyRest2.mjs +0 -11
  1191. package/lib/internal/_jsonStringifyRest2.mjs.map +0 -1
  1192. package/lib/internal/_jsonStringifyString2.mjs +0 -45
  1193. package/lib/internal/_jsonStringifyString2.mjs.map +0 -1
  1194. package/lib/internal/_jsonStringifyTail2.mjs +0 -9
  1195. package/lib/internal/_jsonStringifyTail2.mjs.map +0 -1
  1196. package/lib/internal/_llmApplicationFinalize2.mjs +0 -11
  1197. package/lib/internal/_llmApplicationFinalize2.mjs.map +0 -1
  1198. package/lib/internal/_notationAny2.mjs +0 -42
  1199. package/lib/internal/_notationAny2.mjs.map +0 -1
  1200. package/lib/internal/_notationCamel2.mjs +0 -21
  1201. package/lib/internal/_notationCamel2.mjs.map +0 -1
  1202. package/lib/internal/_notationPascal2.mjs +0 -17
  1203. package/lib/internal/_notationPascal2.mjs.map +0 -1
  1204. package/lib/internal/_notationSnake2.mjs +0 -54
  1205. package/lib/internal/_notationSnake2.mjs.map +0 -1
  1206. package/lib/internal/_parseLlmArguments2.mjs +0 -11
  1207. package/lib/internal/_parseLlmArguments2.mjs.map +0 -1
  1208. package/lib/internal/_plainCloneAny2.mjs +0 -67
  1209. package/lib/internal/_plainCloneAny2.mjs.map +0 -1
  1210. package/lib/internal/_randomArray2.mjs +0 -31
  1211. package/lib/internal/_randomArray2.mjs.map +0 -1
  1212. package/lib/internal/_randomBigint2.mjs +0 -12
  1213. package/lib/internal/_randomBigint2.mjs.map +0 -1
  1214. package/lib/internal/_randomBoolean2.mjs +0 -9
  1215. package/lib/internal/_randomBoolean2.mjs.map +0 -1
  1216. package/lib/internal/_randomFormatByte2.mjs +0 -10
  1217. package/lib/internal/_randomFormatByte2.mjs.map +0 -1
  1218. package/lib/internal/_randomFormatDate2.mjs +0 -20
  1219. package/lib/internal/_randomFormatDate2.mjs.map +0 -1
  1220. package/lib/internal/_randomFormatDatetime2.mjs +0 -18
  1221. package/lib/internal/_randomFormatDatetime2.mjs.map +0 -1
  1222. package/lib/internal/_randomFormatDuration2.mjs +0 -35
  1223. package/lib/internal/_randomFormatDuration2.mjs.map +0 -1
  1224. package/lib/internal/_randomFormatEmail2.mjs +0 -17
  1225. package/lib/internal/_randomFormatEmail2.mjs.map +0 -1
  1226. package/lib/internal/_randomFormatHostname2.mjs +0 -13
  1227. package/lib/internal/_randomFormatHostname2.mjs.map +0 -1
  1228. package/lib/internal/_randomFormatIdnEmail2.mjs +0 -12
  1229. package/lib/internal/_randomFormatIdnEmail2.mjs.map +0 -1
  1230. package/lib/internal/_randomFormatIdnHostname2.mjs +0 -12
  1231. package/lib/internal/_randomFormatIdnHostname2.mjs.map +0 -1
  1232. package/lib/internal/_randomFormatIpv42.mjs +0 -17
  1233. package/lib/internal/_randomFormatIpv42.mjs.map +0 -1
  1234. package/lib/internal/_randomFormatIpv62.mjs +0 -17
  1235. package/lib/internal/_randomFormatIpv62.mjs.map +0 -1
  1236. package/lib/internal/_randomFormatIri2.mjs +0 -12
  1237. package/lib/internal/_randomFormatIri2.mjs.map +0 -1
  1238. package/lib/internal/_randomFormatIriReference2.mjs +0 -12
  1239. package/lib/internal/_randomFormatIriReference2.mjs.map +0 -1
  1240. package/lib/internal/_randomFormatJsonPointer2.mjs +0 -13
  1241. package/lib/internal/_randomFormatJsonPointer2.mjs.map +0 -1
  1242. package/lib/internal/_randomFormatPassword2.mjs +0 -16
  1243. package/lib/internal/_randomFormatPassword2.mjs.map +0 -1
  1244. package/lib/internal/_randomFormatRegex2.mjs +0 -10
  1245. package/lib/internal/_randomFormatRegex2.mjs.map +0 -1
  1246. package/lib/internal/_randomFormatRelativeJsonPointer2.mjs +0 -16
  1247. package/lib/internal/_randomFormatRelativeJsonPointer2.mjs.map +0 -1
  1248. package/lib/internal/_randomFormatTime2.mjs +0 -19
  1249. package/lib/internal/_randomFormatTime2.mjs.map +0 -1
  1250. package/lib/internal/_randomFormatUri2.mjs +0 -12
  1251. package/lib/internal/_randomFormatUri2.mjs.map +0 -1
  1252. package/lib/internal/_randomFormatUriReference2.mjs +0 -12
  1253. package/lib/internal/_randomFormatUriReference2.mjs.map +0 -1
  1254. package/lib/internal/_randomFormatUriTemplate2.mjs +0 -12
  1255. package/lib/internal/_randomFormatUriTemplate2.mjs.map +0 -1
  1256. package/lib/internal/_randomFormatUrl2.mjs +0 -17
  1257. package/lib/internal/_randomFormatUrl2.mjs.map +0 -1
  1258. package/lib/internal/_randomFormatUuid2.mjs +0 -13
  1259. package/lib/internal/_randomFormatUuid2.mjs.map +0 -1
  1260. package/lib/internal/_randomInteger2.mjs +0 -47
  1261. package/lib/internal/_randomInteger2.mjs.map +0 -1
  1262. package/lib/internal/_randomNumber2.mjs +0 -66
  1263. package/lib/internal/_randomNumber2.mjs.map +0 -1
  1264. package/lib/internal/_randomPattern2.mjs +0 -22
  1265. package/lib/internal/_randomPattern2.mjs.map +0 -1
  1266. package/lib/internal/_randomPick2.mjs +0 -17
  1267. package/lib/internal/_randomPick2.mjs.map +0 -1
  1268. package/lib/internal/_randomString2.mjs +0 -32
  1269. package/lib/internal/_randomString2.mjs.map +0 -1
  1270. package/lib/internal/_throwTypeGuardError2.mjs +0 -14
  1271. package/lib/internal/_throwTypeGuardError2.mjs.map +0 -1
  1272. package/lib/internal/_validateReport2.mjs +0 -29
  1273. package/lib/internal/_validateReport2.mjs.map +0 -1
  1274. package/lib/internal/private/__notationCapitalize2.mjs +0 -9
  1275. package/lib/internal/private/__notationCapitalize2.mjs.map +0 -1
  1276. package/lib/internal/private/__notationUnsnake2.mjs +0 -29
  1277. package/lib/internal/private/__notationUnsnake2.mjs.map +0 -1
  1278. package/lib/json2.mjs +0 -94
  1279. package/lib/json2.mjs.map +0 -1
  1280. package/lib/llm2.mjs +0 -54
  1281. package/lib/llm2.mjs.map +0 -1
  1282. package/lib/module2.mjs +0 -185
  1283. package/lib/module2.mjs.map +0 -1
  1284. package/lib/notations2.mjs +0 -169
  1285. package/lib/notations2.mjs.map +0 -1
  1286. package/lib/plain2.mjs +0 -119
  1287. package/lib/plain2.mjs.map +0 -1
  1288. package/lib/protobuf2.mjs +0 -94
  1289. package/lib/protobuf2.mjs.map +0 -1
  1290. package/lib/re-exports.mjs.map +0 -1
  1291. package/lib/re-exports2.mjs +0 -17
  1292. package/lib/re-exports2.mjs.map +0 -1
  1293. package/lib/reflect2.mjs +0 -29
  1294. package/lib/reflect2.mjs.map +0 -1
  1295. package/lib/transform2.mjs +0 -26
  1296. package/lib/transform2.mjs.map +0 -1
  1297. package/lib/transformers/NoTransformConfigurationError2.mjs +0 -21
  1298. package/lib/transformers/NoTransformConfigurationError2.mjs.map +0 -1
@@ -1,528 +1,528 @@
1
- //go:build typia_native_internal
2
- // +build typia_native_internal
3
-
4
- package main
5
-
6
- import (
7
- "bytes"
8
- "os"
9
- "path/filepath"
10
- "runtime"
11
- "strings"
12
- "testing"
13
- )
14
-
15
- // TestTransformSyntheticEmitCoverage exercises typia transforms inside Go coverage.
16
- //
17
- // The TypeScript projects run the native backend as a separate process, so they
18
- // validate behavior but do not contribute to Go coverage profiles. This test
19
- // builds temporary TypeScript projects and calls the command entrypoints
20
- // directly, which makes transformer, adapter, and programmer code visible to
21
- // `-coverpkg`.
22
- //
23
- // 1. Create isolated temporary TypeScript projects under the native package.
24
- // 2. Transform each project's `src/main.ts` to TypeScript output in memory.
25
- // 3. Exercise JavaScript single-file output error handling for synthetic projects.
26
- // 4. Cover reflect metadata, protobuf maps, and object-union emit paths.
27
- // 5. Run build/check/project-transform command paths against the same project.
28
- func TestTransformSyntheticEmitCoverage(t *testing.T) {
29
- cases := []struct {
30
- name string
31
- source string
32
- }{
33
- {"core", transformCoverageCoreSource},
34
- {"json", transformCoverageJSONSource},
35
- {"http", transformCoverageHTTPSource},
36
- {"plain", transformCoveragePlainSource},
37
- {"functional", transformCoverageFunctionalSource},
38
- {"complex", transformCoverageComplexSource},
39
- {"protobuf", transformCoverageProtobufSource},
40
- {"reflect-metadata", transformCoverageReflectMetadataSource},
41
- }
42
- projects := map[string]string{}
43
- for _, tc := range cases {
44
- tc := tc
45
- projects[tc.name] = transformCoverageProject(t, tc.name, tc.source)
46
- t.Run(tc.name+"_ts", func(t *testing.T) {
47
- out, errText, code := transformCoverageCapture(func() int {
48
- return runTransform([]string{
49
- "--cwd", projects[tc.name],
50
- "--tsconfig", "tsconfig.json",
51
- "--file", "src/main.ts",
52
- "--output", "ts",
53
- })
54
- })
55
- if code != 0 {
56
- t.Fatalf("transform ts failed for %s: code=%d stderr=\n%s", tc.name, code, errText)
57
- }
58
- if !strings.Contains(out, "export") && !strings.Contains(out, "const") {
59
- t.Fatalf("transform ts output for %s looks empty:\n%s", tc.name, out)
60
- }
61
- })
62
- }
63
- for _, tc := range cases {
64
- tc := tc
65
- t.Run(tc.name+"_js", func(t *testing.T) {
66
- _, errText, code := transformCoverageCapture(func() int {
67
- return runTransform([]string{
68
- "--cwd", projects[tc.name],
69
- "--tsconfig", "tsconfig.json",
70
- "--file", "src/main.ts",
71
- "--output", "js",
72
- })
73
- })
74
- if code != 3 || !strings.Contains(errText, "no output produced") {
75
- t.Fatalf("transform js should report no output for %s: code=%d stderr=\n%s", tc.name, code, errText)
76
- }
77
- })
78
- }
79
- core := projects["core"]
80
- if _, errText, code := transformCoverageCapture(func() int {
81
- return runBuild([]string{
82
- "--cwd", core,
83
- "--tsconfig", "tsconfig.json",
84
- "--noEmit",
85
- "--verbose",
86
- })
87
- }); code != 0 {
88
- t.Fatalf("build check failed: code=%d stderr=\n%s", code, errText)
89
- }
90
- if out, errText, code := transformCoverageCapture(func() int {
91
- return runTransform([]string{
92
- "--cwd", core,
93
- "--tsconfig", "tsconfig.json",
94
- })
95
- }); code != 0 {
96
- t.Fatalf("project transform failed: code=%d stderr=\n%s", code, errText)
97
- } else if !strings.Contains(out, `"typescript"`) {
98
- t.Fatalf("project transform output should include TypeScript map:\n%s", out)
99
- }
100
- }
101
-
102
- func transformCoverageProject(t *testing.T, name string, source string) string {
103
- t.Helper()
104
- root := transformCoverageRepoRoot(t)
105
- base := filepath.Join(root, "packages", "typia", "native", ".tmp-ttsc-typia-tests")
106
- if err := os.MkdirAll(base, 0o755); err != nil {
107
- t.Fatalf("mkdir temp base: %v", err)
108
- }
109
- dir, err := os.MkdirTemp(base, name+"-")
110
- if err != nil {
111
- t.Fatalf("create temp fixture: %v", err)
112
- }
113
- t.Cleanup(func() {
114
- _ = os.RemoveAll(dir)
115
- })
116
- src := filepath.Join(dir, "src")
117
- if err := os.MkdirAll(src, 0o755); err != nil {
118
- t.Fatalf("mkdir fixture src: %v", err)
119
- }
120
- if err := os.WriteFile(filepath.Join(dir, "tsconfig.json"), []byte(transformCoverageTSConfig), 0o644); err != nil {
121
- t.Fatalf("write tsconfig: %v", err)
122
- }
123
- if err := os.WriteFile(filepath.Join(src, "main.ts"), []byte(source), 0o644); err != nil {
124
- t.Fatalf("write source: %v", err)
125
- }
126
- if name == "reflect-metadata" {
127
- reflectDir := filepath.Join(src, "typia", "src")
128
- if err := os.MkdirAll(reflectDir, 0o755); err != nil {
129
- t.Fatalf("mkdir reflect stub: %v", err)
130
- }
131
- if err := os.WriteFile(filepath.Join(reflectDir, "reflect.ts"), []byte(transformCoverageReflectStubSource), 0o644); err != nil {
132
- t.Fatalf("write reflect stub: %v", err)
133
- }
134
- }
135
- return dir
136
- }
137
-
138
- func transformCoverageRepoRoot(t *testing.T) string {
139
- t.Helper()
140
- _, file, _, ok := runtime.Caller(0)
141
- if !ok {
142
- t.Fatal("runtime.Caller failed")
143
- }
144
- return filepath.Clean(filepath.Join(filepath.Dir(file), "..", "..", "..", "..", ".."))
145
- }
146
-
147
- func transformCoverageCapture(run func() int) (string, string, int) {
148
- var out bytes.Buffer
149
- var err bytes.Buffer
150
- oldStdout := stdout
151
- oldStderr := stderr
152
- stdout = &out
153
- stderr = &err
154
- defer func() {
155
- stdout = oldStdout
156
- stderr = oldStderr
157
- }()
158
- code := run()
159
- return out.String(), err.String(), code
160
- }
161
-
162
- const transformCoverageTSConfig = `{
163
- "compilerOptions": {
164
- "target": "ES2022",
165
- "module": "commonjs",
166
- "moduleResolution": "bundler",
167
- "ignoreDeprecations": "6.0",
168
- "types": ["*"],
169
- "esModuleInterop": true,
170
- "strict": true,
171
- "skipLibCheck": true,
172
- "rootDir": "src",
173
- "outDir": "dist"
174
- },
175
- "include": ["src"]
176
- }
177
- `
178
-
179
- const transformCoverageCoreSource = `import typia, { tags } from "typia";
180
-
181
- interface User {
182
- id: string & tags.Format<"uuid">;
183
- age: number & tags.Type<"uint32">;
184
- name: string;
185
- active?: boolean;
186
- tags: string[];
187
- tuple: [string, number, boolean?];
188
- nested: { value: string | number | null };
189
- }
190
-
191
- export const check = (input: unknown): boolean => typia.is<User>(input);
192
- export const assertUser = (input: unknown): User => typia.assert<User>(input);
193
- export const assertGuardUser = (input: unknown): void => typia.assertGuard<User>(input);
194
- export const validateUser = (input: unknown) => typia.validate<User>(input);
195
- export const equalsUser = (input: unknown): boolean => typia.equals<User>(input);
196
- export const assertEqualsUser = (input: unknown): User => typia.assertEquals<User>(input);
197
- export const assertGuardEqualsUser = (input: unknown): void => typia.assertGuardEquals<User>(input);
198
- export const validateEqualsUser = (input: unknown) => typia.validateEquals<User>(input);
199
- export const randomUser = (): User => typia.random<User>();
200
- export const reflectName = typia.reflect.name<User>();
201
- export const reflectRegularName = typia.reflect.name<User, true>();
202
- // @ts-ignore legacy native transformer entrypoint
203
- export const metadata = typia.reflect.metadata<[User, string]>();
204
- export const schema = typia.reflect.schema<User>();
205
- export const schemas = typia.reflect.schemas<[User]>();
206
- export const createIs = typia.createIs<User>();
207
- export const createAssert = typia.createAssert<User>();
208
- export const createAssertGuard = typia.createAssertGuard<User>();
209
- export const createValidate = typia.createValidate<User>();
210
- export const createEquals = typia.createEquals<User>();
211
- export const createAssertEquals = typia.createAssertEquals<User>();
212
- export const createAssertGuardEquals = typia.createAssertGuardEquals<User>();
213
- export const createValidateEquals = typia.createValidateEquals<User>();
214
- export const createRandom = typia.createRandom<User>();
215
- `
216
-
217
- const transformCoverageJSONSource = `import typia from "typia";
218
-
219
- interface JsonUser {
220
- id: string;
221
- created_at: string;
222
- nested: Array<{ value: number | string | null }>;
223
- }
224
-
225
- export const schema = typia.json.schema<JsonUser>();
226
- export const schema30 = typia.json.schema<JsonUser, "3.0">();
227
- export const schemas = typia.json.schemas<[JsonUser]>();
228
- export const schemas30 = typia.json.schemas<[JsonUser], "3.0">();
229
- export const assertParse = (input: string) => typia.json.assertParse<JsonUser>(input);
230
- export const isParse = (input: string) => typia.json.isParse<JsonUser>(input);
231
- export const validateParse = (input: string) => typia.json.validateParse<JsonUser>(input);
232
- export const assertStringify = (input: unknown) => typia.json.assertStringify<JsonUser>(input);
233
- export const isStringify = (input: unknown) => typia.json.isStringify<JsonUser>(input);
234
- export const validateStringify = (input: unknown) => typia.json.validateStringify<JsonUser>(input);
235
- export const createStringify = typia.json.createStringify<JsonUser>();
236
- export const createAssertStringify = typia.json.createAssertStringify<JsonUser>();
237
- export const createIsStringify = typia.json.createIsStringify<JsonUser>();
238
- export const createValidateStringify = typia.json.createValidateStringify<JsonUser>();
239
- export const createIsParse = typia.json.createIsParse<JsonUser>();
240
- export const createAssertParse = typia.json.createAssertParse<JsonUser>();
241
- export const createValidateParse = typia.json.createValidateParse<JsonUser>();
242
- `
243
-
244
- const transformCoverageHTTPSource = `import typia, { tags } from "typia";
245
-
246
- interface QueryInput {
247
- id: string;
248
- limit?: number & tags.Type<"uint32">;
249
- tags?: string[];
250
- }
251
-
252
- interface HeaderInput {
253
- authorization: string;
254
- "x-request-id"?: string;
255
- }
256
-
257
- interface FormInput {
258
- title: string;
259
- count?: number;
260
- }
261
-
262
- export const assertQuery = (input: URLSearchParams) => typia.http.assertQuery<QueryInput>(input);
263
- export const isQuery = (input: URLSearchParams) => typia.http.isQuery<QueryInput>(input);
264
- export const validateQuery = (input: URLSearchParams) => typia.http.validateQuery<QueryInput>(input);
265
- export const assertHeaders = (input: Headers) => typia.http.assertHeaders<HeaderInput>(input);
266
- export const isHeaders = (input: Headers) => typia.http.isHeaders<HeaderInput>(input);
267
- export const validateHeaders = (input: Headers) => typia.http.validateHeaders<HeaderInput>(input);
268
- export const assertFormData = (input: FormData) => typia.http.assertFormData<FormInput>(input);
269
- export const isFormData = (input: FormData) => typia.http.isFormData<FormInput>(input);
270
- export const validateFormData = (input: FormData) => typia.http.validateFormData<FormInput>(input);
271
- export const createQuery = typia.http.createQuery<QueryInput>();
272
- export const createAssertQuery = typia.http.createAssertQuery<QueryInput>();
273
- export const createIsQuery = typia.http.createIsQuery<QueryInput>();
274
- export const createValidateQuery = typia.http.createValidateQuery<QueryInput>();
275
- export const createHeaders = typia.http.createHeaders<HeaderInput>();
276
- export const createAssertHeaders = typia.http.createAssertHeaders<HeaderInput>();
277
- export const createIsHeaders = typia.http.createIsHeaders<HeaderInput>();
278
- export const createValidateHeaders = typia.http.createValidateHeaders<HeaderInput>();
279
- export const createFormData = typia.http.createFormData<FormInput>();
280
- export const createAssertFormData = typia.http.createAssertFormData<FormInput>();
281
- export const createIsFormData = typia.http.createIsFormData<FormInput>();
282
- export const createValidateFormData = typia.http.createValidateFormData<FormInput>();
283
- export const createParameter = typia.http.createParameter<string | null>();
284
- `
285
-
286
- const transformCoveragePlainSource = `import typia from "typia";
287
-
288
- interface PlainUser {
289
- id: string;
290
- snake_name: string;
291
- children?: PlainUser[];
292
- }
293
-
294
- class PlainAccount {
295
- id!: string;
296
- snake_name!: string;
297
- children?: PlainAccount[];
298
- describe(): string {
299
- return this.id;
300
- }
301
- }
302
-
303
- export const clone = (input: unknown) => typia.plain.assertClone<PlainUser>(input);
304
- export const isClone = (input: unknown) => typia.plain.isClone<PlainUser>(input);
305
- export const validateClone = (input: unknown) => typia.plain.validateClone<PlainUser>(input);
306
- export const prune = (input: PlainUser) => typia.plain.assertPrune<PlainUser>(input);
307
- export const isPrune = (input: unknown) => typia.plain.isPrune<PlainUser>(input);
308
- export const validatePrune = (input: unknown) => typia.plain.validatePrune<PlainUser>(input);
309
- export const createClone = typia.plain.createClone<PlainUser>();
310
- export const createAssertClone = typia.plain.createAssertClone<PlainUser>();
311
- export const createIsClone = typia.plain.createIsClone<PlainUser>();
312
- export const createValidateClone = typia.plain.createValidateClone<PlainUser>();
313
- export const createPrune = typia.plain.createPrune<PlainUser>();
314
- export const createAssertPrune = typia.plain.createAssertPrune<PlainUser>();
315
- export const createIsPrune = typia.plain.createIsPrune<PlainUser>();
316
- export const createValidatePrune = typia.plain.createValidatePrune<PlainUser>();
317
- export const classify = (input: PlainAccount) => typia.plain.classify<PlainAccount>(input);
318
- export const assertClassify = (input: unknown) => typia.plain.assertClassify<PlainAccount>(input);
319
- export const validateClassify = (input: unknown) => typia.plain.validateClassify<PlainAccount>(input);
320
- export const createClassify = typia.plain.createClassify<PlainAccount>();
321
- export const createAssertClassify = typia.plain.createAssertClassify<PlainAccount>();
322
- export const createValidateClassify = typia.plain.createValidateClassify<PlainAccount>();
323
- export const literals = typia.reflect.literals<false | 1 | "two">();
324
- export const createCamel = typia.notations.createCamel<PlainUser>();
325
- export const createAssertCamel = typia.notations.createAssertCamel<PlainUser>();
326
- export const createIsCamel = typia.notations.createIsCamel<PlainUser>();
327
- export const createValidateCamel = typia.notations.createValidateCamel<PlainUser>();
328
- export const createPascal = typia.notations.createPascal<PlainUser>();
329
- export const createAssertPascal = typia.notations.createAssertPascal<PlainUser>();
330
- export const createIsPascal = typia.notations.createIsPascal<PlainUser>();
331
- export const createValidatePascal = typia.notations.createValidatePascal<PlainUser>();
332
- export const createSnake = typia.notations.createSnake<PlainUser>();
333
- export const createAssertSnake = typia.notations.createAssertSnake<PlainUser>();
334
- export const createIsSnake = typia.notations.createIsSnake<PlainUser>();
335
- export const createValidateSnake = typia.notations.createValidateSnake<PlainUser>();
336
- `
337
-
338
- const transformCoverageFunctionalSource = `import typia from "typia";
339
-
340
- interface Payload {
341
- id: string;
342
- count: number;
343
- }
344
-
345
- type Handler = (payload: Payload, flag?: boolean) => Promise<Payload>;
346
-
347
- const handler: Handler = async (payload) => payload;
348
- const errorFactory = (props: typia.TypeGuardError.IProps): Error => new Error(props.path);
349
-
350
- export const assertFunction = typia.functional.assertFunction<Handler>(handler, errorFactory);
351
- export const assertParameters = typia.functional.assertParameters<Handler>(handler, errorFactory);
352
- export const assertReturn = typia.functional.assertReturn<Handler>(handler, errorFactory);
353
- export const assertEqualsFunction = typia.functional.assertEqualsFunction<Handler>(handler, errorFactory);
354
- export const assertEqualsParameters = typia.functional.assertEqualsParameters<Handler>(handler, errorFactory);
355
- export const assertEqualsReturn = typia.functional.assertEqualsReturn<Handler>(handler, errorFactory);
356
- export const isFunction = typia.functional.isFunction<Handler>(handler);
357
- export const isParameters = typia.functional.isParameters<Handler>(handler);
358
- export const isReturn = typia.functional.isReturn<Handler>(handler);
359
- export const equalsFunction = typia.functional.equalsFunction<Handler>(handler);
360
- export const equalsParameters = typia.functional.equalsParameters<Handler>(handler);
361
- export const equalsReturn = typia.functional.equalsReturn<Handler>(handler);
362
- export const validateFunction = typia.functional.validateFunction<Handler>(handler);
363
- export const validateParameters = typia.functional.validateParameters<Handler>(handler);
364
- export const validateReturn = typia.functional.validateReturn<Handler>(handler);
365
- export const validateEqualsFunction = typia.functional.validateEqualsFunction<Handler>(handler);
366
- export const validateEqualsParameters = typia.functional.validateEqualsParameters<Handler>(handler);
367
- export const validateEqualsReturn = typia.functional.validateEqualsReturn<Handler>(handler);
368
- `
369
-
370
- const transformCoverageComplexSource = `import typia, { tags } from "typia";
371
-
372
- type Code = ` + "`code-${number}-${string}`" + `;
373
- type ObjectIntersection = { left: string } & { right: number };
374
- type OptionalIntersection = { optional?: string } & { required: number };
375
- type TaggedString = string & tags.Format<"uuid">;
376
- type TaggedNumber = number & tags.Minimum<1> & tags.Maximum<10>;
377
- type TaggedArray = Array<string> & tags.MinItems<1> & tags.MaxItems<4>;
378
- type TaggedLiteral = "alpha" & tags.JsonSchemaPlugin<{ "x-literal": "alpha" }>;
379
- type TaggedTemplate = ` + "`item-${number}`" + ` & tags.Pattern<"^item-">;
380
- type TaggedBytes = Uint8Array & tags.JsonSchemaPlugin<{ "x-bytes": true }>;
381
- type TaggedSet = Set<string> & tags.JsonSchemaPlugin<{ "x-set": true }>;
382
- type TaggedMap = Map<string, number> & tags.JsonSchemaPlugin<{ "x-map": true }>;
383
- type TaggedObject = Nested & tags.JsonSchemaPlugin<{ "x-object": true }>;
384
-
385
- interface Nested {
386
- id: string & tags.Format<"uuid">;
387
- count: number & tags.Minimum<1> & tags.Maximum<10>;
388
- label: "alpha" | "beta" | "gamma";
389
- }
390
-
391
- interface Complex {
392
- tuple: [string, number, boolean?, ...Array<"tail">];
393
- readonlyArray: readonly Nested[];
394
- set: Set<Nested>;
395
- map: Map<string, Nested>;
396
- date: Date;
397
- bytes: Uint8Array;
398
- int16: Int16Array;
399
- float32: Float32Array;
400
- buffer: ArrayBuffer;
401
- view: DataView;
402
- pattern: RegExp;
403
- code: Code;
404
- big: bigint;
405
- dynamic: Record<string, Nested | null>;
406
- intersected: ObjectIntersection;
407
- optionalIntersected: OptionalIntersection;
408
- taggedString: TaggedString;
409
- taggedNumber: TaggedNumber;
410
- taggedArray: TaggedArray;
411
- taggedLiteral: TaggedLiteral;
412
- taggedTemplate: TaggedTemplate;
413
- taggedBytes: TaggedBytes;
414
- taggedSet: TaggedSet;
415
- taggedMap: TaggedMap;
416
- taggedObject: TaggedObject;
417
- }
418
-
419
- interface JsonComplex {
420
- tuple: [string, number, boolean, "tail"];
421
- readonlyArray: readonly Nested[];
422
- code: Code;
423
- dynamic: Record<string, Nested | null>;
424
- }
425
-
426
- export const isComplex = (input: unknown) => typia.is<Complex>(input);
427
- export const assertComplex = (input: unknown) => typia.assert<Complex>(input);
428
- export const validateComplex = (input: unknown) => typia.validate<Complex>(input);
429
- export const isObjectIntersection = (input: unknown) => typia.is<ObjectIntersection>(input);
430
- export const isOptionalIntersection = (input: unknown) => typia.is<OptionalIntersection>(input);
431
- export const isTaggedString = (input: unknown) => typia.is<TaggedString>(input);
432
- export const isTaggedNumber = (input: unknown) => typia.is<TaggedNumber>(input);
433
- export const isTaggedArray = (input: unknown) => typia.is<TaggedArray>(input);
434
- export const isTaggedLiteral = (input: unknown) => typia.is<TaggedLiteral>(input);
435
- export const isTaggedTemplate = (input: unknown) => typia.is<TaggedTemplate>(input);
436
- export const isTaggedBytes = (input: unknown) => typia.is<TaggedBytes>(input);
437
- export const isTaggedSet = (input: unknown) => typia.is<TaggedSet>(input);
438
- export const isTaggedMap = (input: unknown) => typia.is<TaggedMap>(input);
439
- export const isTaggedObject = (input: unknown) => typia.is<TaggedObject>(input);
440
- export const randomComplex = () => typia.random<Complex>();
441
- export const createRandomComplex = typia.createRandom<Complex>();
442
- export const cloneComplex = typia.plain.createClone<Complex>();
443
- export const assertCloneComplex = typia.plain.createAssertClone<Complex>();
444
- export const isCloneComplex = typia.plain.createIsClone<Complex>();
445
- export const validateCloneComplex = typia.plain.createValidateClone<Complex>();
446
- export const stringifyComplex = typia.json.createStringify<JsonComplex>();
447
- export const assertStringifyComplex = typia.json.createAssertStringify<JsonComplex>();
448
- export const isStringifyComplex = typia.json.createIsStringify<JsonComplex>();
449
- export const validateStringifyComplex = typia.json.createValidateStringify<JsonComplex>();
450
- `
451
-
452
- const transformCoverageProtobufSource = `import typia, { tags } from "typia";
453
-
454
- interface ProtoChild {
455
- id: string;
456
- flag: boolean;
457
- int32: number & tags.Type<"int32">;
458
- uint32: number & tags.Type<"uint32">;
459
- float: number & tags.Type<"float">;
460
- double: number & tags.Type<"double">;
461
- big: bigint & tags.Type<"int64">;
462
- unsignedBig: bigint & tags.Type<"uint64">;
463
- }
464
-
465
- interface ProtoAlpha {
466
- kind: "alpha";
467
- value: string;
468
- }
469
-
470
- interface ProtoBeta {
471
- kind: "beta";
472
- count: number & tags.Type<"int32">;
473
- }
474
-
475
- interface ProtoFile {
476
- name: string;
477
- children: ProtoChild[];
478
- flags: boolean[];
479
- values: Array<number & tags.Type<"float">>;
480
- lookup: Map<string, ProtoChild>;
481
- dictionary: Record<string, ProtoChild>;
482
- union: ProtoAlpha | ProtoBeta;
483
- }
484
-
485
- export const message = typia.protobuf.message<ProtoFile>();
486
- export const assertDecode = (input: Uint8Array) => typia.protobuf.assertDecode<ProtoFile>(input);
487
- export const isDecode = (input: Uint8Array) => typia.protobuf.isDecode<ProtoFile>(input);
488
- export const validateDecode = (input: Uint8Array) => typia.protobuf.validateDecode<ProtoFile>(input);
489
- export const assertEncode = (input: unknown) => typia.protobuf.assertEncode<ProtoFile>(input);
490
- export const isEncode = (input: unknown) => typia.protobuf.isEncode<ProtoFile>(input);
491
- export const validateEncode = (input: unknown) => typia.protobuf.validateEncode<ProtoFile>(input);
492
- export const createDecode = typia.protobuf.createDecode<ProtoFile>();
493
- export const createIsDecode = typia.protobuf.createIsDecode<ProtoFile>();
494
- export const createAssertDecode = typia.protobuf.createAssertDecode<ProtoFile>();
495
- export const createValidateDecode = typia.protobuf.createValidateDecode<ProtoFile>();
496
- export const createEncode = typia.protobuf.createEncode<ProtoFile>();
497
- export const createIsEncode = typia.protobuf.createIsEncode<ProtoFile>();
498
- export const createAssertEncode = typia.protobuf.createAssertEncode<ProtoFile>();
499
- export const createValidateEncode = typia.protobuf.createValidateEncode<ProtoFile>();
500
- `
501
-
502
- const transformCoverageInvalidIntersectionSource = `import typia, { tags } from "typia";
503
-
504
- type StandaloneTag = tags.Format<"uuid">;
505
- type Nonsensible = string & number;
506
- type TupleTag = [string] & tags.MinItems<1>;
507
- type WrongTarget = { value: string } & tags.Format<"uuid">;
508
-
509
- export const standaloneTag = typia.createIs<StandaloneTag>();
510
- export const nonsensible = typia.createIs<Nonsensible>();
511
- export const tupleTag = typia.createIs<TupleTag>();
512
- export const wrongTarget = typia.createIs<WrongTarget>();
513
- `
514
-
515
- const transformCoverageReflectMetadataSource = `import { metadata } from "./typia/src/reflect";
516
-
517
- interface Reflected {
518
- id: string;
519
- nested: { value: number | string };
520
- }
521
-
522
- export const reflected = metadata<[Reflected, string]>();
523
- `
524
-
525
- const transformCoverageReflectStubSource = `export function metadata<Types extends unknown[]>(): unknown {
526
- throw new Error("transform-only stub");
527
- }
528
- `
1
+ //go:build typia_native_internal
2
+ // +build typia_native_internal
3
+
4
+ package main
5
+
6
+ import (
7
+ "bytes"
8
+ "os"
9
+ "path/filepath"
10
+ "runtime"
11
+ "strings"
12
+ "testing"
13
+ )
14
+
15
+ // TestTransformSyntheticEmitCoverage exercises typia transforms inside Go coverage.
16
+ //
17
+ // The TypeScript projects run the native backend as a separate process, so they
18
+ // validate behavior but do not contribute to Go coverage profiles. This test
19
+ // builds temporary TypeScript projects and calls the command entrypoints
20
+ // directly, which makes transformer, adapter, and programmer code visible to
21
+ // `-coverpkg`.
22
+ //
23
+ // 1. Create isolated temporary TypeScript projects under the native package.
24
+ // 2. Transform each project's `src/main.ts` to TypeScript output in memory.
25
+ // 3. Exercise JavaScript single-file output error handling for synthetic projects.
26
+ // 4. Cover reflect metadata, protobuf maps, and object-union emit paths.
27
+ // 5. Run build/check/project-transform command paths against the same project.
28
+ func TestTransformSyntheticEmitCoverage(t *testing.T) {
29
+ cases := []struct {
30
+ name string
31
+ source string
32
+ }{
33
+ {"core", transformCoverageCoreSource},
34
+ {"json", transformCoverageJSONSource},
35
+ {"http", transformCoverageHTTPSource},
36
+ {"plain", transformCoveragePlainSource},
37
+ {"functional", transformCoverageFunctionalSource},
38
+ {"complex", transformCoverageComplexSource},
39
+ {"protobuf", transformCoverageProtobufSource},
40
+ {"reflect-metadata", transformCoverageReflectMetadataSource},
41
+ }
42
+ projects := map[string]string{}
43
+ for _, tc := range cases {
44
+ tc := tc
45
+ projects[tc.name] = transformCoverageProject(t, tc.name, tc.source)
46
+ t.Run(tc.name+"_ts", func(t *testing.T) {
47
+ out, errText, code := transformCoverageCapture(func() int {
48
+ return runTransform([]string{
49
+ "--cwd", projects[tc.name],
50
+ "--tsconfig", "tsconfig.json",
51
+ "--file", "src/main.ts",
52
+ "--output", "ts",
53
+ })
54
+ })
55
+ if code != 0 {
56
+ t.Fatalf("transform ts failed for %s: code=%d stderr=\n%s", tc.name, code, errText)
57
+ }
58
+ if !strings.Contains(out, "export") && !strings.Contains(out, "const") {
59
+ t.Fatalf("transform ts output for %s looks empty:\n%s", tc.name, out)
60
+ }
61
+ })
62
+ }
63
+ for _, tc := range cases {
64
+ tc := tc
65
+ t.Run(tc.name+"_js", func(t *testing.T) {
66
+ _, errText, code := transformCoverageCapture(func() int {
67
+ return runTransform([]string{
68
+ "--cwd", projects[tc.name],
69
+ "--tsconfig", "tsconfig.json",
70
+ "--file", "src/main.ts",
71
+ "--output", "js",
72
+ })
73
+ })
74
+ if code != 3 || !strings.Contains(errText, "no output produced") {
75
+ t.Fatalf("transform js should report no output for %s: code=%d stderr=\n%s", tc.name, code, errText)
76
+ }
77
+ })
78
+ }
79
+ core := projects["core"]
80
+ if _, errText, code := transformCoverageCapture(func() int {
81
+ return runBuild([]string{
82
+ "--cwd", core,
83
+ "--tsconfig", "tsconfig.json",
84
+ "--noEmit",
85
+ "--verbose",
86
+ })
87
+ }); code != 0 {
88
+ t.Fatalf("build check failed: code=%d stderr=\n%s", code, errText)
89
+ }
90
+ if out, errText, code := transformCoverageCapture(func() int {
91
+ return runTransform([]string{
92
+ "--cwd", core,
93
+ "--tsconfig", "tsconfig.json",
94
+ })
95
+ }); code != 0 {
96
+ t.Fatalf("project transform failed: code=%d stderr=\n%s", code, errText)
97
+ } else if !strings.Contains(out, `"typescript"`) {
98
+ t.Fatalf("project transform output should include TypeScript map:\n%s", out)
99
+ }
100
+ }
101
+
102
+ func transformCoverageProject(t *testing.T, name string, source string) string {
103
+ t.Helper()
104
+ root := transformCoverageRepoRoot(t)
105
+ base := filepath.Join(root, "packages", "typia", "native", ".tmp-ttsc-typia-tests")
106
+ if err := os.MkdirAll(base, 0o755); err != nil {
107
+ t.Fatalf("mkdir temp base: %v", err)
108
+ }
109
+ dir, err := os.MkdirTemp(base, name+"-")
110
+ if err != nil {
111
+ t.Fatalf("create temp fixture: %v", err)
112
+ }
113
+ t.Cleanup(func() {
114
+ _ = os.RemoveAll(dir)
115
+ })
116
+ src := filepath.Join(dir, "src")
117
+ if err := os.MkdirAll(src, 0o755); err != nil {
118
+ t.Fatalf("mkdir fixture src: %v", err)
119
+ }
120
+ if err := os.WriteFile(filepath.Join(dir, "tsconfig.json"), []byte(transformCoverageTSConfig), 0o644); err != nil {
121
+ t.Fatalf("write tsconfig: %v", err)
122
+ }
123
+ if err := os.WriteFile(filepath.Join(src, "main.ts"), []byte(source), 0o644); err != nil {
124
+ t.Fatalf("write source: %v", err)
125
+ }
126
+ if name == "reflect-metadata" {
127
+ reflectDir := filepath.Join(src, "typia", "src")
128
+ if err := os.MkdirAll(reflectDir, 0o755); err != nil {
129
+ t.Fatalf("mkdir reflect stub: %v", err)
130
+ }
131
+ if err := os.WriteFile(filepath.Join(reflectDir, "reflect.ts"), []byte(transformCoverageReflectStubSource), 0o644); err != nil {
132
+ t.Fatalf("write reflect stub: %v", err)
133
+ }
134
+ }
135
+ return dir
136
+ }
137
+
138
+ func transformCoverageRepoRoot(t *testing.T) string {
139
+ t.Helper()
140
+ _, file, _, ok := runtime.Caller(0)
141
+ if !ok {
142
+ t.Fatal("runtime.Caller failed")
143
+ }
144
+ return filepath.Clean(filepath.Join(filepath.Dir(file), "..", "..", "..", "..", ".."))
145
+ }
146
+
147
+ func transformCoverageCapture(run func() int) (string, string, int) {
148
+ var out bytes.Buffer
149
+ var err bytes.Buffer
150
+ oldStdout := stdout
151
+ oldStderr := stderr
152
+ stdout = &out
153
+ stderr = &err
154
+ defer func() {
155
+ stdout = oldStdout
156
+ stderr = oldStderr
157
+ }()
158
+ code := run()
159
+ return out.String(), err.String(), code
160
+ }
161
+
162
+ const transformCoverageTSConfig = `{
163
+ "compilerOptions": {
164
+ "target": "ES2022",
165
+ "module": "commonjs",
166
+ "moduleResolution": "bundler",
167
+ "ignoreDeprecations": "6.0",
168
+ "types": ["*"],
169
+ "esModuleInterop": true,
170
+ "strict": true,
171
+ "skipLibCheck": true,
172
+ "rootDir": "src",
173
+ "outDir": "dist"
174
+ },
175
+ "include": ["src"]
176
+ }
177
+ `
178
+
179
+ const transformCoverageCoreSource = `import typia, { tags } from "typia";
180
+
181
+ interface User {
182
+ id: string & tags.Format<"uuid">;
183
+ age: number & tags.Type<"uint32">;
184
+ name: string;
185
+ active?: boolean;
186
+ tags: string[];
187
+ tuple: [string, number, boolean?];
188
+ nested: { value: string | number | null };
189
+ }
190
+
191
+ export const check = (input: unknown): boolean => typia.is<User>(input);
192
+ export const assertUser = (input: unknown): User => typia.assert<User>(input);
193
+ export const assertGuardUser = (input: unknown): void => typia.assertGuard<User>(input);
194
+ export const validateUser = (input: unknown) => typia.validate<User>(input);
195
+ export const equalsUser = (input: unknown): boolean => typia.equals<User>(input);
196
+ export const assertEqualsUser = (input: unknown): User => typia.assertEquals<User>(input);
197
+ export const assertGuardEqualsUser = (input: unknown): void => typia.assertGuardEquals<User>(input);
198
+ export const validateEqualsUser = (input: unknown) => typia.validateEquals<User>(input);
199
+ export const randomUser = (): User => typia.random<User>();
200
+ export const reflectName = typia.reflect.name<User>();
201
+ export const reflectRegularName = typia.reflect.name<User, true>();
202
+ // @ts-ignore legacy native transformer entrypoint
203
+ export const metadata = typia.reflect.metadata<[User, string]>();
204
+ export const schema = typia.reflect.schema<User>();
205
+ export const schemas = typia.reflect.schemas<[User]>();
206
+ export const createIs = typia.createIs<User>();
207
+ export const createAssert = typia.createAssert<User>();
208
+ export const createAssertGuard = typia.createAssertGuard<User>();
209
+ export const createValidate = typia.createValidate<User>();
210
+ export const createEquals = typia.createEquals<User>();
211
+ export const createAssertEquals = typia.createAssertEquals<User>();
212
+ export const createAssertGuardEquals = typia.createAssertGuardEquals<User>();
213
+ export const createValidateEquals = typia.createValidateEquals<User>();
214
+ export const createRandom = typia.createRandom<User>();
215
+ `
216
+
217
+ const transformCoverageJSONSource = `import typia from "typia";
218
+
219
+ interface JsonUser {
220
+ id: string;
221
+ created_at: string;
222
+ nested: Array<{ value: number | string | null }>;
223
+ }
224
+
225
+ export const schema = typia.json.schema<JsonUser>();
226
+ export const schema30 = typia.json.schema<JsonUser, "3.0">();
227
+ export const schemas = typia.json.schemas<[JsonUser]>();
228
+ export const schemas30 = typia.json.schemas<[JsonUser], "3.0">();
229
+ export const assertParse = (input: string) => typia.json.assertParse<JsonUser>(input);
230
+ export const isParse = (input: string) => typia.json.isParse<JsonUser>(input);
231
+ export const validateParse = (input: string) => typia.json.validateParse<JsonUser>(input);
232
+ export const assertStringify = (input: unknown) => typia.json.assertStringify<JsonUser>(input);
233
+ export const isStringify = (input: unknown) => typia.json.isStringify<JsonUser>(input);
234
+ export const validateStringify = (input: unknown) => typia.json.validateStringify<JsonUser>(input);
235
+ export const createStringify = typia.json.createStringify<JsonUser>();
236
+ export const createAssertStringify = typia.json.createAssertStringify<JsonUser>();
237
+ export const createIsStringify = typia.json.createIsStringify<JsonUser>();
238
+ export const createValidateStringify = typia.json.createValidateStringify<JsonUser>();
239
+ export const createIsParse = typia.json.createIsParse<JsonUser>();
240
+ export const createAssertParse = typia.json.createAssertParse<JsonUser>();
241
+ export const createValidateParse = typia.json.createValidateParse<JsonUser>();
242
+ `
243
+
244
+ const transformCoverageHTTPSource = `import typia, { tags } from "typia";
245
+
246
+ interface QueryInput {
247
+ id: string;
248
+ limit?: number & tags.Type<"uint32">;
249
+ tags?: string[];
250
+ }
251
+
252
+ interface HeaderInput {
253
+ authorization: string;
254
+ "x-request-id"?: string;
255
+ }
256
+
257
+ interface FormInput {
258
+ title: string;
259
+ count?: number;
260
+ }
261
+
262
+ export const assertQuery = (input: URLSearchParams) => typia.http.assertQuery<QueryInput>(input);
263
+ export const isQuery = (input: URLSearchParams) => typia.http.isQuery<QueryInput>(input);
264
+ export const validateQuery = (input: URLSearchParams) => typia.http.validateQuery<QueryInput>(input);
265
+ export const assertHeaders = (input: Headers) => typia.http.assertHeaders<HeaderInput>(input);
266
+ export const isHeaders = (input: Headers) => typia.http.isHeaders<HeaderInput>(input);
267
+ export const validateHeaders = (input: Headers) => typia.http.validateHeaders<HeaderInput>(input);
268
+ export const assertFormData = (input: FormData) => typia.http.assertFormData<FormInput>(input);
269
+ export const isFormData = (input: FormData) => typia.http.isFormData<FormInput>(input);
270
+ export const validateFormData = (input: FormData) => typia.http.validateFormData<FormInput>(input);
271
+ export const createQuery = typia.http.createQuery<QueryInput>();
272
+ export const createAssertQuery = typia.http.createAssertQuery<QueryInput>();
273
+ export const createIsQuery = typia.http.createIsQuery<QueryInput>();
274
+ export const createValidateQuery = typia.http.createValidateQuery<QueryInput>();
275
+ export const createHeaders = typia.http.createHeaders<HeaderInput>();
276
+ export const createAssertHeaders = typia.http.createAssertHeaders<HeaderInput>();
277
+ export const createIsHeaders = typia.http.createIsHeaders<HeaderInput>();
278
+ export const createValidateHeaders = typia.http.createValidateHeaders<HeaderInput>();
279
+ export const createFormData = typia.http.createFormData<FormInput>();
280
+ export const createAssertFormData = typia.http.createAssertFormData<FormInput>();
281
+ export const createIsFormData = typia.http.createIsFormData<FormInput>();
282
+ export const createValidateFormData = typia.http.createValidateFormData<FormInput>();
283
+ export const createParameter = typia.http.createParameter<string | null>();
284
+ `
285
+
286
+ const transformCoveragePlainSource = `import typia from "typia";
287
+
288
+ interface PlainUser {
289
+ id: string;
290
+ snake_name: string;
291
+ children?: PlainUser[];
292
+ }
293
+
294
+ class PlainAccount {
295
+ id!: string;
296
+ snake_name!: string;
297
+ children?: PlainAccount[];
298
+ describe(): string {
299
+ return this.id;
300
+ }
301
+ }
302
+
303
+ export const clone = (input: unknown) => typia.plain.assertClone<PlainUser>(input);
304
+ export const isClone = (input: unknown) => typia.plain.isClone<PlainUser>(input);
305
+ export const validateClone = (input: unknown) => typia.plain.validateClone<PlainUser>(input);
306
+ export const prune = (input: PlainUser) => typia.plain.assertPrune<PlainUser>(input);
307
+ export const isPrune = (input: unknown) => typia.plain.isPrune<PlainUser>(input);
308
+ export const validatePrune = (input: unknown) => typia.plain.validatePrune<PlainUser>(input);
309
+ export const createClone = typia.plain.createClone<PlainUser>();
310
+ export const createAssertClone = typia.plain.createAssertClone<PlainUser>();
311
+ export const createIsClone = typia.plain.createIsClone<PlainUser>();
312
+ export const createValidateClone = typia.plain.createValidateClone<PlainUser>();
313
+ export const createPrune = typia.plain.createPrune<PlainUser>();
314
+ export const createAssertPrune = typia.plain.createAssertPrune<PlainUser>();
315
+ export const createIsPrune = typia.plain.createIsPrune<PlainUser>();
316
+ export const createValidatePrune = typia.plain.createValidatePrune<PlainUser>();
317
+ export const classify = (input: PlainAccount) => typia.plain.classify<PlainAccount>(input);
318
+ export const assertClassify = (input: unknown) => typia.plain.assertClassify<PlainAccount>(input);
319
+ export const validateClassify = (input: unknown) => typia.plain.validateClassify<PlainAccount>(input);
320
+ export const createClassify = typia.plain.createClassify<PlainAccount>();
321
+ export const createAssertClassify = typia.plain.createAssertClassify<PlainAccount>();
322
+ export const createValidateClassify = typia.plain.createValidateClassify<PlainAccount>();
323
+ export const literals = typia.reflect.literals<false | 1 | "two">();
324
+ export const createCamel = typia.notations.createCamel<PlainUser>();
325
+ export const createAssertCamel = typia.notations.createAssertCamel<PlainUser>();
326
+ export const createIsCamel = typia.notations.createIsCamel<PlainUser>();
327
+ export const createValidateCamel = typia.notations.createValidateCamel<PlainUser>();
328
+ export const createPascal = typia.notations.createPascal<PlainUser>();
329
+ export const createAssertPascal = typia.notations.createAssertPascal<PlainUser>();
330
+ export const createIsPascal = typia.notations.createIsPascal<PlainUser>();
331
+ export const createValidatePascal = typia.notations.createValidatePascal<PlainUser>();
332
+ export const createSnake = typia.notations.createSnake<PlainUser>();
333
+ export const createAssertSnake = typia.notations.createAssertSnake<PlainUser>();
334
+ export const createIsSnake = typia.notations.createIsSnake<PlainUser>();
335
+ export const createValidateSnake = typia.notations.createValidateSnake<PlainUser>();
336
+ `
337
+
338
+ const transformCoverageFunctionalSource = `import typia from "typia";
339
+
340
+ interface Payload {
341
+ id: string;
342
+ count: number;
343
+ }
344
+
345
+ type Handler = (payload: Payload, flag?: boolean) => Promise<Payload>;
346
+
347
+ const handler: Handler = async (payload) => payload;
348
+ const errorFactory = (props: typia.TypeGuardError.IProps): Error => new Error(props.path);
349
+
350
+ export const assertFunction = typia.functional.assertFunction<Handler>(handler, errorFactory);
351
+ export const assertParameters = typia.functional.assertParameters<Handler>(handler, errorFactory);
352
+ export const assertReturn = typia.functional.assertReturn<Handler>(handler, errorFactory);
353
+ export const assertEqualsFunction = typia.functional.assertEqualsFunction<Handler>(handler, errorFactory);
354
+ export const assertEqualsParameters = typia.functional.assertEqualsParameters<Handler>(handler, errorFactory);
355
+ export const assertEqualsReturn = typia.functional.assertEqualsReturn<Handler>(handler, errorFactory);
356
+ export const isFunction = typia.functional.isFunction<Handler>(handler);
357
+ export const isParameters = typia.functional.isParameters<Handler>(handler);
358
+ export const isReturn = typia.functional.isReturn<Handler>(handler);
359
+ export const equalsFunction = typia.functional.equalsFunction<Handler>(handler);
360
+ export const equalsParameters = typia.functional.equalsParameters<Handler>(handler);
361
+ export const equalsReturn = typia.functional.equalsReturn<Handler>(handler);
362
+ export const validateFunction = typia.functional.validateFunction<Handler>(handler);
363
+ export const validateParameters = typia.functional.validateParameters<Handler>(handler);
364
+ export const validateReturn = typia.functional.validateReturn<Handler>(handler);
365
+ export const validateEqualsFunction = typia.functional.validateEqualsFunction<Handler>(handler);
366
+ export const validateEqualsParameters = typia.functional.validateEqualsParameters<Handler>(handler);
367
+ export const validateEqualsReturn = typia.functional.validateEqualsReturn<Handler>(handler);
368
+ `
369
+
370
+ const transformCoverageComplexSource = `import typia, { tags } from "typia";
371
+
372
+ type Code = ` + "`code-${number}-${string}`" + `;
373
+ type ObjectIntersection = { left: string } & { right: number };
374
+ type OptionalIntersection = { optional?: string } & { required: number };
375
+ type TaggedString = string & tags.Format<"uuid">;
376
+ type TaggedNumber = number & tags.Minimum<1> & tags.Maximum<10>;
377
+ type TaggedArray = Array<string> & tags.MinItems<1> & tags.MaxItems<4>;
378
+ type TaggedLiteral = "alpha" & tags.JsonSchemaPlugin<{ "x-literal": "alpha" }>;
379
+ type TaggedTemplate = ` + "`item-${number}`" + ` & tags.Pattern<"^item-">;
380
+ type TaggedBytes = Uint8Array & tags.JsonSchemaPlugin<{ "x-bytes": true }>;
381
+ type TaggedSet = Set<string> & tags.JsonSchemaPlugin<{ "x-set": true }>;
382
+ type TaggedMap = Map<string, number> & tags.JsonSchemaPlugin<{ "x-map": true }>;
383
+ type TaggedObject = Nested & tags.JsonSchemaPlugin<{ "x-object": true }>;
384
+
385
+ interface Nested {
386
+ id: string & tags.Format<"uuid">;
387
+ count: number & tags.Minimum<1> & tags.Maximum<10>;
388
+ label: "alpha" | "beta" | "gamma";
389
+ }
390
+
391
+ interface Complex {
392
+ tuple: [string, number, boolean?, ...Array<"tail">];
393
+ readonlyArray: readonly Nested[];
394
+ set: Set<Nested>;
395
+ map: Map<string, Nested>;
396
+ date: Date;
397
+ bytes: Uint8Array;
398
+ int16: Int16Array;
399
+ float32: Float32Array;
400
+ buffer: ArrayBuffer;
401
+ view: DataView;
402
+ pattern: RegExp;
403
+ code: Code;
404
+ big: bigint;
405
+ dynamic: Record<string, Nested | null>;
406
+ intersected: ObjectIntersection;
407
+ optionalIntersected: OptionalIntersection;
408
+ taggedString: TaggedString;
409
+ taggedNumber: TaggedNumber;
410
+ taggedArray: TaggedArray;
411
+ taggedLiteral: TaggedLiteral;
412
+ taggedTemplate: TaggedTemplate;
413
+ taggedBytes: TaggedBytes;
414
+ taggedSet: TaggedSet;
415
+ taggedMap: TaggedMap;
416
+ taggedObject: TaggedObject;
417
+ }
418
+
419
+ interface JsonComplex {
420
+ tuple: [string, number, boolean, "tail"];
421
+ readonlyArray: readonly Nested[];
422
+ code: Code;
423
+ dynamic: Record<string, Nested | null>;
424
+ }
425
+
426
+ export const isComplex = (input: unknown) => typia.is<Complex>(input);
427
+ export const assertComplex = (input: unknown) => typia.assert<Complex>(input);
428
+ export const validateComplex = (input: unknown) => typia.validate<Complex>(input);
429
+ export const isObjectIntersection = (input: unknown) => typia.is<ObjectIntersection>(input);
430
+ export const isOptionalIntersection = (input: unknown) => typia.is<OptionalIntersection>(input);
431
+ export const isTaggedString = (input: unknown) => typia.is<TaggedString>(input);
432
+ export const isTaggedNumber = (input: unknown) => typia.is<TaggedNumber>(input);
433
+ export const isTaggedArray = (input: unknown) => typia.is<TaggedArray>(input);
434
+ export const isTaggedLiteral = (input: unknown) => typia.is<TaggedLiteral>(input);
435
+ export const isTaggedTemplate = (input: unknown) => typia.is<TaggedTemplate>(input);
436
+ export const isTaggedBytes = (input: unknown) => typia.is<TaggedBytes>(input);
437
+ export const isTaggedSet = (input: unknown) => typia.is<TaggedSet>(input);
438
+ export const isTaggedMap = (input: unknown) => typia.is<TaggedMap>(input);
439
+ export const isTaggedObject = (input: unknown) => typia.is<TaggedObject>(input);
440
+ export const randomComplex = () => typia.random<Complex>();
441
+ export const createRandomComplex = typia.createRandom<Complex>();
442
+ export const cloneComplex = typia.plain.createClone<Complex>();
443
+ export const assertCloneComplex = typia.plain.createAssertClone<Complex>();
444
+ export const isCloneComplex = typia.plain.createIsClone<Complex>();
445
+ export const validateCloneComplex = typia.plain.createValidateClone<Complex>();
446
+ export const stringifyComplex = typia.json.createStringify<JsonComplex>();
447
+ export const assertStringifyComplex = typia.json.createAssertStringify<JsonComplex>();
448
+ export const isStringifyComplex = typia.json.createIsStringify<JsonComplex>();
449
+ export const validateStringifyComplex = typia.json.createValidateStringify<JsonComplex>();
450
+ `
451
+
452
+ const transformCoverageProtobufSource = `import typia, { tags } from "typia";
453
+
454
+ interface ProtoChild {
455
+ id: string;
456
+ flag: boolean;
457
+ int32: number & tags.Type<"int32">;
458
+ uint32: number & tags.Type<"uint32">;
459
+ float: number & tags.Type<"float">;
460
+ double: number & tags.Type<"double">;
461
+ big: bigint & tags.Type<"int64">;
462
+ unsignedBig: bigint & tags.Type<"uint64">;
463
+ }
464
+
465
+ interface ProtoAlpha {
466
+ kind: "alpha";
467
+ value: string;
468
+ }
469
+
470
+ interface ProtoBeta {
471
+ kind: "beta";
472
+ count: number & tags.Type<"int32">;
473
+ }
474
+
475
+ interface ProtoFile {
476
+ name: string;
477
+ children: ProtoChild[];
478
+ flags: boolean[];
479
+ values: Array<number & tags.Type<"float">>;
480
+ lookup: Map<string, ProtoChild>;
481
+ dictionary: Record<string, ProtoChild>;
482
+ union: ProtoAlpha | ProtoBeta;
483
+ }
484
+
485
+ export const message = typia.protobuf.message<ProtoFile>();
486
+ export const assertDecode = (input: Uint8Array) => typia.protobuf.assertDecode<ProtoFile>(input);
487
+ export const isDecode = (input: Uint8Array) => typia.protobuf.isDecode<ProtoFile>(input);
488
+ export const validateDecode = (input: Uint8Array) => typia.protobuf.validateDecode<ProtoFile>(input);
489
+ export const assertEncode = (input: unknown) => typia.protobuf.assertEncode<ProtoFile>(input);
490
+ export const isEncode = (input: unknown) => typia.protobuf.isEncode<ProtoFile>(input);
491
+ export const validateEncode = (input: unknown) => typia.protobuf.validateEncode<ProtoFile>(input);
492
+ export const createDecode = typia.protobuf.createDecode<ProtoFile>();
493
+ export const createIsDecode = typia.protobuf.createIsDecode<ProtoFile>();
494
+ export const createAssertDecode = typia.protobuf.createAssertDecode<ProtoFile>();
495
+ export const createValidateDecode = typia.protobuf.createValidateDecode<ProtoFile>();
496
+ export const createEncode = typia.protobuf.createEncode<ProtoFile>();
497
+ export const createIsEncode = typia.protobuf.createIsEncode<ProtoFile>();
498
+ export const createAssertEncode = typia.protobuf.createAssertEncode<ProtoFile>();
499
+ export const createValidateEncode = typia.protobuf.createValidateEncode<ProtoFile>();
500
+ `
501
+
502
+ const transformCoverageInvalidIntersectionSource = `import typia, { tags } from "typia";
503
+
504
+ type StandaloneTag = tags.Format<"uuid">;
505
+ type Nonsensible = string & number;
506
+ type TupleTag = [string] & tags.MinItems<1>;
507
+ type WrongTarget = { value: string } & tags.Format<"uuid">;
508
+
509
+ export const standaloneTag = typia.createIs<StandaloneTag>();
510
+ export const nonsensible = typia.createIs<Nonsensible>();
511
+ export const tupleTag = typia.createIs<TupleTag>();
512
+ export const wrongTarget = typia.createIs<WrongTarget>();
513
+ `
514
+
515
+ const transformCoverageReflectMetadataSource = `import { metadata } from "./typia/src/reflect";
516
+
517
+ interface Reflected {
518
+ id: string;
519
+ nested: { value: number | string };
520
+ }
521
+
522
+ export const reflected = metadata<[Reflected, string]>();
523
+ `
524
+
525
+ const transformCoverageReflectStubSource = `export function metadata<Types extends unknown[]>(): unknown {
526
+ throw new Error("transform-only stub");
527
+ }
528
+ `