typia 15.0.1 → 15.1.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 (1327) hide show
  1. package/lib/TypeGuardError.d.ts +20 -4
  2. package/lib/TypeGuardError.mjs.map +1 -1
  3. package/lib/basic.d.ts +787 -0
  4. package/lib/basic.js +104 -0
  5. package/lib/basic.js.map +1 -0
  6. package/lib/basic.mjs +86 -0
  7. package/lib/basic.mjs.map +1 -0
  8. package/lib/compare.d.ts +21 -0
  9. package/lib/compare.js.map +1 -1
  10. package/lib/compare.mjs.map +1 -1
  11. package/lib/functional.d.ts +42 -0
  12. package/lib/functional.js.map +1 -1
  13. package/lib/functional.mjs.map +1 -1
  14. package/lib/http.d.ts +75 -0
  15. package/lib/http.js.map +1 -1
  16. package/lib/http.mjs.map +1 -1
  17. package/lib/index.mjs +2 -1
  18. package/lib/index.mjs.map +1 -1
  19. package/lib/internal/_IProtobufWriter.d.ts +115 -0
  20. package/lib/internal/_ProtobufReader.d.ts +159 -1
  21. package/lib/internal/_ProtobufReader.js +159 -1
  22. package/lib/internal/_ProtobufReader.js.map +1 -1
  23. package/lib/internal/_ProtobufReader.mjs +159 -1
  24. package/lib/internal/_ProtobufReader.mjs.map +1 -1
  25. package/lib/internal/_ProtobufSizer.d.ts +135 -4
  26. package/lib/internal/_ProtobufSizer.js +134 -2
  27. package/lib/internal/_ProtobufSizer.js.map +1 -1
  28. package/lib/internal/_ProtobufSizer.mjs +133 -2
  29. package/lib/internal/_ProtobufSizer.mjs.map +1 -1
  30. package/lib/internal/_ProtobufWriter.d.ts +151 -0
  31. package/lib/internal/_ProtobufWriter.js +154 -1
  32. package/lib/internal/_ProtobufWriter.js.map +1 -1
  33. package/lib/internal/_ProtobufWriter.mjs +153 -2
  34. package/lib/internal/_ProtobufWriter.mjs.map +1 -1
  35. package/lib/internal/_accessExpressionAsString.d.ts +11 -0
  36. package/lib/internal/_accessExpressionAsString.js +11 -0
  37. package/lib/internal/_accessExpressionAsString.js.map +1 -1
  38. package/lib/internal/_accessExpressionAsString.mjs +11 -0
  39. package/lib/internal/_accessExpressionAsString.mjs.map +1 -1
  40. package/lib/internal/_assertGuard.d.ts +12 -0
  41. package/lib/internal/_assertGuard.js +12 -0
  42. package/lib/internal/_assertGuard.js.map +1 -1
  43. package/lib/internal/_assertGuard.mjs +12 -0
  44. package/lib/internal/_assertGuard.mjs.map +1 -1
  45. package/lib/internal/_coerceLlmArguments.d.ts +10 -0
  46. package/lib/internal/_coerceLlmArguments.js +10 -0
  47. package/lib/internal/_coerceLlmArguments.js.map +1 -1
  48. package/lib/internal/_coerceLlmArguments.mjs +10 -0
  49. package/lib/internal/_coerceLlmArguments.mjs.map +1 -1
  50. package/lib/internal/_createLlmEvaluation.js +9 -46
  51. package/lib/internal/_createLlmEvaluation.js.map +1 -1
  52. package/lib/internal/_createLlmEvaluation.mjs +7 -35
  53. package/lib/internal/_createLlmEvaluation.mjs.map +1 -1
  54. package/lib/internal/_createStandardSchema.d.ts +13 -0
  55. package/lib/internal/_createStandardSchema.js +13 -0
  56. package/lib/internal/_createStandardSchema.js.map +1 -1
  57. package/lib/internal/_createStandardSchema.mjs +13 -0
  58. package/lib/internal/_createStandardSchema.mjs.map +1 -1
  59. package/lib/internal/_decimal.d.ts +75 -0
  60. package/lib/internal/_decimal.js +55 -0
  61. package/lib/internal/_decimal.js.map +1 -1
  62. package/lib/internal/_decimal.mjs +55 -0
  63. package/lib/internal/_decimal.mjs.map +1 -1
  64. package/lib/internal/_functionalTypeGuardErrorFactory.d.ts +8 -0
  65. package/lib/internal/_functionalTypeGuardErrorFactory.js +8 -0
  66. package/lib/internal/_functionalTypeGuardErrorFactory.js.map +1 -1
  67. package/lib/internal/_functionalTypeGuardErrorFactory.mjs +8 -0
  68. package/lib/internal/_functionalTypeGuardErrorFactory.mjs.map +1 -1
  69. package/lib/internal/_httpFormDataReadArray.d.ts +9 -0
  70. package/lib/internal/_httpFormDataReadArray.js +9 -0
  71. package/lib/internal/_httpFormDataReadArray.js.map +1 -1
  72. package/lib/internal/_httpFormDataReadArray.mjs +9 -0
  73. package/lib/internal/_httpFormDataReadArray.mjs.map +1 -1
  74. package/lib/internal/_httpFormDataReadBigint.d.ts +12 -0
  75. package/lib/internal/_httpFormDataReadBigint.js +12 -0
  76. package/lib/internal/_httpFormDataReadBigint.js.map +1 -1
  77. package/lib/internal/_httpFormDataReadBigint.mjs +12 -0
  78. package/lib/internal/_httpFormDataReadBigint.mjs.map +1 -1
  79. package/lib/internal/_httpFormDataReadBlob.d.ts +11 -0
  80. package/lib/internal/_httpFormDataReadBlob.js +11 -0
  81. package/lib/internal/_httpFormDataReadBlob.js.map +1 -1
  82. package/lib/internal/_httpFormDataReadBlob.mjs +11 -0
  83. package/lib/internal/_httpFormDataReadBlob.mjs.map +1 -1
  84. package/lib/internal/_httpFormDataReadBoolean.d.ts +11 -0
  85. package/lib/internal/_httpFormDataReadBoolean.js +11 -0
  86. package/lib/internal/_httpFormDataReadBoolean.js.map +1 -1
  87. package/lib/internal/_httpFormDataReadBoolean.mjs +11 -0
  88. package/lib/internal/_httpFormDataReadBoolean.mjs.map +1 -1
  89. package/lib/internal/_httpFormDataReadFile.d.ts +11 -0
  90. package/lib/internal/_httpFormDataReadFile.js +11 -0
  91. package/lib/internal/_httpFormDataReadFile.js.map +1 -1
  92. package/lib/internal/_httpFormDataReadFile.mjs +11 -0
  93. package/lib/internal/_httpFormDataReadFile.mjs.map +1 -1
  94. package/lib/internal/_httpFormDataReadNumber.d.ts +11 -0
  95. package/lib/internal/_httpFormDataReadNumber.js +11 -0
  96. package/lib/internal/_httpFormDataReadNumber.js.map +1 -1
  97. package/lib/internal/_httpFormDataReadNumber.mjs +11 -0
  98. package/lib/internal/_httpFormDataReadNumber.mjs.map +1 -1
  99. package/lib/internal/_httpFormDataReadString.d.ts +5 -0
  100. package/lib/internal/_httpFormDataReadString.js +5 -0
  101. package/lib/internal/_httpFormDataReadString.js.map +1 -1
  102. package/lib/internal/_httpFormDataReadString.mjs +5 -0
  103. package/lib/internal/_httpFormDataReadString.mjs.map +1 -1
  104. package/lib/internal/_httpHeaderReadBigint.d.ts +11 -0
  105. package/lib/internal/_httpHeaderReadBigint.js +11 -0
  106. package/lib/internal/_httpHeaderReadBigint.js.map +1 -1
  107. package/lib/internal/_httpHeaderReadBigint.mjs +11 -0
  108. package/lib/internal/_httpHeaderReadBigint.mjs.map +1 -1
  109. package/lib/internal/_httpHeaderReadBoolean.d.ts +12 -0
  110. package/lib/internal/_httpHeaderReadBoolean.js +12 -0
  111. package/lib/internal/_httpHeaderReadBoolean.js.map +1 -1
  112. package/lib/internal/_httpHeaderReadBoolean.mjs +12 -0
  113. package/lib/internal/_httpHeaderReadBoolean.mjs.map +1 -1
  114. package/lib/internal/_httpHeaderReadNumber.d.ts +11 -0
  115. package/lib/internal/_httpHeaderReadNumber.js +11 -0
  116. package/lib/internal/_httpHeaderReadNumber.js.map +1 -1
  117. package/lib/internal/_httpHeaderReadNumber.mjs +11 -0
  118. package/lib/internal/_httpHeaderReadNumber.mjs.map +1 -1
  119. package/lib/internal/_httpParameterReadBigint.d.ts +11 -0
  120. package/lib/internal/_httpParameterReadBigint.js +11 -0
  121. package/lib/internal/_httpParameterReadBigint.js.map +1 -1
  122. package/lib/internal/_httpParameterReadBigint.mjs +11 -0
  123. package/lib/internal/_httpParameterReadBigint.mjs.map +1 -1
  124. package/lib/internal/_httpParameterReadBoolean.d.ts +11 -0
  125. package/lib/internal/_httpParameterReadBoolean.js +11 -0
  126. package/lib/internal/_httpParameterReadBoolean.js.map +1 -1
  127. package/lib/internal/_httpParameterReadBoolean.mjs +11 -0
  128. package/lib/internal/_httpParameterReadBoolean.mjs.map +1 -1
  129. package/lib/internal/_httpParameterReadNumber.d.ts +11 -0
  130. package/lib/internal/_httpParameterReadNumber.js +11 -0
  131. package/lib/internal/_httpParameterReadNumber.js.map +1 -1
  132. package/lib/internal/_httpParameterReadNumber.mjs +11 -0
  133. package/lib/internal/_httpParameterReadNumber.mjs.map +1 -1
  134. package/lib/internal/_httpParameterReadString.d.ts +5 -0
  135. package/lib/internal/_httpParameterReadString.js +5 -0
  136. package/lib/internal/_httpParameterReadString.js.map +1 -1
  137. package/lib/internal/_httpParameterReadString.mjs +5 -0
  138. package/lib/internal/_httpParameterReadString.mjs.map +1 -1
  139. package/lib/internal/_httpQueryParseURLSearchParams.d.ts +14 -0
  140. package/lib/internal/_httpQueryParseURLSearchParams.js +14 -0
  141. package/lib/internal/_httpQueryParseURLSearchParams.js.map +1 -1
  142. package/lib/internal/_httpQueryParseURLSearchParams.mjs +14 -0
  143. package/lib/internal/_httpQueryParseURLSearchParams.mjs.map +1 -1
  144. package/lib/internal/_httpQueryReadArray.d.ts +9 -0
  145. package/lib/internal/_httpQueryReadArray.js +9 -0
  146. package/lib/internal/_httpQueryReadArray.js.map +1 -1
  147. package/lib/internal/_httpQueryReadArray.mjs +9 -0
  148. package/lib/internal/_httpQueryReadArray.mjs.map +1 -1
  149. package/lib/internal/_httpQueryReadBigint.d.ts +11 -0
  150. package/lib/internal/_httpQueryReadBigint.js +11 -0
  151. package/lib/internal/_httpQueryReadBigint.js.map +1 -1
  152. package/lib/internal/_httpQueryReadBigint.mjs +11 -0
  153. package/lib/internal/_httpQueryReadBigint.mjs.map +1 -1
  154. package/lib/internal/_httpQueryReadBoolean.d.ts +12 -0
  155. package/lib/internal/_httpQueryReadBoolean.js +12 -0
  156. package/lib/internal/_httpQueryReadBoolean.js.map +1 -1
  157. package/lib/internal/_httpQueryReadBoolean.mjs +12 -0
  158. package/lib/internal/_httpQueryReadBoolean.mjs.map +1 -1
  159. package/lib/internal/_httpQueryReadNumber.d.ts +11 -0
  160. package/lib/internal/_httpQueryReadNumber.js +11 -0
  161. package/lib/internal/_httpQueryReadNumber.js.map +1 -1
  162. package/lib/internal/_httpQueryReadNumber.mjs +11 -0
  163. package/lib/internal/_httpQueryReadNumber.mjs.map +1 -1
  164. package/lib/internal/_httpQueryReadString.d.ts +5 -0
  165. package/lib/internal/_httpQueryReadString.js +5 -0
  166. package/lib/internal/_httpQueryReadString.js.map +1 -1
  167. package/lib/internal/_httpQueryReadString.mjs +5 -0
  168. package/lib/internal/_httpQueryReadString.mjs.map +1 -1
  169. package/lib/internal/_isBetween.d.ts +8 -0
  170. package/lib/internal/_isBetween.js +8 -0
  171. package/lib/internal/_isBetween.js.map +1 -1
  172. package/lib/internal/_isBetween.mjs +8 -0
  173. package/lib/internal/_isBetween.mjs.map +1 -1
  174. package/lib/internal/_isBigintString.d.ts +11 -0
  175. package/lib/internal/_isBigintString.js +11 -0
  176. package/lib/internal/_isBigintString.js.map +1 -1
  177. package/lib/internal/_isBigintString.mjs +11 -0
  178. package/lib/internal/_isBigintString.mjs.map +1 -1
  179. package/lib/internal/_isFormatByte.d.ts +12 -0
  180. package/lib/internal/_isFormatByte.js +12 -0
  181. package/lib/internal/_isFormatByte.js.map +1 -1
  182. package/lib/internal/_isFormatByte.mjs +12 -0
  183. package/lib/internal/_isFormatByte.mjs.map +1 -1
  184. package/lib/internal/_isFormatDate.d.ts +11 -0
  185. package/lib/internal/_isFormatDate.js +11 -0
  186. package/lib/internal/_isFormatDate.js.map +1 -1
  187. package/lib/internal/_isFormatDate.mjs +11 -0
  188. package/lib/internal/_isFormatDate.mjs.map +1 -1
  189. package/lib/internal/_isFormatDateTime.d.ts +13 -0
  190. package/lib/internal/_isFormatDateTime.js +13 -0
  191. package/lib/internal/_isFormatDateTime.js.map +1 -1
  192. package/lib/internal/_isFormatDateTime.mjs +13 -0
  193. package/lib/internal/_isFormatDateTime.mjs.map +1 -1
  194. package/lib/internal/_isFormatDuration.d.ts +13 -0
  195. package/lib/internal/_isFormatDuration.js +13 -0
  196. package/lib/internal/_isFormatDuration.js.map +1 -1
  197. package/lib/internal/_isFormatDuration.mjs +13 -0
  198. package/lib/internal/_isFormatDuration.mjs.map +1 -1
  199. package/lib/internal/_isFormatEmail.d.ts +13 -0
  200. package/lib/internal/_isFormatEmail.js +13 -0
  201. package/lib/internal/_isFormatEmail.js.map +1 -1
  202. package/lib/internal/_isFormatEmail.mjs +13 -0
  203. package/lib/internal/_isFormatEmail.mjs.map +1 -1
  204. package/lib/internal/_isFormatHostname.d.ts +12 -0
  205. package/lib/internal/_isFormatHostname.js +12 -0
  206. package/lib/internal/_isFormatHostname.js.map +1 -1
  207. package/lib/internal/_isFormatHostname.mjs +12 -0
  208. package/lib/internal/_isFormatHostname.mjs.map +1 -1
  209. package/lib/internal/_isFormatIdnEmail.d.ts +14 -0
  210. package/lib/internal/_isFormatIdnEmail.js +14 -0
  211. package/lib/internal/_isFormatIdnEmail.js.map +1 -1
  212. package/lib/internal/_isFormatIdnEmail.mjs +14 -0
  213. package/lib/internal/_isFormatIdnEmail.mjs.map +1 -1
  214. package/lib/internal/_isFormatIdnHostname.d.ts +14 -0
  215. package/lib/internal/_isFormatIdnHostname.js +14 -0
  216. package/lib/internal/_isFormatIdnHostname.js.map +1 -1
  217. package/lib/internal/_isFormatIdnHostname.mjs +14 -0
  218. package/lib/internal/_isFormatIdnHostname.mjs.map +1 -1
  219. package/lib/internal/_isFormatIpv4.d.ts +11 -0
  220. package/lib/internal/_isFormatIpv4.js +11 -0
  221. package/lib/internal/_isFormatIpv4.js.map +1 -1
  222. package/lib/internal/_isFormatIpv4.mjs +11 -0
  223. package/lib/internal/_isFormatIpv4.mjs.map +1 -1
  224. package/lib/internal/_isFormatIpv6.d.ts +12 -0
  225. package/lib/internal/_isFormatIpv6.js +12 -0
  226. package/lib/internal/_isFormatIpv6.js.map +1 -1
  227. package/lib/internal/_isFormatIpv6.mjs +12 -0
  228. package/lib/internal/_isFormatIpv6.mjs.map +1 -1
  229. package/lib/internal/_isFormatIri.d.ts +11 -0
  230. package/lib/internal/_isFormatIri.js +11 -0
  231. package/lib/internal/_isFormatIri.js.map +1 -1
  232. package/lib/internal/_isFormatIri.mjs +11 -0
  233. package/lib/internal/_isFormatIri.mjs.map +1 -1
  234. package/lib/internal/_isFormatIriReference.d.ts +13 -0
  235. package/lib/internal/_isFormatIriReference.js +13 -0
  236. package/lib/internal/_isFormatIriReference.js.map +1 -1
  237. package/lib/internal/_isFormatIriReference.mjs +13 -0
  238. package/lib/internal/_isFormatIriReference.mjs.map +1 -1
  239. package/lib/internal/_isFormatJsonPointer.d.ts +11 -0
  240. package/lib/internal/_isFormatJsonPointer.js +11 -0
  241. package/lib/internal/_isFormatJsonPointer.js.map +1 -1
  242. package/lib/internal/_isFormatJsonPointer.mjs +11 -0
  243. package/lib/internal/_isFormatJsonPointer.mjs.map +1 -1
  244. package/lib/internal/_isFormatPassword.d.ts +11 -0
  245. package/lib/internal/_isFormatPassword.js +11 -0
  246. package/lib/internal/_isFormatPassword.js.map +1 -1
  247. package/lib/internal/_isFormatPassword.mjs +11 -0
  248. package/lib/internal/_isFormatPassword.mjs.map +1 -1
  249. package/lib/internal/_isFormatRegex.d.ts +11 -0
  250. package/lib/internal/_isFormatRegex.js +11 -0
  251. package/lib/internal/_isFormatRegex.js.map +1 -1
  252. package/lib/internal/_isFormatRegex.mjs +11 -0
  253. package/lib/internal/_isFormatRegex.mjs.map +1 -1
  254. package/lib/internal/_isFormatRelativeJsonPointer.d.ts +11 -0
  255. package/lib/internal/_isFormatRelativeJsonPointer.js +11 -0
  256. package/lib/internal/_isFormatRelativeJsonPointer.js.map +1 -1
  257. package/lib/internal/_isFormatRelativeJsonPointer.mjs +11 -0
  258. package/lib/internal/_isFormatRelativeJsonPointer.mjs.map +1 -1
  259. package/lib/internal/_isFormatTime.d.ts +12 -0
  260. package/lib/internal/_isFormatTime.js +12 -0
  261. package/lib/internal/_isFormatTime.js.map +1 -1
  262. package/lib/internal/_isFormatTime.mjs +12 -0
  263. package/lib/internal/_isFormatTime.mjs.map +1 -1
  264. package/lib/internal/_isFormatUri.d.ts +15 -0
  265. package/lib/internal/_isFormatUri.js +15 -0
  266. package/lib/internal/_isFormatUri.js.map +1 -1
  267. package/lib/internal/_isFormatUri.mjs +15 -0
  268. package/lib/internal/_isFormatUri.mjs.map +1 -1
  269. package/lib/internal/_isFormatUriReference.d.ts +11 -0
  270. package/lib/internal/_isFormatUriReference.js +11 -0
  271. package/lib/internal/_isFormatUriReference.js.map +1 -1
  272. package/lib/internal/_isFormatUriReference.mjs +11 -0
  273. package/lib/internal/_isFormatUriReference.mjs.map +1 -1
  274. package/lib/internal/_isFormatUriTemplate.d.ts +13 -0
  275. package/lib/internal/_isFormatUriTemplate.js +14 -1
  276. package/lib/internal/_isFormatUriTemplate.js.map +1 -1
  277. package/lib/internal/_isFormatUriTemplate.mjs +14 -1
  278. package/lib/internal/_isFormatUriTemplate.mjs.map +1 -1
  279. package/lib/internal/_isFormatUrl.d.ts +15 -0
  280. package/lib/internal/_isFormatUrl.js +15 -0
  281. package/lib/internal/_isFormatUrl.js.map +1 -1
  282. package/lib/internal/_isFormatUrl.mjs +15 -0
  283. package/lib/internal/_isFormatUrl.mjs.map +1 -1
  284. package/lib/internal/_isFormatUuid.d.ts +11 -0
  285. package/lib/internal/_isFormatUuid.js +11 -0
  286. package/lib/internal/_isFormatUuid.js.map +1 -1
  287. package/lib/internal/_isFormatUuid.mjs +11 -0
  288. package/lib/internal/_isFormatUuid.mjs.map +1 -1
  289. package/lib/internal/_isMultipleOf.d.ts +11 -0
  290. package/lib/internal/_isMultipleOf.js +11 -0
  291. package/lib/internal/_isMultipleOf.js.map +1 -1
  292. package/lib/internal/_isMultipleOf.mjs +11 -0
  293. package/lib/internal/_isMultipleOf.mjs.map +1 -1
  294. package/lib/internal/_isTypeFloat.d.ts +9 -0
  295. package/lib/internal/_isTypeFloat.js +9 -0
  296. package/lib/internal/_isTypeFloat.js.map +1 -1
  297. package/lib/internal/_isTypeFloat.mjs +9 -0
  298. package/lib/internal/_isTypeFloat.mjs.map +1 -1
  299. package/lib/internal/_isTypeInt16.d.ts +8 -0
  300. package/lib/internal/_isTypeInt16.js +8 -0
  301. package/lib/internal/_isTypeInt16.js.map +1 -1
  302. package/lib/internal/_isTypeInt16.mjs +8 -0
  303. package/lib/internal/_isTypeInt16.mjs.map +1 -1
  304. package/lib/internal/_isTypeInt32.d.ts +8 -0
  305. package/lib/internal/_isTypeInt32.js +8 -0
  306. package/lib/internal/_isTypeInt32.js.map +1 -1
  307. package/lib/internal/_isTypeInt32.mjs +8 -0
  308. package/lib/internal/_isTypeInt32.mjs.map +1 -1
  309. package/lib/internal/_isTypeInt64.d.ts +11 -0
  310. package/lib/internal/_isTypeInt64.js +11 -0
  311. package/lib/internal/_isTypeInt64.js.map +1 -1
  312. package/lib/internal/_isTypeInt64.mjs +11 -0
  313. package/lib/internal/_isTypeInt64.mjs.map +1 -1
  314. package/lib/internal/_isTypeInt64Bigint.d.ts +8 -0
  315. package/lib/internal/_isTypeInt64Bigint.js +8 -0
  316. package/lib/internal/_isTypeInt64Bigint.js.map +1 -1
  317. package/lib/internal/_isTypeInt64Bigint.mjs +8 -0
  318. package/lib/internal/_isTypeInt64Bigint.mjs.map +1 -1
  319. package/lib/internal/_isTypeInt8.d.ts +8 -0
  320. package/lib/internal/_isTypeInt8.js +8 -0
  321. package/lib/internal/_isTypeInt8.js.map +1 -1
  322. package/lib/internal/_isTypeInt8.mjs +8 -0
  323. package/lib/internal/_isTypeInt8.mjs.map +1 -1
  324. package/lib/internal/_isTypeUint16.d.ts +8 -0
  325. package/lib/internal/_isTypeUint16.js +8 -0
  326. package/lib/internal/_isTypeUint16.js.map +1 -1
  327. package/lib/internal/_isTypeUint16.mjs +8 -0
  328. package/lib/internal/_isTypeUint16.mjs.map +1 -1
  329. package/lib/internal/_isTypeUint32.d.ts +8 -0
  330. package/lib/internal/_isTypeUint32.js +8 -0
  331. package/lib/internal/_isTypeUint32.js.map +1 -1
  332. package/lib/internal/_isTypeUint32.mjs +8 -0
  333. package/lib/internal/_isTypeUint32.mjs.map +1 -1
  334. package/lib/internal/_isTypeUint64.d.ts +11 -0
  335. package/lib/internal/_isTypeUint64.js +11 -0
  336. package/lib/internal/_isTypeUint64.js.map +1 -1
  337. package/lib/internal/_isTypeUint64.mjs +11 -0
  338. package/lib/internal/_isTypeUint64.mjs.map +1 -1
  339. package/lib/internal/_isTypeUint64Bigint.d.ts +8 -0
  340. package/lib/internal/_isTypeUint64Bigint.js +8 -0
  341. package/lib/internal/_isTypeUint64Bigint.js.map +1 -1
  342. package/lib/internal/_isTypeUint64Bigint.mjs +8 -0
  343. package/lib/internal/_isTypeUint64Bigint.mjs.map +1 -1
  344. package/lib/internal/_isTypeUint8.d.ts +8 -0
  345. package/lib/internal/_isTypeUint8.js +8 -0
  346. package/lib/internal/_isTypeUint8.js.map +1 -1
  347. package/lib/internal/_isTypeUint8.mjs +8 -0
  348. package/lib/internal/_isTypeUint8.mjs.map +1 -1
  349. package/lib/internal/_isUniqueItems.d.ts +17 -0
  350. package/lib/internal/_isUniqueItems.js +58 -0
  351. package/lib/internal/_isUniqueItems.js.map +1 -1
  352. package/lib/internal/_isUniqueItems.mjs +41 -0
  353. package/lib/internal/_isUniqueItems.mjs.map +1 -1
  354. package/lib/internal/_jsonStringifyArray.js +2 -0
  355. package/lib/internal/_jsonStringifyArray.js.map +1 -1
  356. package/lib/internal/_jsonStringifyArray.mjs +2 -0
  357. package/lib/internal/_jsonStringifyArray.mjs.map +1 -1
  358. package/lib/internal/_jsonStringifyElement.js +2 -0
  359. package/lib/internal/_jsonStringifyElement.js.map +1 -1
  360. package/lib/internal/_jsonStringifyElement.mjs +2 -0
  361. package/lib/internal/_jsonStringifyElement.mjs.map +1 -1
  362. package/lib/internal/_jsonStringifyNumber.d.ts +9 -0
  363. package/lib/internal/_jsonStringifyNumber.js +9 -0
  364. package/lib/internal/_jsonStringifyNumber.js.map +1 -1
  365. package/lib/internal/_jsonStringifyNumber.mjs +9 -0
  366. package/lib/internal/_jsonStringifyNumber.mjs.map +1 -1
  367. package/lib/internal/_jsonStringifyProperty.js +3 -1
  368. package/lib/internal/_jsonStringifyProperty.js.map +1 -1
  369. package/lib/internal/_jsonStringifyProperty.mjs +3 -1
  370. package/lib/internal/_jsonStringifyProperty.mjs.map +1 -1
  371. package/lib/internal/_jsonStringifyRest.d.ts +11 -0
  372. package/lib/internal/_jsonStringifyRest.js +11 -0
  373. package/lib/internal/_jsonStringifyRest.js.map +1 -1
  374. package/lib/internal/_jsonStringifyRest.mjs +11 -0
  375. package/lib/internal/_jsonStringifyRest.mjs.map +1 -1
  376. package/lib/internal/_jsonStringifyString.d.ts +13 -0
  377. package/lib/internal/_jsonStringifyString.js +13 -0
  378. package/lib/internal/_jsonStringifyString.js.map +1 -1
  379. package/lib/internal/_jsonStringifyString.mjs +13 -0
  380. package/lib/internal/_jsonStringifyString.mjs.map +1 -1
  381. package/lib/internal/_jsonStringifyTail.d.ts +8 -0
  382. package/lib/internal/_jsonStringifyTail.js +8 -0
  383. package/lib/internal/_jsonStringifyTail.js.map +1 -1
  384. package/lib/internal/_jsonStringifyTail.mjs +8 -0
  385. package/lib/internal/_jsonStringifyTail.mjs.map +1 -1
  386. package/lib/internal/_llmApplicationFinalize.d.ts +13 -0
  387. package/lib/internal/_llmApplicationFinalize.js +13 -0
  388. package/lib/internal/_llmApplicationFinalize.js.map +1 -1
  389. package/lib/internal/_llmApplicationFinalize.mjs +13 -0
  390. package/lib/internal/_llmApplicationFinalize.mjs.map +1 -1
  391. package/lib/internal/_notationAny.d.ts +14 -0
  392. package/lib/internal/_notationAny.js +14 -0
  393. package/lib/internal/_notationAny.js.map +1 -1
  394. package/lib/internal/_notationAny.mjs +14 -0
  395. package/lib/internal/_notationAny.mjs.map +1 -1
  396. package/lib/internal/_notationAssign.d.ts +12 -0
  397. package/lib/internal/_notationAssign.js +12 -0
  398. package/lib/internal/_notationAssign.js.map +1 -1
  399. package/lib/internal/_notationAssign.mjs +12 -0
  400. package/lib/internal/_notationAssign.mjs.map +1 -1
  401. package/lib/internal/_notationKebab.d.ts +9 -0
  402. package/lib/internal/_notationKebab.js +9 -0
  403. package/lib/internal/_notationKebab.js.map +1 -1
  404. package/lib/internal/_notationKebab.mjs +9 -0
  405. package/lib/internal/_notationKebab.mjs.map +1 -1
  406. package/lib/internal/_notationKeyCollision.d.ts +8 -0
  407. package/lib/internal/_notationKeyCollision.js +8 -0
  408. package/lib/internal/_notationKeyCollision.js.map +1 -1
  409. package/lib/internal/_notationKeyCollision.mjs +8 -0
  410. package/lib/internal/_notationKeyCollision.mjs.map +1 -1
  411. package/lib/internal/_notationSnake.d.ts +12 -0
  412. package/lib/internal/_notationSnake.js +12 -0
  413. package/lib/internal/_notationSnake.js.map +1 -1
  414. package/lib/internal/_notationSnake.mjs +12 -0
  415. package/lib/internal/_notationSnake.mjs.map +1 -1
  416. package/lib/internal/_parseLlmArguments.d.ts +12 -0
  417. package/lib/internal/_parseLlmArguments.js +12 -0
  418. package/lib/internal/_parseLlmArguments.js.map +1 -1
  419. package/lib/internal/_parseLlmArguments.mjs +12 -0
  420. package/lib/internal/_parseLlmArguments.mjs.map +1 -1
  421. package/lib/internal/_plainCloneAny.d.ts +15 -0
  422. package/lib/internal/_plainCloneAny.js +15 -0
  423. package/lib/internal/_plainCloneAny.js.map +1 -1
  424. package/lib/internal/_plainCloneAny.mjs +15 -0
  425. package/lib/internal/_plainCloneAny.mjs.map +1 -1
  426. package/lib/internal/_randomArray.d.ts +19 -1
  427. package/lib/internal/_randomArray.js +32 -14
  428. package/lib/internal/_randomArray.js.map +1 -1
  429. package/lib/internal/_randomArray.mjs +24 -6
  430. package/lib/internal/_randomArray.mjs.map +1 -1
  431. package/lib/internal/_randomBigint.d.ts +5 -0
  432. package/lib/internal/_randomBigint.js +5 -0
  433. package/lib/internal/_randomBigint.js.map +1 -1
  434. package/lib/internal/_randomBigint.mjs +5 -0
  435. package/lib/internal/_randomBigint.mjs.map +1 -1
  436. package/lib/internal/_randomBoolean.d.ts +8 -0
  437. package/lib/internal/_randomBoolean.js +8 -0
  438. package/lib/internal/_randomBoolean.js.map +1 -1
  439. package/lib/internal/_randomBoolean.mjs +8 -0
  440. package/lib/internal/_randomBoolean.mjs.map +1 -1
  441. package/lib/internal/_randomFormatByte.d.ts +8 -0
  442. package/lib/internal/_randomFormatByte.js +8 -0
  443. package/lib/internal/_randomFormatByte.js.map +1 -1
  444. package/lib/internal/_randomFormatByte.mjs +8 -0
  445. package/lib/internal/_randomFormatByte.mjs.map +1 -1
  446. package/lib/internal/_randomFormatDate.d.ts +10 -0
  447. package/lib/internal/_randomFormatDate.js +10 -0
  448. package/lib/internal/_randomFormatDate.js.map +1 -1
  449. package/lib/internal/_randomFormatDate.mjs +10 -0
  450. package/lib/internal/_randomFormatDate.mjs.map +1 -1
  451. package/lib/internal/_randomFormatDatetime.d.ts +10 -0
  452. package/lib/internal/_randomFormatDatetime.js +10 -0
  453. package/lib/internal/_randomFormatDatetime.js.map +1 -1
  454. package/lib/internal/_randomFormatDatetime.mjs +10 -0
  455. package/lib/internal/_randomFormatDatetime.mjs.map +1 -1
  456. package/lib/internal/_randomFormatDuration.d.ts +8 -0
  457. package/lib/internal/_randomFormatDuration.js +8 -0
  458. package/lib/internal/_randomFormatDuration.js.map +1 -1
  459. package/lib/internal/_randomFormatDuration.mjs +8 -0
  460. package/lib/internal/_randomFormatDuration.mjs.map +1 -1
  461. package/lib/internal/_randomFormatEmail.d.ts +8 -0
  462. package/lib/internal/_randomFormatEmail.js +8 -0
  463. package/lib/internal/_randomFormatEmail.js.map +1 -1
  464. package/lib/internal/_randomFormatEmail.mjs +8 -0
  465. package/lib/internal/_randomFormatEmail.mjs.map +1 -1
  466. package/lib/internal/_randomFormatHostname.d.ts +15 -1
  467. package/lib/internal/_randomFormatHostname.js +15 -1
  468. package/lib/internal/_randomFormatHostname.js.map +1 -1
  469. package/lib/internal/_randomFormatHostname.mjs +15 -1
  470. package/lib/internal/_randomFormatHostname.mjs.map +1 -1
  471. package/lib/internal/_randomFormatIdnEmail.d.ts +13 -0
  472. package/lib/internal/_randomFormatIdnEmail.js +13 -0
  473. package/lib/internal/_randomFormatIdnEmail.js.map +1 -1
  474. package/lib/internal/_randomFormatIdnEmail.mjs +13 -0
  475. package/lib/internal/_randomFormatIdnEmail.mjs.map +1 -1
  476. package/lib/internal/_randomFormatIdnHostname.d.ts +12 -0
  477. package/lib/internal/_randomFormatIdnHostname.js +12 -0
  478. package/lib/internal/_randomFormatIdnHostname.js.map +1 -1
  479. package/lib/internal/_randomFormatIdnHostname.mjs +12 -0
  480. package/lib/internal/_randomFormatIdnHostname.mjs.map +1 -1
  481. package/lib/internal/_randomFormatIpv4.d.ts +8 -0
  482. package/lib/internal/_randomFormatIpv4.js +8 -0
  483. package/lib/internal/_randomFormatIpv4.js.map +1 -1
  484. package/lib/internal/_randomFormatIpv4.mjs +8 -0
  485. package/lib/internal/_randomFormatIpv4.mjs.map +1 -1
  486. package/lib/internal/_randomFormatIpv6.d.ts +8 -0
  487. package/lib/internal/_randomFormatIpv6.js +8 -0
  488. package/lib/internal/_randomFormatIpv6.js.map +1 -1
  489. package/lib/internal/_randomFormatIpv6.mjs +8 -0
  490. package/lib/internal/_randomFormatIpv6.mjs.map +1 -1
  491. package/lib/internal/_randomFormatIri.d.ts +11 -0
  492. package/lib/internal/_randomFormatIri.js +11 -0
  493. package/lib/internal/_randomFormatIri.js.map +1 -1
  494. package/lib/internal/_randomFormatIri.mjs +11 -0
  495. package/lib/internal/_randomFormatIri.mjs.map +1 -1
  496. package/lib/internal/_randomFormatIriReference.d.ts +12 -0
  497. package/lib/internal/_randomFormatIriReference.js +12 -0
  498. package/lib/internal/_randomFormatIriReference.js.map +1 -1
  499. package/lib/internal/_randomFormatIriReference.mjs +12 -0
  500. package/lib/internal/_randomFormatIriReference.mjs.map +1 -1
  501. package/lib/internal/_randomFormatJsonPointer.d.ts +12 -0
  502. package/lib/internal/_randomFormatJsonPointer.js +12 -0
  503. package/lib/internal/_randomFormatJsonPointer.js.map +1 -1
  504. package/lib/internal/_randomFormatJsonPointer.mjs +12 -0
  505. package/lib/internal/_randomFormatJsonPointer.mjs.map +1 -1
  506. package/lib/internal/_randomFormatPassword.d.ts +13 -0
  507. package/lib/internal/_randomFormatPassword.js +13 -0
  508. package/lib/internal/_randomFormatPassword.js.map +1 -1
  509. package/lib/internal/_randomFormatPassword.mjs +13 -0
  510. package/lib/internal/_randomFormatPassword.mjs.map +1 -1
  511. package/lib/internal/_randomFormatRegex.d.ts +8 -0
  512. package/lib/internal/_randomFormatRegex.js +8 -0
  513. package/lib/internal/_randomFormatRegex.js.map +1 -1
  514. package/lib/internal/_randomFormatRegex.mjs +8 -0
  515. package/lib/internal/_randomFormatRegex.mjs.map +1 -1
  516. package/lib/internal/_randomFormatRelativeJsonPointer.d.ts +8 -0
  517. package/lib/internal/_randomFormatRelativeJsonPointer.js +8 -0
  518. package/lib/internal/_randomFormatRelativeJsonPointer.js.map +1 -1
  519. package/lib/internal/_randomFormatRelativeJsonPointer.mjs +8 -0
  520. package/lib/internal/_randomFormatRelativeJsonPointer.mjs.map +1 -1
  521. package/lib/internal/_randomFormatTime.d.ts +13 -0
  522. package/lib/internal/_randomFormatTime.js +13 -0
  523. package/lib/internal/_randomFormatTime.js.map +1 -1
  524. package/lib/internal/_randomFormatTime.mjs +13 -0
  525. package/lib/internal/_randomFormatTime.mjs.map +1 -1
  526. package/lib/internal/_randomFormatUri.d.ts +12 -0
  527. package/lib/internal/_randomFormatUri.js +12 -0
  528. package/lib/internal/_randomFormatUri.js.map +1 -1
  529. package/lib/internal/_randomFormatUri.mjs +12 -0
  530. package/lib/internal/_randomFormatUri.mjs.map +1 -1
  531. package/lib/internal/_randomFormatUriReference.d.ts +12 -0
  532. package/lib/internal/_randomFormatUriReference.js +12 -0
  533. package/lib/internal/_randomFormatUriReference.js.map +1 -1
  534. package/lib/internal/_randomFormatUriReference.mjs +12 -0
  535. package/lib/internal/_randomFormatUriReference.mjs.map +1 -1
  536. package/lib/internal/_randomFormatUriTemplate.d.ts +12 -0
  537. package/lib/internal/_randomFormatUriTemplate.js +12 -0
  538. package/lib/internal/_randomFormatUriTemplate.js.map +1 -1
  539. package/lib/internal/_randomFormatUriTemplate.mjs +12 -0
  540. package/lib/internal/_randomFormatUriTemplate.mjs.map +1 -1
  541. package/lib/internal/_randomFormatUrl.d.ts +12 -0
  542. package/lib/internal/_randomFormatUrl.js +12 -0
  543. package/lib/internal/_randomFormatUrl.js.map +1 -1
  544. package/lib/internal/_randomFormatUrl.mjs +12 -0
  545. package/lib/internal/_randomFormatUrl.mjs.map +1 -1
  546. package/lib/internal/_randomFormatUuid.d.ts +13 -0
  547. package/lib/internal/_randomFormatUuid.js +13 -0
  548. package/lib/internal/_randomFormatUuid.js.map +1 -1
  549. package/lib/internal/_randomFormatUuid.mjs +13 -0
  550. package/lib/internal/_randomFormatUuid.mjs.map +1 -1
  551. package/lib/internal/_randomInteger.d.ts +17 -1
  552. package/lib/internal/_randomInteger.js +53 -11
  553. package/lib/internal/_randomInteger.js.map +1 -1
  554. package/lib/internal/_randomInteger.mjs +41 -7
  555. package/lib/internal/_randomInteger.mjs.map +1 -1
  556. package/lib/internal/_randomMultiple.d.ts +18 -1
  557. package/lib/internal/_randomMultiple.js +30 -13
  558. package/lib/internal/_randomMultiple.js.map +1 -1
  559. package/lib/internal/_randomMultiple.mjs +30 -13
  560. package/lib/internal/_randomMultiple.mjs.map +1 -1
  561. package/lib/internal/_randomNumber.d.ts +17 -1
  562. package/lib/internal/_randomNumber.js +48 -8
  563. package/lib/internal/_randomNumber.js.map +1 -1
  564. package/lib/internal/_randomNumber.mjs +40 -8
  565. package/lib/internal/_randomNumber.mjs.map +1 -1
  566. package/lib/internal/_randomPattern.d.ts +12 -0
  567. package/lib/internal/_randomPattern.js +12 -0
  568. package/lib/internal/_randomPattern.js.map +1 -1
  569. package/lib/internal/_randomPattern.mjs +12 -0
  570. package/lib/internal/_randomPattern.mjs.map +1 -1
  571. package/lib/internal/_randomPick.d.ts +13 -1
  572. package/lib/internal/_randomPick.js +15 -3
  573. package/lib/internal/_randomPick.js.map +1 -1
  574. package/lib/internal/_randomPick.mjs +15 -3
  575. package/lib/internal/_randomPick.mjs.map +1 -1
  576. package/lib/internal/_randomString.d.ts +15 -1
  577. package/lib/internal/_randomString.js +19 -5
  578. package/lib/internal/_randomString.js.map +1 -1
  579. package/lib/internal/_randomString.mjs +19 -5
  580. package/lib/internal/_randomString.mjs.map +1 -1
  581. package/lib/internal/_randomStringLength.d.ts +30 -1
  582. package/lib/internal/_randomStringLength.js +23 -1
  583. package/lib/internal/_randomStringLength.js.map +1 -1
  584. package/lib/internal/_randomStringLength.mjs +23 -1
  585. package/lib/internal/_randomStringLength.mjs.map +1 -1
  586. package/lib/internal/_stringLength.d.ts +11 -0
  587. package/lib/internal/_stringLength.js +11 -0
  588. package/lib/internal/_stringLength.js.map +1 -1
  589. package/lib/internal/_stringLength.mjs +11 -0
  590. package/lib/internal/_stringLength.mjs.map +1 -1
  591. package/lib/internal/_stringLengthGte.d.ts +11 -0
  592. package/lib/internal/_stringLengthGte.js +11 -0
  593. package/lib/internal/_stringLengthGte.js.map +1 -1
  594. package/lib/internal/_stringLengthGte.mjs +11 -0
  595. package/lib/internal/_stringLengthGte.mjs.map +1 -1
  596. package/lib/internal/_stringLengthLte.d.ts +11 -0
  597. package/lib/internal/_stringLengthLte.js +11 -0
  598. package/lib/internal/_stringLengthLte.js.map +1 -1
  599. package/lib/internal/_stringLengthLte.mjs +11 -0
  600. package/lib/internal/_stringLengthLte.mjs.map +1 -1
  601. package/lib/internal/_throwTypeGuardError.d.ts +9 -0
  602. package/lib/internal/_throwTypeGuardError.js +9 -0
  603. package/lib/internal/_throwTypeGuardError.js.map +1 -1
  604. package/lib/internal/_throwTypeGuardError.mjs +9 -0
  605. package/lib/internal/_throwTypeGuardError.mjs.map +1 -1
  606. package/lib/internal/_validateReport.d.ts +15 -0
  607. package/lib/internal/_validateReport.js +15 -0
  608. package/lib/internal/_validateReport.js.map +1 -1
  609. package/lib/internal/_validateReport.mjs +15 -0
  610. package/lib/internal/_validateReport.mjs.map +1 -1
  611. package/lib/internal/private/__notationRename.d.ts +5 -0
  612. package/lib/internal/private/__notationRename.js +5 -0
  613. package/lib/internal/private/__notationRename.js.map +1 -1
  614. package/lib/internal/private/__notationRename.mjs +5 -0
  615. package/lib/internal/private/__notationRename.mjs.map +1 -1
  616. package/lib/internal/private/__randomComposition.d.ts +27 -3
  617. package/lib/internal/private/__randomComposition.js +27 -3
  618. package/lib/internal/private/__randomComposition.js.map +1 -1
  619. package/lib/internal/private/__randomComposition.mjs +27 -3
  620. package/lib/internal/private/__randomComposition.mjs.map +1 -1
  621. package/lib/internal/private/__randomEpoch.d.ts +15 -0
  622. package/lib/internal/private/__randomEpoch.js +5 -0
  623. package/lib/internal/private/__randomEpoch.js.map +1 -1
  624. package/lib/internal/private/__randomEpoch.mjs +5 -0
  625. package/lib/internal/private/__randomEpoch.mjs.map +1 -1
  626. package/lib/json.d.ts +49 -14
  627. package/lib/json.js.map +1 -1
  628. package/lib/json.mjs.map +1 -1
  629. package/lib/llm.d.ts +41 -25
  630. package/lib/llm.js.map +1 -1
  631. package/lib/llm.mjs.map +1 -1
  632. package/lib/module.d.ts +1 -702
  633. package/lib/module.js +1 -101
  634. package/lib/module.js.map +1 -1
  635. package/lib/module.mjs +1 -81
  636. package/lib/module.mjs.map +1 -1
  637. package/lib/notations.d.ts +60 -0
  638. package/lib/notations.js.map +1 -1
  639. package/lib/notations.mjs.map +1 -1
  640. package/lib/plain.d.ts +38 -0
  641. package/lib/plain.js.map +1 -1
  642. package/lib/plain.mjs.map +1 -1
  643. package/lib/protobuf.d.ts +38 -4
  644. package/lib/protobuf.js.map +1 -1
  645. package/lib/protobuf.mjs.map +1 -1
  646. package/lib/reflect.d.ts +16 -12
  647. package/lib/reflect.js.map +1 -1
  648. package/lib/reflect.mjs.map +1 -1
  649. package/lib/transform.d.ts +17 -0
  650. package/lib/transform.js +17 -0
  651. package/lib/transform.js.map +1 -1
  652. package/lib/transform.mjs +17 -0
  653. package/lib/transform.mjs.map +1 -1
  654. package/native/adapter/adapter.go +28 -3
  655. package/native/adapter/adapter_options_branch_matrix_test.go +39 -34
  656. package/native/adapter/plugin_options.go +5 -0
  657. package/native/adapter/plugin_options_payload_matrix_test.go +5 -0
  658. package/native/cmd/ttsc-typia/any_array_type_tags_transform_test.go +38 -131
  659. package/native/cmd/ttsc-typia/assert_guard_factory_contract_test.go +31 -58
  660. package/native/cmd/ttsc-typia/atomic_intersection_schema_transform_test.go +28 -79
  661. package/native/cmd/ttsc-typia/bigint_literal_precision_transform_test.go +16 -82
  662. package/native/cmd/ttsc-typia/build_diagnostics_preserve_details_test.go +41 -0
  663. package/native/cmd/ttsc-typia/build_no_emit_preserves_analysis_options_test.go +9 -10
  664. package/native/cmd/ttsc-typia/build_no_emit_transform_diagnostics_test.go +9 -7
  665. package/native/cmd/ttsc-typia/build_plugin_options_come_from_payload_test.go +9 -11
  666. package/native/cmd/ttsc-typia/build_transactional_emit_success_test.go +9 -7
  667. package/native/cmd/ttsc-typia/build_transform_failure_atomicity_test.go +9 -7
  668. package/native/cmd/ttsc-typia/callable_interface_function_semantics_transform_test.go +9 -164
  669. package/native/cmd/ttsc-typia/callable_type_literal_boundaries_transform_test.go +20 -580
  670. package/native/cmd/ttsc-typia/compare_equal_cover_transform_test.go +10 -127
  671. package/native/cmd/ttsc-typia/compare_functional_union_membership_transform_test.go +93 -289
  672. package/native/cmd/ttsc-typia/compare_less_nan_transform_test.go +15 -66
  673. package/native/cmd/ttsc-typia/compare_nondiscriminable_union_transform_test.go +9 -221
  674. package/native/cmd/ttsc-typia/create_assert_error_factory_arity_test.go +11 -82
  675. package/native/cmd/ttsc-typia/default_library_spoof_native_identity_transform_test.go +10 -100
  676. package/native/cmd/ttsc-typia/demo_rejects_bad_flag_test.go +15 -14
  677. package/native/cmd/ttsc-typia/dependency_collector_virtual_scheme_test.go +8 -17
  678. package/native/cmd/ttsc-typia/dynamic_key_path_helper_alias_transform_test.go +10 -70
  679. package/native/cmd/ttsc-typia/dynamic_key_tags_transform_test.go +9 -120
  680. package/native/cmd/ttsc-typia/exact_optional_family_emission_contract_test.go +252 -0
  681. package/native/cmd/ttsc-typia/exclude_type_tag_transform_test.go +10 -102
  682. package/native/cmd/ttsc-typia/fixture_directories_test.go +154 -0
  683. package/native/cmd/ttsc-typia/functional_promised_type_transform_test.go +11 -104
  684. package/native/cmd/ttsc-typia/functional_receiver_transform_test.go +16 -124
  685. package/native/cmd/ttsc-typia/inline_type_display_name_transform_test.go +10 -183
  686. package/native/cmd/ttsc-typia/instance_union_create_is_transform_test.go +11 -88
  687. package/native/cmd/ttsc-typia/intersection_nonsensible_backstop_transform_test.go +17 -30
  688. package/native/cmd/ttsc-typia/intersection_union_validation_transform_test.go +10 -404
  689. package/native/cmd/ttsc-typia/json_application_alias_function_validation_transform_test.go +10 -22
  690. package/native/cmd/ttsc-typia/json_is_stringify_scoped_checker_transform_test.go +10 -111
  691. package/native/cmd/ttsc-typia/json_schema_dynamic_key_determinism_transform_test.go +25 -110
  692. package/native/cmd/ttsc-typia/json_schema_nonsensible_intersection_diagnostic_test.go +10 -22
  693. package/native/cmd/ttsc-typia/json_stringify_constant_atomic_union_transform_test.go +10 -101
  694. package/native/cmd/ttsc-typia/lib_replacement_native_identity_transform_test.go +11 -98
  695. package/native/cmd/ttsc-typia/llm_evaluation_accepts_property_probability_test.go +5 -0
  696. package/native/cmd/ttsc-typia/llm_evaluation_accepts_unselected_source_probability_test.go +5 -0
  697. package/native/cmd/ttsc-typia/llm_evaluation_complete_object_shape_test.go +5 -0
  698. package/native/cmd/ttsc-typia/llm_evaluation_emits_configured_decimals_test.go +53 -0
  699. package/native/cmd/ttsc-typia/llm_evaluation_ignores_declaration_probability_without_call_test.go +5 -0
  700. package/native/cmd/ttsc-typia/llm_evaluation_plan_emission_transform_test.go +5 -0
  701. package/native/cmd/ttsc-typia/llm_evaluation_program_scan_dependencies_test.go +5 -0
  702. package/native/cmd/ttsc-typia/llm_evaluation_rejects_alias_comment_test.go +5 -0
  703. package/native/cmd/ttsc-typia/llm_evaluation_rejects_alias_refinement_test.go +5 -0
  704. package/native/cmd/ttsc-typia/llm_evaluation_rejects_computed_method_probability_test.go +5 -0
  705. package/native/cmd/ttsc-typia/llm_evaluation_rejects_conflicting_boolean_tags_test.go +52 -0
  706. package/native/cmd/ttsc-typia/llm_evaluation_rejects_finer_than_probability_decimals_test.go +100 -0
  707. package/native/cmd/ttsc-typia/llm_evaluation_rejects_imported_declaration_probability_test.go +6 -1
  708. package/native/cmd/ttsc-typia/llm_evaluation_rejects_invalid_config_test.go +51 -0
  709. package/native/cmd/ttsc-typia/llm_evaluation_rejects_invalid_probability_test.go +5 -0
  710. package/native/cmd/ttsc-typia/llm_evaluation_rejects_oversized_questions_test.go +79 -0
  711. package/native/cmd/ttsc-typia/llm_evaluation_rejects_refinements_test.go +5 -0
  712. package/native/cmd/ttsc-typia/llm_evaluation_rejects_shared_values_test.go +128 -0
  713. package/native/cmd/ttsc-typia/llm_evaluation_rejects_undecidable_types_test.go +6 -12
  714. package/native/cmd/ttsc-typia/local_function_named_like_typia_operation_transform_test.go +9 -17
  715. package/native/cmd/ttsc-typia/metadata_type_tag_sole_malformed_diagnostic_test.go +10 -28
  716. package/native/cmd/ttsc-typia/native_collection_identity_is_transform_test.go +9 -129
  717. package/native/cmd/ttsc-typia/native_generic_name_guard_is_transform_test.go +10 -95
  718. package/native/cmd/ttsc-typia/native_name_collision_is_transform_test.go +9 -122
  719. package/native/cmd/ttsc-typia/native_named_intersection_union_transform_test.go +10 -135
  720. package/native/cmd/ttsc-typia/node_buffer_native_exports_is_transform_test.go +18 -234
  721. package/native/cmd/ttsc-typia/non_trailing_rest_tuple_transform_test.go +19 -71
  722. package/native/cmd/ttsc-typia/notation_kebab_case_transform_test.go +10 -109
  723. package/native/cmd/ttsc-typia/notation_pascal_case_transform_test.go +10 -142
  724. package/native/cmd/ttsc-typia/notation_unicode_key_transform_test.go +9 -201
  725. package/native/cmd/ttsc-typia/nullable_primitive_property_is_transform_test.go +10 -102
  726. package/native/cmd/ttsc-typia/object_custom_tag_validation_transform_test.go +10 -112
  727. package/native/cmd/ttsc-typia/object_union_explicit_pointer_schema_transform_test.go +68 -114
  728. package/native/cmd/ttsc-typia/package_declaration_native_identity_is_transform_test.go +10 -114
  729. package/native/cmd/ttsc-typia/pattern_line_terminator_escape_transform_test.go +45 -123
  730. package/native/cmd/ttsc-typia/plain_classify_class_ref_transform_test.go +12 -97
  731. package/native/cmd/ttsc-typia/plain_classify_container_seed_transform_test.go +12 -74
  732. package/native/cmd/ttsc-typia/plain_classify_cross_module_extra_transform_test.go +15 -91
  733. package/native/cmd/ttsc-typia/plain_classify_cross_module_transform_test.go +40 -0
  734. package/native/cmd/ttsc-typia/plain_classify_deep_nested_transform_test.go +12 -103
  735. package/native/cmd/ttsc-typia/plain_classify_field_copy_transform_test.go +10 -120
  736. package/native/cmd/ttsc-typia/plain_classify_from_new_transform_test.go +12 -255
  737. package/native/cmd/ttsc-typia/plain_classify_generic_private_rejected_test.go +30 -0
  738. package/native/cmd/ttsc-typia/plain_classify_inherited_private_rejected_test.go +33 -0
  739. package/native/cmd/ttsc-typia/plain_classify_named_interface_field_copy_test.go +33 -0
  740. package/native/cmd/ttsc-typia/plain_classify_private_field_rejected_test.go +36 -0
  741. package/native/cmd/ttsc-typia/plain_classify_recursive_anonymous_object_test.go +30 -0
  742. package/native/cmd/ttsc-typia/plain_classify_self_ref_private_rejected_test.go +33 -0
  743. package/native/cmd/ttsc-typia/plain_classify_static_private_allowed_test.go +35 -0
  744. package/native/cmd/ttsc-typia/plain_classify_strategy_edges_transform_test.go +16 -291
  745. package/native/cmd/ttsc-typia/plain_classify_unbound_anonymous_class_test.go +35 -0
  746. package/native/cmd/ttsc-typia/plain_classify_union_transform_test.go +12 -73
  747. package/native/cmd/ttsc-typia/plain_classify_validated_union_transform_test.go +11 -146
  748. package/native/cmd/ttsc-typia/plain_clone_bigint_wrapper_transform_test.go +10 -80
  749. package/native/cmd/ttsc-typia/private_field_filter_is_transform_test.go +10 -137
  750. package/native/cmd/ttsc-typia/project_catalog_transform_coverage_test.go +4 -0
  751. package/native/cmd/ttsc-typia/project_dependencies_barrel_reexport_transform_test.go +6 -10
  752. package/native/cmd/ttsc-typia/project_dependencies_callee_argument_transform_test.go +6 -10
  753. package/native/cmd/ttsc-typia/project_dependencies_callee_barrel_transform_test.go +6 -10
  754. package/native/cmd/ttsc-typia/project_dependencies_callee_inference_transform_test.go +6 -10
  755. package/native/cmd/ttsc-typia/project_dependencies_callee_shape_transform_test.go +6 -10
  756. package/native/cmd/ttsc-typia/project_dependencies_callee_untransformed_barrel_transform_test.go +6 -10
  757. package/native/cmd/ttsc-typia/project_dependencies_collapsed_alias_transform_test.go +6 -10
  758. package/native/cmd/ttsc-typia/project_dependencies_complete_diagnostic_transform_test.go +7 -11
  759. package/native/cmd/ttsc-typia/project_dependencies_complete_envelope_transform_test.go +6 -10
  760. package/native/cmd/ttsc-typia/project_dependencies_complete_inferred_type_transform_test.go +6 -10
  761. package/native/cmd/ttsc-typia/project_dependencies_complete_replaced_library_transform_test.go +6 -10
  762. package/native/cmd/ttsc-typia/project_dependencies_complete_untouched_reprint_transform_test.go +6 -10
  763. package/native/cmd/ttsc-typia/project_dependencies_computed_key_transform_test.go +6 -10
  764. package/native/cmd/ttsc-typia/project_dependencies_custom_lib_name_transform_test.go +6 -10
  765. package/native/cmd/ttsc-typia/project_dependencies_default_barrel_transform_test.go +6 -10
  766. package/native/cmd/ttsc-typia/project_dependencies_empty_heritage_transform_test.go +6 -10
  767. package/native/cmd/ttsc-typia/project_dependencies_enum_member_value_transform_test.go +6 -10
  768. package/native/cmd/ttsc-typia/project_dependencies_envelope_transform_test.go +6 -10
  769. package/native/cmd/ttsc-typia/project_dependencies_index_signature_alias_transform_test.go +9 -12
  770. package/native/cmd/ttsc-typia/project_dependencies_inferred_declaration_transform_test.go +6 -10
  771. package/native/cmd/ttsc-typia/project_dependencies_jsdoc_typedef_transform_test.go +6 -10
  772. package/native/cmd/ttsc-typia/project_dependencies_local_reexport_transform_test.go +6 -10
  773. package/native/cmd/ttsc-typia/project_dependencies_named_tuple_member_transform_test.go +6 -10
  774. package/native/cmd/ttsc-typia/project_dependencies_qualified_barrel_transform_test.go +6 -10
  775. package/native/cmd/ttsc-typia/project_dependencies_signature_alias_transform_test.go +6 -10
  776. package/native/cmd/ttsc-typia/project_dependencies_star_barrel_transform_test.go +6 -10
  777. package/native/cmd/ttsc-typia/project_dependencies_type_parameter_default_transform_test.go +6 -10
  778. package/native/cmd/ttsc-typia/project_reference_graph_envelope_transform_test.go +10 -32
  779. package/native/cmd/ttsc-typia/protobuf_diagnostic_code_transform_test.go +9 -31
  780. package/native/cmd/ttsc-typia/protobuf_is_encode_finite_number_transform_test.go +10 -23
  781. package/native/cmd/ttsc-typia/protobuf_object_generic_union_encode_transform_test.go +12 -114
  782. package/native/cmd/ttsc-typia/protobuf_sequence_field_numbers_transform_test.go +9 -26
  783. package/native/cmd/ttsc-typia/random_recursive_min_items_diagnostic_test.go +10 -23
  784. package/native/cmd/ttsc-typia/random_unsatisfiable_recursive_diagnostic_test.go +10 -26
  785. package/native/cmd/ttsc-typia/recursive_conditional_alias_name_transform_test.go +10 -185
  786. package/native/cmd/ttsc-typia/recursive_visit_tracking_transform_test.go +10 -291
  787. package/native/cmd/ttsc-typia/reflect_literals_non_literal_rejection_transform_test.go +9 -28
  788. package/native/cmd/ttsc-typia/schema_dts_role_transform_test.go +11 -206
  789. package/native/cmd/ttsc-typia/schema_literal_helpers_test.go +110 -0
  790. package/native/cmd/ttsc-typia/shadowed_typia_module_declaration_diagnostic_test.go +9 -17
  791. package/native/cmd/ttsc-typia/shallow_depth_argument_error_transform_test.go +10 -24
  792. package/native/cmd/ttsc-typia/shallow_depth_limit_transform_test.go +10 -105
  793. package/native/cmd/ttsc-typia/shallow_nested_depth_transform_test.go +10 -24
  794. package/native/cmd/ttsc-typia/symbol_key_member_filter_transform_test.go +10 -147
  795. package/native/cmd/ttsc-typia/template_interpolation_type_tags_transform_test.go +10 -272
  796. package/native/cmd/ttsc-typia/template_literal_type_tags_transform_test.go +10 -92
  797. package/native/cmd/ttsc-typia/transform_diagnostics_preserve_details_test.go +9 -86
  798. package/native/cmd/ttsc-typia/transform_fixtures_emit_coverage_test.go +48 -29
  799. package/native/cmd/ttsc-typia/transform_helpers_test.go +41 -360
  800. package/native/cmd/ttsc-typia/transform_plugin_options_come_from_payload_test.go +9 -12
  801. package/native/cmd/ttsc-typia/transform_project_diagnostics_preserve_details_test.go +54 -0
  802. package/native/cmd/ttsc-typia/transform_single_file_failure_atomicity_test.go +9 -11
  803. package/native/cmd/ttsc-typia/transform_single_file_failure_writes_no_stdout_test.go +9 -8
  804. package/native/cmd/ttsc-typia/transform_single_file_js_distinguishes_same_basename_sources_test.go +9 -14
  805. package/native/cmd/ttsc-typia/transform_single_file_js_locates_output_across_layouts_test.go +9 -16
  806. package/native/cmd/ttsc-typia/transform_single_file_success_publishes_artifact_test.go +9 -9
  807. package/native/cmd/ttsc-typia/transform_wasm_host_argv_reports_diagnostics_test.go +9 -10
  808. package/native/cmd/ttsc-typia/tuple_optional_compare_clone_transform_test.go +33 -181
  809. package/native/cmd/ttsc-typia/typia_diagnostic_formatting_test.go +46 -0
  810. package/native/cmd/ttsc-typia/uri_template_comment_dotted_variable_transform_test.go +57 -0
  811. package/native/cmd/ttsc-typia/user_global_native_identity_transform_test.go +16 -202
  812. package/native/cmd/ttsc-typia/wrong_type_tag_target_diagnostic_test.go +12 -12
  813. package/native/core/context/EmitFactory.go +10 -0
  814. package/native/core/context/IProgrammerProps.go +21 -4
  815. package/native/core/context/ITransformOptions.go +22 -4
  816. package/native/core/context/ITypiaContext.go +61 -11
  817. package/native/core/context/ImportProgrammer.go +144 -6
  818. package/native/core/context/TransformerError.go +74 -7
  819. package/native/core/context/import_programmer_default_type_only_needs_every_request_test.go +58 -0
  820. package/native/core/context/import_programmer_module_identifier_test.go +5 -0
  821. package/native/core/context/import_programmer_statement_coverage_test.go +106 -50
  822. package/native/core/context/transformer_error_formatting_test.go +82 -77
  823. package/native/core/factories/CommentFactory.go +8 -0
  824. package/native/core/factories/ExpressionFactory.go +105 -4
  825. package/native/core/factories/FormatCheatSheet.go +1 -1
  826. package/native/core/factories/JsonMetadataFactory.go +29 -4
  827. package/native/core/factories/LiteralFactory.go +24 -1
  828. package/native/core/factories/MetadataFactory.go +59 -5
  829. package/native/core/factories/ProtobufFactory.go +17 -4
  830. package/native/core/factories/StatementFactory.go +38 -5
  831. package/native/core/factories/TemplateFactory.go +10 -0
  832. package/native/core/factories/TypeFactory.go +33 -5
  833. package/native/core/factories/expression_factory_number_spells_non_finite_values_test.go +5 -0
  834. package/native/core/factories/factory_utility_coverage_test.go +8 -3
  835. package/native/core/factories/format_alias_resolves_to_cheat_sheet_test.go +5 -0
  836. package/native/core/factories/format_alias_table_targets_the_cheat_sheet_test.go +20 -30
  837. package/native/core/factories/identifier_factory_postfix_escapes_every_key_test.go +5 -0
  838. package/native/core/factories/identifier_factory_postfix_survives_every_code_point_test.go +5 -0
  839. package/native/core/factories/internal/metadata/IMetadataIteratorProps.go +115 -22
  840. package/native/core/factories/internal/metadata/MetadataHelper.go +64 -1
  841. package/native/core/factories/internal/metadata/comment_tags_coverage_test.go +167 -148
  842. package/native/core/factories/internal/metadata/emend_metadata_atomics.go +28 -1
  843. package/native/core/factories/internal/metadata/emplace_metadata_alias.go +10 -3
  844. package/native/core/factories/internal/metadata/emplace_metadata_array_type.go +17 -0
  845. package/native/core/factories/internal/metadata/emplace_metadata_object.go +12 -1
  846. package/native/core/factories/internal/metadata/emplace_metadata_tuple.go +10 -0
  847. package/native/core/factories/internal/metadata/explore_metadata.go +48 -9
  848. package/native/core/factories/internal/metadata/iterate_metadata.go +12 -0
  849. package/native/core/factories/internal/metadata/iterate_metadata_alias.go +8 -0
  850. package/native/core/factories/internal/metadata/iterate_metadata_array.go +7 -0
  851. package/native/core/factories/internal/metadata/iterate_metadata_atomic.go +7 -0
  852. package/native/core/factories/internal/metadata/iterate_metadata_coalesce.go +8 -0
  853. package/native/core/factories/internal/metadata/iterate_metadata_collection.go +8 -0
  854. package/native/core/factories/internal/metadata/iterate_metadata_collection_branch_matrix_test.go +148 -143
  855. package/native/core/factories/internal/metadata/iterate_metadata_comment_tags.go +7 -0
  856. package/native/core/factories/internal/metadata/iterate_metadata_constant.go +68 -0
  857. package/native/core/factories/internal/metadata/iterate_metadata_escape.go +7 -0
  858. package/native/core/factories/internal/metadata/iterate_metadata_function.go +33 -10
  859. package/native/core/factories/internal/metadata/iterate_metadata_intersection.go +22 -11
  860. package/native/core/factories/internal/metadata/iterate_metadata_intersection_brand_coverage_test.go +5 -0
  861. package/native/core/factories/internal/metadata/iterate_metadata_intersection_coverage_test.go +88 -83
  862. package/native/core/factories/internal/metadata/iterate_metadata_intersection_shareable_name_test.go +4 -0
  863. package/native/core/factories/internal/metadata/iterate_metadata_map.go +7 -0
  864. package/native/core/factories/internal/metadata/iterate_metadata_native.go +11 -1
  865. package/native/core/factories/internal/metadata/iterate_metadata_object.go +8 -0
  866. package/native/core/factories/internal/metadata/iterate_metadata_set.go +7 -0
  867. package/native/core/factories/internal/metadata/iterate_metadata_sort.go +11 -0
  868. package/native/core/factories/internal/metadata/iterate_metadata_template.go +7 -0
  869. package/native/core/factories/internal/metadata/iterate_metadata_tuple.go +7 -0
  870. package/native/core/factories/internal/metadata/iterate_metadata_union.go +10 -0
  871. package/native/core/factories/internal/metadata/js_doc_link_text_test.go +5 -0
  872. package/native/core/factories/internal/metadata/js_doc_parameter_name_reads_qualified_name_test.go +31 -26
  873. package/native/core/factories/internal/metadata/js_doc_type_tag_blank_separation_test.go +88 -0
  874. package/native/core/factories/internal/metadata/sort_constants_coverage_test.go +50 -39
  875. package/native/core/factories/internal/metadata/type_arguments_precondition_test.go +5 -0
  876. package/native/core/factories/json_metadata_factory_dedupes_bigint_diagnostics_test.go +5 -0
  877. package/native/core/factories/json_metadata_factory_rejects_bigint_native_test.go +5 -0
  878. package/native/core/factories/literal_factory_null_survives_objects_test.go +5 -0
  879. package/native/core/factories/literal_factory_ordered_object_marshals_json_test.go +5 -0
  880. package/native/core/factories/metadata_comment_tag_factory_coverage_test.go +5 -0
  881. package/native/core/factories/metadata_comment_tag_factory_exclusivity_matches_interface_test.go +10 -5
  882. package/native/core/factories/metadata_comment_tag_factory_holds_bigint_tags_exact_test.go +5 -0
  883. package/native/core/factories/metadata_comment_tag_factory_reads_javascript_numbers_test.go +5 -0
  884. package/native/core/factories/metadata_comment_tag_factory_rejects_out_of_range_integer_test.go +7 -2
  885. package/native/core/factories/metadata_comment_tag_factory_string_length_helpers_test.go +5 -0
  886. package/native/core/factories/metadata_type_tag_factory_accepts_legal_tag_combinations_test.go +6 -1
  887. package/native/core/factories/metadata_type_tag_factory_keeps_bool_form_exclusivity_test.go +5 -0
  888. package/native/core/factories/metadata_type_tag_factory_rejects_cross_kind_exclusive_tags_test.go +5 -0
  889. package/native/core/factories/metadata_type_tag_factory_rejects_duplicated_array_form_tags_test.go +5 -0
  890. package/native/core/factories/metadata_type_tag_factory_reports_all_invalid_candidates_test.go +5 -0
  891. package/native/core/factories/numeric_range_factory_enforces_64bit_bounds_test.go +58 -2
  892. package/native/core/factories/protobuf_factory_bigint_keeps_each_width_test.go +47 -0
  893. package/native/core/factories/protobuf_factory_rejects_invalid_field_names_test.go +5 -0
  894. package/native/core/factories/protobuf_recovery_ownership_test.go +5 -0
  895. package/native/core/programmers/AssertProgrammer.go +27 -0
  896. package/native/core/programmers/IsProgrammer.go +67 -1
  897. package/native/core/programmers/RandomProgrammer.go +39 -22
  898. package/native/core/programmers/ValidateProgrammer.go +28 -1
  899. package/native/core/programmers/compare/CompareEqualProgrammer.go +26 -3
  900. package/native/core/programmers/compare/CompareLessProgrammer.go +17 -3
  901. package/native/core/programmers/functional/FunctionalAssertFunctionProgrammer.go +47 -6
  902. package/native/core/programmers/functional/FunctionalAssertParametersProgrammer.go +69 -10
  903. package/native/core/programmers/functional/FunctionalAssertReturnProgrammer.go +76 -12
  904. package/native/core/programmers/functional/FunctionalIsFunctionProgrammer.go +31 -5
  905. package/native/core/programmers/functional/FunctionalIsParametersProgrammer.go +62 -9
  906. package/native/core/programmers/functional/FunctionalIsReturnProgrammer.go +67 -11
  907. package/native/core/programmers/functional/FunctionalValidateFunctionProgrammer.go +31 -5
  908. package/native/core/programmers/functional/FunctionalValidateParametersProgrammer.go +62 -9
  909. package/native/core/programmers/functional/FunctionalValidateReturnProgrammer.go +68 -11
  910. package/native/core/programmers/functional/internal/FunctionalGeneralProgrammer.go +22 -2
  911. package/native/core/programmers/helpers/ClassifyJoiner.go +14 -6
  912. package/native/core/programmers/helpers/CloneJoiner.go +29 -0
  913. package/native/core/programmers/helpers/FunctionProgrammer.go +98 -0
  914. package/native/core/programmers/helpers/ICheckEntry.go +16 -0
  915. package/native/core/programmers/helpers/IExpressionEntry.go +8 -0
  916. package/native/core/programmers/helpers/ModuloText.go +5 -0
  917. package/native/core/programmers/helpers/NotationJoiner.go +23 -0
  918. package/native/core/programmers/helpers/ProtobufWire.go +8 -0
  919. package/native/core/programmers/helpers/PruneJoiner.go +21 -0
  920. package/native/core/programmers/helpers/RandomJoiner.go +52 -5
  921. package/native/core/programmers/helpers/StringifyJoinder.go +31 -12
  922. package/native/core/programmers/helpers/UnionExplorer.go +202 -70
  923. package/native/core/programmers/helpers/UnionPredicator.go +9 -0
  924. package/native/core/programmers/helpers/clone_joiner_optional_condition_test.go +14 -1
  925. package/native/core/programmers/helpers/function_programmer_unique_names_test.go +5 -0
  926. package/native/core/programmers/helpers/joiner_branch_coverage_test.go +5 -0
  927. package/native/core/programmers/helpers/option_predicator_contract_matrix_test.go +84 -0
  928. package/native/core/programmers/helpers/random_joiner_recursive_array_guard_test.go +5 -0
  929. package/native/core/programmers/helpers/union_explorer_coverage_test.go +120 -112
  930. package/native/core/programmers/helpers/union_predicator_checks_neighbor_flag_test.go +5 -0
  931. package/native/core/programmers/helpers/union_predicator_skips_atomic_like_native_fields_test.go +5 -0
  932. package/native/core/programmers/helpers/union_predicator_skips_collection_bucket_fields_test.go +5 -0
  933. package/native/core/programmers/helpers/union_predicator_skips_shared_native_names_test.go +5 -0
  934. package/native/core/programmers/helpers/union_predicator_skips_shared_object_fields_test.go +5 -0
  935. package/native/core/programmers/helpers/union_predicator_skips_shared_template_fields_test.go +5 -0
  936. package/native/core/programmers/http/HttpAssertFormDataProgrammer.go +9 -0
  937. package/native/core/programmers/http/HttpAssertHeadersProgrammer.go +9 -0
  938. package/native/core/programmers/http/HttpAssertQueryProgrammer.go +20 -0
  939. package/native/core/programmers/http/HttpFormDataProgrammer.go +7 -0
  940. package/native/core/programmers/http/HttpHeadersProgrammer.go +7 -0
  941. package/native/core/programmers/http/HttpIsFormDataProgrammer.go +8 -0
  942. package/native/core/programmers/http/HttpIsHeadersProgrammer.go +8 -0
  943. package/native/core/programmers/http/HttpIsQueryProgrammer.go +19 -1
  944. package/native/core/programmers/http/HttpQueryProgrammer.go +18 -1
  945. package/native/core/programmers/http/HttpValidateFormDataProgrammer.go +8 -0
  946. package/native/core/programmers/http/HttpValidateHeadersProgrammer.go +8 -0
  947. package/native/core/programmers/http/HttpValidateQueryProgrammer.go +18 -1
  948. package/native/core/programmers/http/http_programmer_helper_coverage_test.go +98 -93
  949. package/native/core/programmers/internal/CheckerProgrammer.go +162 -18
  950. package/native/core/programmers/internal/FeatureProgrammer.go +254 -38
  951. package/native/core/programmers/internal/feature_programmer_visit_guard_test.go +82 -55
  952. package/native/core/programmers/internal/internal_utility_coverage_test.go +338 -345
  953. package/native/core/programmers/iterate/check_array_length.go +15 -0
  954. package/native/core/programmers/iterate/check_bigint.go +14 -0
  955. package/native/core/programmers/iterate/check_dynamic_key.go +33 -19
  956. package/native/core/programmers/iterate/check_dynamic_key_tag_rows_test.go +59 -32
  957. package/native/core/programmers/iterate/check_dynamic_properties.go +70 -16
  958. package/native/core/programmers/iterate/check_everything.go +7 -0
  959. package/native/core/programmers/iterate/check_native.go +14 -0
  960. package/native/core/programmers/iterate/check_number.go +16 -0
  961. package/native/core/programmers/iterate/check_number_option_contract_matrix_test.go +84 -0
  962. package/native/core/programmers/iterate/check_object.go +28 -0
  963. package/native/core/programmers/iterate/check_object_strict_optional_undefined_test.go +6 -1
  964. package/native/core/programmers/iterate/check_object_type_tags.go +15 -0
  965. package/native/core/programmers/iterate/check_string.go +14 -0
  966. package/native/core/programmers/iterate/check_template.go +15 -0
  967. package/native/core/programmers/iterate/decode_union_object.go +35 -2
  968. package/native/core/programmers/iterate/exact_optional_checker_entry_contract_test.go +142 -0
  969. package/native/core/programmers/iterate/exact_optional_graph_clone_random_contract_test.go +213 -0
  970. package/native/core/programmers/iterate/feature_object_entries.go +40 -0
  971. package/native/core/programmers/iterate/iterate_utility_coverage_test.go +30 -5
  972. package/native/core/programmers/iterate/json_schema_array.go +16 -0
  973. package/native/core/programmers/iterate/json_schema_bigint.go +7 -0
  974. package/native/core/programmers/iterate/json_schema_boolean.go +7 -0
  975. package/native/core/programmers/iterate/json_schema_discriminator_declaration_syntax_test.go +10 -5
  976. package/native/core/programmers/iterate/json_schema_jsdoc_tags_cast_reads_javascript_numbers_test.go +6 -1
  977. package/native/core/programmers/iterate/json_schema_native.go +27 -0
  978. package/native/core/programmers/iterate/json_schema_number.go +7 -0
  979. package/native/core/programmers/iterate/json_schema_pattern_property_order_test.go +5 -0
  980. package/native/core/programmers/iterate/json_schema_plugin.go +7 -0
  981. package/native/core/programmers/iterate/json_schema_station.go +16 -0
  982. package/native/core/programmers/iterate/json_schema_string.go +7 -0
  983. package/native/core/programmers/iterate/openapi_v3_downgrader.go +29 -10
  984. package/native/core/programmers/iterate/openapi_v3_downgrader_boolean_default_test.go +9 -4
  985. package/native/core/programmers/iterate/openapi_v3_downgrader_test.go +9 -4
  986. package/native/core/programmers/iterate/postfix_of_tuple.go +8 -0
  987. package/native/core/programmers/iterate/template_interpolation_tags_test.go +46 -4
  988. package/native/core/programmers/iterate/template_runtime_pattern.go +10 -4
  989. package/native/core/programmers/iterate/wrap_metadata_rest_tuple.go +8 -0
  990. package/native/core/programmers/json/JsonApplicationProgrammer.go +9 -0
  991. package/native/core/programmers/json/JsonAssertParseProgrammer.go +9 -0
  992. package/native/core/programmers/json/JsonAssertStringifyProgrammer.go +9 -0
  993. package/native/core/programmers/json/JsonIsParseProgrammer.go +7 -0
  994. package/native/core/programmers/json/JsonIsStringifyProgrammer.go +8 -0
  995. package/native/core/programmers/json/JsonSchemaProgrammer.go +15 -0
  996. package/native/core/programmers/json/JsonSchemasProgrammer.go +16 -0
  997. package/native/core/programmers/json/JsonStringifyProgrammer.go +20 -32
  998. package/native/core/programmers/json/JsonValidateParseProgrammer.go +8 -0
  999. package/native/core/programmers/json/JsonValidateStringifyProgrammer.go +8 -0
  1000. package/native/core/programmers/json/json_schema_programmer_coverage_test.go +176 -171
  1001. package/native/core/programmers/json/json_schemas_programmer_dedupes_bigint_diagnostics_test.go +5 -0
  1002. package/native/core/programmers/json/json_schemas_programmer_rejects_bigint_native_test.go +5 -0
  1003. package/native/core/programmers/json/json_stringify_programmer_coverage_test.go +400 -398
  1004. package/native/core/programmers/llm/LlmApplicationProgrammer.go +10 -9
  1005. package/native/core/programmers/llm/LlmCoerceProgrammer.go +16 -9
  1006. package/native/core/programmers/llm/LlmControllerProgrammer.go +10 -0
  1007. package/native/core/programmers/llm/LlmEvaluationProgrammer.go +101 -9
  1008. package/native/core/programmers/llm/LlmParametersProgrammer.go +8 -9
  1009. package/native/core/programmers/llm/LlmParseProgrammer.go +24 -9
  1010. package/native/core/programmers/llm/LlmSchemaProgrammer.go +16 -9
  1011. package/native/core/programmers/llm/LlmStructuredOutputProgrammer.go +8 -9
  1012. package/native/core/programmers/llm/llm_application_programmer_coverage_test.go +146 -141
  1013. package/native/core/programmers/llm/llm_reference_codec_test.go +5 -0
  1014. package/native/core/programmers/llm/llm_reference_description_test.go +13 -3
  1015. package/native/core/programmers/llm/llm_schema_programmer_coverage_test.go +255 -250
  1016. package/native/core/programmers/llm/llm_schema_programmer_dedupes_bigint_diagnostics_test.go +5 -0
  1017. package/native/core/programmers/llm/llm_schema_programmer_rejects_bigint_native_test.go +5 -0
  1018. package/native/core/programmers/llm/llm_schema_programmer_rejects_exclude_tag_in_strict_test.go +7 -3
  1019. package/native/core/programmers/notations/NotationAssertGeneralProgrammer.go +32 -4
  1020. package/native/core/programmers/notations/NotationGeneralProgrammer.go +70 -42
  1021. package/native/core/programmers/notations/NotationIsGeneralProgrammer.go +29 -3
  1022. package/native/core/programmers/notations/NotationValidateGeneralProgrammer.go +32 -4
  1023. package/native/core/programmers/notations/notation_general_helpers_test.go +363 -367
  1024. package/native/core/programmers/notations/notation_general_programmer_pascal_multiword_test.go +5 -0
  1025. package/native/core/programmers/notations/notation_general_programmer_snake_prefix_test.go +5 -0
  1026. package/native/core/programmers/notations/notation_general_programmer_underscore_boundary_test.go +5 -0
  1027. package/native/core/programmers/plain/PlainAssertClassifyProgrammer.go +23 -3
  1028. package/native/core/programmers/plain/PlainAssertCloneProgrammer.go +22 -3
  1029. package/native/core/programmers/plain/PlainAssertPruneProgrammer.go +22 -3
  1030. package/native/core/programmers/plain/PlainClassifyProgrammer.go +61 -85
  1031. package/native/core/programmers/plain/PlainCloneProgrammer.go +34 -38
  1032. package/native/core/programmers/plain/PlainIsCloneProgrammer.go +18 -2
  1033. package/native/core/programmers/plain/PlainIsPruneProgrammer.go +18 -2
  1034. package/native/core/programmers/plain/PlainPruneProgrammer.go +29 -10
  1035. package/native/core/programmers/plain/PlainValidateClassifyProgrammer.go +22 -3
  1036. package/native/core/programmers/plain/PlainValidateCloneProgrammer.go +22 -3
  1037. package/native/core/programmers/plain/PlainValidatePruneProgrammer.go +22 -3
  1038. package/native/core/programmers/plain/plain_programmer_helper_coverage_test.go +6 -3
  1039. package/native/core/programmers/plain/plain_prune_programmer_branch_matrix_test.go +5 -0
  1040. package/native/core/programmers/plain/plain_tuple_seed_recovery_ownership_test.go +5 -0
  1041. package/native/core/programmers/protobuf/ProtobufAssertDecodeProgrammer.go +19 -0
  1042. package/native/core/programmers/protobuf/ProtobufAssertEncodeProgrammer.go +19 -0
  1043. package/native/core/programmers/protobuf/ProtobufDecodeProgrammer.go +19 -1
  1044. package/native/core/programmers/protobuf/ProtobufEncodeProgrammer.go +30 -30
  1045. package/native/core/programmers/protobuf/ProtobufIsDecodeProgrammer.go +19 -1
  1046. package/native/core/programmers/protobuf/ProtobufIsEncodeProgrammer.go +19 -1
  1047. package/native/core/programmers/protobuf/ProtobufMessageProgrammer.go +11 -5
  1048. package/native/core/programmers/protobuf/ProtobufValidateDecodeProgrammer.go +19 -1
  1049. package/native/core/programmers/protobuf/ProtobufValidateEncodeProgrammer.go +19 -1
  1050. package/native/core/programmers/protobuf/protobuf_programmer_helper_coverage_test.go +493 -453
  1051. package/native/core/programmers/random_programmer_helper_coverage_test.go +350 -342
  1052. package/native/core/programmers/random_programmer_length_argument_test.go +32 -1
  1053. package/native/core/programmers/random_programmer_min_items_tag_test.go +5 -0
  1054. package/native/core/programmers/random_programmer_pick_hook_test.go +88 -0
  1055. package/native/core/programmers/reflect/ReflectLiteralsProgrammer.go +15 -0
  1056. package/native/core/schemas/metadata/IMetadataTypeTagSequence.go +12 -1
  1057. package/native/core/schemas/metadata/MetadataAlias.go +41 -1
  1058. package/native/core/schemas/metadata/MetadataAliasType.go +57 -21
  1059. package/native/core/schemas/metadata/MetadataArray.go +37 -1
  1060. package/native/core/schemas/metadata/MetadataArrayType.go +52 -18
  1061. package/native/core/schemas/metadata/MetadataAtomic.go +44 -10
  1062. package/native/core/schemas/metadata/MetadataBigint.go +20 -4
  1063. package/native/core/schemas/metadata/MetadataCollection.go +264 -53
  1064. package/native/core/schemas/metadata/MetadataComponents.go +13 -116
  1065. package/native/core/schemas/metadata/MetadataConstant.go +35 -13
  1066. package/native/core/schemas/metadata/MetadataConstantValue.go +87 -20
  1067. package/native/core/schemas/metadata/MetadataDefaultLibrary.go +20 -0
  1068. package/native/core/schemas/metadata/MetadataDependency.go +52 -2
  1069. package/native/core/schemas/metadata/MetadataEscaped.go +48 -8
  1070. package/native/core/schemas/metadata/MetadataFunction.go +42 -16
  1071. package/native/core/schemas/metadata/MetadataMap.go +53 -4
  1072. package/native/core/schemas/metadata/MetadataNative.go +65 -9
  1073. package/native/core/schemas/metadata/MetadataObject.go +37 -1
  1074. package/native/core/schemas/metadata/MetadataObjectType.go +117 -74
  1075. package/native/core/schemas/metadata/MetadataParameter.go +51 -16
  1076. package/native/core/schemas/metadata/MetadataProperty.go +49 -19
  1077. package/native/core/schemas/metadata/MetadataSchema.go +324 -198
  1078. package/native/core/schemas/metadata/MetadataSet.go +49 -2
  1079. package/native/core/schemas/metadata/MetadataTemplate.go +61 -15
  1080. package/native/core/schemas/metadata/MetadataTuple.go +21 -0
  1081. package/native/core/schemas/metadata/MetadataTupleType.go +61 -19
  1082. package/native/core/schemas/metadata/metadata_atomic_tags_are_owned_test.go +75 -0
  1083. package/native/core/schemas/metadata/metadata_bigint_is_comparable_test.go +5 -0
  1084. package/native/core/schemas/metadata/metadata_collection_generic_argument_dot_test.go +13 -8
  1085. package/native/core/schemas/metadata/metadata_collection_name_allocation_test.go +9 -2
  1086. package/native/core/schemas/metadata/metadata_collection_openapi_name_cascade_test.go +5 -0
  1087. package/native/core/schemas/metadata/metadata_collection_openapi_name_test.go +7 -1
  1088. package/native/core/schemas/metadata/metadata_object_coverage_compares_property_values_test.go +61 -0
  1089. package/native/core/schemas/metadata/metadata_object_type_required_literal_property_test.go +7 -1
  1090. package/native/core/schemas/metadata/metadata_schema_covers_tag_matrix_test.go +8 -3
  1091. package/native/core/schemas/metadata/metadata_schema_merge_keeps_inputs_test.go +117 -0
  1092. package/native/core/schemas/metadata/metadata_schema_optional_root_isolation_test.go +59 -0
  1093. package/native/core/schemas/metadata/metadata_schema_shallow_clone_names_test.go +36 -0
  1094. package/native/core/schemas/metadata/metadata_schema_sole_literal_caches_pointer_test.go +5 -0
  1095. package/native/core/schemas/metadata/schema_sequence_and_json_coverage_test.go +289 -387
  1096. package/native/core/schemas/protobuf/IProtobufProperty.go +11 -0
  1097. package/native/core/schemas/protobuf/IProtobufPropertyType.go +94 -0
  1098. package/native/core/schemas/protobuf/IProtobufSchema.go +89 -5
  1099. package/native/core/utils/NumberUtil.go +7 -1
  1100. package/native/core/utils/PromiseTypeFactory.go +12 -1
  1101. package/native/core/utils/number_util_rational_keeps_written_value_test.go +5 -0
  1102. package/native/core/utils/number_util_reads_javascript_number_grammar_test.go +5 -0
  1103. package/native/core/utils/promise_type_factory_semantics_test.go +5 -0
  1104. package/native/transform/CallExpressionTransformer.go +42 -10
  1105. package/native/transform/FileTransformer.go +72 -53
  1106. package/native/transform/ITransformProps.go +7 -0
  1107. package/native/transform/NodeTransformer.go +10 -1
  1108. package/native/transform/TransformerError.go +31 -0
  1109. package/native/transform/call_expression_transformer_registry_coverage_test.go +40 -31
  1110. package/native/transform/call_expression_transformer_target_test.go +33 -4
  1111. package/native/transform/features/CreateIsTransformer.go +0 -1
  1112. package/native/transform/features/CreateShallowTransformer.go +0 -1
  1113. package/native/transform/features/CreateValidateTransformer.go +0 -1
  1114. package/native/transform/features/IsTransformer.go +0 -1
  1115. package/native/transform/features/ShallowTransformer.go +0 -1
  1116. package/native/transform/features/ValidateTransformer.go +0 -1
  1117. package/native/transform/features/functional/FunctionalGenericTransformer.go +46 -7
  1118. package/native/transform/features/http/CreateHttpIsQueryTransformer.go +0 -1
  1119. package/native/transform/features/http/CreateHttpQueryTransformer.go +0 -1
  1120. package/native/transform/features/http/CreateHttpValidateQueryTransformer.go +0 -1
  1121. package/native/transform/features/http/HttpIsQueryTransformer.go +0 -1
  1122. package/native/transform/features/http/HttpQueryTransformer.go +0 -1
  1123. package/native/transform/features/http/HttpValidateQueryTransformer.go +0 -1
  1124. package/native/transform/features/llm/LlmEvaluationProbabilityDeclarations_test.go +6 -1
  1125. package/native/transform/features/llm/LlmEvaluationTransformer.go +55 -1
  1126. package/native/transform/features/notations/notation_transformer_capitalize_test.go +29 -0
  1127. package/native/transform/features/protobuf/ProtobufCreateDecodeTransformer.go +1 -1
  1128. package/native/transform/features/protobuf/ProtobufCreateEncodeTransformer.go +1 -1
  1129. package/native/transform/features/protobuf/ProtobufCreateIsDecodeTransformer.go +1 -1
  1130. package/native/transform/features/protobuf/ProtobufCreateIsEncodeTransformer.go +1 -1
  1131. package/native/transform/features/protobuf/ProtobufCreateValidateDecodeTransformer.go +1 -1
  1132. package/native/transform/features/protobuf/ProtobufCreateValidateEncodeTransformer.go +1 -1
  1133. package/native/transform/features/protobuf/ProtobufDecodeTransformer.go +1 -1
  1134. package/native/transform/features/protobuf/ProtobufEncodeTransformer.go +1 -1
  1135. package/native/transform/features/protobuf/ProtobufIsDecodeTransformer.go +1 -1
  1136. package/native/transform/features/protobuf/ProtobufIsEncodeTransformer.go +1 -1
  1137. package/native/transform/features/protobuf/ProtobufValidateDecodeTransformer.go +1 -1
  1138. package/native/transform/features/protobuf/ProtobufValidateEncodeTransformer.go +1 -1
  1139. package/native/transform/features/reflect/reflect_metadata_transformer_edge_branches_test.go +42 -30
  1140. package/native/transform/file_transformer_coverage_test.go +17 -3
  1141. package/native/transform/internal/GenericTransformer.go +67 -113
  1142. package/native/transform/transform.go +16 -2
  1143. package/package.json +7 -6
  1144. package/src/TypeGuardError.ts +20 -4
  1145. package/src/basic.ts +1020 -0
  1146. package/src/compare.ts +21 -0
  1147. package/src/functional.ts +42 -0
  1148. package/src/http.ts +75 -0
  1149. package/src/internal/_IProtobufWriter.ts +115 -0
  1150. package/src/internal/_ProtobufReader.ts +159 -1
  1151. package/src/internal/_ProtobufSizer.ts +137 -5
  1152. package/src/internal/_ProtobufWriter.ts +154 -1
  1153. package/src/internal/_accessExpressionAsString.ts +11 -0
  1154. package/src/internal/_assertGuard.ts +12 -0
  1155. package/src/internal/_coerceLlmArguments.ts +10 -0
  1156. package/src/internal/_createLlmEvaluation.ts +10 -53
  1157. package/src/internal/_createStandardSchema.ts +13 -0
  1158. package/src/internal/_decimal.ts +77 -0
  1159. package/src/internal/_functionalTypeGuardErrorFactory.ts +8 -0
  1160. package/src/internal/_httpFormDataReadArray.ts +9 -0
  1161. package/src/internal/_httpFormDataReadBigint.ts +12 -0
  1162. package/src/internal/_httpFormDataReadBlob.ts +11 -0
  1163. package/src/internal/_httpFormDataReadBoolean.ts +11 -0
  1164. package/src/internal/_httpFormDataReadFile.ts +11 -0
  1165. package/src/internal/_httpFormDataReadNumber.ts +11 -0
  1166. package/src/internal/_httpFormDataReadString.ts +5 -0
  1167. package/src/internal/_httpHeaderReadBigint.ts +11 -0
  1168. package/src/internal/_httpHeaderReadBoolean.ts +12 -0
  1169. package/src/internal/_httpHeaderReadNumber.ts +11 -0
  1170. package/src/internal/_httpParameterReadBigint.ts +11 -0
  1171. package/src/internal/_httpParameterReadBoolean.ts +11 -0
  1172. package/src/internal/_httpParameterReadNumber.ts +11 -0
  1173. package/src/internal/_httpParameterReadString.ts +5 -0
  1174. package/src/internal/_httpQueryParseURLSearchParams.ts +14 -0
  1175. package/src/internal/_httpQueryReadArray.ts +9 -0
  1176. package/src/internal/_httpQueryReadBigint.ts +11 -0
  1177. package/src/internal/_httpQueryReadBoolean.ts +12 -0
  1178. package/src/internal/_httpQueryReadNumber.ts +11 -0
  1179. package/src/internal/_httpQueryReadString.ts +5 -0
  1180. package/src/internal/_isBetween.ts +8 -0
  1181. package/src/internal/_isBigintString.ts +11 -0
  1182. package/src/internal/_isFormatByte.ts +12 -0
  1183. package/src/internal/_isFormatDate.ts +11 -0
  1184. package/src/internal/_isFormatDateTime.ts +13 -0
  1185. package/src/internal/_isFormatDuration.ts +13 -0
  1186. package/src/internal/_isFormatEmail.ts +13 -0
  1187. package/src/internal/_isFormatHostname.ts +12 -0
  1188. package/src/internal/_isFormatIdnEmail.ts +14 -0
  1189. package/src/internal/_isFormatIdnHostname.ts +14 -0
  1190. package/src/internal/_isFormatIpv4.ts +11 -0
  1191. package/src/internal/_isFormatIpv6.ts +12 -0
  1192. package/src/internal/_isFormatIri.ts +11 -0
  1193. package/src/internal/_isFormatIriReference.ts +13 -0
  1194. package/src/internal/_isFormatJsonPointer.ts +11 -0
  1195. package/src/internal/_isFormatPassword.ts +11 -0
  1196. package/src/internal/_isFormatRegex.ts +11 -0
  1197. package/src/internal/_isFormatRelativeJsonPointer.ts +11 -0
  1198. package/src/internal/_isFormatTime.ts +12 -0
  1199. package/src/internal/_isFormatUri.ts +15 -0
  1200. package/src/internal/_isFormatUriReference.ts +11 -0
  1201. package/src/internal/_isFormatUriTemplate.ts +14 -1
  1202. package/src/internal/_isFormatUrl.ts +15 -0
  1203. package/src/internal/_isFormatUuid.ts +11 -0
  1204. package/src/internal/_isMultipleOf.ts +11 -0
  1205. package/src/internal/_isTypeFloat.ts +9 -0
  1206. package/src/internal/_isTypeInt16.ts +8 -0
  1207. package/src/internal/_isTypeInt32.ts +8 -0
  1208. package/src/internal/_isTypeInt64.ts +11 -0
  1209. package/src/internal/_isTypeInt64Bigint.ts +8 -0
  1210. package/src/internal/_isTypeInt8.ts +8 -0
  1211. package/src/internal/_isTypeUint16.ts +8 -0
  1212. package/src/internal/_isTypeUint32.ts +8 -0
  1213. package/src/internal/_isTypeUint64.ts +11 -0
  1214. package/src/internal/_isTypeUint64Bigint.ts +8 -0
  1215. package/src/internal/_isTypeUint8.ts +8 -0
  1216. package/src/internal/_isUniqueItems.ts +46 -0
  1217. package/src/internal/_jsonStringifyArray.ts +2 -0
  1218. package/src/internal/_jsonStringifyElement.ts +2 -0
  1219. package/src/internal/_jsonStringifyNumber.ts +9 -0
  1220. package/src/internal/_jsonStringifyProperty.ts +3 -1
  1221. package/src/internal/_jsonStringifyRest.ts +11 -0
  1222. package/src/internal/_jsonStringifyString.ts +13 -0
  1223. package/src/internal/_jsonStringifyTail.ts +8 -0
  1224. package/src/internal/_llmApplicationFinalize.ts +13 -0
  1225. package/src/internal/_notationAny.ts +14 -0
  1226. package/src/internal/_notationAssign.ts +12 -0
  1227. package/src/internal/_notationKebab.ts +9 -0
  1228. package/src/internal/_notationKeyCollision.ts +8 -0
  1229. package/src/internal/_notationSnake.ts +12 -0
  1230. package/src/internal/_parseLlmArguments.ts +12 -0
  1231. package/src/internal/_plainCloneAny.ts +15 -0
  1232. package/src/internal/_randomArray.ts +42 -20
  1233. package/src/internal/_randomBigint.ts +5 -0
  1234. package/src/internal/_randomBoolean.ts +8 -0
  1235. package/src/internal/_randomFormatByte.ts +8 -0
  1236. package/src/internal/_randomFormatDate.ts +10 -0
  1237. package/src/internal/_randomFormatDatetime.ts +10 -0
  1238. package/src/internal/_randomFormatDuration.ts +8 -0
  1239. package/src/internal/_randomFormatEmail.ts +8 -0
  1240. package/src/internal/_randomFormatHostname.ts +15 -1
  1241. package/src/internal/_randomFormatIdnEmail.ts +13 -0
  1242. package/src/internal/_randomFormatIdnHostname.ts +12 -0
  1243. package/src/internal/_randomFormatIpv4.ts +8 -0
  1244. package/src/internal/_randomFormatIpv6.ts +8 -0
  1245. package/src/internal/_randomFormatIri.ts +11 -0
  1246. package/src/internal/_randomFormatIriReference.ts +12 -0
  1247. package/src/internal/_randomFormatJsonPointer.ts +12 -0
  1248. package/src/internal/_randomFormatPassword.ts +13 -0
  1249. package/src/internal/_randomFormatRegex.ts +8 -0
  1250. package/src/internal/_randomFormatRelativeJsonPointer.ts +8 -0
  1251. package/src/internal/_randomFormatTime.ts +13 -0
  1252. package/src/internal/_randomFormatUri.ts +12 -0
  1253. package/src/internal/_randomFormatUriReference.ts +12 -0
  1254. package/src/internal/_randomFormatUriTemplate.ts +12 -0
  1255. package/src/internal/_randomFormatUrl.ts +12 -0
  1256. package/src/internal/_randomFormatUuid.ts +13 -0
  1257. package/src/internal/_randomInteger.ts +68 -17
  1258. package/src/internal/_randomMultiple.ts +47 -15
  1259. package/src/internal/_randomNumber.ts +84 -26
  1260. package/src/internal/_randomPattern.ts +12 -0
  1261. package/src/internal/_randomPick.ts +25 -7
  1262. package/src/internal/_randomString.ts +36 -13
  1263. package/src/internal/_randomStringLength.ts +31 -1
  1264. package/src/internal/_stringLength.ts +11 -0
  1265. package/src/internal/_stringLengthGte.ts +11 -0
  1266. package/src/internal/_stringLengthLte.ts +11 -0
  1267. package/src/internal/_throwTypeGuardError.ts +9 -0
  1268. package/src/internal/_validateReport.ts +15 -0
  1269. package/src/internal/private/__notationRename.ts +5 -0
  1270. package/src/internal/private/__randomComposition.ts +27 -3
  1271. package/src/internal/private/__randomEpoch.ts +15 -0
  1272. package/src/json.ts +49 -14
  1273. package/src/llm.ts +45 -26
  1274. package/src/module.ts +1 -935
  1275. package/src/notations.ts +60 -0
  1276. package/src/plain.ts +38 -0
  1277. package/src/protobuf.ts +41 -7
  1278. package/src/reflect.ts +16 -12
  1279. package/src/transform.ts +17 -0
  1280. package/native/cmd/ttsc-typia/boolean_literal_discriminant_schema_transform_test.go +0 -374
  1281. package/native/cmd/ttsc-typia/build_reports_semantic_diagnostics_test.go +0 -34
  1282. package/native/cmd/ttsc-typia/build_reports_syntactic_diagnostics_test.go +0 -34
  1283. package/native/cmd/ttsc-typia/command_routes_and_diagnostics_coverage_test.go +0 -316
  1284. package/native/cmd/ttsc-typia/compare_less_transform_test.go +0 -180
  1285. package/native/cmd/ttsc-typia/compare_method_delegation_transform_test.go +0 -173
  1286. package/native/cmd/ttsc-typia/compare_native_object_overmatch_transform_test.go +0 -161
  1287. package/native/cmd/ttsc-typia/compare_template_literal_union_transform_test.go +0 -241
  1288. package/native/cmd/ttsc-typia/compare_union_discrimination_transform_test.go +0 -289
  1289. package/native/cmd/ttsc-typia/escaped_property_key_path_transform_test.go +0 -193
  1290. package/native/cmd/ttsc-typia/finite_option_number_leaf_transform_test.go +0 -240
  1291. package/native/cmd/ttsc-typia/intersection_all_never_union_transform_test.go +0 -168
  1292. package/native/cmd/ttsc-typia/intersection_brand_transform_test.go +0 -267
  1293. package/native/cmd/ttsc-typia/is_object_function_member_transform_test.go +0 -205
  1294. package/native/cmd/ttsc-typia/json_is_stringify_finite_number_transform_test.go +0 -198
  1295. package/native/cmd/ttsc-typia/json_stringify_contextual_undefined_transform_test.go +0 -556
  1296. package/native/cmd/ttsc-typia/json_stringify_special_key_transform_test.go +0 -238
  1297. package/native/cmd/ttsc-typia/notation_dynamic_keys_transform_test.go +0 -286
  1298. package/native/cmd/ttsc-typia/notation_literal_collision_transform_test.go +0 -164
  1299. package/native/cmd/ttsc-typia/plain_prune_union_object_overmatch_transform_test.go +0 -219
  1300. package/native/cmd/ttsc-typia/recursive_container_helper_index_transform_test.go +0 -206
  1301. package/native/cmd/ttsc-typia/reflect_literals_bigint_transform_test.go +0 -148
  1302. package/native/cmd/ttsc-typia/reflect_schema_bigint_transform_test.go +0 -173
  1303. package/native/cmd/ttsc-typia/run_default_build_route_test.go +0 -31
  1304. package/native/cmd/ttsc-typia/shallow_depth_runtime_test.go +0 -173
  1305. package/native/cmd/ttsc-typia/shallow_factory_depth_runtime_test.go +0 -171
  1306. package/native/cmd/ttsc-typia/symbol_index_domain_transform_test.go +0 -316
  1307. package/native/cmd/ttsc-typia/transform_declaration_source_produces_no_javascript_test.go +0 -67
  1308. package/native/cmd/ttsc-typia/transform_single_file_js_empty_emit_reports_no_output_test.go +0 -100
  1309. package/native/core/factories/internal/metadata/optional_coalesce_coverage_test.go +0 -38
  1310. package/native/core/programmers/functional/functional_assert_helper_coverage_test.go +0 -26
  1311. package/native/core/programmers/iterate/iterate_check_coverage_test.go +0 -96
  1312. package/native/core/programmers/programmer_direct_helper_coverage_test.go +0 -70
  1313. package/native/core/schemas/metadata/IMetadataDictionary.go +0 -8
  1314. package/native/core/schemas/protobuf/protobuf_marker_coverage_test.go +0 -58
  1315. package/native/core/typings/Writable.go +0 -5
  1316. package/native/transform/ImportTransformer.go +0 -285
  1317. package/native/transform/TypiaGenerator.go +0 -171
  1318. package/native/transform/features/feature_transformer_entry_coverage_test.go +0 -59
  1319. package/native/transform/features/http/http_transformer_entry_coverage_test.go +0 -65
  1320. package/native/transform/features/json/json_transformer_entry_coverage_test.go +0 -56
  1321. package/native/transform/features/llm/llm_transformer_entry_coverage_test.go +0 -50
  1322. package/native/transform/features/notations/notation_transformer_entry_coverage_test.go +0 -58
  1323. package/native/transform/features/plain/plain_transformer_entry_coverage_test.go +0 -61
  1324. package/native/transform/features/protobuf/protobuf_transformer_entry_coverage_test.go +0 -56
  1325. package/native/transform/features/reflect/reflect_transformer_entry_coverage_test.go +0 -47
  1326. package/native/transform/import_transformer_coverage_test.go +0 -153
  1327. package/native/transform/typia_generator_helpers_coverage_test.go +0 -166
