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,599 +1,599 @@
1
- package metadata
2
-
3
- import (
4
- "strings"
5
-
6
- nativeast "github.com/microsoft/typescript-go/shim/ast"
7
- nativechecker "github.com/microsoft/typescript-go/shim/checker"
8
- schemametadata "github.com/samchon/typia/packages/typia/native/core/schemas/metadata"
9
- )
10
-
11
- func Emplace_metadata_object(props IMetadataIteratorProps) *schemametadata.MetadataObjectType {
12
- obj, newbie := props.Components.Emplace(props.Checker, props.Type)
13
- metadata_array_util_add_bool(&obj.Nullables, props.Metadata.Nullable)
14
- if newbie == false {
15
- return obj
16
- }
17
-
18
- if props.Type != nil {
19
- // The MetadataCollection layer cannot reach the AST JSDoc helpers (they live
20
- // in this factory package), so the object's own description / tags are
21
- // emplaced as stubs there and filled in here from the declaring symbol.
22
- // Prefer the type-name symbol (so a `type Foo = { ... }` alias' comment is
23
- // honored) and fall back to the structural symbol (an interface / class). The
24
- // type-level readers skip default-library declarations so a utility type such
25
- // as `Record<K, V>` never leaks its standard-library comment.
26
- symbol := props.Type.Symbol()
27
- if typeName := nativechecker_type_name_symbol(props.Type); typeName != nil {
28
- symbol = typeName
29
- }
30
- obj.Description = metadata_node_type_description(symbol)
31
- obj.JsDocTags = metadata_node_type_js_doc_tags(symbol)
32
-
33
- // Capture the declaring source file (named declarations only) so
34
- // plain.classify can value-import a cross-module class it reconstructs.
35
- // Additive: other features ignore obj.Source.
36
- if sym := props.Type.Symbol(); sym != nil && len(sym.Declarations) != 0 {
37
- decl := sym.Declarations[0]
38
- // A `class` (declaration or expression — including a generic instantiation,
39
- // whose symbol still resolves to the class declaration) has a runtime value
40
- // binding; an interface / type alias / anonymous object literal does not, so
41
- // plain.classify must field-copy a plain {} rather than reference a type-only
42
- // name. classRefOf gates on this.
43
- obj.IsClass = decl.Kind == nativeast.KindClassDeclaration || decl.Kind == nativeast.KindClassExpression
44
- if src := nativeast.GetSourceFileOfNode(decl); src != nil {
45
- file := src.FileName()
46
- obj.Source = &file
47
- // The Default modifier covers `export default class C {}`; a SEPARATE
48
- // `class C {}; export default C;` puts no modifier on the class, so also
49
- // detect that ExportAssignment form (else a cross-module classify
50
- // value-imports a missing NAMED binding).
51
- obj.SourceDefault = decl.ModifierFlags()&nativeast.ModifierFlagsDefault != 0 ||
52
- emplace_metadata_object_is_default_export(props.Checker, sym, decl, src)
53
- }
54
- // A class EXPRESSION's symbol name is the inner `Beast` (`const X = class
55
- // Beast {}`) or the binder-internal `__class` (`const X = class {}`),
56
- // neither of which binds at the classify call site; the runtime value is
57
- // the enclosing `const X`. Capture X so the field-copy allocator (classRefOf)
58
- // references it for BOTH named and unnamed expressions — the unnamed form's
59
- // metadata Name can still surface the `__class` binder name, so do not rely
60
- // on it. An expression with no enclosing variable binding leaves ValueRef
61
- // empty (classRefOf falls back to the metadata Name). A class DECLARATION's
62
- // Kind is not ClassExpression, so it is unaffected.
63
- if decl.Kind == nativeast.KindClassExpression {
64
- obj.ValueRef = emplace_metadata_object_value_binding(decl)
65
- }
66
- // ES `#private` members are installed only by the constructor, so
67
- // plain.classify cannot soundly field-copy (Object.create + assign) a class
68
- // that has them — and the PROTOTYPE CHAIN matters: a field-copied subclass
69
- // of a #private-bearing base would equally throw "Cannot read private
70
- // member". The type system hides #private from ApparentProperties, so detect
71
- // it on the class declaration(s), walking the `extends` chain. Additive flag,
72
- // read only by the classify programmer.
73
- if emplace_metadata_object_private_fields(props.Checker, props.Type, map[*nativechecker.Type]bool{}) {
74
- obj.PrivateFields = true
75
- }
76
- }
77
- }
78
-
79
- isClass := props.Type != nil && props.Type.IsClass()
80
- isProperty := emplace_metadata_object_significant(props.Options.Functional, props.Options.Methods)
81
- pred := func(node *nativeast.Node) bool {
82
- if node == nil {
83
- return true
84
- }
85
- if isClass && node.ModifierFlags()&(nativeast.ModifierFlagsPrivate|nativeast.ModifierFlagsProtected) != 0 {
86
- return false
87
- }
88
- return isProperty(node)
89
- }
90
-
91
- insert := func(next emplace_metadata_object_insert) *schemametadata.MetadataProperty {
92
- property := emplace_metadata_object_create_property(next)
93
- obj.Properties = append(obj.Properties, property)
94
- return property
95
- }
96
- if emplace_metadata_object_intersection(props, obj, insert, pred) {
97
- return obj
98
- }
99
-
100
- for _, symbol := range props.Components.ApparentProperties(props.Checker, props.Type) {
101
- if metadata_is_internal(symbol) {
102
- continue
103
- }
104
- var node *nativeast.Node
105
- if len(symbol.Declarations) != 0 {
106
- node = symbol.Declarations[0]
107
- }
108
- var typ *nativechecker.Type
109
- if node != nil {
110
- typ = props.Checker.GetTypeOfSymbolAtLocation(symbol, node)
111
- } else {
112
- typ = nativechecker.Checker_getTypeOfPropertyOfType(props.Checker, props.Type, symbol.Name)
113
- }
114
- if (node != nil && pred(node) == false) || typ == nil {
115
- continue
116
- }
117
-
118
- key := MetadataHelper.Literal_to_metadata(symbol.Name)
119
- explore := MetadataFactory_IExplore{
120
- Top: false,
121
- Object: obj,
122
- Property: symbol.Name,
123
- Parameter: nil,
124
- Nested: nil,
125
- Aliased: false,
126
- Escaped: false,
127
- Output: false,
128
- }
129
- value := Explore_metadata(Explore_metadata_IProps{
130
- Options: props.Options,
131
- Checker: props.Checker,
132
- Components: props.Components,
133
- Errors: props.Errors,
134
- Type: typ,
135
- Explore: explore,
136
- Intersected: false,
137
- })
138
- value.Optional = symbol.Flags&nativeast.SymbolFlagsOptional != 0
139
- insert(emplace_metadata_object_insert{
140
- Key: key,
141
- Value: value,
142
- Symbol: symbol,
143
- Node: node,
144
- })
145
- }
146
-
147
- for _, index := range props.Components.IndexInfos(props.Checker, props.Type) {
148
- analyzer := func(typ *nativechecker.Type) func(any) *schemametadata.MetadataSchema {
149
- return func(property any) *schemametadata.MetadataSchema {
150
- explore := MetadataFactory_IExplore{
151
- Top: false,
152
- Object: obj,
153
- Property: property,
154
- Parameter: nil,
155
- Nested: nil,
156
- Aliased: false,
157
- Escaped: false,
158
- Output: false,
159
- }
160
- return Explore_metadata(Explore_metadata_IProps{
161
- Options: props.Options,
162
- Checker: props.Checker,
163
- Components: props.Components,
164
- Errors: props.Errors,
165
- Type: typ,
166
- Explore: explore,
167
- Intersected: false,
168
- })
169
- }
170
- }
171
- key := analyzer(index.KeyType())(nil)
172
- value := analyzer(index.ValueType())(struct{}{})
173
- if emplace_metadata_object_valid_dynamic_key(key) == false && props.Errors != nil {
174
- *props.Errors = append(*props.Errors, MetadataFactory_IError{
175
- Name: key.GetName(),
176
- Explore: MetadataFactory_IExplore{
177
- Top: false,
178
- Object: obj,
179
- Property: "[key]",
180
- Parameter: nil,
181
- Nested: nil,
182
- Aliased: false,
183
- Escaped: false,
184
- Output: false,
185
- },
186
- Messages: []string{},
187
- })
188
- }
189
- insert(emplace_metadata_object_insert{
190
- Key: key,
191
- Value: value,
192
- FilterTags: func(doc schemametadata.IJsDocTagInfo) bool {
193
- return doc.Name != "default"
194
- },
195
- })
196
- }
197
- return obj
198
- }
199
-
200
- // emplace_metadata_object_private_fields reports whether `typ` or any class in
201
- // its `extends` chain declares an INSTANCE ES #private member — which field-copy
202
- // (Object.create + assign) cannot reconstruct, so plain.classify must reject it.
203
- // A STATIC #private (on the constructor) is excluded at every level. `visited`
204
- // guards against type cycles.
205
- func emplace_metadata_object_private_fields(checker *nativechecker.Checker, typ *nativechecker.Type, visited map[*nativechecker.Type]bool) bool {
206
- if checker == nil || typ == nil || visited[typ] {
207
- return false
208
- }
209
- visited[typ] = true
210
- sym := typ.Symbol()
211
- if sym == nil || len(sym.Declarations) == 0 {
212
- return false
213
- }
214
- decl := sym.Declarations[0]
215
- var members []*nativeast.Node
216
- if decl.Kind == nativeast.KindClassDeclaration {
217
- if cd := decl.AsClassDeclaration(); cd != nil && cd.Members != nil {
218
- members = cd.Members.Nodes
219
- }
220
- } else if decl.Kind == nativeast.KindClassExpression {
221
- if ce := decl.AsClassExpression(); ce != nil && ce.Members != nil {
222
- members = ce.Members.Nodes
223
- }
224
- } else {
225
- // Not a class — no instance #private to find, and Checker_getBaseTypes is
226
- // defined only for class/interface symbols (a union / primitive / type-alias
227
- // Reference would hit its panic arm). Stop here.
228
- return false
229
- }
230
- for _, member := range members {
231
- if member == nil {
232
- continue
233
- }
234
- if member.ModifierFlags()&nativeast.ModifierFlagsStatic != 0 {
235
- continue
236
- }
237
- if name := member.Name(); name != nil && name.Kind == nativeast.KindPrivateIdentifier {
238
- return true
239
- }
240
- }
241
- // Walk the `extends` chain. Checker_getBaseTypes nil-dereferences (its internal
242
- // t.AsInterfaceType() is nil) for anything that is not a class/interface
243
- // INSTANCE — including a class's Anonymous static side `typeof C` and a generic
244
- // instantiation Reference (`Mid<string>`) — so it is guarded to a ClassOrInterface
245
- // instance. A generic subclass's OWN #private is still caught by the member scan
246
- // above; only a #private INHERITED through a generic base boundary is not
247
- // detected (narrow, documented). The non-generic inheritance chain is covered.
248
- if typ.ObjectFlags()&nativechecker.ObjectFlagsClassOrInterface == 0 {
249
- return false
250
- }
251
- for _, base := range nativechecker.Checker_getBaseTypes(checker, typ) {
252
- if emplace_metadata_object_private_fields(checker, base, visited) {
253
- return true
254
- }
255
- }
256
- return false
257
- }
258
-
259
- // emplace_metadata_object_is_default_export reports whether `sym` (a class
260
- // declared by `decl` in `src`) is the module default export via a SEPARATE
261
- // `export default C;` statement, which leaves NO Default modifier on the class
262
- // declaration. Walks the source file's top-level ExportAssignment statements for
263
- // an `export default <ident>` (not `export = `) whose identifier resolves to
264
- // this class symbol. nil-safe.
265
- func emplace_metadata_object_is_default_export(
266
- checker *nativechecker.Checker,
267
- sym *nativeast.Symbol,
268
- decl *nativeast.Node,
269
- src *nativeast.SourceFile,
270
- ) bool {
271
- if checker == nil || sym == nil || src == nil || src.Statements == nil {
272
- return false
273
- }
274
- for _, stmt := range src.Statements.Nodes {
275
- if stmt == nil || stmt.Kind != nativeast.KindExportAssignment {
276
- continue
277
- }
278
- ea := stmt.AsExportAssignment()
279
- if ea == nil || ea.IsExportEquals || ea.Expression == nil {
280
- continue
281
- }
282
- target := checker.GetSymbolAtLocation(ea.Expression)
283
- if target == nil {
284
- continue
285
- }
286
- if target == sym || (len(target.Declarations) != 0 && target.Declarations[0] == decl) {
287
- return true
288
- }
289
- }
290
- return false
291
- }
292
-
293
- // emplace_metadata_object_value_binding returns the enclosing `const X = class
294
- // {...}` variable name for a class-expression declaration (walking past any
295
- // parentheses), or "" when the class expression has no variable binding.
296
- func emplace_metadata_object_value_binding(decl *nativeast.Node) string {
297
- node := decl.Parent
298
- for node != nil && node.Kind == nativeast.KindParenthesizedExpression {
299
- node = node.Parent
300
- }
301
- if node == nil || node.Kind != nativeast.KindVariableDeclaration || node.Name() == nil {
302
- return ""
303
- }
304
- name := strings.TrimSpace(node.Name().Text())
305
- // Qualify by any enclosing namespace (VariableDeclaration -> List -> Statement
306
- // -> ModuleBlock) so a `namespace NS { const X = class {} }` binds as `NS.X`.
307
- if list := node.Parent; list != nil {
308
- if stmt := list.Parent; stmt != nil {
309
- return metadata_explore_symbol_name(stmt.Parent, name)
310
- }
311
- }
312
- return name
313
- }
314
-
315
- type emplace_metadata_object_insert struct {
316
- Key *schemametadata.MetadataSchema
317
- Value *schemametadata.MetadataSchema
318
- Symbol *nativeast.Symbol
319
- Node *nativeast.Node
320
- FilterTags func(schemametadata.IJsDocTagInfo) bool
321
- }
322
-
323
- func emplace_metadata_object_create_property(next emplace_metadata_object_insert) *schemametadata.MetadataProperty {
324
- description := metadata_node_description(next.Symbol)
325
- jsDocTags := metadata_node_js_doc_tags(next.Symbol)
326
- if next.FilterTags != nil {
327
- filtered := []schemametadata.IJsDocTagInfo{}
328
- for _, tag := range jsDocTags {
329
- if next.FilterTags(tag) {
330
- filtered = append(filtered, tag)
331
- }
332
- }
333
- jsDocTags = filtered
334
- }
335
- var mutability *string
336
- if next.Node != nil && next.Node.ModifierFlags()&nativeast.ModifierFlagsReadonly != 0 {
337
- value := "readonly"
338
- mutability = &value
339
- }
340
- return schemametadata.MetadataProperty_create(schemametadata.MetadataProperty{
341
- Key: next.Key,
342
- Value: next.Value,
343
- Description: description,
344
- JsDocTags: jsDocTags,
345
- Mutability: mutability,
346
- })
347
- }
348
-
349
- func emplace_metadata_object_intersection(
350
- props IMetadataIteratorProps,
351
- obj *schemametadata.MetadataObjectType,
352
- insert func(emplace_metadata_object_insert) *schemametadata.MetadataProperty,
353
- pred func(node *nativeast.Node) bool,
354
- ) bool {
355
- if props.Checker == nil ||
356
- props.Type == nil ||
357
- props.Type.IsIntersection() == false ||
358
- iterate_metadata_intersection_is_plain_object_only(props.Checker, props.Components, props.Type, map[*nativechecker.Type]bool{}) == false {
359
- return false
360
- }
361
- children := emplace_metadata_object_intersection_children(props.Type, map[*nativechecker.Type]bool{})
362
- if len(children) < 2 || emplace_metadata_object_intersection_has_duplicate_key(props.Checker, props.Components, children) {
363
- return false
364
- }
365
- merged := []*schemametadata.MetadataProperty{}
366
- checkProperties := []*schemametadata.MetadataProperty{}
367
- parentObjects := []*schemametadata.MetadataObject{}
368
- props.Explore.Object = obj
369
- props.Explore.Top = false
370
- for _, child := range children {
371
- if emplace_metadata_object_shareable_child(props, child) {
372
- explore := props.Explore
373
- explore.Object = obj
374
- explore.Property = nil
375
- explore.Aliased = false
376
- metadata := Explore_metadata(Explore_metadata_IProps{
377
- Options: props.Options,
378
- Checker: props.Checker,
379
- Components: props.Components,
380
- Errors: props.Errors,
381
- Type: child,
382
- Explore: explore,
383
- Prunable: props.Prunable,
384
- })
385
- if metadata.Size() != 1 || len(metadata.Objects) != 1 {
386
- return false
387
- }
388
- if len(metadata.Objects[0].Tags) != 0 {
389
- return false
390
- }
391
- parentObjects = append(parentObjects, metadata.Objects[0])
392
- for _, property := range metadata.Objects[0].Type.Properties {
393
- merged = append(merged, emplace_metadata_object_clone_property(property))
394
- }
395
- } else if emplace_metadata_object_intersection_append(
396
- props,
397
- child,
398
- func(next emplace_metadata_object_insert) *schemametadata.MetadataProperty {
399
- property := emplace_metadata_object_create_property(next)
400
- merged = append(merged, property)
401
- checkProperties = append(checkProperties, property)
402
- return property
403
- },
404
- pred,
405
- ) == false {
406
- return false
407
- }
408
- }
409
- obj.Properties = append(obj.Properties, merged...)
410
- if len(parentObjects) != 0 {
411
- obj.Parent_objects_ = append(obj.Parent_objects_, parentObjects...)
412
- obj.Check_properties_ = append(obj.Check_properties_, checkProperties...)
413
- }
414
- return true
415
- }
416
-
417
- func emplace_metadata_object_shareable_child(props IMetadataIteratorProps, child *nativechecker.Type) bool {
418
- fullName := metadata_type_full_name(props.Checker, child, props.Components)
419
- sanitized := iterate_metadata_intersection_sanitize_name(fullName)
420
- return iterate_metadata_intersection_shareable_name(fullName, sanitized)
421
- }
422
-
423
- func emplace_metadata_object_intersection_append(
424
- props IMetadataIteratorProps,
425
- child *nativechecker.Type,
426
- insert func(emplace_metadata_object_insert) *schemametadata.MetadataProperty,
427
- pred func(node *nativeast.Node) bool,
428
- ) bool {
429
- if props.Checker == nil || child == nil || len(props.Components.IndexInfos(props.Checker, child)) != 0 {
430
- return false
431
- }
432
- for _, symbol := range props.Components.ApparentProperties(props.Checker, child) {
433
- if metadata_is_internal(symbol) {
434
- continue
435
- }
436
- var node *nativeast.Node
437
- if len(symbol.Declarations) != 0 {
438
- node = symbol.Declarations[0]
439
- }
440
- var typ *nativechecker.Type
441
- if node != nil {
442
- typ = props.Checker.GetTypeOfSymbolAtLocation(symbol, node)
443
- } else {
444
- typ = nativechecker.Checker_getTypeOfPropertyOfType(props.Checker, child, symbol.Name)
445
- }
446
- if (node != nil && pred(node) == false) || typ == nil {
447
- continue
448
- }
449
-
450
- explore := props.Explore
451
- explore.Property = symbol.Name
452
- explore.Parameter = nil
453
- explore.Nested = nil
454
- explore.Aliased = false
455
- explore.Escaped = false
456
- explore.Output = false
457
- value := Explore_metadata(Explore_metadata_IProps{
458
- Options: props.Options,
459
- Checker: props.Checker,
460
- Components: props.Components,
461
- Errors: props.Errors,
462
- Type: typ,
463
- Explore: explore,
464
- Intersected: false,
465
- Prunable: props.Prunable,
466
- })
467
- value.Optional = symbol.Flags&nativeast.SymbolFlagsOptional != 0
468
- insert(emplace_metadata_object_insert{
469
- Key: MetadataHelper.Literal_to_metadata(symbol.Name),
470
- Value: value,
471
- Symbol: symbol,
472
- Node: node,
473
- })
474
- }
475
- return true
476
- }
477
-
478
- func emplace_metadata_object_intersection_children(
479
- typ *nativechecker.Type,
480
- visited map[*nativechecker.Type]bool,
481
- ) []*nativechecker.Type {
482
- if typ == nil || visited[typ] {
483
- return nil
484
- }
485
- visited[typ] = true
486
- if typ.IsIntersection() == false {
487
- return []*nativechecker.Type{typ}
488
- }
489
- output := []*nativechecker.Type{}
490
- for _, child := range typ.Types() {
491
- output = append(output, emplace_metadata_object_intersection_children(child, visited)...)
492
- }
493
- return output
494
- }
495
-
496
- func emplace_metadata_object_intersection_has_duplicate_key(
497
- checker *nativechecker.Checker,
498
- collection *schemametadata.MetadataCollection,
499
- children []*nativechecker.Type,
500
- ) bool {
501
- keys := map[string]bool{}
502
- for _, child := range children {
503
- if child == nil {
504
- return true
505
- }
506
- for _, symbol := range collection.ApparentProperties(checker, child) {
507
- if keys[symbol.Name] {
508
- return true
509
- }
510
- keys[symbol.Name] = true
511
- }
512
- }
513
- return false
514
- }
515
-
516
- func emplace_metadata_object_clone_property(property *schemametadata.MetadataProperty) *schemametadata.MetadataProperty {
517
- if property == nil {
518
- return nil
519
- }
520
- description := property.Description
521
- if description != nil {
522
- value := *description
523
- description = &value
524
- }
525
- mutability := property.Mutability
526
- if mutability != nil {
527
- value := *mutability
528
- mutability = &value
529
- }
530
- return schemametadata.MetadataProperty_create(schemametadata.MetadataProperty{
531
- Key: property.Key,
532
- Value: property.Value.Clone(),
533
- Description: description,
534
- JsDocTags: property.JsDocTags,
535
- Mutability: mutability,
536
- })
537
- }
538
-
539
- func emplace_metadata_object_significant(functional bool, methods bool) func(node *nativeast.Node) bool {
540
- if functional {
541
- return func(node *nativeast.Node) bool {
542
- return node.Kind != nativeast.KindGetAccessor && node.Kind != nativeast.KindSetAccessor
543
- }
544
- }
545
- return func(node *nativeast.Node) bool {
546
- switch node.Kind {
547
- case nativeast.KindParameter,
548
- nativeast.KindPropertyDeclaration,
549
- nativeast.KindPropertyAssignment,
550
- nativeast.KindPropertySignature,
551
- nativeast.KindTypeLiteral,
552
- nativeast.KindShorthandPropertyAssignment:
553
- return true
554
- case nativeast.KindMethodDeclaration,
555
- nativeast.KindMethodSignature:
556
- return methods
557
- default:
558
- return false
559
- }
560
- }
561
- }
562
-
563
- func emplace_metadata_object_valid_dynamic_key(key *schemametadata.MetadataSchema) bool {
564
- total := len(key.Atomics) + len(key.Templates)
565
- for _, constant := range key.Constants {
566
- total += len(constant.Values)
567
- }
568
- for _, native := range key.Natives {
569
- if native.Name == "Boolean" || native.Name == "BigInt" || native.Name == "Number" || native.Name == "String" {
570
- total++
571
- }
572
- }
573
- return total == key.Size()
574
- }
575
-
576
- func iterate_optional_coalesce(props struct {
577
- Metadata *schemametadata.MetadataSchema
578
- Type *nativechecker.Type
579
- }) {
580
- if props.Type != nil && (props.Type.IsUnion() || props.Type.IsIntersection()) {
581
- for _, child := range props.Type.Types() {
582
- iterate_optional_coalesce(struct {
583
- Metadata *schemametadata.MetadataSchema
584
- Type *nativechecker.Type
585
- }{
586
- Metadata: props.Metadata,
587
- Type: child,
588
- })
589
- }
590
- return
591
- }
592
- Iterate_metadata_coalesce(struct {
593
- Metadata *schemametadata.MetadataSchema
594
- Type *nativechecker.Type
595
- }{
596
- Metadata: props.Metadata,
597
- Type: props.Type,
598
- })
599
- }
1
+ package metadata
2
+
3
+ import (
4
+ "strings"
5
+
6
+ nativeast "github.com/microsoft/typescript-go/shim/ast"
7
+ nativechecker "github.com/microsoft/typescript-go/shim/checker"
8
+ schemametadata "github.com/samchon/typia/packages/typia/native/core/schemas/metadata"
9
+ )
10
+
11
+ func Emplace_metadata_object(props IMetadataIteratorProps) *schemametadata.MetadataObjectType {
12
+ obj, newbie := props.Components.Emplace(props.Checker, props.Type)
13
+ metadata_array_util_add_bool(&obj.Nullables, props.Metadata.Nullable)
14
+ if newbie == false {
15
+ return obj
16
+ }
17
+
18
+ if props.Type != nil {
19
+ // The MetadataCollection layer cannot reach the AST JSDoc helpers (they live
20
+ // in this factory package), so the object's own description / tags are
21
+ // emplaced as stubs there and filled in here from the declaring symbol.
22
+ // Prefer the type-name symbol (so a `type Foo = { ... }` alias' comment is
23
+ // honored) and fall back to the structural symbol (an interface / class). The
24
+ // type-level readers skip default-library declarations so a utility type such
25
+ // as `Record<K, V>` never leaks its standard-library comment.
26
+ symbol := props.Type.Symbol()
27
+ if typeName := nativechecker_type_name_symbol(props.Type); typeName != nil {
28
+ symbol = typeName
29
+ }
30
+ obj.Description = metadata_node_type_description(symbol)
31
+ obj.JsDocTags = metadata_node_type_js_doc_tags(symbol)
32
+
33
+ // Capture the declaring source file (named declarations only) so
34
+ // plain.classify can value-import a cross-module class it reconstructs.
35
+ // Additive: other features ignore obj.Source.
36
+ if sym := props.Type.Symbol(); sym != nil && len(sym.Declarations) != 0 {
37
+ decl := sym.Declarations[0]
38
+ // A `class` (declaration or expression — including a generic instantiation,
39
+ // whose symbol still resolves to the class declaration) has a runtime value
40
+ // binding; an interface / type alias / anonymous object literal does not, so
41
+ // plain.classify must field-copy a plain {} rather than reference a type-only
42
+ // name. classRefOf gates on this.
43
+ obj.IsClass = decl.Kind == nativeast.KindClassDeclaration || decl.Kind == nativeast.KindClassExpression
44
+ if src := nativeast.GetSourceFileOfNode(decl); src != nil {
45
+ file := src.FileName()
46
+ obj.Source = &file
47
+ // The Default modifier covers `export default class C {}`; a SEPARATE
48
+ // `class C {}; export default C;` puts no modifier on the class, so also
49
+ // detect that ExportAssignment form (else a cross-module classify
50
+ // value-imports a missing NAMED binding).
51
+ obj.SourceDefault = decl.ModifierFlags()&nativeast.ModifierFlagsDefault != 0 ||
52
+ emplace_metadata_object_is_default_export(props.Checker, sym, decl, src)
53
+ }
54
+ // A class EXPRESSION's symbol name is the inner `Beast` (`const X = class
55
+ // Beast {}`) or the binder-internal `__class` (`const X = class {}`),
56
+ // neither of which binds at the classify call site; the runtime value is
57
+ // the enclosing `const X`. Capture X so the field-copy allocator (classRefOf)
58
+ // references it for BOTH named and unnamed expressions — the unnamed form's
59
+ // metadata Name can still surface the `__class` binder name, so do not rely
60
+ // on it. An expression with no enclosing variable binding leaves ValueRef
61
+ // empty (classRefOf falls back to the metadata Name). A class DECLARATION's
62
+ // Kind is not ClassExpression, so it is unaffected.
63
+ if decl.Kind == nativeast.KindClassExpression {
64
+ obj.ValueRef = emplace_metadata_object_value_binding(decl)
65
+ }
66
+ // ES `#private` members are installed only by the constructor, so
67
+ // plain.classify cannot soundly field-copy (Object.create + assign) a class
68
+ // that has them — and the PROTOTYPE CHAIN matters: a field-copied subclass
69
+ // of a #private-bearing base would equally throw "Cannot read private
70
+ // member". The type system hides #private from ApparentProperties, so detect
71
+ // it on the class declaration(s), walking the `extends` chain. Additive flag,
72
+ // read only by the classify programmer.
73
+ if emplace_metadata_object_private_fields(props.Checker, props.Type, map[*nativechecker.Type]bool{}) {
74
+ obj.PrivateFields = true
75
+ }
76
+ }
77
+ }
78
+
79
+ isClass := props.Type != nil && props.Type.IsClass()
80
+ isProperty := emplace_metadata_object_significant(props.Options.Functional, props.Options.Methods)
81
+ pred := func(node *nativeast.Node) bool {
82
+ if node == nil {
83
+ return true
84
+ }
85
+ if isClass && node.ModifierFlags()&(nativeast.ModifierFlagsPrivate|nativeast.ModifierFlagsProtected) != 0 {
86
+ return false
87
+ }
88
+ return isProperty(node)
89
+ }
90
+
91
+ insert := func(next emplace_metadata_object_insert) *schemametadata.MetadataProperty {
92
+ property := emplace_metadata_object_create_property(next)
93
+ obj.Properties = append(obj.Properties, property)
94
+ return property
95
+ }
96
+ if emplace_metadata_object_intersection(props, obj, insert, pred) {
97
+ return obj
98
+ }
99
+
100
+ for _, symbol := range props.Components.ApparentProperties(props.Checker, props.Type) {
101
+ if metadata_is_internal(symbol) {
102
+ continue
103
+ }
104
+ var node *nativeast.Node
105
+ if len(symbol.Declarations) != 0 {
106
+ node = symbol.Declarations[0]
107
+ }
108
+ var typ *nativechecker.Type
109
+ if node != nil {
110
+ typ = props.Checker.GetTypeOfSymbolAtLocation(symbol, node)
111
+ } else {
112
+ typ = nativechecker.Checker_getTypeOfPropertyOfType(props.Checker, props.Type, symbol.Name)
113
+ }
114
+ if (node != nil && pred(node) == false) || typ == nil {
115
+ continue
116
+ }
117
+
118
+ key := MetadataHelper.Literal_to_metadata(symbol.Name)
119
+ explore := MetadataFactory_IExplore{
120
+ Top: false,
121
+ Object: obj,
122
+ Property: symbol.Name,
123
+ Parameter: nil,
124
+ Nested: nil,
125
+ Aliased: false,
126
+ Escaped: false,
127
+ Output: false,
128
+ }
129
+ value := Explore_metadata(Explore_metadata_IProps{
130
+ Options: props.Options,
131
+ Checker: props.Checker,
132
+ Components: props.Components,
133
+ Errors: props.Errors,
134
+ Type: typ,
135
+ Explore: explore,
136
+ Intersected: false,
137
+ })
138
+ value.Optional = symbol.Flags&nativeast.SymbolFlagsOptional != 0
139
+ insert(emplace_metadata_object_insert{
140
+ Key: key,
141
+ Value: value,
142
+ Symbol: symbol,
143
+ Node: node,
144
+ })
145
+ }
146
+
147
+ for _, index := range props.Components.IndexInfos(props.Checker, props.Type) {
148
+ analyzer := func(typ *nativechecker.Type) func(any) *schemametadata.MetadataSchema {
149
+ return func(property any) *schemametadata.MetadataSchema {
150
+ explore := MetadataFactory_IExplore{
151
+ Top: false,
152
+ Object: obj,
153
+ Property: property,
154
+ Parameter: nil,
155
+ Nested: nil,
156
+ Aliased: false,
157
+ Escaped: false,
158
+ Output: false,
159
+ }
160
+ return Explore_metadata(Explore_metadata_IProps{
161
+ Options: props.Options,
162
+ Checker: props.Checker,
163
+ Components: props.Components,
164
+ Errors: props.Errors,
165
+ Type: typ,
166
+ Explore: explore,
167
+ Intersected: false,
168
+ })
169
+ }
170
+ }
171
+ key := analyzer(index.KeyType())(nil)
172
+ value := analyzer(index.ValueType())(struct{}{})
173
+ if emplace_metadata_object_valid_dynamic_key(key) == false && props.Errors != nil {
174
+ *props.Errors = append(*props.Errors, MetadataFactory_IError{
175
+ Name: key.GetName(),
176
+ Explore: MetadataFactory_IExplore{
177
+ Top: false,
178
+ Object: obj,
179
+ Property: "[key]",
180
+ Parameter: nil,
181
+ Nested: nil,
182
+ Aliased: false,
183
+ Escaped: false,
184
+ Output: false,
185
+ },
186
+ Messages: []string{},
187
+ })
188
+ }
189
+ insert(emplace_metadata_object_insert{
190
+ Key: key,
191
+ Value: value,
192
+ FilterTags: func(doc schemametadata.IJsDocTagInfo) bool {
193
+ return doc.Name != "default"
194
+ },
195
+ })
196
+ }
197
+ return obj
198
+ }
199
+
200
+ // emplace_metadata_object_private_fields reports whether `typ` or any class in
201
+ // its `extends` chain declares an INSTANCE ES #private member — which field-copy
202
+ // (Object.create + assign) cannot reconstruct, so plain.classify must reject it.
203
+ // A STATIC #private (on the constructor) is excluded at every level. `visited`
204
+ // guards against type cycles.
205
+ func emplace_metadata_object_private_fields(checker *nativechecker.Checker, typ *nativechecker.Type, visited map[*nativechecker.Type]bool) bool {
206
+ if checker == nil || typ == nil || visited[typ] {
207
+ return false
208
+ }
209
+ visited[typ] = true
210
+ sym := typ.Symbol()
211
+ if sym == nil || len(sym.Declarations) == 0 {
212
+ return false
213
+ }
214
+ decl := sym.Declarations[0]
215
+ var members []*nativeast.Node
216
+ if decl.Kind == nativeast.KindClassDeclaration {
217
+ if cd := decl.AsClassDeclaration(); cd != nil && cd.Members != nil {
218
+ members = cd.Members.Nodes
219
+ }
220
+ } else if decl.Kind == nativeast.KindClassExpression {
221
+ if ce := decl.AsClassExpression(); ce != nil && ce.Members != nil {
222
+ members = ce.Members.Nodes
223
+ }
224
+ } else {
225
+ // Not a class — no instance #private to find, and Checker_getBaseTypes is
226
+ // defined only for class/interface symbols (a union / primitive / type-alias
227
+ // Reference would hit its panic arm). Stop here.
228
+ return false
229
+ }
230
+ for _, member := range members {
231
+ if member == nil {
232
+ continue
233
+ }
234
+ if member.ModifierFlags()&nativeast.ModifierFlagsStatic != 0 {
235
+ continue
236
+ }
237
+ if name := member.Name(); name != nil && name.Kind == nativeast.KindPrivateIdentifier {
238
+ return true
239
+ }
240
+ }
241
+ // Walk the `extends` chain. Checker_getBaseTypes nil-dereferences (its internal
242
+ // t.AsInterfaceType() is nil) for anything that is not a class/interface
243
+ // INSTANCE — including a class's Anonymous static side `typeof C` and a generic
244
+ // instantiation Reference (`Mid<string>`) — so it is guarded to a ClassOrInterface
245
+ // instance. A generic subclass's OWN #private is still caught by the member scan
246
+ // above; only a #private INHERITED through a generic base boundary is not
247
+ // detected (narrow, documented). The non-generic inheritance chain is covered.
248
+ if typ.ObjectFlags()&nativechecker.ObjectFlagsClassOrInterface == 0 {
249
+ return false
250
+ }
251
+ for _, base := range nativechecker.Checker_getBaseTypes(checker, typ) {
252
+ if emplace_metadata_object_private_fields(checker, base, visited) {
253
+ return true
254
+ }
255
+ }
256
+ return false
257
+ }
258
+
259
+ // emplace_metadata_object_is_default_export reports whether `sym` (a class
260
+ // declared by `decl` in `src`) is the module default export via a SEPARATE
261
+ // `export default C;` statement, which leaves NO Default modifier on the class
262
+ // declaration. Walks the source file's top-level ExportAssignment statements for
263
+ // an `export default <ident>` (not `export = `) whose identifier resolves to
264
+ // this class symbol. nil-safe.
265
+ func emplace_metadata_object_is_default_export(
266
+ checker *nativechecker.Checker,
267
+ sym *nativeast.Symbol,
268
+ decl *nativeast.Node,
269
+ src *nativeast.SourceFile,
270
+ ) bool {
271
+ if checker == nil || sym == nil || src == nil || src.Statements == nil {
272
+ return false
273
+ }
274
+ for _, stmt := range src.Statements.Nodes {
275
+ if stmt == nil || stmt.Kind != nativeast.KindExportAssignment {
276
+ continue
277
+ }
278
+ ea := stmt.AsExportAssignment()
279
+ if ea == nil || ea.IsExportEquals || ea.Expression == nil {
280
+ continue
281
+ }
282
+ target := checker.GetSymbolAtLocation(ea.Expression)
283
+ if target == nil {
284
+ continue
285
+ }
286
+ if target == sym || (len(target.Declarations) != 0 && target.Declarations[0] == decl) {
287
+ return true
288
+ }
289
+ }
290
+ return false
291
+ }
292
+
293
+ // emplace_metadata_object_value_binding returns the enclosing `const X = class
294
+ // {...}` variable name for a class-expression declaration (walking past any
295
+ // parentheses), or "" when the class expression has no variable binding.
296
+ func emplace_metadata_object_value_binding(decl *nativeast.Node) string {
297
+ node := decl.Parent
298
+ for node != nil && node.Kind == nativeast.KindParenthesizedExpression {
299
+ node = node.Parent
300
+ }
301
+ if node == nil || node.Kind != nativeast.KindVariableDeclaration || node.Name() == nil {
302
+ return ""
303
+ }
304
+ name := strings.TrimSpace(node.Name().Text())
305
+ // Qualify by any enclosing namespace (VariableDeclaration -> List -> Statement
306
+ // -> ModuleBlock) so a `namespace NS { const X = class {} }` binds as `NS.X`.
307
+ if list := node.Parent; list != nil {
308
+ if stmt := list.Parent; stmt != nil {
309
+ return metadata_explore_symbol_name(stmt.Parent, name)
310
+ }
311
+ }
312
+ return name
313
+ }
314
+
315
+ type emplace_metadata_object_insert struct {
316
+ Key *schemametadata.MetadataSchema
317
+ Value *schemametadata.MetadataSchema
318
+ Symbol *nativeast.Symbol
319
+ Node *nativeast.Node
320
+ FilterTags func(schemametadata.IJsDocTagInfo) bool
321
+ }
322
+
323
+ func emplace_metadata_object_create_property(next emplace_metadata_object_insert) *schemametadata.MetadataProperty {
324
+ description := metadata_node_description(next.Symbol)
325
+ jsDocTags := metadata_node_js_doc_tags(next.Symbol)
326
+ if next.FilterTags != nil {
327
+ filtered := []schemametadata.IJsDocTagInfo{}
328
+ for _, tag := range jsDocTags {
329
+ if next.FilterTags(tag) {
330
+ filtered = append(filtered, tag)
331
+ }
332
+ }
333
+ jsDocTags = filtered
334
+ }
335
+ var mutability *string
336
+ if next.Node != nil && next.Node.ModifierFlags()&nativeast.ModifierFlagsReadonly != 0 {
337
+ value := "readonly"
338
+ mutability = &value
339
+ }
340
+ return schemametadata.MetadataProperty_create(schemametadata.MetadataProperty{
341
+ Key: next.Key,
342
+ Value: next.Value,
343
+ Description: description,
344
+ JsDocTags: jsDocTags,
345
+ Mutability: mutability,
346
+ })
347
+ }
348
+
349
+ func emplace_metadata_object_intersection(
350
+ props IMetadataIteratorProps,
351
+ obj *schemametadata.MetadataObjectType,
352
+ insert func(emplace_metadata_object_insert) *schemametadata.MetadataProperty,
353
+ pred func(node *nativeast.Node) bool,
354
+ ) bool {
355
+ if props.Checker == nil ||
356
+ props.Type == nil ||
357
+ props.Type.IsIntersection() == false ||
358
+ iterate_metadata_intersection_is_plain_object_only(props.Checker, props.Components, props.Type, map[*nativechecker.Type]bool{}) == false {
359
+ return false
360
+ }
361
+ children := emplace_metadata_object_intersection_children(props.Type, map[*nativechecker.Type]bool{})
362
+ if len(children) < 2 || emplace_metadata_object_intersection_has_duplicate_key(props.Checker, props.Components, children) {
363
+ return false
364
+ }
365
+ merged := []*schemametadata.MetadataProperty{}
366
+ checkProperties := []*schemametadata.MetadataProperty{}
367
+ parentObjects := []*schemametadata.MetadataObject{}
368
+ props.Explore.Object = obj
369
+ props.Explore.Top = false
370
+ for _, child := range children {
371
+ if emplace_metadata_object_shareable_child(props, child) {
372
+ explore := props.Explore
373
+ explore.Object = obj
374
+ explore.Property = nil
375
+ explore.Aliased = false
376
+ metadata := Explore_metadata(Explore_metadata_IProps{
377
+ Options: props.Options,
378
+ Checker: props.Checker,
379
+ Components: props.Components,
380
+ Errors: props.Errors,
381
+ Type: child,
382
+ Explore: explore,
383
+ Prunable: props.Prunable,
384
+ })
385
+ if metadata.Size() != 1 || len(metadata.Objects) != 1 {
386
+ return false
387
+ }
388
+ if len(metadata.Objects[0].Tags) != 0 {
389
+ return false
390
+ }
391
+ parentObjects = append(parentObjects, metadata.Objects[0])
392
+ for _, property := range metadata.Objects[0].Type.Properties {
393
+ merged = append(merged, emplace_metadata_object_clone_property(property))
394
+ }
395
+ } else if emplace_metadata_object_intersection_append(
396
+ props,
397
+ child,
398
+ func(next emplace_metadata_object_insert) *schemametadata.MetadataProperty {
399
+ property := emplace_metadata_object_create_property(next)
400
+ merged = append(merged, property)
401
+ checkProperties = append(checkProperties, property)
402
+ return property
403
+ },
404
+ pred,
405
+ ) == false {
406
+ return false
407
+ }
408
+ }
409
+ obj.Properties = append(obj.Properties, merged...)
410
+ if len(parentObjects) != 0 {
411
+ obj.Parent_objects_ = append(obj.Parent_objects_, parentObjects...)
412
+ obj.Check_properties_ = append(obj.Check_properties_, checkProperties...)
413
+ }
414
+ return true
415
+ }
416
+
417
+ func emplace_metadata_object_shareable_child(props IMetadataIteratorProps, child *nativechecker.Type) bool {
418
+ fullName := metadata_type_full_name(props.Checker, child, props.Components)
419
+ sanitized := iterate_metadata_intersection_sanitize_name(fullName)
420
+ return iterate_metadata_intersection_shareable_name(fullName, sanitized)
421
+ }
422
+
423
+ func emplace_metadata_object_intersection_append(
424
+ props IMetadataIteratorProps,
425
+ child *nativechecker.Type,
426
+ insert func(emplace_metadata_object_insert) *schemametadata.MetadataProperty,
427
+ pred func(node *nativeast.Node) bool,
428
+ ) bool {
429
+ if props.Checker == nil || child == nil || len(props.Components.IndexInfos(props.Checker, child)) != 0 {
430
+ return false
431
+ }
432
+ for _, symbol := range props.Components.ApparentProperties(props.Checker, child) {
433
+ if metadata_is_internal(symbol) {
434
+ continue
435
+ }
436
+ var node *nativeast.Node
437
+ if len(symbol.Declarations) != 0 {
438
+ node = symbol.Declarations[0]
439
+ }
440
+ var typ *nativechecker.Type
441
+ if node != nil {
442
+ typ = props.Checker.GetTypeOfSymbolAtLocation(symbol, node)
443
+ } else {
444
+ typ = nativechecker.Checker_getTypeOfPropertyOfType(props.Checker, child, symbol.Name)
445
+ }
446
+ if (node != nil && pred(node) == false) || typ == nil {
447
+ continue
448
+ }
449
+
450
+ explore := props.Explore
451
+ explore.Property = symbol.Name
452
+ explore.Parameter = nil
453
+ explore.Nested = nil
454
+ explore.Aliased = false
455
+ explore.Escaped = false
456
+ explore.Output = false
457
+ value := Explore_metadata(Explore_metadata_IProps{
458
+ Options: props.Options,
459
+ Checker: props.Checker,
460
+ Components: props.Components,
461
+ Errors: props.Errors,
462
+ Type: typ,
463
+ Explore: explore,
464
+ Intersected: false,
465
+ Prunable: props.Prunable,
466
+ })
467
+ value.Optional = symbol.Flags&nativeast.SymbolFlagsOptional != 0
468
+ insert(emplace_metadata_object_insert{
469
+ Key: MetadataHelper.Literal_to_metadata(symbol.Name),
470
+ Value: value,
471
+ Symbol: symbol,
472
+ Node: node,
473
+ })
474
+ }
475
+ return true
476
+ }
477
+
478
+ func emplace_metadata_object_intersection_children(
479
+ typ *nativechecker.Type,
480
+ visited map[*nativechecker.Type]bool,
481
+ ) []*nativechecker.Type {
482
+ if typ == nil || visited[typ] {
483
+ return nil
484
+ }
485
+ visited[typ] = true
486
+ if typ.IsIntersection() == false {
487
+ return []*nativechecker.Type{typ}
488
+ }
489
+ output := []*nativechecker.Type{}
490
+ for _, child := range typ.Types() {
491
+ output = append(output, emplace_metadata_object_intersection_children(child, visited)...)
492
+ }
493
+ return output
494
+ }
495
+
496
+ func emplace_metadata_object_intersection_has_duplicate_key(
497
+ checker *nativechecker.Checker,
498
+ collection *schemametadata.MetadataCollection,
499
+ children []*nativechecker.Type,
500
+ ) bool {
501
+ keys := map[string]bool{}
502
+ for _, child := range children {
503
+ if child == nil {
504
+ return true
505
+ }
506
+ for _, symbol := range collection.ApparentProperties(checker, child) {
507
+ if keys[symbol.Name] {
508
+ return true
509
+ }
510
+ keys[symbol.Name] = true
511
+ }
512
+ }
513
+ return false
514
+ }
515
+
516
+ func emplace_metadata_object_clone_property(property *schemametadata.MetadataProperty) *schemametadata.MetadataProperty {
517
+ if property == nil {
518
+ return nil
519
+ }
520
+ description := property.Description
521
+ if description != nil {
522
+ value := *description
523
+ description = &value
524
+ }
525
+ mutability := property.Mutability
526
+ if mutability != nil {
527
+ value := *mutability
528
+ mutability = &value
529
+ }
530
+ return schemametadata.MetadataProperty_create(schemametadata.MetadataProperty{
531
+ Key: property.Key,
532
+ Value: property.Value.Clone(),
533
+ Description: description,
534
+ JsDocTags: property.JsDocTags,
535
+ Mutability: mutability,
536
+ })
537
+ }
538
+
539
+ func emplace_metadata_object_significant(functional bool, methods bool) func(node *nativeast.Node) bool {
540
+ if functional {
541
+ return func(node *nativeast.Node) bool {
542
+ return node.Kind != nativeast.KindGetAccessor && node.Kind != nativeast.KindSetAccessor
543
+ }
544
+ }
545
+ return func(node *nativeast.Node) bool {
546
+ switch node.Kind {
547
+ case nativeast.KindParameter,
548
+ nativeast.KindPropertyDeclaration,
549
+ nativeast.KindPropertyAssignment,
550
+ nativeast.KindPropertySignature,
551
+ nativeast.KindTypeLiteral,
552
+ nativeast.KindShorthandPropertyAssignment:
553
+ return true
554
+ case nativeast.KindMethodDeclaration,
555
+ nativeast.KindMethodSignature:
556
+ return methods
557
+ default:
558
+ return false
559
+ }
560
+ }
561
+ }
562
+
563
+ func emplace_metadata_object_valid_dynamic_key(key *schemametadata.MetadataSchema) bool {
564
+ total := len(key.Atomics) + len(key.Templates)
565
+ for _, constant := range key.Constants {
566
+ total += len(constant.Values)
567
+ }
568
+ for _, native := range key.Natives {
569
+ if native.Name == "Boolean" || native.Name == "BigInt" || native.Name == "Number" || native.Name == "String" {
570
+ total++
571
+ }
572
+ }
573
+ return total == key.Size()
574
+ }
575
+
576
+ func iterate_optional_coalesce(props struct {
577
+ Metadata *schemametadata.MetadataSchema
578
+ Type *nativechecker.Type
579
+ }) {
580
+ if props.Type != nil && (props.Type.IsUnion() || props.Type.IsIntersection()) {
581
+ for _, child := range props.Type.Types() {
582
+ iterate_optional_coalesce(struct {
583
+ Metadata *schemametadata.MetadataSchema
584
+ Type *nativechecker.Type
585
+ }{
586
+ Metadata: props.Metadata,
587
+ Type: child,
588
+ })
589
+ }
590
+ return
591
+ }
592
+ Iterate_metadata_coalesce(struct {
593
+ Metadata *schemametadata.MetadataSchema
594
+ Type *nativechecker.Type
595
+ }{
596
+ Metadata: props.Metadata,
597
+ Type: props.Type,
598
+ })
599
+ }