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,13 +4,14 @@
4
4
  package metadata
5
5
 
6
6
  import (
7
- "path/filepath"
8
- "testing"
7
+ "path/filepath"
8
+ "reflect"
9
+ "testing"
9
10
 
10
- nativeast "github.com/microsoft/typescript-go/shim/ast"
11
- nativecore "github.com/microsoft/typescript-go/shim/core"
12
- nativeparser "github.com/microsoft/typescript-go/shim/parser"
13
- schemametadata "github.com/samchon/typia/packages/typia/native/core/schemas/metadata"
11
+ nativeast "github.com/microsoft/typescript-go/shim/ast"
12
+ nativecore "github.com/microsoft/typescript-go/shim/core"
13
+ nativeparser "github.com/microsoft/typescript-go/shim/parser"
14
+ schemametadata "github.com/samchon/typia/packages/typia/native/core/schemas/metadata"
14
15
  )
15
16
 
16
17
  // TestCommentTagsCoverage exercises metadata comment tag application.
@@ -24,112 +25,130 @@ import (
24
25
  // 3. Exercise analyzer error reporting and idempotent object tagging.
25
26
  // 4. Parse JSDoc AST nodes and cover type-expression/comment fallback helpers.
26
27
  // 5. Cover nil object and nil analyzer fallbacks.
28
+ //
29
+ // @evidence contracts/testing.md#behavioral-verification The comment-tag dispatcher calls a test analyzer on constructed property metadata. Exactly one callback, its property/location inputs, each exact test tag and one propagated error are asserted, and a repeated call must leave the callback count unchanged. Parsed JSDoc presence and nil-helper fallbacks are also checked; the real analyzer's parsing semantics are not exercised here.
30
+ // @evidence contracts/testing.md#independent-expectations Authored callback inputs and marker tags establish the dispatch and once-only contract independently of the dispatcher. The test analyzer deliberately supplies tag/error outputs, so those outputs do not establish real comment-tag parsing; that belongs to factory tests.
31
+ // @evidence contracts/testing.md#distinguishing-cases Every tag bucket, repeated application and parsing are exercised once; this test has few negatives.
32
+ // @evidence contracts/testing.md#execution-ownership The typia_native_internal Go command (go -C packages/typia/test test -tags typia_native_internal ../native/...) runs this same-package Test function in process. The tagged test calls internal helpers with constructed metadata and an installed analyzer; it needs no program load or process.
27
33
  func TestCommentTagsCoverage(t *testing.T) {
28
- oldAnalyzer := MetadataCommentTagAnalyzer
29
- MetadataCommentTagAnalyzer = func(props struct {
30
- Errors *[]MetadataFactory_IError
31
- Metadata *schemametadata.MetadataSchema
32
- Tags []schemametadata.IJsDocTagInfo
33
- Explore MetadataFactory_IExplore
34
- }) {
35
- if props.Metadata == nil {
36
- return
37
- }
38
- tag := schemametadata.IMetadataTypeTag{Name: "testTag"}
39
- for _, atomic := range props.Metadata.Atomics {
40
- atomic.Tags = append(atomic.Tags, []schemametadata.IMetadataTypeTag{tag})
41
- }
42
- for _, array := range props.Metadata.Arrays {
43
- array.Tags = append(array.Tags, []schemametadata.IMetadataTypeTag{tag})
44
- }
45
- if props.Errors != nil {
46
- *props.Errors = append(*props.Errors, MetadataFactory_IError{
47
- Name: "comment tag(s)",
48
- Explore: MetadataFactory_IExplore{
49
- Object: props.Explore.Object,
50
- Property: props.Explore.Property,
51
- },
52
- Messages: []string{"test analyzer error"},
53
- })
54
- }
55
- }
56
- defer func() {
57
- MetadataCommentTagAnalyzer = oldAnalyzer
58
- }()
59
- value := schemametadata.MetadataSchema_initialize()
60
- value.Atomics = append(value.Atomics,
61
- schemametadata.MetadataAtomic_create(schemametadata.MetadataAtomic{Type: "string"}),
62
- schemametadata.MetadataAtomic_create(schemametadata.MetadataAtomic{Type: "number"}),
63
- schemametadata.MetadataAtomic_create(schemametadata.MetadataAtomic{Type: "bigint"}),
64
- )
65
- value.Arrays = append(value.Arrays, schemametadata.MetadataArray_create(schemametadata.MetadataArray{
66
- Type: schemametadata.MetadataArrayType_create(schemametadata.MetadataArrayType{
67
- Name: "string[]",
68
- Value: schemametadata.MetadataSchema_initialize(),
69
- Nullables: []bool{},
70
- }),
71
- }))
72
- property := schemametadata.MetadataProperty_create(schemametadata.MetadataProperty{
73
- Key: commentTagsLiteral("field"),
74
- Value: value,
75
- JsDocTags: []schemametadata.IJsDocTagInfo{
76
- commentTagsText("type", "{uint64}"),
77
- commentTagsText("format", "dateTime"),
78
- commentTagsText("pattern", "^[a-z]+$"),
79
- commentTagsText("length", "3"),
80
- commentTagsText("minLength", "1"),
81
- commentTagsText("maxLength", "5"),
82
- commentTagsText("items", "2"),
83
- commentTagsText("minItems", "1"),
84
- commentTagsText("maxItems", "4"),
85
- {Name: "uniqueItems"},
86
- commentTagsText("minimum", "1.5"),
87
- commentTagsText("maximum", "9"),
88
- commentTagsText("exclusiveMinimum", "0"),
89
- commentTagsText("exclusiveMaximum", "10"),
90
- commentTagsText("multipleOf", "2"),
91
- {Name: "format"},
92
- },
93
- })
94
- object := schemametadata.MetadataObjectType_create(schemametadata.MetadataObjectType{
95
- Name: "CommentTagged",
96
- Properties: []*schemametadata.MetadataProperty{nil, property},
97
- })
98
- errors := []MetadataFactory_IError{}
99
- Iterate_metadata_comment_tags(struct {
100
- Errors *[]MetadataFactory_IError
101
- Object *schemametadata.MetadataObjectType
102
- }{Errors: &errors, Object: object})
103
- if len(value.Atomics[0].Tags) == 0 ||
104
- len(value.Atomics[1].Tags) == 0 ||
105
- len(value.Atomics[2].Tags) == 0 ||
106
- len(value.Arrays[0].Tags) == 0 ||
107
- len(errors) == 0 {
108
- t.Fatal("comment tags were not applied to every metadata bucket")
109
- }
110
- before := len(value.Atomics[0].Tags[0])
111
- Iterate_metadata_comment_tags(struct {
112
- Errors *[]MetadataFactory_IError
113
- Object *schemametadata.MetadataObjectType
114
- }{Errors: &errors, Object: object})
115
- if len(value.Atomics[0].Tags[0]) != before {
116
- t.Fatal("comment tags should not be applied twice to the same object")
117
- }
118
- Iterate_metadata_comment_tags(struct {
119
- Errors *[]MetadataFactory_IError
120
- Object *schemametadata.MetadataObjectType
121
- }{Errors: &errors})
122
- MetadataCommentTagAnalyzer = nil
123
- Iterate_metadata_comment_tags(struct {
124
- Errors *[]MetadataFactory_IError
125
- Object *schemametadata.MetadataObjectType
126
- }{Errors: &errors, Object: schemametadata.MetadataObjectType_create(schemametadata.MetadataObjectType{
127
- Name: "NoAnalyzer",
128
- Properties: []*schemametadata.MetadataProperty{property},
129
- })})
130
- file := nativeparser.ParseSourceFile(
131
- nativeast.SourceFileParseOptions{FileName: filepath.ToSlash(filepath.Join(t.TempDir(), "comment.ts"))},
132
- `interface Box {
34
+ oldAnalyzer := MetadataCommentTagAnalyzer
35
+ calls := 0
36
+ var analyzedMetadata *schemametadata.MetadataSchema
37
+ var analyzedObject *schemametadata.MetadataObjectType
38
+ var analyzedProperty any
39
+ var analyzedTags []schemametadata.IJsDocTagInfo
40
+ MetadataCommentTagAnalyzer = func(props struct {
41
+ Errors *[]MetadataFactory_IError
42
+ Metadata *schemametadata.MetadataSchema
43
+ Tags []schemametadata.IJsDocTagInfo
44
+ Explore MetadataFactory_IExplore
45
+ }) {
46
+ calls++
47
+ analyzedMetadata = props.Metadata
48
+ analyzedObject = props.Explore.Object
49
+ analyzedProperty = props.Explore.Property
50
+ analyzedTags = props.Tags
51
+ if props.Metadata == nil {
52
+ return
53
+ }
54
+ tag := schemametadata.IMetadataTypeTag{Name: "testTag"}
55
+ for _, atomic := range props.Metadata.Atomics {
56
+ atomic.Tags = append(atomic.Tags, []schemametadata.IMetadataTypeTag{tag})
57
+ }
58
+ for _, array := range props.Metadata.Arrays {
59
+ array.Tags = append(array.Tags, []schemametadata.IMetadataTypeTag{tag})
60
+ }
61
+ if props.Errors != nil {
62
+ *props.Errors = append(*props.Errors, MetadataFactory_IError{
63
+ Name: "comment tag(s)",
64
+ Explore: MetadataFactory_IExplore{
65
+ Object: props.Explore.Object,
66
+ Property: props.Explore.Property,
67
+ },
68
+ Messages: []string{"test analyzer error"},
69
+ })
70
+ }
71
+ }
72
+ defer func() {
73
+ MetadataCommentTagAnalyzer = oldAnalyzer
74
+ }()
75
+ value := schemametadata.MetadataSchema_initialize()
76
+ value.Atomics = append(value.Atomics,
77
+ schemametadata.MetadataAtomic_create(schemametadata.MetadataAtomic{Type: "string"}),
78
+ schemametadata.MetadataAtomic_create(schemametadata.MetadataAtomic{Type: "number"}),
79
+ schemametadata.MetadataAtomic_create(schemametadata.MetadataAtomic{Type: "bigint"}),
80
+ )
81
+ value.Arrays = append(value.Arrays, schemametadata.MetadataArray_create(schemametadata.MetadataArray{
82
+ Type: schemametadata.MetadataArrayType_create(schemametadata.MetadataArrayType{
83
+ Name: "string[]",
84
+ Value: schemametadata.MetadataSchema_initialize(),
85
+ Nullables: []bool{},
86
+ }),
87
+ }))
88
+ property := schemametadata.MetadataProperty_create(schemametadata.MetadataProperty{
89
+ Key: commentTagsLiteral("field"),
90
+ Value: value,
91
+ JsDocTags: []schemametadata.IJsDocTagInfo{
92
+ commentTagsText("type", "{uint64}"),
93
+ commentTagsText("format", "dateTime"),
94
+ commentTagsText("pattern", "^[a-z]+$"),
95
+ commentTagsText("length", "3"),
96
+ commentTagsText("minLength", "1"),
97
+ commentTagsText("maxLength", "5"),
98
+ commentTagsText("items", "2"),
99
+ commentTagsText("minItems", "1"),
100
+ commentTagsText("maxItems", "4"),
101
+ {Name: "uniqueItems"},
102
+ commentTagsText("minimum", "1.5"),
103
+ commentTagsText("maximum", "9"),
104
+ commentTagsText("exclusiveMinimum", "0"),
105
+ commentTagsText("exclusiveMaximum", "10"),
106
+ commentTagsText("multipleOf", "2"),
107
+ {Name: "format"},
108
+ },
109
+ })
110
+ object := schemametadata.MetadataObjectType_create(schemametadata.MetadataObjectType{
111
+ Name: "CommentTagged",
112
+ Properties: []*schemametadata.MetadataProperty{nil, property},
113
+ })
114
+ errors := []MetadataFactory_IError{}
115
+ Iterate_metadata_comment_tags(struct {
116
+ Errors *[]MetadataFactory_IError
117
+ Object *schemametadata.MetadataObjectType
118
+ }{Errors: &errors, Object: object})
119
+ if calls != 1 || analyzedMetadata != value || analyzedObject != object || analyzedProperty != property || !reflect.DeepEqual(analyzedTags, property.JsDocTags) {
120
+ t.Fatal("comment-tag dispatch did not preserve the property and its location")
121
+ }
122
+ for _, rows := range [][][]schemametadata.IMetadataTypeTag{value.Atomics[0].Tags, value.Atomics[1].Tags, value.Atomics[2].Tags, value.Arrays[0].Tags} {
123
+ if len(rows) != 1 || len(rows[0]) != 1 || rows[0][0].Name != "testTag" {
124
+ t.Fatal("comment-tag dispatch did not retain the analyzer's single marker tag")
125
+ }
126
+ }
127
+ if len(errors) != 1 || errors[0].Name != "comment tag(s)" || errors[0].Explore.Object != object || errors[0].Explore.Property != property || len(errors[0].Messages) != 1 || errors[0].Messages[0] != "test analyzer error" {
128
+ t.Fatal("comment-tag dispatch did not propagate the analyzer error")
129
+ }
130
+ Iterate_metadata_comment_tags(struct {
131
+ Errors *[]MetadataFactory_IError
132
+ Object *schemametadata.MetadataObjectType
133
+ }{Errors: &errors, Object: object})
134
+ if calls != 1 {
135
+ t.Fatal("comment tags should not be applied twice to the same object")
136
+ }
137
+ Iterate_metadata_comment_tags(struct {
138
+ Errors *[]MetadataFactory_IError
139
+ Object *schemametadata.MetadataObjectType
140
+ }{Errors: &errors})
141
+ MetadataCommentTagAnalyzer = nil
142
+ Iterate_metadata_comment_tags(struct {
143
+ Errors *[]MetadataFactory_IError
144
+ Object *schemametadata.MetadataObjectType
145
+ }{Errors: &errors, Object: schemametadata.MetadataObjectType_create(schemametadata.MetadataObjectType{
146
+ Name: "NoAnalyzer",
147
+ Properties: []*schemametadata.MetadataProperty{property},
148
+ })})
149
+ file := nativeparser.ParseSourceFile(
150
+ nativeast.SourceFileParseOptions{FileName: filepath.ToSlash(filepath.Join(t.TempDir(), "comment.ts"))},
151
+ `interface Box {
133
152
  /**
134
153
  * box description
135
154
  * @type {string}
@@ -138,47 +157,47 @@ func TestCommentTagsCoverage(t *testing.T) {
138
157
  field: string;
139
158
  }
140
159
  `,
141
- nativecore.ScriptKindTS,
142
- )
143
- member := file.Statements.Nodes[0].AsInterfaceDeclaration().Members.Nodes[0]
144
- symbol := &nativeast.Symbol{
145
- Name: "field",
146
- ValueDeclaration: member,
147
- Declarations: []*nativeast.Node{member},
148
- }
149
- if len(metadata_node_js_doc_tags(symbol)) == 0 || metadata_node_description(symbol) == nil {
150
- t.Fatal("parsed JSDoc tags and description should be discovered")
151
- }
152
- for _, jsdoc := range member.JSDoc(nil) {
153
- doc := jsdoc.AsJSDoc()
154
- if doc == nil || doc.Tags == nil {
155
- continue
156
- }
157
- for _, tag := range doc.Tags.Nodes {
158
- _ = metadata_js_doc_type_expression_text(tag)
159
- _ = metadata_js_doc_parameter_name(tag)
160
- }
161
- }
162
- if metadata_js_doc_type_expression_text(nil) != "" ||
163
- metadata_js_doc_comment_text(nil) != "" {
164
- t.Fatal("nil JSDoc helpers should return empty text")
165
- }
160
+ nativecore.ScriptKindTS,
161
+ )
162
+ member := file.Statements.Nodes[0].AsInterfaceDeclaration().Members.Nodes[0]
163
+ symbol := &nativeast.Symbol{
164
+ Name: "field",
165
+ ValueDeclaration: member,
166
+ Declarations: []*nativeast.Node{member},
167
+ }
168
+ if len(metadata_node_js_doc_tags(symbol)) == 0 || metadata_node_description(symbol) == nil {
169
+ t.Fatal("parsed JSDoc tags and description should be discovered")
170
+ }
171
+ for _, jsdoc := range member.JSDoc(nil) {
172
+ doc := jsdoc.AsJSDoc()
173
+ if doc == nil || doc.Tags == nil {
174
+ continue
175
+ }
176
+ for _, tag := range doc.Tags.Nodes {
177
+ _ = metadata_js_doc_type_expression_text(tag)
178
+ _ = metadata_js_doc_parameter_name(tag)
179
+ }
180
+ }
181
+ if metadata_js_doc_type_expression_text(nil) != "" ||
182
+ metadata_js_doc_comment_text(nil) != "" {
183
+ t.Fatal("nil JSDoc helpers should return empty text")
184
+ }
166
185
  }
167
186
 
168
187
  func commentTagsText(name string, text string) schemametadata.IJsDocTagInfo {
169
- return schemametadata.IJsDocTagInfo{
170
- Name: name,
171
- Text: []schemametadata.IJsDocTagInfo_IText{{Kind: "text", Text: text}},
172
- }
188
+ return schemametadata.IJsDocTagInfo{
189
+ Name: name,
190
+ Text: []schemametadata.IJsDocTagInfo_IText{{Kind: "text", Text: text}},
191
+ }
173
192
  }
174
193
 
175
194
  func commentTagsLiteral(value string) *schemametadata.MetadataSchema {
176
- meta := schemametadata.MetadataSchema_initialize()
177
- meta.Constants = append(meta.Constants, schemametadata.MetadataConstant_create(schemametadata.MetadataConstant{
178
- Type: "string",
179
- Values: []*schemametadata.MetadataConstantValue{
180
- schemametadata.MetadataConstantValue_create(schemametadata.MetadataConstantValue{Value: value}),
181
- },
182
- }))
183
- return meta
195
+ meta := schemametadata.MetadataSchema_initialize()
196
+ meta.Constants = append(meta.Constants, schemametadata.MetadataConstant_create(schemametadata.MetadataConstant{
197
+ Type: "string",
198
+ Values: []*schemametadata.MetadataConstantValue{
199
+ schemametadata.MetadataConstantValue_create(schemametadata.MetadataConstantValue{Value: value}),
200
+ },
201
+ }))
202
+ return meta
184
203
  }
@@ -1,7 +1,20 @@
1
1
  package metadata
2
2
 
3
- import schemametadata "github.com/samchon/typia/packages/typia/native/core/schemas/metadata"
3
+ import (
4
+ "reflect"
4
5
 
6
+ schemametadata "github.com/samchon/typia/packages/typia/native/core/schemas/metadata"
7
+ )
8
+
9
+ // Emend_metadata_atomics removes constants that an atomic of the same type
10
+ // already covers without validation requirements and folds a boolean constant
11
+ // of both values into one boolean. An unconstrained string atomic also removes
12
+ // template alternatives.
13
+ //
14
+ // @evidence contracts/common.md#principled-implementation A constant of a type that an atomic of the same type already covers is redundant and is removed, and a boolean constant set with both values is replaced by a boolean atomic, keeping both alternatives if the two values carry different tags; this normalizes unions such as `string | "a"` and `true | false`.
15
+ // @evidence contracts/common.md#clear-and-simple-design One function over the metadata's constants and atomics, applied by the explorer to the schema and its escaped halves.
16
+ // @evidence contracts/common.md#prohibited-implementation-shortcuts The rules follow set inclusion of values and no consumer type is involved.
17
+ // @evidence contracts/common.md#meaningful-documentation The doc states both rewrites.
5
18
  func Emend_metadata_atomics(meta *schemametadata.MetadataSchema) {
6
19
  for _, atomic := range meta.Atomics {
7
20
  if is_not_pure(atomic) {
@@ -41,6 +54,20 @@ func Emend_metadata_atomics(meta *schemametadata.MetadataSchema) {
41
54
  if len(temp.Values) != 0 && temp.Values[0] != nil {
42
55
  tags = temp.Values[0].Tags
43
56
  }
57
+ // `true` and `false` fold into one boolean; when they carry different
58
+ // tags (`(true & A) | (false & B)`), keep both alternatives instead of
59
+ // silently dropping the second
60
+ if len(temp.Values) == 2 && temp.Values[0] != nil && temp.Values[1] != nil &&
61
+ reflect.DeepEqual(temp.Values[0].Tags, temp.Values[1].Tags) == false {
62
+ tags = [][]schemametadata.IMetadataTypeTag{}
63
+ for _, value := range temp.Values {
64
+ // a literal without tags is an alternative that states nothing
65
+ if len(value.Tags) == 0 {
66
+ tags = append(tags, []schemametadata.IMetadataTypeTag{})
67
+ }
68
+ tags = append(tags, value.Tags...)
69
+ }
70
+ }
44
71
  meta.Atomics = append(meta.Atomics, schemametadata.MetadataAtomic_create(schemametadata.MetadataAtomic{
45
72
  Type: "boolean",
46
73
  Tags: tags,
@@ -2,6 +2,14 @@ package metadata
2
2
 
3
3
  import schemametadata "github.com/samchon/typia/packages/typia/native/core/schemas/metadata"
4
4
 
5
+ // Emplace_metadata_alias returns the collection's alias entry for the type,
6
+ // recording a new one with its documentation and the analyzed target; a known one
7
+ // only records another nullability.
8
+ //
9
+ // @evidence contracts/common.md#principled-implementation An alias is stored once per type in the collection and a repeat only records another nullability, so a recursive or shared alias is analyzed once; the first time its documentation is read from the alias symbol, skipping default-library declarations, and its target type is explored with the aliased state so the target is not wrapped in the same alias again.
10
+ // @evidence contracts/common.md#clear-and-simple-design One function over the collection's emplace service, which returns whether the entry is new.
11
+ // @evidence contracts/common.md#prohibited-implementation-shortcuts Library aliases do not leak their documentation, as the comment states.
12
+ // @evidence contracts/common.md#meaningful-documentation The doc states the once-per-type rule and the documentation source.
5
13
  func Emplace_metadata_alias(props IMetadataIteratorProps) *schemametadata.MetadataAliasType {
6
14
  symbol := props.Type.Symbol()
7
15
  if typeName := nativechecker_type_name_symbol(props.Type); typeName != nil {
@@ -10,15 +18,14 @@ func Emplace_metadata_alias(props IMetadataIteratorProps) *schemametadata.Metada
10
18
  alias, newbie, closure := props.Components.EmplaceAlias(
11
19
  props.Checker,
12
20
  props.Type,
13
- symbol,
14
21
  )
15
22
  metadata_array_util_add_bool(&alias.Nullables, props.Metadata.Nullable)
16
23
  if newbie == false {
17
24
  return alias
18
25
  }
19
26
 
20
- // The MetadataCollection layer stubs description / tags (the AST JSDoc helpers
21
- // live in this factory package), so fill them here from the alias symbol. The
27
+ // The collection creates the entry without documentation (the AST JSDoc
28
+ // helpers live in this factory package), so fill it here from the alias symbol. The
22
29
  // type-level readers skip default-library declarations, so a standard-library
23
30
  // alias such as `NonNullable<...>` does not leak its own JSDoc.
24
31
  alias.Description = metadata_node_type_description(symbol)
@@ -5,11 +5,28 @@ import (
5
5
  schemametadata "github.com/samchon/typia/packages/typia/native/core/schemas/metadata"
6
6
  )
7
7
 
8
+ // Emplace_metadata_array_type_IProps is the iterator state plus the array type to
9
+ // record.
10
+ //
11
+ // @evidence contracts/common.md#principled-implementation The iterator state is embedded and the array type to record is added, because the entry is keyed by the type and its element is read from it.
12
+ // @evidence contracts/common.md#clear-and-simple-design An embedded record and one field.
13
+ // @evidence contracts/common.md#prohibited-implementation-shortcuts A data record.
14
+ // @evidence contracts/common.md#meaningful-documentation The doc states the composition.
8
15
  type Emplace_metadata_array_type_IProps struct {
16
+ // IMetadataIteratorProps retains the encountered type used as collection key.
9
17
  IMetadataIteratorProps
18
+
19
+ // Array is the resolved array/base type from which element arguments are read.
10
20
  Array *nativechecker.Type
11
21
  }
12
22
 
23
+ // Emplace_metadata_array_type returns the collection's entry for the array type,
24
+ // analyzing its element type the first time it is seen.
25
+ //
26
+ // @evidence contracts/common.md#principled-implementation The encountered props.Type is stored once in the collection, including subclasses whose resolved Array base differs; repeats record nullability. The element comes from Array's first checker type argument when available, otherwise Array itself, and is explored with aliased and escaped states cleared.
27
+ // @evidence contracts/common.md#clear-and-simple-design One function over the collection's emplace service.
28
+ // @evidence contracts/common.md#prohibited-implementation-shortcuts The element is taken from the checker's type arguments, not from the source text.
29
+ // @evidence contracts/common.md#meaningful-documentation The doc states the once-per-type rule and the element source.
13
30
  func Emplace_metadata_array_type(props Emplace_metadata_array_type_IProps) *schemametadata.MetadataArrayType {
14
31
  array, newbie, setValue := props.Components.EmplaceArray(
15
32
  props.Checker,
@@ -8,6 +8,17 @@ import (
8
8
  schemametadata "github.com/samchon/typia/packages/typia/native/core/schemas/metadata"
9
9
  )
10
10
 
11
+ // Emplace_metadata_object returns the collection's entry for the object type,
12
+ // building its properties the first time it is seen.
13
+ //
14
+ // It records documentation, the declaring file and class facts, skips members
15
+ // that have no JSON form, analyzes every property and index signature and
16
+ // delegates to the intersection merge when the type is an intersection.
17
+ //
18
+ // @evidence contracts/common.md#principled-implementation The collection registers an object before exploring its members, preserving recursive identity. First sight fills type documentation and available source/class facts. The modifier/symbol/member-kind filter depends on Functional, Methods and StrictObjectMembers: methods can be retained explicitly and strict mode diagnoses unsupported members. Visible properties and supported index domains become key/value schemas, while eligible disjoint plain-object intersections share parent objects and copy property roots. Heritage dependency reporting includes otherwise empty bases.
19
+ // @evidence contracts/common.md#clear-and-simple-design One long function that holds the member filter as a closure and delegates heritage touching, privacy detection, symbol-name tests and property creation to private helpers; the length reflects the many member kinds a TypeScript object can have.
20
+ // @evidence contracts/common.md#prohibited-implementation-shortcuts The member filter is by symbol and modifier kinds, with the symbol rule referencing the cited issue, and no property name is special-cased.
21
+ // @evidence contracts/common.md#meaningful-documentation Long comments explain each rule at its place; the exported function has its own doc.
11
22
  func Emplace_metadata_object(props IMetadataIteratorProps) *schemametadata.MetadataObjectType {
12
23
  obj, newbie := props.Components.Emplace(props.Checker, props.Type)
13
24
  metadata_array_util_add_bool(&obj.Nullables, props.Metadata.Nullable)
@@ -30,7 +41,7 @@ func Emplace_metadata_object(props IMetadataIteratorProps) *schemametadata.Metad
30
41
  obj.Description = metadata_node_type_description(symbol)
31
42
  obj.JsDocTags = metadata_node_type_js_doc_tags(symbol)
32
43
 
33
- // Capture the declaring source file (named declarations only) so
44
+ // Capture the first symbol declaration's source file when locatable so
34
45
  // plain.classify can value-import a cross-module class it reconstructs.
35
46
  // Additive: other features ignore obj.Source.
36
47
  if sym := props.Type.Symbol(); sym != nil && len(sym.Declarations) != 0 {
@@ -5,6 +5,16 @@ import (
5
5
  schemametadata "github.com/samchon/typia/packages/typia/native/core/schemas/metadata"
6
6
  )
7
7
 
8
+ // Emplace_metadata_tuple returns the collection's entry for the tuple type,
9
+ // analyzing its elements the first time it is seen.
10
+ //
11
+ // Optional elements are marked optional, a trailing rest element is wrapped in a
12
+ // rest schema, and a rest element elsewhere is reported as unsupported.
13
+ //
14
+ // @evidence contracts/common.md#principled-implementation A tuple type is stored once and its element types are the checker's type arguments, each explored in a nested state; an optional element is marked optional, a rest element in the last position is wrapped in a schema with the Rest field, and a rest element anywhere else is reported because the programmers address elements by leading position.
15
+ // @evidence contracts/common.md#clear-and-simple-design One function over the collection's emplace service with a closure that receives the elements.
16
+ // @evidence contracts/common.md#prohibited-implementation-shortcuts The unsupported position is rejected with a message and not compiled into wrong checks, as the comment records.
17
+ // @evidence contracts/common.md#meaningful-documentation The doc states the optional and rest rules.
8
18
  func Emplace_metadata_tuple(props IMetadataIteratorProps) *schemametadata.MetadataTupleType {
9
19
  tuple, newbie, closure := props.Components.EmplaceTuple(
10
20
  props.Checker,
@@ -5,18 +5,57 @@ import (
5
5
  schemametadata "github.com/samchon/typia/packages/typia/native/core/schemas/metadata"
6
6
  )
7
7
 
8
+ // Explore_metadata_IProps is the input of one exploration: options, checker, the
9
+ // collection, the error sink, the type, the location and the Intersected, NoCache
10
+ // and Prunable flags.
11
+ //
12
+ // @evidence contracts/common.md#principled-implementation An exploration needs the options, checker, collection, error sink, type and location plus three flags, NoCache to bypass the cache, Intersected for the inside of an intersection and Prunable for never pruning.
13
+ // @evidence contracts/common.md#clear-and-simple-design One flat record.
14
+ // @evidence contracts/common.md#prohibited-implementation-shortcuts A data record.
15
+ // @evidence contracts/common.md#meaningful-documentation The doc lists the inputs.
8
16
  type Explore_metadata_IProps struct {
9
- Options MetadataFactory_IOptions
10
- Checker *nativechecker.Checker
11
- Components *schemametadata.MetadataCollection
12
- Errors *[]MetadataFactory_IError
13
- Type *nativechecker.Type
14
- Explore MetadataFactory_IExplore
17
+ // Options supplies the analysis shape and hooks; member options stay fixed
18
+ // within the collection.
19
+ Options MetadataFactory_IOptions
20
+
21
+ // Checker resolves Type in the collection's compiler program.
22
+ Checker *nativechecker.Checker
23
+
24
+ // Components owns named entries and cached schemas for this analysis.
25
+ Components *schemametadata.MetadataCollection
26
+
27
+ // Errors is the optional append-only sink; added errors prevent cache storage.
28
+ Errors *[]MetadataFactory_IError
29
+
30
+ // Type is explored into a fresh schema; nil returns the initialized schema.
31
+ Type *nativechecker.Type
32
+
33
+ // Explore supplies the diagnostic location and shape-state flags.
34
+ Explore MetadataFactory_IExplore
35
+
36
+ // Intersected suppresses nested intersection handling and disables cache use.
15
37
  Intersected bool
16
- NoCache bool
17
- Prunable bool
38
+
39
+ // NoCache bypasses lookup and storage for exploratory analysis.
40
+ NoCache bool
41
+
42
+ // Prunable permits impossible intersection branches to contribute no values.
43
+ Prunable bool
18
44
  }
19
45
 
46
+ // Explore_metadata analyzes a type into a new metadata schema.
47
+ //
48
+ // A result is cached in the collection by type and by the options that change
49
+ // it, but only outside an intersected descent and when this exploration adds no
50
+ // error. Plain-object intersection types are also eligible. One collection is
51
+ // used for one checker/program and fixed Methods/StrictObjectMembers options;
52
+ // the key does not encode every option or location. Atomics are emended after
53
+ // the iterators ran.
54
+ //
55
+ // @evidence contracts/common.md#principled-implementation A fresh schema is filled by Iterate_metadata and emended. Eligible results are cloned through the collection cache keyed by type, Escape/Absorb/Constant/Functional and Top/Aliased/Escaped/Output. Intersected descent, NoCache and explorations adding errors bypass storage; plain-object intersections can be cached. The collection is local to one checker/program and fixed member options, and the key does not encode Prunable or complete location identities.
56
+ // @evidence contracts/common.md#clear-and-simple-design One function with the cache lookup before and the cache store after the iteration.
57
+ // @evidence contracts/common.md#prohibited-implementation-shortcuts Cache entries are analysis-local cloned schemas, not foreign checker mutations. NoCache and Intersected explicitly bypass reuse; member options must stay fixed within the collection. Prunable is not represented by the current key, so the key alone does not establish equivalence across pruning contexts.
58
+ // @evidence contracts/common.md#meaningful-documentation The doc states the cache conditions.
20
59
  func Explore_metadata(props Explore_metadata_IProps) *schemametadata.MetadataSchema {
21
60
  plainObjectIntersection := false
22
61
  if props.Checker != nil && props.Type != nil && props.Type.IsIntersection() {
@@ -48,7 +87,7 @@ func Explore_metadata(props Explore_metadata_IProps) *schemametadata.MetadataSch
48
87
  if props.Errors != nil {
49
88
  errorCount = len(*props.Errors)
50
89
  }
51
- metadata := schemametadata.MetadataSchema_initialize(props.Explore.Escaped)
90
+ metadata := schemametadata.MetadataSchema_initialize()
52
91
  if props.Type == nil {
53
92
  return metadata
54
93
  }
@@ -5,6 +5,18 @@ import (
5
5
  schemametadata "github.com/samchon/typia/packages/typia/native/core/schemas/metadata"
6
6
  )
7
7
 
8
+ // Iterate_metadata fills a metadata schema from a type by trying the iterators in
9
+ // a fixed order until one accepts it.
10
+ //
11
+ // Aliases, intersections, unions and escapes come first, then any, null and
12
+ // undefined-like types, functions, constants, templates, atomics, tuples, arrays,
13
+ // natives, maps, sets and finally objects. A type parameter is reported as an
14
+ // error.
15
+ //
16
+ // @evidence contracts/common.md#principled-implementation The chain tries each iterator in a fixed order and stops at the first that accepts: alias, intersection, union and escape first so wrappers are expanded before their contents, then special types, functions, constants, templates, atomics, tuples, arrays, natives, maps, sets and objects, with object last as the catch-all; an unresolved type parameter is an error. Every type that the analysis reads passes through the first dependency touch, so the transform host learns every declaration file consulted.
17
+ // @evidence contracts/common.md#clear-and-simple-design One function that is the dispatcher, with each iterator owning one type kind; adding a kind means adding an iterator and a position in the order.
18
+ // @evidence contracts/common.md#prohibited-implementation-shortcuts The order is explicit and documented here, not left to side effects; the dependency touch is one call at the entry, not a patch of the checker.
19
+ // @evidence contracts/common.md#meaningful-documentation The doc lists the order and the comment explains the dependency touch.
8
20
  func Iterate_metadata(props IMetadataIteratorProps) {
9
21
  if props.Type == nil {
10
22
  return
@@ -6,6 +6,14 @@ import (
6
6
  schemametadata "github.com/samchon/typia/packages/typia/native/core/schemas/metadata"
7
7
  )
8
8
 
9
+ // Iterate_metadata_alias records a type alias as a named alias entry instead of
10
+ // expanding it. It reports false when the Absorb option is on and for a type that
11
+ // is not declared by a type alias.
12
+ //
13
+ // @evidence contracts/common.md#principled-implementation A type declared by a type alias is recorded as an alias entry that refers to the emplaced alias type, so recursive and shared aliases keep their names in the schema; it declines when Absorb is on, which analyzes the structure inside an intersection, and for any type not declared by a type alias.
14
+ // @evidence contracts/common.md#clear-and-simple-design One function over the shared emplace service; the symbol lookup is a small private wrapper.
15
+ // @evidence contracts/common.md#prohibited-implementation-shortcuts The test is the declaration kind of the alias symbol and no alias name is listed.
16
+ // @evidence contracts/common.md#meaningful-documentation The doc states both declines.
9
17
  func Iterate_metadata_alias(props IMetadataIteratorProps) bool {
10
18
  if props.Options.Absorb != false {
11
19
  return false
@@ -5,6 +5,13 @@ import (
5
5
  schemametadata "github.com/samchon/typia/packages/typia/native/core/schemas/metadata"
6
6
  )
7
7
 
8
+ // Iterate_metadata_array records an array type, or a class or interface that
9
+ // extends an array, as an array entry. It reports false for any other type.
10
+ //
11
+ // @evidence contracts/common.md#principled-implementation The checker's array test accepts array types, and a class or interface that extends an array is found by walking its base types with a memo table so cycles end; the array type is emplaced and recorded once per name in the schema.
12
+ // @evidence contracts/common.md#clear-and-simple-design One function and a private recursive finder.
13
+ // @evidence contracts/common.md#prohibited-implementation-shortcuts The array identity comes from the checker, not from the type's text.
14
+ // @evidence contracts/common.md#meaningful-documentation The doc states the extended-array case.
8
15
  func Iterate_metadata_array(props IMetadataIteratorProps) bool {
9
16
  var array *nativechecker.Type
10
17
  if props.Checker != nil && nativechecker.Checker_isArrayType(props.Checker, props.Type) {