@@ -4,26 +4,40 @@ import (
4
4
  "bytes"
5
5
  "crypto/sha256"
6
6
  "os"
7
- "os/exec"
8
7
  "path/filepath"
9
8
  "testing"
10
9
  )
11
10
 
12
- // TestJsonSchemaDynamicKeyDeterminismTransform verifies dynamic-key schemas emit deterministically.
11
+ // TestJsonSchemaDynamicKeyDeterminismTransform checks the authored operation results described below.
13
12
  //
14
- // Multiple template and numeric index signatures used to reach a Go map before
15
- // their value metadata was merged. Repeating one unchanged transform therefore
16
- // has to compare the complete output bytes, while runtime checks ensure a stable
17
- // order is not achieved by losing, duplicating, or broadening schema branches.
13
+ // Deterministic source/schema generation must not depend on Go map enumeration order. Repetition is an ordering oracle only; semantic branch-preservation checks are separate assertions on the authored fixture.
18
14
  //
19
- // 1. Transform unchanged tag-free dynamic-key fixtures repeatedly to TypeScript and JavaScript.
20
- // 2. Require every complete emit to match the first emit byte for byte.
21
- // 3. Execute the JavaScript and assert branch completeness plus unrelated ordering controls.
15
+ // 1. Composite, template, key-union, fixed-property, singleton-dynamic and ordinary-union shapes coexist, and TypeScript/JavaScript outputs are checked independently.
16
+ // 2. Both output modes produce identical complete bytes across thirty-two transforms of one unchanged dynamic-key project.
17
+ //
18
+ // @evidence contracts/testing.md#behavioral-verification Both output modes retain the authored fixed-property types, required keys, dynamic value-type unions, single dynamic value and ordinary primitive union, then produce identical complete bytes across thirty-two transforms of one unchanged project.
19
+ // @evidence contracts/testing.md#independent-expectations Deterministic source/schema generation must not depend on Go map enumeration order. Repetition is an ordering oracle only; semantic branch-preservation checks are separate assertions on the authored fixture.
20
+ // @evidence contracts/testing.md#distinguishing-cases Composite, template, key-union, fixed-property, singleton-dynamic and ordinary-union shapes coexist, and TypeScript/JavaScript outputs are checked independently.
21
+ // @evidence contracts/testing.md#execution-ownership The native Go runner discovers TestJsonSchemaDynamicKeyDeterminismTransform as a unit test. Its helpers call the owning Go operations in process; named subcases retain their fixture inputs, assertions and failure identities. Temporary fixtures and captured output are scoped to the test without a compiler or product-host subprocess.
22
22
  func TestJsonSchemaDynamicKeyDeterminismTransform(t *testing.T) {
23
23
  project := jsonSchemaDynamicKeyDeterminismProject(t)
24
- var javascript string
25
24
  for _, output := range []string{"ts", "js"} {
26
25
  baseline := jsonSchemaDynamicKeyDeterminismTransform(t, project, output)
26
+ unit := ttscTypiaTestSchemaLiteral(t, baseline)
27
+ for name, expected := range map[string][]any{
28
+ "DynamicComposite": {map[string]any{"type": "number"}, map[string]any{"type": "string"}, map[string]any{"type": "boolean"}},
29
+ "DynamicTemplate": {map[string]any{"type": "string"}, map[string]any{"type": "number"}, map[string]any{"type": "boolean"}},
30
+ "DynamicUnion": {map[string]any{"type": "string"}, map[string]any{"type": "number"}},
31
+ } {
32
+ ttscTypiaTestSchemaEqual(t, ttscTypiaTestSchemaPath(t, unit, "components", "schemas", name, "additionalProperties", "oneOf"), expected)
33
+ }
34
+ ttscTypiaTestSchemaEqual(t, ttscTypiaTestSchemaPath(t, unit, "components", "schemas", "DynamicComposite", "properties"), map[string]any{"id": map[string]any{"type": "string"}, "name": map[string]any{"type": "string"}})
35
+ ttscTypiaTestSchemaEqual(t, ttscTypiaTestSchemaPath(t, unit, "components", "schemas", "DynamicComposite", "required"), []any{"id", "name"})
36
+ ttscTypiaTestSchemaEqual(t, ttscTypiaTestSchemaPath(t, unit, "components", "schemas", "LiteralOnly", "properties"), map[string]any{"z": map[string]any{"type": "string"}, "a": map[string]any{"type": "number"}})
37
+ ttscTypiaTestSchemaEqual(t, ttscTypiaTestSchemaPath(t, unit, "components", "schemas", "LiteralOnly", "required"), []any{"z", "a"})
38
+ ttscTypiaTestSchemaEqual(t, ttscTypiaTestSchemaPath(t, unit, "components", "schemas", "LiteralOnly", "additionalProperties"), false)
39
+ ttscTypiaTestSchemaEqual(t, ttscTypiaTestSchemaPath(t, unit, "components", "schemas", "SingleDynamic", "additionalProperties"), map[string]any{"type": "string"})
40
+ ttscTypiaTestSchemaEqual(t, ttscTypiaTestSchemaPath(t, unit, "components", "schemas", "OrdinaryUnion", "oneOf"), []any{map[string]any{"type": "string"}, map[string]any{"type": "number"}})
27
41
  for iteration := 1; iteration < 32; iteration++ {
28
42
  current := jsonSchemaDynamicKeyDeterminismTransform(t, project, output)
29
43
  if bytes.Equal([]byte(current), []byte(baseline)) == false {
@@ -38,27 +52,12 @@ func TestJsonSchemaDynamicKeyDeterminismTransform(t *testing.T) {
38
52
  }
39
53
  }
40
54
  t.Logf("%s emit remained byte-identical across 32 transforms: sha256=%x", output, sha256.Sum256([]byte(baseline)))
41
- if output == "js" {
42
- javascript = baseline
43
- }
44
55
  }
45
- jsonSchemaDynamicKeyDeterminismRunRuntimeCases(t, project, javascript)
46
56
  }
47
57
 
48
58
  func jsonSchemaDynamicKeyDeterminismProject(t *testing.T) string {
49
59
  t.Helper()
50
- root := ttscTypiaTestRepoRoot(t)
51
- base := filepath.Join(root, "packages", "typia", "native", ".tmp-ttsc-typia-tests")
52
- if err := os.MkdirAll(base, 0o755); err != nil {
53
- t.Fatalf("mkdir temp base: %v", err)
54
- }
55
- dir, err := os.MkdirTemp(base, "json-schema-dynamic-key-determinism-")
56
- if err != nil {
57
- t.Fatalf("create temp fixture: %v", err)
58
- }
59
- t.Cleanup(func() {
60
- _ = os.RemoveAll(dir)
61
- })
60
+ dir := ttscTypiaTestFixtureDirectory(t, "json-schema-dynamic-key-determinism-")
62
61
  src := filepath.Join(dir, "src")
63
62
  if err := os.MkdirAll(src, 0o755); err != nil {
64
63
  t.Fatalf("mkdir fixture src: %v", err)
@@ -101,33 +100,6 @@ func jsonSchemaDynamicKeyDeterminismFirstDifference(x string, y string) int {
101
100
  return limit
102
101
  }
103
102
 
104
- func jsonSchemaDynamicKeyDeterminismRunRuntimeCases(t *testing.T, project string, javascript string) {
105
- t.Helper()
106
- node, err := exec.LookPath("node")
107
- if err != nil {
108
- t.Skip("node executable not found")
109
- }
110
- runtimeDir := filepath.Join(project, "runtime")
111
- if err := os.MkdirAll(runtimeDir, 0o755); err != nil {
112
- t.Fatalf("mkdir runtime dir: %v", err)
113
- }
114
- ttscTypiaTestWriteCommonRuntimeStubs(t, runtimeDir)
115
- runtimeJS := ttscTypiaTestRewriteCommonJS(t, javascript)
116
- if err := os.WriteFile(filepath.Join(runtimeDir, "main.cjs"), []byte(runtimeJS), 0o644); err != nil {
117
- t.Fatalf("write runtime module: %v", err)
118
- }
119
- runner := filepath.Join(runtimeDir, "run.cjs")
120
- if err := os.WriteFile(runner, []byte(jsonSchemaDynamicKeyDeterminismRuntimeRunner), 0o644); err != nil {
121
- t.Fatalf("write runtime runner: %v", err)
122
- }
123
- cmd := exec.Command(node, runner)
124
- cmd.Dir = runtimeDir
125
- output, err := cmd.CombinedOutput()
126
- if err != nil {
127
- t.Fatalf("dynamic-key schema runtime cases failed: %v\n%s", err, output)
128
- }
129
- }
130
-
131
103
  const jsonSchemaDynamicKeyDeterminismTSConfig = `{
132
104
  "compilerOptions": {
133
105
  "target": "ES2022",
@@ -187,60 +159,3 @@ export const schemas = typia.json.schemas<[
187
159
  OrdinaryUnion,
188
160
  ]>();
189
161
  `
190
-
191
- const jsonSchemaDynamicKeyDeterminismRuntimeRunner = `const unit = require("./main.cjs").schemas;
192
-
193
- const components = unit.components?.schemas ?? {};
194
- const assertTypes = (name, expected) => {
195
- const additional = components[name]?.additionalProperties;
196
- const actual = Array.isArray(additional?.oneOf)
197
- ? additional.oneOf.map((schema) => schema.type)
198
- : [additional?.type];
199
- if (JSON.stringify(actual) !== JSON.stringify(expected)) {
200
- throw new Error(name + " branches were " + JSON.stringify(actual) + ", expected " + JSON.stringify(expected));
201
- }
202
- };
203
-
204
- assertTypes("DynamicComposite", ["number", "string", "boolean"]);
205
- assertTypes("DynamicTemplate", ["string", "number", "boolean"]);
206
- assertTypes("DynamicUnion", ["string", "number"]);
207
-
208
- const literal = components.LiteralOnly;
209
- const literalShape = {
210
- type: literal?.type,
211
- propertyKeys: Object.keys(literal?.properties ?? {}),
212
- propertyTypes: Object.values(literal?.properties ?? {}).map((schema) => schema.type),
213
- required: literal?.required,
214
- additionalProperties: literal?.additionalProperties,
215
- };
216
- const expectedLiteralShape = {
217
- type: "object",
218
- propertyKeys: ["z", "a"],
219
- propertyTypes: ["string", "number"],
220
- required: ["z", "a"],
221
- additionalProperties: false,
222
- };
223
- if (JSON.stringify(literalShape) !== JSON.stringify(expectedLiteralShape)) {
224
- throw new Error("zero-dynamic literal schema changed: " + JSON.stringify(literalShape));
225
- }
226
- if (components.SingleDynamic?.additionalProperties?.type !== "string") {
227
- throw new Error("single dynamic-key schema changed: " + JSON.stringify(components.SingleDynamic));
228
- }
229
- const ordinaryTypes = components.OrdinaryUnion?.oneOf?.map((schema) => schema.type) ?? [];
230
- if (JSON.stringify(ordinaryTypes) !== JSON.stringify(["string", "number"])) {
231
- throw new Error("ordinary union branches changed: " + JSON.stringify(ordinaryTypes));
232
- }
233
-
234
- const refs = unit.schemas.map((schema) => schema.$ref);
235
- const expectedRefs = [
236
- "#/components/schemas/DynamicComposite",
237
- "#/components/schemas/DynamicTemplate",
238
- "#/components/schemas/DynamicUnion",
239
- "#/components/schemas/LiteralOnly",
240
- "#/components/schemas/SingleDynamic",
241
- "#/components/schemas/OrdinaryUnion",
242
- ];
243
- if (JSON.stringify(refs) !== JSON.stringify(expectedRefs)) {
244
- throw new Error("schema order changed: " + JSON.stringify(refs));
245
- }
246
- `
@@ -7,16 +7,17 @@ import (
7
7
  "testing"
8
8
  )
9
9
 
10
- // TestJSONSchemaNonsensibleIntersectionDiagnostic verifies that ttsc reports
11
- // the transform-time cause behind issue #2373.
10
+ // TestJSONSchemaNonsensibleIntersectionDiagnostic checks the authored operation results described below.
12
11
  //
13
- // The runtime fallback cannot inspect a TypeScript type after transformation
14
- // has been skipped. This regression therefore compiles the reporter's exact
15
- // `Date & string` property through the real typia package and preserves the
16
- // actionable native diagnostic at its actual compiler boundary.
12
+ // An unsupported intersection cannot silently emit a schema with weaker inhabitation meaning; the transform rejection must identify the failing call.
17
13
  //
18
- // 1. Compile a `typia.json.schema` call for the nonsensible intersection.
19
- // 2. Require the API diagnostic, property path, and intersection reason.
14
+ // 1. One nonrepresentable schema intersection owns this rejection; valid phantom-branded cases are covered by the intersection backstop test.
15
+ // 2. The unsupported JSON schema intersection returns status three and the authored operation/location/cause fragments.
16
+ //
17
+ // @evidence contracts/testing.md#behavioral-verification The unsupported JSON schema intersection returns status three and the authored operation/location/cause fragments.
18
+ // @evidence contracts/testing.md#independent-expectations An unsupported intersection cannot silently emit a schema with weaker inhabitation meaning; the transform rejection must identify the failing call.
19
+ // @evidence contracts/testing.md#distinguishing-cases One nonrepresentable schema intersection owns this rejection; valid phantom-branded cases are covered by the intersection backstop test.
20
+ // @evidence contracts/testing.md#execution-ownership The native Go runner discovers TestJSONSchemaNonsensibleIntersectionDiagnostic as a unit test. Its helpers call the owning Go operations in process; named subcases retain their fixture inputs, assertions and failure identities. Temporary fixtures and captured output are scoped to the test without a compiler or product-host subprocess.
20
21
  func TestJSONSchemaNonsensibleIntersectionDiagnostic(t *testing.T) {
21
22
  project := jsonSchemaNonsensibleIntersectionDiagnosticProject(t)
22
23
  stdout, stderr, code := ttscTypiaTestCapture(func() int {
@@ -43,20 +44,7 @@ func TestJSONSchemaNonsensibleIntersectionDiagnostic(t *testing.T) {
43
44
 
44
45
  func jsonSchemaNonsensibleIntersectionDiagnosticProject(t *testing.T) string {
45
46
  t.Helper()
46
- root := ttscTypiaTestRepoRoot(t)
47
- base := filepath.Join(root, "packages", "typia", "native", ".tmp-ttsc-typia-tests")
48
- if err := os.MkdirAll(base, 0o755); err != nil {
49
- t.Fatalf("create fixture base: %v", err)
50
- }
51
- project, err := os.MkdirTemp(base, "json-schema-nonsensible-intersection-")
52
- if err != nil {
53
- t.Fatalf("create fixture project: %v", err)
54
- }
55
- t.Cleanup(func() {
56
- if err := os.RemoveAll(project); err != nil {
57
- t.Errorf("remove fixture project: %v", err)
58
- }
59
- })
47
+ project := ttscTypiaTestFixtureDirectory(t, "json-schema-nonsensible-intersection-")
60
48
  src := filepath.Join(project, "src")
61
49
  if err := os.MkdirAll(src, 0o755); err != nil {
62
50
  t.Fatalf("create fixture src: %v", err)
@@ -2,24 +2,22 @@ package main
2
2
 
3
3
  import (
4
4
  "os"
5
- "os/exec"
6
5
  "path/filepath"
7
6
  "strings"
8
7
  "testing"
9
8
  )
10
9
 
11
- // TestJsonStringifyConstantAtomicUnionTransform verifies stringify union routing.
10
+ // TestJsonStringifyConstantAtomicUnionTransform verifies string and numeric serializer helpers for record properties.
12
11
  //
13
- // `json.createStringify` routes constant and atomic buckets through the runtime
14
- // atomic predicates before emitting per-bucket serializers. Without coverage
15
- // here, a regression in that routing would silently drop a constant or atomic
16
- // union member from the emitted serializer.
12
+ // JSON strings require quoting/escaping while numeric values emit numeric text; the record contains string-literal, number-literal and broad string/number properties.
17
13
  //
18
- // 1. Transform a stringify fixture whose object mixes string constants,
19
- // numeric constants, and a plain numeric atomic.
20
- // 2. Require the emitted serializer to reference the stringify helpers.
21
- // 3. Execute the serializer and require JSON-equal output for every union
22
- // member, including the non-finite number fallback.
14
+ // 1. Literal unions and broad string/number properties coexist in one record, detecting loss of either serializer kind. Runtime serialized values are outside this emission case.
15
+ // 2. Generated output contains both JSON string and JSON number serializer helpers.
16
+ //
17
+ // @evidence contracts/testing.md#behavioral-verification Generated output contains both JSON string and JSON number serializer helpers.
18
+ // @evidence contracts/testing.md#independent-expectations The authored kind/name string properties require quoting while flag/count numeric properties require numeric serialization; helper presence follows these distinct JSON scalar contracts.
19
+ // @evidence contracts/testing.md#distinguishing-cases The record combines string and numeric literal unions with broad number/string properties. Combined emission must include both helper kinds; individual serialized values are not executed here.
20
+ // @evidence contracts/testing.md#execution-ownership The native Go runner discovers TestJsonStringifyConstantAtomicUnionTransform as a unit test. The fixture and captured Go operation execute in process; helper assertions retain the same source inputs and failure identity without launching a compiler or JavaScript subprocess.
23
21
  func TestJsonStringifyConstantAtomicUnionTransform(t *testing.T) {
24
22
  project := jsonStringifyConstantAtomicUnionProject(t)
25
23
  out, errText, code := ttscTypiaTestCapture(func() int {
@@ -36,23 +34,11 @@ func TestJsonStringifyConstantAtomicUnionTransform(t *testing.T) {
36
34
  if !strings.Contains(out, "_jsonStringifyString") || !strings.Contains(out, "_jsonStringifyNumber") {
37
35
  t.Fatalf("stringify union serializer was not emitted:\n%s", out)
38
36
  }
39
- jsonStringifyConstantAtomicUnionRunRuntimeCases(t, project, out)
40
37
  }
41
38
 
42
39
  func jsonStringifyConstantAtomicUnionProject(t *testing.T) string {
43
40
  t.Helper()
44
- root := ttscTypiaTestRepoRoot(t)
45
- base := filepath.Join(root, "packages", "typia", "native", ".tmp-ttsc-typia-tests")
46
- if err := os.MkdirAll(base, 0o755); err != nil {
47
- t.Fatalf("mkdir temp base: %v", err)
48
- }
49
- dir, err := os.MkdirTemp(base, "json-stringify-union-")
50
- if err != nil {
51
- t.Fatalf("create temp fixture: %v", err)
52
- }
53
- t.Cleanup(func() {
54
- _ = os.RemoveAll(dir)
55
- })
41
+ dir := ttscTypiaTestFixtureDirectory(t, "json-stringify-union-")
56
42
  src := filepath.Join(dir, "src")
57
43
  if err := os.MkdirAll(src, 0o755); err != nil {
58
44
  t.Fatalf("mkdir fixture src: %v", err)
@@ -66,46 +52,6 @@ func jsonStringifyConstantAtomicUnionProject(t *testing.T) string {
66
52
  return dir
67
53
  }
68
54
 
69
- func jsonStringifyConstantAtomicUnionRunRuntimeCases(t *testing.T, project string, js string) {
70
- t.Helper()
71
- node, err := exec.LookPath("node")
72
- if err != nil {
73
- t.Skip("node executable not found")
74
- }
75
- runtimeDir := filepath.Join(project, "runtime")
76
- if err := os.MkdirAll(runtimeDir, 0o755); err != nil {
77
- t.Fatalf("mkdir runtime dir: %v", err)
78
- }
79
- ttscTypiaTestWriteCommonRuntimeStubs(t, runtimeDir)
80
- stubs := map[string]string{
81
- "json-stringify-string-stub.cjs": jsonStringifyConstantAtomicUnionStringStub,
82
- "json-stringify-number-stub.cjs": jsonStringifyConstantAtomicUnionNumberStub,
83
- "throw-type-guard-error-stub.cjs": jsonStringifyConstantAtomicUnionThrowStub,
84
- }
85
- for name, content := range stubs {
86
- if err := os.WriteFile(filepath.Join(runtimeDir, name), []byte(content), 0o644); err != nil {
87
- t.Fatalf("write %s: %v", name, err)
88
- }
89
- }
90
- runtimeJS := strings.ReplaceAll(js, `require("typia/lib/internal/_jsonStringifyString")`, `require("./json-stringify-string-stub.cjs")`)
91
- runtimeJS = strings.ReplaceAll(runtimeJS, `require("typia/lib/internal/_jsonStringifyNumber")`, `require("./json-stringify-number-stub.cjs")`)
92
- runtimeJS = strings.ReplaceAll(runtimeJS, `require("typia/lib/internal/_throwTypeGuardError")`, `require("./throw-type-guard-error-stub.cjs")`)
93
- runtimeJS = ttscTypiaTestRewriteCommonJS(t, runtimeJS)
94
- if err := os.WriteFile(filepath.Join(runtimeDir, "main.cjs"), []byte(runtimeJS), 0o644); err != nil {
95
- t.Fatalf("write runtime module: %v", err)
96
- }
97
- runner := filepath.Join(runtimeDir, "run.cjs")
98
- if err := os.WriteFile(runner, []byte(jsonStringifyConstantAtomicUnionRuntimeRunner), 0o644); err != nil {
99
- t.Fatalf("write runtime runner: %v", err)
100
- }
101
- cmd := exec.Command(node, runner)
102
- cmd.Dir = runtimeDir
103
- output, err := cmd.CombinedOutput()
104
- if err != nil {
105
- t.Fatalf("stringify union runtime cases failed: %v\n%s", err, output)
106
- }
107
- }
108
-
109
55
  const jsonStringifyConstantAtomicUnionTSConfig = `{
110
56
  "compilerOptions": {
111
57
  "target": "ES2022",
@@ -132,40 +78,3 @@ interface SerializedRecord {
132
78
 
133
79
  export const stringifyRecord = typia.json.createStringify<SerializedRecord>();
134
80
  `
135
-
136
- const jsonStringifyConstantAtomicUnionStringStub = `module.exports._jsonStringifyString = (str) => JSON.stringify(str);
137
- `
138
-
139
- const jsonStringifyConstantAtomicUnionNumberStub = `module.exports._jsonStringifyNumber = (value) => (isFinite(value) ? value : null);
140
- `
141
-
142
- const jsonStringifyConstantAtomicUnionThrowStub = `module.exports._throwTypeGuardError = (props) => {
143
- const error = new Error(props.expected);
144
- Object.assign(error, props);
145
- throw error;
146
- };
147
- `
148
-
149
- const jsonStringifyConstantAtomicUnionRuntimeRunner = `const mod = require("./main.cjs");
150
-
151
- const expectEqual = (name, input) => {
152
- const text = mod.stringifyRecord(input);
153
- const parsed = JSON.parse(text);
154
- for (const key of Object.keys(input)) {
155
- if (parsed[key] !== input[key]) {
156
- throw new Error(name + " mismatched property " + key + ": " + text);
157
- }
158
- }
159
- if (Object.keys(parsed).length !== Object.keys(input).length) {
160
- throw new Error(name + " emitted unexpected property count: " + text);
161
- }
162
- };
163
-
164
- expectEqual("kind=a flag=1", { kind: "a", flag: 1, count: 0.5, name: "first" });
165
- expectEqual("kind=b flag=2", { kind: "b", flag: 2, count: -3, name: "second" });
166
-
167
- const infinite = JSON.parse(mod.stringifyRecord({ kind: "a", flag: 1, count: Infinity, name: "edge" }));
168
- if (infinite.count !== null) {
169
- throw new Error("non-finite count should serialize as null: " + JSON.stringify(infinite));
170
- }
171
- `
@@ -3,34 +3,22 @@ package main
3
3
  import (
4
4
  "fmt"
5
5
  "os"
6
- "os/exec"
7
6
  "path/filepath"
8
7
  "strings"
9
8
  "testing"
10
9
  )
11
10
 
12
- // TestLibReplacementNativeIdentityTransform keeps a `libReplacement` project's
13
- // natives native even though their declaration file lives in node_modules
14
- // (#2200).
11
+ // TestLibReplacementNativeIdentityTransform verifies native ownership in an installed default-library replacement.
15
12
  //
16
- // Runtime-native identity requires a runtime authority to declare the global, so
17
- // which files count as a TypeScript default library became load-bearing. Under
18
- // `libReplacement` the compiler resolves `lib.es2015.collection.d.ts` to
19
- // `@typescript/lib-es2015/collection`, an ordinary package file whose name does
20
- // not even begin with `lib.` — so a file-name rule answers "not a default
21
- // library" and would demote Map, Set, WeakMap, and WeakSet to structural checks
22
- // that accept any object. Only the program's own classification is right here,
23
- // and this fixture is what proves the transform consults it.
13
+ // Compiler-recognized replacement libraries carry the supported standard native declaration ownership; the authored probe proves the replacement file is actually loaded.
24
14
  //
25
- // 1. Publish `@typescript/lib-es2015/collection.d.ts` carrying the real
26
- // Map/Set/WeakMap/WeakSet declarations plus a probe interface that exists
27
- // nowhere else, and enable `libReplacement`.
28
- // 2. Transform validators for the four replaced collection natives, for Date
29
- // and Uint8Array as bundled-library controls, and for the probe.
30
- // 3. Require the probe to transform at all, which fails unless the replacement
31
- // file — not the bundled lib — is what the program loaded.
32
- // 4. Require every native to keep its `instanceof` check and execute all of
33
- // them in Node against real instances and plain objects.
15
+ // 1. An installed collection replacement is paired with bundled native controls and a replacement-only probe, avoiding a filename-only identity assumption.
16
+ // 2. Emission retains the replacement probe member while Date, Uint8Array and Map retain their genuine native paths.
17
+ //
18
+ // @evidence contracts/testing.md#behavioral-verification Emission retains the replacement probe member while Date, Uint8Array and Map retain their genuine native paths.
19
+ // @evidence contracts/testing.md#independent-expectations Compiler-recognized replacement libraries carry the supported standard native declaration ownership; the authored probe proves the replacement file is actually loaded.
20
+ // @evidence contracts/testing.md#distinguishing-cases An installed collection replacement is paired with bundled native controls and a replacement-only probe, avoiding a filename-only identity assumption.
21
+ // @evidence contracts/testing.md#execution-ownership The native Go runner discovers TestLibReplacementNativeIdentityTransform as a unit test. The fixture and captured Go operation execute in process; helper assertions retain the same source inputs and failure identity without launching a compiler or JavaScript subprocess.
34
22
  func TestLibReplacementNativeIdentityTransform(t *testing.T) {
35
23
  project := libReplacementNativeIdentityProject(t)
36
24
  js, errText, code := ttscTypiaTestCapture(func() int {
@@ -62,13 +50,6 @@ func TestLibReplacementNativeIdentityTransform(t *testing.T) {
62
50
  }
63
51
  }
64
52
 
65
- output, runtimeErr := libReplacementNativeIdentityRun(t, project, js)
66
- if runtimeErr != nil {
67
- failures = append(failures, fmt.Sprintf("runtime matrix failed: %v\n%s", runtimeErr, output))
68
- }
69
- if expected := "RAN 13 REPLACEMENT CASES"; !strings.Contains(output, expected) {
70
- failures = append(failures, fmt.Sprintf("replacement runner did not report %q; got:\n%s", expected, output))
71
- }
72
53
  if len(failures) != 0 {
73
54
  t.Fatalf("lib replacement native identity mismatches:\n%s\n\nemit:\n%s", strings.Join(failures, "\n"), js)
74
55
  }
@@ -76,21 +57,10 @@ func TestLibReplacementNativeIdentityTransform(t *testing.T) {
76
57
 
77
58
  func libReplacementNativeIdentityProject(t *testing.T) string {
78
59
  t.Helper()
79
- root := ttscTypiaTestRepoRoot(t)
80
- base := filepath.Join(root, "packages", "typia", "native", ".tmp-ttsc-typia-tests")
81
- if err := os.MkdirAll(base, 0o755); err != nil {
82
- t.Fatalf("mkdir temp base: %v", err)
83
- }
84
- dir, err := os.MkdirTemp(base, "lib-replacement-native-identity-")
85
- if err != nil {
86
- t.Fatalf("create temp fixture: %v", err)
87
- }
88
- t.Cleanup(func() {
89
- _ = os.RemoveAll(dir)
90
- })
60
+ dir := ttscTypiaTestFixtureDirectory(t, "lib-replacement-native-identity-")
91
61
  for name, content := range map[string]string{
92
62
  "tsconfig.json": libReplacementNativeIdentityTSConfig,
93
- "node_modules/@typescript/lib-es2015/package.json": libReplacementNativeIdentityPackageJSON,
63
+ "node_modules/@typescript/lib-es2015/package.json": libReplacementNativeIdentityPackageJSON,
94
64
  "node_modules/@typescript/lib-es2015/collection.d.ts": libReplacementNativeIdentityCollectionLib,
95
65
  "src/input.ts": libReplacementNativeIdentitySource,
96
66
  } {
@@ -105,32 +75,6 @@ func libReplacementNativeIdentityProject(t *testing.T) string {
105
75
  return dir
106
76
  }
107
77
 
108
- func libReplacementNativeIdentityRun(t *testing.T, project string, js string) (string, error) {
109
- t.Helper()
110
- node, err := exec.LookPath("node")
111
- if err != nil {
112
- t.Skip("node executable not found")
113
- return "", nil
114
- }
115
- runtimeDir := filepath.Join(project, "runtime")
116
- if err := os.MkdirAll(runtimeDir, 0o755); err != nil {
117
- t.Fatalf("mkdir runtime dir: %v", err)
118
- }
119
- ttscTypiaTestWriteCommonRuntimeStubs(t, runtimeDir)
120
- for name, content := range map[string]string{
121
- "input.cjs": ttscTypiaTestRewriteCommonJS(t, js),
122
- "run.cjs": libReplacementNativeIdentityRuntimeRunner,
123
- } {
124
- if err := os.WriteFile(filepath.Join(runtimeDir, name), []byte(content), 0o644); err != nil {
125
- t.Fatalf("write runtime file %s: %v", name, err)
126
- }
127
- }
128
- cmd := exec.Command(node, filepath.Join(runtimeDir, "run.cjs"))
129
- cmd.Dir = runtimeDir
130
- output, err := cmd.CombinedOutput()
131
- return string(output), err
132
- }
133
-
134
78
  const libReplacementNativeIdentityTSConfig = `{
135
79
  "compilerOptions": {
136
80
  "target": "ES2022",
@@ -244,34 +188,3 @@ export const createdIsWeakSet = typia.createIs<WeakSet<object>>();
244
188
  export const createdIsDate = typia.createIs<Date>();
245
189
  export const createdIsBytes = typia.createIs<Uint8Array>();
246
190
  `
247
-
248
- const libReplacementNativeIdentityRuntimeRunner = `const validators = require("./input.cjs");
249
-
250
- let ran = 0;
251
- const failures = [];
252
- const eq = (name, actual, expected) => {
253
- ran += 1;
254
- if (actual !== expected) {
255
- failures.push(name + ": expected " + expected + " but got " + actual);
256
- }
257
- };
258
-
259
- eq("probe structural", validators.createdIsProbe({ libReplacementMarker: "x" }), true);
260
- eq("Map real", validators.createdIsMap(new Map([["x", 1]])), true);
261
- eq("Map plain", validators.createdIsMap({}), false);
262
- eq("Set real", validators.createdIsSet(new Set(["x"])), true);
263
- eq("Set plain", validators.createdIsSet({}), false);
264
- eq("WeakMap real", validators.createdIsWeakMap(new WeakMap()), true);
265
- eq("WeakMap plain", validators.createdIsWeakMap({}), false);
266
- eq("WeakSet real", validators.createdIsWeakSet(new WeakSet()), true);
267
- eq("WeakSet plain", validators.createdIsWeakSet({}), false);
268
- eq("Date real", validators.createdIsDate(new Date()), true);
269
- eq("Date plain", validators.createdIsDate({}), false);
270
- eq("Uint8Array real", validators.createdIsBytes(new Uint8Array(1)), true);
271
- eq("Uint8Array plain", validators.createdIsBytes({}), false);
272
-
273
- console.log("RAN " + ran + " REPLACEMENT CASES");
274
- if (failures.length !== 0) {
275
- throw new Error("MISMATCHES:\n" + failures.join("\n"));
276
- }
277
- `
@@ -11,6 +11,11 @@ import "testing"
11
11
  // 1. Declare an aliased boolean and a probability-annotated enum.
12
12
  // 2. Put probability one on the final boolean decision property.
13
13
  // 3. Require successful compilation.
14
+ //
15
+ // @evidence contracts/testing.md#behavioral-verification The evaluation build succeeds when a final boolean property and enum members carry supported probability annotations.
16
+ // @evidence contracts/testing.md#independent-expectations Only final decision properties and enum member declarations retain the annotations read by evaluation; probability one is the supported inclusive upper bound.
17
+ // @evidence contracts/testing.md#distinguishing-cases An aliased boolean uses a property-level requirement of one, beside enum members requiring one and 0.2; invalid declaration placements are owned by the rejection cases.
18
+ // @evidence contracts/testing.md#execution-ownership The native Go runner discovers TestLlmEvaluationAcceptsPropertyAndEnumMemberProbability as a unit test. Its fixture helpers and captured Go command calls exercise the owning operation in process without a compiler subprocess. Named subcases retain their inputs and failure identities; temporary project cleanup belongs to the helper.
14
19
  func TestLlmEvaluationAcceptsPropertyAndEnumMemberProbability(t *testing.T) {
15
20
  llmEvaluationAccepts(t, "property-probability-valid", `import typia from "typia";
16
21
 
@@ -11,6 +11,11 @@ import "testing"
11
11
  // 1. Declare an annotated and an unannotated source property.
12
12
  // 2. Extract the unannotated property's type for an evaluation decision.
13
13
  // 3. Require successful compilation.
14
+ //
15
+ // @evidence contracts/testing.md#behavioral-verification The evaluation build accepts an indexed-access decision selecting the unannotated Source property.
16
+ // @evidence contracts/testing.md#independent-expectations Indexed access extracts the selected value type, not a different property declaration or its JSDoc requirement.
17
+ // @evidence contracts/testing.md#distinguishing-cases The source has both an annotated ignored boolean and an unannotated selected boolean, so leaking unrelated property comments would reject the control.
18
+ // @evidence contracts/testing.md#execution-ownership The native Go runner discovers TestLlmEvaluationAcceptsUnselectedSourceProbability as a unit test. Its fixture helpers and captured Go command calls exercise the owning operation in process without a compiler subprocess. Named subcases retain their inputs and failure identities; temporary project cleanup belongs to the helper.
14
19
  func TestLlmEvaluationAcceptsUnselectedSourceProbability(t *testing.T) {
15
20
  llmEvaluationAccepts(t, "unselected-source-probability", `import typia from "typia";
16
21
  interface Source {
@@ -7,6 +7,11 @@ import (
7
7
 
8
8
  // Evaluation promises to decode the entire T. Every required member must
9
9
  // become a question or fail compilation, including inherited/nested members.
10
+ //
11
+ // @evidence contracts/testing.md#behavioral-verification Accepted getter/setter shapes emit urgent and threshold one; unsupported required-member shapes must produce their authored diagnostics.
12
+ // @evidence contracts/testing.md#independent-expectations Evaluation promises to reconstruct the entire declared decision object, including inherited/accessor members, so each supported leaf must become a question and unsupported members cannot vanish silently.
13
+ // @evidence contracts/testing.md#distinguishing-cases Getter-only, class, inherited, interface and nested accessors contrast with required members the evaluator cannot decode; named subtests retain each shape identity.
14
+ // @evidence contracts/testing.md#execution-ownership The native Go runner discovers TestLlmEvaluationCompleteObjectShape as a unit test. Its fixture helpers and captured Go command calls exercise the owning operation in process without a compiler subprocess. Named subcases retain their inputs and failure identities; temporary project cleanup belongs to the helper.
10
15
  func TestLlmEvaluationCompleteObjectShape(t *testing.T) {
11
16
  accepted := map[string]string{
12
17
  "getter only": `class Decision {
@@ -0,0 +1,53 @@
1
+ package main
2
+
3
+ import (
4
+ "regexp"
5
+ "testing"
6
+ )
7
+
8
+ // TestLlmEvaluationEmitsConfiguredDecimals verifies the configured decimals,
9
+ // two by default, reach the runtime helper as its second argument.
10
+ //
11
+ // `decode()` derives its rounding tolerance from that number, so a config that
12
+ // never reached the helper would leave the decoder on the wrong precision.
13
+ //
14
+ // 1. Transform a decision type with `decimals: 3`.
15
+ // 2. Transform the same type without a config.
16
+ // 3. Assert the helper call ends with 3 in the first output and 2 in the second.
17
+ //
18
+ // @evidence contracts/testing.md#behavioral-verification The generated helper call receives three for configured decimals and two when omitted.
19
+ // @evidence contracts/testing.md#independent-expectations The public evaluation config sets the decoder rounding grid; a fixed literal helper argument pins transport of that setting independently of the emitted plan body.
20
+ // @evidence contracts/testing.md#distinguishing-cases The same boolean decision is transformed with explicit three and with no config, separating configured and default precision.
21
+ // @evidence contracts/testing.md#execution-ownership The native Go runner discovers TestLlmEvaluationEmitsConfiguredDecimals as a unit test. Its fixture helpers and captured Go command calls exercise the owning operation in process without a compiler subprocess. Named subcases retain their inputs and failure identities; temporary project cleanup belongs to the helper.
22
+ func TestLlmEvaluationEmitsConfiguredDecimals(t *testing.T) {
23
+ transform := func(name string, config string) string {
24
+ project := llmEvaluationProject(t, name, `import typia from "typia";
25
+
26
+ export const evaluation = typia.llm.evaluation<{
27
+ /** Urgent? */
28
+ urgent: boolean;
29
+ }`+config+`>();
30
+ `)
31
+ out, errText, code := ttscTypiaTestCapture(func() int {
32
+ return runTransform([]string{
33
+ "--cwd", project,
34
+ "--tsconfig", "tsconfig.json",
35
+ "--file", "src/main.ts",
36
+ "--output", "js",
37
+ })
38
+ })
39
+ if code != 0 {
40
+ t.Fatalf("llm.evaluation transform failed: code=%d stderr=\n%s", code, errText)
41
+ }
42
+ return out
43
+ }
44
+ for _, tc := range []struct{ name, config, decimals string }{
45
+ {"configured-decimals", `, { decimals: 3 }`, "3"},
46
+ {"default-decimals", ``, "2"},
47
+ } {
48
+ out := transform(tc.name, tc.config)
49
+ if !regexp.MustCompile(`\]\s*,\s*` + tc.decimals + `\s*\)`).MatchString(out) {
50
+ t.Fatalf("emission must pass %s decimals to the helper:\n%s", tc.decimals, out)
51
+ }
52
+ }
53
+ }
@@ -11,6 +11,11 @@ import "testing"
11
11
  // 1. Declare a tagged primitive alias.
12
12
  // 2. Omit every evaluation call.
13
13
  // 3. Require successful compilation.
14
+ //
15
+ // @evidence contracts/testing.md#behavioral-verification An ordinary program declaring a probability-annotated alias compiles when no evaluation operation exists.
16
+ // @evidence contracts/testing.md#independent-expectations Evaluation-specific placement requirements belong to calls that request an evaluation plan, not to arbitrary TypeScript JSDoc annotations.
17
+ // @evidence contracts/testing.md#distinguishing-cases The no-call program is the negative twin of the neighboring declaration-placement rejection case.
18
+ // @evidence contracts/testing.md#execution-ownership The native Go runner discovers TestLlmEvaluationIgnoresDeclarationProbabilityWithoutCall as a unit test. Its fixture helpers and captured Go command calls exercise the owning operation in process without a compiler subprocess. Named subcases retain their inputs and failure identities; temporary project cleanup belongs to the helper.
14
19
  func TestLlmEvaluationIgnoresDeclarationProbabilityWithoutCall(t *testing.T) {
15
20
  llmEvaluationAccepts(t, "no-evaluation-call", `/** @probability 0.8 */
16
21
  export type Urgency = boolean;