@depup/typebox 1.1.21-depup.0 → 1.3.8-depup.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 (960) hide show
  1. package/README.md +2 -2
  2. package/build/compile/code.mjs +2 -2
  3. package/build/compile/validator.d.mts +7 -14
  4. package/build/compile/validator.mjs +32 -57
  5. package/build/error/errors.d.mts +1 -7
  6. package/build/format/_idna.mjs +36 -6
  7. package/build/format/_puny.mjs +4 -1
  8. package/build/format/_registry.mjs +9 -9
  9. package/build/format/email.d.mts +1 -1
  10. package/build/format/email.mjs +3 -24
  11. package/build/format/format.d.mts +9 -9
  12. package/build/format/format.mjs +9 -9
  13. package/build/format/{idn-email.d.mts → idn_email.d.mts} +1 -1
  14. package/build/format/idn_email.mjs +8 -0
  15. package/build/format/uuid.d.mts +2 -2
  16. package/build/format/uuid.mjs +3 -3
  17. package/build/guard/emit.d.mts +3 -5
  18. package/build/guard/emit.mjs +12 -13
  19. package/build/guard/guard.d.mts +15 -7
  20. package/build/guard/guard.mjs +40 -15
  21. package/build/guard/string.mjs +16 -4
  22. package/build/schema/build.d.mts +11 -7
  23. package/build/schema/build.mjs +28 -9
  24. package/build/schema/check.d.mts +3 -3
  25. package/build/schema/compile.d.mts +4 -4
  26. package/build/schema/compile.mjs +9 -9
  27. package/build/schema/engine/_context.mjs +3 -3
  28. package/build/schema/engine/_functions.mjs +34 -16
  29. package/build/schema/engine/_refine.mjs +4 -4
  30. package/build/schema/engine/_stack.d.mts +4 -4
  31. package/build/schema/engine/_stack.mjs +52 -18
  32. package/build/schema/engine/additionalItems.mjs +17 -7
  33. package/build/schema/engine/additionalProperties.mjs +1 -1
  34. package/build/schema/engine/boolean.d.mts +3 -3
  35. package/build/schema/engine/boolean.mjs +4 -4
  36. package/build/schema/engine/contains.mjs +18 -6
  37. package/build/schema/engine/dynamicRef.d.mts +6 -0
  38. package/build/schema/engine/dynamicRef.mjs +25 -0
  39. package/build/schema/engine/enum.mjs +1 -1
  40. package/build/schema/engine/index.d.mts +0 -1
  41. package/build/schema/engine/index.mjs +0 -1
  42. package/build/schema/engine/items.mjs +26 -6
  43. package/build/schema/engine/maxContains.mjs +3 -3
  44. package/build/schema/engine/minContains.mjs +14 -4
  45. package/build/schema/engine/not.mjs +4 -2
  46. package/build/schema/engine/oneOf.mjs +7 -6
  47. package/build/schema/engine/recursiveRef.mjs +3 -3
  48. package/build/schema/engine/ref.mjs +4 -10
  49. package/build/schema/engine/schema.mjs +15 -15
  50. package/build/schema/engine/type.mjs +15 -19
  51. package/build/schema/parse.d.mts +3 -3
  52. package/build/schema/pointer/index.d.mts +1 -1
  53. package/build/schema/pointer/index.mjs +1 -1
  54. package/build/schema/pointer/pointer.mjs +11 -1
  55. package/build/schema/resolve/ref.d.mts +1 -0
  56. package/build/schema/resolve/ref.mjs +61 -11
  57. package/build/schema/static/_canonical.d.mts +7 -0
  58. package/build/schema/static/{~elements.d.mts → _elements.d.mts} +3 -3
  59. package/build/schema/static/items.d.mts +1 -1
  60. package/build/schema/static/prefixItems.d.mts +1 -1
  61. package/build/schema/static/properties.d.mts +27 -6
  62. package/build/schema/static/ref.d.mts +1 -1
  63. package/build/schema/static/required.d.mts +1 -11
  64. package/build/schema/static/schema.d.mts +3 -2
  65. package/build/schema/static/static.d.mts +2 -2
  66. package/build/schema/types/_refine.d.mts +2 -2
  67. package/build/schema/types/_refine.mjs +4 -4
  68. package/build/schema/types/dependencies.mjs +1 -1
  69. package/build/schema/types/index.d.mts +0 -1
  70. package/build/schema/types/index.mjs +0 -1
  71. package/build/schema/types/schema.d.mts +1 -1
  72. package/build/schema/types/schema.mjs +2 -2
  73. package/build/system/environment/evaluate.mjs +1 -1
  74. package/build/system/locale/_config.d.mts +1 -1
  75. package/build/system/locale/ar_001.d.mts +1 -1
  76. package/build/system/locale/ar_001.mjs +0 -1
  77. package/build/system/locale/bn_BD.d.mts +1 -1
  78. package/build/system/locale/bn_BD.mjs +0 -1
  79. package/build/system/locale/cs_CZ.d.mts +1 -1
  80. package/build/system/locale/cs_CZ.mjs +0 -1
  81. package/build/system/locale/de_DE.d.mts +1 -1
  82. package/build/system/locale/de_DE.mjs +0 -1
  83. package/build/system/locale/el_GR.d.mts +1 -1
  84. package/build/system/locale/el_GR.mjs +0 -1
  85. package/build/system/locale/en_US.d.mts +1 -1
  86. package/build/system/locale/en_US.mjs +0 -1
  87. package/build/system/locale/es_419.d.mts +1 -1
  88. package/build/system/locale/es_419.mjs +0 -1
  89. package/build/system/locale/es_AR.d.mts +1 -1
  90. package/build/system/locale/es_AR.mjs +0 -1
  91. package/build/system/locale/es_ES.d.mts +1 -1
  92. package/build/system/locale/es_ES.mjs +0 -1
  93. package/build/system/locale/es_MX.d.mts +1 -1
  94. package/build/system/locale/es_MX.mjs +0 -1
  95. package/build/system/locale/fa_IR.d.mts +1 -1
  96. package/build/system/locale/fa_IR.mjs +0 -1
  97. package/build/system/locale/fil_PH.d.mts +1 -1
  98. package/build/system/locale/fil_PH.mjs +0 -1
  99. package/build/system/locale/fr_CA.d.mts +1 -1
  100. package/build/system/locale/fr_CA.mjs +0 -1
  101. package/build/system/locale/fr_FR.d.mts +1 -1
  102. package/build/system/locale/fr_FR.mjs +0 -1
  103. package/build/system/locale/ha_NG.d.mts +1 -1
  104. package/build/system/locale/ha_NG.mjs +0 -1
  105. package/build/system/locale/hi_IN.d.mts +1 -1
  106. package/build/system/locale/hi_IN.mjs +0 -1
  107. package/build/system/locale/hu_HU.d.mts +1 -1
  108. package/build/system/locale/hu_HU.mjs +0 -1
  109. package/build/system/locale/id_ID.d.mts +1 -1
  110. package/build/system/locale/id_ID.mjs +0 -1
  111. package/build/system/locale/it_IT.d.mts +1 -1
  112. package/build/system/locale/it_IT.mjs +0 -1
  113. package/build/system/locale/ja_JP.d.mts +1 -1
  114. package/build/system/locale/ja_JP.mjs +0 -1
  115. package/build/system/locale/ko_KR.d.mts +1 -1
  116. package/build/system/locale/ko_KR.mjs +0 -1
  117. package/build/system/locale/ms_MY.d.mts +1 -1
  118. package/build/system/locale/ms_MY.mjs +0 -1
  119. package/build/system/locale/nl_NL.d.mts +1 -1
  120. package/build/system/locale/nl_NL.mjs +0 -1
  121. package/build/system/locale/pl_PL.d.mts +1 -1
  122. package/build/system/locale/pl_PL.mjs +0 -1
  123. package/build/system/locale/pt_BR.d.mts +1 -1
  124. package/build/system/locale/pt_BR.mjs +0 -1
  125. package/build/system/locale/pt_PT.d.mts +1 -1
  126. package/build/system/locale/pt_PT.mjs +0 -1
  127. package/build/system/locale/ro_RO.d.mts +1 -1
  128. package/build/system/locale/ro_RO.mjs +0 -1
  129. package/build/system/locale/ru_RU.d.mts +1 -1
  130. package/build/system/locale/ru_RU.mjs +0 -1
  131. package/build/system/locale/sv_SE.d.mts +1 -1
  132. package/build/system/locale/sv_SE.mjs +0 -1
  133. package/build/system/locale/sw_TZ.d.mts +1 -1
  134. package/build/system/locale/sw_TZ.mjs +0 -1
  135. package/build/system/locale/th_TH.d.mts +1 -1
  136. package/build/system/locale/th_TH.mjs +0 -1
  137. package/build/system/locale/tr_TR.d.mts +1 -1
  138. package/build/system/locale/tr_TR.mjs +0 -1
  139. package/build/system/locale/uk_UA.d.mts +1 -1
  140. package/build/system/locale/uk_UA.mjs +0 -1
  141. package/build/system/locale/ur_PK.d.mts +1 -1
  142. package/build/system/locale/ur_PK.mjs +0 -1
  143. package/build/system/locale/vi_VN.d.mts +1 -1
  144. package/build/system/locale/vi_VN.mjs +0 -1
  145. package/build/system/locale/yo_NG.d.mts +1 -1
  146. package/build/system/locale/yo_NG.mjs +0 -1
  147. package/build/system/locale/zh_Hans.d.mts +1 -1
  148. package/build/system/locale/zh_Hans.mjs +0 -1
  149. package/build/system/locale/zh_Hant.d.mts +1 -1
  150. package/build/system/locale/zh_Hant.mjs +0 -1
  151. package/build/system/memory/clone.d.mts +2 -3
  152. package/build/system/memory/clone.mjs +73 -26
  153. package/build/system/settings/settings.d.mts +15 -0
  154. package/build/system/settings/settings.mjs +3 -1
  155. package/build/type/action/_add_immutable.d.mts +11 -0
  156. package/build/type/action/_add_immutable.mjs +11 -0
  157. package/build/type/action/_add_optional.d.mts +11 -0
  158. package/build/type/action/_add_optional.mjs +11 -0
  159. package/build/type/action/_add_readonly.d.mts +11 -0
  160. package/build/type/action/_add_readonly.mjs +11 -0
  161. package/build/type/action/_remove_immutable.d.mts +11 -0
  162. package/build/type/action/_remove_immutable.mjs +11 -0
  163. package/build/type/action/_remove_optional.d.mts +11 -0
  164. package/build/type/action/_remove_optional.mjs +11 -0
  165. package/build/type/action/_remove_readonly.d.mts +11 -0
  166. package/build/type/action/_remove_readonly.mjs +11 -0
  167. package/build/type/action/capitalize.d.mts +2 -2
  168. package/build/type/action/capitalize.mjs +2 -3
  169. package/build/type/action/conditional.d.mts +3 -2
  170. package/build/type/action/conditional.mjs +3 -2
  171. package/build/type/action/{constructor-parameters.d.mts → constructor_parameters.d.mts} +2 -2
  172. package/build/type/action/{constructor-parameters.mjs → constructor_parameters.mjs} +2 -3
  173. package/build/type/action/evaluate.d.mts +2 -2
  174. package/build/type/action/evaluate.mjs +2 -3
  175. package/build/type/action/exclude.d.mts +2 -2
  176. package/build/type/action/exclude.mjs +2 -3
  177. package/build/type/action/extract.d.mts +2 -2
  178. package/build/type/action/extract.mjs +2 -3
  179. package/build/type/action/index.d.mts +12 -9
  180. package/build/type/action/index.mjs +12 -9
  181. package/build/type/action/indexed.d.mts +3 -3
  182. package/build/type/action/indexed.mjs +3 -4
  183. package/build/type/action/{instance-type.d.mts → instance_type.d.mts} +2 -2
  184. package/build/type/action/{instance-type.mjs → instance_type.mjs} +2 -3
  185. package/build/type/action/interface.d.mts +2 -2
  186. package/build/type/action/interface.mjs +5 -3
  187. package/build/type/action/keyof.d.mts +2 -2
  188. package/build/type/action/keyof.mjs +2 -3
  189. package/build/type/action/lowercase.d.mts +2 -2
  190. package/build/type/action/lowercase.mjs +2 -3
  191. package/build/type/action/mapped.d.mts +3 -2
  192. package/build/type/action/mapped.mjs +3 -2
  193. package/build/type/action/module.d.mts +8 -7
  194. package/build/type/action/module.mjs +7 -6
  195. package/build/type/action/{non-nullable.d.mts → non_nullable.d.mts} +2 -2
  196. package/build/type/action/{non-nullable.mjs → non_nullable.mjs} +2 -3
  197. package/build/type/action/omit.d.mts +3 -3
  198. package/build/type/action/omit.mjs +3 -4
  199. package/build/type/action/parameters.d.mts +2 -2
  200. package/build/type/action/parameters.mjs +2 -3
  201. package/build/type/action/partial.d.mts +3 -3
  202. package/build/type/action/partial.mjs +2 -3
  203. package/build/type/action/pick.d.mts +3 -3
  204. package/build/type/action/pick.mjs +3 -4
  205. package/build/type/action/readonly_object.d.mts +16 -0
  206. package/build/type/action/readonly_object.mjs +19 -0
  207. package/build/type/action/required.d.mts +2 -2
  208. package/build/type/action/required.mjs +2 -3
  209. package/build/type/action/{return-type.d.mts → return_type.d.mts} +2 -2
  210. package/build/type/action/{return-type.mjs → return_type.mjs} +2 -3
  211. package/build/type/action/uncapitalize.d.mts +2 -2
  212. package/build/type/action/uncapitalize.mjs +2 -3
  213. package/build/type/action/uppercase.d.mts +2 -2
  214. package/build/type/action/uppercase.mjs +2 -3
  215. package/build/type/action/with.d.mts +11 -0
  216. package/build/type/action/with.mjs +11 -0
  217. package/build/type/engine/call/{distribute-arguments.mjs → distribute_arguments.mjs} +1 -7
  218. package/build/type/engine/call/instantiate.d.mts +4 -6
  219. package/build/type/engine/call/instantiate.mjs +6 -5
  220. package/build/type/engine/call/{resolve-arguments.mjs → resolve_arguments.mjs} +3 -9
  221. package/build/type/engine/conditional/instantiate.d.mts +4 -2
  222. package/build/type/engine/conditional/instantiate.mjs +13 -9
  223. package/build/type/engine/constructor_parameters/instantiate.d.mts +14 -0
  224. package/build/type/engine/constructor_parameters/instantiate.mjs +25 -0
  225. package/build/type/engine/cyclic/candidates.d.mts +3 -4
  226. package/build/type/engine/cyclic/candidates.mjs +3 -6
  227. package/build/type/engine/cyclic/check.d.mts +6 -9
  228. package/build/type/engine/cyclic/check.mjs +13 -22
  229. package/build/type/engine/cyclic/dependencies.d.mts +1 -4
  230. package/build/type/engine/cyclic/dependencies.mjs +9 -15
  231. package/build/type/engine/cyclic/extends.d.mts +1 -4
  232. package/build/type/engine/cyclic/extends.mjs +8 -14
  233. package/build/type/engine/cyclic/instantiate.d.mts +2 -5
  234. package/build/type/engine/cyclic/instantiate.mjs +3 -2
  235. package/build/type/engine/enum/index.d.mts +1 -2
  236. package/build/type/engine/enum/index.mjs +1 -2
  237. package/build/type/engine/evaluate/broaden.d.mts +1 -2
  238. package/build/type/engine/evaluate/broaden.mjs +2 -6
  239. package/build/type/engine/evaluate/composite.d.mts +11 -7
  240. package/build/type/engine/evaluate/composite.mjs +11 -7
  241. package/build/type/engine/evaluate/distribute.d.mts +2 -1
  242. package/build/type/engine/evaluate/distribute.mjs +7 -17
  243. package/build/type/engine/evaluate/evaluate.d.mts +17 -5
  244. package/build/type/engine/evaluate/evaluate.mjs +34 -8
  245. package/build/type/engine/evaluate/flatten.d.mts +1 -1
  246. package/build/type/engine/evaluate/instantiate.d.mts +3 -3
  247. package/build/type/engine/evaluate/instantiate.mjs +5 -10
  248. package/build/type/engine/evaluate/narrow.d.mts +3 -3
  249. package/build/type/engine/exclude/instantiate.d.mts +4 -11
  250. package/build/type/engine/exclude/instantiate.mjs +7 -28
  251. package/build/type/engine/exclude/operation.d.mts +10 -0
  252. package/build/type/engine/exclude/operation.mjs +23 -0
  253. package/build/type/engine/extract/instantiate.d.mts +4 -11
  254. package/build/type/engine/extract/instantiate.mjs +7 -28
  255. package/build/type/engine/extract/operation.d.mts +10 -0
  256. package/build/type/engine/extract/operation.mjs +23 -0
  257. package/build/type/engine/helpers/index.d.mts +1 -1
  258. package/build/type/engine/helpers/index.mjs +1 -1
  259. package/build/type/engine/immutable/instantiate_add.d.mts +10 -0
  260. package/build/type/engine/immutable/instantiate_add.mjs +14 -0
  261. package/build/type/engine/immutable/instantiate_remove.d.mts +10 -0
  262. package/build/type/engine/immutable/instantiate_remove.mjs +14 -0
  263. package/build/type/engine/index.d.mts +8 -8
  264. package/build/type/engine/index.mjs +8 -8
  265. package/build/type/engine/indexable/{from-cyclic.d.mts → from_cyclic.d.mts} +1 -1
  266. package/build/type/engine/{object/from-cyclic.mjs → indexable/from_cyclic.mjs} +1 -1
  267. package/build/type/engine/indexable/from_dependent.d.mts +5 -0
  268. package/build/type/engine/indexable/from_dependent.mjs +8 -0
  269. package/build/type/engine/indexable/from_enum.d.mts +6 -0
  270. package/build/type/engine/indexable/from_enum.mjs +8 -0
  271. package/build/type/engine/indexable/{from-intersect.d.mts → from_intersect.d.mts} +1 -1
  272. package/build/type/engine/indexable/{from-intersect.mjs → from_intersect.mjs} +1 -1
  273. package/build/type/engine/indexable/{from-literal.d.mts → from_literal.d.mts} +1 -1
  274. package/build/type/engine/indexable/from_template_literal.d.mts +5 -0
  275. package/build/type/engine/indexable/from_template_literal.mjs +8 -0
  276. package/build/type/engine/indexable/from_type.d.mts +19 -0
  277. package/build/type/engine/indexable/from_type.mjs +25 -0
  278. package/build/type/engine/indexable/{from-union.d.mts → from_union.d.mts} +1 -1
  279. package/build/type/engine/indexable/{from-union.mjs → from_union.mjs} +1 -1
  280. package/build/type/engine/indexable/{to-indexable-keys.d.mts → to_indexable_keys.d.mts} +1 -1
  281. package/build/type/engine/indexable/{to-indexable-keys.mjs → to_indexable_keys.mjs} +1 -1
  282. package/build/type/engine/indexed/from_object.d.mts +16 -0
  283. package/build/type/engine/indexed/from_object.mjs +40 -0
  284. package/build/type/engine/indexed/{from-tuple.d.mts → from_tuple.d.mts} +1 -1
  285. package/build/type/engine/indexed/{from-tuple.mjs → from_tuple.mjs} +1 -1
  286. package/build/type/engine/indexed/from_type.d.mts +11 -0
  287. package/build/type/engine/indexed/from_type.mjs +14 -0
  288. package/build/type/engine/indexed/instantiate.d.mts +7 -12
  289. package/build/type/engine/indexed/instantiate.mjs +13 -22
  290. package/build/type/engine/instance_type/instantiate.d.mts +12 -0
  291. package/build/type/engine/{instance-type → instance_type}/instantiate.mjs +10 -9
  292. package/build/type/engine/instantiate.d.mts +53 -42
  293. package/build/type/engine/instantiate.mjs +92 -106
  294. package/build/type/engine/interface/instantiate.d.mts +6 -7
  295. package/build/type/engine/interface/instantiate.mjs +12 -8
  296. package/build/type/engine/intrinsics/{from-template-literal.d.mts → from_template_literal.d.mts} +3 -3
  297. package/build/type/engine/intrinsics/from_template_literal.mjs +8 -0
  298. package/build/type/engine/intrinsics/{from-type.d.mts → from_type.d.mts} +4 -4
  299. package/build/type/engine/intrinsics/{from-type.mjs → from_type.mjs} +4 -4
  300. package/build/type/engine/intrinsics/{from-union.d.mts → from_union.d.mts} +1 -1
  301. package/build/type/engine/intrinsics/{from-union.mjs → from_union.mjs} +1 -1
  302. package/build/type/engine/intrinsics/instantiate.d.mts +13 -9
  303. package/build/type/engine/intrinsics/instantiate.mjs +29 -25
  304. package/build/type/engine/keyof/from_type.d.mts +15 -0
  305. package/build/type/engine/keyof/from_type.mjs +23 -0
  306. package/build/type/engine/keyof/instantiate.d.mts +6 -17
  307. package/build/type/engine/keyof/instantiate.mjs +12 -28
  308. package/build/type/engine/mapped/instantiate.d.mts +4 -19
  309. package/build/type/engine/mapped/instantiate.mjs +7 -42
  310. package/build/type/engine/mapped/mapped_operation.d.mts +22 -0
  311. package/build/type/engine/mapped/mapped_operation.mjs +42 -0
  312. package/build/type/engine/mapped/mapped_variants.d.mts +17 -0
  313. package/build/type/engine/mapped/mapped_variants.mjs +39 -0
  314. package/build/type/engine/module/instantiate.d.mts +7 -9
  315. package/build/type/engine/module/instantiate.mjs +17 -15
  316. package/build/type/engine/non_nullable/instantiate.d.mts +14 -0
  317. package/build/type/engine/non_nullable/instantiate.mjs +22 -0
  318. package/build/type/engine/object/collapse.d.mts +1 -1
  319. package/build/type/engine/object/collapse.mjs +1 -1
  320. package/build/type/engine/object/{from-cyclic.d.mts → from_cyclic.d.mts} +1 -1
  321. package/build/type/engine/{indexable/from-cyclic.mjs → object/from_cyclic.mjs} +1 -1
  322. package/build/type/engine/object/from_dependent.d.mts +5 -0
  323. package/build/type/engine/object/from_dependent.mjs +8 -0
  324. package/build/type/engine/object/{from-intersect.d.mts → from_intersect.d.mts} +1 -1
  325. package/build/type/engine/object/{from-intersect.mjs → from_intersect.mjs} +1 -1
  326. package/build/type/engine/object/{from-tuple.d.mts → from_tuple.d.mts} +2 -2
  327. package/build/type/engine/object/{from-tuple.mjs → from_tuple.mjs} +2 -2
  328. package/build/type/engine/object/from_type.d.mts +16 -0
  329. package/build/type/engine/object/from_type.mjs +23 -0
  330. package/build/type/engine/object/{from-union.d.mts → from_union.d.mts} +1 -1
  331. package/build/type/engine/object/{from-union.mjs → from_union.mjs} +4 -11
  332. package/build/type/engine/omit/from_type.d.mts +12 -0
  333. package/build/type/engine/omit/from_type.mjs +18 -0
  334. package/build/type/engine/omit/instantiate.d.mts +4 -11
  335. package/build/type/engine/omit/instantiate.mjs +7 -22
  336. package/build/type/engine/optional/instantiate_add.d.mts +10 -0
  337. package/build/type/engine/optional/instantiate_add.mjs +14 -0
  338. package/build/type/engine/optional/instantiate_remove.d.mts +10 -0
  339. package/build/type/engine/optional/instantiate_remove.mjs +14 -0
  340. package/build/type/engine/parameters/instantiate.d.mts +7 -7
  341. package/build/type/engine/parameters/instantiate.mjs +14 -11
  342. package/build/type/engine/{readonly-type/from-cyclic.d.mts → partial/from_cyclic.d.mts} +1 -1
  343. package/build/type/engine/partial/{from-cyclic.mjs → from_cyclic.mjs} +1 -1
  344. package/build/type/engine/partial/from_dependent.d.mts +5 -0
  345. package/build/type/engine/partial/from_dependent.mjs +8 -0
  346. package/build/type/engine/partial/from_intersect.d.mts +5 -0
  347. package/build/type/engine/partial/from_intersect.mjs +8 -0
  348. package/build/type/engine/{readonly-type/from-object.d.mts → partial/from_object.d.mts} +2 -2
  349. package/build/type/engine/partial/{from-object.mjs → from_object.mjs} +2 -2
  350. package/build/type/engine/partial/from_type.d.mts +14 -0
  351. package/build/type/engine/partial/from_type.mjs +20 -0
  352. package/build/type/engine/{readonly-type/from-union.d.mts → partial/from_union.d.mts} +1 -1
  353. package/build/type/engine/{readonly-type/from-union.mjs → partial/from_union.mjs} +1 -1
  354. package/build/type/engine/partial/instantiate.d.mts +4 -4
  355. package/build/type/engine/partial/instantiate.mjs +8 -7
  356. package/build/type/engine/pick/from_type.d.mts +13 -0
  357. package/build/type/engine/pick/from_type.mjs +20 -0
  358. package/build/type/engine/pick/instantiate.d.mts +4 -12
  359. package/build/type/engine/pick/instantiate.mjs +7 -23
  360. package/build/type/engine/priority/index.d.mts +1 -0
  361. package/build/type/engine/priority/index.mjs +1 -0
  362. package/build/type/engine/priority/priority.d.mts +20 -0
  363. package/build/type/engine/priority/priority.mjs +28 -0
  364. package/build/type/engine/readonly/instantiate_add.d.mts +10 -0
  365. package/build/type/engine/readonly/instantiate_add.mjs +14 -0
  366. package/build/type/engine/readonly/instantiate_remove.d.mts +10 -0
  367. package/build/type/engine/readonly/instantiate_remove.mjs +14 -0
  368. package/build/type/engine/{readonly-type/from-array.d.mts → readonly_object/from_array.d.mts} +2 -2
  369. package/build/type/engine/{readonly-type/from-array.mjs → readonly_object/from_array.mjs} +2 -2
  370. package/build/type/engine/{partial/from-cyclic.d.mts → readonly_object/from_cyclic.d.mts} +1 -1
  371. package/build/type/engine/{required/from-cyclic.mjs → readonly_object/from_cyclic.mjs} +1 -1
  372. package/build/type/engine/readonly_object/from_dependent.d.mts +5 -0
  373. package/build/type/engine/readonly_object/from_dependent.mjs +8 -0
  374. package/build/type/engine/readonly_object/from_intersect.d.mts +5 -0
  375. package/build/type/engine/readonly_object/from_intersect.mjs +8 -0
  376. package/build/type/engine/{partial/from-object.d.mts → readonly_object/from_object.d.mts} +2 -2
  377. package/build/type/engine/{readonly-type/from-object.mjs → readonly_object/from_object.mjs} +2 -2
  378. package/build/type/engine/{readonly-type/from-tuple.d.mts → readonly_object/from_tuple.d.mts} +2 -2
  379. package/build/type/engine/{readonly-type/from-tuple.mjs → readonly_object/from_tuple.mjs} +2 -2
  380. package/build/type/engine/readonly_object/from_type.d.mts +18 -0
  381. package/build/type/engine/readonly_object/from_type.mjs +25 -0
  382. package/build/type/engine/{partial/from-union.d.mts → readonly_object/from_union.d.mts} +1 -1
  383. package/build/type/engine/{partial/from-union.mjs → readonly_object/from_union.mjs} +1 -1
  384. package/build/type/engine/readonly_object/instantiate.d.mts +9 -0
  385. package/build/type/engine/readonly_object/instantiate.mjs +15 -0
  386. package/build/type/engine/record/{from-key.d.mts → from_key.d.mts} +11 -11
  387. package/build/type/engine/record/{from-key.mjs → from_key.mjs} +11 -11
  388. package/build/type/engine/record/{from-key-any.mjs → from_key_any.mjs} +1 -1
  389. package/build/type/engine/record/{from-key-enum.d.mts → from_key_enum.d.mts} +3 -3
  390. package/build/type/engine/record/from_key_enum.mjs +8 -0
  391. package/build/type/engine/record/{from-key-integer.mjs → from_key_integer.mjs} +1 -1
  392. package/build/type/engine/record/{from-key-intersect.d.mts → from_key_intersect.d.mts} +1 -1
  393. package/build/type/engine/record/{from-key-intersect.mjs → from_key_intersect.mjs} +1 -1
  394. package/build/type/engine/record/{from-key-number.mjs → from_key_number.mjs} +1 -1
  395. package/build/type/engine/record/{from-key-string.mjs → from_key_string.mjs} +1 -1
  396. package/build/type/engine/record/{from-key-template-literal.d.mts → from_key_template_literal.d.mts} +4 -4
  397. package/build/type/engine/record/from_key_template_literal.mjs +12 -0
  398. package/build/type/engine/record/{from-key-union.mjs → from_key_union.mjs} +1 -1
  399. package/build/type/engine/record/instantiate.d.mts +4 -4
  400. package/build/type/engine/record/instantiate.mjs +9 -8
  401. package/build/type/engine/ref/instantiate.d.mts +4 -4
  402. package/build/type/engine/ref/instantiate.mjs +6 -6
  403. package/build/type/engine/required/{from-cyclic.d.mts → from_cyclic.d.mts} +1 -1
  404. package/build/type/engine/{readonly-type/from-cyclic.mjs → required/from_cyclic.mjs} +1 -1
  405. package/build/type/engine/required/from_dependent.d.mts +5 -0
  406. package/build/type/engine/required/from_dependent.mjs +8 -0
  407. package/build/type/engine/required/from_intersect.d.mts +5 -0
  408. package/build/type/engine/required/from_intersect.mjs +8 -0
  409. package/build/type/engine/required/{from-object.d.mts → from_object.d.mts} +2 -2
  410. package/build/type/engine/required/{from-object.mjs → from_object.mjs} +2 -2
  411. package/build/type/engine/required/from_type.d.mts +14 -0
  412. package/build/type/engine/required/from_type.mjs +20 -0
  413. package/build/type/engine/required/{from-union.d.mts → from_union.d.mts} +1 -1
  414. package/build/type/engine/required/{from-union.mjs → from_union.mjs} +1 -1
  415. package/build/type/engine/required/instantiate.d.mts +4 -4
  416. package/build/type/engine/required/instantiate.mjs +8 -7
  417. package/build/type/engine/return_type/instantiate.d.mts +12 -0
  418. package/build/type/engine/return_type/instantiate.mjs +21 -0
  419. package/build/type/engine/{template-literal → template_literal}/decode.d.mts +4 -4
  420. package/build/type/engine/{template-literal → template_literal}/decode.mjs +6 -12
  421. package/build/type/engine/{template-literal → template_literal}/encode.d.mts +6 -4
  422. package/build/type/engine/{template-literal → template_literal}/encode.mjs +17 -16
  423. package/build/type/engine/{template-literal → template_literal}/index.d.mts +2 -2
  424. package/build/type/engine/{template-literal → template_literal}/index.mjs +2 -2
  425. package/build/type/engine/{template-literal → template_literal}/instantiate.d.mts +4 -4
  426. package/build/type/engine/template_literal/instantiate.mjs +15 -0
  427. package/build/type/engine/{template-literal/is-finite.mjs → template_literal/is_finite.mjs} +3 -7
  428. package/build/type/engine/{template-literal/is-pattern.mjs → template_literal/is_pattern.mjs} +1 -0
  429. package/build/type/engine/this/expand_this.d.mts +16 -0
  430. package/build/type/engine/this/expand_this.mjs +26 -0
  431. package/build/type/engine/with/instantiate.d.mts +8 -0
  432. package/build/type/engine/with/instantiate.mjs +14 -0
  433. package/build/type/extends/any.d.mts +1 -1
  434. package/build/type/extends/any.mjs +1 -1
  435. package/build/type/extends/array.d.mts +2 -2
  436. package/build/type/extends/array.mjs +2 -2
  437. package/build/type/extends/bigint.d.mts +1 -1
  438. package/build/type/extends/bigint.mjs +1 -1
  439. package/build/type/extends/boolean.d.mts +1 -1
  440. package/build/type/extends/boolean.mjs +1 -1
  441. package/build/type/extends/constructor.d.mts +1 -1
  442. package/build/type/extends/constructor.mjs +1 -1
  443. package/build/type/extends/dependent.d.mts +6 -0
  444. package/build/type/extends/dependent.mjs +6 -0
  445. package/build/type/extends/enum.d.mts +5 -5
  446. package/build/type/extends/enum.mjs +4 -3
  447. package/build/type/extends/extends.d.mts +5 -3
  448. package/build/type/extends/extends.mjs +10 -8
  449. package/build/type/extends/{extends-left.d.mts → extends_left.d.mts} +7 -9
  450. package/build/type/extends/{extends-left.mjs → extends_left.mjs} +26 -29
  451. package/build/type/extends/{extends-right.d.mts → extends_right.d.mts} +9 -7
  452. package/build/type/extends/extends_right.mjs +49 -0
  453. package/build/type/extends/function.d.mts +1 -1
  454. package/build/type/extends/function.mjs +1 -1
  455. package/build/type/extends/inference.d.mts +1 -1
  456. package/build/type/extends/inference.mjs +2 -2
  457. package/build/type/extends/integer.d.mts +1 -1
  458. package/build/type/extends/integer.mjs +1 -1
  459. package/build/type/extends/intersect.d.mts +1 -1
  460. package/build/type/extends/intersect.mjs +1 -1
  461. package/build/type/extends/literal.d.mts +2 -2
  462. package/build/type/extends/literal.mjs +2 -2
  463. package/build/type/extends/never.d.mts +1 -1
  464. package/build/type/extends/never.mjs +1 -1
  465. package/build/type/extends/null.d.mts +1 -1
  466. package/build/type/extends/null.mjs +1 -1
  467. package/build/type/extends/number.d.mts +1 -1
  468. package/build/type/extends/number.mjs +1 -1
  469. package/build/type/extends/object.d.mts +10 -3
  470. package/build/type/extends/object.mjs +27 -5
  471. package/build/type/extends/parameters.d.mts +1 -1
  472. package/build/type/extends/parameters.mjs +4 -3
  473. package/build/type/extends/record.d.mts +13 -0
  474. package/build/type/extends/record.mjs +23 -0
  475. package/build/type/extends/result.d.mts +1 -4
  476. package/build/type/extends/result.mjs +0 -3
  477. package/build/type/extends/{return-type.d.mts → return_type.d.mts} +1 -1
  478. package/build/type/extends/{return-type.mjs → return_type.mjs} +1 -1
  479. package/build/type/extends/string.d.mts +1 -1
  480. package/build/type/extends/string.mjs +1 -1
  481. package/build/type/extends/symbol.d.mts +1 -1
  482. package/build/type/extends/symbol.mjs +1 -1
  483. package/build/type/extends/template_literal.d.mts +6 -0
  484. package/build/type/extends/template_literal.mjs +7 -0
  485. package/build/type/extends/tuple.d.mts +5 -8
  486. package/build/type/extends/tuple.mjs +8 -7
  487. package/build/type/extends/undefined.d.mts +1 -1
  488. package/build/type/extends/undefined.mjs +1 -1
  489. package/build/type/extends/union.d.mts +1 -1
  490. package/build/type/extends/union.mjs +4 -3
  491. package/build/type/extends/unknown.d.mts +1 -1
  492. package/build/type/extends/unknown.mjs +1 -1
  493. package/build/type/extends/void.d.mts +1 -1
  494. package/build/type/extends/void.mjs +1 -1
  495. package/build/type/script/mapping.d.mts +86 -98
  496. package/build/type/script/mapping.mjs +95 -92
  497. package/build/type/script/parser.d.mts +42 -40
  498. package/build/type/script/parser.mjs +23 -22
  499. package/build/type/script/script.d.mts +3 -4
  500. package/build/type/script/script.mjs +3 -2
  501. package/build/type/script/token/internal/guard.d.mts +1 -1
  502. package/build/type/script/token/internal/guard.mjs +1 -1
  503. package/build/type/script/token/internal/take.mjs +5 -9
  504. package/build/type/script/token/until.mjs +4 -7
  505. package/build/type/types/_codec.d.mts +12 -12
  506. package/build/type/types/_codec.mjs +0 -1
  507. package/build/type/types/_immutable.d.mts +2 -9
  508. package/build/type/types/_immutable.mjs +2 -10
  509. package/build/type/types/_optional.d.mts +2 -9
  510. package/build/type/types/_optional.mjs +2 -11
  511. package/build/type/types/_readonly.d.mts +2 -9
  512. package/build/type/types/_readonly.mjs +2 -10
  513. package/build/type/types/_refine.d.mts +13 -8
  514. package/build/type/types/_refine.mjs +20 -4
  515. package/build/type/types/array.d.mts +2 -1
  516. package/build/type/types/array.mjs +2 -1
  517. package/build/type/types/call.d.mts +3 -3
  518. package/build/type/types/call.mjs +3 -2
  519. package/build/type/types/deferred.d.mts +1 -0
  520. package/build/type/types/deferred.mjs +1 -1
  521. package/build/type/types/dependent.d.mts +17 -0
  522. package/build/type/types/{iterator.mjs → dependent.mjs} +9 -9
  523. package/build/type/types/enum.d.mts +5 -3
  524. package/build/type/types/enum.mjs +7 -2
  525. package/build/type/types/function.mjs +1 -1
  526. package/build/type/types/index.d.mts +2 -5
  527. package/build/type/types/index.mjs +2 -5
  528. package/build/type/types/number.d.mts +1 -1
  529. package/build/type/types/number.mjs +1 -1
  530. package/build/type/types/object.mjs +1 -1
  531. package/build/type/types/properties.d.mts +2 -1
  532. package/build/type/types/record.d.mts +19 -15
  533. package/build/type/types/record.mjs +19 -17
  534. package/build/type/types/static.d.mts +3 -6
  535. package/build/type/types/{template-literal.d.mts → template_literal.d.mts} +6 -4
  536. package/build/type/types/{template-literal.mjs → template_literal.mjs} +10 -4
  537. package/build/type/types/unsafe.d.mts +1 -2
  538. package/build/type/types/unsafe.mjs +5 -3
  539. package/build/typebox.d.mts +11 -15
  540. package/build/typebox.mjs +10 -14
  541. package/build/value/clean/clean.mjs +5 -3
  542. package/build/value/clean/{from-array.mjs → from_array.mjs} +1 -1
  543. package/build/value/clean/{from-cyclic.mjs → from_cyclic.mjs} +1 -1
  544. package/build/value/clean/{from-intersect.mjs → from_intersect.mjs} +3 -3
  545. package/build/value/clean/{from-object.mjs → from_object.mjs} +1 -1
  546. package/build/value/clean/{from-record.mjs → from_record.mjs} +1 -1
  547. package/build/value/clean/{from-ref.mjs → from_ref.mjs} +1 -1
  548. package/build/value/clean/{from-tuple.mjs → from_tuple.mjs} +1 -1
  549. package/build/value/clean/from_type.mjs +21 -0
  550. package/build/value/clean/{from-union.mjs → from_union.mjs} +2 -3
  551. package/build/value/clone/clone.mjs +2 -72
  552. package/build/value/codec/decode.mjs +5 -3
  553. package/build/value/codec/encode.mjs +5 -3
  554. package/build/value/codec/{from-array.mjs → from_array.mjs} +2 -5
  555. package/build/value/codec/{from-cyclic.mjs → from_cyclic.mjs} +1 -1
  556. package/build/value/codec/{from-intersect.mjs → from_intersect.mjs} +1 -1
  557. package/build/value/codec/{from-object.mjs → from_object.mjs} +3 -6
  558. package/build/value/codec/{from-record.mjs → from_record.mjs} +3 -8
  559. package/build/value/codec/{from-ref.mjs → from_ref.mjs} +1 -1
  560. package/build/value/codec/{from-tuple.mjs → from_tuple.mjs} +2 -5
  561. package/build/value/codec/{from-type.mjs → from_type.mjs} +8 -8
  562. package/build/value/codec/{from-union.mjs → from_union.mjs} +3 -4
  563. package/build/value/convert/convert.mjs +1 -1
  564. package/build/value/convert/{from-additional.mjs → from_additional.mjs} +1 -1
  565. package/build/value/convert/from_array.mjs +7 -0
  566. package/build/value/convert/{from-bigint.mjs → from_bigint.mjs} +0 -3
  567. package/build/value/convert/{from-boolean.mjs → from_boolean.mjs} +0 -3
  568. package/build/value/convert/{from-cyclic.mjs → from_cyclic.mjs} +1 -1
  569. package/build/value/convert/from_enum.mjs +6 -0
  570. package/build/value/convert/{from-integer.mjs → from_integer.mjs} +0 -3
  571. package/build/value/convert/{from-intersect.mjs → from_intersect.mjs} +1 -1
  572. package/build/value/convert/{from-literal.d.mts → from_literal.d.mts} +1 -1
  573. package/build/value/convert/{from-null.mjs → from_null.mjs} +0 -3
  574. package/build/value/convert/{from-number.mjs → from_number.mjs} +0 -3
  575. package/build/value/convert/{from-object.mjs → from_object.mjs} +3 -3
  576. package/build/value/convert/{from-record.mjs → from_record.mjs} +2 -2
  577. package/build/value/convert/{from-ref.mjs → from_ref.mjs} +1 -1
  578. package/build/value/convert/{from-string.mjs → from_string.mjs} +0 -3
  579. package/build/value/convert/{from-template-literal.d.mts → from_template_literal.d.mts} +1 -1
  580. package/build/value/convert/from_template_literal.mjs +6 -0
  581. package/build/value/convert/{from-tuple.mjs → from_tuple.mjs} +1 -1
  582. package/build/value/convert/from_type.d.mts +2 -0
  583. package/build/value/convert/from_type.mjs +43 -0
  584. package/build/value/convert/{from-undefined.mjs → from_undefined.mjs} +0 -3
  585. package/build/value/convert/{from-union.mjs → from_union.mjs} +1 -1
  586. package/build/value/convert/{from-void.mjs → from_void.mjs} +0 -3
  587. package/build/value/convert/try/try.d.mts +8 -7
  588. package/build/value/convert/try/try.mjs +8 -7
  589. package/build/value/convert/try/try_array.d.mts +2 -0
  590. package/build/value/convert/try/try_array.mjs +6 -0
  591. package/build/value/convert/try/{try-bigint.d.mts → try_bigint.d.mts} +1 -1
  592. package/build/value/convert/try/{try-bigint.mjs → try_bigint.mjs} +5 -34
  593. package/build/value/convert/try/{try-boolean.d.mts → try_boolean.d.mts} +1 -1
  594. package/build/value/convert/try/{try-boolean.mjs → try_boolean.mjs} +4 -27
  595. package/build/value/convert/try/{try-null.d.mts → try_null.d.mts} +1 -1
  596. package/build/value/convert/try/{try-null.mjs → try_null.mjs} +3 -20
  597. package/build/value/convert/try/{try-number.d.mts → try_number.d.mts} +1 -1
  598. package/build/value/convert/try/try_number.mjs +44 -0
  599. package/build/value/convert/try/{try-result.mjs → try_result.mjs} +0 -1
  600. package/build/value/convert/try/{try-string.d.mts → try_string.d.mts} +1 -1
  601. package/build/value/convert/try/try_string.mjs +12 -0
  602. package/build/value/convert/try/{try-undefined.d.mts → try_undefined.d.mts} +1 -1
  603. package/build/value/convert/try/{try-undefined.mjs → try_undefined.mjs} +3 -20
  604. package/build/value/create/create.mjs +1 -1
  605. package/build/value/create/{from-array.mjs → from_array.mjs} +1 -1
  606. package/build/value/create/{from-constructor.mjs → from_constructor.mjs} +1 -1
  607. package/build/value/create/{from-cyclic.mjs → from_cyclic.mjs} +1 -1
  608. package/build/value/create/from_enum.mjs +6 -0
  609. package/build/value/create/{from-function.mjs → from_function.mjs} +1 -1
  610. package/build/value/create/{from-intersect.mjs → from_intersect.mjs} +1 -1
  611. package/build/value/create/{from-object.mjs → from_object.mjs} +1 -1
  612. package/build/value/create/{from-ref.mjs → from_ref.mjs} +1 -1
  613. package/build/value/create/{from-template-literal.mjs → from_template_literal.mjs} +2 -2
  614. package/build/value/create/{from-tuple.mjs → from_tuple.mjs} +1 -1
  615. package/build/value/create/from_type.mjs +61 -0
  616. package/build/value/create/{from-union.mjs → from_union.mjs} +1 -1
  617. package/build/value/default/default.mjs +1 -1
  618. package/build/value/default/{from-array.mjs → from_array.mjs} +1 -1
  619. package/build/value/{clean/from-cyclic.d.mts → default/from_cyclic.d.mts} +1 -1
  620. package/build/value/default/{from-cyclic.mjs → from_cyclic.mjs} +1 -1
  621. package/build/value/default/{from-intersect.mjs → from_intersect.mjs} +1 -1
  622. package/build/value/default/{from-object.mjs → from_object.mjs} +2 -2
  623. package/build/value/default/{from-record.mjs → from_record.mjs} +1 -1
  624. package/build/value/default/{from-ref.mjs → from_ref.mjs} +1 -1
  625. package/build/value/default/{from-tuple.mjs → from_tuple.mjs} +1 -1
  626. package/build/value/default/from_type.mjs +25 -0
  627. package/build/value/default/{from-union.mjs → from_union.mjs} +1 -1
  628. package/build/value/delta/diff.mjs +6 -0
  629. package/build/value/errors/errors.d.mts +2 -2
  630. package/build/value/errors/errors.mjs +1 -1
  631. package/build/value/index.d.mts +0 -1
  632. package/build/value/index.mjs +0 -1
  633. package/build/value/repair/{from-array.mjs → from_array.mjs} +1 -1
  634. package/build/value/repair/from_enum.mjs +6 -0
  635. package/build/value/repair/from_intersect.d.mts +2 -0
  636. package/build/value/repair/{from-intersect.mjs → from_intersect.mjs} +1 -1
  637. package/build/value/repair/{from-object.mjs → from_object.mjs} +1 -1
  638. package/build/value/repair/{from-record.mjs → from_record.mjs} +1 -1
  639. package/build/value/repair/{from-ref.mjs → from_ref.mjs} +1 -1
  640. package/build/value/{convert/from-template-literal.mjs → repair/from_template_literal.mjs} +2 -2
  641. package/build/value/repair/{from-tuple.mjs → from_tuple.mjs} +1 -1
  642. package/build/value/repair/{from-type.mjs → from_type.mjs} +34 -32
  643. package/build/value/{clean/from-union.d.mts → repair/from_union.d.mts} +1 -1
  644. package/build/value/repair/{from-union.mjs → from_union.mjs} +2 -2
  645. package/build/value/repair/repair.mjs +1 -1
  646. package/build/value/shared/index.d.mts +3 -3
  647. package/build/value/shared/index.mjs +3 -3
  648. package/build/value/shared/union_priority_sort.d.mts +7 -0
  649. package/build/value/shared/union_priority_sort.mjs +72 -0
  650. package/build/value/value.d.mts +0 -1
  651. package/build/value/value.mjs +0 -1
  652. package/changes.json +1 -1
  653. package/package.json +22 -22
  654. package/readme.md +214 -95
  655. package/build/format/idn-email.mjs +0 -8
  656. package/build/schema/engine/_guard.d.mts +0 -6
  657. package/build/schema/engine/_guard.mjs +0 -26
  658. package/build/schema/static/~non-readonly.d.mts +0 -7
  659. package/build/schema/static/~readonly.d.mts +0 -6
  660. package/build/schema/static/~readonly.mjs +0 -2
  661. package/build/schema/types/_guard.d.mts +0 -10
  662. package/build/schema/types/_guard.mjs +0 -16
  663. package/build/type/action/_optional.d.mts +0 -19
  664. package/build/type/action/_optional.mjs +0 -40
  665. package/build/type/action/_readonly.d.mts +0 -19
  666. package/build/type/action/_readonly.mjs +0 -40
  667. package/build/type/action/awaited.d.mts +0 -11
  668. package/build/type/action/awaited.mjs +0 -12
  669. package/build/type/action/options.d.mts +0 -12
  670. package/build/type/action/options.mjs +0 -12
  671. package/build/type/action/readonly-type.d.mts +0 -11
  672. package/build/type/action/readonly-type.mjs +0 -12
  673. package/build/type/engine/awaited/instantiate.d.mts +0 -10
  674. package/build/type/engine/awaited/instantiate.mjs +0 -19
  675. package/build/type/engine/constructor-parameters/instantiate.d.mts +0 -14
  676. package/build/type/engine/constructor-parameters/instantiate.mjs +0 -22
  677. package/build/type/engine/enum/enum-to-union.d.mts +0 -14
  678. package/build/type/engine/enum/enum-to-union.mjs +0 -24
  679. package/build/type/engine/indexable/from-enum.d.mts +0 -6
  680. package/build/type/engine/indexable/from-enum.mjs +0 -8
  681. package/build/type/engine/indexable/from-template-literal.d.mts +0 -5
  682. package/build/type/engine/indexable/from-template-literal.mjs +0 -8
  683. package/build/type/engine/indexable/from-type.d.mts +0 -17
  684. package/build/type/engine/indexable/from-type.mjs +0 -22
  685. package/build/type/engine/indexed/from-object.d.mts +0 -9
  686. package/build/type/engine/indexed/from-object.mjs +0 -18
  687. package/build/type/engine/instance-type/instantiate.d.mts +0 -12
  688. package/build/type/engine/intrinsics/from-template-literal.mjs +0 -8
  689. package/build/type/engine/mapped/mapped-variants.d.mts +0 -15
  690. package/build/type/engine/mapped/mapped-variants.mjs +0 -29
  691. package/build/type/engine/non-nullable/instantiate.d.mts +0 -15
  692. package/build/type/engine/non-nullable/instantiate.mjs +0 -22
  693. package/build/type/engine/object/from-type.d.mts +0 -14
  694. package/build/type/engine/object/from-type.mjs +0 -20
  695. package/build/type/engine/options/instantiate.d.mts +0 -8
  696. package/build/type/engine/options/instantiate.mjs +0 -13
  697. package/build/type/engine/partial/from-intersect.d.mts +0 -5
  698. package/build/type/engine/partial/from-intersect.mjs +0 -7
  699. package/build/type/engine/partial/from-type.d.mts +0 -12
  700. package/build/type/engine/partial/from-type.mjs +0 -17
  701. package/build/type/engine/readonly-type/from-intersect.d.mts +0 -5
  702. package/build/type/engine/readonly-type/from-intersect.mjs +0 -7
  703. package/build/type/engine/readonly-type/from-type.d.mts +0 -16
  704. package/build/type/engine/readonly-type/from-type.mjs +0 -22
  705. package/build/type/engine/readonly-type/instantiate.d.mts +0 -9
  706. package/build/type/engine/readonly-type/instantiate.mjs +0 -14
  707. package/build/type/engine/record/from-key-enum.mjs +0 -8
  708. package/build/type/engine/record/from-key-template-literal.mjs +0 -12
  709. package/build/type/engine/required/from-intersect.d.mts +0 -5
  710. package/build/type/engine/required/from-intersect.mjs +0 -7
  711. package/build/type/engine/required/from-type.d.mts +0 -12
  712. package/build/type/engine/required/from-type.mjs +0 -17
  713. package/build/type/engine/return-type/index.d.mts +0 -1
  714. package/build/type/engine/return-type/index.mjs +0 -1
  715. package/build/type/engine/return-type/instantiate.d.mts +0 -11
  716. package/build/type/engine/return-type/instantiate.mjs +0 -18
  717. package/build/type/engine/template-literal/instantiate.mjs +0 -14
  718. package/build/type/extends/async-iterator.d.mts +0 -7
  719. package/build/type/extends/async-iterator.mjs +0 -9
  720. package/build/type/extends/extends-right.mjs +0 -43
  721. package/build/type/extends/iterator.d.mts +0 -7
  722. package/build/type/extends/iterator.mjs +0 -9
  723. package/build/type/extends/promise.d.mts +0 -7
  724. package/build/type/extends/promise.mjs +0 -9
  725. package/build/type/extends/template-literal.d.mts +0 -6
  726. package/build/type/extends/template-literal.mjs +0 -7
  727. package/build/type/types/async-iterator.d.mts +0 -16
  728. package/build/type/types/async-iterator.mjs +0 -24
  729. package/build/type/types/base.d.mts +0 -50
  730. package/build/type/types/base.mjs +0 -84
  731. package/build/type/types/iterator.d.mts +0 -16
  732. package/build/type/types/promise.d.mts +0 -16
  733. package/build/type/types/promise.mjs +0 -24
  734. package/build/value/clean/from-base.d.mts +0 -2
  735. package/build/value/clean/from-base.mjs +0 -4
  736. package/build/value/clean/from-type.mjs +0 -23
  737. package/build/value/convert/from-array.mjs +0 -8
  738. package/build/value/convert/from-base.d.mts +0 -2
  739. package/build/value/convert/from-base.mjs +0 -4
  740. package/build/value/convert/from-enum.mjs +0 -7
  741. package/build/value/convert/from-type.mjs +0 -45
  742. package/build/value/convert/try/try-number.mjs +0 -76
  743. package/build/value/convert/try/try-string.mjs +0 -56
  744. package/build/value/create/from-async-iterator.d.mts +0 -2
  745. package/build/value/create/from-async-iterator.mjs +0 -5
  746. package/build/value/create/from-base.d.mts +0 -2
  747. package/build/value/create/from-base.mjs +0 -4
  748. package/build/value/create/from-enum.mjs +0 -6
  749. package/build/value/create/from-iterator.d.mts +0 -2
  750. package/build/value/create/from-iterator.mjs +0 -5
  751. package/build/value/create/from-promise.d.mts +0 -2
  752. package/build/value/create/from-promise.mjs +0 -5
  753. package/build/value/create/from-type.mjs +0 -69
  754. package/build/value/default/from-base.d.mts +0 -2
  755. package/build/value/default/from-base.mjs +0 -5
  756. package/build/value/default/from-intersect.d.mts +0 -2
  757. package/build/value/default/from-type.mjs +0 -27
  758. package/build/value/mutate/error.d.mts +0 -3
  759. package/build/value/mutate/error.mjs +0 -6
  760. package/build/value/mutate/from-array.d.mts +0 -2
  761. package/build/value/mutate/from-array.mjs +0 -16
  762. package/build/value/mutate/from-object.d.mts +0 -2
  763. package/build/value/mutate/from-object.mjs +0 -27
  764. package/build/value/mutate/from-unknown.d.mts +0 -2
  765. package/build/value/mutate/from-unknown.mjs +0 -7
  766. package/build/value/mutate/from-value.d.mts +0 -2
  767. package/build/value/mutate/from-value.mjs +0 -12
  768. package/build/value/mutate/index.d.mts +0 -1
  769. package/build/value/mutate/index.mjs +0 -1
  770. package/build/value/mutate/mutate.d.mts +0 -9
  771. package/build/value/mutate/mutate.mjs +0 -39
  772. package/build/value/repair/from-base.d.mts +0 -2
  773. package/build/value/repair/from-base.mjs +0 -8
  774. package/build/value/repair/from-enum.mjs +0 -7
  775. package/build/value/repair/from-template-literal.mjs +0 -7
  776. package/build/value/repair/from-type.d.mts +0 -2
  777. package/build/value/shared/union-priority-sort.d.mts +0 -3
  778. package/build/value/shared/union-priority-sort.mjs +0 -36
  779. /package/build/format/{date-time.d.mts → date_time.d.mts} +0 -0
  780. /package/build/format/{date-time.mjs → date_time.mjs} +0 -0
  781. /package/build/format/{idn-hostname.d.mts → idn_hostname.d.mts} +0 -0
  782. /package/build/format/{idn-hostname.mjs → idn_hostname.mjs} +0 -0
  783. /package/build/format/{iri-reference.d.mts → iri_reference.d.mts} +0 -0
  784. /package/build/format/{iri-reference.mjs → iri_reference.mjs} +0 -0
  785. /package/build/format/{json-pointer.d.mts → json_pointer.d.mts} +0 -0
  786. /package/build/format/{json-pointer.mjs → json_pointer.mjs} +0 -0
  787. /package/build/format/{json-pointer-uri-fragment.d.mts → json_pointer_uri_fragment.d.mts} +0 -0
  788. /package/build/format/{json-pointer-uri-fragment.mjs → json_pointer_uri_fragment.mjs} +0 -0
  789. /package/build/format/{relative-json-pointer.d.mts → relative_json_pointer.d.mts} +0 -0
  790. /package/build/format/{relative-json-pointer.mjs → relative_json_pointer.mjs} +0 -0
  791. /package/build/format/{uri-reference.d.mts → uri_reference.d.mts} +0 -0
  792. /package/build/format/{uri-reference.mjs → uri_reference.mjs} +0 -0
  793. /package/build/format/{uri-template.d.mts → uri_template.d.mts} +0 -0
  794. /package/build/format/{uri-template.mjs → uri_template.mjs} +0 -0
  795. /package/build/schema/pointer/{pointer-get.d.mts → pointer_get.d.mts} +0 -0
  796. /package/build/schema/pointer/{pointer-get.mjs → pointer_get.mjs} +0 -0
  797. /package/build/schema/static/{~comparer.mjs → _canonical.mjs} +0 -0
  798. /package/build/schema/static/{~comparer.d.mts → _comparer.d.mts} +0 -0
  799. /package/build/schema/static/{~elements.mjs → _comparer.mjs} +0 -0
  800. /package/build/schema/static/{~non-readonly.mjs → _elements.mjs} +0 -0
  801. /package/build/type/engine/call/{distribute-arguments.d.mts → distribute_arguments.d.mts} +0 -0
  802. /package/build/type/engine/call/{resolve-arguments.d.mts → resolve_arguments.d.mts} +0 -0
  803. /package/build/type/engine/call/{resolve-target.d.mts → resolve_target.d.mts} +0 -0
  804. /package/build/type/engine/call/{resolve-target.mjs → resolve_target.mjs} +0 -0
  805. /package/build/type/engine/{awaited → constructor_parameters}/index.d.mts +0 -0
  806. /package/build/type/engine/{awaited → constructor_parameters}/index.mjs +0 -0
  807. /package/build/type/engine/enum/{typescript-enum-to-enum-values.d.mts → typescript_enum_to_enum_values.d.mts} +0 -0
  808. /package/build/type/engine/enum/{typescript-enum-to-enum-values.mjs → typescript_enum_to_enum_values.mjs} +0 -0
  809. /package/build/type/engine/helpers/{keys-to-indexer.d.mts → keys_to_indexer.d.mts} +0 -0
  810. /package/build/type/engine/helpers/{keys-to-indexer.mjs → keys_to_indexer.mjs} +0 -0
  811. /package/build/type/engine/indexable/{from-literal.mjs → from_literal.mjs} +0 -0
  812. /package/build/type/engine/indexable/{to-indexable.d.mts → to_indexable.d.mts} +0 -0
  813. /package/build/type/engine/indexable/{to-indexable.mjs → to_indexable.mjs} +0 -0
  814. /package/build/type/engine/indexed/{array-indexer.d.mts → array_indexer.d.mts} +0 -0
  815. /package/build/type/engine/indexed/{array-indexer.mjs → array_indexer.mjs} +0 -0
  816. /package/build/type/engine/indexed/{from-array.d.mts → from_array.d.mts} +0 -0
  817. /package/build/type/engine/indexed/{from-array.mjs → from_array.mjs} +0 -0
  818. /package/build/type/engine/{constructor-parameters → instance_type}/index.d.mts +0 -0
  819. /package/build/type/engine/{constructor-parameters → instance_type}/index.mjs +0 -0
  820. /package/build/type/engine/intrinsics/{from-literal.d.mts → from_literal.d.mts} +0 -0
  821. /package/build/type/engine/intrinsics/{from-literal.mjs → from_literal.mjs} +0 -0
  822. /package/build/type/engine/keyof/{from-any.d.mts → from_any.d.mts} +0 -0
  823. /package/build/type/engine/keyof/{from-any.mjs → from_any.mjs} +0 -0
  824. /package/build/type/engine/keyof/{from-array.d.mts → from_array.d.mts} +0 -0
  825. /package/build/type/engine/keyof/{from-array.mjs → from_array.mjs} +0 -0
  826. /package/build/type/engine/keyof/{from-object.d.mts → from_object.d.mts} +0 -0
  827. /package/build/type/engine/keyof/{from-object.mjs → from_object.mjs} +0 -0
  828. /package/build/type/engine/keyof/{from-record.d.mts → from_record.d.mts} +0 -0
  829. /package/build/type/engine/keyof/{from-record.mjs → from_record.mjs} +0 -0
  830. /package/build/type/engine/keyof/{from-tuple.d.mts → from_tuple.d.mts} +0 -0
  831. /package/build/type/engine/keyof/{from-tuple.mjs → from_tuple.mjs} +0 -0
  832. /package/build/type/engine/{instance-type → non_nullable}/index.d.mts +0 -0
  833. /package/build/type/engine/{instance-type → non_nullable}/index.mjs +0 -0
  834. /package/build/type/engine/object/{from-object.d.mts → from_object.d.mts} +0 -0
  835. /package/build/type/engine/object/{from-object.mjs → from_object.mjs} +0 -0
  836. /package/build/type/engine/{non-nullable → readonly_object}/index.d.mts +0 -0
  837. /package/build/type/engine/{non-nullable → readonly_object}/index.mjs +0 -0
  838. /package/build/type/engine/record/{from-key-any.d.mts → from_key_any.d.mts} +0 -0
  839. /package/build/type/engine/record/{from-key-boolean.d.mts → from_key_boolean.d.mts} +0 -0
  840. /package/build/type/engine/record/{from-key-boolean.mjs → from_key_boolean.mjs} +0 -0
  841. /package/build/type/engine/record/{from-key-integer.d.mts → from_key_integer.d.mts} +0 -0
  842. /package/build/type/engine/record/{from-key-literal.d.mts → from_key_literal.d.mts} +0 -0
  843. /package/build/type/engine/record/{from-key-literal.mjs → from_key_literal.mjs} +0 -0
  844. /package/build/type/engine/record/{from-key-number.d.mts → from_key_number.d.mts} +0 -0
  845. /package/build/type/engine/record/{from-key-string.d.mts → from_key_string.d.mts} +0 -0
  846. /package/build/type/engine/record/{from-key-union.d.mts → from_key_union.d.mts} +0 -0
  847. /package/build/type/engine/record/{record-create.d.mts → record_create.d.mts} +0 -0
  848. /package/build/type/engine/record/{record-create.mjs → record_create.mjs} +0 -0
  849. /package/build/type/engine/{options → return_type}/index.d.mts +0 -0
  850. /package/build/type/engine/{options → return_type}/index.mjs +0 -0
  851. /package/build/type/engine/{template-literal → template_literal}/create.d.mts +0 -0
  852. /package/build/type/engine/{template-literal → template_literal}/create.mjs +0 -0
  853. /package/build/type/engine/{template-literal/is-finite.d.mts → template_literal/is_finite.d.mts} +0 -0
  854. /package/build/type/engine/{template-literal/is-pattern.d.mts → template_literal/is_pattern.d.mts} +0 -0
  855. /package/build/type/engine/{template-literal → template_literal}/static.d.mts +0 -0
  856. /package/build/type/engine/{template-literal → template_literal}/static.mjs +0 -0
  857. /package/build/type/engine/tuple/{to-object.d.mts → to_object.d.mts} +0 -0
  858. /package/build/type/engine/tuple/{to-object.mjs → to_object.mjs} +0 -0
  859. /package/build/type/engine/{readonly-type → with}/index.d.mts +0 -0
  860. /package/build/type/engine/{readonly-type → with}/index.mjs +0 -0
  861. /package/build/value/clean/{from-array.d.mts → from_array.d.mts} +0 -0
  862. /package/build/value/{convert/from-cyclic.d.mts → clean/from_cyclic.d.mts} +0 -0
  863. /package/build/value/clean/{from-intersect.d.mts → from_intersect.d.mts} +0 -0
  864. /package/build/value/clean/{from-object.d.mts → from_object.d.mts} +0 -0
  865. /package/build/value/clean/{from-record.d.mts → from_record.d.mts} +0 -0
  866. /package/build/value/clean/{from-ref.d.mts → from_ref.d.mts} +0 -0
  867. /package/build/value/clean/{from-tuple.d.mts → from_tuple.d.mts} +0 -0
  868. /package/build/value/clean/{from-type.d.mts → from_type.d.mts} +0 -0
  869. /package/build/value/{repair/from-union.d.mts → clean/from_union.d.mts} +0 -0
  870. /package/build/value/codec/{from-array.d.mts → from_array.d.mts} +0 -0
  871. /package/build/value/codec/{from-cyclic.d.mts → from_cyclic.d.mts} +0 -0
  872. /package/build/value/codec/{from-intersect.d.mts → from_intersect.d.mts} +0 -0
  873. /package/build/value/codec/{from-object.d.mts → from_object.d.mts} +0 -0
  874. /package/build/value/codec/{from-record.d.mts → from_record.d.mts} +0 -0
  875. /package/build/value/codec/{from-ref.d.mts → from_ref.d.mts} +0 -0
  876. /package/build/value/codec/{from-tuple.d.mts → from_tuple.d.mts} +0 -0
  877. /package/build/value/codec/{from-type.d.mts → from_type.d.mts} +0 -0
  878. /package/build/value/codec/{from-union.d.mts → from_union.d.mts} +0 -0
  879. /package/build/value/convert/{from-additional.d.mts → from_additional.d.mts} +0 -0
  880. /package/build/value/convert/{from-array.d.mts → from_array.d.mts} +0 -0
  881. /package/build/value/convert/{from-bigint.d.mts → from_bigint.d.mts} +0 -0
  882. /package/build/value/convert/{from-boolean.d.mts → from_boolean.d.mts} +0 -0
  883. /package/build/value/{default/from-cyclic.d.mts → convert/from_cyclic.d.mts} +0 -0
  884. /package/build/value/convert/{from-enum.d.mts → from_enum.d.mts} +0 -0
  885. /package/build/value/convert/{from-integer.d.mts → from_integer.d.mts} +0 -0
  886. /package/build/value/convert/{from-intersect.d.mts → from_intersect.d.mts} +0 -0
  887. /package/build/value/convert/{from-literal.mjs → from_literal.mjs} +0 -0
  888. /package/build/value/convert/{from-null.d.mts → from_null.d.mts} +0 -0
  889. /package/build/value/convert/{from-number.d.mts → from_number.d.mts} +0 -0
  890. /package/build/value/convert/{from-object.d.mts → from_object.d.mts} +0 -0
  891. /package/build/value/convert/{from-record.d.mts → from_record.d.mts} +0 -0
  892. /package/build/value/convert/{from-ref.d.mts → from_ref.d.mts} +0 -0
  893. /package/build/value/convert/{from-string.d.mts → from_string.d.mts} +0 -0
  894. /package/build/value/convert/{from-tuple.d.mts → from_tuple.d.mts} +0 -0
  895. /package/build/value/convert/{from-undefined.d.mts → from_undefined.d.mts} +0 -0
  896. /package/build/value/convert/{from-union.d.mts → from_union.d.mts} +0 -0
  897. /package/build/value/convert/{from-void.d.mts → from_void.d.mts} +0 -0
  898. /package/build/value/convert/try/{try-result.d.mts → try_result.d.mts} +0 -0
  899. /package/build/value/create/{from-array.d.mts → from_array.d.mts} +0 -0
  900. /package/build/value/create/{from-bigint.d.mts → from_bigint.d.mts} +0 -0
  901. /package/build/value/create/{from-bigint.mjs → from_bigint.mjs} +0 -0
  902. /package/build/value/create/{from-boolean.d.mts → from_boolean.d.mts} +0 -0
  903. /package/build/value/create/{from-boolean.mjs → from_boolean.mjs} +0 -0
  904. /package/build/value/create/{from-constructor.d.mts → from_constructor.d.mts} +0 -0
  905. /package/build/value/create/{from-cyclic.d.mts → from_cyclic.d.mts} +0 -0
  906. /package/build/value/create/{from-default.d.mts → from_default.d.mts} +0 -0
  907. /package/build/value/create/{from-default.mjs → from_default.mjs} +0 -0
  908. /package/build/value/create/{from-enum.d.mts → from_enum.d.mts} +0 -0
  909. /package/build/value/create/{from-function.d.mts → from_function.d.mts} +0 -0
  910. /package/build/value/create/{from-integer.d.mts → from_integer.d.mts} +0 -0
  911. /package/build/value/create/{from-integer.mjs → from_integer.mjs} +0 -0
  912. /package/build/value/create/{from-intersect.d.mts → from_intersect.d.mts} +0 -0
  913. /package/build/value/create/{from-literal.d.mts → from_literal.d.mts} +0 -0
  914. /package/build/value/create/{from-literal.mjs → from_literal.mjs} +0 -0
  915. /package/build/value/create/{from-never.d.mts → from_never.d.mts} +0 -0
  916. /package/build/value/create/{from-never.mjs → from_never.mjs} +0 -0
  917. /package/build/value/create/{from-null.d.mts → from_null.d.mts} +0 -0
  918. /package/build/value/create/{from-null.mjs → from_null.mjs} +0 -0
  919. /package/build/value/create/{from-number.d.mts → from_number.d.mts} +0 -0
  920. /package/build/value/create/{from-number.mjs → from_number.mjs} +0 -0
  921. /package/build/value/create/{from-object.d.mts → from_object.d.mts} +0 -0
  922. /package/build/value/create/{from-record.d.mts → from_record.d.mts} +0 -0
  923. /package/build/value/create/{from-record.mjs → from_record.mjs} +0 -0
  924. /package/build/value/create/{from-ref.d.mts → from_ref.d.mts} +0 -0
  925. /package/build/value/create/{from-string.d.mts → from_string.d.mts} +0 -0
  926. /package/build/value/create/{from-string.mjs → from_string.mjs} +0 -0
  927. /package/build/value/create/{from-symbol.d.mts → from_symbol.d.mts} +0 -0
  928. /package/build/value/create/{from-symbol.mjs → from_symbol.mjs} +0 -0
  929. /package/build/value/create/{from-template-literal.d.mts → from_template_literal.d.mts} +0 -0
  930. /package/build/value/create/{from-tuple.d.mts → from_tuple.d.mts} +0 -0
  931. /package/build/value/create/{from-type.d.mts → from_type.d.mts} +0 -0
  932. /package/build/value/create/{from-undefined.d.mts → from_undefined.d.mts} +0 -0
  933. /package/build/value/create/{from-undefined.mjs → from_undefined.mjs} +0 -0
  934. /package/build/value/create/{from-union.d.mts → from_union.d.mts} +0 -0
  935. /package/build/value/create/{from-void.d.mts → from_void.d.mts} +0 -0
  936. /package/build/value/create/{from-void.mjs → from_void.mjs} +0 -0
  937. /package/build/value/default/{from-array.d.mts → from_array.d.mts} +0 -0
  938. /package/build/value/default/{from-default.d.mts → from_default.d.mts} +0 -0
  939. /package/build/value/default/{from-default.mjs → from_default.mjs} +0 -0
  940. /package/build/value/{repair/from-intersect.d.mts → default/from_intersect.d.mts} +0 -0
  941. /package/build/value/default/{from-object.d.mts → from_object.d.mts} +0 -0
  942. /package/build/value/default/{from-record.d.mts → from_record.d.mts} +0 -0
  943. /package/build/value/default/{from-ref.d.mts → from_ref.d.mts} +0 -0
  944. /package/build/value/default/{from-tuple.d.mts → from_tuple.d.mts} +0 -0
  945. /package/build/value/{convert/from-type.d.mts → default/from_type.d.mts} +0 -0
  946. /package/build/value/default/{from-union.d.mts → from_union.d.mts} +0 -0
  947. /package/build/value/repair/{from-array.d.mts → from_array.d.mts} +0 -0
  948. /package/build/value/repair/{from-enum.d.mts → from_enum.d.mts} +0 -0
  949. /package/build/value/repair/{from-object.d.mts → from_object.d.mts} +0 -0
  950. /package/build/value/repair/{from-record.d.mts → from_record.d.mts} +0 -0
  951. /package/build/value/repair/{from-ref.d.mts → from_ref.d.mts} +0 -0
  952. /package/build/value/repair/{from-template-literal.d.mts → from_template_literal.d.mts} +0 -0
  953. /package/build/value/repair/{from-tuple.d.mts → from_tuple.d.mts} +0 -0
  954. /package/build/value/{default/from-type.d.mts → repair/from_type.d.mts} +0 -0
  955. /package/build/value/repair/{from-unknown.d.mts → from_unknown.d.mts} +0 -0
  956. /package/build/value/repair/{from-unknown.mjs → from_unknown.mjs} +0 -0
  957. /package/build/value/shared/{optional-undefined.d.mts → optional_undefined.d.mts} +0 -0
  958. /package/build/value/shared/{optional-undefined.mjs → optional_undefined.mjs} +0 -0
  959. /package/build/value/shared/{union-score-select.d.mts → union_score_select.d.mts} +0 -0
  960. /package/build/value/shared/{union-score-select.mjs → union_score_select.mjs} +0 -0
