@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
@@ -1,23 +1,49 @@
1
1
  // deno-fmt-ignore-file
2
2
  import { Guard } from '../../../guard/index.mjs';
3
- import { IsIntersect } from '../../types/intersect.mjs';
3
+ import { IsDependent } from '../../types/dependent.mjs';
4
+ import { IsEnum } from '../../types/enum.mjs';
5
+ import { Literal } from '../../types/literal.mjs';
6
+ import { IsIntersect, Intersect } from '../../types/intersect.mjs';
7
+ import { Never } from '../../types/never.mjs';
8
+ import { IsTemplateLiteral } from '../../types/template_literal.mjs';
9
+ import { Union, IsUnion } from '../../types/union.mjs';
4
10
  import { Distribute } from './distribute.mjs';
5
11
  import { Broaden } from './broaden.mjs';
6
- import { Union, IsUnion } from '../../types/union.mjs';
7
- import { Never } from '../../types/never.mjs';
12
+ import { ExcludeOperation } from '../exclude/operation.mjs';
13
+ import { TemplateLiteralDecode } from '../template_literal/decode.mjs';
14
+ export function EvaluateDependent(if_, then_, else_) {
15
+ const intersect = Intersect([if_, then_]);
16
+ const excluded = ExcludeOperation(else_, if_);
17
+ const result = EvaluateUnion([intersect, excluded]);
18
+ return result;
19
+ }
20
+ export function EvaluateEnum(values) {
21
+ const result = values.map(value => Literal(value));
22
+ return EvaluateUnion(result);
23
+ }
8
24
  export function EvaluateIntersect(types) {
9
25
  const distribution = Distribute(types);
10
- const result = Broaden(distribution);
26
+ const broadend = Broaden(distribution);
27
+ const result = EvaluateUnionFast(broadend);
28
+ return result;
29
+ }
30
+ export function EvaluateTemplateLiteral(pattern) {
31
+ const evaluated = TemplateLiteralDecode(pattern);
32
+ const result = EvaluateType(evaluated);
11
33
  return result;
12
34
  }
13
35
  export function EvaluateUnion(types) {
14
- const result = Broaden(types);
36
+ const broadend = Broaden(types);
37
+ const result = EvaluateUnionFast(broadend);
15
38
  return result;
16
39
  }
17
40
  export function EvaluateType(type) {
18
- return (IsIntersect(type) ? EvaluateIntersect(type.allOf) :
19
- IsUnion(type) ? EvaluateUnion(type.anyOf) :
20
- type);
41
+ return (IsDependent(type) ? EvaluateDependent(type.if, type.then, type.else) :
42
+ IsEnum(type) ? EvaluateEnum(type.enum) :
43
+ IsIntersect(type) ? EvaluateIntersect(type.allOf) :
44
+ IsTemplateLiteral(type) ? EvaluateTemplateLiteral(type.pattern) :
45
+ IsUnion(type) ? EvaluateUnion(type.anyOf) :
46
+ type);
21
47
  }
