typia 13.1.1 → 13.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (581) hide show
  1. package/README.md +3 -0
  2. package/lib/_virtual/_rolldown/runtime.mjs +1 -5
  3. package/lib/executable/FileSystemIdentity.d.ts +44 -0
  4. package/lib/executable/FileSystemIdentity.js +213 -0
  5. package/lib/executable/FileSystemIdentity.js.map +1 -0
  6. package/lib/executable/FileSystemIdentity.mjs +133 -0
  7. package/lib/executable/FileSystemIdentity.mjs.map +1 -0
  8. package/lib/executable/TypiaGenerateWizard.js +272 -106
  9. package/lib/executable/TypiaGenerateWizard.js.map +1 -1
  10. package/lib/executable/TypiaGenerateWizard.mjs +239 -95
  11. package/lib/executable/TypiaGenerateWizard.mjs.map +1 -1
  12. package/lib/functional.d.ts +15 -12
  13. package/lib/functional.js.map +1 -1
  14. package/lib/functional.mjs.map +1 -1
  15. package/lib/internal/_ProtobufReader.d.ts +32 -0
  16. package/lib/internal/_ProtobufReader.js +148 -48
  17. package/lib/internal/_ProtobufReader.js.map +1 -1
  18. package/lib/internal/_ProtobufReader.mjs +137 -41
  19. package/lib/internal/_ProtobufReader.mjs.map +1 -1
  20. package/lib/internal/_createStandardSchema.js +18 -1
  21. package/lib/internal/_createStandardSchema.js.map +1 -1
  22. package/lib/internal/_createStandardSchema.mjs +12 -1
  23. package/lib/internal/_createStandardSchema.mjs.map +1 -1
  24. package/lib/internal/_decimal.d.ts +14 -0
  25. package/lib/internal/_decimal.js +61 -0
  26. package/lib/internal/_decimal.js.map +1 -0
  27. package/lib/internal/_decimal.mjs +49 -0
  28. package/lib/internal/_decimal.mjs.map +1 -0
  29. package/lib/internal/_httpQueryParseURLSearchParams.js +23 -2
  30. package/lib/internal/_httpQueryParseURLSearchParams.js.map +1 -1
  31. package/lib/internal/_httpQueryParseURLSearchParams.mjs +20 -2
  32. package/lib/internal/_httpQueryParseURLSearchParams.mjs.map +1 -1
  33. package/lib/internal/_isFormatByte.js +2 -5
  34. package/lib/internal/_isFormatByte.js.map +1 -1
  35. package/lib/internal/_isFormatByte.mjs +2 -5
  36. package/lib/internal/_isFormatByte.mjs.map +1 -1
  37. package/lib/internal/_isFormatDate.js +15 -2
  38. package/lib/internal/_isFormatDate.js.map +1 -1
  39. package/lib/internal/_isFormatDate.mjs +22 -2
  40. package/lib/internal/_isFormatDate.mjs.map +1 -1
  41. package/lib/internal/_isFormatDateTime.js +21 -2
  42. package/lib/internal/_isFormatDateTime.js.map +1 -1
  43. package/lib/internal/_isFormatDateTime.mjs +13 -2
  44. package/lib/internal/_isFormatDateTime.mjs.map +1 -1
  45. package/lib/internal/_isFormatIri.js +3 -2
  46. package/lib/internal/_isFormatIri.js.map +1 -1
  47. package/lib/internal/_isFormatIri.mjs +3 -2
  48. package/lib/internal/_isFormatIri.mjs.map +1 -1
  49. package/lib/internal/_isFormatIriReference.js +10 -2
  50. package/lib/internal/_isFormatIriReference.js.map +1 -1
  51. package/lib/internal/_isFormatIriReference.mjs +9 -2
  52. package/lib/internal/_isFormatIriReference.mjs.map +1 -1
  53. package/lib/internal/_isFormatUriReference.js +1 -1
  54. package/lib/internal/_isFormatUriReference.js.map +1 -1
  55. package/lib/internal/_isFormatUriReference.mjs +1 -1
  56. package/lib/internal/_isFormatUriReference.mjs.map +1 -1
  57. package/lib/internal/_isMultipleOf.d.ts +1 -0
  58. package/lib/internal/_isMultipleOf.js +13 -0
  59. package/lib/internal/_isMultipleOf.js.map +1 -0
  60. package/lib/internal/_isMultipleOf.mjs +12 -0
  61. package/lib/internal/_isMultipleOf.mjs.map +1 -0
  62. package/lib/internal/_isTypeFloat.js +1 -1
  63. package/lib/internal/_isTypeFloat.js.map +1 -1
  64. package/lib/internal/_isTypeFloat.mjs +1 -1
  65. package/lib/internal/_isTypeFloat.mjs.map +1 -1
  66. package/lib/internal/_isTypeInt64.js +1 -0
  67. package/lib/internal/_isTypeInt64.js.map +1 -1
  68. package/lib/internal/_isTypeInt64.mjs.map +1 -1
  69. package/lib/internal/_isTypeInt64Bigint.d.ts +1 -0
  70. package/lib/internal/_isTypeInt64Bigint.js +15 -0
  71. package/lib/internal/_isTypeInt64Bigint.js.map +1 -0
  72. package/lib/internal/_isTypeInt64Bigint.mjs +8 -0
  73. package/lib/internal/_isTypeInt64Bigint.mjs.map +1 -0
  74. package/lib/internal/_isTypeUint64.js +1 -0
  75. package/lib/internal/_isTypeUint64.js.map +1 -1
  76. package/lib/internal/_isTypeUint64.mjs.map +1 -1
  77. package/lib/internal/_isTypeUint64Bigint.d.ts +1 -0
  78. package/lib/internal/_isTypeUint64Bigint.js +10 -0
  79. package/lib/internal/_isTypeUint64Bigint.js.map +1 -0
  80. package/lib/internal/_isTypeUint64Bigint.mjs +8 -0
  81. package/lib/internal/_isTypeUint64Bigint.mjs.map +1 -0
  82. package/lib/internal/_isUniqueItems.js +96 -109
  83. package/lib/internal/_isUniqueItems.js.map +1 -1
  84. package/lib/internal/_isUniqueItems.mjs +62 -50
  85. package/lib/internal/_isUniqueItems.mjs.map +1 -1
  86. package/lib/internal/_jsonStringifyArray.d.ts +1 -0
  87. package/lib/internal/_jsonStringifyArray.js +48 -0
  88. package/lib/internal/_jsonStringifyArray.js.map +1 -0
  89. package/lib/internal/_jsonStringifyArray.mjs +40 -0
  90. package/lib/internal/_jsonStringifyArray.mjs.map +1 -0
  91. package/lib/internal/_jsonStringifyElement.d.ts +1 -0
  92. package/lib/internal/_jsonStringifyElement.js +23 -0
  93. package/lib/internal/_jsonStringifyElement.js.map +1 -0
  94. package/lib/internal/_jsonStringifyElement.mjs +23 -0
  95. package/lib/internal/_jsonStringifyElement.mjs.map +1 -0
  96. package/lib/internal/_jsonStringifyProperty.d.ts +1 -0
  97. package/lib/internal/_jsonStringifyProperty.js +31 -0
  98. package/lib/internal/_jsonStringifyProperty.js.map +1 -0
  99. package/lib/internal/_jsonStringifyProperty.mjs +31 -0
  100. package/lib/internal/_jsonStringifyProperty.mjs.map +1 -0
  101. package/lib/internal/_llmApplicationFinalize.js +1 -1
  102. package/lib/internal/_llmApplicationFinalize.js.map +1 -1
  103. package/lib/internal/_llmApplicationFinalize.mjs +1 -1
  104. package/lib/internal/_llmApplicationFinalize.mjs.map +1 -1
  105. package/lib/internal/_notationAny.js +8 -1
  106. package/lib/internal/_notationAny.js.map +1 -1
  107. package/lib/internal/_notationAny.mjs +7 -1
  108. package/lib/internal/_notationAny.mjs.map +1 -1
  109. package/lib/internal/_notationAssign.d.ts +1 -0
  110. package/lib/internal/_notationAssign.js +18 -0
  111. package/lib/internal/_notationAssign.js.map +1 -0
  112. package/lib/internal/_notationAssign.mjs +17 -0
  113. package/lib/internal/_notationAssign.mjs.map +1 -0
  114. package/lib/internal/_notationCamel.js +30 -9
  115. package/lib/internal/_notationCamel.js.map +1 -1
  116. package/lib/internal/_notationCamel.mjs +13 -5
  117. package/lib/internal/_notationCamel.mjs.map +1 -1
  118. package/lib/internal/_notationKebab.d.ts +1 -0
  119. package/lib/internal/_notationKebab.js +15 -0
  120. package/lib/internal/_notationKebab.js.map +1 -0
  121. package/lib/internal/_notationKebab.mjs +15 -0
  122. package/lib/internal/_notationKebab.mjs.map +1 -0
  123. package/lib/internal/_notationKeyCollision.d.ts +1 -0
  124. package/lib/internal/_notationKeyCollision.js +8 -0
  125. package/lib/internal/_notationKeyCollision.js.map +1 -0
  126. package/lib/internal/_notationKeyCollision.mjs +8 -0
  127. package/lib/internal/_notationKeyCollision.mjs.map +1 -0
  128. package/lib/internal/_notationPascal.js +20 -5
  129. package/lib/internal/_notationPascal.js.map +1 -1
  130. package/lib/internal/_notationPascal.mjs +10 -5
  131. package/lib/internal/_notationPascal.mjs.map +1 -1
  132. package/lib/internal/_notationSnake.js +25 -22
  133. package/lib/internal/_notationSnake.js.map +1 -1
  134. package/lib/internal/_notationSnake.mjs +11 -11
  135. package/lib/internal/_notationSnake.mjs.map +1 -1
  136. package/lib/internal/_plainCloneAny.js +174 -38
  137. package/lib/internal/_plainCloneAny.js.map +1 -1
  138. package/lib/internal/_plainCloneAny.mjs +126 -22
  139. package/lib/internal/_plainCloneAny.mjs.map +1 -1
  140. package/lib/internal/_randomArray.d.ts +1 -1
  141. package/lib/internal/_randomArray.js +11 -4
  142. package/lib/internal/_randomArray.js.map +1 -1
  143. package/lib/internal/_randomArray.mjs +9 -3
  144. package/lib/internal/_randomArray.mjs.map +1 -1
  145. package/lib/internal/_randomFormatByte.d.ts +2 -1
  146. package/lib/internal/_randomFormatByte.js +25 -1
  147. package/lib/internal/_randomFormatByte.js.map +1 -1
  148. package/lib/internal/_randomFormatByte.mjs +20 -1
  149. package/lib/internal/_randomFormatByte.mjs.map +1 -1
  150. package/lib/internal/_randomFormatDate.d.ts +3 -4
  151. package/lib/internal/_randomFormatDate.js +3 -10
  152. package/lib/internal/_randomFormatDate.js.map +1 -1
  153. package/lib/internal/_randomFormatDate.mjs +3 -6
  154. package/lib/internal/_randomFormatDate.mjs.map +1 -1
  155. package/lib/internal/_randomFormatDatetime.d.ts +3 -4
  156. package/lib/internal/_randomFormatDatetime.js +26 -8
  157. package/lib/internal/_randomFormatDatetime.js.map +1 -1
  158. package/lib/internal/_randomFormatDatetime.mjs +17 -6
  159. package/lib/internal/_randomFormatDatetime.mjs.map +1 -1
  160. package/lib/internal/_randomFormatDuration.d.ts +2 -1
  161. package/lib/internal/_randomFormatDuration.js +23 -14
  162. package/lib/internal/_randomFormatDuration.js.map +1 -1
  163. package/lib/internal/_randomFormatDuration.mjs +22 -13
  164. package/lib/internal/_randomFormatDuration.mjs.map +1 -1
  165. package/lib/internal/_randomFormatEmail.d.ts +2 -1
  166. package/lib/internal/_randomFormatEmail.js +8 -1
  167. package/lib/internal/_randomFormatEmail.js.map +1 -1
  168. package/lib/internal/_randomFormatEmail.mjs +5 -1
  169. package/lib/internal/_randomFormatEmail.mjs.map +1 -1
  170. package/lib/internal/_randomFormatHostname.d.ts +8 -1
  171. package/lib/internal/_randomFormatHostname.js +45 -2
  172. package/lib/internal/_randomFormatHostname.js.map +1 -1
  173. package/lib/internal/_randomFormatHostname.mjs +38 -2
  174. package/lib/internal/_randomFormatHostname.mjs.map +1 -1
  175. package/lib/internal/_randomFormatIdnEmail.d.ts +2 -1
  176. package/lib/internal/_randomFormatIdnEmail.js +16 -2
  177. package/lib/internal/_randomFormatIdnEmail.js.map +1 -1
  178. package/lib/internal/_randomFormatIdnEmail.mjs +11 -2
  179. package/lib/internal/_randomFormatIdnEmail.mjs.map +1 -1
  180. package/lib/internal/_randomFormatIdnHostname.d.ts +2 -1
  181. package/lib/internal/_randomFormatIdnHostname.js +26 -1
  182. package/lib/internal/_randomFormatIdnHostname.js.map +1 -1
  183. package/lib/internal/_randomFormatIdnHostname.mjs +25 -2
  184. package/lib/internal/_randomFormatIdnHostname.mjs.map +1 -1
  185. package/lib/internal/_randomFormatIpv4.d.ts +2 -1
  186. package/lib/internal/_randomFormatIpv4.js +32 -1
  187. package/lib/internal/_randomFormatIpv4.js.map +1 -1
  188. package/lib/internal/_randomFormatIpv4.mjs +23 -1
  189. package/lib/internal/_randomFormatIpv4.mjs.map +1 -1
  190. package/lib/internal/_randomFormatIpv6.d.ts +2 -1
  191. package/lib/internal/_randomFormatIpv6.js +58 -1
  192. package/lib/internal/_randomFormatIpv6.js.map +1 -1
  193. package/lib/internal/_randomFormatIpv6.mjs +45 -1
  194. package/lib/internal/_randomFormatIpv6.mjs.map +1 -1
  195. package/lib/internal/_randomFormatIri.d.ts +2 -1
  196. package/lib/internal/_randomFormatIri.js +1 -1
  197. package/lib/internal/_randomFormatIri.js.map +1 -1
  198. package/lib/internal/_randomFormatIri.mjs +1 -1
  199. package/lib/internal/_randomFormatIri.mjs.map +1 -1
  200. package/lib/internal/_randomFormatIriReference.d.ts +2 -1
  201. package/lib/internal/_randomFormatIriReference.js +1 -1
  202. package/lib/internal/_randomFormatIriReference.js.map +1 -1
  203. package/lib/internal/_randomFormatIriReference.mjs +1 -1
  204. package/lib/internal/_randomFormatIriReference.mjs.map +1 -1
  205. package/lib/internal/_randomFormatJsonPointer.d.ts +2 -1
  206. package/lib/internal/_randomFormatJsonPointer.js +20 -1
  207. package/lib/internal/_randomFormatJsonPointer.js.map +1 -1
  208. package/lib/internal/_randomFormatJsonPointer.mjs +15 -1
  209. package/lib/internal/_randomFormatJsonPointer.mjs.map +1 -1
  210. package/lib/internal/_randomFormatPassword.d.ts +2 -1
  211. package/lib/internal/_randomFormatPassword.js +7 -5
  212. package/lib/internal/_randomFormatPassword.js.map +1 -1
  213. package/lib/internal/_randomFormatPassword.mjs +5 -1
  214. package/lib/internal/_randomFormatPassword.mjs.map +1 -1
  215. package/lib/internal/_randomFormatRegex.d.ts +2 -1
  216. package/lib/internal/_randomFormatRegex.js +15 -1
  217. package/lib/internal/_randomFormatRegex.js.map +1 -1
  218. package/lib/internal/_randomFormatRegex.mjs +14 -1
  219. package/lib/internal/_randomFormatRegex.mjs.map +1 -1
  220. package/lib/internal/_randomFormatRelativeJsonPointer.d.ts +2 -1
  221. package/lib/internal/_randomFormatRelativeJsonPointer.js +20 -5
  222. package/lib/internal/_randomFormatRelativeJsonPointer.js.map +1 -1
  223. package/lib/internal/_randomFormatRelativeJsonPointer.mjs +21 -5
  224. package/lib/internal/_randomFormatRelativeJsonPointer.mjs.map +1 -1
  225. package/lib/internal/_randomFormatTime.d.ts +2 -1
  226. package/lib/internal/_randomFormatTime.js +34 -7
  227. package/lib/internal/_randomFormatTime.js.map +1 -1
  228. package/lib/internal/_randomFormatTime.mjs +37 -4
  229. package/lib/internal/_randomFormatTime.mjs.map +1 -1
  230. package/lib/internal/_randomFormatUri.d.ts +2 -1
  231. package/lib/internal/_randomFormatUri.js +1 -1
  232. package/lib/internal/_randomFormatUri.js.map +1 -1
  233. package/lib/internal/_randomFormatUri.mjs +1 -1
  234. package/lib/internal/_randomFormatUri.mjs.map +1 -1
  235. package/lib/internal/_randomFormatUriReference.d.ts +2 -1
  236. package/lib/internal/_randomFormatUriReference.js +1 -1
  237. package/lib/internal/_randomFormatUriReference.js.map +1 -1
  238. package/lib/internal/_randomFormatUriReference.mjs +1 -1
  239. package/lib/internal/_randomFormatUriReference.mjs.map +1 -1
  240. package/lib/internal/_randomFormatUriTemplate.d.ts +2 -1
  241. package/lib/internal/_randomFormatUriTemplate.js +1 -1
  242. package/lib/internal/_randomFormatUriTemplate.js.map +1 -1
  243. package/lib/internal/_randomFormatUriTemplate.mjs +1 -1
  244. package/lib/internal/_randomFormatUriTemplate.mjs.map +1 -1
  245. package/lib/internal/_randomFormatUrl.d.ts +2 -1
  246. package/lib/internal/_randomFormatUrl.js +21 -1
  247. package/lib/internal/_randomFormatUrl.js.map +1 -1
  248. package/lib/internal/_randomFormatUrl.mjs +18 -1
  249. package/lib/internal/_randomFormatUrl.mjs.map +1 -1
  250. package/lib/internal/_randomFormatUuid.d.ts +2 -1
  251. package/lib/internal/_randomFormatUuid.js +3 -2
  252. package/lib/internal/_randomFormatUuid.js.map +1 -1
  253. package/lib/internal/_randomFormatUuid.mjs +3 -2
  254. package/lib/internal/_randomFormatUuid.mjs.map +1 -1
  255. package/lib/internal/_randomInteger.js +59 -28
  256. package/lib/internal/_randomInteger.js.map +1 -1
  257. package/lib/internal/_randomInteger.mjs +56 -16
  258. package/lib/internal/_randomInteger.mjs.map +1 -1
  259. package/lib/internal/_randomMultiple.d.ts +8 -0
  260. package/lib/internal/_randomMultiple.js +168 -0
  261. package/lib/internal/_randomMultiple.js.map +1 -0
  262. package/lib/internal/_randomMultiple.mjs +158 -0
  263. package/lib/internal/_randomMultiple.mjs.map +1 -0
  264. package/lib/internal/_randomNumber.js +42 -42
  265. package/lib/internal/_randomNumber.js.map +1 -1
  266. package/lib/internal/_randomNumber.mjs +41 -27
  267. package/lib/internal/_randomNumber.mjs.map +1 -1
  268. package/lib/internal/_randomPattern.d.ts +2 -1
  269. package/lib/internal/_randomPattern.js +19 -4
  270. package/lib/internal/_randomPattern.js.map +1 -1
  271. package/lib/internal/_randomPattern.mjs +10 -4
  272. package/lib/internal/_randomPattern.mjs.map +1 -1
  273. package/lib/internal/_randomStringLength.d.ts +64 -0
  274. package/lib/internal/_randomStringLength.js +84 -0
  275. package/lib/internal/_randomStringLength.js.map +1 -0
  276. package/lib/internal/_randomStringLength.mjs +79 -0
  277. package/lib/internal/_randomStringLength.mjs.map +1 -0
  278. package/lib/internal/_stringLength.d.ts +1 -0
  279. package/lib/internal/_stringLength.js +11 -0
  280. package/lib/internal/_stringLength.js.map +1 -0
  281. package/lib/internal/_stringLength.mjs +10 -0
  282. package/lib/internal/_stringLength.mjs.map +1 -0
  283. package/lib/internal/_validateReport.js +4 -1
  284. package/lib/internal/_validateReport.js.map +1 -1
  285. package/lib/internal/_validateReport.mjs +2 -1
  286. package/lib/internal/_validateReport.mjs.map +1 -1
  287. package/lib/internal/private/__notationRename.d.ts +14 -0
  288. package/lib/internal/private/__notationRename.js +25 -0
  289. package/lib/internal/private/__notationRename.js.map +1 -0
  290. package/lib/internal/private/__notationRename.mjs +24 -0
  291. package/lib/internal/private/__notationRename.mjs.map +1 -0
  292. package/lib/internal/private/__randomComposition.d.ts +23 -0
  293. package/lib/internal/private/__randomComposition.js +48 -0
  294. package/lib/internal/private/__randomComposition.js.map +1 -0
  295. package/lib/internal/private/__randomComposition.mjs +54 -0
  296. package/lib/internal/private/__randomComposition.mjs.map +1 -0
  297. package/lib/internal/private/__randomEpoch.d.ts +19 -0
  298. package/lib/internal/private/__randomEpoch.js +31 -0
  299. package/lib/internal/private/__randomEpoch.js.map +1 -0
  300. package/lib/internal/private/__randomEpoch.mjs +28 -0
  301. package/lib/internal/private/__randomEpoch.mjs.map +1 -0
  302. package/lib/json.d.ts +2 -2
  303. package/lib/json.mjs.map +1 -1
  304. package/lib/module.d.ts +2 -2
  305. package/lib/module.js.map +1 -1
  306. package/lib/module.mjs.map +1 -1
  307. package/lib/notations.d.ts +20 -4
  308. package/lib/notations.js.map +1 -1
  309. package/lib/notations.mjs.map +1 -1
  310. package/native/adapter/plugin_options.go +117 -0
  311. package/native/adapter/plugin_options_payload_matrix_test.go +181 -0
  312. package/native/cmd/ttsc-typia/any_array_type_tags_transform_test.go +63 -9
  313. package/native/cmd/ttsc-typia/assert_guard_factory_contract_test.go +152 -0
  314. package/native/cmd/ttsc-typia/build.go +84 -64
  315. package/native/cmd/ttsc-typia/build_no_emit_preserves_analysis_options_test.go +67 -0
  316. package/native/cmd/ttsc-typia/build_no_emit_transform_diagnostics_test.go +138 -0
  317. package/native/cmd/ttsc-typia/build_plugin_options_come_from_payload_test.go +48 -0
  318. package/native/cmd/ttsc-typia/build_transactional_emit_success_test.go +81 -0
  319. package/native/cmd/ttsc-typia/build_transform_failure_atomicity_test.go +138 -0
  320. package/native/cmd/ttsc-typia/callable_interface_function_semantics_transform_test.go +331 -0
  321. package/native/cmd/ttsc-typia/callable_type_literal_boundaries_transform_test.go +1184 -0
  322. package/native/cmd/ttsc-typia/command_routes_and_diagnostics_coverage_test.go +3 -1
  323. package/native/cmd/ttsc-typia/compare_functional_union_membership_transform_test.go +434 -0
  324. package/native/cmd/ttsc-typia/compare_less_nan_transform_test.go +98 -0
  325. package/native/cmd/ttsc-typia/compare_native_object_overmatch_transform_test.go +161 -0
  326. package/native/cmd/ttsc-typia/compare_nondiscriminable_union_transform_test.go +343 -0
  327. package/native/cmd/ttsc-typia/compare_template_literal_union_transform_test.go +241 -0
  328. package/native/cmd/ttsc-typia/compare_union_discrimination_transform_test.go +289 -0
  329. package/native/cmd/ttsc-typia/default_library_spoof_native_identity_transform_test.go +216 -0
  330. package/native/cmd/ttsc-typia/escaped_property_key_path_transform_test.go +193 -0
  331. package/native/cmd/ttsc-typia/finite_option_number_leaf_transform_test.go +240 -0
  332. package/native/cmd/ttsc-typia/functional_promised_type_transform_test.go +220 -0
  333. package/native/cmd/ttsc-typia/functional_receiver_transform_test.go +232 -0
  334. package/native/cmd/ttsc-typia/is_object_function_member_transform_test.go +205 -0
  335. package/native/cmd/ttsc-typia/json_application_alias_function_validation_transform_test.go +151 -0
  336. package/native/cmd/ttsc-typia/json_is_stringify_finite_number_transform_test.go +198 -0
  337. package/native/cmd/ttsc-typia/json_schema_dynamic_key_determinism_transform_test.go +246 -0
  338. package/native/cmd/ttsc-typia/json_stringify_contextual_undefined_transform_test.go +556 -0
  339. package/native/cmd/ttsc-typia/json_stringify_special_key_transform_test.go +238 -0
  340. package/native/cmd/ttsc-typia/lib_replacement_native_identity_transform_test.go +277 -0
  341. package/native/cmd/ttsc-typia/main_wasm.go +21 -2
  342. package/native/cmd/ttsc-typia/native_collection_identity_is_transform_test.go +234 -0
  343. package/native/cmd/ttsc-typia/native_generic_name_guard_is_transform_test.go +194 -0
  344. package/native/cmd/ttsc-typia/native_name_collision_is_transform_test.go +204 -0
  345. package/native/cmd/ttsc-typia/native_named_intersection_union_transform_test.go +390 -0
  346. package/native/cmd/ttsc-typia/node_buffer_native_exports_is_transform_test.go +526 -0
  347. package/native/cmd/ttsc-typia/non_trailing_rest_tuple_transform_test.go +23 -11
  348. package/native/cmd/ttsc-typia/notation_dynamic_keys_transform_test.go +286 -0
  349. package/native/cmd/ttsc-typia/notation_kebab_case_transform_test.go +1 -1
  350. package/native/cmd/ttsc-typia/notation_literal_collision_transform_test.go +164 -0
  351. package/native/cmd/ttsc-typia/notation_pascal_case_transform_test.go +230 -0
  352. package/native/cmd/ttsc-typia/notation_unicode_key_transform_test.go +309 -0
  353. package/native/cmd/ttsc-typia/package_declaration_native_identity_is_transform_test.go +293 -0
  354. package/native/cmd/ttsc-typia/pattern_line_terminator_escape_transform_test.go +224 -0
  355. package/native/cmd/ttsc-typia/plain_prune_union_object_overmatch_transform_test.go +219 -0
  356. package/native/cmd/ttsc-typia/plugin_options_payload_helpers_test.go +181 -0
  357. package/native/cmd/ttsc-typia/private_field_filter_is_transform_test.go +278 -0
  358. package/native/cmd/ttsc-typia/project_catalog_transform_coverage_test.go +73 -27
  359. package/native/cmd/ttsc-typia/project_dependencies_barrel_reexport_transform_test.go +120 -0
  360. package/native/cmd/ttsc-typia/project_dependencies_collapsed_alias_transform_test.go +134 -0
  361. package/native/cmd/ttsc-typia/project_dependencies_custom_lib_name_transform_test.go +135 -0
  362. package/native/cmd/ttsc-typia/project_dependencies_default_barrel_transform_test.go +114 -0
  363. package/native/cmd/ttsc-typia/project_dependencies_empty_heritage_transform_test.go +100 -0
  364. package/native/cmd/ttsc-typia/project_dependencies_envelope_transform_test.go +148 -0
  365. package/native/cmd/ttsc-typia/project_dependencies_index_signature_alias_transform_test.go +139 -0
  366. package/native/cmd/ttsc-typia/project_dependencies_local_reexport_transform_test.go +122 -0
  367. package/native/cmd/ttsc-typia/project_dependencies_signature_alias_transform_test.go +125 -0
  368. package/native/cmd/ttsc-typia/project_dependencies_star_barrel_transform_test.go +112 -0
  369. package/native/cmd/ttsc-typia/project_reference_graph_envelope_transform_test.go +190 -0
  370. package/native/cmd/ttsc-typia/protobuf_diagnostic_code_transform_test.go +167 -0
  371. package/native/cmd/ttsc-typia/protobuf_is_encode_finite_number_transform_test.go +98 -0
  372. package/native/cmd/ttsc-typia/protobuf_sequence_field_numbers_transform_test.go +52 -22
  373. package/native/cmd/ttsc-typia/symbol_index_domain_transform_test.go +316 -0
  374. package/native/cmd/ttsc-typia/symbol_key_member_filter_transform_test.go +279 -0
  375. package/native/cmd/ttsc-typia/template_interpolation_type_tags_transform_test.go +86 -23
  376. package/native/cmd/ttsc-typia/template_literal_type_tags_transform_test.go +3 -1
  377. package/native/cmd/ttsc-typia/transform.go +251 -39
  378. package/native/cmd/ttsc-typia/{transform_declaration_source_produces_no_js_test.go → transform_declaration_source_produces_no_javascript_test.go} +10 -2
  379. package/native/cmd/ttsc-typia/transform_fixtures_emit_coverage_test.go +21 -4
  380. package/native/cmd/ttsc-typia/transform_helpers_test.go +236 -3
  381. package/native/cmd/ttsc-typia/transform_plugin_options_come_from_payload_test.go +43 -0
  382. package/native/cmd/ttsc-typia/transform_single_file_failure_atomicity_test.go +114 -0
  383. package/native/cmd/ttsc-typia/transform_single_file_failure_writes_no_stdout_test.go +43 -0
  384. package/native/cmd/ttsc-typia/transform_single_file_js_distinguishes_same_basename_sources_test.go +81 -0
  385. package/native/cmd/ttsc-typia/transform_single_file_js_empty_emit_reports_no_output_test.go +100 -0
  386. package/native/cmd/ttsc-typia/transform_single_file_js_locates_output_across_layouts_test.go +160 -0
  387. package/native/cmd/ttsc-typia/transform_single_file_success_publishes_artifact_test.go +54 -0
  388. package/native/cmd/ttsc-typia/transform_wasm_host_argv_reports_diagnostics_test.go +39 -0
  389. package/native/cmd/ttsc-typia/tuple_optional_compare_clone_transform_test.go +227 -0
  390. package/native/cmd/ttsc-typia/user_global_native_identity_transform_test.go +484 -0
  391. package/native/core/factories/FormatCheatSheet.go +40 -7
  392. package/native/core/factories/IdentifierFactory.go +131 -4
  393. package/native/core/factories/MetadataCommentTagFactory.go +83 -40
  394. package/native/core/factories/MetadataTypeTagFactory.go +13 -1
  395. package/native/core/factories/NumericRangeFactory.go +60 -17
  396. package/native/core/factories/ProtobufFactory.go +13 -5
  397. package/native/core/factories/factory_utility_coverage_test.go +8 -2
  398. package/native/core/factories/format_alias_resolves_to_cheat_sheet_test.go +57 -0
  399. package/native/core/factories/format_alias_table_targets_the_cheat_sheet_test.go +44 -0
  400. package/native/core/factories/identifier_factory_postfix_escapes_every_key_test.go +147 -0
  401. package/native/core/factories/identifier_factory_postfix_survives_every_code_point_test.go +86 -0
  402. package/native/core/factories/internal/metadata/MetadataHelper.go +226 -17
  403. package/native/core/factories/internal/metadata/emplace_metadata_object.go +141 -8
  404. package/native/core/factories/internal/metadata/iterate_metadata.go +6 -0
  405. package/native/core/factories/internal/metadata/iterate_metadata_function.go +5 -12
  406. package/native/core/factories/internal/metadata/iterate_metadata_intersection.go +111 -29
  407. package/native/core/factories/internal/metadata/iterate_metadata_map.go +5 -0
  408. package/native/core/factories/internal/metadata/iterate_metadata_native.go +45 -2
  409. package/native/core/factories/internal/metadata/iterate_metadata_set.go +5 -0
  410. package/native/core/factories/internal/metadata/type_arguments_precondition_test.go +70 -0
  411. package/native/core/factories/metadata_comment_tag_factory_coverage_test.go +39 -0
  412. package/native/core/factories/metadata_comment_tag_factory_exclusivity_matches_interface_test.go +84 -0
  413. package/native/core/factories/metadata_type_tag_factory_accepts_legal_tag_combinations_test.go +60 -0
  414. package/native/core/factories/metadata_type_tag_factory_declarations_test.go +86 -0
  415. package/native/core/factories/metadata_type_tag_factory_keeps_bool_form_exclusivity_test.go +38 -0
  416. package/native/core/factories/metadata_type_tag_factory_rejects_cross_kind_exclusive_tags_test.go +65 -0
  417. package/native/core/factories/metadata_type_tag_factory_rejects_duplicated_array_form_tags_test.go +41 -0
  418. package/native/core/factories/numeric_range_factory_enforces_64bit_bounds_test.go +69 -0
  419. package/native/core/factories/protobuf_recovery_ownership_test.go +64 -0
  420. package/native/core/programmers/IsProgrammer.go +15 -1
  421. package/native/core/programmers/RandomProgrammer.go +51 -14
  422. package/native/core/programmers/compare/CompareEqualProgrammer.go +410 -8
  423. package/native/core/programmers/compare/CompareLessProgrammer.go +4 -2
  424. package/native/core/programmers/functional/FunctionalAssertFunctionProgrammer.go +4 -6
  425. package/native/core/programmers/functional/FunctionalAssertParametersProgrammer.go +5 -13
  426. package/native/core/programmers/functional/FunctionalAssertReturnProgrammer.go +6 -14
  427. package/native/core/programmers/functional/FunctionalIsFunctionProgrammer.go +4 -6
  428. package/native/core/programmers/functional/FunctionalIsParametersProgrammer.go +49 -14
  429. package/native/core/programmers/functional/FunctionalIsReturnProgrammer.go +5 -13
  430. package/native/core/programmers/functional/FunctionalValidateFunctionProgrammer.go +4 -6
  431. package/native/core/programmers/functional/FunctionalValidateParametersProgrammer.go +5 -13
  432. package/native/core/programmers/functional/FunctionalValidateReturnProgrammer.go +5 -13
  433. package/native/core/programmers/functional/internal/FunctionalGeneralProgrammer.go +4 -17
  434. package/native/core/programmers/helpers/CloneJoiner.go +32 -0
  435. package/native/core/programmers/helpers/FunctionProgrammer.go +6 -13
  436. package/native/core/programmers/helpers/NotationJoiner.go +86 -28
  437. package/native/core/programmers/helpers/StringifyJoinder.go +161 -51
  438. package/native/core/programmers/helpers/UnionExplorer.go +203 -61
  439. package/native/core/programmers/helpers/joiner_branch_coverage_test.go +116 -118
  440. package/native/core/programmers/helpers/union_explorer_coverage_test.go +1 -1
  441. package/native/core/programmers/internal/CheckerProgrammer.go +100 -48
  442. package/native/core/programmers/iterate/check_template.go +344 -32
  443. package/native/core/programmers/iterate/iterate_check_coverage_test.go +76 -158
  444. package/native/core/programmers/iterate/iterate_utility_coverage_test.go +231 -270
  445. package/native/core/programmers/iterate/json_schema_discriminator.go +36 -10
  446. package/native/core/programmers/iterate/json_schema_discriminator_declaration_syntax_test.go +205 -0
  447. package/native/core/programmers/iterate/json_schema_object.go +49 -7
  448. package/native/core/programmers/iterate/json_schema_pattern_property_order_test.go +44 -0
  449. package/native/core/programmers/iterate/openapi_v3_downgrader.go +674 -0
  450. package/native/core/programmers/iterate/openapi_v3_downgrader_boolean_default_test.go +95 -0
  451. package/native/core/programmers/iterate/openapi_v3_downgrader_test.go +123 -0
  452. package/native/core/programmers/iterate/template_interpolation_tags_test.go +40 -8
  453. package/native/core/programmers/iterate/template_runtime_pattern.go +63 -7
  454. package/native/core/programmers/json/JsonApplicationProgrammer.go +45 -11
  455. package/native/core/programmers/json/JsonSchemasProgrammer.go +12 -2
  456. package/native/core/programmers/json/JsonStringifyProgrammer.go +47 -6
  457. package/native/core/programmers/llm/LlmApplicationProgrammer.go +21 -11
  458. package/native/core/programmers/llm/LlmSchemaProgrammer.go +23 -6
  459. package/native/core/programmers/llm/llm_reference_codec_test.go +24 -0
  460. package/native/core/programmers/notations/NotationGeneralProgrammer.go +183 -67
  461. package/native/core/programmers/notations/notation_general_helpers_test.go +1 -3
  462. package/native/core/programmers/notations/notation_general_programmer_pascal_multiword_test.go +72 -0
  463. package/native/core/programmers/notations/notation_general_programmer_underscore_boundary_test.go +68 -0
  464. package/native/core/programmers/plain/PlainClassifyProgrammer.go +23 -15
  465. package/native/core/programmers/plain/PlainCloneProgrammer.go +20 -7
  466. package/native/core/programmers/plain/PlainPruneProgrammer.go +19 -5
  467. package/native/core/programmers/plain/plain_tuple_seed_recovery_ownership_test.go +25 -0
  468. package/native/core/programmers/protobuf/ProtobufDecodeProgrammer.go +37 -28
  469. package/native/core/programmers/protobuf/ProtobufMessageProgrammer.go +41 -22
  470. package/native/core/programmers/protobuf/protobuf_programmer_helper_coverage_test.go +26 -0
  471. package/native/core/programmers/random_programmer_length_argument_test.go +53 -0
  472. package/native/core/schemas/metadata/MetadataCollection.go +266 -25
  473. package/native/core/schemas/metadata/MetadataDefaultLibrary.go +81 -0
  474. package/native/core/schemas/metadata/MetadataDependency.go +388 -0
  475. package/native/core/schemas/metadata/MetadataObjectType.go +24 -22
  476. package/native/core/schemas/metadata/metadata_collection_generic_argument_dot_test.go +122 -0
  477. package/native/core/schemas/metadata/metadata_collection_name_allocation_test.go +147 -0
  478. package/native/core/schemas/metadata/metadata_collection_openapi_name_cascade_test.go +55 -0
  479. package/native/core/schemas/metadata/metadata_collection_openapi_name_test.go +68 -0
  480. package/native/core/utils/PatternUtil.go +13 -0
  481. package/native/core/utils/PromiseTypeFactory.go +59 -0
  482. package/native/core/utils/ProtobufNameEncoder.go +8 -0
  483. package/native/core/utils/promise_type_factory_semantics_test.go +118 -0
  484. package/native/go.mod +9 -1
  485. package/native/transform/CallExpressionTransformer.go +12 -0
  486. package/native/transform/features/json/JsonApplicationTransformer.go +1 -1
  487. package/native/transform/features/json/JsonSchemaTransformer.go +1 -1
  488. package/native/transform/features/json/JsonSchemasTransformer.go +5 -4
  489. package/native/transform/features/protobuf/ProtobufMessageTransformer.go +1 -1
  490. package/package.json +12 -4
  491. package/src/executable/FileSystemIdentity.ts +222 -0
  492. package/src/executable/TypiaGenerateWizard.ts +386 -113
  493. package/src/functional.ts +30 -60
  494. package/src/internal/_ProtobufReader.ts +161 -46
  495. package/src/internal/_createStandardSchema.ts +15 -1
  496. package/src/internal/_decimal.ts +69 -0
  497. package/src/internal/_httpQueryParseURLSearchParams.ts +24 -2
  498. package/src/internal/_isFormatByte.ts +2 -5
  499. package/src/internal/_isFormatDate.ts +15 -2
  500. package/src/internal/_isFormatDateTime.ts +28 -2
  501. package/src/internal/_isFormatIri.ts +5 -2
  502. package/src/internal/_isFormatIriReference.ts +11 -3
  503. package/src/internal/_isFormatUriReference.ts +1 -1
  504. package/src/internal/_isMultipleOf.ts +8 -0
  505. package/src/internal/_isTypeFloat.ts +1 -1
  506. package/src/internal/_isTypeInt64.ts +1 -0
  507. package/src/internal/_isTypeInt64Bigint.ts +12 -0
  508. package/src/internal/_isTypeUint64.ts +1 -0
  509. package/src/internal/_isTypeUint64Bigint.ts +7 -0
  510. package/src/internal/_isUniqueItems.ts +134 -132
  511. package/src/internal/_jsonStringifyArray.ts +50 -0
  512. package/src/internal/_jsonStringifyElement.ts +19 -0
  513. package/src/internal/_jsonStringifyProperty.ts +30 -0
  514. package/src/internal/_llmApplicationFinalize.ts +6 -1
  515. package/src/internal/_notationAny.ts +9 -4
  516. package/src/internal/_notationAssign.ts +20 -0
  517. package/src/internal/_notationCamel.ts +31 -10
  518. package/src/internal/_notationKebab.ts +11 -0
  519. package/src/internal/_notationKeyCollision.ts +9 -0
  520. package/src/internal/_notationPascal.ts +19 -6
  521. package/src/internal/_notationSnake.ts +24 -21
  522. package/src/internal/_plainCloneAny.ts +208 -33
  523. package/src/internal/_randomArray.ts +13 -4
  524. package/src/internal/_randomFormatByte.ts +31 -1
  525. package/src/internal/_randomFormatDate.ts +6 -17
  526. package/src/internal/_randomFormatDatetime.ts +34 -15
  527. package/src/internal/_randomFormatDuration.ts +30 -13
  528. package/src/internal/_randomFormatEmail.ts +8 -2
  529. package/src/internal/_randomFormatHostname.ts +48 -1
  530. package/src/internal/_randomFormatIdnEmail.ts +18 -2
  531. package/src/internal/_randomFormatIdnHostname.ts +34 -2
  532. package/src/internal/_randomFormatIpv4.ts +43 -2
  533. package/src/internal/_randomFormatIpv6.ts +67 -2
  534. package/src/internal/_randomFormatIri.ts +3 -1
  535. package/src/internal/_randomFormatIriReference.ts +3 -1
  536. package/src/internal/_randomFormatJsonPointer.ts +28 -2
  537. package/src/internal/_randomFormatPassword.ts +11 -6
  538. package/src/internal/_randomFormatRegex.ts +22 -1
  539. package/src/internal/_randomFormatRelativeJsonPointer.ts +26 -6
  540. package/src/internal/_randomFormatTime.ts +46 -10
  541. package/src/internal/_randomFormatUri.ts +3 -1
  542. package/src/internal/_randomFormatUriReference.ts +3 -1
  543. package/src/internal/_randomFormatUriTemplate.ts +3 -1
  544. package/src/internal/_randomFormatUrl.ts +25 -2
  545. package/src/internal/_randomFormatUuid.ts +10 -6
  546. package/src/internal/_randomInteger.ts +87 -40
  547. package/src/internal/_randomMultiple.ts +245 -0
  548. package/src/internal/_randomNumber.ts +72 -55
  549. package/src/internal/_randomPattern.ts +29 -4
  550. package/src/internal/_randomStringLength.ts +116 -0
  551. package/src/internal/_stringLength.ts +5 -0
  552. package/src/internal/_validateReport.ts +5 -1
  553. package/src/internal/private/__notationRename.ts +21 -0
  554. package/src/internal/private/__randomComposition.ts +50 -0
  555. package/src/internal/private/__randomEpoch.ts +34 -0
  556. package/src/json.ts +2 -2
  557. package/src/module.ts +4 -6
  558. package/src/notations.ts +20 -4
  559. package/lib/internal/private/__notationCapitalize.d.ts +0 -1
  560. package/lib/internal/private/__notationCapitalize.js +0 -6
  561. package/lib/internal/private/__notationCapitalize.js.map +0 -1
  562. package/lib/internal/private/__notationCapitalize.mjs +0 -6
  563. package/lib/internal/private/__notationCapitalize.mjs.map +0 -1
  564. package/lib/internal/private/__notationUnsnake.d.ts +0 -4
  565. package/lib/internal/private/__notationUnsnake.js +0 -26
  566. package/lib/internal/private/__notationUnsnake.js.map +0 -1
  567. package/lib/internal/private/__notationUnsnake.mjs +0 -15
  568. package/lib/internal/private/__notationUnsnake.mjs.map +0 -1
  569. package/native/adapter/visit.go +0 -173
  570. package/native/adapter/visit_property_chain_edges_test.go +0 -129
  571. package/native/cmd/ttsc-typia/plugin_options_missing_config_test.go +0 -26
  572. package/native/cmd/ttsc-typia/plugin_options_undefined_false_test.go +0 -36
  573. package/native/core/programmers/helpers/disable_function_programmer_declare.go +0 -10
  574. package/native/core/programmers/iterate/check_union_array_like.go +0 -422
  575. package/native/core/programmers/iterate/prune_object_properties.go +0 -105
  576. package/native/core/programmers/iterate/stringify_dynamic_properties.go +0 -219
  577. package/native/core/programmers/iterate/stringify_native.go +0 -14
  578. package/native/core/programmers/iterate/stringify_regular_properties.go +0 -112
  579. package/native/core/schemas/metadata/MetadataApplication.go +0 -41
  580. package/src/internal/private/__notationCapitalize.ts +0 -2
  581. package/src/internal/private/__notationUnsnake.ts +0 -24
