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,590 +1,590 @@
1
- package main
2
-
3
- import (
4
- "os"
5
- "os/exec"
6
- "path/filepath"
7
- "strings"
8
- "testing"
9
- )
10
-
11
- // TestIntersectionUnionValidationTransform verifies intersected unions co-operate.
12
- //
13
- // Issue #1590 combines two discriminated unions through an intersection:
14
- // `(Individual | Corporation) & ({ partyRole: "customer" } | OtherRole)`.
15
- // The validator must accept a value whose left union branch contains a native
16
- // Date and whose right union branch is selected by another discriminator. The
17
- // same fixture also pins shared-field guards and primitive/native overlap
18
- // decisions whose metadata may otherwise misroute union validation.
19
- //
20
- // 1. Transform the intersected-union fixture into JavaScript.
21
- // 2. Execute `is`, `validate`, `assert`, and direct validate entrypoints.
22
- // 3. Require valid intersection branches to pass and invalid `Date` data to
23
- // fail without depending on exact error formatting.
24
- // 4. Require invalid `other` data not to report the unrelated `"customer"`
25
- // branch, and require shared native/container fields not to misroute a
26
- // valid branch on either side.
27
- // 5. Require non-bigint inputs to fail every BigInt-typed entrypoint.
28
- func TestIntersectionUnionValidationTransform(t *testing.T) {
29
- project := intersectionUnionValidationProject(t)
30
- js := intersectionUnionValidationTransform(t, project)
31
- if !strings.Contains(js, "partyRole") || !strings.Contains(js, "Date") {
32
- t.Fatalf("intersected union validation fixture was not emitted:\n%s", js)
33
- }
34
- intersectionUnionValidationRunRuntimeCases(t, project, js)
35
- }
36
-
37
- func intersectionUnionValidationProject(t *testing.T) string {
38
- t.Helper()
39
- root := ttscTypiaTestRepoRoot(t)
40
- base := filepath.Join(root, "packages", "typia", "native", ".tmp-ttsc-typia-tests")
41
- if err := os.MkdirAll(base, 0o755); err != nil {
42
- t.Fatalf("mkdir temp base: %v", err)
43
- }
44
- dir, err := os.MkdirTemp(base, "intersection-union-")
45
- if err != nil {
46
- t.Fatalf("create temp fixture: %v", err)
47
- }
48
- t.Cleanup(func() {
49
- _ = os.RemoveAll(dir)
50
- })
51
- src := filepath.Join(dir, "src")
52
- if err := os.MkdirAll(src, 0o755); err != nil {
53
- t.Fatalf("mkdir fixture src: %v", err)
54
- }
55
- if err := os.WriteFile(filepath.Join(dir, "tsconfig.json"), []byte(intersectionUnionValidationTSConfig), 0o644); err != nil {
56
- t.Fatalf("write tsconfig: %v", err)
57
- }
58
- if err := os.WriteFile(filepath.Join(src, "main.ts"), []byte(intersectionUnionValidationSource), 0o644); err != nil {
59
- t.Fatalf("write source: %v", err)
60
- }
61
- return dir
62
- }
63
-
64
- func intersectionUnionValidationTransform(t *testing.T, project string) string {
65
- t.Helper()
66
- out, errText, code := ttscTypiaTestCapture(func() int {
67
- return runTransform([]string{
68
- "--cwd", project,
69
- "--tsconfig", "tsconfig.json",
70
- "--file", "src/main.ts",
71
- "--output", "js",
72
- })
73
- })
74
- if code != 0 {
75
- t.Fatalf("intersection union transform failed: code=%d stderr=\n%s", code, errText)
76
- }
77
- return out
78
- }
79
-
80
- func intersectionUnionValidationRunRuntimeCases(t *testing.T, project string, js string) {
81
- t.Helper()
82
- node, err := exec.LookPath("node")
83
- if err != nil {
84
- t.Skip("node executable not found")
85
- }
86
- runtimeDir := filepath.Join(project, "runtime")
87
- if err := os.MkdirAll(runtimeDir, 0o755); err != nil {
88
- t.Fatalf("mkdir runtime dir: %v", err)
89
- }
90
- ttscTypiaTestWriteCommonRuntimeStubs(t, runtimeDir)
91
- runtimeJS := ttscTypiaTestRewriteCommonJS(t, js)
92
- if err := os.WriteFile(filepath.Join(runtimeDir, "main.cjs"), []byte(runtimeJS), 0o644); err != nil {
93
- t.Fatalf("write runtime module: %v", err)
94
- }
95
- runner := filepath.Join(runtimeDir, "run.cjs")
96
- if err := os.WriteFile(runner, []byte(intersectionUnionValidationRuntimeRunner), 0o644); err != nil {
97
- t.Fatalf("write runtime runner: %v", err)
98
- }
99
- cmd := exec.Command(node, runner)
100
- cmd.Dir = runtimeDir
101
- output, err := cmd.CombinedOutput()
102
- if err != nil {
103
- t.Fatalf("intersection union runtime cases failed: %v\n%s", err, output)
104
- }
105
- }
106
-
107
- const intersectionUnionValidationTSConfig = `{
108
- "compilerOptions": {
109
- "target": "ES2022",
110
- "module": "commonjs",
111
- "moduleResolution": "bundler",
112
- "ignoreDeprecations": "6.0",
113
- "types": ["*"],
114
- "esModuleInterop": true,
115
- "strict": true,
116
- "skipLibCheck": true
117
- },
118
- "include": ["src"]
119
- }
120
- `
121
-
122
- const intersectionUnionValidationSource = `import typia from "typia";
123
-
124
- type PartyWithRole = Party & PartyRoleInfo;
125
- type Party = Individual | Corporation;
126
-
127
- interface Individual {
128
- type: "individual";
129
- birthDate: Date;
130
- }
131
-
132
- interface Corporation {
133
- type: "corporation";
134
- }
135
-
136
- type PartyRoleInfo =
137
- | {
138
- partyRole: "customer";
139
- }
140
- | {
141
- partyRole: "other";
142
- otherPartyRole: string;
143
- };
144
-
145
- export const isParty = typia.createIs<PartyWithRole>();
146
- export const validateParty = typia.createValidate<PartyWithRole>();
147
- export const assertParty = typia.createAssert<PartyWithRole>();
148
- export const validateDirect = (input: unknown) => typia.validate<PartyWithRole>(input);
149
-
150
- type DateSharedUnion =
151
- | {
152
- stamp: Date;
153
- left: string;
154
- }
155
- | {
156
- stamp: Date;
157
- right: string;
158
- };
159
-
160
- type BytesSharedUnion =
161
- | {
162
- bytes: Uint8Array;
163
- left: string;
164
- }
165
- | {
166
- bytes: Uint8Array;
167
- right: string;
168
- };
169
-
170
- type PrimitiveWrapperSharedUnion =
171
- | {
172
- value: string;
173
- left: string;
174
- }
175
- | {
176
- value: String;
177
- right: string;
178
- };
179
-
180
- type TemplateSharedUnion =
181
- | {
182
- code: ` + "`id-${number}`" + `;
183
- left: string;
184
- }
185
- | {
186
- code: ` + "`id-${string}`" + `;
187
- right: string;
188
- };
189
-
190
- type SetSharedUnion =
191
- | {
192
- items: Set<string>;
193
- left: string;
194
- }
195
- | {
196
- items: Set<number>;
197
- right: string;
198
- };
199
-
200
- type MapSharedUnion =
201
- | {
202
- lookup: Map<string, number>;
203
- left: string;
204
- }
205
- | {
206
- lookup: Map<number, string>;
207
- right: string;
208
- };
209
-
210
- type ArrayTupleSharedUnion =
211
- | {
212
- items: number[];
213
- left: string;
214
- }
215
- | {
216
- items: [number];
217
- right: string;
218
- };
219
-
220
- type BigIntPrimitiveOrInterface = bigint | BigInt;
221
- type BigIntLiteralOrInterface = 1n | BigInt;
222
- type BigIntInterfaceOnly = BigInt;
223
-
224
- export const validateDateShared = typia.createValidate<DateSharedUnion>();
225
- export const validateBytesShared = typia.createValidate<BytesSharedUnion>();
226
- export const validatePrimitiveWrapperShared = typia.createValidate<PrimitiveWrapperSharedUnion>();
227
- export const validateTemplateShared = typia.createValidate<TemplateSharedUnion>();
228
- export const isTemplateShared = typia.createIs<TemplateSharedUnion>();
229
- export const assertTemplateShared = typia.createAssert<TemplateSharedUnion>();
230
- export const validateSetShared = typia.createValidate<SetSharedUnion>();
231
- export const validateMapShared = typia.createValidate<MapSharedUnion>();
232
- export const validateArrayTupleShared = typia.createValidate<ArrayTupleSharedUnion>();
233
- export const validateBigIntPrimitiveOrInterface = typia.createValidate<BigIntPrimitiveOrInterface>();
234
- export const validateBigIntLiteralOrInterface = typia.createValidate<BigIntLiteralOrInterface>();
235
- export const validateBigIntInterfaceOnly = typia.createValidate<BigIntInterfaceOnly>();
236
- export const isBigIntPrimitiveOrInterface = typia.createIs<BigIntPrimitiveOrInterface>();
237
- export const isBigIntLiteralOrInterface = typia.createIs<BigIntLiteralOrInterface>();
238
- export const isBigIntInterfaceOnly = typia.createIs<BigIntInterfaceOnly>();
239
- export const assertBigIntPrimitiveOrInterface = typia.createAssert<BigIntPrimitiveOrInterface>();
240
- export const assertBigIntLiteralOrInterface = typia.createAssert<BigIntLiteralOrInterface>();
241
- export const assertBigIntInterfaceOnly = typia.createAssert<BigIntInterfaceOnly>();
242
- `
243
-
244
- const intersectionUnionValidationRuntimeRunner = `const mod = require("./main.cjs");
245
-
246
- const capture = (task) => {
247
- try {
248
- task();
249
- return null;
250
- } catch (error) {
251
- return error;
252
- }
253
- };
254
-
255
- const validIndividualOther = {
256
- type: "individual",
257
- birthDate: new Date("2025-06-10T10:43:59.087Z"),
258
- partyRole: "other",
259
- otherPartyRole: "some-valid-string",
260
- };
261
- const validCorporationCustomer = {
262
- type: "corporation",
263
- partyRole: "customer",
264
- };
265
- const validIndividualCustomer = {
266
- type: "individual",
267
- birthDate: new Date("2025-06-10T10:43:59.087Z"),
268
- partyRole: "customer",
269
- };
270
- const validCorporationOther = {
271
- type: "corporation",
272
- partyRole: "other",
273
- otherPartyRole: "some-valid-string",
274
- };
275
- const invalidOtherMissingDetail = {
276
- type: "individual",
277
- birthDate: new Date("2025-06-10T10:43:59.087Z"),
278
- partyRole: "other",
279
- };
280
- const invalidIndividualBirthDate = {
281
- type: "individual",
282
- birthDate: "2025-06-10T10:43:59.087Z",
283
- partyRole: "other",
284
- otherPartyRole: "some-valid-string",
285
- };
286
-
287
- const validate = mod.validateParty(validIndividualOther);
288
- if (validate.success !== true) {
289
- throw new Error("valid individual/other intersection failed: " + JSON.stringify(validate));
290
- }
291
- const direct = mod.validateDirect(validIndividualOther);
292
- if (direct.success !== true) {
293
- throw new Error("direct validate failed for individual/other intersection: " + JSON.stringify(direct));
294
- }
295
- if (mod.isParty(validIndividualOther) !== true) {
296
- throw new Error("is failed for valid individual/other intersection");
297
- }
298
- if (mod.assertParty(validIndividualOther) !== validIndividualOther) {
299
- throw new Error("assert did not return the valid individual/other value");
300
- }
301
- if (mod.validateParty(validCorporationCustomer).success !== true) {
302
- throw new Error("valid corporation/customer intersection failed");
303
- }
304
- for (const [name, input] of [
305
- ["individual/customer", validIndividualCustomer],
306
- ["corporation/other", validCorporationOther],
307
- ]) {
308
- if (mod.validateParty(input).success !== true) {
309
- throw new Error("valid " + name + " intersection failed validate");
310
- }
311
- if (mod.isParty(input) !== true) {
312
- throw new Error("valid " + name + " intersection failed is");
313
- }
314
- if (mod.assertParty(input) !== input) {
315
- throw new Error("valid " + name + " intersection failed assert");
316
- }
317
- }
318
-
319
- const invalid = mod.validateParty(invalidOtherMissingDetail);
320
- if (invalid.success !== false) {
321
- throw new Error("missing otherPartyRole unexpectedly passed");
322
- }
323
- if (mod.isParty(invalidOtherMissingDetail) !== false) {
324
- throw new Error("is accepted missing otherPartyRole");
325
- }
326
- if (invalid.errors.some((entry) => entry.path === "$input.partyRole" && entry.expected === '"customer"')) {
327
- throw new Error("invalid other branch reported unrelated customer branch: " + JSON.stringify(invalid));
328
- }
329
- const invalidDirect = mod.validateDirect(invalidOtherMissingDetail);
330
- if (invalidDirect.success !== false) {
331
- throw new Error("direct validate missing otherPartyRole unexpectedly passed");
332
- }
333
- if (invalidDirect.errors.some((entry) => entry.path === "$input.partyRole" && entry.expected === '"customer"')) {
334
- throw new Error("direct validate invalid other branch reported unrelated customer branch: " + JSON.stringify(invalidDirect));
335
- }
336
- const invalidAssert = capture(() => mod.assertParty(invalidOtherMissingDetail));
337
- if (invalidAssert === null) {
338
- throw new Error("assert missing otherPartyRole unexpectedly passed");
339
- }
340
- if (invalidAssert.path === "$input.partyRole" && invalidAssert.expected === '"customer"') {
341
- throw new Error("assert invalid other branch reported unrelated customer branch: " + JSON.stringify(invalidAssert));
342
- }
343
- const invalidDate = mod.validateParty(invalidIndividualBirthDate);
344
- if (invalidDate.success !== false) {
345
- throw new Error("invalid individual birthDate unexpectedly passed");
346
- }
347
- if (mod.isParty(invalidIndividualBirthDate) !== false) {
348
- throw new Error("is accepted invalid individual birthDate");
349
- }
350
- const invalidDateDirect = mod.validateDirect(invalidIndividualBirthDate);
351
- if (invalidDateDirect.success !== false) {
352
- throw new Error("direct validate invalid individual birthDate unexpectedly passed");
353
- }
354
- const invalidDateAssert = capture(() => mod.assertParty(invalidIndividualBirthDate));
355
- if (invalidDateAssert === null) {
356
- throw new Error("assert invalid individual birthDate unexpectedly passed");
357
- }
358
-
359
- const validDateRight = {
360
- stamp: new Date("2025-06-10T10:43:59.087Z"),
361
- right: "selected-right",
362
- };
363
- const dateRight = mod.validateDateShared(validDateRight);
364
- if (dateRight.success !== true) {
365
- throw new Error("shared Date native union failed its right branch: " + JSON.stringify(dateRight));
366
- }
367
- if (mod.validateDateShared({
368
- stamp: "2025-06-10T10:43:59.087Z",
369
- right: "selected-right",
370
- }).success !== false) {
371
- throw new Error("shared Date native union accepted invalid right branch stamp");
372
- }
373
-
374
- const validBytesRight = {
375
- bytes: new Uint8Array([1, 2, 3]),
376
- right: "selected-right",
377
- };
378
- const bytesRight = mod.validateBytesShared(validBytesRight);
379
- if (bytesRight.success !== true) {
380
- throw new Error("shared Uint8Array native union failed its right branch: " + JSON.stringify(bytesRight));
381
- }
382
- if (mod.validateBytesShared({
383
- bytes: [1, 2, 3],
384
- right: "selected-right",
385
- }).success !== false) {
386
- throw new Error("shared Uint8Array native union accepted invalid right branch bytes");
387
- }
388
-
389
- const primitiveWrapperRight = mod.validatePrimitiveWrapperShared({
390
- value: "x",
391
- right: "selected-right",
392
- });
393
- if (primitiveWrapperRight.success !== true) {
394
- throw new Error("shared primitive wrapper union failed its right branch: " + JSON.stringify(primitiveWrapperRight));
395
- }
396
- if (mod.validatePrimitiveWrapperShared({
397
- value: 1,
398
- right: "selected-right",
399
- }).success !== false) {
400
- throw new Error("shared primitive wrapper union accepted invalid right branch value");
401
- }
402
-
403
- const templateRight = mod.validateTemplateShared({
404
- code: "id-1",
405
- right: "selected-right",
406
- });
407
- if (templateRight.success !== true) {
408
- throw new Error("shared template union failed its overlapping right branch: " + JSON.stringify(templateRight));
409
- }
410
- if (mod.isTemplateShared({
411
- code: "id-1",
412
- right: "selected-right",
413
- }) !== true) {
414
- throw new Error("shared template union failed its overlapping right branch is");
415
- }
416
- const templateAssertInput = {
417
- code: "id-1",
418
- right: "selected-right",
419
- };
420
- if (mod.assertTemplateShared(templateAssertInput) !== templateAssertInput) {
421
- throw new Error("shared template union failed its overlapping right branch assert");
422
- }
423
- if (mod.validateTemplateShared({
424
- code: "other-1",
425
- right: "selected-right",
426
- }).success !== false) {
427
- throw new Error("shared template union accepted invalid right branch code");
428
- }
429
- if (mod.isTemplateShared({
430
- code: "other-1",
431
- right: "selected-right",
432
- }) !== false) {
433
- throw new Error("shared template union is accepted invalid right branch code");
434
- }
435
- if (capture(() => mod.assertTemplateShared({
436
- code: "other-1",
437
- right: "selected-right",
438
- })) === null) {
439
- throw new Error("shared template union assert accepted invalid right branch code");
440
- }
441
-
442
- const setRight = mod.validateSetShared({
443
- items: new Set(),
444
- right: "selected-right",
445
- });
446
- if (setRight.success !== true) {
447
- throw new Error("shared empty Set union failed its right branch: " + JSON.stringify(setRight));
448
- }
449
- if (mod.validateSetShared({
450
- items: new Set(["left-shaped"]),
451
- right: "selected-right",
452
- }).success !== false) {
453
- throw new Error("shared Set union accepted invalid right branch value");
454
- }
455
-
456
- const mapRight = mod.validateMapShared({
457
- lookup: new Map(),
458
- right: "selected-right",
459
- });
460
- if (mapRight.success !== true) {
461
- throw new Error("shared empty Map union failed its right branch: " + JSON.stringify(mapRight));
462
- }
463
- if (mod.validateMapShared({
464
- lookup: new Map([["left-key", 1]]),
465
- right: "selected-right",
466
- }).success !== false) {
467
- throw new Error("shared Map union accepted invalid right branch entry");
468
- }
469
-
470
- const arrayTupleRight = mod.validateArrayTupleShared({
471
- items: [1],
472
- right: "selected-right",
473
- });
474
- if (arrayTupleRight.success !== true) {
475
- throw new Error("shared array/tuple union failed its right branch: " + JSON.stringify(arrayTupleRight));
476
- }
477
- if (mod.validateArrayTupleShared({
478
- items: [1, 2],
479
- right: "selected-right",
480
- }).success !== false) {
481
- throw new Error("shared array/tuple union accepted invalid right branch item");
482
- }
483
-
484
- for (const [name, validate, input] of [
485
- ["Date", mod.validateDateShared, { stamp: new Date("2025-06-10T10:43:59.087Z"), left: "selected-left" }],
486
- ["Uint8Array", mod.validateBytesShared, { bytes: new Uint8Array([1, 2, 3]), left: "selected-left" }],
487
- ["primitive wrapper", mod.validatePrimitiveWrapperShared, { value: "x", left: "selected-left" }],
488
- ["template", mod.validateTemplateShared, { code: "id-1", left: "selected-left" }],
489
- ["Set", mod.validateSetShared, { items: new Set(["left-shaped"]), left: "selected-left" }],
490
- ["Map", mod.validateMapShared, { lookup: new Map([["left-key", 1]]), left: "selected-left" }],
491
- ["array/tuple", mod.validateArrayTupleShared, { items: [1, 2], left: "selected-left" }],
492
- ]) {
493
- const left = validate(input);
494
- if (left.success !== true) {
495
- throw new Error("shared " + name + " union failed its left branch: " + JSON.stringify(left));
496
- }
497
- }
498
-
499
- if (mod.validateBigIntPrimitiveOrInterface(1n).success !== true) {
500
- throw new Error("bigint primitive should pass bigint | BigInt validation");
501
- }
502
- if (mod.validateBigIntLiteralOrInterface(1n).success !== true) {
503
- throw new Error("bigint literal should pass 1n | BigInt validation");
504
- }
505
- const boxedBigInt = Object(1n);
506
- if (mod.validateBigIntInterfaceOnly(boxedBigInt).success !== true) {
507
- throw new Error("boxed BigInt should pass BigInt validation");
508
- }
509
- if (mod.validateBigIntInterfaceOnly(1n).success !== true) {
510
- throw new Error("primitive bigint should pass BigInt validation");
511
- }
512
- if (mod.validateBigIntPrimitiveOrInterface(boxedBigInt).success !== true) {
513
- throw new Error("boxed BigInt should pass bigint | BigInt validation");
514
- }
515
- if (mod.validateBigIntLiteralOrInterface(Object(2n)).success !== true) {
516
- throw new Error("boxed BigInt should pass 1n | BigInt validation");
517
- }
518
- if (mod.validateBigIntLiteralOrInterface(2n).success !== true) {
519
- throw new Error("primitive bigint should pass 1n | BigInt validation through BigInt");
520
- }
521
- if (mod.isBigIntPrimitiveOrInterface(1n) !== true) {
522
- throw new Error("bigint primitive should pass bigint | BigInt is");
523
- }
524
- if (mod.isBigIntLiteralOrInterface(1n) !== true) {
525
- throw new Error("bigint literal should pass 1n | BigInt is");
526
- }
527
- if (mod.isBigIntInterfaceOnly(boxedBigInt) !== true) {
528
- throw new Error("boxed BigInt should pass BigInt is");
529
- }
530
- if (mod.isBigIntInterfaceOnly(1n) !== true) {
531
- throw new Error("primitive bigint should pass BigInt is");
532
- }
533
- if (mod.isBigIntPrimitiveOrInterface(boxedBigInt) !== true) {
534
- throw new Error("boxed BigInt should pass bigint | BigInt is");
535
- }
536
- if (mod.isBigIntLiteralOrInterface(Object(2n)) !== true) {
537
- throw new Error("boxed BigInt should pass 1n | BigInt is");
538
- }
539
- if (mod.isBigIntLiteralOrInterface(2n) !== true) {
540
- throw new Error("primitive bigint should pass 1n | BigInt is through BigInt");
541
- }
542
- if (mod.assertBigIntPrimitiveOrInterface(1n) !== 1n) {
543
- throw new Error("bigint primitive should pass bigint | BigInt assert");
544
- }
545
- if (mod.assertBigIntLiteralOrInterface(1n) !== 1n) {
546
- throw new Error("bigint literal should pass 1n | BigInt assert");
547
- }
548
- if (mod.assertBigIntInterfaceOnly(boxedBigInt) !== boxedBigInt) {
549
- throw new Error("boxed BigInt should pass BigInt assert");
550
- }
551
- if (mod.assertBigIntInterfaceOnly(1n) !== 1n) {
552
- throw new Error("primitive bigint should pass BigInt assert");
553
- }
554
- if (mod.assertBigIntPrimitiveOrInterface(boxedBigInt) !== boxedBigInt) {
555
- throw new Error("boxed BigInt should pass bigint | BigInt assert");
556
- }
557
- const boxedBigIntTwo = Object(2n);
558
- if (mod.assertBigIntLiteralOrInterface(boxedBigIntTwo) !== boxedBigIntTwo) {
559
- throw new Error("boxed BigInt should pass 1n | BigInt assert");
560
- }
561
- if (mod.assertBigIntLiteralOrInterface(2n) !== 2n) {
562
- throw new Error("primitive bigint should pass 1n | BigInt assert through BigInt");
563
- }
564
-
565
- // NOTE: 2n is NOT a negative for 1n | BigInt: the BigInt arm absorbs every
566
- // bigint, so 2n is asserted as a positive above. Negatives must be non-bigint.
567
- const bigintNegatives = [
568
- ["string", "1"],
569
- ["number", 1],
570
- ["null", null],
571
- ["boxed Number", Object(1)],
572
- ];
573
- for (const [alias, validate, is, assert] of [
574
- ["bigint | BigInt", mod.validateBigIntPrimitiveOrInterface, mod.isBigIntPrimitiveOrInterface, mod.assertBigIntPrimitiveOrInterface],
575
- ["1n | BigInt", mod.validateBigIntLiteralOrInterface, mod.isBigIntLiteralOrInterface, mod.assertBigIntLiteralOrInterface],
576
- ["BigInt", mod.validateBigIntInterfaceOnly, mod.isBigIntInterfaceOnly, mod.assertBigIntInterfaceOnly],
577
- ]) {
578
- for (const [kind, input] of bigintNegatives) {
579
- if (validate(input).success !== false) {
580
- throw new Error(kind + " input unexpectedly passed " + alias + " validate");
581
- }
582
- if (is(input) !== false) {
583
- throw new Error(kind + " input unexpectedly passed " + alias + " is");
584
- }
585
- if (capture(() => assert(input)) === null) {
586
- throw new Error(kind + " input unexpectedly passed " + alias + " assert");
587
- }
588
- }
589
- }
590
- `
1
+ package main
2
+
3
+ import (
4
+ "os"
5
+ "os/exec"
6
+ "path/filepath"
7
+ "strings"
8
+ "testing"
9
+ )
10
+
11
+ // TestIntersectionUnionValidationTransform verifies intersected unions co-operate.
12
+ //
13
+ // Issue #1590 combines two discriminated unions through an intersection:
14
+ // `(Individual | Corporation) & ({ partyRole: "customer" } | OtherRole)`.
15
+ // The validator must accept a value whose left union branch contains a native
16
+ // Date and whose right union branch is selected by another discriminator. The
17
+ // same fixture also pins shared-field guards and primitive/native overlap
18
+ // decisions whose metadata may otherwise misroute union validation.
19
+ //
20
+ // 1. Transform the intersected-union fixture into JavaScript.
21
+ // 2. Execute `is`, `validate`, `assert`, and direct validate entrypoints.
22
+ // 3. Require valid intersection branches to pass and invalid `Date` data to
23
+ // fail without depending on exact error formatting.
24
+ // 4. Require invalid `other` data not to report the unrelated `"customer"`
25
+ // branch, and require shared native/container fields not to misroute a
26
+ // valid branch on either side.
27
+ // 5. Require non-bigint inputs to fail every BigInt-typed entrypoint.
28
+ func TestIntersectionUnionValidationTransform(t *testing.T) {
29
+ project := intersectionUnionValidationProject(t)
30
+ js := intersectionUnionValidationTransform(t, project)
31
+ if !strings.Contains(js, "partyRole") || !strings.Contains(js, "Date") {
32
+ t.Fatalf("intersected union validation fixture was not emitted:\n%s", js)
33
+ }
34
+ intersectionUnionValidationRunRuntimeCases(t, project, js)
35
+ }
36
+
37
+ func intersectionUnionValidationProject(t *testing.T) string {
38
+ t.Helper()
39
+ root := ttscTypiaTestRepoRoot(t)
40
+ base := filepath.Join(root, "packages", "typia", "native", ".tmp-ttsc-typia-tests")
41
+ if err := os.MkdirAll(base, 0o755); err != nil {
42
+ t.Fatalf("mkdir temp base: %v", err)
43
+ }
44
+ dir, err := os.MkdirTemp(base, "intersection-union-")
45
+ if err != nil {
46
+ t.Fatalf("create temp fixture: %v", err)
47
+ }
48
+ t.Cleanup(func() {
49
+ _ = os.RemoveAll(dir)
50
+ })
51
+ src := filepath.Join(dir, "src")
52
+ if err := os.MkdirAll(src, 0o755); err != nil {
53
+ t.Fatalf("mkdir fixture src: %v", err)
54
+ }
55
+ if err := os.WriteFile(filepath.Join(dir, "tsconfig.json"), []byte(intersectionUnionValidationTSConfig), 0o644); err != nil {
56
+ t.Fatalf("write tsconfig: %v", err)
57
+ }
58
+ if err := os.WriteFile(filepath.Join(src, "main.ts"), []byte(intersectionUnionValidationSource), 0o644); err != nil {
59
+ t.Fatalf("write source: %v", err)
60
+ }
61
+ return dir
62
+ }
63
+
64
+ func intersectionUnionValidationTransform(t *testing.T, project string) string {
65
+ t.Helper()
66
+ out, errText, code := ttscTypiaTestCapture(func() int {
67
+ return runTransform([]string{
68
+ "--cwd", project,
69
+ "--tsconfig", "tsconfig.json",
70
+ "--file", "src/main.ts",
71
+ "--output", "js",
72
+ })
73
+ })
74
+ if code != 0 {
75
+ t.Fatalf("intersection union transform failed: code=%d stderr=\n%s", code, errText)
76
+ }
77
+ return out
78
+ }
79
+
80
+ func intersectionUnionValidationRunRuntimeCases(t *testing.T, project string, js string) {
81
+ t.Helper()
82
+ node, err := exec.LookPath("node")
83
+ if err != nil {
84
+ t.Skip("node executable not found")
85
+ }
86
+ runtimeDir := filepath.Join(project, "runtime")
87
+ if err := os.MkdirAll(runtimeDir, 0o755); err != nil {
88
+ t.Fatalf("mkdir runtime dir: %v", err)
89
+ }
90
+ ttscTypiaTestWriteCommonRuntimeStubs(t, runtimeDir)
91
+ runtimeJS := ttscTypiaTestRewriteCommonJS(t, js)
92
+ if err := os.WriteFile(filepath.Join(runtimeDir, "main.cjs"), []byte(runtimeJS), 0o644); err != nil {
93
+ t.Fatalf("write runtime module: %v", err)
94
+ }
95
+ runner := filepath.Join(runtimeDir, "run.cjs")
96
+ if err := os.WriteFile(runner, []byte(intersectionUnionValidationRuntimeRunner), 0o644); err != nil {
97
+ t.Fatalf("write runtime runner: %v", err)
98
+ }
99
+ cmd := exec.Command(node, runner)
100
+ cmd.Dir = runtimeDir
101
+ output, err := cmd.CombinedOutput()
102
+ if err != nil {
103
+ t.Fatalf("intersection union runtime cases failed: %v\n%s", err, output)
104
+ }
105
+ }
106
+
107
+ const intersectionUnionValidationTSConfig = `{
108
+ "compilerOptions": {
109
+ "target": "ES2022",
110
+ "module": "commonjs",
111
+ "moduleResolution": "bundler",
112
+ "ignoreDeprecations": "6.0",
113
+ "types": ["*"],
114
+ "esModuleInterop": true,
115
+ "strict": true,
116
+ "skipLibCheck": true
117
+ },
118
+ "include": ["src"]
119
+ }
120
+ `
121
+
122
+ const intersectionUnionValidationSource = `import typia from "typia";
123
+
124
+ type PartyWithRole = Party & PartyRoleInfo;
125
+ type Party = Individual | Corporation;
126
+
127
+ interface Individual {
128
+ type: "individual";
129
+ birthDate: Date;
130
+ }
131
+
132
+ interface Corporation {
133
+ type: "corporation";
134
+ }
135
+
136
+ type PartyRoleInfo =
137
+ | {
138
+ partyRole: "customer";
139
+ }
140
+ | {
141
+ partyRole: "other";
142
+ otherPartyRole: string;
143
+ };
144
+
145
+ export const isParty = typia.createIs<PartyWithRole>();
146
+ export const validateParty = typia.createValidate<PartyWithRole>();
147
+ export const assertParty = typia.createAssert<PartyWithRole>();
148
+ export const validateDirect = (input: unknown) => typia.validate<PartyWithRole>(input);
149
+
150
+ type DateSharedUnion =
151
+ | {
152
+ stamp: Date;
153
+ left: string;
154
+ }
155
+ | {
156
+ stamp: Date;
157
+ right: string;
158
+ };
159
+
160
+ type BytesSharedUnion =
161
+ | {
162
+ bytes: Uint8Array;
163
+ left: string;
164
+ }
165
+ | {
166
+ bytes: Uint8Array;
167
+ right: string;
168
+ };
169
+
170
+ type PrimitiveWrapperSharedUnion =
171
+ | {
172
+ value: string;
173
+ left: string;
174
+ }
175
+ | {
176
+ value: String;
177
+ right: string;
178
+ };
179
+
180
+ type TemplateSharedUnion =
181
+ | {
182
+ code: ` + "`id-${number}`" + `;
183
+ left: string;
184
+ }
185
+ | {
186
+ code: ` + "`id-${string}`" + `;
187
+ right: string;
188
+ };
189
+
190
+ type SetSharedUnion =
191
+ | {
192
+ items: Set<string>;
193
+ left: string;
194
+ }
195
+ | {
196
+ items: Set<number>;
197
+ right: string;
198
+ };
199
+
200
+ type MapSharedUnion =
201
+ | {
202
+ lookup: Map<string, number>;
203
+ left: string;
204
+ }
205
+ | {
206
+ lookup: Map<number, string>;
207
+ right: string;
208
+ };
209
+
210
+ type ArrayTupleSharedUnion =
211
+ | {
212
+ items: number[];
213
+ left: string;
214
+ }
215
+ | {
216
+ items: [number];
217
+ right: string;
218
+ };
219
+
220
+ type BigIntPrimitiveOrInterface = bigint | BigInt;
221
+ type BigIntLiteralOrInterface = 1n | BigInt;
222
+ type BigIntInterfaceOnly = BigInt;
223
+
224
+ export const validateDateShared = typia.createValidate<DateSharedUnion>();
225
+ export const validateBytesShared = typia.createValidate<BytesSharedUnion>();
226
+ export const validatePrimitiveWrapperShared = typia.createValidate<PrimitiveWrapperSharedUnion>();
227
+ export const validateTemplateShared = typia.createValidate<TemplateSharedUnion>();
228
+ export const isTemplateShared = typia.createIs<TemplateSharedUnion>();
229
+ export const assertTemplateShared = typia.createAssert<TemplateSharedUnion>();
230
+ export const validateSetShared = typia.createValidate<SetSharedUnion>();
231
+ export const validateMapShared = typia.createValidate<MapSharedUnion>();
232
+ export const validateArrayTupleShared = typia.createValidate<ArrayTupleSharedUnion>();
233
+ export const validateBigIntPrimitiveOrInterface = typia.createValidate<BigIntPrimitiveOrInterface>();
234
+ export const validateBigIntLiteralOrInterface = typia.createValidate<BigIntLiteralOrInterface>();
235
+ export const validateBigIntInterfaceOnly = typia.createValidate<BigIntInterfaceOnly>();
236
+ export const isBigIntPrimitiveOrInterface = typia.createIs<BigIntPrimitiveOrInterface>();
237
+ export const isBigIntLiteralOrInterface = typia.createIs<BigIntLiteralOrInterface>();
238
+ export const isBigIntInterfaceOnly = typia.createIs<BigIntInterfaceOnly>();
239
+ export const assertBigIntPrimitiveOrInterface = typia.createAssert<BigIntPrimitiveOrInterface>();
240
+ export const assertBigIntLiteralOrInterface = typia.createAssert<BigIntLiteralOrInterface>();
241
+ export const assertBigIntInterfaceOnly = typia.createAssert<BigIntInterfaceOnly>();
242
+ `
243
+
244
+ const intersectionUnionValidationRuntimeRunner = `const mod = require("./main.cjs");
245
+
246
+ const capture = (task) => {
247
+ try {
248
+ task();
249
+ return null;
250
+ } catch (error) {
251
+ return error;
252
+ }
253
+ };
254
+
255
+ const validIndividualOther = {
256
+ type: "individual",
257
+ birthDate: new Date("2025-06-10T10:43:59.087Z"),
258
+ partyRole: "other",
259
+ otherPartyRole: "some-valid-string",
260
+ };
261
+ const validCorporationCustomer = {
262
+ type: "corporation",
263
+ partyRole: "customer",
264
+ };
265
+ const validIndividualCustomer = {
266
+ type: "individual",
267
+ birthDate: new Date("2025-06-10T10:43:59.087Z"),
268
+ partyRole: "customer",
269
+ };
270
+ const validCorporationOther = {
271
+ type: "corporation",
272
+ partyRole: "other",
273
+ otherPartyRole: "some-valid-string",
274
+ };
275
+ const invalidOtherMissingDetail = {
276
+ type: "individual",
277
+ birthDate: new Date("2025-06-10T10:43:59.087Z"),
278
+ partyRole: "other",
279
+ };
280
+ const invalidIndividualBirthDate = {
281
+ type: "individual",
282
+ birthDate: "2025-06-10T10:43:59.087Z",
283
+ partyRole: "other",
284
+ otherPartyRole: "some-valid-string",
285
+ };
286
+
287
+ const validate = mod.validateParty(validIndividualOther);
288
+ if (validate.success !== true) {
289
+ throw new Error("valid individual/other intersection failed: " + JSON.stringify(validate));
290
+ }
291
+ const direct = mod.validateDirect(validIndividualOther);
292
+ if (direct.success !== true) {
293
+ throw new Error("direct validate failed for individual/other intersection: " + JSON.stringify(direct));
294
+ }
295
+ if (mod.isParty(validIndividualOther) !== true) {
296
+ throw new Error("is failed for valid individual/other intersection");
297
+ }
298
+ if (mod.assertParty(validIndividualOther) !== validIndividualOther) {
299
+ throw new Error("assert did not return the valid individual/other value");
300
+ }
301
+ if (mod.validateParty(validCorporationCustomer).success !== true) {
302
+ throw new Error("valid corporation/customer intersection failed");
303
+ }
304
+ for (const [name, input] of [
305
+ ["individual/customer", validIndividualCustomer],
306
+ ["corporation/other", validCorporationOther],
307
+ ]) {
308
+ if (mod.validateParty(input).success !== true) {
309
+ throw new Error("valid " + name + " intersection failed validate");
310
+ }
311
+ if (mod.isParty(input) !== true) {
312
+ throw new Error("valid " + name + " intersection failed is");
313
+ }
314
+ if (mod.assertParty(input) !== input) {
315
+ throw new Error("valid " + name + " intersection failed assert");
316
+ }
317
+ }
318
+
319
+ const invalid = mod.validateParty(invalidOtherMissingDetail);
320
+ if (invalid.success !== false) {
321
+ throw new Error("missing otherPartyRole unexpectedly passed");
322
+ }
323
+ if (mod.isParty(invalidOtherMissingDetail) !== false) {
324
+ throw new Error("is accepted missing otherPartyRole");
325
+ }
326
+ if (invalid.errors.some((entry) => entry.path === "$input.partyRole" && entry.expected === '"customer"')) {
327
+ throw new Error("invalid other branch reported unrelated customer branch: " + JSON.stringify(invalid));
328
+ }
329
+ const invalidDirect = mod.validateDirect(invalidOtherMissingDetail);
330
+ if (invalidDirect.success !== false) {
331
+ throw new Error("direct validate missing otherPartyRole unexpectedly passed");
332
+ }
333
+ if (invalidDirect.errors.some((entry) => entry.path === "$input.partyRole" && entry.expected === '"customer"')) {
334
+ throw new Error("direct validate invalid other branch reported unrelated customer branch: " + JSON.stringify(invalidDirect));
335
+ }
336
+ const invalidAssert = capture(() => mod.assertParty(invalidOtherMissingDetail));
337
+ if (invalidAssert === null) {
338
+ throw new Error("assert missing otherPartyRole unexpectedly passed");
339
+ }
340
+ if (invalidAssert.path === "$input.partyRole" && invalidAssert.expected === '"customer"') {
341
+ throw new Error("assert invalid other branch reported unrelated customer branch: " + JSON.stringify(invalidAssert));
342
+ }
343
+ const invalidDate = mod.validateParty(invalidIndividualBirthDate);
344
+ if (invalidDate.success !== false) {
345
+ throw new Error("invalid individual birthDate unexpectedly passed");
346
+ }
347
+ if (mod.isParty(invalidIndividualBirthDate) !== false) {
348
+ throw new Error("is accepted invalid individual birthDate");
349
+ }
350
+ const invalidDateDirect = mod.validateDirect(invalidIndividualBirthDate);
351
+ if (invalidDateDirect.success !== false) {
352
+ throw new Error("direct validate invalid individual birthDate unexpectedly passed");
353
+ }
354
+ const invalidDateAssert = capture(() => mod.assertParty(invalidIndividualBirthDate));
355
+ if (invalidDateAssert === null) {
356
+ throw new Error("assert invalid individual birthDate unexpectedly passed");
357
+ }
358
+
359
+ const validDateRight = {
360
+ stamp: new Date("2025-06-10T10:43:59.087Z"),
361
+ right: "selected-right",
362
+ };
363
+ const dateRight = mod.validateDateShared(validDateRight);
364
+ if (dateRight.success !== true) {
365
+ throw new Error("shared Date native union failed its right branch: " + JSON.stringify(dateRight));
366
+ }
367
+ if (mod.validateDateShared({
368
+ stamp: "2025-06-10T10:43:59.087Z",
369
+ right: "selected-right",
370
+ }).success !== false) {
371
+ throw new Error("shared Date native union accepted invalid right branch stamp");
372
+ }
373
+
374
+ const validBytesRight = {
375
+ bytes: new Uint8Array([1, 2, 3]),
376
+ right: "selected-right",
377
+ };
378
+ const bytesRight = mod.validateBytesShared(validBytesRight);
379
+ if (bytesRight.success !== true) {
380
+ throw new Error("shared Uint8Array native union failed its right branch: " + JSON.stringify(bytesRight));
381
+ }
382
+ if (mod.validateBytesShared({
383
+ bytes: [1, 2, 3],
384
+ right: "selected-right",
385
+ }).success !== false) {
386
+ throw new Error("shared Uint8Array native union accepted invalid right branch bytes");
387
+ }
388
+
389
+ const primitiveWrapperRight = mod.validatePrimitiveWrapperShared({
390
+ value: "x",
391
+ right: "selected-right",
392
+ });
393
+ if (primitiveWrapperRight.success !== true) {
394
+ throw new Error("shared primitive wrapper union failed its right branch: " + JSON.stringify(primitiveWrapperRight));
395
+ }
396
+ if (mod.validatePrimitiveWrapperShared({
397
+ value: 1,
398
+ right: "selected-right",
399
+ }).success !== false) {
400
+ throw new Error("shared primitive wrapper union accepted invalid right branch value");
401
+ }
402
+
403
+ const templateRight = mod.validateTemplateShared({
404
+ code: "id-1",
405
+ right: "selected-right",
406
+ });
407
+ if (templateRight.success !== true) {
408
+ throw new Error("shared template union failed its overlapping right branch: " + JSON.stringify(templateRight));
409
+ }
410
+ if (mod.isTemplateShared({
411
+ code: "id-1",
412
+ right: "selected-right",
413
+ }) !== true) {
414
+ throw new Error("shared template union failed its overlapping right branch is");
415
+ }
416
+ const templateAssertInput = {
417
+ code: "id-1",
418
+ right: "selected-right",
419
+ };
420
+ if (mod.assertTemplateShared(templateAssertInput) !== templateAssertInput) {
421
+ throw new Error("shared template union failed its overlapping right branch assert");
422
+ }
423
+ if (mod.validateTemplateShared({
424
+ code: "other-1",
425
+ right: "selected-right",
426
+ }).success !== false) {
427
+ throw new Error("shared template union accepted invalid right branch code");
428
+ }
429
+ if (mod.isTemplateShared({
430
+ code: "other-1",
431
+ right: "selected-right",
432
+ }) !== false) {
433
+ throw new Error("shared template union is accepted invalid right branch code");
434
+ }
435
+ if (capture(() => mod.assertTemplateShared({
436
+ code: "other-1",
437
+ right: "selected-right",
438
+ })) === null) {
439
+ throw new Error("shared template union assert accepted invalid right branch code");
440
+ }
441
+
442
+ const setRight = mod.validateSetShared({
443
+ items: new Set(),
444
+ right: "selected-right",
445
+ });
446
+ if (setRight.success !== true) {
447
+ throw new Error("shared empty Set union failed its right branch: " + JSON.stringify(setRight));
448
+ }
449
+ if (mod.validateSetShared({
450
+ items: new Set(["left-shaped"]),
451
+ right: "selected-right",
452
+ }).success !== false) {
453
+ throw new Error("shared Set union accepted invalid right branch value");
454
+ }
455
+
456
+ const mapRight = mod.validateMapShared({
457
+ lookup: new Map(),
458
+ right: "selected-right",
459
+ });
460
+ if (mapRight.success !== true) {
461
+ throw new Error("shared empty Map union failed its right branch: " + JSON.stringify(mapRight));
462
+ }
463
+ if (mod.validateMapShared({
464
+ lookup: new Map([["left-key", 1]]),
465
+ right: "selected-right",
466
+ }).success !== false) {
467
+ throw new Error("shared Map union accepted invalid right branch entry");
468
+ }
469
+
470
+ const arrayTupleRight = mod.validateArrayTupleShared({
471
+ items: [1],
472
+ right: "selected-right",
473
+ });
474
+ if (arrayTupleRight.success !== true) {
475
+ throw new Error("shared array/tuple union failed its right branch: " + JSON.stringify(arrayTupleRight));
476
+ }
477
+ if (mod.validateArrayTupleShared({
478
+ items: [1, 2],
479
+ right: "selected-right",
480
+ }).success !== false) {
481
+ throw new Error("shared array/tuple union accepted invalid right branch item");
482
+ }
483
+
484
+ for (const [name, validate, input] of [
485
+ ["Date", mod.validateDateShared, { stamp: new Date("2025-06-10T10:43:59.087Z"), left: "selected-left" }],
486
+ ["Uint8Array", mod.validateBytesShared, { bytes: new Uint8Array([1, 2, 3]), left: "selected-left" }],
487
+ ["primitive wrapper", mod.validatePrimitiveWrapperShared, { value: "x", left: "selected-left" }],
488
+ ["template", mod.validateTemplateShared, { code: "id-1", left: "selected-left" }],
489
+ ["Set", mod.validateSetShared, { items: new Set(["left-shaped"]), left: "selected-left" }],
490
+ ["Map", mod.validateMapShared, { lookup: new Map([["left-key", 1]]), left: "selected-left" }],
491
+ ["array/tuple", mod.validateArrayTupleShared, { items: [1, 2], left: "selected-left" }],
492
+ ]) {
493
+ const left = validate(input);
494
+ if (left.success !== true) {
495
+ throw new Error("shared " + name + " union failed its left branch: " + JSON.stringify(left));
496
+ }
497
+ }
498
+
499
+ if (mod.validateBigIntPrimitiveOrInterface(1n).success !== true) {
500
+ throw new Error("bigint primitive should pass bigint | BigInt validation");
501
+ }
502
+ if (mod.validateBigIntLiteralOrInterface(1n).success !== true) {
503
+ throw new Error("bigint literal should pass 1n | BigInt validation");
504
+ }
505
+ const boxedBigInt = Object(1n);
506
+ if (mod.validateBigIntInterfaceOnly(boxedBigInt).success !== true) {
507
+ throw new Error("boxed BigInt should pass BigInt validation");
508
+ }
509
+ if (mod.validateBigIntInterfaceOnly(1n).success !== true) {
510
+ throw new Error("primitive bigint should pass BigInt validation");
511
+ }
512
+ if (mod.validateBigIntPrimitiveOrInterface(boxedBigInt).success !== true) {
513
+ throw new Error("boxed BigInt should pass bigint | BigInt validation");
514
+ }
515
+ if (mod.validateBigIntLiteralOrInterface(Object(2n)).success !== true) {
516
+ throw new Error("boxed BigInt should pass 1n | BigInt validation");
517
+ }
518
+ if (mod.validateBigIntLiteralOrInterface(2n).success !== true) {
519
+ throw new Error("primitive bigint should pass 1n | BigInt validation through BigInt");
520
+ }
521
+ if (mod.isBigIntPrimitiveOrInterface(1n) !== true) {
522
+ throw new Error("bigint primitive should pass bigint | BigInt is");
523
+ }
524
+ if (mod.isBigIntLiteralOrInterface(1n) !== true) {
525
+ throw new Error("bigint literal should pass 1n | BigInt is");
526
+ }
527
+ if (mod.isBigIntInterfaceOnly(boxedBigInt) !== true) {
528
+ throw new Error("boxed BigInt should pass BigInt is");
529
+ }
530
+ if (mod.isBigIntInterfaceOnly(1n) !== true) {
531
+ throw new Error("primitive bigint should pass BigInt is");
532
+ }
533
+ if (mod.isBigIntPrimitiveOrInterface(boxedBigInt) !== true) {
534
+ throw new Error("boxed BigInt should pass bigint | BigInt is");
535
+ }
536
+ if (mod.isBigIntLiteralOrInterface(Object(2n)) !== true) {
537
+ throw new Error("boxed BigInt should pass 1n | BigInt is");
538
+ }
539
+ if (mod.isBigIntLiteralOrInterface(2n) !== true) {
540
+ throw new Error("primitive bigint should pass 1n | BigInt is through BigInt");
541
+ }
542
+ if (mod.assertBigIntPrimitiveOrInterface(1n) !== 1n) {
543
+ throw new Error("bigint primitive should pass bigint | BigInt assert");
544
+ }
545
+ if (mod.assertBigIntLiteralOrInterface(1n) !== 1n) {
546
+ throw new Error("bigint literal should pass 1n | BigInt assert");
547
+ }
548
+ if (mod.assertBigIntInterfaceOnly(boxedBigInt) !== boxedBigInt) {
549
+ throw new Error("boxed BigInt should pass BigInt assert");
550
+ }
551
+ if (mod.assertBigIntInterfaceOnly(1n) !== 1n) {
552
+ throw new Error("primitive bigint should pass BigInt assert");
553
+ }
554
+ if (mod.assertBigIntPrimitiveOrInterface(boxedBigInt) !== boxedBigInt) {
555
+ throw new Error("boxed BigInt should pass bigint | BigInt assert");
556
+ }
557
+ const boxedBigIntTwo = Object(2n);
558
+ if (mod.assertBigIntLiteralOrInterface(boxedBigIntTwo) !== boxedBigIntTwo) {
559
+ throw new Error("boxed BigInt should pass 1n | BigInt assert");
560
+ }
561
+ if (mod.assertBigIntLiteralOrInterface(2n) !== 2n) {
562
+ throw new Error("primitive bigint should pass 1n | BigInt assert through BigInt");
563
+ }
564
+
565
+ // NOTE: 2n is NOT a negative for 1n | BigInt: the BigInt arm absorbs every
566
+ // bigint, so 2n is asserted as a positive above. Negatives must be non-bigint.
567
+ const bigintNegatives = [
568
+ ["string", "1"],
569
+ ["number", 1],
570
+ ["null", null],
571
+ ["boxed Number", Object(1)],
572
+ ];
573
+ for (const [alias, validate, is, assert] of [
574
+ ["bigint | BigInt", mod.validateBigIntPrimitiveOrInterface, mod.isBigIntPrimitiveOrInterface, mod.assertBigIntPrimitiveOrInterface],
575
+ ["1n | BigInt", mod.validateBigIntLiteralOrInterface, mod.isBigIntLiteralOrInterface, mod.assertBigIntLiteralOrInterface],
576
+ ["BigInt", mod.validateBigIntInterfaceOnly, mod.isBigIntInterfaceOnly, mod.assertBigIntInterfaceOnly],
577
+ ]) {
578
+ for (const [kind, input] of bigintNegatives) {
579
+ if (validate(input).success !== false) {
580
+ throw new Error(kind + " input unexpectedly passed " + alias + " validate");
581
+ }
582
+ if (is(input) !== false) {
583
+ throw new Error(kind + " input unexpectedly passed " + alias + " is");
584
+ }
585
+ if (capture(() => assert(input)) === null) {
586
+ throw new Error(kind + " input unexpectedly passed " + alias + " assert");
587
+ }
588
+ }
589
+ }
590
+ `