22
48
  export function EvaluateUnionFast(types) {
23
49
  const result = (Guard.IsEqual(types.length, 1) ? types[0] :
@@ -1,4 +1,4 @@
1
- import { TSchema } from '../../types/schema.mjs';
1
+ import { type TSchema } from '../../types/schema.mjs';
2
2
  import { type TUnion } from '../../types/union.mjs';
3
3
  type TFlattenType<Type extends TSchema, Result extends TSchema[] = Type extends TUnion<infer Types extends TSchema[]> ? TFlatten<Types> : [Type]> = Result;
4
4
  export type TFlatten<Types extends TSchema[], Result extends TSchema[] = []> = (Types extends [infer Left extends TSchema, ...infer Right extends TSchema[]] ? TFlatten<Right, [...Result, ...TFlattenType<Left>]> : Result);
@@ -2,7 +2,7 @@ import { type TSchema, type TSchemaOptions } from '../../types/schema.mjs';
2
2
  import { type TProperties } from '../../types/properties.mjs';
3
3
  import { type TState, type TInstantiateType } from '../instantiate.mjs';
4
4
  import { type TEvaluateType } from './evaluate.mjs';
5
- type TEvaluateImmediate<Context extends TProperties, State extends TState, Type extends TSchema, InstantiatedType extends TSchema = TInstantiateType<Context, State, Type>> = TEvaluateType<InstantiatedType>;
6
- export type TEvaluateInstantiate<Context extends TProperties, State extends TState, Type extends TSchema> = TEvaluateImmediate<Context, State, Type>;
5
+ export type TEvaluateAction<Type extends TSchema, Result extends TSchema = TEvaluateType<Type>> = Result;
6
+ export declare function EvaluateAction<Type extends TSchema>(type: Type, options: TSchemaOptions): TEvaluateAction<Type>;
7
+ export type TEvaluateInstantiate<Context extends TProperties, State extends TState, Type extends TSchema, InstantiatedType extends TSchema = TInstantiateType<Context, State, Type>> = TEvaluateAction<InstantiatedType>;
7
8
  export declare function EvaluateInstantiate<Context extends TProperties, State extends TState, Type extends TSchema>(context: Context, state: State, type: Type, options: TSchemaOptions): TEvaluateInstantiate<Context, State, Type>;
8
- export {};
@@ -2,16 +2,11 @@
2
2
  import { Memory } from '../../../system/memory/index.mjs';
3
3
  import { InstantiateType } from '../instantiate.mjs';
4
4
  import { EvaluateType } from './evaluate.mjs';
5
- function EvaluateImmediate(context, state, type, options) {
6
- const instantiatedType = InstantiateType(context, state, type);
7
- return Memory.Update(EvaluateType(instantiatedType), {}, options);
5
+ export function EvaluateAction(type, options) {
6
+ const result = Memory.Update(EvaluateType(type), {}, options);
7
+ return result;
8
8
  }
9
9
  export function EvaluateInstantiate(context, state, type, options) {
10
- return (
11
- // [instantiation-rule]
12
- //
13
- // Evaluate instantiation should never defer on instantiate as the caller is specifically
14
- // requesting that the type be evaluated in whatever context is available. However, actions
15
- // embedded in the Evaluate call may defer local to themselves.
16
- EvaluateImmediate(context, state, type, options));
10
+ const instantiatedType = InstantiateType(context, state, type);
11
+ return EvaluateAction(instantiatedType, options);
17
12
  }
@@ -1,5 +1,5 @@
1
- import { TSchema } from '../../types/schema.mjs';
2
- import { TNever } from '../../types/never.mjs';
3
- import { TCompare, TCompareResult, ResultLeftInside, ResultRightInside, ResultEqual } from './compare.mjs';
1
+ import { type TSchema } from '../../types/schema.mjs';
2
+ import { type TNever } from '../../types/never.mjs';
3
+ import { type TCompare, type TCompareResult, ResultLeftInside, ResultRightInside, ResultEqual } from './compare.mjs';
4
4
  export type TNarrow<Left extends TSchema, Right extends TSchema, Result extends TCompareResult = TCompare<Left, Right>> = (Result extends typeof ResultLeftInside ? Left : Result extends typeof ResultRightInside ? Right : Result extends typeof ResultEqual ? Right : TNever);
5
5
  export declare function Narrow<Left extends TSchema, Right extends TSchema>(left: Left, right: Right): TNarrow<Left, Right>;
@@ -1,16 +1,9 @@
1
1
  import { type TSchema, type TSchemaOptions } from '../../types/schema.mjs';
2
2
  import { type TProperties } from '../../types/properties.mjs';
3
- import { type TEnum, type TEnumValue } from '../../types/enum.mjs';
4
- import { type TUnion } from '../../types/union.mjs';
5
- import { type TExtends, ExtendsResult } from '../../extends/index.mjs';
6
- import { type TEnumValuesToVariants } from '../enum/index.mjs';
7
- import { type TEvaluateUnion, type TFlatten } from '../evaluate/index.mjs';
8
3
  import { type TState, type TInstantiateType, type TCanInstantiate } from '../instantiate.mjs';
9
4
  import { type TExcludeDeferred } from '../../action/exclude.mjs';
10
- type TExcludeUnion<Types extends TSchema[], Right extends TSchema, Result extends TSchema[] = []> = (Types extends [infer Head extends TSchema, ...infer Tail extends TSchema[]] ? TExcludeUnion<Tail, Right, [...Result, ...TExcludeType<Head, Right>]> : Result);
11
- type TExcludeType<Left extends TSchema, Right extends TSchema, Check extends ExtendsResult.TResult = TExtends<{}, Left, Right>, Result extends TSchema[] = Check extends ExtendsResult.TExtendsTrueLike<infer _> ? [] : [Left]> = Result;
12
- type TExcludeAction<Left extends TSchema, Right extends TSchema, Remaining extends TSchema[] = (Left extends TEnum<infer Values extends TEnumValue[]> ? TExcludeUnion<TEnumValuesToVariants<Values>, Right> : Left extends TUnion<infer Types extends TSchema[]> ? TExcludeUnion<TFlatten<Types>, Right> : TExcludeType<Left, Right>), Result extends TSchema = TEvaluateUnion<Remaining>> = Result;
13
- type TExcludeImmediate<Context extends TProperties, State extends TState, Left extends TSchema, Right extends TSchema, InstantiatedLeft extends TSchema = TInstantiateType<Context, State, Left>, InstantiatedRight extends TSchema = TInstantiateType<Context, State, Right>> = TExcludeAction<InstantiatedLeft, InstantiatedRight>;
14
- export type TExcludeInstantiate<Context extends TProperties, State extends TState, Left extends TSchema, Right extends TSchema> = TCanInstantiate<Context, [Left, Right]> extends true ? TExcludeImmediate<Context, State, Left, Right> : TExcludeDeferred<Left, Right>;
5
+ import { type TExcludeOperation } from './operation.mjs';
6
+ export type TExcludeAction<Left extends TSchema, Right extends TSchema, Result extends TSchema = TCanInstantiate<[Left, Right]> extends true ? TExcludeOperation<Left, Right> : TExcludeDeferred<Left, Right>> = Result;
7
+ export declare function ExcludeAction<Left extends TSchema, Right extends TSchema>(left: Left, right: Right, options: TSchemaOptions): TExcludeAction<Left, Right>;
8
+ export type TExcludeInstantiate<Context extends TProperties, State extends TState, Left extends TSchema, Right extends TSchema, InstantiatedLeft extends TSchema = TInstantiateType<Context, State, Left>, InstantiatedRight extends TSchema = TInstantiateType<Context, State, Right>> = TExcludeAction<InstantiatedLeft, InstantiatedRight>;
15
9
  export declare function ExcludeInstantiate<Context extends TProperties, State extends TState, Left extends TSchema, Right extends TSchema>(context: Context, state: State, left: Left, right: Right, options: TSchemaOptions): TExcludeInstantiate<Context, State, Left, Right>;
16
- export {};
@@ -1,37 +1,16 @@
1
- // deno-lint-ignore-file ban-types
2
1
  // deno-fmt-ignore-file
3
2
  import { Memory } from '../../../system/memory/index.mjs';
4
- import { IsEnum } from '../../types/enum.mjs';
5
- import { IsUnion } from '../../types/union.mjs';
6
- import { Extends, ExtendsResult } from '../../extends/index.mjs';
7
- import { EnumValuesToVariants } from '../enum/index.mjs';
8
- import { EvaluateUnion, Flatten } from '../evaluate/index.mjs';
9
3
  import { InstantiateType, CanInstantiate } from '../instantiate.mjs';
10
4
  import { ExcludeDeferred } from '../../action/exclude.mjs';
11
- function ExcludeUnion(types, right) {
12
- return types.reduce((result, head) => {
13
- return [...result, ...ExcludeType(head, right)];
14
- }, []);
15
- }
16
- function ExcludeType(left, right) {
17
- const check = Extends({}, left, right);
18
- const result = ExtendsResult.IsExtendsTrueLike(check) ? [] : [left];
19
- return result;
20
- }
21
- function ExcludeAction(left, right) {
22
- const remaining = (IsEnum(left) ? ExcludeUnion(EnumValuesToVariants(left.enum), right) :
23
- IsUnion(left) ? ExcludeUnion(Flatten(left.anyOf), right) :
24
- ExcludeType(left, right));
25
- const result = EvaluateUnion(remaining);
5
+ import { ExcludeOperation } from './operation.mjs';
6
+ export function ExcludeAction(left, right, options) {
7
+ const result = CanInstantiate([left, right])
8
+ ? Memory.Update(ExcludeOperation(left, right), {}, options)
9
+ : ExcludeDeferred(left, right, options);
26
10
  return result;
27
11
  }
28
- function ExcludeImmediate(context, state, left, right, options) {
12
+ export function ExcludeInstantiate(context, state, left, right, options) {
29
13
  const instantiatedLeft = InstantiateType(context, state, left);
30
14
  const instantiatedRight = InstantiateType(context, state, right);
31
- return Memory.Update(ExcludeAction(instantiatedLeft, instantiatedRight), {}, options);
32
- }
33
- export function ExcludeInstantiate(context, state, left, right, options) {
34
- return (CanInstantiate(context, [left, right])
35
- ? ExcludeImmediate(context, state, left, right, options)
36
- : ExcludeDeferred(left, right, options));
15
+ return ExcludeAction(instantiatedLeft, instantiatedRight, options);
37
16
  }
@@ -0,0 +1,10 @@
1
+ import { type TSchema } from '../../types/schema.mjs';
2
+ import { type TUnion } from '../../types/union.mjs';
3
+ import { type TExtends, ExtendsResult } from '../../extends/index.mjs';
4
+ import { type TEvaluateType } from '../evaluate/evaluate.mjs';
5
+ import { type TEvaluateUnion } from '../evaluate/evaluate.mjs';
6
+ type TExcludeType<Left extends TSchema, Right extends TSchema, Check extends ExtendsResult.TResult = TExtends<{}, Left, Right>, Result extends TSchema[] = Check extends ExtendsResult.TExtendsTrueLike ? [] : [Left]> = Result;
7
+ type TExcludeUnion<Left extends TSchema[], Right extends TSchema, Result extends TSchema[] = []> = (Left extends [infer Head extends TSchema, ...infer Tail extends TSchema[]] ? TExcludeUnion<Tail, Right, [...Result, ...TExcludeType<Head, Right>]> : Result);
8
+ export type TExcludeOperation<Left extends TSchema, Right extends TSchema, Evaluated extends TSchema = TEvaluateType<Left>, Canonical extends TSchema[] = Evaluated extends TUnion<infer Types extends TSchema[]> ? Types : [Evaluated], Remaining extends TSchema[] = TExcludeUnion<Canonical, Right>, Result extends TSchema = TEvaluateUnion<Remaining>> = Result;
9
+ export declare function ExcludeOperation<Left extends TSchema, Right extends TSchema>(left: Left, right: Right): TExcludeOperation<Left, Right>;
10
+ export {};
@@ -0,0 +1,23 @@
1
+ // deno-lint-ignore-file ban-types
2
+ // deno-fmt-ignore-file
3
+ import { IsUnion } from '../../types/union.mjs';
4
+ import { Extends, ExtendsResult } from '../../extends/index.mjs';
5
+ import { EvaluateType } from '../evaluate/evaluate.mjs';
6
+ import { EvaluateUnion } from '../evaluate/evaluate.mjs';
7
+ function ExcludeType(left, right) {
8
+ const check = Extends({}, left, right);
9
+ const result = ExtendsResult.IsExtendsTrueLike(check) ? [] : [left];
10
+ return result;
11
+ }
12
+ function ExcludeUnion(types, right) {
13
+ return types.reduce((result, head) => {
14
+ return [...result, ...ExcludeType(head, right)];
15
+ }, []);
16
+ }
17
+ export function ExcludeOperation(left, right) {
18
+ const evaluated = EvaluateType(left);
19
+ const canonical = IsUnion(evaluated) ? evaluated.anyOf : [evaluated];
20
+ const remaining = ExcludeUnion(canonical, right);
21
+ const result = EvaluateUnion(remaining);
22
+ return result;
23
+ }
@@ -1,16 +1,9 @@
1
1
  import { type TSchema, type TSchemaOptions } from '../../types/schema.mjs';
2
2
  import { type TProperties } from '../../types/properties.mjs';
3
- import { type TEnum, type TEnumValue } from '../../types/enum.mjs';
4
- import { type TUnion } from '../../types/union.mjs';
5
- import { type TExtends, ExtendsResult } from '../../extends/index.mjs';
6
- import { type TEnumValuesToVariants } from '../enum/index.mjs';
7
- import { type TEvaluateUnion, type TFlatten } from '../evaluate/index.mjs';
8
3
  import { type TState, type TInstantiateType, type TCanInstantiate } from '../instantiate.mjs';
9
4
  import { type TExtractDeferred } from '../../action/extract.mjs';
10
- type TExtractUnion<Types extends TSchema[], Right extends TSchema, Result extends TSchema[] = []> = (Types extends [infer Head extends TSchema, ...infer Tail extends TSchema[]] ? TExtractUnion<Tail, Right, [...Result, ...TExtractType<Head, Right>]> : Result);
11
- type TExtractType<Left extends TSchema, Right extends TSchema, Check extends ExtendsResult.TResult = TExtends<{}, Left, Right>, Result extends TSchema[] = Check extends ExtendsResult.TExtendsTrueLike<infer _> ? [Left] : []> = Result;
12
- type TExtractAction<Left extends TSchema, Right extends TSchema, Remaining extends TSchema[] = (Left extends TEnum<infer Values extends TEnumValue[]> ? TExtractUnion<TEnumValuesToVariants<Values>, Right> : Left extends TUnion<infer Types extends TSchema[]> ? TExtractUnion<TFlatten<Types>, Right> : TExtractType<Left, Right>), Result extends TSchema = TEvaluateUnion<Remaining>> = Result;
13
- type TExtractImmediate<Context extends TProperties, State extends TState, Left extends TSchema, Right extends TSchema, InstantiatedLeft extends TSchema = TInstantiateType<Context, State, Left>, InstantiatedRight extends TSchema = TInstantiateType<Context, State, Right>> = TExtractAction<InstantiatedLeft, InstantiatedRight>;
14
- export type TExtractInstantiate<Context extends TProperties, State extends TState, Left extends TSchema, Right extends TSchema> = TCanInstantiate<Context, [Left, Right]> extends true ? TExtractImmediate<Context, State, Left, Right> : TExtractDeferred<Left, Right>;
5
+ import { type TExtractOperation } from './operation.mjs';
6
+ export type TExtractAction<Left extends TSchema, Right extends TSchema, Result extends TSchema = TCanInstantiate<[Left, Right]> extends true ? TExtractOperation<Left, Right> : TExtractDeferred<Left, Right>> = Result;
7
+ export declare function ExtractAction<Left extends TSchema, Right extends TSchema>(left: Left, right: Right, options: TSchemaOptions): TExtractAction<Left, Right>;
8
+ export type TExtractInstantiate<Context extends TProperties, State extends TState, Left extends TSchema, Right extends TSchema, InstantiatedLeft extends TSchema = TInstantiateType<Context, State, Left>, InstantiatedRight extends TSchema = TInstantiateType<Context, State, Right>> = TExtractAction<InstantiatedLeft, InstantiatedRight>;
15
9
  export declare function ExtractInstantiate<Context extends TProperties, State extends TState, Left extends TSchema, Right extends TSchema>(context: Context, state: State, left: Left, right: Right, options: TSchemaOptions): TExtractInstantiate<Context, State, Left, Right>;
16
- export {};
@@ -1,37 +1,16 @@
1
- // deno-lint-ignore-file ban-types
2
1
  // deno-fmt-ignore-file
3
2
  import { Memory } from '../../../system/memory/index.mjs';
4
- import { IsEnum } from '../../types/enum.mjs';
5
- import { IsUnion } from '../../types/union.mjs';
6
- import { Extends, ExtendsResult } from '../../extends/index.mjs';
7
- import { EnumValuesToVariants } from '../enum/index.mjs';
8
- import { EvaluateUnion, Flatten } from '../evaluate/index.mjs';
9
3
  import { InstantiateType, CanInstantiate } from '../instantiate.mjs';
10
4
  import { ExtractDeferred } from '../../action/extract.mjs';
11
- function ExtractUnion(types, right) {
12
- return types.reduce((result, head) => {
13
- return [...result, ...ExtractType(head, right)];
14
- }, []);
15
- }
16
- function ExtractType(left, right) {
17
- const check = Extends({}, left, right);
18
- const result = ExtendsResult.IsExtendsTrueLike(check) ? [left] : [];
19
- return result;
20
- }
21
- function ExtractAction(left, right) {
22
- const remaining = (IsEnum(left) ? ExtractUnion(EnumValuesToVariants(left.enum), right) :
23
- IsUnion(left) ? ExtractUnion(Flatten(left.anyOf), right) :
24
- ExtractType(left, right));
25
- const result = EvaluateUnion(remaining);
5
+ import { ExtractOperation } from './operation.mjs';
6
+ export function ExtractAction(left, right, options) {
7
+ const result = CanInstantiate([left, right])
8
+ ? Memory.Update(ExtractOperation(left, right), {}, options)
9
+ : ExtractDeferred(left, right, options);
26
10
  return result;
27
11
  }
28
- function ExtractImmediate(context, state, left, right, options) {
12
+ export function ExtractInstantiate(context, state, left, right, options) {
29
13
  const instantiatedLeft = InstantiateType(context, state, left);
30
14
  const instantiatedRight = InstantiateType(context, state, right);
31
- return Memory.Update(ExtractAction(instantiatedLeft, instantiatedRight), {}, options);
32
- }
33
- export function ExtractInstantiate(context, state, left, right, options) {
34
- return (CanInstantiate(context, [left, right])
35
- ? ExtractImmediate(context, state, left, right, options)
36
- : ExtractDeferred(left, right, options));
15
+ return ExtractAction(instantiatedLeft, instantiatedRight, options);
37
16
  }
@@ -0,0 +1,10 @@
1
+ import { type TSchema } from '../../types/schema.mjs';
2
+ import { type TUnion } from '../../types/union.mjs';
3
+ import { type TExtends, ExtendsResult } from '../../extends/index.mjs';
4
+ import { type TEvaluateType } from '../evaluate/evaluate.mjs';
5
+ import { type TEvaluateUnion } from '../evaluate/evaluate.mjs';
6
+ type TExtractType<Left extends TSchema, Right extends TSchema, Check extends ExtendsResult.TResult = TExtends<{}, Left, Right>, Result extends TSchema[] = Check extends ExtendsResult.TExtendsTrueLike ? [Left] : []> = Result;
7
+ type TExtractUnion<Types extends TSchema[], Right extends TSchema, Result extends TSchema[] = []> = (Types extends [infer Head extends TSchema, ...infer Tail extends TSchema[]] ? TExtractUnion<Tail, Right, [...Result, ...TExtractType<Head, Right>]> : Result);
8
+ export type TExtractOperation<Left extends TSchema, Right extends TSchema, Evaluated extends TSchema = TEvaluateType<Left>, Canonical extends TSchema[] = Evaluated extends TUnion<infer Types extends TSchema[]> ? Types : [Evaluated], Remaining extends TSchema[] = TExtractUnion<Canonical, Right>, Result extends TSchema = TEvaluateUnion<Remaining>> = Result;
9
+ export declare function ExtractOperation<Left extends TSchema, Right extends TSchema>(left: Left, right: Right): TExtractOperation<Left, Right>;
10
+ export {};
@@ -0,0 +1,23 @@
1
+ // deno-lint-ignore-file ban-types
2
+ // deno-fmt-ignore-file
3
+ import { IsUnion } from '../../types/union.mjs';
4
+ import { Extends, ExtendsResult } from '../../extends/index.mjs';
5
+ import { EvaluateType } from '../evaluate/evaluate.mjs';
6
+ import { EvaluateUnion } from '../evaluate/evaluate.mjs';
7
+ function ExtractType(left, right) {
8
+ const check = Extends({}, left, right);
9
+ const result = ExtendsResult.IsExtendsTrueLike(check) ? [left] : [];
10
+ return result;
11
+ }
12
+ function ExtractUnion(types, right) {
13
+ return types.reduce((result, head) => {
14
+ return [...result, ...ExtractType(head, right)];
15
+ }, []);
16
+ }
17
+ export function ExtractOperation(left, right) {
18
+ const evaluated = EvaluateType(left);
19
+ const canonical = IsUnion(evaluated) ? evaluated.anyOf : [evaluated];
20
+ const remaining = ExtractUnion(canonical, right);
21
+ const result = EvaluateUnion(remaining);
22
+ return result;
23
+ }
@@ -1,3 +1,3 @@
1
- export * from './keys-to-indexer.mjs';
1
+ export * from './keys_to_indexer.mjs';
2
2
  export * from './keys.mjs';
3
3
  export * from './union.mjs';
@@ -1,3 +1,3 @@
1
- export * from './keys-to-indexer.mjs';
1
+ export * from './keys_to_indexer.mjs';
2
2
  export * from './keys.mjs';
3
3
  export * from './union.mjs';
@@ -0,0 +1,10 @@
1
+ import { type TSchema, type TSchemaOptions } from '../../types/schema.mjs';
2
+ import { type TProperties } from '../../types/properties.mjs';
3
+ import { type TImmutable } from '../../types/_immutable.mjs';
4
+ import { type TState, type TInstantiateType } from '../instantiate.mjs';
5
+ type TAddImmutableOperation<Type extends TSchema, Result extends TSchema = '~immutable' extends keyof Type ? Type : TImmutable<Type>> = Result;
6
+ export type TAddImmutableAction<Type extends TSchema, Result extends TSchema = TAddImmutableOperation<Type>> = Result;
7
+ export declare function AddImmutableAction<Type extends TSchema>(type: Type, options: TSchemaOptions): TAddImmutableAction<Type>;
8
+ export type TAddImmutableInstantiate<Context extends TProperties, State extends TState, Type extends TSchema, InstantiateType extends TSchema = TInstantiateType<Context, State, Type>> = TAddImmutableAction<InstantiateType>;
9
+ export declare function AddImmutableInstantiate<Context extends TProperties, State extends TState, Type extends TSchema>(context: Context, state: State, type: Type, options: TSchemaOptions): TAddImmutableInstantiate<Context, State, Type>;
10
+ export {};
@@ -0,0 +1,14 @@
1
+ // deno-fmt-ignore-file
2
+ import { Memory } from '../../../system/memory/index.mjs';
3
+ import { InstantiateType } from '../instantiate.mjs';
4
+ function AddImmutableOperation(type) {
5
+ return Memory.Update(type, { '~immutable': true }, {});
6
+ }
7
+ export function AddImmutableAction(type, options) {
8
+ const result = Memory.Update(AddImmutableOperation(type), {}, options);
9
+ return result;
10
+ }
11
+ export function AddImmutableInstantiate(context, state, type, options) {
12
+ const instantiatedType = InstantiateType(context, state, type);
13
+ return AddImmutableAction(instantiatedType, options);
14
+ }
@@ -0,0 +1,10 @@
1
+ import { type TSchema, type TSchemaOptions } from '../../types/schema.mjs';
2
+ import { type TProperties } from '../../types/properties.mjs';
3
+ import { type TImmutable } from '../../types/_immutable.mjs';
4
+ import { type TState, type TInstantiateType } from '../instantiate.mjs';
5
+ type TRemoveImmutableOperation<Type extends TSchema, Result extends TSchema = Type extends TImmutable<infer Type extends TSchema> ? TRemoveImmutableOperation<Type> : Type> = Result;
6
+ export type TRemoveImmutableAction<Type extends TSchema, Result extends TSchema = TRemoveImmutableOperation<Type>> = Result;
7
+ export declare function RemoveImmutableAction<Type extends TSchema>(type: Type, options: TSchemaOptions): TRemoveImmutableAction<Type>;
8
+ export type TRemoveImmutableInstantiate<Context extends TProperties, State extends TState, Type extends TSchema, InstantiateType extends TSchema = TInstantiateType<Context, State, Type>> = TRemoveImmutableAction<InstantiateType>;
9
+ export declare function RemoveImmutableInstantiate<Context extends TProperties, State extends TState, Type extends TSchema>(context: Context, state: State, type: Type, options: TSchemaOptions): TRemoveImmutableInstantiate<Context, State, Type>;
10
+ export {};
@@ -0,0 +1,14 @@
1
+ // deno-fmt-ignore-file
2
+ import { Memory } from '../../../system/memory/index.mjs';
3
+ import { InstantiateType } from '../instantiate.mjs';
4
+ function RemoveImmutableOperation(type) {
5
+ return Memory.Discard(type, ['~immutable']);
6
+ }
7
+ export function RemoveImmutableAction(type, options) {
8
+ const result = Memory.Update(RemoveImmutableOperation(type), {}, options);
9
+ return result;
10
+ }
11
+ export function RemoveImmutableInstantiate(context, state, type, options) {
12
+ const instantiatedType = InstantiateType(context, state, type);
13
+ return RemoveImmutableAction(instantiatedType, options);
14
+ }
@@ -1,7 +1,6 @@
1
1
  export { Instantiate, type TInstantiate } from './instantiate.mjs';
2
- export * from './awaited/index.mjs';
3
2
  export * from './conditional/index.mjs';
4
- export * from './constructor-parameters/index.mjs';
3
+ export * from './constructor_parameters/index.mjs';
5
4
  export * from './cyclic/index.mjs';
6
5
  export * from './enum/index.mjs';
7
6
  export * from './evaluate/index.mjs';
@@ -9,23 +8,24 @@ export * from './exclude/index.mjs';
9
8
  export * from './extract/index.mjs';
10
9
  export * from './helpers/index.mjs';
11
10
  export * from './indexed/index.mjs';
12
- export * from './instance-type/index.mjs';
11
+ export * from './instance_type/index.mjs';
13
12
  export * from './interface/index.mjs';
14
13
  export * from './intrinsics/index.mjs';
15
14
  export * from './keyof/index.mjs';
16
15
  export * from './mapped/index.mjs';
17
16
  export * from './module/index.mjs';
18
- export * from './non-nullable/index.mjs';
17
+ export * from './non_nullable/index.mjs';
19
18
  export * from './object/index.mjs';
20
19
  export * from './omit/index.mjs';
21
- export * from './options/index.mjs';
22
20
  export * from './parameters/index.mjs';
23
21
  export * from './patterns/index.mjs';
24
22
  export * from './partial/index.mjs';
25
23
  export * from './pick/index.mjs';
26
- export * from './readonly-type/index.mjs';
24
+ export * from './priority/index.mjs';
25
+ export * from './readonly_object/index.mjs';
27
26
  export * from './record/index.mjs';
28
27
  export * from './ref/index.mjs';
29
28
  export * from './required/index.mjs';
30
- export * from './return-type/index.mjs';
31
- export * from './template-literal/index.mjs';
29
+ export * from './return_type/index.mjs';
30
+ export * from './template_literal/index.mjs';
31
+ export * from './with/index.mjs';
@@ -5,9 +5,8 @@ export { Instantiate } from './instantiate.mjs';
5
5
  // ------------------------------------------------------------------
6
6
  // Engine: Internals
7
7
  // ------------------------------------------------------------------
8
- export * from './awaited/index.mjs';
9
8
  export * from './conditional/index.mjs';
10
- export * from './constructor-parameters/index.mjs';
9
+ export * from './constructor_parameters/index.mjs';
11
10
  export * from './cyclic/index.mjs';
12
11
  export * from './enum/index.mjs';
13
12
  export * from './evaluate/index.mjs';
@@ -15,23 +14,24 @@ export * from './exclude/index.mjs';
15
14
  export * from './extract/index.mjs';
16
15
  export * from './helpers/index.mjs';
17
16
  export * from './indexed/index.mjs';
18
- export * from './instance-type/index.mjs';
17
+ export * from './instance_type/index.mjs';
19
18
  export * from './interface/index.mjs';
20
19
  export * from './intrinsics/index.mjs';
21
20
  export * from './keyof/index.mjs';
22
21
  export * from './mapped/index.mjs';
23
22
  export * from './module/index.mjs';
24
- export * from './non-nullable/index.mjs';
23
+ export * from './non_nullable/index.mjs';
25
24
  export * from './object/index.mjs';
26
25
  export * from './omit/index.mjs';
27
- export * from './options/index.mjs';
28
26
  export * from './parameters/index.mjs';
29
27
  export * from './patterns/index.mjs';
30
28
  export * from './partial/index.mjs';
31
29
  export * from './pick/index.mjs';
32
- export * from './readonly-type/index.mjs';
30
+ export * from './priority/index.mjs';
31
+ export * from './readonly_object/index.mjs';
33
32
  export * from './record/index.mjs';
34
33
  export * from './ref/index.mjs';
35
34
  export * from './required/index.mjs';
36
- export * from './return-type/index.mjs';
37
- export * from './template-literal/index.mjs';
35
+ export * from './return_type/index.mjs';
36
+ export * from './template_literal/index.mjs';
37
+ export * from './with/index.mjs';
@@ -1,6 +1,6 @@
1
1
  import { type TSchema } from '../../types/schema.mjs';
2
2
  import { type TProperties } from '../../types/properties.mjs';
3
- import { type TFromType } from './from-type.mjs';
3
+ import { type TFromType } from './from_type.mjs';
4
4
  import { type TCyclicTarget } from '../cyclic/target.mjs';
5
5
  export type TFromCyclic<Defs extends TProperties, Ref extends string, Target extends TSchema = TCyclicTarget<Defs, Ref>, Result extends string[] = TFromType<Target>> = Result;
6
6
  export declare function FromCyclic<Defs extends TProperties, Ref extends string>(defs: Defs, ref: Ref): TFromCyclic<Defs, Ref>;
@@ -1,5 +1,5 @@
1
1
  // deno-fmt-ignore-file
2
- import { FromType } from './from-type.mjs';
2
+ import { FromType } from './from_type.mjs';
3
3
  import { CyclicTarget } from '../cyclic/target.mjs';
4
4
  export function FromCyclic(defs, ref) {
5
5
  const target = CyclicTarget(defs, ref);
@@ -0,0 +1,5 @@
1
+ import { type TSchema } from '../../types/schema.mjs';
2
+ import { type TFromType } from './from_type.mjs';
3
+ import { type TEvaluateDependent } from '../evaluate/evaluate.mjs';
4
+ export type TFromDependent<If extends TSchema, Then extends TSchema, Else extends TSchema, Evaluated extends TSchema = TEvaluateDependent<If, Then, Else>, Result extends string[] = TFromType<Evaluated>> = Result;
5
+ export declare function FromDependent<If extends TSchema, Then extends TSchema, Else extends TSchema>(if_: If, then_: Then, else_: Else): TFromDependent<If, Then, Else>;
@@ -0,0 +1,8 @@
1
+ // deno-fmt-ignore-file
2
+ import { FromType } from './from_type.mjs';
3
+ import { EvaluateDependent } from '../evaluate/evaluate.mjs';
4
+ export function FromDependent(if_, then_, else_) {
5
+ const evaluated = EvaluateDependent(if_, then_, else_);
6
+ const result = FromType(evaluated);
7
+ return result;
8
+ }
@@ -0,0 +1,6 @@
1
+ import { type TSchema } from '../../types/schema.mjs';
2
+ import { type TEnumValue } from '../../types/enum.mjs';
3
+ import { type TFromType } from './from_type.mjs';
4
+ import { type TEvaluateEnum } from '../evaluate/evaluate.mjs';
5
+ export type TFromEnum<Values extends TEnumValue[], Evaluated extends TSchema = TEvaluateEnum<Values>, Result extends string[] = TFromType<Evaluated>> = Result;
6
+ export declare function FromEnum<Values extends TEnumValue[]>(values: [...Values]): TFromEnum<Values>;
@@ -0,0 +1,8 @@
1
+ // deno-fmt-ignore-file
2
+ import { FromType } from './from_type.mjs';
3
+ import { EvaluateEnum } from '../evaluate/evaluate.mjs';
4
+ export function FromEnum(values) {
5
+ const evaluated = EvaluateEnum(values);
6
+ const result = FromType(evaluated);
7
+ return result;
8
+ }
@@ -1,5 +1,5 @@
1
1
  import { type TSchema } from '../../types/schema.mjs';
2
2
  import { type TEvaluateIntersect } from '../evaluate/evaluate.mjs';
3
- import { type TFromType } from './from-type.mjs';
3
+ import { type TFromType } from './from_type.mjs';
4
4
  export type TFromIntersect<Types extends TSchema[], Evaluated extends TSchema = TEvaluateIntersect<Types>, Result extends string[] = TFromType<Evaluated>> = Result;
5
5
  export declare function FromIntersect<Types extends TSchema[]>(types: [...Types]): TFromIntersect<Types>;
@@ -1,6 +1,6 @@
1
1
  // deno-fmt-ignore-file
2
2
  import { EvaluateIntersect } from '../evaluate/evaluate.mjs';
3
- import { FromType } from './from-type.mjs';
3
+ import { FromType } from './from_type.mjs';
4
4
  export function FromIntersect(types) {
5
5
  const evaluated = EvaluateIntersect(types);
6
6
  const result = FromType(evaluated);
@@ -1,3 +1,3 @@
1
- import { TLiteralValue } from '../../types/literal.mjs';
1
+ import { type TLiteralValue } from '../../types/literal.mjs';
2
2
  export type TFromLiteral<Value extends TLiteralValue, Result extends string[] = [`${Value}`]> = Result;
3
3
  export declare function FromLiteral<Value extends TLiteralValue>(value: Value): TFromLiteral<Value>;
@@ -0,0 +1,5 @@
1
+ import { type TSchema } from '../../types/schema.mjs';
2
+ import { type TFromType } from './from_type.mjs';
3
+ import { type TEvaluateTemplateLiteral } from '../evaluate/evaluate.mjs';
4
+ export type TFromTemplateLiteral<Pattern extends string, Evaluated extends TSchema = TEvaluateTemplateLiteral<Pattern>, Result extends string[] = TFromType<Evaluated>> = Result;
5
+ export declare function FromTemplateLiteral<Pattern extends string>(pattern: Pattern): TFromTemplateLiteral<Pattern>;
@@ -0,0 +1,8 @@
1
+ // deno-fmt-ignore-file
2
+ import { FromType } from './from_type.mjs';
3
+ import { EvaluateTemplateLiteral } from '../evaluate/evaluate.mjs';
4
+ export function FromTemplateLiteral(pattern) {
5
+ const evaluated = EvaluateTemplateLiteral(pattern);
6
+ const result = FromType(evaluated);
7
+ return result;
8
+ }
@@ -0,0 +1,19 @@
1
+ import { type TSchema } from '../../types/schema.mjs';
2
+ import { type TCyclic } from '../../types/cyclic.mjs';
3
+ import { type TDependent } from '../../types/dependent.mjs';
4
+ import { type TEnum, type TEnumValue } from '../../types/enum.mjs';
5
+ import { type TIntersect } from '../../types/intersect.mjs';
6
+ import { type TLiteral, type TLiteralValue } from '../../types/literal.mjs';
7
+ import { type TProperties } from '../../types/properties.mjs';
8
+ import { type TTemplateLiteral } from '../../types/template_literal.mjs';
9
+ import { type TUnion } from '../../types/union.mjs';
10
+ import { type TFromCyclic } from './from_cyclic.mjs';
11
+ import { type TFromDependent } from './from_dependent.mjs';
12
+ import { type TFromEnum } from './from_enum.mjs';
13
+ import { type TFromIntersect } from './from_intersect.mjs';
14
+ import { type TFromLiteral } from './from_literal.mjs';
15
+ import { type TFromTemplateLiteral } from './from_template_literal.mjs';
16
+ import { type TFromUnion } from './from_union.mjs';
17
+ export type TFromType<Indexer extends TSchema, Result extends string[] = (Indexer extends TCyclic<infer Defs extends TProperties, infer Ref extends string> ? TFromCyclic<Defs, Ref> : Indexer extends TDependent<infer If extends TSchema, infer Then extends TSchema, infer Else extends TSchema> ? TFromDependent<If, Then, Else> : Indexer extends TEnum<infer Values extends TEnumValue[]> ? TFromEnum<Values> : Indexer extends TIntersect<infer Types extends TSchema[]> ? TFromIntersect<Types> : Indexer extends TLiteral<infer Value extends TLiteralValue> ? TFromLiteral<Value> : Indexer extends TTemplateLiteral<infer Pattern extends string> ? TFromTemplateLiteral<Pattern> : Indexer extends TUnion<infer Types extends TSchema[]> ? TFromUnion<Types> : [
18
+ ])> = Result;
19
+ export declare function FromType<Indexer extends TSchema>(type: Indexer): TFromType<Indexer>;