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,1254 +1,1254 @@
1
- package plain
2
-
3
- import (
4
- "fmt"
5
- "strings"
6
-
7
- shimast "github.com/microsoft/typescript-go/shim/ast"
8
- shimchecker "github.com/microsoft/typescript-go/shim/checker"
9
- shimprinter "github.com/microsoft/typescript-go/shim/printer"
10
- nativecontext "github.com/samchon/typia/packages/typia/native/core/context"
11
- nativefactories "github.com/samchon/typia/packages/typia/native/core/factories"
12
- nativeprogrammers "github.com/samchon/typia/packages/typia/native/core/programmers"
13
- nativehelpers "github.com/samchon/typia/packages/typia/native/core/programmers/helpers"
14
- nativeinternal "github.com/samchon/typia/packages/typia/native/core/programmers/internal"
15
- nativeiterate "github.com/samchon/typia/packages/typia/native/core/programmers/iterate"
16
- schemametadata "github.com/samchon/typia/packages/typia/native/core/schemas/metadata"
17
- )
18
-
19
- type plainCloneProgrammerNamespace struct{}
20
-
21
- var PlainCloneProgrammer = plainCloneProgrammerNamespace{}
22
-
23
- type PlainCloneProgrammer_DecomposeProps struct {
24
- Validated bool
25
- Context nativecontext.ITypiaContext
26
- Functor *nativehelpers.FunctionProgrammer
27
- Type *shimchecker.Type
28
- Name *string
29
- }
30
-
31
- const plainCloneProgrammer_PREFIX = "_c"
32
-
33
- var plainCloneProgrammer_factory = shimast.NewNodeFactory(shimast.NodeFactoryHooks{})
34
-
35
- func (plainCloneProgrammerNamespace) Decompose(props PlainCloneProgrammer_DecomposeProps) nativeinternal.FeatureProgrammer_IDecomposed {
36
- f := nativecontext.EmitFactoryOf(plainCloneProgrammer_factory, props.Context.Emit)
37
- config := plainCloneProgrammer_configure(struct {
38
- Context nativecontext.ITypiaContext
39
- Functor *nativehelpers.FunctionProgrammer
40
- }{
41
- Context: props.Context,
42
- Functor: props.Functor,
43
- })
44
- if props.Validated == false {
45
- config.Addition = func(collection *schemametadata.MetadataCollection) []*shimast.Node {
46
- return nativeprogrammers.IsProgrammer.Write_function_statements(nativeprogrammers.IsProgrammer_WriteFunctionStatementsProps{
47
- Context: props.Context,
48
- Functor: props.Functor,
49
- Collection: collection,
50
- })
51
- }
52
- }
53
- composed := nativeinternal.FeatureProgrammer.Compose(nativeinternal.FeatureProgrammer_ComposeProps{
54
- Context: props.Context,
55
- Config: config,
56
- Functor: props.Functor,
57
- Type: props.Type,
58
- Name: props.Name,
59
- })
60
- return nativeinternal.FeatureProgrammer_IDecomposed{
61
- Functions: composed.Functions,
62
- Statements: composed.Statements,
63
- Arrow: f.NewArrowFunction(
64
- nil,
65
- nil,
66
- f.NewNodeList(composed.Parameters),
67
- composed.Response,
68
- nil,
69
- f.NewToken(shimast.KindEqualsGreaterThanToken),
70
- composed.Body,
71
- ),
72
- }
73
- }
74
-
75
- func (plainCloneProgrammerNamespace) Write(props nativecontext.IProgrammerProps) *shimast.Node {
76
- functor := nativehelpers.NewFunctionProgrammer(plainCloneProgrammer_method_text(props.Modulo), props.Context.Emit)
77
- result := PlainCloneProgrammer.Decompose(PlainCloneProgrammer_DecomposeProps{
78
- Context: props.Context,
79
- Functor: functor,
80
- Type: props.Type,
81
- Name: props.Name,
82
- Validated: false,
83
- })
84
- return nativeinternal.FeatureProgrammer.WriteDecomposed(nativeinternal.FeatureProgrammer_WriteDecomposedProps{
85
- Modulo: props.Modulo,
86
- Functor: functor,
87
- Result: result,
88
- })
89
- }
90
-
91
- func plainCloneProgrammer_write_array_functions(props struct {
92
- Context nativecontext.ITypiaContext
93
- Config nativeinternal.FeatureProgrammer_IConfig
94
- Functor *nativehelpers.FunctionProgrammer
95
- Collection *schemametadata.MetadataCollection
96
- }) []*shimast.Node {
97
- f := nativecontext.EmitFactoryOf(plainCloneProgrammer_factory, props.Context.Emit)
98
- output := []*shimast.Node{}
99
- for i, typ := range props.Collection.Arrays() {
100
- if typ.Recursive == false {
101
- continue
102
- }
103
- output = append(output, nativefactories.StatementFactory.Constant(nativefactories.StatementFactory_ConstantProps{
104
- Name: fmt.Sprintf("%sa%d", props.Config.Prefix, i),
105
- Value: f.NewArrowFunction(
106
- nil,
107
- nil,
108
- f.NewNodeList(nativeinternal.FeatureProgrammer.ParameterDeclarations(nativeinternal.FeatureProgrammer_ParameterDeclarationsProps{
109
- Config: nativeinternal.FeatureProgrammer_ParameterConfig{Path: props.Config.Path, Trace: props.Config.Trace, Visited: props.Functor.Visited()},
110
- Type: nativefactories.TypeFactory.Keyword("any", props.Context.Emit),
111
- Input: f.NewIdentifier("input"),
112
- })),
113
- nativefactories.TypeFactory.Keyword("any", props.Context.Emit),
114
- nil,
115
- f.NewToken(shimast.KindEqualsGreaterThanToken),
116
- nativeinternal.FeatureProgrammer.VisitGuardRebuild(
117
- nativeinternal.FeatureProgrammer.VisitKey(props.Config.Prefix, "a", i),
118
- true,
119
- plainCloneProgrammer_decode_array_inline(plainCloneProgrammer_decodeArrayProps{
120
- Context: props.Context,
121
- Config: props.Config,
122
- Functor: props.Functor,
123
- Input: f.NewIdentifier("input"),
124
- Array: schemametadata.MetadataArray_create(schemametadata.MetadataArray{
125
- Type: typ,
126
- Tags: [][]schemametadata.IMetadataTypeTag{},
127
- }),
128
- Explore: nativeinternal.FeatureProgrammer_IExplore{
129
- Tracable: props.Config.Trace,
130
- Source: "function",
131
- From: "array",
132
- Postfix: "",
133
- },
134
- }),
135
- props.Context.Emit,
136
- ),
137
- ),
138
- }, props.Context.Emit))
139
- }
140
- return output
141
- }
142
-
143
- func plainCloneProgrammer_write_tuple_functions(props struct {
144
- Context nativecontext.ITypiaContext
145
- Config nativeinternal.FeatureProgrammer_IConfig
146
- Functor *nativehelpers.FunctionProgrammer
147
- Collection *schemametadata.MetadataCollection
148
- }) []*shimast.Node {
149
- f := nativecontext.EmitFactoryOf(plainCloneProgrammer_factory, props.Context.Emit)
150
- output := []*shimast.Node{}
151
- for i, tuple := range props.Collection.Tuples() {
152
- if tuple.Recursive == false {
153
- continue
154
- }
155
- output = append(output, nativefactories.StatementFactory.Constant(nativefactories.StatementFactory_ConstantProps{
156
- Name: fmt.Sprintf("%st%d", props.Config.Prefix, i),
157
- Value: f.NewArrowFunction(
158
- nil,
159
- nil,
160
- f.NewNodeList(nativeinternal.FeatureProgrammer.ParameterDeclarations(nativeinternal.FeatureProgrammer_ParameterDeclarationsProps{
161
- Config: nativeinternal.FeatureProgrammer_ParameterConfig{Path: props.Config.Path, Trace: props.Config.Trace, Visited: props.Functor.Visited()},
162
- Type: nativefactories.TypeFactory.Keyword("any", props.Context.Emit),
163
- Input: f.NewIdentifier("input"),
164
- })),
165
- nativefactories.TypeFactory.Keyword("any", props.Context.Emit),
166
- nil,
167
- f.NewToken(shimast.KindEqualsGreaterThanToken),
168
- nativeinternal.FeatureProgrammer.VisitGuardRebuild(
169
- nativeinternal.FeatureProgrammer.VisitKey(props.Config.Prefix, "t", i),
170
- true,
171
- plainCloneProgrammer_decode_tuple_inline(plainCloneProgrammer_decodeTupleInlineProps{
172
- Context: props.Context,
173
- Config: props.Config,
174
- Functor: props.Functor,
175
- Input: f.NewIdentifier("input"),
176
- Tuple: tuple,
177
- Explore: nativeinternal.FeatureProgrammer_IExplore{
178
- Tracable: props.Config.Trace,
179
- Source: "function",
180
- From: "array",
181
- Postfix: "",
182
- },
183
- }),
184
- props.Context.Emit,
185
- ),
186
- ),
187
- }, props.Context.Emit))
188
- }
189
- return output
190
- }
191
-
192
- func plainCloneProgrammer_decode(props struct {
193
- Context nativecontext.ITypiaContext
194
- Config nativeinternal.FeatureProgrammer_IConfig
195
- Functor *nativehelpers.FunctionProgrammer
196
- Input *shimast.Node
197
- Metadata *schemametadata.MetadataSchema
198
- Explore nativeinternal.FeatureProgrammer_IExplore
199
- }) *shimast.Node {
200
- f := nativecontext.EmitFactoryOf(plainCloneProgrammer_factory, props.Context.Emit)
201
- if props.Metadata.Any ||
202
- plainCloneProgrammer_some_arrays(props.Metadata.Arrays, func(a *schemametadata.MetadataArray) bool { return a.Type.Value.Any }) ||
203
- plainCloneProgrammer_some_tuples(props.Metadata.Tuples, func(t *schemametadata.MetadataTuple) bool {
204
- return len(t.Type.Elements) != 0 && plainCloneProgrammer_every_schema(t.Type.Elements, func(e *schemametadata.MetadataSchema) bool { return e.Any })
205
- }) {
206
- return f.NewCallExpression(
207
- plainCloneProgrammer_internal(props.Context, "plainCloneAny"),
208
- nil,
209
- nil,
210
- f.NewNodeList([]*shimast.Node{props.Input}),
211
- shimast.NodeFlagsNone,
212
- )
213
- }
214
-
215
- unions := []plainCloneProgrammer_IUnion{}
216
- if len(props.Metadata.Functions) != 0 {
217
- unions = append(unions, plainCloneProgrammer_IUnion{
218
- Type: "functional",
219
- Is: func() *shimast.Node {
220
- return f.NewBinaryExpression(
221
- nil,
222
- f.NewStringLiteral("function", shimast.TokenFlagsNone),
223
- nil,
224
- f.NewToken(shimast.KindEqualsEqualsEqualsToken),
225
- f.NewTypeOfExpression(props.Input),
226
- )
227
- },
228
- Value: func() *shimast.Node {
229
- return f.NewIdentifier("undefined")
230
- },
231
- })
232
- }
233
- for _, tuple := range props.Metadata.Tuples {
234
- tuple := tuple
235
- unions = append(unions, plainCloneProgrammer_IUnion{
236
- Type: "tuple",
237
- Is: func() *shimast.Node {
238
- partial := schemametadata.MetadataSchema_initialize()
239
- partial.Tuples = append(partial.Tuples, tuple)
240
- return nativeprogrammers.IsProgrammer.Decode(nativeprogrammers.IsProgrammer_DecodeProps{
241
- Context: props.Context,
242
- Functor: props.Functor,
243
- Metadata: partial,
244
- Input: props.Input,
245
- Explore: nativeinternal.CheckerProgrammer_IExplore{
246
- Tracable: props.Explore.Tracable,
247
- Source: props.Explore.Source,
248
- From: props.Explore.From,
249
- Postfix: props.Explore.Postfix,
250
- Start: props.Explore.Start,
251
- },
252
- })
253
- },
254
- Value: func() *shimast.Node {
255
- return plainCloneProgrammer_decode_tuple(plainCloneProgrammer_decodeTupleProps{
256
- Context: props.Context,
257
- Config: props.Config,
258
- Functor: props.Functor,
259
- Input: props.Input,
260
- Tuple: tuple,
261
- Explore: props.Explore,
262
- })
263
- },
264
- })
265
- }
266
- if len(props.Metadata.Arrays) != 0 {
267
- unions = append(unions, plainCloneProgrammer_IUnion{
268
- Type: "array",
269
- Is: func() *shimast.Node {
270
- return nativefactories.ExpressionFactory.IsArray(props.Input)
271
- },
272
- Value: func() *shimast.Node {
273
- explore := props.Explore
274
- explore.From = "array"
275
- return plainCloneProgrammer_explore_arrays(plainCloneProgrammer_exploreArraysProps{
276
- Context: props.Context,
277
- Config: props.Config,
278
- Functor: props.Functor,
279
- Input: props.Input,
280
- Arrays: props.Metadata.Arrays,
281
- Explore: explore,
282
- })
283
- },
284
- })
285
- }
286
- if len(props.Metadata.Sets) != 0 {
287
- unions = append(unions, plainCloneProgrammer_IUnion{
288
- Type: "set",
289
- Is: func() *shimast.Node {
290
- return nativefactories.ExpressionFactory.IsInstanceOf("Set", props.Input)
291
- },
292
- Value: func() *shimast.Node {
293
- explore := props.Explore
294
- explore.From = "array"
295
- return plainCloneProgrammer_explore_sets(plainCloneProgrammer_exploreSetsProps{
296
- Context: props.Context,
297
- Config: props.Config,
298
- Functor: props.Functor,
299
- Input: props.Input,
300
- Sets: props.Metadata.Sets,
301
- Explore: explore,
302
- })
303
- },
304
- })
305
- }
306
- if len(props.Metadata.Maps) != 0 {
307
- unions = append(unions, plainCloneProgrammer_IUnion{
308
- Type: "map",
309
- Is: func() *shimast.Node {
310
- return nativefactories.ExpressionFactory.IsInstanceOf("Map", props.Input)
311
- },
312
- Value: func() *shimast.Node {
313
- explore := props.Explore
314
- explore.From = "array"
315
- return plainCloneProgrammer_explore_maps(plainCloneProgrammer_exploreMapsProps{
316
- Context: props.Context,
317
- Config: props.Config,
318
- Functor: props.Functor,
319
- Input: props.Input,
320
- Maps: props.Metadata.Maps,
321
- Explore: explore,
322
- })
323
- },
324
- })
325
- }
326
- for _, native := range props.Metadata.Natives {
327
- native := native
328
- unions = append(unions, plainCloneProgrammer_IUnion{
329
- Type: "native",
330
- Is: func() *shimast.Node {
331
- return nativefactories.ExpressionFactory.IsInstanceOf(native.Name, props.Input)
332
- },
333
- Value: func() *shimast.Node {
334
- if _, ok := schemametadata.MetadataSchema_atomicLikeNative(native.Name); ok {
335
- return f.NewCallExpression(
336
- nativefactories.IdentifierFactory.Access(props.Context.Emit, props.Input, "valueOf"),
337
- nil,
338
- nil,
339
- nil,
340
- shimast.NodeFlagsNone,
341
- )
342
- }
343
- return plainCloneProgrammer_decode_native(struct {
344
- Context nativecontext.ITypiaContext
345
- Type string
346
- Input *shimast.Node
347
- }{Context: props.Context, Type: native.Name, Input: props.Input})
348
- },
349
- })
350
- }
351
- if len(props.Metadata.Objects) != 0 {
352
- unions = append(unions, plainCloneProgrammer_IUnion{
353
- Type: "object",
354
- Is: func() *shimast.Node {
355
- return nativefactories.ExpressionFactory.IsObject(nativefactories.ExpressionFactory_IsObjectProps{
356
- CheckNull: true,
357
- CheckArray: false,
358
- Input: props.Input,
359
- })
360
- },
361
- Value: func() *shimast.Node {
362
- explore := props.Explore
363
- explore.From = "object"
364
- return plainCloneProgrammer_explore_objects(plainCloneProgrammer_exploreObjectsProps{
365
- Context: props.Context,
366
- Config: props.Config,
367
- Functor: props.Functor,
368
- Input: props.Input,
369
- Metadata: props.Metadata,
370
- Explore: explore,
371
- })
372
- },
373
- })
374
- }
375
-
376
- if len(unions) == 0 {
377
- return props.Input
378
- }
379
- if len(unions) == 1 && props.Metadata.Size() == 1 {
380
- value := unions[0].Value()
381
- if (props.Metadata.Nullable || props.Metadata.IsRequired() == false) && plainCloneProgrammer_is_instance(props.Metadata) {
382
- value = nativefactories.ExpressionFactory.Conditional(
383
- props.Input,
384
- value,
385
- props.Input,
386
- props.Context.Emit,
387
- )
388
- }
389
- return f.NewAsExpression(value, nativefactories.TypeFactory.Keyword("any", props.Context.Emit))
390
- }
391
- last := props.Input
392
- for i := len(unions) - 1; i >= 0; i-- {
393
- u := unions[i]
394
- last = nativefactories.ExpressionFactory.Conditional(u.Is(), u.Value(), last, props.Context.Emit)
395
- }
396
- return f.NewAsExpression(last, nativefactories.TypeFactory.Keyword("any", props.Context.Emit))
397
- }
398
-
399
- type plainCloneProgrammer_IUnion struct {
400
- Type string
401
- Is func() *shimast.Node
402
- Value func() *shimast.Node
403
- }
404
-
405
- func plainCloneProgrammer_decode_object(props struct {
406
- Functor *nativehelpers.FunctionProgrammer
407
- Input *shimast.Node
408
- Object *schemametadata.MetadataObjectType
409
- Explore nativeinternal.FeatureProgrammer_IExplore
410
- }) *shimast.Node {
411
- return nativeinternal.FeatureProgrammer.Decode_object(nativeinternal.FeatureProgrammer_DecodeObjectProps{
412
- Config: nativeinternal.FeatureProgrammer_DecodeObjectConfig{
413
- Trace: false,
414
- Path: false,
415
- Prefix: plainCloneProgrammer_PREFIX,
416
- Visited: props.Functor.Visited(),
417
- },
418
- Functor: props.Functor,
419
- Input: props.Input,
420
- Object: props.Object,
421
- Explore: props.Explore,
422
- })
423
- }
424
-
425
- type plainCloneProgrammer_decodeArrayProps struct {
426
- Context nativecontext.ITypiaContext
427
- Config nativeinternal.FeatureProgrammer_IConfig
428
- Functor *nativehelpers.FunctionProgrammer
429
- Input *shimast.Node
430
- Array *schemametadata.MetadataArray
431
- Explore nativeinternal.FeatureProgrammer_IExplore
432
- }
433
-
434
- func plainCloneProgrammer_decode_array(props plainCloneProgrammer_decodeArrayProps) *shimast.Node {
435
- f := nativecontext.EmitFactoryOf(plainCloneProgrammer_factory, props.Context.Emit)
436
- if props.Array.Type.Recursive {
437
- return f.NewCallExpression(
438
- f.NewIdentifier(props.Functor.UseLocal(fmt.Sprintf("%sa%d", props.Config.Prefix, *props.Array.Type.Index))),
439
- nil,
440
- nil,
441
- f.NewNodeList(nativeinternal.FeatureProgrammer.ArgumentsArray(nativeinternal.FeatureProgrammer_ArgumentsArrayProps{
442
- Config: nativeinternal.FeatureProgrammer_ArgumentsArrayConfig{Path: props.Config.Path, Trace: props.Config.Trace, Visited: props.Functor.Visited()},
443
- Explore: plainCloneProgrammer_explore_with(props.Explore, "function", "array"),
444
- Input: props.Input,
445
- })),
446
- shimast.NodeFlagsNone,
447
- )
448
- }
449
- return plainCloneProgrammer_decode_array_inline(props)
450
- }
451
-
452
- func plainCloneProgrammer_decode_array_inline(props plainCloneProgrammer_decodeArrayProps) *shimast.Node {
453
- return nativeinternal.FeatureProgrammer.Decode_array(nativeinternal.FeatureProgrammer_DecodeArrayProps{
454
- Config: nativeinternal.FeatureProgrammer_DecodeArrayConfig{
455
- Trace: props.Config.Trace,
456
- Path: props.Config.Path,
457
- Prefix: props.Config.Prefix,
458
- Decoder: props.Config.Decoder,
459
- },
460
- Functor: props.Functor,
461
- Combiner: func(next struct {
462
- Input *shimast.Expression
463
- Arrow *shimast.Node
464
- }) *shimast.Node {
465
- return nativehelpers.CloneJoiner.Array(nativehelpers.CloneJoiner_ArrayProps{
466
- Input: next.Input,
467
- Arrow: next.Arrow,
468
- Emit: props.Context.Emit,
469
- })
470
- },
471
- Array: props.Array,
472
- Input: props.Input,
473
- Explore: props.Explore,
474
- })
475
- }
476
-
477
- type plainCloneProgrammer_decodeTupleProps struct {
478
- Context nativecontext.ITypiaContext
479
- Config nativeinternal.FeatureProgrammer_IConfig
480
- Functor *nativehelpers.FunctionProgrammer
481
- Input *shimast.Node
482
- Tuple *schemametadata.MetadataTuple
483
- Explore nativeinternal.FeatureProgrammer_IExplore
484
- }
485
-
486
- func plainCloneProgrammer_decode_tuple(props plainCloneProgrammer_decodeTupleProps) *shimast.Node {
487
- f := nativecontext.EmitFactoryOf(plainCloneProgrammer_factory, props.Context.Emit)
488
- if props.Tuple.Type.Recursive {
489
- return f.NewCallExpression(
490
- f.NewIdentifier(props.Functor.UseLocal(fmt.Sprintf("%st%d", props.Config.Prefix, *props.Tuple.Type.Index))),
491
- nil,
492
- nil,
493
- f.NewNodeList(nativeinternal.FeatureProgrammer.ArgumentsArray(nativeinternal.FeatureProgrammer_ArgumentsArrayProps{
494
- Config: nativeinternal.FeatureProgrammer_ArgumentsArrayConfig{Path: props.Config.Path, Trace: props.Config.Trace, Visited: props.Functor.Visited()},
495
- Explore: plainCloneProgrammer_explore_with(props.Explore, "function", props.Explore.From),
496
- Input: props.Input,
497
- })),
498
- shimast.NodeFlagsNone,
499
- )
500
- }
501
- return plainCloneProgrammer_decode_tuple_inline(plainCloneProgrammer_decodeTupleInlineProps{
502
- Context: props.Context,
503
- Config: props.Config,
504
- Functor: props.Functor,
505
- Input: props.Input,
506
- Tuple: props.Tuple.Type,
507
- Explore: props.Explore,
508
- })
509
- }
510
-
511
- type plainCloneProgrammer_decodeTupleInlineProps struct {
512
- Context nativecontext.ITypiaContext
513
- Config nativeinternal.FeatureProgrammer_IConfig
514
- Functor *nativehelpers.FunctionProgrammer
515
- Input *shimast.Node
516
- Tuple *schemametadata.MetadataTupleType
517
- Explore nativeinternal.FeatureProgrammer_IExplore
518
- }
519
-
520
- func plainCloneProgrammer_decode_tuple_inline(props plainCloneProgrammer_decodeTupleInlineProps) *shimast.Node {
521
- f := nativecontext.EmitFactoryOf(plainCloneProgrammer_factory, props.Context.Emit)
522
- elements := []*shimast.Node{}
523
- for index, elem := range props.Tuple.Elements {
524
- if elem.Rest != nil {
525
- continue
526
- }
527
- postfix := fmt.Sprintf("\"[%d]\"", index)
528
- if props.Explore.Postfix != "" {
529
- postfix = fmt.Sprintf("%s[%d]\"", nativeiterate.Postfix_of_tuple_export(props.Explore.Postfix), index)
530
- }
531
- explore := props.Explore
532
- explore.From = "array"
533
- explore.Postfix = postfix
534
- elements = append(elements, plainCloneProgrammer_decode(struct {
535
- Context nativecontext.ITypiaContext
536
- Config nativeinternal.FeatureProgrammer_IConfig
537
- Functor *nativehelpers.FunctionProgrammer
538
- Input *shimast.Node
539
- Metadata *schemametadata.MetadataSchema
540
- Explore nativeinternal.FeatureProgrammer_IExplore
541
- }{
542
- Context: props.Context,
543
- Config: props.Config,
544
- Functor: props.Functor,
545
- Input: f.NewElementAccessExpression(props.Input, nil, nativefactories.ExpressionFactory.Number(index, props.Context.Emit), shimast.NodeFlagsNone),
546
- Metadata: elem,
547
- Explore: explore,
548
- }))
549
- }
550
- var rest *shimast.Node
551
- if len(props.Tuple.Elements) != 0 {
552
- last := props.Tuple.Elements[len(props.Tuple.Elements)-1]
553
- if last.Rest != nil {
554
- start := len(props.Tuple.Elements) - 1
555
- explore := props.Explore
556
- explore.Start = &start
557
- rest = plainCloneProgrammer_decode(struct {
558
- Context nativecontext.ITypiaContext
559
- Config nativeinternal.FeatureProgrammer_IConfig
560
- Functor *nativehelpers.FunctionProgrammer
561
- Input *shimast.Node
562
- Metadata *schemametadata.MetadataSchema
563
- Explore nativeinternal.FeatureProgrammer_IExplore
564
- }{
565
- Context: props.Context,
566
- Config: props.Config,
567
- Functor: props.Functor,
568
- Input: f.NewCallExpression(
569
- nativefactories.IdentifierFactory.Access(props.Context.Emit, props.Input, "slice"),
570
- nil,
571
- nil,
572
- f.NewNodeList([]*shimast.Node{nativefactories.ExpressionFactory.Number(start, props.Context.Emit)}),
573
- shimast.NodeFlagsNone,
574
- ),
575
- Metadata: nativeiterate.Wrap_metadata_rest_tuple_export(last.Rest),
576
- Explore: explore,
577
- })
578
- }
579
- }
580
- return nativehelpers.CloneJoiner.Tuple(nativehelpers.CloneJoiner_TupleProps{
581
- Elements: elements,
582
- Rest: rest,
583
- Emit: props.Context.Emit,
584
- })
585
- }
586
-
587
- func plainCloneProgrammer_decode_native(props struct {
588
- Context nativecontext.ITypiaContext
589
- Type string
590
- Input *shimast.Node
591
- }) *shimast.Node {
592
- f := nativecontext.EmitFactoryOf(plainCloneProgrammer_factory, props.Context.Emit)
593
- switch props.Type {
594
- case "Date", "Uint8Array", "Uint8ClampedArray", "Uint16Array", "Uint32Array", "BigUint64Array", "Int8Array", "Int16Array", "Int32Array", "BigInt64Array", "Float32Array", "Float64Array", "RegExp":
595
- return f.NewNewExpression(
596
- f.NewIdentifier(props.Type),
597
- nil,
598
- f.NewNodeList([]*shimast.Node{props.Input}),
599
- )
600
- case "ArrayBuffer", "SharedArrayBuffer":
601
- return plainCloneProgrammer_decode_native_buffer(props.Type, props.Input, props.Context.Emit)
602
- case "DataView":
603
- return f.NewNewExpression(
604
- f.NewIdentifier("DataView"),
605
- nil,
606
- f.NewNodeList([]*shimast.Node{nativefactories.IdentifierFactory.Access(props.Context.Emit, props.Input, "buffer")}),
607
- )
608
- default:
609
- return f.NewCallExpression(
610
- f.NewIdentifier(props.Type),
611
- nil,
612
- nil,
613
- nil,
614
- shimast.NodeFlagsNone,
615
- )
616
- }
617
- }
618
-
619
- func plainCloneProgrammer_decode_native_buffer(typ string, input *shimast.Node, emit *shimprinter.EmitContext) *shimast.Node {
620
- f := nativecontext.EmitFactoryOf(plainCloneProgrammer_factory, emit)
621
- return nativefactories.ExpressionFactory.SelfCall(
622
- emit,
623
- f.NewBlock(f.NewNodeList([]*shimast.Node{
624
- nativefactories.StatementFactory.Constant(nativefactories.StatementFactory_ConstantProps{
625
- Name: "buffer",
626
- Value: f.NewNewExpression(
627
- f.NewIdentifier(typ),
628
- nil,
629
- f.NewNodeList([]*shimast.Node{nativefactories.IdentifierFactory.Access(emit, input, "byteLength")}),
630
- ),
631
- }, emit),
632
- f.NewExpressionStatement(f.NewCallExpression(
633
- nativefactories.IdentifierFactory.Access(
634
- emit,
635
- f.NewNewExpression(
636
- f.NewIdentifier("Uint8Array"),
637
- nil,
638
- f.NewNodeList([]*shimast.Node{f.NewIdentifier("buffer")}),
639
- ),
640
- "set",
641
- ),
642
- nil,
643
- nil,
644
- f.NewNodeList([]*shimast.Node{
645
- f.NewNewExpression(
646
- f.NewIdentifier("Uint8Array"),
647
- nil,
648
- f.NewNodeList([]*shimast.Node{input}),
649
- ),
650
- }),
651
- shimast.NodeFlagsNone,
652
- )),
653
- f.NewReturnStatement(f.NewIdentifier("buffer")),
654
- }), true),
655
- )
656
- }
657
-
658
- type plainCloneProgrammer_exploreArraysProps struct {
659
- Context nativecontext.ITypiaContext
660
- Config nativeinternal.FeatureProgrammer_IConfig
661
- Functor *nativehelpers.FunctionProgrammer
662
- Input *shimast.Node
663
- Arrays []*schemametadata.MetadataArray
664
- Explore nativeinternal.FeatureProgrammer_IExplore
665
- }
666
-
667
- func plainCloneProgrammer_explore_arrays(props plainCloneProgrammer_exploreArraysProps) *shimast.Node {
668
- f := nativecontext.EmitFactoryOf(plainCloneProgrammer_factory, props.Context.Emit)
669
- return f.NewCallExpression(
670
- nativehelpers.UnionExplorer.Array(nativehelpers.UnionExplorer_ArrayProps{
671
- Config: nativehelpers.UnionExplorer_ArrayLikeConfig{
672
- Checker: func(v nativehelpers.UnionExplorer_ArrayLikeCheckerProps) *shimast.Node {
673
- return nativeprogrammers.IsProgrammer.Decode(nativeprogrammers.IsProgrammer_DecodeProps{
674
- Context: props.Context,
675
- Functor: props.Functor,
676
- Input: v.Input,
677
- Metadata: v.Definition.(*schemametadata.MetadataSchema),
678
- Explore: plainCloneProgrammer_checker_explore(v.Explore),
679
- })
680
- },
681
- Decoder: func(v nativehelpers.UnionExplorer_ArrayLikeDecoderProps) *shimast.Node {
682
- return plainCloneProgrammer_decode_array(plainCloneProgrammer_decodeArrayProps{
683
- Context: props.Context,
684
- Config: props.Config,
685
- Functor: props.Functor,
686
- Input: v.Input,
687
- Array: v.Definition.(*schemametadata.MetadataArray),
688
- Explore: plainCloneProgrammer_feature_explore(v.Explore),
689
- })
690
- },
691
- Empty: f.NewIdentifier("[]"),
692
- Success: f.NewKeywordExpression(shimast.KindTrueKeyword),
693
- Failure: func(v nativehelpers.UnionExplorer_ArrayLikeFailureProps) *shimast.Node {
694
- return plainCloneProgrammer_create_throw_error(plainCloneProgrammer_throwProps{
695
- Context: props.Context,
696
- Functor: props.Functor,
697
- Expected: v.Expected,
698
- Input: v.Input,
699
- })
700
- },
701
- },
702
- Parameters: nil,
703
- Input: props.Input,
704
- Arrays: props.Arrays,
705
- Explore: props.Explore,
706
- Emit: props.Context.Emit,
707
- }),
708
- nil,
709
- nil,
710
- nil,
711
- shimast.NodeFlagsNone,
712
- )
713
- }
714
-
715
- type plainCloneProgrammer_exploreSetsProps struct {
716
- Context nativecontext.ITypiaContext
717
- Config nativeinternal.FeatureProgrammer_IConfig
718
- Functor *nativehelpers.FunctionProgrammer
719
- Input *shimast.Node
720
- Sets []*schemametadata.MetadataSet
721
- Explore nativeinternal.FeatureProgrammer_IExplore
722
- }
723
-
724
- func plainCloneProgrammer_explore_sets(props plainCloneProgrammer_exploreSetsProps) *shimast.Node {
725
- f := nativecontext.EmitFactoryOf(plainCloneProgrammer_factory, props.Context.Emit)
726
- return f.NewCallExpression(
727
- nativehelpers.UnionExplorer.Set(nativehelpers.UnionExplorer_SetProps{
728
- Config: nativehelpers.UnionExplorer_ArrayLikeConfig{
729
- Checker: func(v nativehelpers.UnionExplorer_ArrayLikeCheckerProps) *shimast.Node {
730
- return nativeprogrammers.IsProgrammer.Decode(nativeprogrammers.IsProgrammer_DecodeProps{
731
- Context: props.Context,
732
- Functor: props.Functor,
733
- Input: v.Input,
734
- Metadata: v.Definition.(*schemametadata.MetadataSchema),
735
- Explore: plainCloneProgrammer_checker_explore(v.Explore),
736
- })
737
- },
738
- Decoder: func(v nativehelpers.UnionExplorer_ArrayLikeDecoderProps) *shimast.Node {
739
- return f.NewNewExpression(
740
- f.NewIdentifier("Set"),
741
- f.NewNodeList([]*shimast.Node{nativefactories.TypeFactory.Keyword("any", props.Context.Emit)}),
742
- f.NewNodeList([]*shimast.Node{
743
- plainCloneProgrammer_decode_array(plainCloneProgrammer_decodeArrayProps{
744
- Context: props.Context,
745
- Config: props.Config,
746
- Functor: props.Functor,
747
- Input: v.Input,
748
- Array: v.Definition.(*schemametadata.MetadataArray),
749
- Explore: plainCloneProgrammer_feature_explore(v.Explore),
750
- }),
751
- }),
752
- )
753
- },
754
- Empty: f.NewNewExpression(
755
- f.NewIdentifier("Set"),
756
- f.NewNodeList([]*shimast.Node{nativefactories.TypeFactory.Keyword("any", props.Context.Emit)}),
757
- nil,
758
- ),
759
- Success: f.NewKeywordExpression(shimast.KindTrueKeyword),
760
- Failure: func(v nativehelpers.UnionExplorer_ArrayLikeFailureProps) *shimast.Node {
761
- return plainCloneProgrammer_create_throw_error(plainCloneProgrammer_throwProps{
762
- Context: props.Context,
763
- Functor: props.Functor,
764
- Expected: v.Expected,
765
- Input: v.Input,
766
- })
767
- },
768
- },
769
- Parameters: nil,
770
- Input: props.Input,
771
- Sets: props.Sets,
772
- Explore: props.Explore,
773
- Emit: props.Context.Emit,
774
- }),
775
- nil,
776
- nil,
777
- nil,
778
- shimast.NodeFlagsNone,
779
- )
780
- }
781
-
782
- type plainCloneProgrammer_exploreMapsProps struct {
783
- Context nativecontext.ITypiaContext
784
- Config nativeinternal.FeatureProgrammer_IConfig
785
- Functor *nativehelpers.FunctionProgrammer
786
- Input *shimast.Node
787
- Maps []*schemametadata.MetadataMap
788
- Explore nativeinternal.FeatureProgrammer_IExplore
789
- }
790
-
791
- func plainCloneProgrammer_explore_maps(props plainCloneProgrammer_exploreMapsProps) *shimast.Node {
792
- f := nativecontext.EmitFactoryOf(plainCloneProgrammer_factory, props.Context.Emit)
793
- return f.NewCallExpression(
794
- nativehelpers.UnionExplorer.Map(nativehelpers.UnionExplorer_MapProps{
795
- Config: nativehelpers.UnionExplorer_ArrayLikeConfig{
796
- Checker: func(v nativehelpers.UnionExplorer_ArrayLikeCheckerProps) *shimast.Node {
797
- pair := v.Definition.([]*schemametadata.MetadataSchema)
798
- first := nativeprogrammers.IsProgrammer.Decode(nativeprogrammers.IsProgrammer_DecodeProps{
799
- Context: props.Context,
800
- Functor: props.Functor,
801
- Input: f.NewElementAccessExpression(v.Input, nil, nativefactories.ExpressionFactory.Number(0, props.Context.Emit), shimast.NodeFlagsNone),
802
- Metadata: pair[0],
803
- Explore: plainCloneProgrammer_checker_explore_with_postfix(v.Explore, "[0]"),
804
- })
805
- second := nativeprogrammers.IsProgrammer.Decode(nativeprogrammers.IsProgrammer_DecodeProps{
806
- Context: props.Context,
807
- Functor: props.Functor,
808
- Input: f.NewElementAccessExpression(v.Input, nil, nativefactories.ExpressionFactory.Number(1, props.Context.Emit), shimast.NodeFlagsNone),
809
- Metadata: pair[1],
810
- Explore: plainCloneProgrammer_checker_explore_with_postfix(v.Explore, "[1]"),
811
- })
812
- return f.NewBinaryExpression(nil, first, nil, f.NewToken(shimast.KindAmpersandAmpersandToken), second)
813
- },
814
- Decoder: func(v nativehelpers.UnionExplorer_ArrayLikeDecoderProps) *shimast.Node {
815
- return f.NewNewExpression(
816
- f.NewIdentifier("Map"),
817
- f.NewNodeList([]*shimast.Node{
818
- nativefactories.TypeFactory.Keyword("any", props.Context.Emit),
819
- nativefactories.TypeFactory.Keyword("any", props.Context.Emit),
820
- }),
821
- f.NewNodeList([]*shimast.Node{
822
- plainCloneProgrammer_decode_array(plainCloneProgrammer_decodeArrayProps{
823
- Context: props.Context,
824
- Config: props.Config,
825
- Functor: props.Functor,
826
- Input: v.Input,
827
- Array: v.Definition.(*schemametadata.MetadataArray),
828
- Explore: plainCloneProgrammer_feature_explore(v.Explore),
829
- }),
830
- }),
831
- )
832
- },
833
- Empty: f.NewNewExpression(
834
- f.NewIdentifier("Map"),
835
- f.NewNodeList([]*shimast.Node{
836
- nativefactories.TypeFactory.Keyword("any", props.Context.Emit),
837
- nativefactories.TypeFactory.Keyword("any", props.Context.Emit),
838
- }),
839
- nil,
840
- ),
841
- Success: f.NewKeywordExpression(shimast.KindTrueKeyword),
842
- Failure: func(v nativehelpers.UnionExplorer_ArrayLikeFailureProps) *shimast.Node {
843
- return plainCloneProgrammer_create_throw_error(plainCloneProgrammer_throwProps{
844
- Context: props.Context,
845
- Functor: props.Functor,
846
- Expected: v.Expected,
847
- Input: v.Input,
848
- })
849
- },
850
- },
851
- Parameters: nil,
852
- Input: props.Input,
853
- Maps: props.Maps,
854
- Explore: props.Explore,
855
- Emit: props.Context.Emit,
856
- }),
857
- nil,
858
- nil,
859
- nil,
860
- shimast.NodeFlagsNone,
861
- )
862
- }
863
-
864
- type plainCloneProgrammer_exploreObjectsProps struct {
865
- Context nativecontext.ITypiaContext
866
- Config nativeinternal.FeatureProgrammer_IConfig
867
- Functor *nativehelpers.FunctionProgrammer
868
- Input *shimast.Node
869
- Metadata *schemametadata.MetadataSchema
870
- Explore nativeinternal.FeatureProgrammer_IExplore
871
- }
872
-
873
- func plainCloneProgrammer_explore_objects(props plainCloneProgrammer_exploreObjectsProps) *shimast.Node {
874
- f := nativecontext.EmitFactoryOf(plainCloneProgrammer_factory, props.Context.Emit)
875
- if len(props.Metadata.Objects) == 1 {
876
- return plainCloneProgrammer_decode_object(struct {
877
- Functor *nativehelpers.FunctionProgrammer
878
- Input *shimast.Node
879
- Object *schemametadata.MetadataObjectType
880
- Explore nativeinternal.FeatureProgrammer_IExplore
881
- }{
882
- Functor: props.Functor,
883
- Input: props.Input,
884
- Object: props.Metadata.Objects[0].Type,
885
- Explore: props.Explore,
886
- })
887
- }
888
- index := 0
889
- if props.Metadata.Union_index != nil {
890
- index = *props.Metadata.Union_index
891
- }
892
- return f.NewCallExpression(
893
- f.NewIdentifier(props.Functor.UseLocal(fmt.Sprintf("%su%d", plainCloneProgrammer_PREFIX, index))),
894
- nil,
895
- nil,
896
- f.NewNodeList(nativeinternal.FeatureProgrammer.ArgumentsArray(nativeinternal.FeatureProgrammer_ArgumentsArrayProps{
897
- Config: nativeinternal.FeatureProgrammer_ArgumentsArrayConfig{Path: props.Config.Path, Trace: props.Config.Trace, Visited: props.Functor.Visited()},
898
- Input: props.Input,
899
- Explore: props.Explore,
900
- })),
901
- shimast.NodeFlagsNone,
902
- )
903
- }
904
-
905
- func plainCloneProgrammer_configure(props struct {
906
- Context nativecontext.ITypiaContext
907
- Functor *nativehelpers.FunctionProgrammer
908
- }) nativeinternal.FeatureProgrammer_IConfig {
909
- f := nativecontext.EmitFactoryOf(plainCloneProgrammer_factory, props.Context.Emit)
910
- config := nativeinternal.FeatureProgrammer_IConfig{}
911
- config.Types = nativeinternal.FeatureProgrammer_IConfig_ITypes{
912
- Input: func(t *shimchecker.Type, name *string) *shimast.TypeNode {
913
- return f.NewTypeReferenceNode(f.NewIdentifier(plainCloneProgrammer_type_name(props.Context, t, name)), nil)
914
- },
915
- Output: func(t *shimchecker.Type, name *string) *shimast.TypeNode {
916
- return plainCloneProgrammer_import_type(props.Context, nativecontext.ImportProgrammer_TypeProps{
917
- File: "typia",
918
- Name: "Resolved",
919
- Arguments: []*shimast.TypeNode{
920
- f.NewTypeReferenceNode(f.NewIdentifier(plainCloneProgrammer_type_name(props.Context, t, name)), nil),
921
- },
922
- })
923
- },
924
- }
925
- config.Prefix = plainCloneProgrammer_PREFIX
926
- config.Trace = false
927
- config.Path = false
928
- config.Initializer = plainCloneProgrammer_initializer
929
- config.Visited = props.Functor.Visited
930
- config.VisitGuard = func(next nativeinternal.FeatureProgrammer_VisitGuardProps) *shimast.Node {
931
- return nativeinternal.FeatureProgrammer.VisitGuardRebuild(next.Key, false, next.Body, props.Context.Emit)
932
- }
933
- config.Decoder = func(next nativeinternal.FeatureProgrammer_DecoderProps) *shimast.Node {
934
- return plainCloneProgrammer_decode(struct {
935
- Context nativecontext.ITypiaContext
936
- Config nativeinternal.FeatureProgrammer_IConfig
937
- Functor *nativehelpers.FunctionProgrammer
938
- Input *shimast.Node
939
- Metadata *schemametadata.MetadataSchema
940
- Explore nativeinternal.FeatureProgrammer_IExplore
941
- }{
942
- Context: props.Context,
943
- Config: config,
944
- Functor: props.Functor,
945
- Input: next.Input,
946
- Metadata: next.Metadata,
947
- Explore: next.Explore,
948
- })
949
- }
950
- config.Objector = nativeinternal.FeatureProgrammer_IConfig_IObjector{
951
- Checker: func(next nativeinternal.FeatureProgrammer_ObjectorCheckerProps) *shimast.Node {
952
- return nativeprogrammers.IsProgrammer.Decode(nativeprogrammers.IsProgrammer_DecodeProps{
953
- Context: props.Context,
954
- Functor: props.Functor,
955
- Input: next.Input,
956
- Metadata: next.Metadata,
957
- Explore: plainCloneProgrammer_checker_explore(next.Explore),
958
- })
959
- },
960
- Decoder: func(next nativeinternal.FeatureProgrammer_ObjectorDecoderProps) *shimast.Node {
961
- return plainCloneProgrammer_decode_object(struct {
962
- Functor *nativehelpers.FunctionProgrammer
963
- Input *shimast.Node
964
- Object *schemametadata.MetadataObjectType
965
- Explore nativeinternal.FeatureProgrammer_IExplore
966
- }{
967
- Functor: props.Functor,
968
- Input: next.Input,
969
- Object: next.Object,
970
- Explore: next.Explore,
971
- })
972
- },
973
- Joiner: func(next nativeinternal.FeatureProgrammer_ObjectorJoinerProps) *shimast.Node {
974
- return nativehelpers.CloneJoiner.Object(nativehelpers.CloneJoiner_ObjectProps{
975
- Input: next.Input,
976
- Entries: next.Entries,
977
- Emit: props.Context.Emit,
978
- })
979
- },
980
- Unionizer: func(next nativeinternal.FeatureProgrammer_ObjectorUnionizerProps) *shimast.Node {
981
- return nativeiterate.Decode_union_object(nativeiterate.Decode_union_objectProps{
982
- Checker: func(v nativeiterate.Decode_union_object_next) *shimast.Node {
983
- return nativeprogrammers.IsProgrammer.Decode_object(nativeprogrammers.IsProgrammer_DecodeObjectProps{
984
- Context: props.Context,
985
- Functor: props.Functor,
986
- Input: v.Input,
987
- Object: v.Object,
988
- Explore: plainCloneProgrammer_feature_explore(v.Explore),
989
- })
990
- },
991
- Decoder: func(v nativeiterate.Decode_union_object_next) *shimast.Node {
992
- return plainCloneProgrammer_decode_object(struct {
993
- Functor *nativehelpers.FunctionProgrammer
994
- Input *shimast.Node
995
- Object *schemametadata.MetadataObjectType
996
- Explore nativeinternal.FeatureProgrammer_IExplore
997
- }{
998
- Functor: props.Functor,
999
- Input: v.Input,
1000
- Object: v.Object,
1001
- Explore: plainCloneProgrammer_feature_explore(v.Explore),
1002
- })
1003
- },
1004
- Success: func(exp *shimast.Node) *shimast.Node { return exp },
1005
- Escaper: func(v nativeiterate.Decode_union_object_escape) *shimast.Node {
1006
- return plainCloneProgrammer_create_throw_error(plainCloneProgrammer_throwProps{
1007
- Context: props.Context,
1008
- Functor: props.Functor,
1009
- Expected: v.Expected,
1010
- Input: v.Input,
1011
- })
1012
- },
1013
- Input: next.Input,
1014
- Objects: next.Objects,
1015
- Explore: next.Explore,
1016
- })
1017
- },
1018
- Failure: func(next nativeinternal.FeatureProgrammer_ObjectorFailureProps) *shimast.Node {
1019
- return plainCloneProgrammer_create_throw_error(plainCloneProgrammer_throwProps{
1020
- Context: props.Context,
1021
- Functor: props.Functor,
1022
- Expected: next.Expected,
1023
- Input: next.Input,
1024
- })
1025
- },
1026
- }
1027
- config.Generator = nativeinternal.FeatureProgrammer_IConfig_IGenerator{
1028
- Arrays: func(collection *schemametadata.MetadataCollection) []*shimast.Node {
1029
- return plainCloneProgrammer_write_array_functions(struct {
1030
- Context nativecontext.ITypiaContext
1031
- Config nativeinternal.FeatureProgrammer_IConfig
1032
- Functor *nativehelpers.FunctionProgrammer
1033
- Collection *schemametadata.MetadataCollection
1034
- }{Context: props.Context, Config: config, Functor: props.Functor, Collection: collection})
1035
- },
1036
- Tuples: func(collection *schemametadata.MetadataCollection) []*shimast.Node {
1037
- return plainCloneProgrammer_write_tuple_functions(struct {
1038
- Context nativecontext.ITypiaContext
1039
- Config nativeinternal.FeatureProgrammer_IConfig
1040
- Functor *nativehelpers.FunctionProgrammer
1041
- Collection *schemametadata.MetadataCollection
1042
- }{Context: props.Context, Config: config, Functor: props.Functor, Collection: collection})
1043
- },
1044
- }
1045
- return config
1046
- }
1047
-
1048
- func plainCloneProgrammer_initializer(props nativeinternal.FeatureProgrammer_InitializerProps) nativeinternal.FeatureProgrammer_InitializerOutput {
1049
- collection := schemametadata.NewMetadataCollection()
1050
- result := nativefactories.MetadataFactory.Analyze(nativefactories.MetadataFactory_IProps{
1051
- Checker: props.Context.Checker,
1052
- Options: nativefactories.MetadataFactory_IOptions{
1053
- Escape: false,
1054
- Constant: true,
1055
- Absorb: true,
1056
- Validate: func(next struct {
1057
- Metadata *schemametadata.MetadataSchema
1058
- Explore nativefactories.MetadataFactory_IExplore
1059
- Top *schemametadata.MetadataSchema
1060
- }) []string {
1061
- output := []string{}
1062
- for _, native := range next.Metadata.Natives {
1063
- if native.Name == "WeakSet" {
1064
- output = append(output, "unable to clone WeakSet")
1065
- } else if native.Name == "WeakMap" {
1066
- output = append(output, "unable to clone WeakMap")
1067
- }
1068
- }
1069
- return output
1070
- },
1071
- },
1072
- Components: collection,
1073
- Type: props.Type,
1074
- })
1075
- if result.Success == false {
1076
- panic(nativecontext.TransformerError_from(struct {
1077
- Code string
1078
- Errors []nativecontext.TransformerError_MetadataFactory_IError
1079
- }{
1080
- Code: props.Functor.Method,
1081
- Errors: plainCloneProgrammer_errors(result.Errors),
1082
- }))
1083
- }
1084
- if nativeinternal.FeatureProgrammer.CollectionRecursive(collection) {
1085
- props.Functor.SetVisited(true)
1086
- }
1087
- return nativeinternal.FeatureProgrammer_InitializerOutput{
1088
- Collection: collection,
1089
- Metadata: result.Data,
1090
- }
1091
- }
1092
-
1093
- type plainCloneProgrammer_throwProps struct {
1094
- Context nativecontext.ITypiaContext
1095
- Functor *nativehelpers.FunctionProgrammer
1096
- Expected string
1097
- Input *shimast.Node
1098
- }
1099
-
1100
- func plainCloneProgrammer_create_throw_error(props plainCloneProgrammer_throwProps) *shimast.Node {
1101
- f := nativecontext.EmitFactoryOf(plainCloneProgrammer_factory, props.Context.Emit)
1102
- return f.NewExpressionStatement(
1103
- f.NewCallExpression(
1104
- plainCloneProgrammer_internal(props.Context, "throwTypeGuardError"),
1105
- nil,
1106
- nil,
1107
- f.NewNodeList([]*shimast.Node{
1108
- f.NewObjectLiteralExpression(
1109
- f.NewNodeList([]*shimast.Node{
1110
- f.NewPropertyAssignment(nil, nativefactories.IdentifierFactory.Identifier("method", props.Context.Emit), nil, nil, f.NewStringLiteral(props.Functor.Method, shimast.TokenFlagsNone)),
1111
- f.NewPropertyAssignment(nil, nativefactories.IdentifierFactory.Identifier("expected", props.Context.Emit), nil, nil, f.NewStringLiteral(props.Expected, shimast.TokenFlagsNone)),
1112
- f.NewPropertyAssignment(nil, nativefactories.IdentifierFactory.Identifier("value", props.Context.Emit), nil, nil, props.Input),
1113
- }),
1114
- true,
1115
- ),
1116
- }),
1117
- shimast.NodeFlagsNone,
1118
- ),
1119
- )
1120
- }
1121
-
1122
- func plainCloneProgrammer_is_instance(metadata *schemametadata.MetadataSchema) bool {
1123
- if len(metadata.Objects) != 0 ||
1124
- len(metadata.Arrays) != 0 ||
1125
- len(metadata.Tuples) != 0 ||
1126
- len(metadata.Sets) != 0 ||
1127
- len(metadata.Maps) != 0 ||
1128
- len(metadata.Natives) != 0 {
1129
- return true
1130
- }
1131
- return metadata.Rest != nil && plainCloneProgrammer_is_instance(metadata.Rest)
1132
- }
1133
-
1134
- func plainCloneProgrammer_internal(context nativecontext.ITypiaContext, name string) *shimast.Node {
1135
- if importer := context.Importer; importer != nil {
1136
- return importer.Internal(name)
1137
- }
1138
- f := nativecontext.EmitFactoryOf(plainCloneProgrammer_factory, context.Emit)
1139
- return f.NewIdentifier(name)
1140
- }
1141
-
1142
- func plainCloneProgrammer_import_type(context nativecontext.ITypiaContext, props nativecontext.ImportProgrammer_TypeProps) *shimast.Node {
1143
- if importer := context.Importer; importer != nil {
1144
- return importer.Type(props)
1145
- }
1146
- if str, ok := props.Name.(string); ok {
1147
- f := nativecontext.EmitFactoryOf(plainCloneProgrammer_factory, context.Emit)
1148
- return f.NewTypeReferenceNode(f.NewIdentifier(str), f.NewNodeList(props.Arguments))
1149
- }
1150
- return props.Name.(*shimast.Node)
1151
- }
1152
-
1153
- func plainCloneProgrammer_type_name(context nativecontext.ITypiaContext, typ *shimchecker.Type, name *string) string {
1154
- if name != nil {
1155
- return *name
1156
- }
1157
- return nativefactories.TypeFactory.GetFullName(nativefactories.TypeFactory_GetFullNameProps{
1158
- Checker: context.Checker,
1159
- Type: typ,
1160
- })
1161
- }
1162
-
1163
- func plainCloneProgrammer_method_text(modulo *shimast.Node) string {
1164
- return nativehelpers.ModuloMethodText(modulo)
1165
- }
1166
-
1167
- func plainCloneProgrammer_errors(errors []nativefactories.MetadataFactory_IError) []nativecontext.TransformerError_MetadataFactory_IError {
1168
- output := make([]nativecontext.TransformerError_MetadataFactory_IError, 0, len(errors))
1169
- for _, err := range errors {
1170
- output = append(output, nativecontext.TransformerError_MetadataFactory_IError{
1171
- Name: err.Name,
1172
- Explore: nativecontext.TransformerError_MetadataFactory_IExplore{
1173
- Object: err.Explore.Object,
1174
- Property: err.Explore.Property,
1175
- Parameter: err.Explore.Parameter,
1176
- Output: err.Explore.Output,
1177
- },
1178
- Messages: append([]string{}, err.Messages...),
1179
- })
1180
- }
1181
- return output
1182
- }
1183
-
1184
- func plainCloneProgrammer_feature_explore(input any) nativeinternal.FeatureProgrammer_IExplore {
1185
- switch v := input.(type) {
1186
- case nativeinternal.FeatureProgrammer_IExplore:
1187
- return v
1188
- case *nativeinternal.FeatureProgrammer_IExplore:
1189
- return *v
1190
- default:
1191
- return nativeinternal.FeatureProgrammer_IExplore{}
1192
- }
1193
- }
1194
-
1195
- func plainCloneProgrammer_checker_explore(input any) nativeinternal.CheckerProgrammer_IExplore {
1196
- v := plainCloneProgrammer_feature_explore(input)
1197
- return nativeinternal.CheckerProgrammer_IExplore{
1198
- Tracable: v.Tracable,
1199
- Source: v.Source,
1200
- From: v.From,
1201
- Postfix: v.Postfix,
1202
- Start: v.Start,
1203
- }
1204
- }
1205
-
1206
- func plainCloneProgrammer_checker_explore_with_postfix(input any, postfix string) nativeinternal.CheckerProgrammer_IExplore {
1207
- v := plainCloneProgrammer_checker_explore(input)
1208
- v.Postfix = v.Postfix + postfix
1209
- return v
1210
- }
1211
-
1212
- func plainCloneProgrammer_explore_with(explore nativeinternal.FeatureProgrammer_IExplore, source string, from string) nativeinternal.FeatureProgrammer_IExplore {
1213
- explore.Source = source
1214
- explore.From = from
1215
- return explore
1216
- }
1217
-
1218
- func plainCloneProgrammer_some_arrays(values []*schemametadata.MetadataArray, pred func(*schemametadata.MetadataArray) bool) bool {
1219
- for _, value := range values {
1220
- if pred(value) {
1221
- return true
1222
- }
1223
- }
1224
- return false
1225
- }
1226
-
1227
- func plainCloneProgrammer_some_tuples(values []*schemametadata.MetadataTuple, pred func(*schemametadata.MetadataTuple) bool) bool {
1228
- for _, value := range values {
1229
- if pred(value) {
1230
- return true
1231
- }
1232
- }
1233
- return false
1234
- }
1235
-
1236
- func plainCloneProgrammer_every_schema(values []*schemametadata.MetadataSchema, pred func(*schemametadata.MetadataSchema) bool) bool {
1237
- if len(values) == 0 {
1238
- return false
1239
- }
1240
- for _, value := range values {
1241
- if pred(value) == false {
1242
- return false
1243
- }
1244
- }
1245
- return true
1246
- }
1247
-
1248
- func plainCloneProgrammer_join_names[T any](values []T, name func(T) string) string {
1249
- names := make([]string, 0, len(values))
1250
- for _, value := range values {
1251
- names = append(names, name(value))
1252
- }
1253
- return strings.Join(names, " | ")
1254
- }
1
+ package plain
2
+
3
+ import (
4
+ "fmt"
5
+ "strings"
6
+
7
+ shimast "github.com/microsoft/typescript-go/shim/ast"
8
+ shimchecker "github.com/microsoft/typescript-go/shim/checker"
9
+ shimprinter "github.com/microsoft/typescript-go/shim/printer"
10
+ nativecontext "github.com/samchon/typia/packages/typia/native/core/context"
11
+ nativefactories "github.com/samchon/typia/packages/typia/native/core/factories"
12
+ nativeprogrammers "github.com/samchon/typia/packages/typia/native/core/programmers"
13
+ nativehelpers "github.com/samchon/typia/packages/typia/native/core/programmers/helpers"
14
+ nativeinternal "github.com/samchon/typia/packages/typia/native/core/programmers/internal"
15
+ nativeiterate "github.com/samchon/typia/packages/typia/native/core/programmers/iterate"
16
+ schemametadata "github.com/samchon/typia/packages/typia/native/core/schemas/metadata"
17
+ )
18
+
19
+ type plainCloneProgrammerNamespace struct{}
20
+
21
+ var PlainCloneProgrammer = plainCloneProgrammerNamespace{}
22
+
23
+ type PlainCloneProgrammer_DecomposeProps struct {
24
+ Validated bool
25
+ Context nativecontext.ITypiaContext
26
+ Functor *nativehelpers.FunctionProgrammer
27
+ Type *shimchecker.Type
28
+ Name *string
29
+ }
30
+
31
+ const plainCloneProgrammer_PREFIX = "_c"
32
+
33
+ var plainCloneProgrammer_factory = shimast.NewNodeFactory(shimast.NodeFactoryHooks{})
34
+
35
+ func (plainCloneProgrammerNamespace) Decompose(props PlainCloneProgrammer_DecomposeProps) nativeinternal.FeatureProgrammer_IDecomposed {
36
+ f := nativecontext.EmitFactoryOf(plainCloneProgrammer_factory, props.Context.Emit)
37
+ config := plainCloneProgrammer_configure(struct {
38
+ Context nativecontext.ITypiaContext
39
+ Functor *nativehelpers.FunctionProgrammer
40
+ }{
41
+ Context: props.Context,
42
+ Functor: props.Functor,
43
+ })
44
+ if props.Validated == false {
45
+ config.Addition = func(collection *schemametadata.MetadataCollection) []*shimast.Node {
46
+ return nativeprogrammers.IsProgrammer.Write_function_statements(nativeprogrammers.IsProgrammer_WriteFunctionStatementsProps{
47
+ Context: props.Context,
48
+ Functor: props.Functor,
49
+ Collection: collection,
50
+ })
51
+ }
52
+ }
53
+ composed := nativeinternal.FeatureProgrammer.Compose(nativeinternal.FeatureProgrammer_ComposeProps{
54
+ Context: props.Context,
55
+ Config: config,
56
+ Functor: props.Functor,
57
+ Type: props.Type,
58
+ Name: props.Name,
59
+ })
60
+ return nativeinternal.FeatureProgrammer_IDecomposed{
61
+ Functions: composed.Functions,
62
+ Statements: composed.Statements,
63
+ Arrow: f.NewArrowFunction(
64
+ nil,
65
+ nil,
66
+ f.NewNodeList(composed.Parameters),
67
+ composed.Response,
68
+ nil,
69
+ f.NewToken(shimast.KindEqualsGreaterThanToken),
70
+ composed.Body,
71
+ ),
72
+ }
73
+ }
74
+
75
+ func (plainCloneProgrammerNamespace) Write(props nativecontext.IProgrammerProps) *shimast.Node {
76
+ functor := nativehelpers.NewFunctionProgrammer(plainCloneProgrammer_method_text(props.Modulo), props.Context.Emit)
77
+ result := PlainCloneProgrammer.Decompose(PlainCloneProgrammer_DecomposeProps{
78
+ Context: props.Context,
79
+ Functor: functor,
80
+ Type: props.Type,
81
+ Name: props.Name,
82
+ Validated: false,
83
+ })
84
+ return nativeinternal.FeatureProgrammer.WriteDecomposed(nativeinternal.FeatureProgrammer_WriteDecomposedProps{
85
+ Modulo: props.Modulo,
86
+ Functor: functor,
87
+ Result: result,
88
+ })
89
+ }
90
+
91
+ func plainCloneProgrammer_write_array_functions(props struct {
92
+ Context nativecontext.ITypiaContext
93
+ Config nativeinternal.FeatureProgrammer_IConfig
94
+ Functor *nativehelpers.FunctionProgrammer
95
+ Collection *schemametadata.MetadataCollection
96
+ }) []*shimast.Node {
97
+ f := nativecontext.EmitFactoryOf(plainCloneProgrammer_factory, props.Context.Emit)
98
+ output := []*shimast.Node{}
99
+ for i, typ := range props.Collection.Arrays() {
100
+ if typ.Recursive == false {
101
+ continue
102
+ }
103
+ output = append(output, nativefactories.StatementFactory.Constant(nativefactories.StatementFactory_ConstantProps{
104
+ Name: fmt.Sprintf("%sa%d", props.Config.Prefix, i),
105
+ Value: f.NewArrowFunction(
106
+ nil,
107
+ nil,
108
+ f.NewNodeList(nativeinternal.FeatureProgrammer.ParameterDeclarations(nativeinternal.FeatureProgrammer_ParameterDeclarationsProps{
109
+ Config: nativeinternal.FeatureProgrammer_ParameterConfig{Path: props.Config.Path, Trace: props.Config.Trace, Visited: props.Functor.Visited()},
110
+ Type: nativefactories.TypeFactory.Keyword("any", props.Context.Emit),
111
+ Input: f.NewIdentifier("input"),
112
+ })),
113
+ nativefactories.TypeFactory.Keyword("any", props.Context.Emit),
114
+ nil,
115
+ f.NewToken(shimast.KindEqualsGreaterThanToken),
116
+ nativeinternal.FeatureProgrammer.VisitGuardRebuild(
117
+ nativeinternal.FeatureProgrammer.VisitKey(props.Config.Prefix, "a", i),
118
+ true,
119
+ plainCloneProgrammer_decode_array_inline(plainCloneProgrammer_decodeArrayProps{
120
+ Context: props.Context,
121
+ Config: props.Config,
122
+ Functor: props.Functor,
123
+ Input: f.NewIdentifier("input"),
124
+ Array: schemametadata.MetadataArray_create(schemametadata.MetadataArray{
125
+ Type: typ,
126
+ Tags: [][]schemametadata.IMetadataTypeTag{},
127
+ }),
128
+ Explore: nativeinternal.FeatureProgrammer_IExplore{
129
+ Tracable: props.Config.Trace,
130
+ Source: "function",
131
+ From: "array",
132
+ Postfix: "",
133
+ },
134
+ }),
135
+ props.Context.Emit,
136
+ ),
137
+ ),
138
+ }, props.Context.Emit))
139
+ }
140
+ return output
141
+ }
142
+
143
+ func plainCloneProgrammer_write_tuple_functions(props struct {
144
+ Context nativecontext.ITypiaContext
145
+ Config nativeinternal.FeatureProgrammer_IConfig
146
+ Functor *nativehelpers.FunctionProgrammer
147
+ Collection *schemametadata.MetadataCollection
148
+ }) []*shimast.Node {
149
+ f := nativecontext.EmitFactoryOf(plainCloneProgrammer_factory, props.Context.Emit)
150
+ output := []*shimast.Node{}
151
+ for i, tuple := range props.Collection.Tuples() {
152
+ if tuple.Recursive == false {
153
+ continue
154
+ }
155
+ output = append(output, nativefactories.StatementFactory.Constant(nativefactories.StatementFactory_ConstantProps{
156
+ Name: fmt.Sprintf("%st%d", props.Config.Prefix, i),
157
+ Value: f.NewArrowFunction(
158
+ nil,
159
+ nil,
160
+ f.NewNodeList(nativeinternal.FeatureProgrammer.ParameterDeclarations(nativeinternal.FeatureProgrammer_ParameterDeclarationsProps{
161
+ Config: nativeinternal.FeatureProgrammer_ParameterConfig{Path: props.Config.Path, Trace: props.Config.Trace, Visited: props.Functor.Visited()},
162
+ Type: nativefactories.TypeFactory.Keyword("any", props.Context.Emit),
163
+ Input: f.NewIdentifier("input"),
164
+ })),
165
+ nativefactories.TypeFactory.Keyword("any", props.Context.Emit),
166
+ nil,
167
+ f.NewToken(shimast.KindEqualsGreaterThanToken),
168
+ nativeinternal.FeatureProgrammer.VisitGuardRebuild(
169
+ nativeinternal.FeatureProgrammer.VisitKey(props.Config.Prefix, "t", i),
170
+ true,
171
+ plainCloneProgrammer_decode_tuple_inline(plainCloneProgrammer_decodeTupleInlineProps{
172
+ Context: props.Context,
173
+ Config: props.Config,
174
+ Functor: props.Functor,
175
+ Input: f.NewIdentifier("input"),
176
+ Tuple: tuple,
177
+ Explore: nativeinternal.FeatureProgrammer_IExplore{
178
+ Tracable: props.Config.Trace,
179
+ Source: "function",
180
+ From: "array",
181
+ Postfix: "",
182
+ },
183
+ }),
184
+ props.Context.Emit,
185
+ ),
186
+ ),
187
+ }, props.Context.Emit))
188
+ }
189
+ return output
190
+ }
191
+
192
+ func plainCloneProgrammer_decode(props struct {
193
+ Context nativecontext.ITypiaContext
194
+ Config nativeinternal.FeatureProgrammer_IConfig
195
+ Functor *nativehelpers.FunctionProgrammer
196
+ Input *shimast.Node
197
+ Metadata *schemametadata.MetadataSchema
198
+ Explore nativeinternal.FeatureProgrammer_IExplore
199
+ }) *shimast.Node {
200
+ f := nativecontext.EmitFactoryOf(plainCloneProgrammer_factory, props.Context.Emit)
201
+ if props.Metadata.Any ||
202
+ plainCloneProgrammer_some_arrays(props.Metadata.Arrays, func(a *schemametadata.MetadataArray) bool { return a.Type.Value.Any }) ||
203
+ plainCloneProgrammer_some_tuples(props.Metadata.Tuples, func(t *schemametadata.MetadataTuple) bool {
204
+ return len(t.Type.Elements) != 0 && plainCloneProgrammer_every_schema(t.Type.Elements, func(e *schemametadata.MetadataSchema) bool { return e.Any })
205
+ }) {
206
+ return f.NewCallExpression(
207
+ plainCloneProgrammer_internal(props.Context, "plainCloneAny"),
208
+ nil,
209
+ nil,
210
+ f.NewNodeList([]*shimast.Node{props.Input}),
211
+ shimast.NodeFlagsNone,
212
+ )
213
+ }
214
+
215
+ unions := []plainCloneProgrammer_IUnion{}
216
+ if len(props.Metadata.Functions) != 0 {
217
+ unions = append(unions, plainCloneProgrammer_IUnion{
218
+ Type: "functional",
219
+ Is: func() *shimast.Node {
220
+ return f.NewBinaryExpression(
221
+ nil,
222
+ f.NewStringLiteral("function", shimast.TokenFlagsNone),
223
+ nil,
224
+ f.NewToken(shimast.KindEqualsEqualsEqualsToken),
225
+ f.NewTypeOfExpression(props.Input),
226
+ )
227
+ },
228
+ Value: func() *shimast.Node {
229
+ return f.NewIdentifier("undefined")
230
+ },
231
+ })
232
+ }
233
+ for _, tuple := range props.Metadata.Tuples {
234
+ tuple := tuple
235
+ unions = append(unions, plainCloneProgrammer_IUnion{
236
+ Type: "tuple",
237
+ Is: func() *shimast.Node {
238
+ partial := schemametadata.MetadataSchema_initialize()
239
+ partial.Tuples = append(partial.Tuples, tuple)
240
+ return nativeprogrammers.IsProgrammer.Decode(nativeprogrammers.IsProgrammer_DecodeProps{
241
+ Context: props.Context,
242
+ Functor: props.Functor,
243
+ Metadata: partial,
244
+ Input: props.Input,
245
+ Explore: nativeinternal.CheckerProgrammer_IExplore{
246
+ Tracable: props.Explore.Tracable,
247
+ Source: props.Explore.Source,
248
+ From: props.Explore.From,
249
+ Postfix: props.Explore.Postfix,
250
+ Start: props.Explore.Start,
251
+ },
252
+ })
253
+ },
254
+ Value: func() *shimast.Node {
255
+ return plainCloneProgrammer_decode_tuple(plainCloneProgrammer_decodeTupleProps{
256
+ Context: props.Context,
257
+ Config: props.Config,
258
+ Functor: props.Functor,
259
+ Input: props.Input,
260
+ Tuple: tuple,
261
+ Explore: props.Explore,
262
+ })
263
+ },
264
+ })
265
+ }
266
+ if len(props.Metadata.Arrays) != 0 {
267
+ unions = append(unions, plainCloneProgrammer_IUnion{
268
+ Type: "array",
269
+ Is: func() *shimast.Node {
270
+ return nativefactories.ExpressionFactory.IsArray(props.Input)
271
+ },
272
+ Value: func() *shimast.Node {
273
+ explore := props.Explore
274
+ explore.From = "array"
275
+ return plainCloneProgrammer_explore_arrays(plainCloneProgrammer_exploreArraysProps{
276
+ Context: props.Context,
277
+ Config: props.Config,
278
+ Functor: props.Functor,
279
+ Input: props.Input,
280
+ Arrays: props.Metadata.Arrays,
281
+ Explore: explore,
282
+ })
283
+ },
284
+ })
285
+ }
286
+ if len(props.Metadata.Sets) != 0 {
287
+ unions = append(unions, plainCloneProgrammer_IUnion{
288
+ Type: "set",
289
+ Is: func() *shimast.Node {
290
+ return nativefactories.ExpressionFactory.IsInstanceOf("Set", props.Input)
291
+ },
292
+ Value: func() *shimast.Node {
293
+ explore := props.Explore
294
+ explore.From = "array"
295
+ return plainCloneProgrammer_explore_sets(plainCloneProgrammer_exploreSetsProps{
296
+ Context: props.Context,
297
+ Config: props.Config,
298
+ Functor: props.Functor,
299
+ Input: props.Input,
300
+ Sets: props.Metadata.Sets,
301
+ Explore: explore,
302
+ })
303
+ },
304
+ })
305
+ }
306
+ if len(props.Metadata.Maps) != 0 {
307
+ unions = append(unions, plainCloneProgrammer_IUnion{
308
+ Type: "map",
309
+ Is: func() *shimast.Node {
310
+ return nativefactories.ExpressionFactory.IsInstanceOf("Map", props.Input)
311
+ },
312
+ Value: func() *shimast.Node {
313
+ explore := props.Explore
314
+ explore.From = "array"
315
+ return plainCloneProgrammer_explore_maps(plainCloneProgrammer_exploreMapsProps{
316
+ Context: props.Context,
317
+ Config: props.Config,
318
+ Functor: props.Functor,
319
+ Input: props.Input,
320
+ Maps: props.Metadata.Maps,
321
+ Explore: explore,
322
+ })
323
+ },
324
+ })
325
+ }
326
+ for _, native := range props.Metadata.Natives {
327
+ native := native
328
+ unions = append(unions, plainCloneProgrammer_IUnion{
329
+ Type: "native",
330
+ Is: func() *shimast.Node {
331
+ return nativefactories.ExpressionFactory.IsInstanceOf(native.Name, props.Input)
332
+ },
333
+ Value: func() *shimast.Node {
334
+ if _, ok := schemametadata.MetadataSchema_atomicLikeNative(native.Name); ok {
335
+ return f.NewCallExpression(
336
+ nativefactories.IdentifierFactory.Access(props.Context.Emit, props.Input, "valueOf"),
337
+ nil,
338
+ nil,
339
+ nil,
340
+ shimast.NodeFlagsNone,
341
+ )
342
+ }
343
+ return plainCloneProgrammer_decode_native(struct {
344
+ Context nativecontext.ITypiaContext
345
+ Type string
346
+ Input *shimast.Node
347
+ }{Context: props.Context, Type: native.Name, Input: props.Input})
348
+ },
349
+ })
350
+ }
351
+ if len(props.Metadata.Objects) != 0 {
352
+ unions = append(unions, plainCloneProgrammer_IUnion{
353
+ Type: "object",
354
+ Is: func() *shimast.Node {
355
+ return nativefactories.ExpressionFactory.IsObject(nativefactories.ExpressionFactory_IsObjectProps{
356
+ CheckNull: true,
357
+ CheckArray: false,
358
+ Input: props.Input,
359
+ })
360
+ },
361
+ Value: func() *shimast.Node {
362
+ explore := props.Explore
363
+ explore.From = "object"
364
+ return plainCloneProgrammer_explore_objects(plainCloneProgrammer_exploreObjectsProps{
365
+ Context: props.Context,
366
+ Config: props.Config,
367
+ Functor: props.Functor,
368
+ Input: props.Input,
369
+ Metadata: props.Metadata,
370
+ Explore: explore,
371
+ })
372
+ },
373
+ })
374
+ }
375
+
376
+ if len(unions) == 0 {
377
+ return props.Input
378
+ }
379
+ if len(unions) == 1 && props.Metadata.Size() == 1 {
380
+ value := unions[0].Value()
381
+ if (props.Metadata.Nullable || props.Metadata.IsRequired() == false) && plainCloneProgrammer_is_instance(props.Metadata) {
382
+ value = nativefactories.ExpressionFactory.Conditional(
383
+ props.Input,
384
+ value,
385
+ props.Input,
386
+ props.Context.Emit,
387
+ )
388
+ }
389
+ return f.NewAsExpression(value, nativefactories.TypeFactory.Keyword("any", props.Context.Emit))
390
+ }
391
+ last := props.Input
392
+ for i := len(unions) - 1; i >= 0; i-- {
393
+ u := unions[i]
394
+ last = nativefactories.ExpressionFactory.Conditional(u.Is(), u.Value(), last, props.Context.Emit)
395
+ }
396
+ return f.NewAsExpression(last, nativefactories.TypeFactory.Keyword("any", props.Context.Emit))
397
+ }
398
+
399
+ type plainCloneProgrammer_IUnion struct {
400
+ Type string
401
+ Is func() *shimast.Node
402
+ Value func() *shimast.Node
403
+ }
404
+
405
+ func plainCloneProgrammer_decode_object(props struct {
406
+ Functor *nativehelpers.FunctionProgrammer
407
+ Input *shimast.Node
408
+ Object *schemametadata.MetadataObjectType
409
+ Explore nativeinternal.FeatureProgrammer_IExplore
410
+ }) *shimast.Node {
411
+ return nativeinternal.FeatureProgrammer.Decode_object(nativeinternal.FeatureProgrammer_DecodeObjectProps{
412
+ Config: nativeinternal.FeatureProgrammer_DecodeObjectConfig{
413
+ Trace: false,
414
+ Path: false,
415
+ Prefix: plainCloneProgrammer_PREFIX,
416
+ Visited: props.Functor.Visited(),
417
+ },
418
+ Functor: props.Functor,
419
+ Input: props.Input,
420
+ Object: props.Object,
421
+ Explore: props.Explore,
422
+ })
423
+ }
424
+
425
+ type plainCloneProgrammer_decodeArrayProps struct {
426
+ Context nativecontext.ITypiaContext
427
+ Config nativeinternal.FeatureProgrammer_IConfig
428
+ Functor *nativehelpers.FunctionProgrammer
429
+ Input *shimast.Node
430
+ Array *schemametadata.MetadataArray
431
+ Explore nativeinternal.FeatureProgrammer_IExplore
432
+ }
433
+
434
+ func plainCloneProgrammer_decode_array(props plainCloneProgrammer_decodeArrayProps) *shimast.Node {
435
+ f := nativecontext.EmitFactoryOf(plainCloneProgrammer_factory, props.Context.Emit)
436
+ if props.Array.Type.Recursive {
437
+ return f.NewCallExpression(
438
+ f.NewIdentifier(props.Functor.UseLocal(fmt.Sprintf("%sa%d", props.Config.Prefix, *props.Array.Type.Index))),
439
+ nil,
440
+ nil,
441
+ f.NewNodeList(nativeinternal.FeatureProgrammer.ArgumentsArray(nativeinternal.FeatureProgrammer_ArgumentsArrayProps{
442
+ Config: nativeinternal.FeatureProgrammer_ArgumentsArrayConfig{Path: props.Config.Path, Trace: props.Config.Trace, Visited: props.Functor.Visited()},
443
+ Explore: plainCloneProgrammer_explore_with(props.Explore, "function", "array"),
444
+ Input: props.Input,
445
+ })),
446
+ shimast.NodeFlagsNone,
447
+ )
448
+ }
449
+ return plainCloneProgrammer_decode_array_inline(props)
450
+ }
451
+
452
+ func plainCloneProgrammer_decode_array_inline(props plainCloneProgrammer_decodeArrayProps) *shimast.Node {
453
+ return nativeinternal.FeatureProgrammer.Decode_array(nativeinternal.FeatureProgrammer_DecodeArrayProps{
454
+ Config: nativeinternal.FeatureProgrammer_DecodeArrayConfig{
455
+ Trace: props.Config.Trace,
456
+ Path: props.Config.Path,
457
+ Prefix: props.Config.Prefix,
458
+ Decoder: props.Config.Decoder,
459
+ },
460
+ Functor: props.Functor,
461
+ Combiner: func(next struct {
462
+ Input *shimast.Expression
463
+ Arrow *shimast.Node
464
+ }) *shimast.Node {
465
+ return nativehelpers.CloneJoiner.Array(nativehelpers.CloneJoiner_ArrayProps{
466
+ Input: next.Input,
467
+ Arrow: next.Arrow,
468
+ Emit: props.Context.Emit,
469
+ })
470
+ },
471
+ Array: props.Array,
472
+ Input: props.Input,
473
+ Explore: props.Explore,
474
+ })
475
+ }
476
+
477
+ type plainCloneProgrammer_decodeTupleProps struct {
478
+ Context nativecontext.ITypiaContext
479
+ Config nativeinternal.FeatureProgrammer_IConfig
480
+ Functor *nativehelpers.FunctionProgrammer
481
+ Input *shimast.Node
482
+ Tuple *schemametadata.MetadataTuple
483
+ Explore nativeinternal.FeatureProgrammer_IExplore
484
+ }
485
+
486
+ func plainCloneProgrammer_decode_tuple(props plainCloneProgrammer_decodeTupleProps) *shimast.Node {
487
+ f := nativecontext.EmitFactoryOf(plainCloneProgrammer_factory, props.Context.Emit)
488
+ if props.Tuple.Type.Recursive {
489
+ return f.NewCallExpression(
490
+ f.NewIdentifier(props.Functor.UseLocal(fmt.Sprintf("%st%d", props.Config.Prefix, *props.Tuple.Type.Index))),
491
+ nil,
492
+ nil,
493
+ f.NewNodeList(nativeinternal.FeatureProgrammer.ArgumentsArray(nativeinternal.FeatureProgrammer_ArgumentsArrayProps{
494
+ Config: nativeinternal.FeatureProgrammer_ArgumentsArrayConfig{Path: props.Config.Path, Trace: props.Config.Trace, Visited: props.Functor.Visited()},
495
+ Explore: plainCloneProgrammer_explore_with(props.Explore, "function", props.Explore.From),
496
+ Input: props.Input,
497
+ })),
498
+ shimast.NodeFlagsNone,
499
+ )
500
+ }
501
+ return plainCloneProgrammer_decode_tuple_inline(plainCloneProgrammer_decodeTupleInlineProps{
502
+ Context: props.Context,
503
+ Config: props.Config,
504
+ Functor: props.Functor,
505
+ Input: props.Input,
506
+ Tuple: props.Tuple.Type,
507
+ Explore: props.Explore,
508
+ })
509
+ }
510
+
511
+ type plainCloneProgrammer_decodeTupleInlineProps struct {
512
+ Context nativecontext.ITypiaContext
513
+ Config nativeinternal.FeatureProgrammer_IConfig
514
+ Functor *nativehelpers.FunctionProgrammer
515
+ Input *shimast.Node
516
+ Tuple *schemametadata.MetadataTupleType
517
+ Explore nativeinternal.FeatureProgrammer_IExplore
518
+ }
519
+
520
+ func plainCloneProgrammer_decode_tuple_inline(props plainCloneProgrammer_decodeTupleInlineProps) *shimast.Node {
521
+ f := nativecontext.EmitFactoryOf(plainCloneProgrammer_factory, props.Context.Emit)
522
+ elements := []*shimast.Node{}
523
+ for index, elem := range props.Tuple.Elements {
524
+ if elem.Rest != nil {
525
+ continue
526
+ }
527
+ postfix := fmt.Sprintf("\"[%d]\"", index)
528
+ if props.Explore.Postfix != "" {
529
+ postfix = fmt.Sprintf("%s[%d]\"", nativeiterate.Postfix_of_tuple_export(props.Explore.Postfix), index)
530
+ }
531
+ explore := props.Explore
532
+ explore.From = "array"
533
+ explore.Postfix = postfix
534
+ elements = append(elements, plainCloneProgrammer_decode(struct {
535
+ Context nativecontext.ITypiaContext
536
+ Config nativeinternal.FeatureProgrammer_IConfig
537
+ Functor *nativehelpers.FunctionProgrammer
538
+ Input *shimast.Node
539
+ Metadata *schemametadata.MetadataSchema
540
+ Explore nativeinternal.FeatureProgrammer_IExplore
541
+ }{
542
+ Context: props.Context,
543
+ Config: props.Config,
544
+ Functor: props.Functor,
545
+ Input: f.NewElementAccessExpression(props.Input, nil, nativefactories.ExpressionFactory.Number(index, props.Context.Emit), shimast.NodeFlagsNone),
546
+ Metadata: elem,
547
+ Explore: explore,
548
+ }))
549
+ }
550
+ var rest *shimast.Node
551
+ if len(props.Tuple.Elements) != 0 {
552
+ last := props.Tuple.Elements[len(props.Tuple.Elements)-1]
553
+ if last.Rest != nil {
554
+ start := len(props.Tuple.Elements) - 1
555
+ explore := props.Explore
556
+ explore.Start = &start
557
+ rest = plainCloneProgrammer_decode(struct {
558
+ Context nativecontext.ITypiaContext
559
+ Config nativeinternal.FeatureProgrammer_IConfig
560
+ Functor *nativehelpers.FunctionProgrammer
561
+ Input *shimast.Node
562
+ Metadata *schemametadata.MetadataSchema
563
+ Explore nativeinternal.FeatureProgrammer_IExplore
564
+ }{
565
+ Context: props.Context,
566
+ Config: props.Config,
567
+ Functor: props.Functor,
568
+ Input: f.NewCallExpression(
569
+ nativefactories.IdentifierFactory.Access(props.Context.Emit, props.Input, "slice"),
570
+ nil,
571
+ nil,
572
+ f.NewNodeList([]*shimast.Node{nativefactories.ExpressionFactory.Number(start, props.Context.Emit)}),
573
+ shimast.NodeFlagsNone,
574
+ ),
575
+ Metadata: nativeiterate.Wrap_metadata_rest_tuple_export(last.Rest),
576
+ Explore: explore,
577
+ })
578
+ }
579
+ }
580
+ return nativehelpers.CloneJoiner.Tuple(nativehelpers.CloneJoiner_TupleProps{
581
+ Elements: elements,
582
+ Rest: rest,
583
+ Emit: props.Context.Emit,
584
+ })
585
+ }
586
+
587
+ func plainCloneProgrammer_decode_native(props struct {
588
+ Context nativecontext.ITypiaContext
589
+ Type string
590
+ Input *shimast.Node
591
+ }) *shimast.Node {
592
+ f := nativecontext.EmitFactoryOf(plainCloneProgrammer_factory, props.Context.Emit)
593
+ switch props.Type {
594
+ case "Date", "Uint8Array", "Uint8ClampedArray", "Uint16Array", "Uint32Array", "BigUint64Array", "Int8Array", "Int16Array", "Int32Array", "BigInt64Array", "Float32Array", "Float64Array", "RegExp":
595
+ return f.NewNewExpression(
596
+ f.NewIdentifier(props.Type),
597
+ nil,
598
+ f.NewNodeList([]*shimast.Node{props.Input}),
599
+ )
600
+ case "ArrayBuffer", "SharedArrayBuffer":
601
+ return plainCloneProgrammer_decode_native_buffer(props.Type, props.Input, props.Context.Emit)
602
+ case "DataView":
603
+ return f.NewNewExpression(
604
+ f.NewIdentifier("DataView"),
605
+ nil,
606
+ f.NewNodeList([]*shimast.Node{nativefactories.IdentifierFactory.Access(props.Context.Emit, props.Input, "buffer")}),
607
+ )
608
+ default:
609
+ return f.NewCallExpression(
610
+ f.NewIdentifier(props.Type),
611
+ nil,
612
+ nil,
613
+ nil,
614
+ shimast.NodeFlagsNone,
615
+ )
616
+ }
617
+ }
618
+
619
+ func plainCloneProgrammer_decode_native_buffer(typ string, input *shimast.Node, emit *shimprinter.EmitContext) *shimast.Node {
620
+ f := nativecontext.EmitFactoryOf(plainCloneProgrammer_factory, emit)
621
+ return nativefactories.ExpressionFactory.SelfCall(
622
+ emit,
623
+ f.NewBlock(f.NewNodeList([]*shimast.Node{
624
+ nativefactories.StatementFactory.Constant(nativefactories.StatementFactory_ConstantProps{
625
+ Name: "buffer",
626
+ Value: f.NewNewExpression(
627
+ f.NewIdentifier(typ),
628
+ nil,
629
+ f.NewNodeList([]*shimast.Node{nativefactories.IdentifierFactory.Access(emit, input, "byteLength")}),
630
+ ),
631
+ }, emit),
632
+ f.NewExpressionStatement(f.NewCallExpression(
633
+ nativefactories.IdentifierFactory.Access(
634
+ emit,
635
+ f.NewNewExpression(
636
+ f.NewIdentifier("Uint8Array"),
637
+ nil,
638
+ f.NewNodeList([]*shimast.Node{f.NewIdentifier("buffer")}),
639
+ ),
640
+ "set",
641
+ ),
642
+ nil,
643
+ nil,
644
+ f.NewNodeList([]*shimast.Node{
645
+ f.NewNewExpression(
646
+ f.NewIdentifier("Uint8Array"),
647
+ nil,
648
+ f.NewNodeList([]*shimast.Node{input}),
649
+ ),
650
+ }),
651
+ shimast.NodeFlagsNone,
652
+ )),
653
+ f.NewReturnStatement(f.NewIdentifier("buffer")),
654
+ }), true),
655
+ )
656
+ }
657
+
658
+ type plainCloneProgrammer_exploreArraysProps struct {
659
+ Context nativecontext.ITypiaContext
660
+ Config nativeinternal.FeatureProgrammer_IConfig
661
+ Functor *nativehelpers.FunctionProgrammer
662
+ Input *shimast.Node
663
+ Arrays []*schemametadata.MetadataArray
664
+ Explore nativeinternal.FeatureProgrammer_IExplore
665
+ }
666
+
667
+ func plainCloneProgrammer_explore_arrays(props plainCloneProgrammer_exploreArraysProps) *shimast.Node {
668
+ f := nativecontext.EmitFactoryOf(plainCloneProgrammer_factory, props.Context.Emit)
669
+ return f.NewCallExpression(
670
+ nativehelpers.UnionExplorer.Array(nativehelpers.UnionExplorer_ArrayProps{
671
+ Config: nativehelpers.UnionExplorer_ArrayLikeConfig{
672
+ Checker: func(v nativehelpers.UnionExplorer_ArrayLikeCheckerProps) *shimast.Node {
673
+ return nativeprogrammers.IsProgrammer.Decode(nativeprogrammers.IsProgrammer_DecodeProps{
674
+ Context: props.Context,
675
+ Functor: props.Functor,
676
+ Input: v.Input,
677
+ Metadata: v.Definition.(*schemametadata.MetadataSchema),
678
+ Explore: plainCloneProgrammer_checker_explore(v.Explore),
679
+ })
680
+ },
681
+ Decoder: func(v nativehelpers.UnionExplorer_ArrayLikeDecoderProps) *shimast.Node {
682
+ return plainCloneProgrammer_decode_array(plainCloneProgrammer_decodeArrayProps{
683
+ Context: props.Context,
684
+ Config: props.Config,
685
+ Functor: props.Functor,
686
+ Input: v.Input,
687
+ Array: v.Definition.(*schemametadata.MetadataArray),
688
+ Explore: plainCloneProgrammer_feature_explore(v.Explore),
689
+ })
690
+ },
691
+ Empty: f.NewIdentifier("[]"),
692
+ Success: f.NewKeywordExpression(shimast.KindTrueKeyword),
693
+ Failure: func(v nativehelpers.UnionExplorer_ArrayLikeFailureProps) *shimast.Node {
694
+ return plainCloneProgrammer_create_throw_error(plainCloneProgrammer_throwProps{
695
+ Context: props.Context,
696
+ Functor: props.Functor,
697
+ Expected: v.Expected,
698
+ Input: v.Input,
699
+ })
700
+ },
701
+ },
702
+ Parameters: nil,
703
+ Input: props.Input,
704
+ Arrays: props.Arrays,
705
+ Explore: props.Explore,
706
+ Emit: props.Context.Emit,
707
+ }),
708
+ nil,
709
+ nil,
710
+ nil,
711
+ shimast.NodeFlagsNone,
712
+ )
713
+ }
714
+
715
+ type plainCloneProgrammer_exploreSetsProps struct {
716
+ Context nativecontext.ITypiaContext
717
+ Config nativeinternal.FeatureProgrammer_IConfig
718
+ Functor *nativehelpers.FunctionProgrammer
719
+ Input *shimast.Node
720
+ Sets []*schemametadata.MetadataSet
721
+ Explore nativeinternal.FeatureProgrammer_IExplore
722
+ }
723
+
724
+ func plainCloneProgrammer_explore_sets(props plainCloneProgrammer_exploreSetsProps) *shimast.Node {
725
+ f := nativecontext.EmitFactoryOf(plainCloneProgrammer_factory, props.Context.Emit)
726
+ return f.NewCallExpression(
727
+ nativehelpers.UnionExplorer.Set(nativehelpers.UnionExplorer_SetProps{
728
+ Config: nativehelpers.UnionExplorer_ArrayLikeConfig{
729
+ Checker: func(v nativehelpers.UnionExplorer_ArrayLikeCheckerProps) *shimast.Node {
730
+ return nativeprogrammers.IsProgrammer.Decode(nativeprogrammers.IsProgrammer_DecodeProps{
731
+ Context: props.Context,
732
+ Functor: props.Functor,
733
+ Input: v.Input,
734
+ Metadata: v.Definition.(*schemametadata.MetadataSchema),
735
+ Explore: plainCloneProgrammer_checker_explore(v.Explore),
736
+ })
737
+ },
738
+ Decoder: func(v nativehelpers.UnionExplorer_ArrayLikeDecoderProps) *shimast.Node {
739
+ return f.NewNewExpression(
740
+ f.NewIdentifier("Set"),
741
+ f.NewNodeList([]*shimast.Node{nativefactories.TypeFactory.Keyword("any", props.Context.Emit)}),
742
+ f.NewNodeList([]*shimast.Node{
743
+ plainCloneProgrammer_decode_array(plainCloneProgrammer_decodeArrayProps{
744
+ Context: props.Context,
745
+ Config: props.Config,
746
+ Functor: props.Functor,
747
+ Input: v.Input,
748
+ Array: v.Definition.(*schemametadata.MetadataArray),
749
+ Explore: plainCloneProgrammer_feature_explore(v.Explore),
750
+ }),
751
+ }),
752
+ )
753
+ },
754
+ Empty: f.NewNewExpression(
755
+ f.NewIdentifier("Set"),
756
+ f.NewNodeList([]*shimast.Node{nativefactories.TypeFactory.Keyword("any", props.Context.Emit)}),
757
+ nil,
758
+ ),
759
+ Success: f.NewKeywordExpression(shimast.KindTrueKeyword),
760
+ Failure: func(v nativehelpers.UnionExplorer_ArrayLikeFailureProps) *shimast.Node {
761
+ return plainCloneProgrammer_create_throw_error(plainCloneProgrammer_throwProps{
762
+ Context: props.Context,
763
+ Functor: props.Functor,
764
+ Expected: v.Expected,
765
+ Input: v.Input,
766
+ })
767
+ },
768
+ },
769
+ Parameters: nil,
770
+ Input: props.Input,
771
+ Sets: props.Sets,
772
+ Explore: props.Explore,
773
+ Emit: props.Context.Emit,
774
+ }),
775
+ nil,
776
+ nil,
777
+ nil,
778
+ shimast.NodeFlagsNone,
779
+ )
780
+ }
781
+
782
+ type plainCloneProgrammer_exploreMapsProps struct {
783
+ Context nativecontext.ITypiaContext
784
+ Config nativeinternal.FeatureProgrammer_IConfig
785
+ Functor *nativehelpers.FunctionProgrammer
786
+ Input *shimast.Node
787
+ Maps []*schemametadata.MetadataMap
788
+ Explore nativeinternal.FeatureProgrammer_IExplore
789
+ }
790
+
791
+ func plainCloneProgrammer_explore_maps(props plainCloneProgrammer_exploreMapsProps) *shimast.Node {
792
+ f := nativecontext.EmitFactoryOf(plainCloneProgrammer_factory, props.Context.Emit)
793
+ return f.NewCallExpression(
794
+ nativehelpers.UnionExplorer.Map(nativehelpers.UnionExplorer_MapProps{
795
+ Config: nativehelpers.UnionExplorer_ArrayLikeConfig{
796
+ Checker: func(v nativehelpers.UnionExplorer_ArrayLikeCheckerProps) *shimast.Node {
797
+ pair := v.Definition.([]*schemametadata.MetadataSchema)
798
+ first := nativeprogrammers.IsProgrammer.Decode(nativeprogrammers.IsProgrammer_DecodeProps{
799
+ Context: props.Context,
800
+ Functor: props.Functor,
801
+ Input: f.NewElementAccessExpression(v.Input, nil, nativefactories.ExpressionFactory.Number(0, props.Context.Emit), shimast.NodeFlagsNone),
802
+ Metadata: pair[0],
803
+ Explore: plainCloneProgrammer_checker_explore_with_postfix(v.Explore, "[0]"),
804
+ })
805
+ second := nativeprogrammers.IsProgrammer.Decode(nativeprogrammers.IsProgrammer_DecodeProps{
806
+ Context: props.Context,
807
+ Functor: props.Functor,
808
+ Input: f.NewElementAccessExpression(v.Input, nil, nativefactories.ExpressionFactory.Number(1, props.Context.Emit), shimast.NodeFlagsNone),
809
+ Metadata: pair[1],
810
+ Explore: plainCloneProgrammer_checker_explore_with_postfix(v.Explore, "[1]"),
811
+ })
812
+ return f.NewBinaryExpression(nil, first, nil, f.NewToken(shimast.KindAmpersandAmpersandToken), second)
813
+ },
814
+ Decoder: func(v nativehelpers.UnionExplorer_ArrayLikeDecoderProps) *shimast.Node {
815
+ return f.NewNewExpression(
816
+ f.NewIdentifier("Map"),
817
+ f.NewNodeList([]*shimast.Node{
818
+ nativefactories.TypeFactory.Keyword("any", props.Context.Emit),
819
+ nativefactories.TypeFactory.Keyword("any", props.Context.Emit),
820
+ }),
821
+ f.NewNodeList([]*shimast.Node{
822
+ plainCloneProgrammer_decode_array(plainCloneProgrammer_decodeArrayProps{
823
+ Context: props.Context,
824
+ Config: props.Config,
825
+ Functor: props.Functor,
826
+ Input: v.Input,
827
+ Array: v.Definition.(*schemametadata.MetadataArray),
828
+ Explore: plainCloneProgrammer_feature_explore(v.Explore),
829
+ }),
830
+ }),
831
+ )
832
+ },
833
+ Empty: f.NewNewExpression(
834
+ f.NewIdentifier("Map"),
835
+ f.NewNodeList([]*shimast.Node{
836
+ nativefactories.TypeFactory.Keyword("any", props.Context.Emit),
837
+ nativefactories.TypeFactory.Keyword("any", props.Context.Emit),
838
+ }),
839
+ nil,
840
+ ),
841
+ Success: f.NewKeywordExpression(shimast.KindTrueKeyword),
842
+ Failure: func(v nativehelpers.UnionExplorer_ArrayLikeFailureProps) *shimast.Node {
843
+ return plainCloneProgrammer_create_throw_error(plainCloneProgrammer_throwProps{
844
+ Context: props.Context,
845
+ Functor: props.Functor,
846
+ Expected: v.Expected,
847
+ Input: v.Input,
848
+ })
849
+ },
850
+ },
851
+ Parameters: nil,
852
+ Input: props.Input,
853
+ Maps: props.Maps,
854
+ Explore: props.Explore,
855
+ Emit: props.Context.Emit,
856
+ }),
857
+ nil,
858
+ nil,
859
+ nil,
860
+ shimast.NodeFlagsNone,
861
+ )
862
+ }
863
+
864
+ type plainCloneProgrammer_exploreObjectsProps struct {
865
+ Context nativecontext.ITypiaContext
866
+ Config nativeinternal.FeatureProgrammer_IConfig
867
+ Functor *nativehelpers.FunctionProgrammer
868
+ Input *shimast.Node
869
+ Metadata *schemametadata.MetadataSchema
870
+ Explore nativeinternal.FeatureProgrammer_IExplore
871
+ }
872
+
873
+ func plainCloneProgrammer_explore_objects(props plainCloneProgrammer_exploreObjectsProps) *shimast.Node {
874
+ f := nativecontext.EmitFactoryOf(plainCloneProgrammer_factory, props.Context.Emit)
875
+ if len(props.Metadata.Objects) == 1 {
876
+ return plainCloneProgrammer_decode_object(struct {
877
+ Functor *nativehelpers.FunctionProgrammer
878
+ Input *shimast.Node
879
+ Object *schemametadata.MetadataObjectType
880
+ Explore nativeinternal.FeatureProgrammer_IExplore
881
+ }{
882
+ Functor: props.Functor,
883
+ Input: props.Input,
884
+ Object: props.Metadata.Objects[0].Type,
885
+ Explore: props.Explore,
886
+ })
887
+ }
888
+ index := 0
889
+ if props.Metadata.Union_index != nil {
890
+ index = *props.Metadata.Union_index
891
+ }
892
+ return f.NewCallExpression(
893
+ f.NewIdentifier(props.Functor.UseLocal(fmt.Sprintf("%su%d", plainCloneProgrammer_PREFIX, index))),
894
+ nil,
895
+ nil,
896
+ f.NewNodeList(nativeinternal.FeatureProgrammer.ArgumentsArray(nativeinternal.FeatureProgrammer_ArgumentsArrayProps{
897
+ Config: nativeinternal.FeatureProgrammer_ArgumentsArrayConfig{Path: props.Config.Path, Trace: props.Config.Trace, Visited: props.Functor.Visited()},
898
+ Input: props.Input,
899
+ Explore: props.Explore,
900
+ })),
901
+ shimast.NodeFlagsNone,
902
+ )
903
+ }
904
+
905
+ func plainCloneProgrammer_configure(props struct {
906
+ Context nativecontext.ITypiaContext
907
+ Functor *nativehelpers.FunctionProgrammer
908
+ }) nativeinternal.FeatureProgrammer_IConfig {
909
+ f := nativecontext.EmitFactoryOf(plainCloneProgrammer_factory, props.Context.Emit)
910
+ config := nativeinternal.FeatureProgrammer_IConfig{}
911
+ config.Types = nativeinternal.FeatureProgrammer_IConfig_ITypes{
912
+ Input: func(t *shimchecker.Type, name *string) *shimast.TypeNode {
913
+ return f.NewTypeReferenceNode(f.NewIdentifier(plainCloneProgrammer_type_name(props.Context, t, name)), nil)
914
+ },
915
+ Output: func(t *shimchecker.Type, name *string) *shimast.TypeNode {
916
+ return plainCloneProgrammer_import_type(props.Context, nativecontext.ImportProgrammer_TypeProps{
917
+ File: "typia",
918
+ Name: "Resolved",
919
+ Arguments: []*shimast.TypeNode{
920
+ f.NewTypeReferenceNode(f.NewIdentifier(plainCloneProgrammer_type_name(props.Context, t, name)), nil),
921
+ },
922
+ })
923
+ },
924
+ }
925
+ config.Prefix = plainCloneProgrammer_PREFIX
926
+ config.Trace = false
927
+ config.Path = false
928
+ config.Initializer = plainCloneProgrammer_initializer
929
+ config.Visited = props.Functor.Visited
930
+ config.VisitGuard = func(next nativeinternal.FeatureProgrammer_VisitGuardProps) *shimast.Node {
931
+ return nativeinternal.FeatureProgrammer.VisitGuardRebuild(next.Key, false, next.Body, props.Context.Emit)
932
+ }
933
+ config.Decoder = func(next nativeinternal.FeatureProgrammer_DecoderProps) *shimast.Node {
934
+ return plainCloneProgrammer_decode(struct {
935
+ Context nativecontext.ITypiaContext
936
+ Config nativeinternal.FeatureProgrammer_IConfig
937
+ Functor *nativehelpers.FunctionProgrammer
938
+ Input *shimast.Node
939
+ Metadata *schemametadata.MetadataSchema
940
+ Explore nativeinternal.FeatureProgrammer_IExplore
941
+ }{
942
+ Context: props.Context,
943
+ Config: config,
944
+ Functor: props.Functor,
945
+ Input: next.Input,
946
+ Metadata: next.Metadata,
947
+ Explore: next.Explore,
948
+ })
949
+ }
950
+ config.Objector = nativeinternal.FeatureProgrammer_IConfig_IObjector{
951
+ Checker: func(next nativeinternal.FeatureProgrammer_ObjectorCheckerProps) *shimast.Node {
952
+ return nativeprogrammers.IsProgrammer.Decode(nativeprogrammers.IsProgrammer_DecodeProps{
953
+ Context: props.Context,
954
+ Functor: props.Functor,
955
+ Input: next.Input,
956
+ Metadata: next.Metadata,
957
+ Explore: plainCloneProgrammer_checker_explore(next.Explore),
958
+ })
959
+ },
960
+ Decoder: func(next nativeinternal.FeatureProgrammer_ObjectorDecoderProps) *shimast.Node {
961
+ return plainCloneProgrammer_decode_object(struct {
962
+ Functor *nativehelpers.FunctionProgrammer
963
+ Input *shimast.Node
964
+ Object *schemametadata.MetadataObjectType
965
+ Explore nativeinternal.FeatureProgrammer_IExplore
966
+ }{
967
+ Functor: props.Functor,
968
+ Input: next.Input,
969
+ Object: next.Object,
970
+ Explore: next.Explore,
971
+ })
972
+ },
973
+ Joiner: func(next nativeinternal.FeatureProgrammer_ObjectorJoinerProps) *shimast.Node {
974
+ return nativehelpers.CloneJoiner.Object(nativehelpers.CloneJoiner_ObjectProps{
975
+ Input: next.Input,
976
+ Entries: next.Entries,
977
+ Emit: props.Context.Emit,
978
+ })
979
+ },
980
+ Unionizer: func(next nativeinternal.FeatureProgrammer_ObjectorUnionizerProps) *shimast.Node {
981
+ return nativeiterate.Decode_union_object(nativeiterate.Decode_union_objectProps{
982
+ Checker: func(v nativeiterate.Decode_union_object_next) *shimast.Node {
983
+ return nativeprogrammers.IsProgrammer.Decode_object(nativeprogrammers.IsProgrammer_DecodeObjectProps{
984
+ Context: props.Context,
985
+ Functor: props.Functor,
986
+ Input: v.Input,
987
+ Object: v.Object,
988
+ Explore: plainCloneProgrammer_feature_explore(v.Explore),
989
+ })
990
+ },
991
+ Decoder: func(v nativeiterate.Decode_union_object_next) *shimast.Node {
992
+ return plainCloneProgrammer_decode_object(struct {
993
+ Functor *nativehelpers.FunctionProgrammer
994
+ Input *shimast.Node
995
+ Object *schemametadata.MetadataObjectType
996
+ Explore nativeinternal.FeatureProgrammer_IExplore
997
+ }{
998
+ Functor: props.Functor,
999
+ Input: v.Input,
1000
+ Object: v.Object,
1001
+ Explore: plainCloneProgrammer_feature_explore(v.Explore),
1002
+ })
1003
+ },
1004
+ Success: func(exp *shimast.Node) *shimast.Node { return exp },
1005
+ Escaper: func(v nativeiterate.Decode_union_object_escape) *shimast.Node {
1006
+ return plainCloneProgrammer_create_throw_error(plainCloneProgrammer_throwProps{
1007
+ Context: props.Context,
1008
+ Functor: props.Functor,
1009
+ Expected: v.Expected,
1010
+ Input: v.Input,
1011
+ })
1012
+ },
1013
+ Input: next.Input,
1014
+ Objects: next.Objects,
1015
+ Explore: next.Explore,
1016
+ })
1017
+ },
1018
+ Failure: func(next nativeinternal.FeatureProgrammer_ObjectorFailureProps) *shimast.Node {
1019
+ return plainCloneProgrammer_create_throw_error(plainCloneProgrammer_throwProps{
1020
+ Context: props.Context,
1021
+ Functor: props.Functor,
1022
+ Expected: next.Expected,
1023
+ Input: next.Input,
1024
+ })
1025
+ },
1026
+ }
1027
+ config.Generator = nativeinternal.FeatureProgrammer_IConfig_IGenerator{
1028
+ Arrays: func(collection *schemametadata.MetadataCollection) []*shimast.Node {
1029
+ return plainCloneProgrammer_write_array_functions(struct {
1030
+ Context nativecontext.ITypiaContext
1031
+ Config nativeinternal.FeatureProgrammer_IConfig
1032
+ Functor *nativehelpers.FunctionProgrammer
1033
+ Collection *schemametadata.MetadataCollection
1034
+ }{Context: props.Context, Config: config, Functor: props.Functor, Collection: collection})
1035
+ },
1036
+ Tuples: func(collection *schemametadata.MetadataCollection) []*shimast.Node {
1037
+ return plainCloneProgrammer_write_tuple_functions(struct {
1038
+ Context nativecontext.ITypiaContext
1039
+ Config nativeinternal.FeatureProgrammer_IConfig
1040
+ Functor *nativehelpers.FunctionProgrammer
1041
+ Collection *schemametadata.MetadataCollection
1042
+ }{Context: props.Context, Config: config, Functor: props.Functor, Collection: collection})
1043
+ },
1044
+ }
1045
+ return config
1046
+ }
1047
+
1048
+ func plainCloneProgrammer_initializer(props nativeinternal.FeatureProgrammer_InitializerProps) nativeinternal.FeatureProgrammer_InitializerOutput {
1049
+ collection := schemametadata.NewMetadataCollection()
1050
+ result := nativefactories.MetadataFactory.Analyze(nativefactories.MetadataFactory_IProps{
1051
+ Checker: props.Context.Checker,
1052
+ Options: nativefactories.MetadataFactory_IOptions{
1053
+ Escape: false,
1054
+ Constant: true,
1055
+ Absorb: true,
1056
+ Validate: func(next struct {
1057
+ Metadata *schemametadata.MetadataSchema
1058
+ Explore nativefactories.MetadataFactory_IExplore
1059
+ Top *schemametadata.MetadataSchema
1060
+ }) []string {
1061
+ output := []string{}
1062
+ for _, native := range next.Metadata.Natives {
1063
+ if native.Name == "WeakSet" {
1064
+ output = append(output, "unable to clone WeakSet")
1065
+ } else if native.Name == "WeakMap" {
1066
+ output = append(output, "unable to clone WeakMap")
1067
+ }
1068
+ }
1069
+ return output
1070
+ },
1071
+ },
1072
+ Components: collection,
1073
+ Type: props.Type,
1074
+ })
1075
+ if result.Success == false {
1076
+ panic(nativecontext.TransformerError_from(struct {
1077
+ Code string
1078
+ Errors []nativecontext.TransformerError_MetadataFactory_IError
1079
+ }{
1080
+ Code: props.Functor.Method,
1081
+ Errors: plainCloneProgrammer_errors(result.Errors),
1082
+ }))
1083
+ }
1084
+ if nativeinternal.FeatureProgrammer.CollectionRecursive(collection) {
1085
+ props.Functor.SetVisited(true)
1086
+ }
1087
+ return nativeinternal.FeatureProgrammer_InitializerOutput{
1088
+ Collection: collection,
1089
+ Metadata: result.Data,
1090
+ }
1091
+ }
1092
+
1093
+ type plainCloneProgrammer_throwProps struct {
1094
+ Context nativecontext.ITypiaContext
1095
+ Functor *nativehelpers.FunctionProgrammer
1096
+ Expected string
1097
+ Input *shimast.Node
1098
+ }
1099
+
1100
+ func plainCloneProgrammer_create_throw_error(props plainCloneProgrammer_throwProps) *shimast.Node {
1101
+ f := nativecontext.EmitFactoryOf(plainCloneProgrammer_factory, props.Context.Emit)
1102
+ return f.NewExpressionStatement(
1103
+ f.NewCallExpression(
1104
+ plainCloneProgrammer_internal(props.Context, "throwTypeGuardError"),
1105
+ nil,
1106
+ nil,
1107
+ f.NewNodeList([]*shimast.Node{
1108
+ f.NewObjectLiteralExpression(
1109
+ f.NewNodeList([]*shimast.Node{
1110
+ f.NewPropertyAssignment(nil, nativefactories.IdentifierFactory.Identifier("method", props.Context.Emit), nil, nil, f.NewStringLiteral(props.Functor.Method, shimast.TokenFlagsNone)),
1111
+ f.NewPropertyAssignment(nil, nativefactories.IdentifierFactory.Identifier("expected", props.Context.Emit), nil, nil, f.NewStringLiteral(props.Expected, shimast.TokenFlagsNone)),
1112
+ f.NewPropertyAssignment(nil, nativefactories.IdentifierFactory.Identifier("value", props.Context.Emit), nil, nil, props.Input),
1113
+ }),
1114
+ true,
1115
+ ),
1116
+ }),
1117
+ shimast.NodeFlagsNone,
1118
+ ),
1119
+ )
1120
+ }
1121
+
1122
+ func plainCloneProgrammer_is_instance(metadata *schemametadata.MetadataSchema) bool {
1123
+ if len(metadata.Objects) != 0 ||
1124
+ len(metadata.Arrays) != 0 ||
1125
+ len(metadata.Tuples) != 0 ||
1126
+ len(metadata.Sets) != 0 ||
1127
+ len(metadata.Maps) != 0 ||
1128
+ len(metadata.Natives) != 0 {
1129
+ return true
1130
+ }
1131
+ return metadata.Rest != nil && plainCloneProgrammer_is_instance(metadata.Rest)
1132
+ }
1133
+
1134
+ func plainCloneProgrammer_internal(context nativecontext.ITypiaContext, name string) *shimast.Node {
1135
+ if importer := context.Importer; importer != nil {
1136
+ return importer.Internal(name)
1137
+ }
1138
+ f := nativecontext.EmitFactoryOf(plainCloneProgrammer_factory, context.Emit)
1139
+ return f.NewIdentifier(name)
1140
+ }
1141
+
1142
+ func plainCloneProgrammer_import_type(context nativecontext.ITypiaContext, props nativecontext.ImportProgrammer_TypeProps) *shimast.Node {
1143
+ if importer := context.Importer; importer != nil {
1144
+ return importer.Type(props)
1145
+ }
1146
+ if str, ok := props.Name.(string); ok {
1147
+ f := nativecontext.EmitFactoryOf(plainCloneProgrammer_factory, context.Emit)
1148
+ return f.NewTypeReferenceNode(f.NewIdentifier(str), f.NewNodeList(props.Arguments))
1149
+ }
1150
+ return props.Name.(*shimast.Node)
1151
+ }
1152
+
1153
+ func plainCloneProgrammer_type_name(context nativecontext.ITypiaContext, typ *shimchecker.Type, name *string) string {
1154
+ if name != nil {
1155
+ return *name
1156
+ }
1157
+ return nativefactories.TypeFactory.GetFullName(nativefactories.TypeFactory_GetFullNameProps{
1158
+ Checker: context.Checker,
1159
+ Type: typ,
1160
+ })
1161
+ }
1162
+
1163
+ func plainCloneProgrammer_method_text(modulo *shimast.Node) string {
1164
+ return nativehelpers.ModuloMethodText(modulo)
1165
+ }
1166
+
1167
+ func plainCloneProgrammer_errors(errors []nativefactories.MetadataFactory_IError) []nativecontext.TransformerError_MetadataFactory_IError {
1168
+ output := make([]nativecontext.TransformerError_MetadataFactory_IError, 0, len(errors))
1169
+ for _, err := range errors {
1170
+ output = append(output, nativecontext.TransformerError_MetadataFactory_IError{
1171
+ Name: err.Name,
1172
+ Explore: nativecontext.TransformerError_MetadataFactory_IExplore{
1173
+ Object: err.Explore.Object,
1174
+ Property: err.Explore.Property,
1175
+ Parameter: err.Explore.Parameter,
1176
+ Output: err.Explore.Output,
1177
+ },
1178
+ Messages: append([]string{}, err.Messages...),
1179
+ })
1180
+ }
1181
+ return output
1182
+ }
1183
+
1184
+ func plainCloneProgrammer_feature_explore(input any) nativeinternal.FeatureProgrammer_IExplore {
1185
+ switch v := input.(type) {
1186
+ case nativeinternal.FeatureProgrammer_IExplore:
1187
+ return v
1188
+ case *nativeinternal.FeatureProgrammer_IExplore:
1189
+ return *v
1190
+ default:
1191
+ return nativeinternal.FeatureProgrammer_IExplore{}
1192
+ }
1193
+ }
1194
+
1195
+ func plainCloneProgrammer_checker_explore(input any) nativeinternal.CheckerProgrammer_IExplore {
1196
+ v := plainCloneProgrammer_feature_explore(input)
1197
+ return nativeinternal.CheckerProgrammer_IExplore{
1198
+ Tracable: v.Tracable,
1199
+ Source: v.Source,
1200
+ From: v.From,
1201
+ Postfix: v.Postfix,
1202
+ Start: v.Start,
1203
+ }
1204
+ }
1205
+
1206
+ func plainCloneProgrammer_checker_explore_with_postfix(input any, postfix string) nativeinternal.CheckerProgrammer_IExplore {
1207
+ v := plainCloneProgrammer_checker_explore(input)
1208
+ v.Postfix = v.Postfix + postfix
1209
+ return v
1210
+ }
1211
+
1212
+ func plainCloneProgrammer_explore_with(explore nativeinternal.FeatureProgrammer_IExplore, source string, from string) nativeinternal.FeatureProgrammer_IExplore {
1213
+ explore.Source = source
1214
+ explore.From = from
1215
+ return explore
1216
+ }
1217
+
1218
+ func plainCloneProgrammer_some_arrays(values []*schemametadata.MetadataArray, pred func(*schemametadata.MetadataArray) bool) bool {
1219
+ for _, value := range values {
1220
+ if pred(value) {
1221
+ return true
1222
+ }
1223
+ }
1224
+ return false
1225
+ }
1226
+
1227
+ func plainCloneProgrammer_some_tuples(values []*schemametadata.MetadataTuple, pred func(*schemametadata.MetadataTuple) bool) bool {
1228
+ for _, value := range values {
1229
+ if pred(value) {
1230
+ return true
1231
+ }
1232
+ }
1233
+ return false
1234
+ }
1235
+
1236
+ func plainCloneProgrammer_every_schema(values []*schemametadata.MetadataSchema, pred func(*schemametadata.MetadataSchema) bool) bool {
1237
+ if len(values) == 0 {
1238
+ return false
1239
+ }
1240
+ for _, value := range values {
1241
+ if pred(value) == false {
1242
+ return false
1243
+ }
1244
+ }
1245
+ return true
1246
+ }
1247
+
1248
+ func plainCloneProgrammer_join_names[T any](values []T, name func(T) string) string {
1249
+ names := make([]string, 0, len(values))
1250
+ for _, value := range values {
1251
+ names = append(names, name(value))
1252
+ }
1253
+ return strings.Join(names, " | ")
1254
+ }