package/README.md CHANGED
@@ -13,8 +13,8 @@ npm install @depup/typebox
13
13
 
14
14
  | Field | Value |
15
15
  |-------|-------|
16
- | Original | [typebox](https://www.npmjs.com/package/typebox) @ 1.1.21 |
17
- | Processed | 2026-04-09 |
16
+ | Original | [typebox](https://www.npmjs.com/package/typebox) @ 1.3.8 |
17
+ | Processed | 2026-07-26 |
18
18
  | Smoke test | passed |
19
19
  | Deps updated | 0 |
20
20
 
@@ -45,8 +45,8 @@ function FunctionSection(build) {
45
45
  // ------------------------------------------------------------------
46
46
  function ExportSection(build) {
47
47
  const body = build.UseUnevaluated()
48
- ? `const context = new CheckContext({}, {}); return ${build.Call()}`
49
- : `return ${build.Call()}`;
48
+ ? `const context = new CheckContext({}, {}); return ${build.Entry()}`
49
+ : `return ${build.Entry()}`;
50
50
  return [
51
51
  Separator(),
52
52
  TsIgnore(),
@@ -1,16 +1,11 @@
1
1
  import { type TLocalizedValidationError } from '../error/index.mjs';
2
- import { type StaticDecode, type StaticEncode, type TProperties, type TSchema, Base } from '../type/index.mjs';
3
- export declare class Validator<Context extends TProperties = TProperties, Type extends TSchema = TSchema, Encode extends unknown = StaticEncode<Type, Context>, Decode extends unknown = StaticDecode<Type, Context>> extends Base<Encode> {
4
- private readonly context;
5
- private readonly type;
6
- private readonly isAccelerated;
2
+ import { type StaticDecode, type StaticEncode, type TProperties, type TSchema } from '../type/index.mjs';
3
+ export declare class Validator<Context extends TProperties = TProperties, Type extends TSchema = TSchema, Encode extends unknown = StaticEncode<Type, Context>, Decode extends unknown = StaticDecode<Type, Context>> {
7
4
  private readonly hasCodec;
8
- private readonly code;
9
- private readonly check;
10
- /** Constructs a Validator with the given Context and Type. */
5
+ private readonly buildResult;
6
+ private readonly evaluateResult;
7
+ /** Constructs a Validator. */
11
8
  constructor(context: Context, type: Type);
12
- /** Constructs a Validator with the given arguments. */
13
- constructor(context: Context, type: Type, isEvaluated: boolean, hasCodec: boolean, code: string, check: (value: unknown) => boolean);
14
9
  /** Returns true if this Validator is using JIT acceleration. */
15
10
  IsAccelerated(): boolean;
16
11
  /** Returns the Context for this validator. */
@@ -21,6 +16,8 @@ export declare class Validator<Context extends TProperties = TProperties, Type e
21
16
  Code(): string;
22
17
  /** Performs a type-guard check on the provided value. */
23
18
  Check(value: unknown): value is Encode;
19
+ /** Validates a value and returns it. Will throw if invalid. */
20
+ Parse(value: unknown): Encode;
24
21
  /** Inspects a value and returns a detailed list of validation errors. */
25
22
  Errors(value: unknown): TLocalizedValidationError[];
26
23
  /** Cleans a value using the Validator type. */
@@ -31,10 +28,6 @@ export declare class Validator<Context extends TProperties = TProperties, Type e
31
28
  Create(): Encode;
32
29
  /** Creates defaults using the Validator type. */
33
30
  Default(value: unknown): unknown;
34
- /** Clones this validator. */
35
- Clone(): Validator<Context, Type>;
36
- /** Validates a value and returns it. Will throw if invalid. */
37
- Parse(value: unknown): Encode;
38
31
  /** Decodes a value */
39
32
  Decode(value: unknown): Decode;
40
33
  /** Encodes a value */
@@ -1,116 +1,91 @@
1
1
  // deno-fmt-ignore-file
2
2
  import { Settings } from '../system/settings/index.mjs';
3
- import { Arguments } from '../system/arguments/index.mjs';
4
- import { Environment } from '../system/environment/index.mjs';
5
- import { Base } from '../type/index.mjs';
6
3
  import { Errors, Clean, Convert, Create, Default, Decode, Encode, HasCodec, Parser, ParseError } from '../value/index.mjs';
7
4
  import { Build } from '../schema/index.mjs';
8
5
  // ------------------------------------------------------------------
9
6
  // Validator<...>
10
7
  // ------------------------------------------------------------------
11
- export class Validator extends Base {
8
+ export class Validator {
12
9
  /** Constructs a Validator. */
13
- constructor(...args) {
14
- super();
15
- const matched = Arguments.Match(args, {
16
- 6: (context, type, isEvalulated, hasCodec, code, check) => [context, type, isEvalulated, hasCodec, code, check],
17
- 2: (context, type) => [context, type]
18
- });
19
- if (matched.length === 6) {
20
- const [context, type, isEvaluated, hasCodec, code, check] = matched;
21
- this.context = context;
22
- this.type = type;
23
- this.isAccelerated = isEvaluated;
24
- this.hasCodec = hasCodec;
25
- this.code = code;
26
- this.check = check;
27
- }
28
- else {
29
- const [context, type] = matched;
30
- const result = Build(context, type).Evaluate();
31
- this.hasCodec = HasCodec(context, type);
32
- this.context = context;
33
- this.type = type;
34
- this.isAccelerated = result.IsAccelerated;
35
- this.code = result.Code;
36
- this.check = result.Check;
37
- }
10
+ constructor(context, type) {
11
+ this.hasCodec = HasCodec(context, type);
12
+ this.buildResult = Build(context, type);
13
+ this.evaluateResult = this.buildResult.Evaluate();
38
14
  }
39
15
  // ----------------------------------------------------------------
40
16
  // IsAccelerated
41
17
  // ----------------------------------------------------------------
42
18
  /** Returns true if this Validator is using JIT acceleration. */
43
19
  IsAccelerated() {
44
- return this.isAccelerated;
20
+ return this.evaluateResult.IsAccelerated();
45
21
  }
46
22
  // ----------------------------------------------------------------
47
- // Context | Type
23
+ // Context & Type
48
24
  // ----------------------------------------------------------------
49
25
  /** Returns the Context for this validator. */
50
26
  Context() {
51
- return this.context;
27
+ return this.buildResult.Context();
52
28
  }
53
29
  /** Returns the underlying Type used to construct this Validator. */
54
30
  Type() {
55
- return this.type;
31
+ return this.buildResult.Schema();
56
32
  }
57
33
  // ----------------------------------------------------------------
58
34
  // Code
59
35
  // ----------------------------------------------------------------
60
36
  /** Returns the generated code for this validator. */
61
37
  Code() {
62
- return this.code;
38
+ return this.evaluateResult.Code();
63
39
  }
64
40
  // ----------------------------------------------------------------
65
- // Base<...>
41
+ // Standard Validator
66
42
  // ----------------------------------------------------------------
67
43
  /** Performs a type-guard check on the provided value. */
68
44
  Check(value) {
69
- return this.check(value);
45
+ return this.evaluateResult.Check(value);
46
+ }
47
+ /** Validates a value and returns it. Will throw if invalid. */
48
+ Parse(value) {
49
+ const checked = this.Check(value);
50
+ if (checked)
51
+ return value;
52
+ if (Settings.Get().correctiveParse)
53
+ return Parser(this.Context(), this.Type(), value);
54
+ throw new ParseError(value, this.Errors(value));
70
55
  }
71
56
  /** Inspects a value and returns a detailed list of validation errors. */
72
57
  Errors(value) {
73
- if (Environment.CanEvaluate() && this.check(value))
58
+ if (this.IsAccelerated() && this.Check(value))
74
59
  return [];
75
- return Errors(this.context, this.type, value);
60
+ return Errors(this.Context(), this.Type(), value);
76
61
  }
62
+ // ----------------------------------------------------------------
63
+ // Value.* Operations
64
+ // ----------------------------------------------------------------
77
65
  /** Cleans a value using the Validator type. */
78
66
  Clean(value) {
79
- return Clean(this.context, this.type, value);
67
+ return Clean(this.Context(), this.Type(), value);
80
68
  }
81
69
  /** Converts a value using the Validator type. */
82
70
  Convert(value) {
83
- return Convert(this.context, this.type, value);
71
+ return Convert(this.Context(), this.Type(), value);
84
72
  }
85
73
  /** Creates a value using the Validator type. */
86
74
  Create() {
87
- return Create(this.context, this.type);
75
+ return Create(this.Context(), this.Type());
88
76
  }
89
77
  /** Creates defaults using the Validator type. */
90
78
  Default(value) {
91
- return Default(this.context, this.type, value);
92
- }
93
- /** Clones this validator. */
94
- Clone() {
95
- return new Validator(this.context, this.type, this.isAccelerated, this.hasCodec, this.code, this.check);
96
- }
97
- /** Validates a value and returns it. Will throw if invalid. */
98
- Parse(value) {
99
- const checked = this.Check(value);
100
- if (checked)
101
- return value;
102
- if (Settings.Get().correctiveParse)
103
- return Parser(this.context, this.type, value);
104
- throw new ParseError(value, this.Errors(value));
79
+ return Default(this.Context(), this.Type(), value);
105
80
  }
106
81
  /** Decodes a value */
107
82
  Decode(value) {
108
- const result = this.hasCodec ? Decode(this.context, this.type, value) : this.Parse(value);
83
+ const result = this.hasCodec ? Decode(this.Context(), this.Type(), value) : this.Parse(value);
109
84
  return result;
110
85
  }
111
86
  /** Encodes a value */
112
87
  Encode(value) {
113
- const result = this.hasCodec ? Encode(this.context, this.type, value) : this.Parse(value);
88
+ const result = this.hasCodec ? Encode(this.Context(), this.Type(), value) : this.Parse(value);
114
89
  return result;
115
90
  }
116
91
  }
@@ -1,4 +1,4 @@
1
- export type TValidationError = TAdditionalPropertiesError | TAnyOfError | TBooleanError | TConstError | TContainsError | TDependenciesError | TDependentRequiredError | TEnumError | TExclusiveMaximumError | TExclusiveMinimumError | TFormatError | TGuardError | TIfError | TMaximumError | TMaxItemsError | TMaxLengthError | TMaxPropertiesError | TMinimumError | TMinItemsError | TMinLengthError | TMinPropertiesError | TMultipleOfError | TNotError | TOneOfError | TPatternError | TPropertyNamesError | TRefineError | TRequiredError | TTypeError | TUnevaluatedItemsError | TUnevaluatedPropertiesError | TUniqueItemsError;
1
+ export type TValidationError = TAdditionalPropertiesError | TAnyOfError | TBooleanError | TConstError | TContainsError | TDependenciesError | TDependentRequiredError | TEnumError | TExclusiveMaximumError | TExclusiveMinimumError | TFormatError | TIfError | TMaximumError | TMaxItemsError | TMaxLengthError | TMaxPropertiesError | TMinimumError | TMinItemsError | TMinLengthError | TMinPropertiesError | TMultipleOfError | TNotError | TOneOfError | TPatternError | TPropertyNamesError | TRefineError | TRequiredError | TTypeError | TUnevaluatedItemsError | TUnevaluatedPropertiesError | TUniqueItemsError;
2
2
  export declare function IsValidationError(value: unknown): value is TValidationError;
3
3
  export type TLocalizedValidationError = TValidationError & {
4
4
  message: string;
@@ -78,12 +78,6 @@ export interface TFormatError extends TValidationErrorBase {
78
78
  format: string;
79
79
  };
80
80
  }
81
- export interface TGuardError extends TValidationErrorBase {
82
- keyword: '~guard';
83
- params: {
84
- errors: object[];
85
- };
86
- }
87
81
  export interface TIfError extends TValidationErrorBase {
88
82
  keyword: 'if';
89
83
  params: {
@@ -1,3 +1,4 @@
1
+ import { Unreachable } from '../system/unreachable/index.mjs';
1
2
  import * as Puny from './_puny.mjs';
2
3
  // ------------------------------------------------------------------
3
4
  // Unicode General Category Helper (RFC 5892)
@@ -34,7 +35,8 @@ const RFC5892_DISALLOWED = new Set([
34
35
  // ------------------------------------------------------------------
35
36
  // A set of Virama (halant) code points used to validate CONTEXTJ
36
37
  // rules (RFC 5892 Appendix A.1). These characters allow a subsequent
37
- // Zero Width Joiner (U+200D) to be valid in a label.
38
+ // Zero Width Non-Joiner (U+200C) or Zero Width Joiner (U+200D) to
39
+ // be valid in a label.
38
40
  // ------------------------------------------------------------------
39
41
  const VIRAMA_CPS = new Set([
40
42
  0x094d,
@@ -101,8 +103,10 @@ function IsVirama(cp) {
101
103
  // IsUnicodeLabel
102
104
  // ------------------------------------------------------------------
103
105
  function IsUnicodeLabel(value) {
106
+ // deno-coverage-ignore-start - unable to reach via format guards
104
107
  if (value.length === 0)
105
- return false;
108
+ return Unreachable(); // false
109
+ // deno-coverage-ignore-stop
106
110
  // Use spread to handle surrogate pairs and provide O(1) neighbor access
107
111
  const cps = [...value].map((c) => c.codePointAt(0));
108
112
  const len = cps.length;
@@ -145,10 +149,17 @@ function IsUnicodeLabel(value) {
145
149
  if (prev === undefined || !IsHebrew(prev))
146
150
  return false;
147
151
  break; // Hebrew GERESH
148
- case 0x200d:
152
+ case 0x200c: // ZWNJ - RFC 5892 Appendix A.1
153
+ // Note: Full validation requires a Unicode joining type table. We reject
154
+ // only when preceded by ASCII (U+0000-U+007F), which can never satisfy
155
+ // the Virama or cursive-joining rules.
156
+ if (prev === undefined || (prev < 0x0080 && !IsVirama(prev)))
157
+ return false;
158
+ break;
159
+ case 0x200d: // ZWJ - RFC 5892 Appendix A.2
149
160
  if (prev === undefined || !IsVirama(prev))
150
161
  return false;
151
- break; // ZWJ
162
+ break;
152
163
  case 0x30fb: /* Checked at end via hasJapanese */
153
164
  break; // KATAKANA MIDDLE DOT
154
165
  }
@@ -192,10 +203,29 @@ function IsPuny(value) {
192
203
  }
193
204
  function IsPunyLabel(value) {
194
205
  try {
195
- return IsUnicodeLabel(Puny.Decode(value.slice(4)));
206
+ const payload = value.slice(4).toLowerCase();
207
+ // 1. Structural Validation (RFC 3492 syntax)
208
+ //
209
+ // If the payload contains a hyphen, it MUST be a delimiter separating basic
210
+ // ASCII characters from the variable-length integers. A payload consisting
211
+ // of ONLY a hyphen or starting with multiple hyphens without basic ASCII
212
+ // characters (like "-9uc") is fundamentally malformed.
213
+ //
214
+ const lastHyphen = payload.lastIndexOf('-');
215
+ if (lastHyphen === 0) {
216
+ // Catches "-9uc" right here because the delimiter is at index 0, meaning 0
217
+ // basic ASCII characters preceded it, which is non-canonical.
218
+ return false;
219
+ }
220
+ // 2. Decode the payload
221
+ const decoded = Puny.Decode(payload);
222
+ if (!decoded)
223
+ return false;
224
+ // 3. Validate the output rules against RFC 5892
225
+ return IsUnicodeLabel(decoded);
196
226
  }
197
227
  catch {
198
- return false; // invalid punycode encoding
228
+ return false;
199
229
  }
200
230
  }
201
231
  // ------------------------------------------------------------------
@@ -1,3 +1,4 @@
1
+ import { Unreachable } from '../system/unreachable/index.mjs';
1
2
  // ------------------------------------------------------------------
2
3
  // PunyCode (RFC 3492)
3
4
  // ------------------------------------------------------------------
@@ -52,8 +53,10 @@ export function Decode(value) {
52
53
  digit = ch - 0x61; // a-z => 0-25
53
54
  else if (ch >= 0x30 && ch <= 0x39)
54
55
  digit = ch - 0x30 + 26; // 0-9 => 26-35
56
+ // deno-coverage-ignore-start - _idna.ts maps input to lowercase, so we can't reach here
55
57
  else if (ch >= 0x41 && ch <= 0x5a)
56
- digit = ch - 0x41; // A-Z => 0-25
58
+ Unreachable(); // digit = ch - 0x41 // A-Z => 0-25
59
+ // deno-coverage-ignore-stop
57
60
  else
58
61
  throw new Error('Invalid punycode: bad digit character');
59
62
  i += digit * w;
@@ -1,21 +1,21 @@
1
- import { IsDateTime } from './date-time.mjs';
1
+ import { IsDateTime } from './date_time.mjs';
2
2
  import { IsDate } from './date.mjs';
3
3
  import { IsDuration } from './duration.mjs';
4
4
  import { IsEmail } from './email.mjs';
5
5
  import { IsHostname } from './hostname.mjs';
6
- import { IsIdnEmail } from './idn-email.mjs';
7
- import { IsIdnHostname } from './idn-hostname.mjs';
6
+ import { IsIdnEmail } from './idn_email.mjs';
7
+ import { IsIdnHostname } from './idn_hostname.mjs';
8
8
  import { IsIPv4 } from './ipv4.mjs';
9
9
  import { IsIPv6 } from './ipv6.mjs';
10
- import { IsIriReference } from './iri-reference.mjs';
10
+ import { IsIriReference } from './iri_reference.mjs';
11
11
  import { IsIri } from './iri.mjs';
12
- import { IsJsonPointerUriFragment } from './json-pointer-uri-fragment.mjs';
13
- import { IsJsonPointer } from './json-pointer.mjs';
12
+ import { IsJsonPointerUriFragment } from './json_pointer_uri_fragment.mjs';
13
+ import { IsJsonPointer } from './json_pointer.mjs';
14
14
  import { IsRegex } from './regex.mjs';
15
- import { IsRelativeJsonPointer } from './relative-json-pointer.mjs';
15
+ import { IsRelativeJsonPointer } from './relative_json_pointer.mjs';
16
16
  import { IsTime } from './time.mjs';
17
- import { IsUriReference } from './uri-reference.mjs';
18
- import { IsUriTemplate } from './uri-template.mjs';
17
+ import { IsUriReference } from './uri_reference.mjs';
18
+ import { IsUriTemplate } from './uri_template.mjs';
19
19
  import { IsUri } from './uri.mjs';
20
20
  import { IsUrl } from './url.mjs';
21
21
  import { IsUuid } from './uuid.mjs';
@@ -1,5 +1,5 @@
1
1
  /**
2
2
  * Returns true if the value is an Email
3
- * @specification Json Schema 2020-12
3
+ * @specification ajv-formats
4
4
  */
5
5
  export declare function IsEmail(value: string): boolean;
@@ -1,29 +1,8 @@
1
- import { IsIPv4Internal } from './ipv4.mjs';
1
+ const Email = /^(?!.*\.\.)[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*$/i;
2
2
  /**
3
3
  * Returns true if the value is an Email
4
- * @specification Json Schema 2020-12
4
+ * @specification ajv-formats
5
5
  */
6
6
  export function IsEmail(value) {
7
- const dot = value.indexOf('.');
8
- const at = value.indexOf('@');
9
- const quoted = value[0] === '"' && value[at - 1] === '"';
10
- const ipLiteral = value[at + 1] === '[' && value[value.length - 1] === ']';
11
- const ipv6 = ipLiteral && value.indexOf(':', at) !== -1;
12
- const ipv4 = ipLiteral && !ipv6 && IsIPv4Internal(value, at + 2, value.length - 1);
13
- return (at > 0 && at < value.length - 1) &&
14
- !(
15
- // .test@example.com
16
- (!quoted && dot === 0) ||
17
- // te..st@example.com
18
- (!quoted && dot !== -1 && value.indexOf('.', dot + 1) === dot + 1) ||
19
- // test.@example.com
20
- (dot !== -1 && value.indexOf('@', dot) === dot + 1) ||
21
- // joe bloggs@example.com
22
- (!quoted && value.indexOf(' ') !== -1) ||
23
- // user1@oceania.org, user2@oceania.org
24
- (value.indexOf(',') !== -1) ||
25
- // joe.bloggs@[127.0.0.300]
26
- (ipLiteral && !ipv4 && !ipv6) ||
27
- // joe.bloggs@invalid=domain.com
28
- (value.indexOf('=', at) !== -1));
7
+ return Email.test(value);
29
8
  }
@@ -1,22 +1,22 @@
1
1
  export * from './_registry.mjs';
2
- export { IsDateTime } from './date-time.mjs';
2
+ export { IsDateTime } from './date_time.mjs';
3
3
  export { IsDate } from './date.mjs';
4
4
  export { IsDuration } from './duration.mjs';
5
5
  export { IsEmail } from './email.mjs';
6
6
  export { IsHostname } from './hostname.mjs';
7
- export { IsIdnEmail } from './idn-email.mjs';
8
- export { IsIdnHostname } from './idn-hostname.mjs';
7
+ export { IsIdnEmail } from './idn_email.mjs';
8
+ export { IsIdnHostname } from './idn_hostname.mjs';
9
9
  export { IsIPv4 } from './ipv4.mjs';
10
10
  export { IsIPv6 } from './ipv6.mjs';
11
- export { IsIriReference } from './iri-reference.mjs';
11
+ export { IsIriReference } from './iri_reference.mjs';
12
12
  export { IsIri } from './iri.mjs';
13
- export { IsJsonPointerUriFragment } from './json-pointer-uri-fragment.mjs';
14
- export { IsJsonPointer } from './json-pointer.mjs';
13
+ export { IsJsonPointerUriFragment } from './json_pointer_uri_fragment.mjs';
14
+ export { IsJsonPointer } from './json_pointer.mjs';
15
15
  export { IsRegex } from './regex.mjs';
16
- export { IsRelativeJsonPointer } from './relative-json-pointer.mjs';
16
+ export { IsRelativeJsonPointer } from './relative_json_pointer.mjs';
17
17
  export { IsTime } from './time.mjs';
18
- export { IsUriReference } from './uri-reference.mjs';
19
- export { IsUriTemplate } from './uri-template.mjs';
18
+ export { IsUriReference } from './uri_reference.mjs';
19
+ export { IsUriTemplate } from './uri_template.mjs';
20
20
  export { IsUri } from './uri.mjs';
21
21
  export { IsUrl } from './url.mjs';
22
22
  export { IsUuid } from './uuid.mjs';
@@ -1,22 +1,22 @@
1
1
  export * from './_registry.mjs';
2
- export { IsDateTime } from './date-time.mjs';
2
+ export { IsDateTime } from './date_time.mjs';
3
3
  export { IsDate } from './date.mjs';
4
4
  export { IsDuration } from './duration.mjs';
5
5
  export { IsEmail } from './email.mjs';
6
6
  export { IsHostname } from './hostname.mjs';
7
- export { IsIdnEmail } from './idn-email.mjs';
8
- export { IsIdnHostname } from './idn-hostname.mjs';
7
+ export { IsIdnEmail } from './idn_email.mjs';
8
+ export { IsIdnHostname } from './idn_hostname.mjs';
9
9
  export { IsIPv4 } from './ipv4.mjs';
10
10
  export { IsIPv6 } from './ipv6.mjs';
11
- export { IsIriReference } from './iri-reference.mjs';
11
+ export { IsIriReference } from './iri_reference.mjs';
12
12
  export { IsIri } from './iri.mjs';
13
- export { IsJsonPointerUriFragment } from './json-pointer-uri-fragment.mjs';
14
- export { IsJsonPointer } from './json-pointer.mjs';
13
+ export { IsJsonPointerUriFragment } from './json_pointer_uri_fragment.mjs';
14
+ export { IsJsonPointer } from './json_pointer.mjs';
15
15
  export { IsRegex } from './regex.mjs';
16
- export { IsRelativeJsonPointer } from './relative-json-pointer.mjs';
16
+ export { IsRelativeJsonPointer } from './relative_json_pointer.mjs';
17
17
  export { IsTime } from './time.mjs';
18
- export { IsUriReference } from './uri-reference.mjs';
19
- export { IsUriTemplate } from './uri-template.mjs';
18
+ export { IsUriReference } from './uri_reference.mjs';
19
+ export { IsUriTemplate } from './uri_template.mjs';
20
20
  export { IsUri } from './uri.mjs';
21
21
  export { IsUrl } from './url.mjs';
22
22
  export { IsUuid } from './uuid.mjs';
@@ -1,5 +1,5 @@
1
1
  /**
2
2
  * Returns true if the value is an IdnEmail
3
- * @specification Json Schema 2020-12
3
+ * @specification ajv-formats (unicode-extension)
4
4
  */
5
5
  export declare function IsIdnEmail(value: string): boolean;
@@ -0,0 +1,8 @@
1
+ const IdnEmail = /^(?!.*\.\.)[\p{L}\p{N}!#$%&'*+/=?^_`{|}~-]+(?:\.[\p{L}\p{N}!#$%&'*+/=?^_`{|}~-]+)*@[\p{L}\p{N}](?:[\p{L}\p{N}-]{0,61}[\p{L}\p{N}])?(?:\.[\p{L}\p{N}](?:[\p{L}\p{N}-]{0,61}[\p{L}\p{N}])?)*$/iu;
2
+ /**
3
+ * Returns true if the value is an IdnEmail
4
+ * @specification ajv-formats (unicode-extension)
5
+ */
6
+ export function IsIdnEmail(value) {
7
+ return IdnEmail.test(value);
8
+ }
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Returns true if the value is a uuid
3
- * @specification
4
- * @source ajv-formats
3
+ * @specification https://www.rfc-editor.org/info/rfc4122/
4
+ * @specification https://www.rfc-editor.org/info/rfc9562/
5
5
  */
6
6
  export declare function IsUuid(value: string): boolean;
@@ -1,8 +1,8 @@
1
- const Uuid = /^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i;
1
+ const Uuid = /^[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i;
2
2
  /**
3
3
  * Returns true if the value is a uuid
4
- * @specification
5
- * @source ajv-formats
4
+ * @specification https://www.rfc-editor.org/info/rfc4122/
5
+ * @specification https://www.rfc-editor.org/info/rfc9562/
6
6
  */
7
7
  export function IsUuid(value) {
8
8
  return Uuid.test(value);
@@ -3,16 +3,12 @@ export declare function Or(left: string, right: string): string;
3
3
  export declare function Not(expr: string): string;
4
4
  /** Returns true if this value is an array */
5
5
  export declare function IsArray(value: string): string;
6
- /** Returns true if this value is an async iterator */
7
- export declare function IsAsyncIterator(value: unknown): string;
8
6
  /** Returns true if this value is bigint */
9
7
  export declare function IsBigInt(value: string): string;
10
8
  /** Returns true if this value is a boolean */
11
9
  export declare function IsBoolean(value: string): string;
12
10
  /** Returns true if this value is integer */
13
11
  export declare function IsInteger(value: string): string;
14
- /** Returns true if this value is an iterator */
15
- export declare function IsIterator(value: unknown): string;
16
12
  /** Returns true if this value is null */
17
13
  export declare function IsNull(value: string): string;
18
14
  /** Returns true if this value is number */
@@ -37,6 +33,9 @@ export declare function IsGreaterEqualThan(left: string, right: string): string;
37
33
  export declare function IsMinLength(value: string, length: string): string;
38
34
  export declare function IsMaxLength(value: string, length: string): string;
39
35
  export declare function Every(value: string, offset: string, params: [value: string, index: string], expression: string): string;
36
+ export declare function Some(value: string, params: [value: string, index: string], expression: string): string;
37
+ export declare function SomeAll(value: string, params: [value: string, index: string], expression: string): string;
38
+ export declare function Counted(value: string, params: [value: string, index: string], expression: string): string;
40
39
  export declare function Entries(value: string): string;
41
40
  export declare function Keys(value: string): string;
42
41
  export declare function HasPropertyKey(value: string, key: string): string;
@@ -54,5 +53,4 @@ export declare function If(condition: string, then: string): string;
54
53
  export declare function Return(expression: string): string;
55
54
  export declare function ReduceAnd(operands: string[]): string;
56
55
  export declare function ReduceOr(operands: string[]): string;
57
- export declare function PrefixIncrement(expression: string): string;
58
56
  export declare function MultipleOf(dividend: string, divisor: string): string;
@@ -26,10 +26,6 @@ export function Not(expr) {
26
26
  export function IsArray(value) {
27
27
  return `Array.isArray(${value})`;
28
28
  }
29
- /** Returns true if this value is an async iterator */
30
- export function IsAsyncIterator(value) {
31
- return `Guard.IsAsyncIterator(${value})`;
32
- }
33
29
  /** Returns true if this value is bigint */
34
30
  export function IsBigInt(value) {
35
31
  return `typeof ${value} === "bigint"`;
@@ -42,10 +38,6 @@ export function IsBoolean(value) {
42
38
  export function IsInteger(value) {
43
39
  return `Number.isInteger(${value})`;
44
40
  }
45
- /** Returns true if this value is an iterator */
46
- export function IsIterator(value) {
47
- return `Guard.IsIterator(${value})`;
48
- }
49
41
  /** Returns true if this value is null */
50
42
  export function IsNull(value) {
51
43
  return `${value} === null`;
@@ -118,6 +110,15 @@ export function Every(value, offset, params, expression) {
118
110
  ? `${value}.every((${params[0]}, ${params[1]}) => ${expression})`
119
111
  : `((value, callback) => { for(let index = ${offset}; index < value.length; index++) if (!callback(value[index], index)) return false; return true })(${value}, (${params[0]}, ${params[1]}) => ${expression})`;
120
112
  }
113
+ export function Some(value, params, expression) {
114
+ return `${value}.some((${params[0]}, ${params[1]}) => ${expression})`;
115
+ }
116
+ export function SomeAll(value, params, expression) {
117
+ return `((value, callback) => { let result = false; for(let index = 0; index < value.length; index++) if (callback(value[index], index)) result = true; return result })(${value}, (${params[0]}, ${params[1]}) => ${expression})`;
118
+ }
119
+ export function Counted(value, params, expression) {
120
+ return `${value}.reduce((result, ${params[0]}, ${params[1]}) => (${expression}) ? ++result : result, 0)`;
121
+ }
121
122
  // --------------------------------------------------------------------------
122
123
  // Objects
123
124
  // --------------------------------------------------------------------------
@@ -153,6 +154,8 @@ export function Member(left, right) {
153
154
  return `${left}${IsIdentifier(right) ? `.${right}` : `[${Constant(right)}]`}`;
154
155
  }
155
156
  export function Constant(value) {
157
+ if (!G.IsValueLike(value))
158
+ throw Error('Unsupported Constant');
156
159
  return G.IsString(value) ? JSON.stringify(value) : `${value}`;
157
160
  }
158
161
  export function Ternary(condition, true_, false_) {
@@ -180,15 +183,11 @@ export function ReduceAnd(operands) {
180
183
  return G.IsEqual(operands.length, 0) ? 'true' : operands.reduce((left, right) => And(left, right));
181
184
  }
182
185
  export function ReduceOr(operands) {
183
- // deno-coverage-ignore - we never observe 0 operands
184
186
  return G.IsEqual(operands.length, 0) ? 'false' : operands.reduce((left, right) => Or(left, right));
185
187
  }
186
188
  // --------------------------------------------------------------------------
187
- // Arithmetic
189
+ // MultipleOf
188
190
  // --------------------------------------------------------------------------
189
- export function PrefixIncrement(expression) {
190
- return `++${expression}`;
191
- }
192
191
  export function MultipleOf(dividend, divisor) {
193
192
  return `Guard.IsMultipleOf(${dividend}, ${divisor})`;
194
193
  }