@@ -1 +1 @@
1
- {"version":3,"file":"_isUniqueItems.mjs","names":[],"sources":["../../src/internal/_isUniqueItems.ts"],"sourcesContent":["export const _isUniqueItems = (elements: any[]): boolean => {\n // EMPTY OR ONLY ONE\n if (elements.length < 2) return true;\n\n // SHALLOW COMPARISON\n if ([\"boolean\", \"bigint\", \"number\", \"string\"].includes(typeof elements[0]))\n return new Set(elements).size === elements.length;\n\n // DEEP COMPARISON\n for (let i = 0; i < elements.length; i++)\n for (let j = i + 1; j < elements.length; j++)\n if (equals(new WeakMap())(elements[i], elements[j])) return false;\n return true;\n};\n\nconst equals = (visited: WeakMap<object, WeakMap<object, boolean>>) => {\n const next = (a: any, b: any): boolean => {\n // SHALLOW EQUAL\n if (a === b) return true;\n else if (typeof a !== typeof b || typeof a !== \"object\") return false;\n // COMPARE CONTAINERS\n else if (Array.isArray(a))\n return Array.isArray(b) && a.map((x, i) => next(x, b[i])).every((x) => x);\n else if (a instanceof Set)\n return (\n b instanceof Set && a.size === b.size && [...a].every((x) => b.has(x))\n );\n else if (a instanceof Map)\n return (\n b instanceof Map &&\n a.size === b.size &&\n [...a].every(([k, v]) => b.has(k) && next(v, b.get(k)))\n );\n // ATOMIC CLASSES\n else if (a instanceof Boolean)\n return b instanceof Boolean\n ? a.valueOf() === b.valueOf()\n : a.valueOf() === b;\n else if (a instanceof BigInt)\n return b instanceof BigInt ? a === b : a === BigInt(b);\n else if (a instanceof Number)\n return b instanceof Number\n ? a.valueOf() === b.valueOf()\n : a.valueOf() === b;\n else if (a instanceof String)\n return b instanceof String\n ? a.valueOf() === b.valueOf()\n : a.valueOf() === b;\n else if (a instanceof Date)\n return b instanceof Date && a.getTime() === b.getTime();\n // BINARY DATA\n else if (a instanceof Uint8Array)\n return (\n b instanceof Uint8Array &&\n a.length === b.length &&\n a.every((x, i) => x === b[i])\n );\n else if (a instanceof Uint8ClampedArray)\n return (\n b instanceof Uint8ClampedArray &&\n a.length === b.length &&\n a.every((x, i) => x === b[i])\n );\n else if (a instanceof Uint16Array)\n return (\n b instanceof Uint16Array &&\n a.length === b.length &&\n a.every((x, i) => x === b[i])\n );\n else if (a instanceof Uint32Array)\n return (\n b instanceof Uint32Array &&\n a.length === b.length &&\n a.every((x, i) => x === b[i])\n );\n else if (a instanceof BigUint64Array)\n return (\n b instanceof BigUint64Array &&\n a.length === b.length &&\n a.every((x, i) => x === b[i])\n );\n else if (a instanceof Int8Array)\n return (\n b instanceof Int8Array &&\n a.length === b.length &&\n a.every((x, i) => x === b[i])\n );\n else if (a instanceof Int16Array)\n return (\n b instanceof Int16Array &&\n a.length === b.length &&\n a.every((x, i) => x === b[i])\n );\n else if (a instanceof Int32Array)\n return (\n b instanceof Int32Array &&\n a.length === b.length &&\n a.every((x, i) => x === b[i])\n );\n else if (a instanceof BigInt64Array)\n return (\n b instanceof BigInt64Array &&\n a.length === b.length &&\n a.every((x, i) => x === b[i])\n );\n else if (a instanceof Float32Array)\n return (\n b instanceof Float32Array &&\n a.length === b.length &&\n a.every((x, i) => x === b[i])\n );\n else if (a instanceof Float64Array)\n return (\n b instanceof Float64Array &&\n a.length === b.length &&\n a.every((x, i) => x === b[i])\n );\n else if (a instanceof ArrayBuffer) {\n if (!(b instanceof ArrayBuffer) || a.byteLength !== b.byteLength)\n return false;\n const x: Uint8Array = new Uint8Array(a);\n const y: Uint8Array = new Uint8Array(b);\n return x.every((v, i) => v === y[i]);\n } else if (a instanceof SharedArrayBuffer) {\n if (!(b instanceof SharedArrayBuffer) || a.byteLength !== b.byteLength)\n return false;\n const x: Uint8Array = new Uint8Array(a);\n const y: Uint8Array = new Uint8Array(b);\n return x.every((v, i) => v === y[i]);\n } else if (a instanceof DataView) {\n if (!(b instanceof DataView) || a.byteLength !== b.byteLength)\n return false;\n const x: Uint8Array = new Uint8Array(a.buffer);\n const y: Uint8Array = new Uint8Array(b.buffer);\n return x.every((v, i) => v === y[i]);\n } else if (a instanceof File)\n return (\n b instanceof File &&\n a.name === b.name &&\n a.size === b.size &&\n a.type === b.type &&\n next(a.slice(), b.slice())\n );\n // JUST PLAIN OBJECTS\n else if (a !== null && b !== null) {\n if (visited.has(a) && visited.get(a)!.has(b))\n return visited.get(a)!.get(b)!;\n if (!visited.has(a)) visited.set(a, new WeakMap());\n visited.get(a)!.set(b, true);\n const res: boolean =\n Object.keys(a).length === Object.keys(b).length &&\n Object.keys(a).every((x) => next(a[x], b[x]));\n visited.get(a)!.set(b, res);\n return res;\n }\n return false;\n };\n return next;\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"_isUniqueItems.mjs","names":[],"sources":["../../src/internal/_isUniqueItems.ts"],"sourcesContent":["export const _isUniqueItems = (elements: any[]): boolean => {\n for (let i = 0; i < elements.length; i++)\n for (let j = i + 1; j < elements.length; j++)\n if (equals(new WeakMap())(elements[i], elements[j])) return false;\n return true;\n};\n\nconst equals = (visited: WeakMap<object, WeakMap<object, boolean>>) => {\n const next = (a: any, b: any): boolean => {\n if (a === b) return true;\n if (\n a === null ||\n b === null ||\n typeof a !== \"object\" ||\n typeof b !== \"object\"\n )\n return false;\n\n const previous: boolean | undefined = visited.get(a)?.get(b);\n if (previous !== undefined) return previous;\n const pairs: WeakMap<object, boolean> =\n visited.get(a) ?? new WeakMap<object, boolean>();\n visited.set(a, pairs);\n pairs.set(b, true);\n\n const result: boolean = compare(a, b);\n pairs.set(b, result);\n return result;\n };\n\n const compare = (a: object, b: object): boolean => {\n if (Array.isArray(a)) {\n if (!Array.isArray(b) || a.length !== b.length) return false;\n for (let i = 0; i < a.length; i++) {\n const aHas: boolean = Object.hasOwn(a, i);\n if (aHas !== Object.hasOwn(b, i) || (aHas && !next(a[i], b[i])))\n return false;\n }\n return true;\n }\n if (Array.isArray(b)) return false;\n\n if (a instanceof Set) {\n if (!(b instanceof Set) || a.size !== b.size) return false;\n const unmatched: any[] = [...b];\n for (const value of a) {\n const index: number = unmatched.findIndex((candidate) =>\n next(value, candidate),\n );\n if (index === -1) return false;\n unmatched.splice(index, 1);\n }\n return true;\n }\n if (a instanceof Map) {\n if (!(b instanceof Map) || a.size !== b.size) return false;\n const unmatched: [any, any][] = [...b];\n for (const [key, value] of a) {\n const index: number = unmatched.findIndex(\n ([candidateKey, candidateValue]) =>\n next(key, candidateKey) && next(value, candidateValue),\n );\n if (index === -1) return false;\n unmatched.splice(index, 1);\n }\n return true;\n }\n\n if (a instanceof Boolean)\n return b instanceof Boolean && a.valueOf() === b.valueOf();\n if (Object.prototype.toString.call(a) === \"[object BigInt]\")\n return (\n Object.prototype.toString.call(b) === \"[object BigInt]\" &&\n a.valueOf() === b.valueOf()\n );\n if (Object.prototype.toString.call(a) === \"[object Symbol]\")\n return (\n Object.prototype.toString.call(b) === \"[object Symbol]\" &&\n a.valueOf() === b.valueOf()\n );\n if (a instanceof Number)\n return b instanceof Number && a.valueOf() === b.valueOf();\n if (a instanceof String)\n return b instanceof String && a.valueOf() === b.valueOf();\n if (a instanceof Date)\n return b instanceof Date && a.getTime() === b.getTime();\n if (a instanceof RegExp)\n return (\n b instanceof RegExp && a.source === b.source && a.flags === b.flags\n );\n\n if (typeof File !== \"undefined\" && a instanceof File)\n return (\n b instanceof File &&\n a.name === b.name &&\n a.size === b.size &&\n a.type === b.type &&\n a.lastModified === b.lastModified\n );\n if (typeof Blob !== \"undefined\" && a instanceof Blob)\n return b instanceof Blob && a.size === b.size && a.type === b.type;\n\n if (a instanceof DataView) {\n if (!(b instanceof DataView) || a.byteLength !== b.byteLength)\n return false;\n return bytes(a.buffer, a.byteOffset, a.byteLength).every(\n (value, index) =>\n value === bytes(b.buffer, b.byteOffset, b.byteLength)[index],\n );\n }\n if (ArrayBuffer.isView(a)) {\n if (\n !ArrayBuffer.isView(b) ||\n b instanceof DataView ||\n Object.getPrototypeOf(a) !== Object.getPrototypeOf(b) ||\n a.byteLength !== b.byteLength\n )\n return false;\n const x: Uint8Array = bytes(a.buffer, a.byteOffset, a.byteLength);\n const y: Uint8Array = bytes(b.buffer, b.byteOffset, b.byteLength);\n return x.every((value, index) => value === y[index]);\n }\n if (a instanceof ArrayBuffer)\n return (\n b instanceof ArrayBuffer &&\n a.byteLength === b.byteLength &&\n bytes(a).every((value, index) => value === bytes(b)[index])\n );\n if (\n typeof SharedArrayBuffer !== \"undefined\" &&\n a instanceof SharedArrayBuffer\n )\n return (\n b instanceof SharedArrayBuffer &&\n a.byteLength === b.byteLength &&\n bytes(a).every((value, index) => value === bytes(b)[index])\n );\n\n const keys: PropertyKey[] = Reflect.ownKeys(a).filter((key) =>\n Object.prototype.propertyIsEnumerable.call(a, key),\n );\n return (\n keys.length ===\n Reflect.ownKeys(b).filter((key) =>\n Object.prototype.propertyIsEnumerable.call(b, key),\n ).length &&\n keys.every(\n (key) =>\n Object.prototype.propertyIsEnumerable.call(b, key) &&\n next((a as any)[key], (b as any)[key]),\n )\n );\n };\n return next;\n};\n\nconst bytes = (\n buffer: ArrayBufferLike,\n byteOffset: number = 0,\n byteLength: number = buffer.byteLength,\n): Uint8Array => new Uint8Array(buffer, byteOffset, byteLength);\n"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports._jsonStringifyArray = void 0;
4
+ /**
5
+ * Serializes the elements of an array the way ECMAScript `JSON.stringify` does.
6
+ *
7
+ * `SerializeJSONArray` walks index `0` to `LengthOfArrayLike(value) - 1` and
8
+ * writes `null` wherever the element serializes to `undefined`. Neither
9
+ * `Array.prototype.map` nor `Array.prototype.join` reproduces that:
10
+ *
11
+ * - `map` never visits a hole and leaves one behind, and `join` renders a hole as
12
+ * empty text, so a sparse array joined into malformed text such as `[,1]`. A
13
+ * hole exists at runtime whatever the element type declares, so this is not
14
+ * an `any` concern.
15
+ * - `join` renders a mapped `undefined` as empty text too, which is what an `any`
16
+ * or `unknown` element holding a function, a symbol, or a `toJSON` that
17
+ * returns nothing serializes to.
18
+ *
19
+ * The length is converted with `ToLength` and read once, which is both what
20
+ * `JSON.stringify` does and what `Array.prototype.every` - the traversal
21
+ * typia's own array checkers emit - does, so the checker and the serializer
22
+ * walk one index range rather than two that merely usually coincide.
23
+ *
24
+ * @param elements Array being serialized.
25
+ * @param mapper Serializer of one element, emitted by the transform.
26
+ * @returns Comma separated element text, without the enclosing brackets.
27
+ * @internal
28
+ */
29
+ const _jsonStringifyArray = (elements, mapper) => {
30
+ const length = Math.min(Math.max(Math.trunc(elements.length) || 0, 0), Number.MAX_SAFE_INTEGER);
31
+ let output = "";
32
+ for (let i = 0; i < length; ++i) {
33
+ const elem = elements[i];
34
+ // A hole and an explicit `undefined` are answered without calling the
35
+ // mapper, because the mapper is the element type's own serializer and a
36
+ // typed one has no answer for a missing value. Everything else is answered
37
+ // from the mapper's *result*: an element that is present but serializes to
38
+ // nothing — a function, a symbol, or a `toJSON` returning nothing in an
39
+ // `any` slot — is `null` in an array position, exactly as
40
+ // SerializeJSONArray specifies, and testing the input instead would let its
41
+ // text become the literal `undefined`.
42
+ const text = elem === undefined ? undefined : mapper(elem, i);
43
+ output += (i === 0 ? "" : ",") + (text === undefined ? "null" : text);
44
+ }
45
+ return output;
46
+ };
47
+ exports._jsonStringifyArray = _jsonStringifyArray;
48
+ //# sourceMappingURL=_jsonStringifyArray.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_jsonStringifyArray.js","sourceRoot":"","sources":["../../src/internal/_jsonStringifyArray.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACI,MAAM,mBAAmB,GAAG,CACjC,QAAsB,EACtB,MAA0C,EAClC,EAAE;IACV,MAAM,MAAM,GAAW,IAAI,CAAC,GAAG,CAC7B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAC7C,MAAM,CAAC,gBAAgB,CACxB,CAAC;IACF,IAAI,MAAM,GAAW,EAAE,CAAC;IACxB,KAAK,IAAI,CAAC,GAAW,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;QACxC,MAAM,IAAI,GAAkB,QAAQ,CAAC,CAAC,CAAC,CAAC;QACxC,sEAAsE;QACtE,wEAAwE;QACxE,2EAA2E;QAC3E,2EAA2E;QAC3E,wEAAwE;QACxE,0DAA0D;QAC1D,4EAA4E;QAC5E,uCAAuC;QACvC,MAAM,IAAI,GACR,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACnD,MAAM,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACxE,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAxBW,QAAA,mBAAmB,GAAnB,mBAAmB,CAwB9B"}
@@ -0,0 +1,40 @@
1
+ //#region src/internal/_jsonStringifyArray.ts
2
+ /**
3
+ * Serializes the elements of an array the way ECMAScript `JSON.stringify` does.
4
+ *
5
+ * `SerializeJSONArray` walks index `0` to `LengthOfArrayLike(value) - 1` and
6
+ * writes `null` wherever the element serializes to `undefined`. Neither
7
+ * `Array.prototype.map` nor `Array.prototype.join` reproduces that:
8
+ *
9
+ * - `map` never visits a hole and leaves one behind, and `join` renders a hole as
10
+ * empty text, so a sparse array joined into malformed text such as `[,1]`. A
11
+ * hole exists at runtime whatever the element type declares, so this is not
12
+ * an `any` concern.
13
+ * - `join` renders a mapped `undefined` as empty text too, which is what an `any`
14
+ * or `unknown` element holding a function, a symbol, or a `toJSON` that
15
+ * returns nothing serializes to.
16
+ *
17
+ * The length is converted with `ToLength` and read once, which is both what
18
+ * `JSON.stringify` does and what `Array.prototype.every` - the traversal
19
+ * typia's own array checkers emit - does, so the checker and the serializer
20
+ * walk one index range rather than two that merely usually coincide.
21
+ *
22
+ * @param elements Array being serialized.
23
+ * @param mapper Serializer of one element, emitted by the transform.
24
+ * @returns Comma separated element text, without the enclosing brackets.
25
+ * @internal
26
+ */
27
+ const _jsonStringifyArray = (elements, mapper) => {
28
+ const length = Math.min(Math.max(Math.trunc(elements.length) || 0, 0), Number.MAX_SAFE_INTEGER);
29
+ let output = "";
30
+ for (let i = 0; i < length; ++i) {
31
+ const elem = elements[i];
32
+ const text = elem === void 0 ? void 0 : mapper(elem, i);
33
+ output += (i === 0 ? "" : ",") + (text === void 0 ? "null" : text);
34
+ }
35
+ return output;
36
+ };
37
+ //#endregion
38
+ export { _jsonStringifyArray };
39
+
40
+ //# sourceMappingURL=_jsonStringifyArray.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_jsonStringifyArray.mjs","names":[],"sources":["../../src/internal/_jsonStringifyArray.ts"],"sourcesContent":["/**\n * Serializes the elements of an array the way ECMAScript `JSON.stringify` does.\n *\n * `SerializeJSONArray` walks index `0` to `LengthOfArrayLike(value) - 1` and\n * writes `null` wherever the element serializes to `undefined`. Neither\n * `Array.prototype.map` nor `Array.prototype.join` reproduces that:\n *\n * - `map` never visits a hole and leaves one behind, and `join` renders a hole as\n * empty text, so a sparse array joined into malformed text such as `[,1]`. A\n * hole exists at runtime whatever the element type declares, so this is not\n * an `any` concern.\n * - `join` renders a mapped `undefined` as empty text too, which is what an `any`\n * or `unknown` element holding a function, a symbol, or a `toJSON` that\n * returns nothing serializes to.\n *\n * The length is converted with `ToLength` and read once, which is both what\n * `JSON.stringify` does and what `Array.prototype.every` - the traversal\n * typia's own array checkers emit - does, so the checker and the serializer\n * walk one index range rather than two that merely usually coincide.\n *\n * @param elements Array being serialized.\n * @param mapper Serializer of one element, emitted by the transform.\n * @returns Comma separated element text, without the enclosing brackets.\n * @internal\n */\nexport const _jsonStringifyArray = <T>(\n elements: ArrayLike<T>,\n mapper: (elem: T, index: number) => string,\n): string => {\n const length: number = Math.min(\n Math.max(Math.trunc(elements.length) || 0, 0),\n Number.MAX_SAFE_INTEGER,\n );\n let output: string = \"\";\n for (let i: number = 0; i < length; ++i) {\n const elem: T | undefined = elements[i];\n // A hole and an explicit `undefined` are answered without calling the\n // mapper, because the mapper is the element type's own serializer and a\n // typed one has no answer for a missing value. Everything else is answered\n // from the mapper's *result*: an element that is present but serializes to\n // nothing — a function, a symbol, or a `toJSON` returning nothing in an\n // `any` slot — is `null` in an array position, exactly as\n // SerializeJSONArray specifies, and testing the input instead would let its\n // text become the literal `undefined`.\n const text: string | undefined =\n elem === undefined ? undefined : mapper(elem, i);\n output += (i === 0 ? \"\" : \",\") + (text === undefined ? \"null\" : text);\n }\n return output;\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAyBA,MAAa,uBACX,UACA,WACW;CACX,MAAM,SAAiB,KAAK,IAC1B,KAAK,IAAI,KAAK,MAAM,SAAS,MAAM,KAAK,GAAG,CAAC,GAC5C,OAAO,gBACT;CACA,IAAI,SAAiB;CACrB,KAAK,IAAI,IAAY,GAAG,IAAI,QAAQ,EAAE,GAAG;EACvC,MAAM,OAAsB,SAAS;EASrC,MAAM,OACJ,SAAS,KAAA,IAAY,KAAA,IAAY,OAAO,MAAM,CAAC;EACjD,WAAW,MAAM,IAAI,KAAK,QAAQ,SAAS,KAAA,IAAY,SAAS;CAClE;CACA,OAAO;AACT"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports._jsonStringifyElement = void 0;
4
+ /**
5
+ * Writes one array or tuple element the way ECMAScript `JSON.stringify` writes
6
+ * it.
7
+ *
8
+ * `SerializeJSONArray` writes `null` wherever an element serializes to
9
+ * `undefined`, because an array position cannot be omitted without shifting
10
+ * every element after it. A present value with no serialization — a function, a
11
+ * symbol, or a `toJSON` returning nothing — is therefore `null`, not the
12
+ * literal text `undefined` and not an empty slot.
13
+ *
14
+ * This is the fixed-position counterpart of `_jsonStringifyArray`, which
15
+ * answers the same question while walking an array's own index range.
16
+ *
17
+ * @param text Serialized element value, or `undefined` when it has none.
18
+ * @returns Element text, or `null` when the element has no serialization.
19
+ * @internal
20
+ */
21
+ const _jsonStringifyElement = (text) => text === undefined ? "null" : text;
22
+ exports._jsonStringifyElement = _jsonStringifyElement;
23
+ //# sourceMappingURL=_jsonStringifyElement.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_jsonStringifyElement.js","sourceRoot":"","sources":["../../src/internal/_jsonStringifyElement.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;;;;GAgBG;AACI,MAAM,qBAAqB,GAAG,CAAC,IAAwB,EAAU,EAAE,CACxE,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;AADxB,QAAA,qBAAqB,GAArB,qBAAqB,CACG"}
@@ -0,0 +1,23 @@
1
+ //#region src/internal/_jsonStringifyElement.ts
2
+ /**
3
+ * Writes one array or tuple element the way ECMAScript `JSON.stringify` writes
4
+ * it.
5
+ *
6
+ * `SerializeJSONArray` writes `null` wherever an element serializes to
7
+ * `undefined`, because an array position cannot be omitted without shifting
8
+ * every element after it. A present value with no serialization — a function, a
9
+ * symbol, or a `toJSON` returning nothing — is therefore `null`, not the
10
+ * literal text `undefined` and not an empty slot.
11
+ *
12
+ * This is the fixed-position counterpart of `_jsonStringifyArray`, which
13
+ * answers the same question while walking an array's own index range.
14
+ *
15
+ * @param text Serialized element value, or `undefined` when it has none.
16
+ * @returns Element text, or `null` when the element has no serialization.
17
+ * @internal
18
+ */
19
+ const _jsonStringifyElement = (text) => text === void 0 ? "null" : text;
20
+ //#endregion
21
+ export { _jsonStringifyElement };
22
+
23
+ //# sourceMappingURL=_jsonStringifyElement.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_jsonStringifyElement.mjs","names":[],"sources":["../../src/internal/_jsonStringifyElement.ts"],"sourcesContent":["/**\n * Writes one array or tuple element the way ECMAScript `JSON.stringify` writes\n * it.\n *\n * `SerializeJSONArray` writes `null` wherever an element serializes to\n * `undefined`, because an array position cannot be omitted without shifting\n * every element after it. A present value with no serialization — a function, a\n * symbol, or a `toJSON` returning nothing — is therefore `null`, not the\n * literal text `undefined` and not an empty slot.\n *\n * This is the fixed-position counterpart of `_jsonStringifyArray`, which\n * answers the same question while walking an array's own index range.\n *\n * @param text Serialized element value, or `undefined` when it has none.\n * @returns Element text, or `null` when the element has no serialization.\n * @internal\n */\nexport const _jsonStringifyElement = (text: string | undefined): string =>\n text === undefined ? \"null\" : text;\n"],"mappings":";;;;;;;;;;;;;;;;;;AAiBA,MAAa,yBAAyB,SACpC,SAAS,KAAA,IAAY,SAAS"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports._jsonStringifyProperty = void 0;
4
+ /**
5
+ * Writes one object member the way ECMAScript `JSON.stringify` writes it.
6
+ *
7
+ * `SerializeJSONObject` serializes each member first and drops the member
8
+ * entirely when that result is `undefined`. Deciding omission from the _input_
9
+ * instead cannot reach the same answer: a symbol and a `toJSON` returning
10
+ * nothing are both present, non-`undefined`, non-function values whose
11
+ * serialization is `undefined`, so the member's text became the literal
12
+ * `"k":undefined` — output that is not JSON at all.
13
+ *
14
+ * The serialized text is passed in already evaluated, so the member's value is
15
+ * serialized exactly once. Testing the input and then serializing would
16
+ * evaluate a `toJSON` twice, and a `toJSON` is free to answer differently each
17
+ * call.
18
+ *
19
+ * The trailing separator belongs to the member because a dropped member must
20
+ * take its comma with it; `_jsonStringifyTail` removes the one that is left
21
+ * behind when the last written member is the one that dropped.
22
+ *
23
+ * @param head Quoted key and colon, emitted by the transform.
24
+ * @param text Serialized member value, or `undefined` when it has none.
25
+ * @param tail Separator following this member, empty for the last one.
26
+ * @returns Member text, or an empty string when the member is omitted.
27
+ * @internal
28
+ */
29
+ const _jsonStringifyProperty = (head, text, tail) => (text === undefined ? "" : head + text + tail);
30
+ exports._jsonStringifyProperty = _jsonStringifyProperty;
31
+ //# sourceMappingURL=_jsonStringifyProperty.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_jsonStringifyProperty.js","sourceRoot":"","sources":["../../src/internal/_jsonStringifyProperty.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACI,MAAM,sBAAsB,GAAG,CACpC,IAAY,EACZ,IAAwB,EACxB,IAAY,EACJ,EAAE,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC;AAJ/C,QAAA,sBAAsB,GAAtB,sBAAsB,CAIyB"}
@@ -0,0 +1,31 @@
1
+ //#region src/internal/_jsonStringifyProperty.ts
2
+ /**
3
+ * Writes one object member the way ECMAScript `JSON.stringify` writes it.
4
+ *
5
+ * `SerializeJSONObject` serializes each member first and drops the member
6
+ * entirely when that result is `undefined`. Deciding omission from the _input_
7
+ * instead cannot reach the same answer: a symbol and a `toJSON` returning
8
+ * nothing are both present, non-`undefined`, non-function values whose
9
+ * serialization is `undefined`, so the member's text became the literal
10
+ * `"k":undefined` — output that is not JSON at all.
11
+ *
12
+ * The serialized text is passed in already evaluated, so the member's value is
13
+ * serialized exactly once. Testing the input and then serializing would
14
+ * evaluate a `toJSON` twice, and a `toJSON` is free to answer differently each
15
+ * call.
16
+ *
17
+ * The trailing separator belongs to the member because a dropped member must
18
+ * take its comma with it; `_jsonStringifyTail` removes the one that is left
19
+ * behind when the last written member is the one that dropped.
20
+ *
21
+ * @param head Quoted key and colon, emitted by the transform.
22
+ * @param text Serialized member value, or `undefined` when it has none.
23
+ * @param tail Separator following this member, empty for the last one.
24
+ * @returns Member text, or an empty string when the member is omitted.
25
+ * @internal
26
+ */
27
+ const _jsonStringifyProperty = (head, text, tail) => text === void 0 ? "" : head + text + tail;
28
+ //#endregion
29
+ export { _jsonStringifyProperty };
30
+
31
+ //# sourceMappingURL=_jsonStringifyProperty.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_jsonStringifyProperty.mjs","names":[],"sources":["../../src/internal/_jsonStringifyProperty.ts"],"sourcesContent":["/**\n * Writes one object member the way ECMAScript `JSON.stringify` writes it.\n *\n * `SerializeJSONObject` serializes each member first and drops the member\n * entirely when that result is `undefined`. Deciding omission from the _input_\n * instead cannot reach the same answer: a symbol and a `toJSON` returning\n * nothing are both present, non-`undefined`, non-function values whose\n * serialization is `undefined`, so the member's text became the literal\n * `\"k\":undefined` — output that is not JSON at all.\n *\n * The serialized text is passed in already evaluated, so the member's value is\n * serialized exactly once. Testing the input and then serializing would\n * evaluate a `toJSON` twice, and a `toJSON` is free to answer differently each\n * call.\n *\n * The trailing separator belongs to the member because a dropped member must\n * take its comma with it; `_jsonStringifyTail` removes the one that is left\n * behind when the last written member is the one that dropped.\n *\n * @param head Quoted key and colon, emitted by the transform.\n * @param text Serialized member value, or `undefined` when it has none.\n * @param tail Separator following this member, empty for the last one.\n * @returns Member text, or an empty string when the member is omitted.\n * @internal\n */\nexport const _jsonStringifyProperty = (\n head: string,\n text: string | undefined,\n tail: string,\n): string => (text === undefined ? \"\" : head + text + tail);\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAyBA,MAAa,0BACX,MACA,MACA,SACY,SAAS,KAAA,IAAY,KAAK,OAAO,OAAO"}
@@ -2,6 +2,6 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports._llmApplicationFinalize = void 0;
4
4
  const utils_1 = require("@typia/utils");
5
- const _llmApplicationFinalize = (app, config) => { var _a; return (Object.assign(Object.assign({}, app), { config: Object.assign(Object.assign({}, utils_1.LlmSchemaConverter.getConfig()), { validate: (_a = config === null || config === void 0 ? void 0 : config.validate) !== null && _a !== void 0 ? _a : null }), functions: app.functions.map((func) => { var _a; var _b; return (Object.assign(Object.assign({}, func), { parse: (input) => utils_1.LlmJson.parse(input, func.parameters), coerce: (input) => utils_1.LlmJson.coerce(input, func.parameters), validate: (_b = (_a = config === null || config === void 0 ? void 0 : config.validate) === null || _a === void 0 ? void 0 : _a[func.name]) !== null && _b !== void 0 ? _b : func.validate })); }) })); };
5
+ const _llmApplicationFinalize = (app, config) => { var _a; return (Object.assign(Object.assign({}, app), { config: Object.assign(Object.assign({}, utils_1.LlmSchemaConverter.getConfig(app.config)), { validate: (_a = config === null || config === void 0 ? void 0 : config.validate) !== null && _a !== void 0 ? _a : null }), functions: app.functions.map((func) => { var _a; var _b; return (Object.assign(Object.assign({}, func), { parse: (input) => utils_1.LlmJson.parse(input, func.parameters), coerce: (input) => utils_1.LlmJson.coerce(input, func.parameters), validate: (_b = (_a = config === null || config === void 0 ? void 0 : config.validate) === null || _a === void 0 ? void 0 : _a[func.name]) !== null && _b !== void 0 ? _b : func.validate })); }) })); };
6
6
  exports._llmApplicationFinalize = _llmApplicationFinalize;
7
7
  //# sourceMappingURL=_llmApplicationFinalize.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_llmApplicationFinalize.js","sourceRoot":"","sources":["../../src/internal/_llmApplicationFinalize.ts"],"names":[],"mappings":";;;AACA,wCAA2D;AAEpD,MAAM,uBAAuB,GAAG,CACrC,GAAwC,EACxC,MAA2D,EACnC,EAAE,kBAAC,iCACxB,GAAG,KACN,MAAM,kCACD,0BAAkB,CAAC,SAAS,EAAE,KACjC,QAAQ,QAAE,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,QAAQ,mCAAI,IAAI,KAEpC,SAAS,EAAE,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,0BAAC,iCAClC,IAAI,KACP,KAAK,EAAE,CAAC,KAAa,EAA6B,EAAE,CAClD,eAAO,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,EACvC,MAAM,EAAE,CAAC,KAAc,EAAW,EAAE,CAAC,eAAO,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,EAC3E,QAAQ,QAAE,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,QAAQ,0CAAG,IAAI,CAAC,IAAI,CAAC,mCAAI,IAAI,CAAC,QAAQ,IACxD,GAAA,CAAC,IACH,GAAA,CAAC;AAhBU,QAAA,uBAAuB,GAAvB,uBAAuB,CAgBjC"}
1
+ {"version":3,"file":"_llmApplicationFinalize.js","sourceRoot":"","sources":["../../src/internal/_llmApplicationFinalize.ts"],"names":[],"mappings":";;;AACA,wCAA2D;AAEpD,MAAM,uBAAuB,GAAG,CACrC,GAAwC,EACxC,MAA2D,EACnC,EAAE,kBAAC,iCACxB,GAAG,KACN,MAAM,kCAMD,0BAAkB,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,KAC3C,QAAQ,QAAE,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,QAAQ,mCAAI,IAAI,KAEpC,SAAS,EAAE,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,0BAAC,iCAClC,IAAI,KACP,KAAK,EAAE,CAAC,KAAa,EAA6B,EAAE,CAClD,eAAO,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,EACvC,MAAM,EAAE,CAAC,KAAc,EAAW,EAAE,CAAC,eAAO,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,EAC3E,QAAQ,QAAE,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,QAAQ,0CAAG,IAAI,CAAC,IAAI,CAAC,mCAAI,IAAI,CAAC,QAAQ,IACxD,GAAA,CAAC,IACH,GAAA,CAAC;AArBU,QAAA,uBAAuB,GAAvB,uBAAuB,CAqBjC"}
@@ -3,7 +3,7 @@ import { LlmJson, LlmSchemaConverter } from "@typia/utils";
3
3
  const _llmApplicationFinalize = (app, config) => ({
4
4
  ...app,
5
5
  config: {
6
- ...LlmSchemaConverter.getConfig(),
6
+ ...LlmSchemaConverter.getConfig(app.config),
7
7
  validate: config?.validate ?? null
8
8
  },
9
9
  functions: app.functions.map((func) => ({
@@ -1 +1 @@
1
- {"version":3,"file":"_llmApplicationFinalize.mjs","names":[],"sources":["../../src/internal/_llmApplicationFinalize.ts"],"sourcesContent":["import { IJsonParseResult, ILlmApplication } from \"@typia/interface\";\nimport { LlmJson, LlmSchemaConverter } from \"@typia/utils\";\n\nexport const _llmApplicationFinalize = <Class extends object = any>(\n app: ILlmApplication.__IPrimitive<Class>,\n config?: Partial<Pick<ILlmApplication.IConfig, \"validate\">>,\n): ILlmApplication<Class> => ({\n ...app,\n config: {\n ...LlmSchemaConverter.getConfig(),\n validate: config?.validate ?? null,\n },\n functions: app.functions.map((func) => ({\n ...func,\n parse: (input: string): IJsonParseResult<unknown> =>\n LlmJson.parse(input, func.parameters),\n coerce: (input: unknown): unknown => LlmJson.coerce(input, func.parameters),\n validate: config?.validate?.[func.name] ?? func.validate,\n })),\n});\n"],"mappings":";;AAGA,MAAa,2BACX,KACA,YAC4B;CAC5B,GAAG;CACH,QAAQ;EACN,GAAG,mBAAmB,UAAU;EAChC,UAAU,QAAQ,YAAY;CAChC;CACA,WAAW,IAAI,UAAU,KAAK,UAAU;EACtC,GAAG;EACH,QAAQ,UACN,QAAQ,MAAM,OAAO,KAAK,UAAU;EACtC,SAAS,UAA4B,QAAQ,OAAO,OAAO,KAAK,UAAU;EAC1E,UAAU,QAAQ,WAAW,KAAK,SAAS,KAAK;CAClD,EAAE;AACJ"}
1
+ {"version":3,"file":"_llmApplicationFinalize.mjs","names":[],"sources":["../../src/internal/_llmApplicationFinalize.ts"],"sourcesContent":["import { IJsonParseResult, ILlmApplication } from \"@typia/interface\";\nimport { LlmJson, LlmSchemaConverter } from \"@typia/utils\";\n\nexport const _llmApplicationFinalize = <Class extends object = any>(\n app: ILlmApplication.__IPrimitive<Class>,\n config?: Partial<Pick<ILlmApplication.IConfig, \"validate\">>,\n): ILlmApplication<Class> => ({\n ...app,\n config: {\n // The schema configuration comes from the emitted application, which is\n // where the `Config` generic was resolved. Rebuilding it from the\n // converter's defaults reported `strict: false` for a strict build, and\n // `@typia/mcp` then inverted a strict output schema without strict, which\n // drops every constraint it carries as a description tag (issue #2293).\n ...LlmSchemaConverter.getConfig(app.config),\n validate: config?.validate ?? null,\n },\n functions: app.functions.map((func) => ({\n ...func,\n parse: (input: string): IJsonParseResult<unknown> =>\n LlmJson.parse(input, func.parameters),\n coerce: (input: unknown): unknown => LlmJson.coerce(input, func.parameters),\n validate: config?.validate?.[func.name] ?? func.validate,\n })),\n});\n"],"mappings":";;AAGA,MAAa,2BACX,KACA,YAC4B;CAC5B,GAAG;CACH,QAAQ;EAMN,GAAG,mBAAmB,UAAU,IAAI,MAAM;EAC1C,UAAU,QAAQ,YAAY;CAChC;CACA,WAAW,IAAI,UAAU,KAAK,UAAU;EACtC,GAAG;EACH,QAAQ,UACN,QAAQ,MAAM,OAAO,KAAK,UAAU;EACtC,SAAS,UAA4B,QAAQ,OAAO,OAAO,KAAK,UAAU;EAC1E,UAAU,QAAQ,WAAW,KAAK,SAAS,KAAK;CAClD,EAAE;AACJ"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports._notationAny = void 0;
4
+ const _notationAssign_1 = require("./_notationAssign");
4
5
  const _notationAny = (rename) => {
5
6
  const main = (input) => {
6
7
  if (typeof input === "object")
@@ -32,7 +33,13 @@ const _notationAny = (rename) => {
32
33
  return object(input);
33
34
  return input;
34
35
  };
35
- const object = (input) => Object.fromEntries(Object.entries(input).map(([key, value]) => [rename(key), main(value)]));
36
+ const object = (input) => {
37
+ const output = {};
38
+ const sources = Object.create(null);
39
+ for (const [key, value] of Object.entries(input))
40
+ (0, _notationAssign_1._notationAssign)(output, sources, key, main(value), rename);
41
+ return output;
42
+ };
36
43
  return main;
37
44
  };
38
45
  exports._notationAny = _notationAny;
@@ -1 +1 @@
1
- {"version":3,"file":"_notationAny.js","sourceRoot":"","sources":["../../src/internal/_notationAny.ts"],"names":[],"mappings":";;;AAAO,MAAM,YAAY,GAAG,CAAC,MAA+B,EAAE,EAAE;IAC9D,MAAM,IAAI,GAAG,CAAC,KAAU,EAAO,EAAE;QAC/B,IAAI,OAAO,KAAK,KAAK,QAAQ;YAC3B,IAAI,KAAK,KAAK,IAAI;gBAAE,OAAO,IAAI,CAAC;iBAC3B,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;gBAAE,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;iBACjD,IACH,KAAK,YAAY,OAAO;gBACxB,KAAK,YAAY,MAAM;gBACvB,KAAK,YAAY,MAAM;gBACvB,KAAK,YAAY,MAAM;gBAEvB,OAAO,KAAK,CAAC,OAAO,EAAE,CAAC;iBACpB,IAAI,KAAK,YAAY,IAAI;gBAAE,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;iBAClD,IACH,KAAK,YAAY,UAAU;gBAC3B,KAAK,YAAY,iBAAiB;gBAClC,KAAK,YAAY,WAAW;gBAC5B,KAAK,YAAY,WAAW;gBAC5B,KAAK,YAAY,cAAc;gBAC/B,KAAK,YAAY,SAAS;gBAC1B,KAAK,YAAY,UAAU;gBAC3B,KAAK,YAAY,UAAU;gBAC3B,KAAK,YAAY,aAAa;gBAC9B,KAAK,YAAY,YAAY;gBAC7B,KAAK,YAAY,YAAY;gBAC7B,KAAK,YAAY,QAAQ;gBAEzB,OAAO,KAAK,CAAC;;gBACV,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;QAC5B,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;IACF,MAAM,MAAM,GAAG,CAAC,KAA0B,EAAE,EAAE,CAC5C,MAAM,CAAC,WAAW,CAChB,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CACxE,CAAC;IACJ,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AApCW,QAAA,YAAY,GAAZ,YAAY,CAoCvB"}
1
+ {"version":3,"file":"_notationAny.js","sourceRoot":"","sources":["../../src/internal/_notationAny.ts"],"names":[],"mappings":";;;AAAA,uDAAoD;AAE7C,MAAM,YAAY,GAAG,CAAC,MAA+B,EAAE,EAAE;IAC9D,MAAM,IAAI,GAAG,CAAC,KAAU,EAAO,EAAE;QAC/B,IAAI,OAAO,KAAK,KAAK,QAAQ;YAC3B,IAAI,KAAK,KAAK,IAAI;gBAAE,OAAO,IAAI,CAAC;iBAC3B,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;gBAAE,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;iBACjD,IACH,KAAK,YAAY,OAAO;gBACxB,KAAK,YAAY,MAAM;gBACvB,KAAK,YAAY,MAAM;gBACvB,KAAK,YAAY,MAAM;gBAEvB,OAAO,KAAK,CAAC,OAAO,EAAE,CAAC;iBACpB,IAAI,KAAK,YAAY,IAAI;gBAAE,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;iBAClD,IACH,KAAK,YAAY,UAAU;gBAC3B,KAAK,YAAY,iBAAiB;gBAClC,KAAK,YAAY,WAAW;gBAC5B,KAAK,YAAY,WAAW;gBAC5B,KAAK,YAAY,cAAc;gBAC/B,KAAK,YAAY,SAAS;gBAC1B,KAAK,YAAY,UAAU;gBAC3B,KAAK,YAAY,UAAU;gBAC3B,KAAK,YAAY,aAAa;gBAC9B,KAAK,YAAY,YAAY;gBAC7B,KAAK,YAAY,YAAY;gBAC7B,KAAK,YAAY,QAAQ;gBAEzB,OAAO,KAAK,CAAC;;gBACV,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;QAC5B,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;IACF,MAAM,MAAM,GAAG,CAAC,KAA0B,EAAE,EAAE;QAC5C,MAAM,MAAM,GAAwB,EAAE,CAAC;QACvC,MAAM,OAAO,GAA2B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC5D,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC;YAC9C,IAAA,iCAAe,EAAC,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,CAAC;QAC7D,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;IACF,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAvCW,QAAA,YAAY,GAAZ,YAAY,CAuCvB"}
@@ -1,3 +1,4 @@
1
+ import { _notationAssign } from "./_notationAssign.mjs";
1
2
  //#region src/internal/_notationAny.ts
2
3
  const _notationAny = (rename) => {
3
4
  const main = (input) => {
@@ -9,7 +10,12 @@ const _notationAny = (rename) => {
9
10
  else return object(input);
10
11
  return input;
11
12
  };
12
- const object = (input) => Object.fromEntries(Object.entries(input).map(([key, value]) => [rename(key), main(value)]));
13
+ const object = (input) => {
14
+ const output = {};
15
+ const sources = Object.create(null);
16
+ for (const [key, value] of Object.entries(input)) _notationAssign(output, sources, key, main(value), rename);
17
+ return output;
18
+ };
13
19
  return main;
14
20
  };
15
21
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"_notationAny.mjs","names":[],"sources":["../../src/internal/_notationAny.ts"],"sourcesContent":["export const _notationAny = (rename: (str: string) => string) => {\n const main = (input: any): any => {\n if (typeof input === \"object\")\n if (input === null) return null;\n else if (Array.isArray(input)) return input.map(main);\n else if (\n input instanceof Boolean ||\n input instanceof BigInt ||\n input instanceof Number ||\n input instanceof String\n )\n return input.valueOf();\n else if (input instanceof Date) return new Date(input);\n else if (\n input instanceof Uint8Array ||\n input instanceof Uint8ClampedArray ||\n input instanceof Uint16Array ||\n input instanceof Uint32Array ||\n input instanceof BigUint64Array ||\n input instanceof Int8Array ||\n input instanceof Int16Array ||\n input instanceof Int32Array ||\n input instanceof BigInt64Array ||\n input instanceof Float32Array ||\n input instanceof Float64Array ||\n input instanceof DataView\n )\n return input;\n else return object(input);\n return input;\n };\n const object = (input: Record<string, any>) =>\n Object.fromEntries(\n Object.entries(input).map(([key, value]) => [rename(key), main(value)]),\n );\n return main;\n};\n"],"mappings":";AAAA,MAAa,gBAAgB,WAAoC;CAC/D,MAAM,QAAQ,UAAoB;EAChC,IAAI,OAAO,UAAU,UACnB,IAAI,UAAU,MAAM,OAAO;OACtB,IAAI,MAAM,QAAQ,KAAK,GAAG,OAAO,MAAM,IAAI,IAAI;OAC/C,IACH,iBAAiB,WACjB,iBAAiB,UACjB,iBAAiB,UACjB,iBAAiB,QAEjB,OAAO,MAAM,QAAQ;OAClB,IAAI,iBAAiB,MAAM,OAAO,IAAI,KAAK,KAAK;OAChD,IACH,iBAAiB,cACjB,iBAAiB,qBACjB,iBAAiB,eACjB,iBAAiB,eACjB,iBAAiB,kBACjB,iBAAiB,aACjB,iBAAiB,cACjB,iBAAiB,cACjB,iBAAiB,iBACjB,iBAAiB,gBACjB,iBAAiB,gBACjB,iBAAiB,UAEjB,OAAO;OACJ,OAAO,OAAO,KAAK;EAC1B,OAAO;CACT;CACA,MAAM,UAAU,UACd,OAAO,YACL,OAAO,QAAQ,KAAK,CAAC,CAAC,KAAK,CAAC,KAAK,WAAW,CAAC,OAAO,GAAG,GAAG,KAAK,KAAK,CAAC,CAAC,CACxE;CACF,OAAO;AACT"}
1
+ {"version":3,"file":"_notationAny.mjs","names":[],"sources":["../../src/internal/_notationAny.ts"],"sourcesContent":["import { _notationAssign } from \"./_notationAssign\";\n\nexport const _notationAny = (rename: (str: string) => string) => {\n const main = (input: any): any => {\n if (typeof input === \"object\")\n if (input === null) return null;\n else if (Array.isArray(input)) return input.map(main);\n else if (\n input instanceof Boolean ||\n input instanceof BigInt ||\n input instanceof Number ||\n input instanceof String\n )\n return input.valueOf();\n else if (input instanceof Date) return new Date(input);\n else if (\n input instanceof Uint8Array ||\n input instanceof Uint8ClampedArray ||\n input instanceof Uint16Array ||\n input instanceof Uint32Array ||\n input instanceof BigUint64Array ||\n input instanceof Int8Array ||\n input instanceof Int16Array ||\n input instanceof Int32Array ||\n input instanceof BigInt64Array ||\n input instanceof Float32Array ||\n input instanceof Float64Array ||\n input instanceof DataView\n )\n return input;\n else return object(input);\n return input;\n };\n const object = (input: Record<string, any>) => {\n const output: Record<string, any> = {};\n const sources: Record<string, string> = Object.create(null);\n for (const [key, value] of Object.entries(input))\n _notationAssign(output, sources, key, main(value), rename);\n return output;\n };\n return main;\n};\n"],"mappings":";;AAEA,MAAa,gBAAgB,WAAoC;CAC/D,MAAM,QAAQ,UAAoB;EAChC,IAAI,OAAO,UAAU,UACnB,IAAI,UAAU,MAAM,OAAO;OACtB,IAAI,MAAM,QAAQ,KAAK,GAAG,OAAO,MAAM,IAAI,IAAI;OAC/C,IACH,iBAAiB,WACjB,iBAAiB,UACjB,iBAAiB,UACjB,iBAAiB,QAEjB,OAAO,MAAM,QAAQ;OAClB,IAAI,iBAAiB,MAAM,OAAO,IAAI,KAAK,KAAK;OAChD,IACH,iBAAiB,cACjB,iBAAiB,qBACjB,iBAAiB,eACjB,iBAAiB,eACjB,iBAAiB,kBACjB,iBAAiB,aACjB,iBAAiB,cACjB,iBAAiB,cACjB,iBAAiB,iBACjB,iBAAiB,gBACjB,iBAAiB,gBACjB,iBAAiB,UAEjB,OAAO;OACJ,OAAO,OAAO,KAAK;EAC1B,OAAO;CACT;CACA,MAAM,UAAU,UAA+B;EAC7C,MAAM,SAA8B,CAAC;EACrC,MAAM,UAAkC,OAAO,OAAO,IAAI;EAC1D,KAAK,MAAM,CAAC,KAAK,UAAU,OAAO,QAAQ,KAAK,GAC7C,gBAAgB,QAAQ,SAAS,KAAK,KAAK,KAAK,GAAG,MAAM;EAC3D,OAAO;CACT;CACA,OAAO;AACT"}
@@ -0,0 +1 @@
1
+ export declare const _notationAssign: (output: Record<string, any>, sources: Record<string, string>, source: string, value: any, rename: (str: string) => string) => void;
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports._notationAssign = void 0;
4
+ const _notationKeyCollision_1 = require("./_notationKeyCollision");
5
+ const _notationAssign = (output, sources, source, value, rename) => {
6
+ const destination = rename(source);
7
+ if (Object.hasOwn(output, destination))
8
+ (0, _notationKeyCollision_1._notationKeyCollision)(sources[destination], source, destination);
9
+ Object.defineProperty(output, destination, {
10
+ configurable: true,
11
+ enumerable: true,
12
+ value,
13
+ writable: true,
14
+ });
15
+ sources[destination] = source;
16
+ };
17
+ exports._notationAssign = _notationAssign;
18
+ //# sourceMappingURL=_notationAssign.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_notationAssign.js","sourceRoot":"","sources":["../../src/internal/_notationAssign.ts"],"names":[],"mappings":";;;AAAA,mEAAgE;AAEzD,MAAM,eAAe,GAAG,CAC7B,MAA2B,EAC3B,OAA+B,EAC/B,MAAc,EACd,KAAU,EACV,MAA+B,EACzB,EAAE;IACR,MAAM,WAAW,GAAW,MAAM,CAAC,MAAM,CAAC,CAAC;IAC3C,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC;QACpC,IAAA,6CAAqB,EAAC,OAAO,CAAC,WAAW,CAAE,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;IACpE,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,WAAW,EAAE;QACzC,YAAY,EAAE,IAAI;QAClB,UAAU,EAAE,IAAI;QAChB,KAAK;QACL,QAAQ,EAAE,IAAI;KACf,CAAC,CAAC;IACH,OAAO,CAAC,WAAW,CAAC,GAAG,MAAM,CAAC;AAChC,CAAC,CAAC;AAjBW,QAAA,eAAe,GAAf,eAAe,CAiB1B"}
@@ -0,0 +1,17 @@
1
+ import { _notationKeyCollision } from "./_notationKeyCollision.mjs";
2
+ //#region src/internal/_notationAssign.ts
3
+ const _notationAssign = (output, sources, source, value, rename) => {
4
+ const destination = rename(source);
5
+ if (Object.hasOwn(output, destination)) _notationKeyCollision(sources[destination], source, destination);
6
+ Object.defineProperty(output, destination, {
7
+ configurable: true,
8
+ enumerable: true,
9
+ value,
10
+ writable: true
11
+ });
12
+ sources[destination] = source;
13
+ };
14
+ //#endregion
15
+ export { _notationAssign };
16
+
17
+ //# sourceMappingURL=_notationAssign.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_notationAssign.mjs","names":[],"sources":["../../src/internal/_notationAssign.ts"],"sourcesContent":["import { _notationKeyCollision } from \"./_notationKeyCollision\";\n\nexport const _notationAssign = (\n output: Record<string, any>,\n sources: Record<string, string>,\n source: string,\n value: any,\n rename: (str: string) => string,\n): void => {\n const destination: string = rename(source);\n if (Object.hasOwn(output, destination))\n _notationKeyCollision(sources[destination]!, source, destination);\n Object.defineProperty(output, destination, {\n configurable: true,\n enumerable: true,\n value,\n writable: true,\n });\n sources[destination] = source;\n};\n"],"mappings":";;AAEA,MAAa,mBACX,QACA,SACA,QACA,OACA,WACS;CACT,MAAM,cAAsB,OAAO,MAAM;CACzC,IAAI,OAAO,OAAO,QAAQ,WAAW,GACnC,sBAAsB,QAAQ,cAAe,QAAQ,WAAW;CAClE,OAAO,eAAe,QAAQ,aAAa;EACzC,cAAc;EACd,YAAY;EACZ;EACA,UAAU;CACZ,CAAC;CACD,QAAQ,eAAe;AACzB"}
@@ -1,14 +1,35 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports._notationCamel = void 0;
4
- const __notationCapitalize_1 = require("./private/__notationCapitalize");
5
- const __notationUnsnake_1 = require("./private/__notationUnsnake");
6
- exports._notationCamel = (0, __notationUnsnake_1.__notationUnsnake)({
7
- plain: (str) => str.length
8
- ? str === str.toUpperCase()
9
- ? str.toLocaleLowerCase()
10
- : `${str[0].toLowerCase()}${str.substring(1)}`
11
- : str,
12
- snake: (str, i) => i === 0 ? str.toLowerCase() : (0, __notationCapitalize_1.__notationCapitalize)(str.toLowerCase()),
4
+ const __notationRename_1 = require("./private/__notationRename");
5
+ const _notationCamelSnake = (str) => {
6
+ while (str.startsWith("_"))
7
+ str = str.substring(1);
8
+ if (str.length === 0)
9
+ return "";
10
+ const index = str.indexOf("_");
11
+ if (index < 0)
12
+ return str.toLowerCase();
13
+ const middle = str[index + 1];
14
+ // A trailing underscore has no character to uppercase, so `CamelizeSnakeString`
15
+ // falls through to lowercasing the whole key (`foo_` -> `foo_`).
16
+ if (middle === undefined)
17
+ return str.toLowerCase();
18
+ // A doubled underscore collapses to a single one before continuing.
19
+ return middle === "_"
20
+ ? _notationCamelSnake(`${str.substring(0, index)}_${str.substring(index + 2)}`)
21
+ : `${str
22
+ .substring(0, index)
23
+ .toLowerCase()}${middle.toUpperCase()}${_notationCamelSnake(str.substring(index + 2))}`;
24
+ };
25
+ exports._notationCamel = (0, __notationRename_1.__notationRename)({
26
+ // `CamelCase<T>` lowercases an all-caps key and otherwise lowercases only the
27
+ // first character of an underscore-free key (`HTTP` -> `http`, `userID` stays).
28
+ plain: (str) => str === str.toUpperCase()
29
+ ? str.toLowerCase()
30
+ : `${str[0].toLowerCase()}${str.substring(1)}`,
31
+ // With an underscore present, the character after each underscore is
32
+ // uppercased and the rest lowercased, matching `CamelizeSnakeString`.
33
+ snake: _notationCamelSnake,
13
34
  });
14
35
  //# sourceMappingURL=_notationCamel.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_notationCamel.js","sourceRoot":"","sources":["../../src/internal/_notationCamel.ts"],"names":[],"mappings":";;;AAAA,yEAAsE;AACtE,mEAAgE;AAEnD,QAAA,cAAc,GAAG,IAAA,qCAAiB,EAAC;IAC9C,KAAK,EAAE,CAAC,GAAG,EAAE,EAAE,CACb,GAAG,CAAC,MAAM;QACR,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,WAAW,EAAE;YACzB,CAAC,CAAC,GAAG,CAAC,iBAAiB,EAAE;YACzB,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAE,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;QACjD,CAAC,CAAC,GAAG;IACT,KAAK,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAChB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAA,2CAAoB,EAAC,GAAG,CAAC,WAAW,EAAE,CAAC;CACxE,CAAC,CAAC"}
1
+ {"version":3,"file":"_notationCamel.js","sourceRoot":"","sources":["../../src/internal/_notationCamel.ts"],"names":[],"mappings":";;;AAAA,iEAA8D;AAE9D,MAAM,mBAAmB,GAAG,CAAC,GAAW,EAAU,EAAE;IAClD,OAAO,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IACnD,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAChC,MAAM,KAAK,GAAW,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACvC,IAAI,KAAK,GAAG,CAAC;QAAE,OAAO,GAAG,CAAC,WAAW,EAAE,CAAC;IACxC,MAAM,MAAM,GAAuB,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;IAClD,gFAAgF;IAChF,iEAAiE;IACjE,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,GAAG,CAAC,WAAW,EAAE,CAAC;IACnD,oEAAoE;IACpE,OAAO,MAAM,KAAK,GAAG;QACnB,CAAC,CAAC,mBAAmB,CACjB,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,GAAG,CAAC,SAAS,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,CACzD;QACH,CAAC,CAAC,GAAG,GAAG;aACH,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC;aACnB,WAAW,EAAE,GAAG,MAAM,CAAC,WAAW,EAAE,GAAG,mBAAmB,CAC3D,GAAG,CAAC,SAAS,CAAC,KAAK,GAAG,CAAC,CAAC,CACzB,EAAE,CAAC;AACV,CAAC,CAAC;AAEW,QAAA,cAAc,GAAG,IAAA,mCAAgB,EAAC;IAC7C,8EAA8E;IAC9E,gFAAgF;IAChF,KAAK,EAAE,CAAC,GAAG,EAAE,EAAE,CACb,GAAG,KAAK,GAAG,CAAC,WAAW,EAAE;QACvB,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE;QACnB,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAE,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;IACnD,qEAAqE;IACrE,sEAAsE;IACtE,KAAK,EAAE,mBAAmB;CAC3B,CAAC,CAAC"}
@@ -1,9 +1,17 @@
1
- import { __notationCapitalize } from "./private/__notationCapitalize.mjs";
2
- import { __notationUnsnake } from "./private/__notationUnsnake.mjs";
1
+ import { __notationRename } from "./private/__notationRename.mjs";
3
2
  //#region src/internal/_notationCamel.ts
4
- const _notationCamel = __notationUnsnake({
5
- plain: (str) => str.length ? str === str.toUpperCase() ? str.toLocaleLowerCase() : `${str[0].toLowerCase()}${str.substring(1)}` : str,
6
- snake: (str, i) => i === 0 ? str.toLowerCase() : __notationCapitalize(str.toLowerCase())
3
+ const _notationCamelSnake = (str) => {
4
+ while (str.startsWith("_")) str = str.substring(1);
5
+ if (str.length === 0) return "";
6
+ const index = str.indexOf("_");
7
+ if (index < 0) return str.toLowerCase();
8
+ const middle = str[index + 1];
9
+ if (middle === void 0) return str.toLowerCase();
10
+ return middle === "_" ? _notationCamelSnake(`${str.substring(0, index)}_${str.substring(index + 2)}`) : `${str.substring(0, index).toLowerCase()}${middle.toUpperCase()}${_notationCamelSnake(str.substring(index + 2))}`;
11
+ };
12
+ const _notationCamel = __notationRename({
13
+ plain: (str) => str === str.toUpperCase() ? str.toLowerCase() : `${str[0].toLowerCase()}${str.substring(1)}`,
14
+ snake: _notationCamelSnake
7
15
  });
8
16
  //#endregion
9
17
  export { _notationCamel };
@@ -1 +1 @@
1
- {"version":3,"file":"_notationCamel.mjs","names":[],"sources":["../../src/internal/_notationCamel.ts"],"sourcesContent":["import { __notationCapitalize } from \"./private/__notationCapitalize\";\nimport { __notationUnsnake } from \"./private/__notationUnsnake\";\n\nexport const _notationCamel = __notationUnsnake({\n plain: (str) =>\n str.length\n ? str === str.toUpperCase()\n ? str.toLocaleLowerCase()\n : `${str[0]!.toLowerCase()}${str.substring(1)}`\n : str,\n snake: (str, i) =>\n i === 0 ? str.toLowerCase() : __notationCapitalize(str.toLowerCase()),\n});\n"],"mappings":";;;AAGA,MAAa,iBAAiB,kBAAkB;CAC9C,QAAQ,QACN,IAAI,SACA,QAAQ,IAAI,YAAY,IACtB,IAAI,kBAAkB,IACtB,GAAG,IAAI,EAAE,CAAE,YAAY,IAAI,IAAI,UAAU,CAAC,MAC5C;CACN,QAAQ,KAAK,MACX,MAAM,IAAI,IAAI,YAAY,IAAI,qBAAqB,IAAI,YAAY,CAAC;AACxE,CAAC"}
1
+ {"version":3,"file":"_notationCamel.mjs","names":[],"sources":["../../src/internal/_notationCamel.ts"],"sourcesContent":["import { __notationRename } from \"./private/__notationRename\";\n\nconst _notationCamelSnake = (str: string): string => {\n while (str.startsWith(\"_\")) str = str.substring(1);\n if (str.length === 0) return \"\";\n const index: number = str.indexOf(\"_\");\n if (index < 0) return str.toLowerCase();\n const middle: string | undefined = str[index + 1];\n // A trailing underscore has no character to uppercase, so `CamelizeSnakeString`\n // falls through to lowercasing the whole key (`foo_` -> `foo_`).\n if (middle === undefined) return str.toLowerCase();\n // A doubled underscore collapses to a single one before continuing.\n return middle === \"_\"\n ? _notationCamelSnake(\n `${str.substring(0, index)}_${str.substring(index + 2)}`,\n )\n : `${str\n .substring(0, index)\n .toLowerCase()}${middle.toUpperCase()}${_notationCamelSnake(\n str.substring(index + 2),\n )}`;\n};\n\nexport const _notationCamel = __notationRename({\n // `CamelCase<T>` lowercases an all-caps key and otherwise lowercases only the\n // first character of an underscore-free key (`HTTP` -> `http`, `userID` stays).\n plain: (str) =>\n str === str.toUpperCase()\n ? str.toLowerCase()\n : `${str[0]!.toLowerCase()}${str.substring(1)}`,\n // With an underscore present, the character after each underscore is\n // uppercased and the rest lowercased, matching `CamelizeSnakeString`.\n snake: _notationCamelSnake,\n});\n"],"mappings":";;AAEA,MAAM,uBAAuB,QAAwB;CACnD,OAAO,IAAI,WAAW,GAAG,GAAG,MAAM,IAAI,UAAU,CAAC;CACjD,IAAI,IAAI,WAAW,GAAG,OAAO;CAC7B,MAAM,QAAgB,IAAI,QAAQ,GAAG;CACrC,IAAI,QAAQ,GAAG,OAAO,IAAI,YAAY;CACtC,MAAM,SAA6B,IAAI,QAAQ;CAG/C,IAAI,WAAW,KAAA,GAAW,OAAO,IAAI,YAAY;CAEjD,OAAO,WAAW,MACd,oBACE,GAAG,IAAI,UAAU,GAAG,KAAK,EAAE,GAAG,IAAI,UAAU,QAAQ,CAAC,GACvD,IACA,GAAG,IACA,UAAU,GAAG,KAAK,CAAC,CACnB,YAAY,IAAI,OAAO,YAAY,IAAI,oBACxC,IAAI,UAAU,QAAQ,CAAC,CACzB;AACN;AAEA,MAAa,iBAAiB,iBAAiB;CAG7C,QAAQ,QACN,QAAQ,IAAI,YAAY,IACpB,IAAI,YAAY,IAChB,GAAG,IAAI,EAAE,CAAE,YAAY,IAAI,IAAI,UAAU,CAAC;CAGhD,OAAO;AACT,CAAC"}
@@ -0,0 +1 @@
1
+ export declare const _notationKebab: (str: string) => string;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports._notationKebab = void 0;
4
+ const _notationSnake_1 = require("./_notationSnake");
5
+ const _notationKebab = (str) => {
6
+ let snaked = (0, _notationSnake_1._notationSnake)(str);
7
+ let prefix = "";
8
+ while (snaked.startsWith("_")) {
9
+ prefix += "_";
10
+ snaked = snaked.substring(1);
11
+ }
12
+ return `${prefix}${snaked.replaceAll("_", "-")}`;
13
+ };
14
+ exports._notationKebab = _notationKebab;
15
+ //# sourceMappingURL=_notationKebab.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_notationKebab.js","sourceRoot":"","sources":["../../src/internal/_notationKebab.ts"],"names":[],"mappings":";;;AAAA,qDAAkD;AAE3C,MAAM,cAAc,GAAG,CAAC,GAAW,EAAU,EAAE;IACpD,IAAI,MAAM,GAAW,IAAA,+BAAc,EAAC,GAAG,CAAC,CAAC;IACzC,IAAI,MAAM,GAAW,EAAE,CAAC;IACxB,OAAO,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAI,GAAG,CAAC;QACd,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IAC/B,CAAC;IACD,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;AACnD,CAAC,CAAC;AARW,QAAA,cAAc,GAAd,cAAc,CAQzB"}