typebox 0.0.1 → 1.0.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 (1246) hide show
  1. package/build/compile/code.d.mts +12 -0
  2. package/build/compile/code.mjs +65 -0
  3. package/build/compile/compile.d.mts +6 -0
  4. package/build/compile/compile.mjs +11 -0
  5. package/build/compile/index.d.mts +12 -0
  6. package/build/compile/index.mjs +13 -0
  7. package/build/compile/validator.d.mts +30 -0
  8. package/build/compile/validator.mjs +83 -0
  9. package/build/error/errors.d.mts +213 -0
  10. package/build/error/errors.mjs +1 -0
  11. package/build/error/index.d.mts +1 -0
  12. package/build/error/index.mjs +1 -0
  13. package/build/format/_registry.d.mts +15 -0
  14. package/build/format/_registry.mjs +96 -0
  15. package/build/format/date-time.d.mts +6 -0
  16. package/build/format/date-time.mjs +11 -0
  17. package/build/format/date.d.mts +6 -0
  18. package/build/format/date.mjs +19 -0
  19. package/build/format/duration.d.mts +5 -0
  20. package/build/format/duration.mjs +8 -0
  21. package/build/format/email.d.mts +2 -0
  22. package/build/format/email.mjs +5 -0
  23. package/build/format/format.d.mts +22 -0
  24. package/build/format/format.mjs +22 -0
  25. package/build/format/hostname.d.mts +2 -0
  26. package/build/format/hostname.mjs +5 -0
  27. package/build/format/idn-email.d.mts +2 -0
  28. package/build/format/idn-email.mjs +5 -0
  29. package/build/format/idn-hostname.d.mts +5 -0
  30. package/build/format/idn-hostname.mjs +128 -0
  31. package/build/format/index.d.mts +4 -0
  32. package/build/format/index.mjs +4 -0
  33. package/build/format/ipv4.d.mts +6 -0
  34. package/build/format/ipv4.mjs +9 -0
  35. package/build/format/ipv6.d.mts +6 -0
  36. package/build/format/ipv6.mjs +9 -0
  37. package/build/format/iri-reference.d.mts +5 -0
  38. package/build/format/iri-reference.mjs +59 -0
  39. package/build/format/iri.d.mts +5 -0
  40. package/build/format/iri.mjs +13 -0
  41. package/build/format/json-pointer-uri-fragment.d.mts +6 -0
  42. package/build/format/json-pointer-uri-fragment.mjs +9 -0
  43. package/build/format/json-pointer.d.mts +6 -0
  44. package/build/format/json-pointer.mjs +9 -0
  45. package/build/format/regex.d.mts +6 -0
  46. package/build/format/regex.mjs +17 -0
  47. package/build/format/relative-json-pointer.d.mts +6 -0
  48. package/build/format/relative-json-pointer.mjs +9 -0
  49. package/build/format/time.d.mts +5 -0
  50. package/build/format/time.mjs +27 -0
  51. package/build/format/uri-reference.d.mts +6 -0
  52. package/build/format/uri-reference.mjs +9 -0
  53. package/build/format/uri-template.d.mts +6 -0
  54. package/build/format/uri-template.mjs +10 -0
  55. package/build/format/uri.d.mts +6 -0
  56. package/build/format/uri.mjs +9 -0
  57. package/build/format/url.d.mts +6 -0
  58. package/build/format/url.mjs +9 -0
  59. package/build/format/uuid.d.mts +6 -0
  60. package/build/format/uuid.mjs +9 -0
  61. package/build/guard/emit.d.mts +56 -0
  62. package/build/guard/emit.mjs +183 -0
  63. package/build/guard/globals.d.mts +35 -0
  64. package/build/guard/globals.mjs +90 -0
  65. package/build/guard/guard.d.mts +57 -0
  66. package/build/guard/guard.mjs +180 -0
  67. package/build/guard/index.d.mts +6 -0
  68. package/build/guard/index.mjs +6 -0
  69. package/build/guard/native.d.mts +20 -0
  70. package/build/guard/native.mjs +60 -0
  71. package/build/index.d.mts +8 -0
  72. package/build/index.mjs +14 -0
  73. package/build/schema/build.d.mts +35 -0
  74. package/build/schema/build.mjs +97 -0
  75. package/build/schema/check.d.mts +5 -0
  76. package/build/schema/check.mjs +12 -0
  77. package/build/schema/deref/deref.d.mts +4 -0
  78. package/build/schema/deref/deref.mjs +77 -0
  79. package/build/schema/deref/index.d.mts +1 -0
  80. package/build/schema/deref/index.mjs +1 -0
  81. package/build/schema/engine/_context.d.mts +42 -0
  82. package/build/schema/engine/_context.mjs +121 -0
  83. package/build/schema/engine/_externals.d.mts +9 -0
  84. package/build/schema/engine/_externals.mjs +34 -0
  85. package/build/schema/engine/_functions.d.mts +5 -0
  86. package/build/schema/engine/_functions.mjs +46 -0
  87. package/build/schema/engine/_reducer.d.mts +3 -0
  88. package/build/schema/engine/_reducer.mjs +45 -0
  89. package/build/schema/engine/_refine.d.mts +5 -0
  90. package/build/schema/engine/_refine.mjs +29 -0
  91. package/build/schema/engine/_standard.d.mts +5 -0
  92. package/build/schema/engine/_standard.mjs +27 -0
  93. package/build/schema/engine/additionalItems.d.mts +5 -0
  94. package/build/schema/engine/additionalItems.mjs +48 -0
  95. package/build/schema/engine/additionalProperties.d.mts +8 -0
  96. package/build/schema/engine/additionalProperties.mjs +103 -0
  97. package/build/schema/engine/allOf.d.mts +5 -0
  98. package/build/schema/engine/allOf.mjs +47 -0
  99. package/build/schema/engine/anyOf.d.mts +5 -0
  100. package/build/schema/engine/anyOf.mjs +52 -0
  101. package/build/schema/engine/boolean.d.mts +4 -0
  102. package/build/schema/engine/boolean.mjs +25 -0
  103. package/build/schema/engine/const.d.mts +5 -0
  104. package/build/schema/engine/const.mjs +30 -0
  105. package/build/schema/engine/contains.d.mts +5 -0
  106. package/build/schema/engine/contains.mjs +40 -0
  107. package/build/schema/engine/dependencies.d.mts +5 -0
  108. package/build/schema/engine/dependencies.mjs +45 -0
  109. package/build/schema/engine/dependentRequired.d.mts +5 -0
  110. package/build/schema/engine/dependentRequired.mjs +40 -0
  111. package/build/schema/engine/dependentSchemas.d.mts +5 -0
  112. package/build/schema/engine/dependentSchemas.mjs +38 -0
  113. package/build/schema/engine/enum.d.mts +5 -0
  114. package/build/schema/engine/enum.mjs +33 -0
  115. package/build/schema/engine/exclusiveMaximum.d.mts +5 -0
  116. package/build/schema/engine/exclusiveMaximum.mjs +25 -0
  117. package/build/schema/engine/exclusiveMinimum.d.mts +5 -0
  118. package/build/schema/engine/exclusiveMinimum.mjs +25 -0
  119. package/build/schema/engine/format.d.mts +5 -0
  120. package/build/schema/engine/format.mjs +26 -0
  121. package/build/schema/engine/if.d.mts +5 -0
  122. package/build/schema/engine/if.mjs +47 -0
  123. package/build/schema/engine/index.d.mts +47 -0
  124. package/build/schema/engine/index.mjs +53 -0
  125. package/build/schema/engine/items.d.mts +5 -0
  126. package/build/schema/engine/items.mjs +65 -0
  127. package/build/schema/engine/maxContains.d.mts +5 -0
  128. package/build/schema/engine/maxContains.mjs +40 -0
  129. package/build/schema/engine/maxItems.d.mts +5 -0
  130. package/build/schema/engine/maxItems.mjs +25 -0
  131. package/build/schema/engine/maxLength.d.mts +5 -0
  132. package/build/schema/engine/maxLength.mjs +25 -0
  133. package/build/schema/engine/maxProperties.d.mts +5 -0
  134. package/build/schema/engine/maxProperties.mjs +25 -0
  135. package/build/schema/engine/maximum.d.mts +5 -0
  136. package/build/schema/engine/maximum.mjs +25 -0
  137. package/build/schema/engine/minContains.d.mts +5 -0
  138. package/build/schema/engine/minContains.mjs +39 -0
  139. package/build/schema/engine/minItems.d.mts +5 -0
  140. package/build/schema/engine/minItems.mjs +25 -0
  141. package/build/schema/engine/minLength.d.mts +5 -0
  142. package/build/schema/engine/minLength.mjs +25 -0
  143. package/build/schema/engine/minProperties.d.mts +5 -0
  144. package/build/schema/engine/minProperties.mjs +25 -0
  145. package/build/schema/engine/minimum.d.mts +5 -0
  146. package/build/schema/engine/minimum.mjs +25 -0
  147. package/build/schema/engine/multipleOf.d.mts +5 -0
  148. package/build/schema/engine/multipleOf.mjs +25 -0
  149. package/build/schema/engine/not.d.mts +5 -0
  150. package/build/schema/engine/not.mjs +36 -0
  151. package/build/schema/engine/oneOf.d.mts +5 -0
  152. package/build/schema/engine/oneOf.mjs +58 -0
  153. package/build/schema/engine/pattern.d.mts +5 -0
  154. package/build/schema/engine/pattern.mjs +28 -0
  155. package/build/schema/engine/patternProperties.d.mts +5 -0
  156. package/build/schema/engine/patternProperties.mjs +42 -0
  157. package/build/schema/engine/prefixItems.d.mts +5 -0
  158. package/build/schema/engine/prefixItems.mjs +35 -0
  159. package/build/schema/engine/properties.d.mts +5 -0
  160. package/build/schema/engine/properties.mjs +41 -0
  161. package/build/schema/engine/propertyNames.d.mts +5 -0
  162. package/build/schema/engine/propertyNames.mjs +37 -0
  163. package/build/schema/engine/ref.d.mts +5 -0
  164. package/build/schema/engine/ref.mjs +43 -0
  165. package/build/schema/engine/required.d.mts +5 -0
  166. package/build/schema/engine/required.mjs +32 -0
  167. package/build/schema/engine/schema.d.mts +5 -0
  168. package/build/schema/engine/schema.mjs +322 -0
  169. package/build/schema/engine/type.d.mts +5 -0
  170. package/build/schema/engine/type.mjs +74 -0
  171. package/build/schema/engine/unevaluatedItems.d.mts +5 -0
  172. package/build/schema/engine/unevaluatedItems.mjs +49 -0
  173. package/build/schema/engine/unevaluatedProperties.d.mts +5 -0
  174. package/build/schema/engine/unevaluatedProperties.mjs +49 -0
  175. package/build/schema/engine/uniqueItems.d.mts +5 -0
  176. package/build/schema/engine/uniqueItems.mjs +51 -0
  177. package/build/schema/errors.d.mts +6 -0
  178. package/build/schema/errors.mjs +24 -0
  179. package/build/schema/index.d.mts +16 -0
  180. package/build/schema/index.mjs +19 -0
  181. package/build/schema/schema.d.mts +5 -0
  182. package/build/schema/schema.mjs +5 -0
  183. package/build/schema/types/_refine.d.mts +13 -0
  184. package/build/schema/types/_refine.mjs +18 -0
  185. package/build/schema/types/_standard.d.mts +14 -0
  186. package/build/schema/types/_standard.mjs +19 -0
  187. package/build/schema/types/additionalItems.d.mts +9 -0
  188. package/build/schema/types/additionalItems.mjs +14 -0
  189. package/build/schema/types/additionalProperties.d.mts +9 -0
  190. package/build/schema/types/additionalProperties.mjs +14 -0
  191. package/build/schema/types/allOf.d.mts +9 -0
  192. package/build/schema/types/allOf.mjs +15 -0
  193. package/build/schema/types/anyOf.d.mts +9 -0
  194. package/build/schema/types/anyOf.mjs +15 -0
  195. package/build/schema/types/const.d.mts +9 -0
  196. package/build/schema/types/const.mjs +12 -0
  197. package/build/schema/types/contains.d.mts +9 -0
  198. package/build/schema/types/contains.mjs +14 -0
  199. package/build/schema/types/contentEncoding.d.mts +9 -0
  200. package/build/schema/types/contentEncoding.mjs +13 -0
  201. package/build/schema/types/contentMediaType.d.mts +9 -0
  202. package/build/schema/types/contentMediaType.mjs +13 -0
  203. package/build/schema/types/default.d.mts +9 -0
  204. package/build/schema/types/default.mjs +12 -0
  205. package/build/schema/types/defs.d.mts +6 -0
  206. package/build/schema/types/defs.mjs +12 -0
  207. package/build/schema/types/dependencies.d.mts +11 -0
  208. package/build/schema/types/dependencies.mjs +16 -0
  209. package/build/schema/types/dependentRequired.d.mts +9 -0
  210. package/build/schema/types/dependentRequired.mjs +15 -0
  211. package/build/schema/types/dependentSchemas.d.mts +9 -0
  212. package/build/schema/types/dependentSchemas.mjs +15 -0
  213. package/build/schema/types/else.d.mts +9 -0
  214. package/build/schema/types/else.mjs +14 -0
  215. package/build/schema/types/enum.d.mts +9 -0
  216. package/build/schema/types/enum.mjs +13 -0
  217. package/build/schema/types/exclusiveMaximum.d.mts +9 -0
  218. package/build/schema/types/exclusiveMaximum.mjs +13 -0
  219. package/build/schema/types/exclusiveMinimum.d.mts +9 -0
  220. package/build/schema/types/exclusiveMinimum.mjs +13 -0
  221. package/build/schema/types/format.d.mts +9 -0
  222. package/build/schema/types/format.mjs +13 -0
  223. package/build/schema/types/id.d.mts +9 -0
  224. package/build/schema/types/id.mjs +13 -0
  225. package/build/schema/types/if.d.mts +9 -0
  226. package/build/schema/types/if.mjs +14 -0
  227. package/build/schema/types/index.d.mts +51 -0
  228. package/build/schema/types/index.mjs +57 -0
  229. package/build/schema/types/items.d.mts +19 -0
  230. package/build/schema/types/items.mjs +26 -0
  231. package/build/schema/types/maxContains.d.mts +9 -0
  232. package/build/schema/types/maxContains.mjs +13 -0
  233. package/build/schema/types/maxItems.d.mts +9 -0
  234. package/build/schema/types/maxItems.mjs +13 -0
  235. package/build/schema/types/maxLength.d.mts +9 -0
  236. package/build/schema/types/maxLength.mjs +13 -0
  237. package/build/schema/types/maxProperties.d.mts +9 -0
  238. package/build/schema/types/maxProperties.mjs +13 -0
  239. package/build/schema/types/maximum.d.mts +9 -0
  240. package/build/schema/types/maximum.mjs +13 -0
  241. package/build/schema/types/minContains.d.mts +9 -0
  242. package/build/schema/types/minContains.mjs +13 -0
  243. package/build/schema/types/minItems.d.mts +9 -0
  244. package/build/schema/types/minItems.mjs +13 -0
  245. package/build/schema/types/minLength.d.mts +9 -0
  246. package/build/schema/types/minLength.mjs +13 -0
  247. package/build/schema/types/minProperties.d.mts +9 -0
  248. package/build/schema/types/minProperties.mjs +13 -0
  249. package/build/schema/types/minimum.d.mts +9 -0
  250. package/build/schema/types/minimum.mjs +13 -0
  251. package/build/schema/types/multipleOf.d.mts +9 -0
  252. package/build/schema/types/multipleOf.mjs +13 -0
  253. package/build/schema/types/not.d.mts +9 -0
  254. package/build/schema/types/not.mjs +14 -0
  255. package/build/schema/types/oneOf.d.mts +9 -0
  256. package/build/schema/types/oneOf.mjs +15 -0
  257. package/build/schema/types/pattern.d.mts +9 -0
  258. package/build/schema/types/pattern.mjs +14 -0
  259. package/build/schema/types/patternProperties.d.mts +9 -0
  260. package/build/schema/types/patternProperties.mjs +15 -0
  261. package/build/schema/types/prefixItems.d.mts +8 -0
  262. package/build/schema/types/prefixItems.mjs +14 -0
  263. package/build/schema/types/properties.d.mts +9 -0
  264. package/build/schema/types/properties.mjs +15 -0
  265. package/build/schema/types/propertyNames.d.mts +9 -0
  266. package/build/schema/types/propertyNames.mjs +15 -0
  267. package/build/schema/types/ref.d.mts +9 -0
  268. package/build/schema/types/ref.mjs +13 -0
  269. package/build/schema/types/required.d.mts +9 -0
  270. package/build/schema/types/required.mjs +14 -0
  271. package/build/schema/types/schema.d.mts +9 -0
  272. package/build/schema/types/schema.mjs +14 -0
  273. package/build/schema/types/static.d.mts +115 -0
  274. package/build/schema/types/static.mjs +2 -0
  275. package/build/schema/types/then.d.mts +9 -0
  276. package/build/schema/types/then.mjs +14 -0
  277. package/build/schema/types/type.d.mts +9 -0
  278. package/build/schema/types/type.mjs +15 -0
  279. package/build/schema/types/unevaluatedItems.d.mts +9 -0
  280. package/build/schema/types/unevaluatedItems.mjs +14 -0
  281. package/build/schema/types/unevaluatedProperties.d.mts +9 -0
  282. package/build/schema/types/unevaluatedProperties.mjs +14 -0
  283. package/build/schema/types/uniqueItems.d.mts +9 -0
  284. package/build/schema/types/uniqueItems.mjs +13 -0
  285. package/build/system/arguments/arguments.d.mts +5 -0
  286. package/build/system/arguments/arguments.mjs +9 -0
  287. package/build/system/arguments/index.d.mts +1 -0
  288. package/build/system/arguments/index.mjs +1 -0
  289. package/build/system/environment/can-evaluate.d.mts +2 -0
  290. package/build/system/environment/can-evaluate.mjs +26 -0
  291. package/build/system/environment/environment.d.mts +1 -0
  292. package/build/system/environment/environment.mjs +1 -0
  293. package/build/system/environment/index.d.mts +1 -0
  294. package/build/system/environment/index.mjs +1 -0
  295. package/build/system/hashing/hash.d.mts +4 -0
  296. package/build/system/hashing/hash.mjs +232 -0
  297. package/build/system/hashing/index.d.mts +1 -0
  298. package/build/system/hashing/index.mjs +1 -0
  299. package/build/system/index.d.mts +4 -0
  300. package/build/system/index.mjs +4 -0
  301. package/build/system/locale/_config.d.mts +7 -0
  302. package/build/system/locale/_config.mjs +15 -0
  303. package/build/system/locale/_locale.d.mts +40 -0
  304. package/build/system/locale/_locale.mjs +40 -0
  305. package/build/system/locale/ar_001.d.mts +3 -0
  306. package/build/system/locale/ar_001.mjs +41 -0
  307. package/build/system/locale/bn_BD.d.mts +3 -0
  308. package/build/system/locale/bn_BD.mjs +41 -0
  309. package/build/system/locale/cs_CZ.d.mts +3 -0
  310. package/build/system/locale/cs_CZ.mjs +41 -0
  311. package/build/system/locale/de_DE.d.mts +3 -0
  312. package/build/system/locale/de_DE.mjs +41 -0
  313. package/build/system/locale/el_GR.d.mts +3 -0
  314. package/build/system/locale/el_GR.mjs +41 -0
  315. package/build/system/locale/en_US.d.mts +3 -0
  316. package/build/system/locale/en_US.mjs +40 -0
  317. package/build/system/locale/es_419.d.mts +3 -0
  318. package/build/system/locale/es_419.mjs +41 -0
  319. package/build/system/locale/es_AR.d.mts +3 -0
  320. package/build/system/locale/es_AR.mjs +41 -0
  321. package/build/system/locale/es_ES.d.mts +3 -0
  322. package/build/system/locale/es_ES.mjs +41 -0
  323. package/build/system/locale/es_MX.d.mts +3 -0
  324. package/build/system/locale/es_MX.mjs +41 -0
  325. package/build/system/locale/fa_IR.d.mts +3 -0
  326. package/build/system/locale/fa_IR.mjs +41 -0
  327. package/build/system/locale/fil_PH.d.mts +3 -0
  328. package/build/system/locale/fil_PH.mjs +41 -0
  329. package/build/system/locale/fr_CA.d.mts +3 -0
  330. package/build/system/locale/fr_CA.mjs +41 -0
  331. package/build/system/locale/fr_FR.d.mts +3 -0
  332. package/build/system/locale/fr_FR.mjs +41 -0
  333. package/build/system/locale/ha_NG.d.mts +3 -0
  334. package/build/system/locale/ha_NG.mjs +41 -0
  335. package/build/system/locale/hi_IN.d.mts +3 -0
  336. package/build/system/locale/hi_IN.mjs +41 -0
  337. package/build/system/locale/hu_HU.d.mts +3 -0
  338. package/build/system/locale/hu_HU.mjs +41 -0
  339. package/build/system/locale/id_ID.d.mts +3 -0
  340. package/build/system/locale/id_ID.mjs +41 -0
  341. package/build/system/locale/index.d.mts +1 -0
  342. package/build/system/locale/index.mjs +1 -0
  343. package/build/system/locale/it_IT.d.mts +3 -0
  344. package/build/system/locale/it_IT.mjs +41 -0
  345. package/build/system/locale/ja_JP.d.mts +3 -0
  346. package/build/system/locale/ja_JP.mjs +41 -0
  347. package/build/system/locale/ko_KR.d.mts +3 -0
  348. package/build/system/locale/ko_KR.mjs +41 -0
  349. package/build/system/locale/ms_MY.d.mts +3 -0
  350. package/build/system/locale/ms_MY.mjs +41 -0
  351. package/build/system/locale/nl_NL.d.mts +3 -0
  352. package/build/system/locale/nl_NL.mjs +41 -0
  353. package/build/system/locale/pl_PL.d.mts +3 -0
  354. package/build/system/locale/pl_PL.mjs +41 -0
  355. package/build/system/locale/pt_BR.d.mts +3 -0
  356. package/build/system/locale/pt_BR.mjs +41 -0
  357. package/build/system/locale/pt_PT.d.mts +3 -0
  358. package/build/system/locale/pt_PT.mjs +41 -0
  359. package/build/system/locale/ro_RO.d.mts +3 -0
  360. package/build/system/locale/ro_RO.mjs +41 -0
  361. package/build/system/locale/ru_RU.d.mts +3 -0
  362. package/build/system/locale/ru_RU.mjs +41 -0
  363. package/build/system/locale/sv_SE.d.mts +3 -0
  364. package/build/system/locale/sv_SE.mjs +41 -0
  365. package/build/system/locale/sw_TZ.d.mts +3 -0
  366. package/build/system/locale/sw_TZ.mjs +41 -0
  367. package/build/system/locale/th_TH.d.mts +3 -0
  368. package/build/system/locale/th_TH.mjs +41 -0
  369. package/build/system/locale/tr_TR.d.mts +3 -0
  370. package/build/system/locale/tr_TR.mjs +41 -0
  371. package/build/system/locale/uk_UA.d.mts +3 -0
  372. package/build/system/locale/uk_UA.mjs +41 -0
  373. package/build/system/locale/ur_PK.d.mts +3 -0
  374. package/build/system/locale/ur_PK.mjs +41 -0
  375. package/build/system/locale/vi_VN.d.mts +3 -0
  376. package/build/system/locale/vi_VN.mjs +41 -0
  377. package/build/system/locale/yo_NG.d.mts +3 -0
  378. package/build/system/locale/yo_NG.mjs +41 -0
  379. package/build/system/locale/zh_Hans.d.mts +3 -0
  380. package/build/system/locale/zh_Hans.mjs +41 -0
  381. package/build/system/locale/zh_Hant.d.mts +3 -0
  382. package/build/system/locale/zh_Hant.mjs +41 -0
  383. package/build/system/memory/assign.d.mts +14 -0
  384. package/build/system/memory/assign.mjs +10 -0
  385. package/build/system/memory/clone.d.mts +6 -0
  386. package/build/system/memory/clone.mjs +63 -0
  387. package/build/system/memory/create.d.mts +8 -0
  388. package/build/system/memory/create.mjs +23 -0
  389. package/build/system/memory/discard.d.mts +4 -0
  390. package/build/system/memory/discard.mjs +16 -0
  391. package/build/system/memory/index.d.mts +1 -0
  392. package/build/system/memory/index.mjs +1 -0
  393. package/build/system/memory/memory.d.mts +6 -0
  394. package/build/system/memory/memory.mjs +7 -0
  395. package/build/system/memory/metrics.d.mts +14 -0
  396. package/build/system/memory/metrics.mjs +8 -0
  397. package/build/system/memory/update.d.mts +7 -0
  398. package/build/system/memory/update.mjs +32 -0
  399. package/build/system/settings/index.d.mts +1 -0
  400. package/build/system/settings/index.mjs +1 -0
  401. package/build/system/settings/settings.d.mts +37 -0
  402. package/build/system/settings/settings.mjs +28 -0
  403. package/build/system/system.d.mts +6 -0
  404. package/build/system/system.mjs +6 -0
  405. package/build/system/unreachable/index.d.mts +1 -0
  406. package/build/system/unreachable/index.mjs +1 -0
  407. package/build/system/unreachable/unreachable.d.mts +3 -0
  408. package/build/system/unreachable/unreachable.mjs +6 -0
  409. package/build/type/action/_optional.d.mts +19 -0
  410. package/build/type/action/_optional.mjs +40 -0
  411. package/build/type/action/_readonly.d.mts +19 -0
  412. package/build/type/action/_readonly.mjs +40 -0
  413. package/build/type/action/awaited.d.mts +11 -0
  414. package/build/type/action/awaited.mjs +11 -0
  415. package/build/type/action/capitalize.d.mts +11 -0
  416. package/build/type/action/capitalize.mjs +11 -0
  417. package/build/type/action/conditional.d.mts +11 -0
  418. package/build/type/action/conditional.mjs +11 -0
  419. package/build/type/action/constructor-parameters.d.mts +11 -0
  420. package/build/type/action/constructor-parameters.mjs +11 -0
  421. package/build/type/action/evaluate.d.mts +11 -0
  422. package/build/type/action/evaluate.mjs +11 -0
  423. package/build/type/action/exclude.d.mts +11 -0
  424. package/build/type/action/exclude.mjs +11 -0
  425. package/build/type/action/extract.d.mts +11 -0
  426. package/build/type/action/extract.mjs +11 -0
  427. package/build/type/action/index.d.mts +26 -0
  428. package/build/type/action/index.mjs +26 -0
  429. package/build/type/action/indexed.d.mts +14 -0
  430. package/build/type/action/indexed.mjs +14 -0
  431. package/build/type/action/instance-type.d.mts +11 -0
  432. package/build/type/action/instance-type.mjs +11 -0
  433. package/build/type/action/interface.d.mts +14 -0
  434. package/build/type/action/interface.mjs +19 -0
  435. package/build/type/action/keyof.d.mts +11 -0
  436. package/build/type/action/keyof.mjs +11 -0
  437. package/build/type/action/lowercase.d.mts +11 -0
  438. package/build/type/action/lowercase.mjs +11 -0
  439. package/build/type/action/mapped.d.mts +12 -0
  440. package/build/type/action/mapped.mjs +11 -0
  441. package/build/type/action/module.d.mts +12 -0
  442. package/build/type/action/module.mjs +11 -0
  443. package/build/type/action/non-nullable.d.mts +11 -0
  444. package/build/type/action/non-nullable.mjs +11 -0
  445. package/build/type/action/omit.d.mts +14 -0
  446. package/build/type/action/omit.mjs +14 -0
  447. package/build/type/action/options.d.mts +12 -0
  448. package/build/type/action/options.mjs +11 -0
  449. package/build/type/action/parameters.d.mts +11 -0
  450. package/build/type/action/parameters.mjs +11 -0
  451. package/build/type/action/partial.d.mts +11 -0
  452. package/build/type/action/partial.mjs +11 -0
  453. package/build/type/action/pick.d.mts +14 -0
  454. package/build/type/action/pick.mjs +14 -0
  455. package/build/type/action/required.d.mts +11 -0
  456. package/build/type/action/required.mjs +11 -0
  457. package/build/type/action/return-type.d.mts +11 -0
  458. package/build/type/action/return-type.mjs +11 -0
  459. package/build/type/action/uncapitalize.d.mts +11 -0
  460. package/build/type/action/uncapitalize.mjs +11 -0
  461. package/build/type/action/uppercase.d.mts +11 -0
  462. package/build/type/action/uppercase.mjs +11 -0
  463. package/build/type/engine/awaited/index.d.mts +1 -0
  464. package/build/type/engine/awaited/index.mjs +1 -0
  465. package/build/type/engine/awaited/instantiate.d.mts +10 -0
  466. package/build/type/engine/awaited/instantiate.mjs +19 -0
  467. package/build/type/engine/call/instantiate.d.mts +20 -0
  468. package/build/type/engine/call/instantiate.mjs +38 -0
  469. package/build/type/engine/call/resolve-arguments.d.mts +13 -0
  470. package/build/type/engine/call/resolve-arguments.mjs +39 -0
  471. package/build/type/engine/call/resolve-target.d.mts +25 -0
  472. package/build/type/engine/call/resolve-target.mjs +27 -0
  473. package/build/type/engine/conditional/index.d.mts +1 -0
  474. package/build/type/engine/conditional/index.mjs +1 -0
  475. package/build/type/engine/conditional/instantiate.d.mts +10 -0
  476. package/build/type/engine/conditional/instantiate.mjs +19 -0
  477. package/build/type/engine/constructor-parameters/index.d.mts +1 -0
  478. package/build/type/engine/constructor-parameters/index.mjs +1 -0
  479. package/build/type/engine/constructor-parameters/instantiate.d.mts +14 -0
  480. package/build/type/engine/constructor-parameters/instantiate.mjs +21 -0
  481. package/build/type/engine/cyclic/candidates.d.mts +9 -0
  482. package/build/type/engine/cyclic/candidates.mjs +19 -0
  483. package/build/type/engine/cyclic/check.d.mts +24 -0
  484. package/build/type/engine/cyclic/check.mjs +54 -0
  485. package/build/type/engine/cyclic/dependencies.d.mts +25 -0
  486. package/build/type/engine/cyclic/dependencies.mjs +53 -0
  487. package/build/type/engine/cyclic/extends.d.mts +31 -0
  488. package/build/type/engine/cyclic/extends.mjs +53 -0
  489. package/build/type/engine/cyclic/index.d.mts +6 -0
  490. package/build/type/engine/cyclic/index.mjs +6 -0
  491. package/build/type/engine/cyclic/instantiate.d.mts +20 -0
  492. package/build/type/engine/cyclic/instantiate.mjs +29 -0
  493. package/build/type/engine/cyclic/target.d.mts +10 -0
  494. package/build/type/engine/cyclic/target.mjs +16 -0
  495. package/build/type/engine/enum/enum-to-union.d.mts +14 -0
  496. package/build/type/engine/enum/enum-to-union.mjs +24 -0
  497. package/build/type/engine/enum/index.d.mts +2 -0
  498. package/build/type/engine/enum/index.mjs +2 -0
  499. package/build/type/engine/enum/typescript-enum-to-enum-values.d.mts +7 -0
  500. package/build/type/engine/enum/typescript-enum-to-enum-values.mjs +6 -0
  501. package/build/type/engine/evaluate/broaden.d.mts +16 -0
  502. package/build/type/engine/evaluate/broaden.mjs +48 -0
  503. package/build/type/engine/evaluate/compare.d.mts +15 -0
  504. package/build/type/engine/evaluate/compare.mjs +21 -0
  505. package/build/type/engine/evaluate/composite.d.mts +30 -0
  506. package/build/type/engine/evaluate/composite.mjs +63 -0
  507. package/build/type/engine/evaluate/distribute.d.mts +26 -0
  508. package/build/type/engine/evaluate/distribute.mjs +53 -0
  509. package/build/type/engine/evaluate/evaluate.d.mts +11 -0
  510. package/build/type/engine/evaluate/evaluate.mjs +19 -0
  511. package/build/type/engine/evaluate/flatten.d.mts +6 -0
  512. package/build/type/engine/evaluate/flatten.mjs +11 -0
  513. package/build/type/engine/evaluate/index.d.mts +8 -0
  514. package/build/type/engine/evaluate/index.mjs +8 -0
  515. package/build/type/engine/evaluate/instantiate.d.mts +8 -0
  516. package/build/type/engine/evaluate/instantiate.mjs +17 -0
  517. package/build/type/engine/evaluate/narrow.d.mts +5 -0
  518. package/build/type/engine/evaluate/narrow.mjs +11 -0
  519. package/build/type/engine/exclude/index.d.mts +1 -0
  520. package/build/type/engine/exclude/index.mjs +1 -0
  521. package/build/type/engine/exclude/instantiate.d.mts +16 -0
  522. package/build/type/engine/exclude/instantiate.mjs +36 -0
  523. package/build/type/engine/extract/index.d.mts +1 -0
  524. package/build/type/engine/extract/index.mjs +1 -0
  525. package/build/type/engine/extract/instantiate.d.mts +16 -0
  526. package/build/type/engine/extract/instantiate.mjs +36 -0
  527. package/build/type/engine/helpers/index.d.mts +3 -0
  528. package/build/type/engine/helpers/index.mjs +3 -0
  529. package/build/type/engine/helpers/keys-to-indexer.d.mts +7 -0
  530. package/build/type/engine/helpers/keys-to-indexer.mjs +15 -0
  531. package/build/type/engine/helpers/keys.d.mts +3 -0
  532. package/build/type/engine/helpers/keys.mjs +8 -0
  533. package/build/type/engine/helpers/union.d.mts +7 -0
  534. package/build/type/engine/helpers/union.mjs +2 -0
  535. package/build/type/engine/index.d.mts +30 -0
  536. package/build/type/engine/index.mjs +36 -0
  537. package/build/type/engine/indexable/from-cyclic.d.mts +6 -0
  538. package/build/type/engine/indexable/from-cyclic.mjs +8 -0
  539. package/build/type/engine/indexable/from-enum.d.mts +6 -0
  540. package/build/type/engine/indexable/from-enum.mjs +8 -0
  541. package/build/type/engine/indexable/from-intersect.d.mts +5 -0
  542. package/build/type/engine/indexable/from-intersect.mjs +8 -0
  543. package/build/type/engine/indexable/from-literal.d.mts +3 -0
  544. package/build/type/engine/indexable/from-literal.mjs +5 -0
  545. package/build/type/engine/indexable/from-template-literal.d.mts +5 -0
  546. package/build/type/engine/indexable/from-template-literal.mjs +8 -0
  547. package/build/type/engine/indexable/from-type.d.mts +17 -0
  548. package/build/type/engine/indexable/from-type.mjs +22 -0
  549. package/build/type/engine/indexable/from-union.d.mts +4 -0
  550. package/build/type/engine/indexable/from-union.mjs +7 -0
  551. package/build/type/engine/indexable/to-indexable-keys.d.mts +10 -0
  552. package/build/type/engine/indexable/to-indexable-keys.mjs +12 -0
  553. package/build/type/engine/indexable/to-indexable.d.mts +9 -0
  554. package/build/type/engine/indexable/to-indexable.mjs +14 -0
  555. package/build/type/engine/indexed/array-indexer.d.mts +12 -0
  556. package/build/type/engine/indexed/array-indexer.mjs +18 -0
  557. package/build/type/engine/indexed/from-array.d.mts +15 -0
  558. package/build/type/engine/indexed/from-array.mjs +26 -0
  559. package/build/type/engine/indexed/from-object.d.mts +9 -0
  560. package/build/type/engine/indexed/from-object.mjs +18 -0
  561. package/build/type/engine/indexed/from-tuple.d.mts +13 -0
  562. package/build/type/engine/indexed/from-tuple.mjs +28 -0
  563. package/build/type/engine/indexed/index.d.mts +1 -0
  564. package/build/type/engine/indexed/index.mjs +1 -0
  565. package/build/type/engine/indexed/instantiate.d.mts +21 -0
  566. package/build/type/engine/indexed/instantiate.mjs +37 -0
  567. package/build/type/engine/instance-type/index.d.mts +1 -0
  568. package/build/type/engine/instance-type/index.mjs +1 -0
  569. package/build/type/engine/instance-type/instantiate.d.mts +12 -0
  570. package/build/type/engine/instance-type/instantiate.mjs +20 -0
  571. package/build/type/engine/instantiate.d.mts +162 -0
  572. package/build/type/engine/instantiate.mjs +165 -0
  573. package/build/type/engine/interface/index.d.mts +1 -0
  574. package/build/type/engine/interface/index.mjs +1 -0
  575. package/build/type/engine/interface/instantiate.d.mts +16 -0
  576. package/build/type/engine/interface/instantiate.mjs +19 -0
  577. package/build/type/engine/intrinsics/from-literal.d.mts +5 -0
  578. package/build/type/engine/intrinsics/from-literal.mjs +9 -0
  579. package/build/type/engine/intrinsics/from-template-literal.d.mts +6 -0
  580. package/build/type/engine/intrinsics/from-template-literal.mjs +8 -0
  581. package/build/type/engine/intrinsics/from-type.d.mts +10 -0
  582. package/build/type/engine/intrinsics/from-type.mjs +13 -0
  583. package/build/type/engine/intrinsics/from-union.d.mts +6 -0
  584. package/build/type/engine/intrinsics/from-union.mjs +7 -0
  585. package/build/type/engine/intrinsics/index.d.mts +1 -0
  586. package/build/type/engine/intrinsics/index.mjs +1 -0
  587. package/build/type/engine/intrinsics/instantiate.d.mts +34 -0
  588. package/build/type/engine/intrinsics/instantiate.mjs +48 -0
  589. package/build/type/engine/intrinsics/mapping.d.mts +9 -0
  590. package/build/type/engine/intrinsics/mapping.mjs +4 -0
  591. package/build/type/engine/keyof/from-array.d.mts +4 -0
  592. package/build/type/engine/keyof/from-array.mjs +5 -0
  593. package/build/type/engine/keyof/from-object.d.mts +10 -0
  594. package/build/type/engine/keyof/from-object.mjs +20 -0
  595. package/build/type/engine/keyof/from-record.d.mts +4 -0
  596. package/build/type/engine/keyof/from-record.mjs +5 -0
  597. package/build/type/engine/keyof/from-tuple.d.mts +5 -0
  598. package/build/type/engine/keyof/from-tuple.mjs +7 -0
  599. package/build/type/engine/keyof/index.d.mts +1 -0
  600. package/build/type/engine/keyof/index.mjs +1 -0
  601. package/build/type/engine/keyof/instantiate.d.mts +25 -0
  602. package/build/type/engine/keyof/instantiate.mjs +42 -0
  603. package/build/type/engine/mapped/index.d.mts +1 -0
  604. package/build/type/engine/mapped/index.mjs +1 -0
  605. package/build/type/engine/mapped/instantiate.d.mts +28 -0
  606. package/build/type/engine/mapped/instantiate.mjs +47 -0
  607. package/build/type/engine/mapped/mapped-keys.d.mts +14 -0
  608. package/build/type/engine/mapped/mapped-keys.mjs +29 -0
  609. package/build/type/engine/module/index.d.mts +1 -0
  610. package/build/type/engine/module/index.mjs +1 -0
  611. package/build/type/engine/module/instantiate.d.mts +21 -0
  612. package/build/type/engine/module/instantiate.mjs +33 -0
  613. package/build/type/engine/non-nullable/index.d.mts +1 -0
  614. package/build/type/engine/non-nullable/index.mjs +1 -0
  615. package/build/type/engine/non-nullable/instantiate.d.mts +15 -0
  616. package/build/type/engine/non-nullable/instantiate.mjs +21 -0
  617. package/build/type/engine/object/collapse.d.mts +12 -0
  618. package/build/type/engine/object/collapse.mjs +14 -0
  619. package/build/type/engine/object/from-cyclic.d.mts +6 -0
  620. package/build/type/engine/object/from-cyclic.mjs +8 -0
  621. package/build/type/engine/object/from-intersect.d.mts +14 -0
  622. package/build/type/engine/object/from-intersect.mjs +17 -0
  623. package/build/type/engine/object/from-object.d.mts +3 -0
  624. package/build/type/engine/object/from-object.mjs +4 -0
  625. package/build/type/engine/object/from-tuple.d.mts +6 -0
  626. package/build/type/engine/object/from-tuple.mjs +9 -0
  627. package/build/type/engine/object/from-type.d.mts +14 -0
  628. package/build/type/engine/object/from-type.mjs +19 -0
  629. package/build/type/engine/object/from-union.d.mts +12 -0
  630. package/build/type/engine/object/from-union.mjs +26 -0
  631. package/build/type/engine/object/index.d.mts +1 -0
  632. package/build/type/engine/object/index.mjs +1 -0
  633. package/build/type/engine/omit/index.d.mts +1 -0
  634. package/build/type/engine/omit/index.mjs +1 -0
  635. package/build/type/engine/omit/instantiate.d.mts +16 -0
  636. package/build/type/engine/omit/instantiate.mjs +31 -0
  637. package/build/type/engine/options/index.d.mts +1 -0
  638. package/build/type/engine/options/index.mjs +1 -0
  639. package/build/type/engine/options/instantiate.d.mts +8 -0
  640. package/build/type/engine/options/instantiate.mjs +13 -0
  641. package/build/type/engine/parameters/index.d.mts +1 -0
  642. package/build/type/engine/parameters/index.mjs +1 -0
  643. package/build/type/engine/parameters/instantiate.d.mts +14 -0
  644. package/build/type/engine/parameters/instantiate.mjs +21 -0
  645. package/build/type/engine/partial/from-cyclic.d.mts +10 -0
  646. package/build/type/engine/partial/from-cyclic.mjs +11 -0
  647. package/build/type/engine/partial/from-intersect.d.mts +5 -0
  648. package/build/type/engine/partial/from-intersect.mjs +7 -0
  649. package/build/type/engine/partial/from-object.d.mts +8 -0
  650. package/build/type/engine/partial/from-object.mjs +11 -0
  651. package/build/type/engine/partial/from-type.d.mts +12 -0
  652. package/build/type/engine/partial/from-type.mjs +16 -0
  653. package/build/type/engine/partial/from-union.d.mts +5 -0
  654. package/build/type/engine/partial/from-union.mjs +7 -0
  655. package/build/type/engine/partial/index.d.mts +1 -0
  656. package/build/type/engine/partial/index.mjs +1 -0
  657. package/build/type/engine/partial/instantiate.d.mts +9 -0
  658. package/build/type/engine/partial/instantiate.mjs +14 -0
  659. package/build/type/engine/patterns/index.d.mts +2 -0
  660. package/build/type/engine/patterns/index.mjs +2 -0
  661. package/build/type/engine/patterns/pattern.d.mts +7 -0
  662. package/build/type/engine/patterns/pattern.mjs +13 -0
  663. package/build/type/engine/patterns/template.d.mts +7 -0
  664. package/build/type/engine/patterns/template.mjs +20 -0
  665. package/build/type/engine/pick/index.d.mts +1 -0
  666. package/build/type/engine/pick/index.mjs +1 -0
  667. package/build/type/engine/pick/instantiate.d.mts +17 -0
  668. package/build/type/engine/pick/instantiate.mjs +31 -0
  669. package/build/type/engine/record/from-key-any.d.mts +4 -0
  670. package/build/type/engine/record/from-key-any.mjs +6 -0
  671. package/build/type/engine/record/from-key-boolean.d.mts +7 -0
  672. package/build/type/engine/record/from-key-boolean.mjs +5 -0
  673. package/build/type/engine/record/from-key-enum.d.mts +6 -0
  674. package/build/type/engine/record/from-key-enum.mjs +8 -0
  675. package/build/type/engine/record/from-key-integer.d.mts +5 -0
  676. package/build/type/engine/record/from-key-integer.mjs +7 -0
  677. package/build/type/engine/record/from-key-intersect.d.mts +5 -0
  678. package/build/type/engine/record/from-key-intersect.mjs +8 -0
  679. package/build/type/engine/record/from-key-literal.d.mts +11 -0
  680. package/build/type/engine/record/from-key-literal.mjs +10 -0
  681. package/build/type/engine/record/from-key-number.d.mts +5 -0
  682. package/build/type/engine/record/from-key-number.mjs +7 -0
  683. package/build/type/engine/record/from-key-string.d.mts +5 -0
  684. package/build/type/engine/record/from-key-string.mjs +12 -0
  685. package/build/type/engine/record/from-key-template-literal.d.mts +8 -0
  686. package/build/type/engine/record/from-key-template-literal.mjs +12 -0
  687. package/build/type/engine/record/from-key-union.d.mts +20 -0
  688. package/build/type/engine/record/from-key-union.mjs +39 -0
  689. package/build/type/engine/record/from-key.d.mts +24 -0
  690. package/build/type/engine/record/from-key.mjs +40 -0
  691. package/build/type/engine/record/index.d.mts +1 -0
  692. package/build/type/engine/record/index.mjs +1 -0
  693. package/build/type/engine/record/instantiate.d.mts +9 -0
  694. package/build/type/engine/record/instantiate.mjs +16 -0
  695. package/build/type/engine/record/record-create.d.mts +3 -0
  696. package/build/type/engine/record/record-create.mjs +7 -0
  697. package/build/type/engine/ref/index.d.mts +1 -0
  698. package/build/type/engine/ref/index.mjs +1 -0
  699. package/build/type/engine/ref/instantiate.d.mts +6 -0
  700. package/build/type/engine/ref/instantiate.mjs +11 -0
  701. package/build/type/engine/required/from-cyclic.d.mts +10 -0
  702. package/build/type/engine/required/from-cyclic.mjs +11 -0
  703. package/build/type/engine/required/from-intersect.d.mts +5 -0
  704. package/build/type/engine/required/from-intersect.mjs +7 -0
  705. package/build/type/engine/required/from-object.d.mts +8 -0
  706. package/build/type/engine/required/from-object.mjs +11 -0
  707. package/build/type/engine/required/from-type.d.mts +12 -0
  708. package/build/type/engine/required/from-type.mjs +16 -0
  709. package/build/type/engine/required/from-union.d.mts +5 -0
  710. package/build/type/engine/required/from-union.mjs +7 -0
  711. package/build/type/engine/required/index.d.mts +1 -0
  712. package/build/type/engine/required/index.mjs +1 -0
  713. package/build/type/engine/required/instantiate.d.mts +9 -0
  714. package/build/type/engine/required/instantiate.mjs +14 -0
  715. package/build/type/engine/rest/index.d.mts +1 -0
  716. package/build/type/engine/rest/index.mjs +1 -0
  717. package/build/type/engine/rest/spread.d.mts +12 -0
  718. package/build/type/engine/rest/spread.mjs +19 -0
  719. package/build/type/engine/return-type/index.d.mts +1 -0
  720. package/build/type/engine/return-type/index.mjs +1 -0
  721. package/build/type/engine/return-type/instantiate.d.mts +11 -0
  722. package/build/type/engine/return-type/instantiate.mjs +18 -0
  723. package/build/type/engine/template-literal/create.d.mts +1 -0
  724. package/build/type/engine/template-literal/create.mjs +5 -0
  725. package/build/type/engine/template-literal/decode.d.mts +20 -0
  726. package/build/type/engine/template-literal/decode.mjs +73 -0
  727. package/build/type/engine/template-literal/encode.d.mts +31 -0
  728. package/build/type/engine/template-literal/encode.mjs +80 -0
  729. package/build/type/engine/template-literal/finite.d.mts +12 -0
  730. package/build/type/engine/template-literal/finite.mjs +30 -0
  731. package/build/type/engine/template-literal/index.d.mts +5 -0
  732. package/build/type/engine/template-literal/index.mjs +5 -0
  733. package/build/type/engine/template-literal/instantiate.d.mts +9 -0
  734. package/build/type/engine/template-literal/instantiate.mjs +14 -0
  735. package/build/type/engine/template-literal/static.d.mts +18 -0
  736. package/build/type/engine/template-literal/static.mjs +2 -0
  737. package/build/type/engine/tuple/to-object.d.mts +12 -0
  738. package/build/type/engine/tuple/to-object.mjs +13 -0
  739. package/build/type/extends/any.d.mts +9 -0
  740. package/build/type/extends/any.mjs +12 -0
  741. package/build/type/extends/array.d.mts +7 -0
  742. package/build/type/extends/array.mjs +9 -0
  743. package/build/type/extends/async-iterator.d.mts +7 -0
  744. package/build/type/extends/async-iterator.mjs +9 -0
  745. package/build/type/extends/bigint.d.mts +7 -0
  746. package/build/type/extends/bigint.mjs +9 -0
  747. package/build/type/extends/boolean.d.mts +7 -0
  748. package/build/type/extends/boolean.mjs +9 -0
  749. package/build/type/extends/constructor.d.mts +8 -0
  750. package/build/type/extends/constructor.mjs +16 -0
  751. package/build/type/extends/enum.d.mts +7 -0
  752. package/build/type/extends/enum.mjs +6 -0
  753. package/build/type/extends/extends-left.d.mts +55 -0
  754. package/build/type/extends/extends-left.mjs +83 -0
  755. package/build/type/extends/extends-right.d.mts +25 -0
  756. package/build/type/extends/extends-right.mjs +59 -0
  757. package/build/type/extends/extends.d.mts +11 -0
  758. package/build/type/extends/extends.mjs +15 -0
  759. package/build/type/extends/function.d.mts +8 -0
  760. package/build/type/extends/function.mjs +16 -0
  761. package/build/type/extends/index.d.mts +2 -0
  762. package/build/type/extends/index.mjs +2 -0
  763. package/build/type/extends/inference.d.mts +34 -0
  764. package/build/type/extends/inference.mjs +72 -0
  765. package/build/type/extends/integer.d.mts +8 -0
  766. package/build/type/extends/integer.mjs +10 -0
  767. package/build/type/extends/intersect.d.mts +6 -0
  768. package/build/type/extends/intersect.mjs +15 -0
  769. package/build/type/extends/iterator.d.mts +7 -0
  770. package/build/type/extends/iterator.mjs +9 -0
  771. package/build/type/extends/literal.d.mts +17 -0
  772. package/build/type/extends/literal.mjs +41 -0
  773. package/build/type/extends/never.d.mts +8 -0
  774. package/build/type/extends/never.mjs +9 -0
  775. package/build/type/extends/null.d.mts +7 -0
  776. package/build/type/extends/null.mjs +9 -0
  777. package/build/type/extends/number.d.mts +7 -0
  778. package/build/type/extends/number.mjs +9 -0
  779. package/build/type/extends/object.d.mts +25 -0
  780. package/build/type/extends/object.mjs +89 -0
  781. package/build/type/extends/parameters.d.mts +15 -0
  782. package/build/type/extends/parameters.mjs +37 -0
  783. package/build/type/extends/promise.d.mts +7 -0
  784. package/build/type/extends/promise.mjs +9 -0
  785. package/build/type/extends/result.d.mts +21 -0
  786. package/build/type/extends/result.mjs +33 -0
  787. package/build/type/extends/return-type.d.mts +7 -0
  788. package/build/type/extends/return-type.mjs +9 -0
  789. package/build/type/extends/string.d.mts +7 -0
  790. package/build/type/extends/string.mjs +9 -0
  791. package/build/type/extends/symbol.d.mts +7 -0
  792. package/build/type/extends/symbol.mjs +9 -0
  793. package/build/type/extends/template-literal.d.mts +6 -0
  794. package/build/type/extends/template-literal.mjs +7 -0
  795. package/build/type/extends/tuple.d.mts +25 -0
  796. package/build/type/extends/tuple.mjs +82 -0
  797. package/build/type/extends/undefined.d.mts +8 -0
  798. package/build/type/extends/undefined.mjs +10 -0
  799. package/build/type/extends/union.d.mts +11 -0
  800. package/build/type/extends/union.mjs +36 -0
  801. package/build/type/extends/unknown.d.mts +9 -0
  802. package/build/type/extends/unknown.mjs +12 -0
  803. package/build/type/extends/void.d.mts +7 -0
  804. package/build/type/extends/void.mjs +9 -0
  805. package/build/type/index.d.mts +5 -0
  806. package/build/type/index.mjs +5 -0
  807. package/build/type/script/index.d.mts +1 -0
  808. package/build/type/script/index.mjs +1 -0
  809. package/build/type/script/mapping.d.mts +358 -0
  810. package/build/type/script/mapping.mjs +525 -0
  811. package/build/type/script/parser.d.mts +256 -0
  812. package/build/type/script/parser.mjs +132 -0
  813. package/build/type/script/script.d.mts +17 -0
  814. package/build/type/script/script.mjs +21 -0
  815. package/build/type/script/token/bigint.d.mts +8 -0
  816. package/build/type/script/token/bigint.mjs +20 -0
  817. package/build/type/script/token/const.d.mts +11 -0
  818. package/build/type/script/token/const.mjs +18 -0
  819. package/build/type/script/token/ident.d.mts +16 -0
  820. package/build/type/script/token/ident.mjs +35 -0
  821. package/build/type/script/token/index.d.mts +9 -0
  822. package/build/type/script/token/index.mjs +9 -0
  823. package/build/type/script/token/integer.d.mts +19 -0
  824. package/build/type/script/token/integer.mjs +45 -0
  825. package/build/type/script/token/internal/char.d.mts +73 -0
  826. package/build/type/script/token/internal/char.mjs +25 -0
  827. package/build/type/script/token/internal/guard.d.mts +1 -0
  828. package/build/type/script/token/internal/guard.mjs +15 -0
  829. package/build/type/script/token/internal/many.d.mts +7 -0
  830. package/build/type/script/token/internal/many.mjs +17 -0
  831. package/build/type/script/token/internal/optional.d.mts +5 -0
  832. package/build/type/script/token/internal/optional.mjs +12 -0
  833. package/build/type/script/token/internal/result.d.mts +2 -0
  834. package/build/type/script/token/internal/result.mjs +7 -0
  835. package/build/type/script/token/internal/take.d.mts +6 -0
  836. package/build/type/script/token/internal/take.mjs +19 -0
  837. package/build/type/script/token/internal/trim.d.mts +19 -0
  838. package/build/type/script/token/internal/trim.mjs +34 -0
  839. package/build/type/script/token/number.d.mts +20 -0
  840. package/build/type/script/token/number.mjs +65 -0
  841. package/build/type/script/token/span.d.mts +10 -0
  842. package/build/type/script/token/span.mjs +35 -0
  843. package/build/type/script/token/string.d.mts +11 -0
  844. package/build/type/script/token/string.mjs +24 -0
  845. package/build/type/script/token/until.d.mts +6 -0
  846. package/build/type/script/token/until.mjs +21 -0
  847. package/build/type/script/token/until_1.d.mts +5 -0
  848. package/build/type/script/token/until_1.mjs +16 -0
  849. package/build/type/types/_codec.d.mts +30 -0
  850. package/build/type/types/_codec.mjs +59 -0
  851. package/build/type/types/_optional.d.mts +16 -0
  852. package/build/type/types/_optional.mjs +27 -0
  853. package/build/type/types/_readonly.d.mts +16 -0
  854. package/build/type/types/_readonly.mjs +26 -0
  855. package/build/type/types/_refine.d.mts +19 -0
  856. package/build/type/types/_refine.mjs +20 -0
  857. package/build/type/types/any.d.mts +10 -0
  858. package/build/type/types/any.mjs +18 -0
  859. package/build/type/types/array.d.mts +16 -0
  860. package/build/type/types/array.mjs +24 -0
  861. package/build/type/types/async-iterator.d.mts +16 -0
  862. package/build/type/types/async-iterator.mjs +24 -0
  863. package/build/type/types/base.d.mts +40 -0
  864. package/build/type/types/base.mjs +78 -0
  865. package/build/type/types/bigint.d.mts +12 -0
  866. package/build/type/types/bigint.mjs +21 -0
  867. package/build/type/types/boolean.d.mts +11 -0
  868. package/build/type/types/boolean.mjs +17 -0
  869. package/build/type/types/call.d.mts +16 -0
  870. package/build/type/types/call.mjs +21 -0
  871. package/build/type/types/constructor.d.mts +18 -0
  872. package/build/type/types/constructor.mjs +24 -0
  873. package/build/type/types/cyclic.d.mts +16 -0
  874. package/build/type/types/cyclic.mjs +29 -0
  875. package/build/type/types/deferred.d.mts +12 -0
  876. package/build/type/types/deferred.mjs +16 -0
  877. package/build/type/types/enum.d.mts +15 -0
  878. package/build/type/types/enum.mjs +17 -0
  879. package/build/type/types/function.d.mts +18 -0
  880. package/build/type/types/function.mjs +24 -0
  881. package/build/type/types/generic.d.mts +13 -0
  882. package/build/type/types/generic.mjs +17 -0
  883. package/build/type/types/identifier.d.mts +11 -0
  884. package/build/type/types/identifier.mjs +17 -0
  885. package/build/type/types/index.d.mts +47 -0
  886. package/build/type/types/index.mjs +53 -0
  887. package/build/type/types/infer.d.mts +15 -0
  888. package/build/type/types/infer.mjs +20 -0
  889. package/build/type/types/integer.d.mts +12 -0
  890. package/build/type/types/integer.mjs +21 -0
  891. package/build/type/types/intersect.d.mts +15 -0
  892. package/build/type/types/intersect.mjs +24 -0
  893. package/build/type/types/iterator.d.mts +16 -0
  894. package/build/type/types/iterator.mjs +24 -0
  895. package/build/type/types/literal.d.mts +22 -0
  896. package/build/type/types/literal.mjs +41 -0
  897. package/build/type/types/never.d.mts +12 -0
  898. package/build/type/types/never.mjs +21 -0
  899. package/build/type/types/null.d.mts +11 -0
  900. package/build/type/types/null.mjs +17 -0
  901. package/build/type/types/number.d.mts +12 -0
  902. package/build/type/types/number.mjs +21 -0
  903. package/build/type/types/object.d.mts +17 -0
  904. package/build/type/types/object.mjs +27 -0
  905. package/build/type/types/parameter.d.mts +17 -0
  906. package/build/type/types/parameter.mjs +21 -0
  907. package/build/type/types/promise.d.mts +16 -0
  908. package/build/type/types/promise.mjs +24 -0
  909. package/build/type/types/properties.d.mts +42 -0
  910. package/build/type/types/properties.mjs +16 -0
  911. package/build/type/types/record.d.mts +44 -0
  912. package/build/type/types/record.mjs +61 -0
  913. package/build/type/types/ref.d.mts +13 -0
  914. package/build/type/types/ref.mjs +17 -0
  915. package/build/type/types/rest.d.mts +11 -0
  916. package/build/type/types/rest.mjs +17 -0
  917. package/build/type/types/schema.d.mts +199 -0
  918. package/build/type/types/schema.mjs +15 -0
  919. package/build/type/types/static.d.mts +47 -0
  920. package/build/type/types/static.mjs +3 -0
  921. package/build/type/types/string.d.mts +12 -0
  922. package/build/type/types/string.mjs +22 -0
  923. package/build/type/types/symbol.d.mts +11 -0
  924. package/build/type/types/symbol.mjs +17 -0
  925. package/build/type/types/template-literal.d.mts +24 -0
  926. package/build/type/types/template-literal.mjs +26 -0
  927. package/build/type/types/this.d.mts +14 -0
  928. package/build/type/types/this.mjs +17 -0
  929. package/build/type/types/tuple.d.mts +37 -0
  930. package/build/type/types/tuple.mjs +25 -0
  931. package/build/type/types/undefined.d.mts +11 -0
  932. package/build/type/types/undefined.mjs +17 -0
  933. package/build/type/types/union.d.mts +15 -0
  934. package/build/type/types/union.mjs +24 -0
  935. package/build/type/types/unknown.d.mts +10 -0
  936. package/build/type/types/unknown.mjs +17 -0
  937. package/build/type/types/unsafe.d.mts +10 -0
  938. package/build/type/types/unsafe.mjs +18 -0
  939. package/build/type/types/void.d.mts +11 -0
  940. package/build/type/types/void.mjs +17 -0
  941. package/build/typebox.d.mts +71 -0
  942. package/build/typebox.mjs +87 -0
  943. package/build/value/assert/assert.d.mts +8 -0
  944. package/build/value/assert/assert.mjs +27 -0
  945. package/build/value/assert/index.d.mts +1 -0
  946. package/build/value/assert/index.mjs +1 -0
  947. package/build/value/check/check.d.mts +5 -0
  948. package/build/value/check/check.mjs +11 -0
  949. package/build/value/check/index.d.mts +1 -0
  950. package/build/value/check/index.mjs +1 -0
  951. package/build/value/clean/additional.d.mts +2 -0
  952. package/build/value/clean/additional.mjs +6 -0
  953. package/build/value/clean/clean.d.mts +15 -0
  954. package/build/value/clean/clean.mjs +15 -0
  955. package/build/value/clean/from-array.d.mts +2 -0
  956. package/build/value/clean/from-array.mjs +8 -0
  957. package/build/value/clean/from-base.d.mts +2 -0
  958. package/build/value/clean/from-base.mjs +4 -0
  959. package/build/value/clean/from-cyclic.d.mts +2 -0
  960. package/build/value/clean/from-cyclic.mjs +6 -0
  961. package/build/value/clean/from-intersect.d.mts +2 -0
  962. package/build/value/clean/from-intersect.mjs +25 -0
  963. package/build/value/clean/from-object.d.mts +2 -0
  964. package/build/value/clean/from-object.mjs +31 -0
  965. package/build/value/clean/from-record.d.mts +2 -0
  966. package/build/value/clean/from-record.mjs +32 -0
  967. package/build/value/clean/from-ref.d.mts +2 -0
  968. package/build/value/clean/from-ref.mjs +8 -0
  969. package/build/value/clean/from-tuple.d.mts +2 -0
  970. package/build/value/clean/from-tuple.mjs +14 -0
  971. package/build/value/clean/from-type.d.mts +2 -0
  972. package/build/value/clean/from-type.mjs +23 -0
  973. package/build/value/clean/from-union.d.mts +2 -0
  974. package/build/value/clean/from-union.mjs +12 -0
  975. package/build/value/clean/index.d.mts +1 -0
  976. package/build/value/clean/index.mjs +1 -0
  977. package/build/value/clone/clone.d.mts +5 -0
  978. package/build/value/clone/clone.mjs +60 -0
  979. package/build/value/clone/index.d.mts +1 -0
  980. package/build/value/clone/index.mjs +1 -0
  981. package/build/value/codec/callback.d.mts +2 -0
  982. package/build/value/codec/callback.mjs +25 -0
  983. package/build/value/codec/decode.d.mts +19 -0
  984. package/build/value/codec/decode.mjs +48 -0
  985. package/build/value/codec/encode.d.mts +9 -0
  986. package/build/value/codec/encode.mjs +43 -0
  987. package/build/value/codec/from-array.d.mts +2 -0
  988. package/build/value/codec/from-array.mjs +38 -0
  989. package/build/value/codec/from-cyclic.d.mts +2 -0
  990. package/build/value/codec/from-cyclic.mjs +8 -0
  991. package/build/value/codec/from-intersect.d.mts +2 -0
  992. package/build/value/codec/from-intersect.mjs +28 -0
  993. package/build/value/codec/from-object.d.mts +2 -0
  994. package/build/value/codec/from-object.mjs +44 -0
  995. package/build/value/codec/from-record.d.mts +2 -0
  996. package/build/value/codec/from-record.mjs +44 -0
  997. package/build/value/codec/from-ref.d.mts +2 -0
  998. package/build/value/codec/from-ref.mjs +10 -0
  999. package/build/value/codec/from-tuple.d.mts +2 -0
  1000. package/build/value/codec/from-tuple.mjs +35 -0
  1001. package/build/value/codec/from-type.d.mts +2 -0
  1002. package/build/value/codec/from-type.mjs +22 -0
  1003. package/build/value/codec/from-union.d.mts +2 -0
  1004. package/build/value/codec/from-union.mjs +42 -0
  1005. package/build/value/codec/has.d.mts +5 -0
  1006. package/build/value/codec/has.mjs +85 -0
  1007. package/build/value/codec/index.d.mts +3 -0
  1008. package/build/value/codec/index.mjs +3 -0
  1009. package/build/value/convert/convert.d.mts +13 -0
  1010. package/build/value/convert/convert.mjs +15 -0
  1011. package/build/value/convert/from-additional.d.mts +6 -0
  1012. package/build/value/convert/from-additional.mjs +18 -0
  1013. package/build/value/convert/from-array.d.mts +2 -0
  1014. package/build/value/convert/from-array.mjs +8 -0
  1015. package/build/value/convert/from-base.d.mts +2 -0
  1016. package/build/value/convert/from-base.mjs +4 -0
  1017. package/build/value/convert/from-bigint.d.mts +2 -0
  1018. package/build/value/convert/from-bigint.mjs +9 -0
  1019. package/build/value/convert/from-boolean.d.mts +2 -0
  1020. package/build/value/convert/from-boolean.mjs +9 -0
  1021. package/build/value/convert/from-cyclic.d.mts +2 -0
  1022. package/build/value/convert/from-cyclic.mjs +6 -0
  1023. package/build/value/convert/from-enum.d.mts +2 -0
  1024. package/build/value/convert/from-enum.mjs +7 -0
  1025. package/build/value/convert/from-integer.d.mts +2 -0
  1026. package/build/value/convert/from-integer.mjs +9 -0
  1027. package/build/value/convert/from-intersect.d.mts +2 -0
  1028. package/build/value/convert/from-intersect.mjs +7 -0
  1029. package/build/value/convert/from-literal.d.mts +2 -0
  1030. package/build/value/convert/from-literal.mjs +44 -0
  1031. package/build/value/convert/from-null.d.mts +2 -0
  1032. package/build/value/convert/from-null.mjs +9 -0
  1033. package/build/value/convert/from-number.d.mts +2 -0
  1034. package/build/value/convert/from-number.mjs +9 -0
  1035. package/build/value/convert/from-object.d.mts +2 -0
  1036. package/build/value/convert/from-object.mjs +23 -0
  1037. package/build/value/convert/from-record.d.mts +2 -0
  1038. package/build/value/convert/from-record.mjs +23 -0
  1039. package/build/value/convert/from-ref.d.mts +2 -0
  1040. package/build/value/convert/from-ref.mjs +8 -0
  1041. package/build/value/convert/from-string.d.mts +2 -0
  1042. package/build/value/convert/from-string.mjs +9 -0
  1043. package/build/value/convert/from-template-literal.d.mts +2 -0
  1044. package/build/value/convert/from-template-literal.mjs +7 -0
  1045. package/build/value/convert/from-tuple.d.mts +2 -0
  1046. package/build/value/convert/from-tuple.mjs +11 -0
  1047. package/build/value/convert/from-type.d.mts +2 -0
  1048. package/build/value/convert/from-type.mjs +45 -0
  1049. package/build/value/convert/from-undefined.d.mts +2 -0
  1050. package/build/value/convert/from-undefined.mjs +9 -0
  1051. package/build/value/convert/from-union.d.mts +2 -0
  1052. package/build/value/convert/from-union.mjs +13 -0
  1053. package/build/value/convert/from-void.d.mts +2 -0
  1054. package/build/value/convert/from-void.mjs +9 -0
  1055. package/build/value/convert/index.d.mts +1 -0
  1056. package/build/value/convert/index.mjs +1 -0
  1057. package/build/value/convert/try/index.d.mts +1 -0
  1058. package/build/value/convert/try/index.mjs +1 -0
  1059. package/build/value/convert/try/try-bigint.d.mts +2 -0
  1060. package/build/value/convert/try/try-bigint.mjs +74 -0
  1061. package/build/value/convert/try/try-boolean.d.mts +2 -0
  1062. package/build/value/convert/try/try-boolean.mjs +64 -0
  1063. package/build/value/convert/try/try-null.d.mts +2 -0
  1064. package/build/value/convert/try/try-null.mjs +61 -0
  1065. package/build/value/convert/try/try-number.d.mts +2 -0
  1066. package/build/value/convert/try/try-number.mjs +76 -0
  1067. package/build/value/convert/try/try-result.d.mts +8 -0
  1068. package/build/value/convert/try/try-result.mjs +18 -0
  1069. package/build/value/convert/try/try-string.d.mts +2 -0
  1070. package/build/value/convert/try/try-string.mjs +56 -0
  1071. package/build/value/convert/try/try-undefined.d.mts +2 -0
  1072. package/build/value/convert/try/try-undefined.mjs +61 -0
  1073. package/build/value/convert/try/try.d.mts +7 -0
  1074. package/build/value/convert/try/try.mjs +7 -0
  1075. package/build/value/create/create.d.mts +5 -0
  1076. package/build/value/create/create.mjs +11 -0
  1077. package/build/value/create/error.d.mts +5 -0
  1078. package/build/value/create/error.mjs +7 -0
  1079. package/build/value/create/from-array.d.mts +2 -0
  1080. package/build/value/create/from-array.mjs +10 -0
  1081. package/build/value/create/from-async-iterator.d.mts +2 -0
  1082. package/build/value/create/from-async-iterator.mjs +5 -0
  1083. package/build/value/create/from-base.d.mts +2 -0
  1084. package/build/value/create/from-base.mjs +4 -0
  1085. package/build/value/create/from-bigint.d.mts +2 -0
  1086. package/build/value/create/from-bigint.mjs +7 -0
  1087. package/build/value/create/from-boolean.d.mts +2 -0
  1088. package/build/value/create/from-boolean.mjs +4 -0
  1089. package/build/value/create/from-constructor.d.mts +2 -0
  1090. package/build/value/create/from-constructor.mjs +10 -0
  1091. package/build/value/create/from-cyclic.d.mts +2 -0
  1092. package/build/value/create/from-cyclic.mjs +6 -0
  1093. package/build/value/create/from-default.d.mts +3 -0
  1094. package/build/value/create/from-default.mjs +10 -0
  1095. package/build/value/create/from-enum.d.mts +2 -0
  1096. package/build/value/create/from-enum.mjs +6 -0
  1097. package/build/value/create/from-function.d.mts +2 -0
  1098. package/build/value/create/from-function.mjs +6 -0
  1099. package/build/value/create/from-integer.d.mts +2 -0
  1100. package/build/value/create/from-integer.mjs +8 -0
  1101. package/build/value/create/from-intersect.d.mts +2 -0
  1102. package/build/value/create/from-intersect.mjs +6 -0
  1103. package/build/value/create/from-iterator.d.mts +2 -0
  1104. package/build/value/create/from-iterator.mjs +5 -0
  1105. package/build/value/create/from-literal.d.mts +2 -0
  1106. package/build/value/create/from-literal.mjs +4 -0
  1107. package/build/value/create/from-never.d.mts +2 -0
  1108. package/build/value/create/from-never.mjs +5 -0
  1109. package/build/value/create/from-null.d.mts +2 -0
  1110. package/build/value/create/from-null.mjs +4 -0
  1111. package/build/value/create/from-number.d.mts +2 -0
  1112. package/build/value/create/from-number.mjs +8 -0
  1113. package/build/value/create/from-object.d.mts +2 -0
  1114. package/build/value/create/from-object.mjs +9 -0
  1115. package/build/value/create/from-promise.d.mts +2 -0
  1116. package/build/value/create/from-promise.mjs +5 -0
  1117. package/build/value/create/from-record.d.mts +2 -0
  1118. package/build/value/create/from-record.mjs +8 -0
  1119. package/build/value/create/from-ref.d.mts +2 -0
  1120. package/build/value/create/from-ref.mjs +9 -0
  1121. package/build/value/create/from-string.d.mts +2 -0
  1122. package/build/value/create/from-string.mjs +9 -0
  1123. package/build/value/create/from-symbol.d.mts +2 -0
  1124. package/build/value/create/from-symbol.mjs +4 -0
  1125. package/build/value/create/from-template-literal.d.mts +2 -0
  1126. package/build/value/create/from-template-literal.mjs +11 -0
  1127. package/build/value/create/from-tuple.d.mts +2 -0
  1128. package/build/value/create/from-tuple.mjs +5 -0
  1129. package/build/value/create/from-type.d.mts +2 -0
  1130. package/build/value/create/from-type.mjs +69 -0
  1131. package/build/value/create/from-undefined.d.mts +2 -0
  1132. package/build/value/create/from-undefined.mjs +4 -0
  1133. package/build/value/create/from-union.d.mts +2 -0
  1134. package/build/value/create/from-union.mjs +9 -0
  1135. package/build/value/create/from-void.d.mts +2 -0
  1136. package/build/value/create/from-void.mjs +4 -0
  1137. package/build/value/create/index.d.mts +2 -0
  1138. package/build/value/create/index.mjs +2 -0
  1139. package/build/value/default/default.d.mts +13 -0
  1140. package/build/value/default/default.mjs +15 -0
  1141. package/build/value/default/from-array.d.mts +2 -0
  1142. package/build/value/default/from-array.mjs +12 -0
  1143. package/build/value/default/from-base.d.mts +2 -0
  1144. package/build/value/default/from-base.mjs +5 -0
  1145. package/build/value/default/from-cyclic.d.mts +2 -0
  1146. package/build/value/default/from-cyclic.mjs +7 -0
  1147. package/build/value/default/from-default.d.mts +3 -0
  1148. package/build/value/default/from-default.mjs +13 -0
  1149. package/build/value/default/from-intersect.d.mts +2 -0
  1150. package/build/value/default/from-intersect.mjs +8 -0
  1151. package/build/value/default/from-object.d.mts +2 -0
  1152. package/build/value/default/from-object.mjs +30 -0
  1153. package/build/value/default/from-record.d.mts +2 -0
  1154. package/build/value/default/from-record.mjs +26 -0
  1155. package/build/value/default/from-ref.d.mts +2 -0
  1156. package/build/value/default/from-ref.mjs +9 -0
  1157. package/build/value/default/from-tuple.d.mts +2 -0
  1158. package/build/value/default/from-tuple.mjs +14 -0
  1159. package/build/value/default/from-type.d.mts +2 -0
  1160. package/build/value/default/from-type.mjs +27 -0
  1161. package/build/value/default/from-union.d.mts +2 -0
  1162. package/build/value/default/from-union.mjs +14 -0
  1163. package/build/value/default/index.d.mts +1 -0
  1164. package/build/value/default/index.mjs +1 -0
  1165. package/build/value/delta/diff.d.mts +10 -0
  1166. package/build/value/delta/diff.mjs +129 -0
  1167. package/build/value/delta/edit.d.mts +24 -0
  1168. package/build/value/delta/edit.mjs +17 -0
  1169. package/build/value/delta/index.d.mts +3 -0
  1170. package/build/value/delta/index.mjs +3 -0
  1171. package/build/value/delta/patch.d.mts +8 -0
  1172. package/build/value/delta/patch.mjs +42 -0
  1173. package/build/value/equal/equal.d.mts +2 -0
  1174. package/build/value/equal/equal.mjs +6 -0
  1175. package/build/value/equal/index.d.mts +1 -0
  1176. package/build/value/equal/index.mjs +1 -0
  1177. package/build/value/errors/errors.d.mts +16 -0
  1178. package/build/value/errors/errors.mjs +17 -0
  1179. package/build/value/errors/index.d.mts +1 -0
  1180. package/build/value/errors/index.mjs +1 -0
  1181. package/build/value/hash/hash.d.mts +6 -0
  1182. package/build/value/hash/hash.mjs +10 -0
  1183. package/build/value/hash/index.d.mts +1 -0
  1184. package/build/value/hash/index.mjs +1 -0
  1185. package/build/value/index.d.mts +20 -0
  1186. package/build/value/index.mjs +26 -0
  1187. package/build/value/mutate/error.d.mts +3 -0
  1188. package/build/value/mutate/error.mjs +6 -0
  1189. package/build/value/mutate/from-array.d.mts +2 -0
  1190. package/build/value/mutate/from-array.mjs +16 -0
  1191. package/build/value/mutate/from-object.d.mts +2 -0
  1192. package/build/value/mutate/from-object.mjs +27 -0
  1193. package/build/value/mutate/from-unknown.d.mts +2 -0
  1194. package/build/value/mutate/from-unknown.mjs +7 -0
  1195. package/build/value/mutate/from-value.d.mts +2 -0
  1196. package/build/value/mutate/from-value.mjs +12 -0
  1197. package/build/value/mutate/index.d.mts +1 -0
  1198. package/build/value/mutate/index.mjs +1 -0
  1199. package/build/value/mutate/mutate.d.mts +9 -0
  1200. package/build/value/mutate/mutate.mjs +39 -0
  1201. package/build/value/parse/index.d.mts +1 -0
  1202. package/build/value/parse/index.mjs +1 -0
  1203. package/build/value/parse/parse.d.mts +20 -0
  1204. package/build/value/parse/parse.mjs +47 -0
  1205. package/build/value/pipeline/index.d.mts +1 -0
  1206. package/build/value/pipeline/index.mjs +1 -0
  1207. package/build/value/pipeline/pipeline.d.mts +10 -0
  1208. package/build/value/pipeline/pipeline.mjs +15 -0
  1209. package/build/value/pointer/index.d.mts +1 -0
  1210. package/build/value/pointer/index.mjs +1 -0
  1211. package/build/value/pointer/pointer.d.mts +17 -0
  1212. package/build/value/pointer/pointer.mjs +137 -0
  1213. package/build/value/repair/error.d.mts +7 -0
  1214. package/build/value/repair/error.mjs +8 -0
  1215. package/build/value/repair/from-array.d.mts +2 -0
  1216. package/build/value/repair/from-array.mjs +39 -0
  1217. package/build/value/repair/from-enum.d.mts +2 -0
  1218. package/build/value/repair/from-enum.mjs +7 -0
  1219. package/build/value/repair/from-intersect.d.mts +2 -0
  1220. package/build/value/repair/from-intersect.mjs +7 -0
  1221. package/build/value/repair/from-object.d.mts +2 -0
  1222. package/build/value/repair/from-object.mjs +33 -0
  1223. package/build/value/repair/from-record.d.mts +2 -0
  1224. package/build/value/repair/from-record.mjs +33 -0
  1225. package/build/value/repair/from-ref.d.mts +2 -0
  1226. package/build/value/repair/from-ref.mjs +9 -0
  1227. package/build/value/repair/from-template-literal.d.mts +2 -0
  1228. package/build/value/repair/from-template-literal.mjs +7 -0
  1229. package/build/value/repair/from-tuple.d.mts +2 -0
  1230. package/build/value/repair/from-tuple.mjs +12 -0
  1231. package/build/value/repair/from-type.d.mts +2 -0
  1232. package/build/value/repair/from-type.mjs +59 -0
  1233. package/build/value/repair/from-union.d.mts +2 -0
  1234. package/build/value/repair/from-union.mjs +71 -0
  1235. package/build/value/repair/from-unknown.d.mts +2 -0
  1236. package/build/value/repair/from-unknown.mjs +12 -0
  1237. package/build/value/repair/index.d.mts +1 -0
  1238. package/build/value/repair/index.mjs +1 -0
  1239. package/build/value/repair/repair.d.mts +17 -0
  1240. package/build/value/repair/repair.mjs +20 -0
  1241. package/build/value/value.d.mts +16 -0
  1242. package/build/value/value.mjs +16 -0
  1243. package/license +23 -0
  1244. package/package.json +75 -7
  1245. package/readme.md +235 -0
  1246. package/index.ts +0 -1
@@ -0,0 +1,8 @@
1
+ // deno-fmt-ignore-file
2
+ import { EnumValuesToUnion } from '../enum/enum-to-union.mjs';
3
+ import { FromKey } from './from-key.mjs';
4
+ export function FromEnumKey(values, value) {
5
+ const unionKey = EnumValuesToUnion(values);
6
+ const result = FromKey(unionKey, value);
7
+ return result;
8
+ }
@@ -0,0 +1,5 @@
1
+ import { type TSchema } from '../../types/schema.mjs';
2
+ import { type TInteger } from '../../types/integer.mjs';
3
+ import { type TRecord, IntegerKey } from '../../types/record.mjs';
4
+ export type TFromIntegerKey<Key extends TInteger, Value extends TSchema, Result extends TSchema = TRecord<typeof IntegerKey, Value>> = Result;
5
+ export declare function FromIntegerKey<Key extends TInteger, Value extends TSchema>(key: Key, value: Value): TFromIntegerKey<Key, Value>;
@@ -0,0 +1,7 @@
1
+ // deno-fmt-ignore-file
2
+ import { IntegerKey } from '../../types/record.mjs';
3
+ import { CreateRecord } from './record-create.mjs';
4
+ export function FromIntegerKey(key, value) {
5
+ const result = CreateRecord(IntegerKey, value);
6
+ return result;
7
+ }
@@ -0,0 +1,5 @@
1
+ import { type TSchema } from '../../types/schema.mjs';
2
+ import { type TEvaluateIntersect } from '../evaluate/evaluate.mjs';
3
+ import { type TFromKey } from './from-key.mjs';
4
+ export type TFromIntersectKey<Types extends TSchema[], Value extends TSchema, EvaluatedKey extends TSchema = TEvaluateIntersect<Types>, Result extends TSchema = TFromKey<EvaluatedKey, Value>> = Result;
5
+ export declare function FromIntersectKey<Types extends TSchema[], Value extends TSchema>(types: [...Types], value: Value): TFromIntersectKey<Types, Value>;
@@ -0,0 +1,8 @@
1
+ // deno-fmt-ignore-file
2
+ import { EvaluateIntersect } from '../evaluate/evaluate.mjs';
3
+ import { FromKey } from './from-key.mjs';
4
+ export function FromIntersectKey(types, value) {
5
+ const evaluatedKey = EvaluateIntersect(types);
6
+ const result = FromKey(evaluatedKey, value);
7
+ return result;
8
+ }
@@ -0,0 +1,11 @@
1
+ import { type TSchema } from '../../types/schema.mjs';
2
+ import { type TLiteralValue } from '../../types/literal.mjs';
3
+ import { type TObject } from '../../types/object.mjs';
4
+ export type TFromLiteralKey<Key extends TLiteralValue, Value extends TSchema, Result extends TSchema = (Key extends string | number ? TObject<{
5
+ [_ in Key]: Value;
6
+ }> : Key extends false ? TObject<{
7
+ false: Value;
8
+ }> : Key extends true ? TObject<{
9
+ true: Value;
10
+ }> : TObject<{}>)> = Result;
11
+ export declare function FromLiteralKey<Key extends TLiteralValue, Value extends TSchema>(key: Key, value: Value): TFromLiteralKey<Key, Value>;
@@ -0,0 +1,10 @@
1
+ // deno-fmt-ignore-file
2
+ // deno-lint-ignore-file
3
+ import { Guard } from '../../../guard/index.mjs';
4
+ import { Object } from '../../types/object.mjs';
5
+ export function FromLiteralKey(key, value) {
6
+ return (Guard.IsString(key) || Guard.IsNumber(key) ? Object({ [key]: value }) :
7
+ Guard.IsEqual(key, false) ? Object({ false: value }) :
8
+ Guard.IsEqual(key, true) ? Object({ true: value }) :
9
+ Object({}));
10
+ }
@@ -0,0 +1,5 @@
1
+ import { type TSchema } from '../../types/schema.mjs';
2
+ import { type TNumber } from '../../types/number.mjs';
3
+ import { type TRecord, NumberKey } from '../../types/record.mjs';
4
+ export type TFromNumberKey<Key extends TNumber, Value extends TSchema, Result extends TSchema = TRecord<typeof NumberKey, Value>> = Result;
5
+ export declare function FromNumberKey<Key extends TNumber, Value extends TSchema>(key: Key, value: Value): TFromNumberKey<Key, Value>;
@@ -0,0 +1,7 @@
1
+ // deno-fmt-ignore-file
2
+ import { NumberKey } from '../../types/record.mjs';
3
+ import { CreateRecord } from './record-create.mjs';
4
+ export function FromNumberKey(key, value) {
5
+ const result = CreateRecord(NumberKey, value);
6
+ return result;
7
+ }
@@ -0,0 +1,5 @@
1
+ import { type TSchema } from '../../types/schema.mjs';
2
+ import { type TRecord, StringKey } from '../../types/record.mjs';
3
+ import { type TString } from '../../types/string.mjs';
4
+ export type TFromStringKey<_Key extends TSchema, Value extends TSchema, Result extends TSchema = TRecord<typeof StringKey, Value>> = Result;
5
+ export declare function FromStringKey<Key extends TString, Value extends TSchema>(key: Key, value: Value): TFromStringKey<Key, Value>;
@@ -0,0 +1,12 @@
1
+ // deno-fmt-ignore-file
2
+ import { Guard } from '../../../guard/index.mjs';
3
+ import { StringKey } from '../../types/record.mjs';
4
+ import { CreateRecord } from './record-create.mjs';
5
+ export function FromStringKey(key, value) {
6
+ // special case: override for string with raw pattern. We do not observe inference for the
7
+ // raw string patterns, but as a pattern (assuming non-never) is in the set of string, we
8
+ // allow overriding. Callers will need to narrow to the pattern manually. TB legacy.
9
+ return (Guard.HasPropertyKey(key, 'pattern') && (Guard.IsString(key.pattern) || key.pattern instanceof RegExp)
10
+ ? CreateRecord(key.pattern.toString(), value)
11
+ : CreateRecord(StringKey, value));
12
+ }
@@ -0,0 +1,8 @@
1
+ import { type TSchema } from '../../types/schema.mjs';
2
+ import { type TRecord } from '../../types/record.mjs';
3
+ import { type TFromKey } from './from-key.mjs';
4
+ import { type TParsePatternIntoTypes } from '../patterns/pattern.mjs';
5
+ import { type TTemplateLiteralFinite } from '../template-literal/finite.mjs';
6
+ import { type TTemplateLiteralDecode } from '../template-literal/decode.mjs';
7
+ export type TFromTemplateKey<Pattern extends string, Value extends TSchema, Types extends TSchema[] = TParsePatternIntoTypes<Pattern>, Finite extends boolean = TTemplateLiteralFinite<Types>, Result extends TSchema = Finite extends true ? TFromKey<TTemplateLiteralDecode<Pattern>, Value> : TRecord<Pattern, Value>> = Result;
8
+ export declare function FromTemplateKey<Pattern extends string, Value extends TSchema>(pattern: Pattern, value: Value): TFromTemplateKey<Pattern, Value>;
@@ -0,0 +1,12 @@
1
+ // deno-fmt-ignore-file
2
+ import { FromKey } from './from-key.mjs';
3
+ import { ParsePatternIntoTypes } from '../patterns/pattern.mjs';
4
+ import { TemplateLiteralFinite } from '../template-literal/finite.mjs';
5
+ import { TemplateLiteralDecode } from '../template-literal/decode.mjs';
6
+ import { CreateRecord } from './record-create.mjs';
7
+ export function FromTemplateKey(pattern, value) {
8
+ const types = ParsePatternIntoTypes(pattern);
9
+ const finite = TemplateLiteralFinite(types);
10
+ const result = finite ? FromKey(TemplateLiteralDecode(pattern), value) : CreateRecord(pattern, value);
11
+ return result;
12
+ }
@@ -0,0 +1,20 @@
1
+ import { type TSchema } from '../../types/schema.mjs';
2
+ import { type TLiteral } from '../../types/literal.mjs';
3
+ import { type TNumber } from '../../types/number.mjs';
4
+ import { type TInteger } from '../../types/integer.mjs';
5
+ import { type TObject } from '../../types/object.mjs';
6
+ import { type TProperties } from '../../types/properties.mjs';
7
+ import { type TString } from '../../types/string.mjs';
8
+ import { type TRecord, StringKey } from '../../types/record.mjs';
9
+ import { type TFlatten } from '../evaluate/flatten.mjs';
10
+ type TStringOrNumberCheck<Types extends TSchema[]> = (Types extends [infer Left extends TSchema, ...infer Right extends TSchema[]] ? Left extends TString | TNumber | TInteger ? true : TStringOrNumberCheck<Right> : false);
11
+ type TTryBuildRecord<Types extends TSchema[], Value extends TSchema, Result extends TSchema | undefined = (TStringOrNumberCheck<Types> extends true ? TRecord<typeof StringKey, Value> : undefined)> = Result;
12
+ type TCreateProperties<Variants extends TSchema[], Value extends TSchema, Result extends TProperties = {}> = (Variants extends [infer Left extends TSchema, ...infer Right extends TSchema[]] ? Left extends TLiteral<string | number> ? TCreateProperties<Right, Value, Result & {
13
+ [_ in Left['const']]: Value;
14
+ }> : TCreateProperties<Right, Value, Result> : {
15
+ [Key in keyof Result]: Result[Key];
16
+ });
17
+ type TCreateObject<Variants extends TSchema[], Value extends TSchema, Properties extends TProperties = TCreateProperties<Variants, Value>, Result extends TSchema = TObject<Properties>> = Result;
18
+ export type TFromUnionKey<Types extends TSchema[], Value extends TSchema, Flattened extends TSchema[] = TFlatten<Types>, Record extends TSchema | undefined = TTryBuildRecord<Flattened, Value>, Result extends TSchema = (Record extends TSchema ? Record : TCreateObject<Flattened, Value>)> = Result;
19
+ export declare function FromUnionKey<Types extends TSchema[], Value extends TSchema>(types: [...Types], value: Value): TFromUnionKey<Types, Value>;
20
+ export {};
@@ -0,0 +1,39 @@
1
+ // deno-fmt-ignore-file
2
+ // deno-lint-ignore-file
3
+ import { Guard } from '../../../guard/index.mjs';
4
+ import { IsSchema } from '../../types/schema.mjs';
5
+ import { IsLiteral } from '../../types/literal.mjs';
6
+ import { IsNumber } from '../../types/number.mjs';
7
+ import { IsInteger } from '../../types/integer.mjs';
8
+ import { Object } from '../../types/object.mjs';
9
+ import { IsString } from '../../types/string.mjs';
10
+ import { StringKey } from '../../types/record.mjs';
11
+ import { Flatten } from '../evaluate/flatten.mjs';
12
+ import { CreateRecord } from './record-create.mjs';
13
+ function StringOrNumberCheck(types) {
14
+ return types.some(type => IsString(type) || IsNumber(type) || IsInteger(type));
15
+ }
16
+ function TryBuildRecord(types, value) {
17
+ return (Guard.IsEqual(StringOrNumberCheck(types), true)
18
+ ? CreateRecord(StringKey, value)
19
+ : undefined);
20
+ }
21
+ function CreateProperties(types, value) {
22
+ return types.reduce((result, left) => {
23
+ return IsLiteral(left) && (Guard.IsString(left.const) || Guard.IsNumber(left.const))
24
+ ? { ...result, [left.const]: value }
25
+ : result;
26
+ }, {});
27
+ }
28
+ function CreateObject(types, value) {
29
+ const properties = CreateProperties(types, value);
30
+ const result = Object(properties);
31
+ return result;
32
+ }
33
+ export function FromUnionKey(types, value) {
34
+ const flattened = Flatten(types);
35
+ const record = TryBuildRecord(flattened, value);
36
+ return (IsSchema(record) // maybe IsRecord?
37
+ ? record
38
+ : CreateObject(flattened, value));
39
+ }
@@ -0,0 +1,24 @@
1
+ import { type TSchema } from '../../types/schema.mjs';
2
+ import { type TAny } from '../../types/any.mjs';
3
+ import { type TBoolean } from '../../types/boolean.mjs';
4
+ import { type TEnum, type TEnumValue } from '../../types/enum.mjs';
5
+ import { type TIntersect } from '../../types/intersect.mjs';
6
+ import { type TInteger } from '../../types/integer.mjs';
7
+ import { type TLiteral, type TLiteralValue } from '../../types/literal.mjs';
8
+ import { type TNumber } from '../../types/number.mjs';
9
+ import { type TObject } from '../../types/object.mjs';
10
+ import { type TString } from '../../types/string.mjs';
11
+ import { type TTemplateLiteral } from '../../types/template-literal.mjs';
12
+ import { type TUnion } from '../../types/union.mjs';
13
+ import { type TFromAnyKey } from './from-key-any.mjs';
14
+ import { type TFromBooleanKey } from './from-key-boolean.mjs';
15
+ import { type TFromEnumKey } from './from-key-enum.mjs';
16
+ import { type TFromIntegerKey } from './from-key-integer.mjs';
17
+ import { type TFromIntersectKey } from './from-key-intersect.mjs';
18
+ import { type TFromLiteralKey } from './from-key-literal.mjs';
19
+ import { type TFromNumberKey } from './from-key-number.mjs';
20
+ import { type TFromStringKey } from './from-key-string.mjs';
21
+ import { type TFromTemplateKey } from './from-key-template-literal.mjs';
22
+ import { type TFromUnionKey } from './from-key-union.mjs';
23
+ export type TFromKey<Key extends TSchema, Value extends TSchema, Result extends TSchema = (Key extends TAny ? TFromAnyKey<Value> : Key extends TBoolean ? TFromBooleanKey<Value> : Key extends TEnum<infer Values extends TEnumValue[]> ? TFromEnumKey<Values, Value> : Key extends TInteger ? TFromIntegerKey<Key, Value> : Key extends TIntersect<infer Types extends TSchema[]> ? TFromIntersectKey<Types, Value> : Key extends TLiteral<infer LiteralValue extends TLiteralValue> ? TFromLiteralKey<LiteralValue, Value> : Key extends TNumber ? TFromNumberKey<Key, Value> : Key extends TString ? TFromStringKey<Key, Value> : Key extends TTemplateLiteral<infer Pattern extends string> ? TFromTemplateKey<Pattern, Value> : Key extends TUnion<infer Types extends TSchema[]> ? TFromUnionKey<Types, Value> : TObject<{}>)> = Result;
24
+ export declare function FromKey<Key extends TSchema, Value extends TSchema>(key: Key, value: Value): TFromKey<Key, Value>;
@@ -0,0 +1,40 @@
1
+ // deno-fmt-ignore-file
2
+ // deno-lint-ignore-file
3
+ import { IsAny } from '../../types/any.mjs';
4
+ import { IsBoolean } from '../../types/boolean.mjs';
5
+ import { IsEnum } from '../../types/enum.mjs';
6
+ import { IsIntersect } from '../../types/intersect.mjs';
7
+ import { IsInteger } from '../../types/integer.mjs';
8
+ import { IsLiteral } from '../../types/literal.mjs';
9
+ import { IsNumber } from '../../types/number.mjs';
10
+ import { Object } from '../../types/object.mjs';
11
+ import { IsString } from '../../types/string.mjs';
12
+ import { IsTemplateLiteral } from '../../types/template-literal.mjs';
13
+ import { IsUnion } from '../../types/union.mjs';
14
+ // ------------------------------------------------------------------
15
+ // Keys and Deferred
16
+ // ------------------------------------------------------------------
17
+ import { FromAnyKey } from './from-key-any.mjs';
18
+ import { FromBooleanKey } from './from-key-boolean.mjs';
19
+ import { FromEnumKey } from './from-key-enum.mjs';
20
+ import { FromIntegerKey } from './from-key-integer.mjs';
21
+ import { FromIntersectKey } from './from-key-intersect.mjs';
22
+ import { FromLiteralKey } from './from-key-literal.mjs';
23
+ import { FromNumberKey } from './from-key-number.mjs';
24
+ import { FromStringKey } from './from-key-string.mjs';
25
+ import { FromTemplateKey } from './from-key-template-literal.mjs';
26
+ import { FromUnionKey } from './from-key-union.mjs';
27
+ export function FromKey(key, value) {
28
+ const result = (IsAny(key) ? FromAnyKey(value) :
29
+ IsBoolean(key) ? FromBooleanKey(value) :
30
+ IsEnum(key) ? FromEnumKey(key.enum, value) :
31
+ IsInteger(key) ? FromIntegerKey(key, value) :
32
+ IsIntersect(key) ? FromIntersectKey(key.allOf, value) :
33
+ IsLiteral(key) ? FromLiteralKey(key.const, value) :
34
+ IsNumber(key) ? FromNumberKey(key, value) :
35
+ IsUnion(key) ? FromUnionKey(key.anyOf, value) :
36
+ IsString(key) ? FromStringKey(key, value) :
37
+ IsTemplateLiteral(key) ? FromTemplateKey(key.pattern, value) :
38
+ Object({}));
39
+ return result;
40
+ }
@@ -0,0 +1 @@
1
+ export * from './instantiate.mjs';
@@ -0,0 +1 @@
1
+ export * from './instantiate.mjs';
@@ -0,0 +1,9 @@
1
+ import { type TSchema, type TSchemaOptions } from '../../types/schema.mjs';
2
+ import { type TProperties } from '../../types/properties.mjs';
3
+ import { type TRecordDeferred } from '../../types/record.mjs';
4
+ import { type TFromKey } from './from-key.mjs';
5
+ import { type TState, type TInstantiateType, type TCanInstantiate } from '../instantiate.mjs';
6
+ type TRecordImmediate<Context extends TProperties, State extends TState, Key extends TSchema, Value extends TSchema, InstantatedKey extends TSchema = TInstantiateType<Context, State, Key>, InstantiatedValue extends TSchema = TInstantiateType<Context, State, Value>, Result extends TSchema = TFromKey<InstantatedKey, InstantiatedValue>> = Result;
7
+ export type TRecordInstantiate<Context extends TProperties, State extends TState, Key extends TSchema, Value extends TSchema> = TCanInstantiate<Context, [Key]> extends true ? TRecordImmediate<Context, State, Key, Value> : TRecordDeferred<Key, Value>;
8
+ export declare function RecordInstantiate<Context extends TProperties, State extends TState, Key extends TSchema, Value extends TSchema>(context: Context, state: State, key: Key, value: Value, options: TSchemaOptions): TRecordInstantiate<Context, State, Key, Value>;
9
+ export {};
@@ -0,0 +1,16 @@
1
+ // deno-fmt-ignore-file
2
+ // deno-lint-ignore-file
3
+ import { Memory } from '../../../system/memory/index.mjs';
4
+ import { RecordDeferred } from '../../types/record.mjs';
5
+ import { FromKey } from './from-key.mjs';
6
+ import { InstantiateType, CanInstantiate } from '../instantiate.mjs';
7
+ function RecordImmediate(context, state, key, value, options) {
8
+ const instanstiatedKey = InstantiateType(context, state, key);
9
+ const instantiatedValue = InstantiateType(context, state, value);
10
+ return Memory.Update(FromKey(instanstiatedKey, instantiatedValue), {}, options);
11
+ }
12
+ export function RecordInstantiate(context, state, key, value, options) {
13
+ return (CanInstantiate(context, [key])
14
+ ? RecordImmediate(context, state, key, value, options)
15
+ : RecordDeferred(key, value, options));
16
+ }
@@ -0,0 +1,3 @@
1
+ import { type TSchema } from '../../types/schema.mjs';
2
+ import { type TRecord } from '../../types/record.mjs';
3
+ export declare function CreateRecord<Key extends string, Value extends TSchema>(key: Key, value: Value): TRecord<Key, Value>;
@@ -0,0 +1,7 @@
1
+ // deno-fmt-ignore-file
2
+ import { Memory } from '../../../system/memory/index.mjs';
3
+ export function CreateRecord(key, value) {
4
+ const type = 'object';
5
+ const patternProperties = { [key]: value };
6
+ return Memory.Create({ ['~kind']: 'Record' }, { type, patternProperties });
7
+ }
@@ -0,0 +1 @@
1
+ export * from './instantiate.mjs';
@@ -0,0 +1 @@
1
+ export * from './instantiate.mjs';
@@ -0,0 +1,6 @@
1
+ import { TProperties } from '../../types/properties.mjs';
2
+ import { type TRef } from '../../types/ref.mjs';
3
+ import { type TState, type TInstantiateType } from '../instantiate.mjs';
4
+ import { type TCyclicCheck } from '../cyclic/check.mjs';
5
+ export type TRefInstantiate<Context extends TProperties, State extends TState, Ref extends string> = (Ref extends keyof Context ? TCyclicCheck<[Ref], Context, Context[Ref]> extends true ? TRef<Ref> : TInstantiateType<Context, State, Context[Ref]> : TRef<Ref>);
6
+ export declare function RefInstantiate<Context extends TProperties, State extends TState, Ref extends string>(context: Context, state: State, ref: Ref): TRefInstantiate<Context, State, Ref>;
@@ -0,0 +1,11 @@
1
+ // deno-fmt-ignore-file
2
+ import { Ref } from '../../types/ref.mjs';
3
+ import { InstantiateType } from '../instantiate.mjs';
4
+ import { CyclicCheck } from '../cyclic/check.mjs';
5
+ export function RefInstantiate(context, state, ref) {
6
+ return (ref in context
7
+ ? CyclicCheck([ref], context, context[ref])
8
+ ? Ref(ref)
9
+ : InstantiateType(context, state, context[ref])
10
+ : Ref(ref));
11
+ }
@@ -0,0 +1,10 @@
1
+ import { Memory } from '../../../system/memory/index.mjs';
2
+ import { type TSchema } from '../../types/schema.mjs';
3
+ import { type TCyclic } from '../../types/cyclic.mjs';
4
+ import { type TProperties } from '../../types/properties.mjs';
5
+ import { type TFromType } from './from-type.mjs';
6
+ import { type TCyclicTarget } from '../cyclic/target.mjs';
7
+ export type TFromCyclic<Defs extends TProperties, Ref extends string, Target extends TSchema = TCyclicTarget<Defs, Ref>, Partial extends TSchema = TFromType<Target>, Result extends TSchema = TCyclic<Memory.TAssign<Defs, {
8
+ [_ in Ref]: Partial;
9
+ }>, Ref>> = Result;
10
+ export declare function FromCyclic<Defs extends TProperties, Ref extends string>(defs: Defs, ref: Ref): TFromCyclic<Defs, Ref>;
@@ -0,0 +1,11 @@
1
+ // deno-fmt-ignore-file
2
+ import { Memory } from '../../../system/memory/index.mjs';
3
+ import { Cyclic } from '../../types/cyclic.mjs';
4
+ import { FromType } from './from-type.mjs';
5
+ import { CyclicTarget } from '../cyclic/target.mjs';
6
+ export function FromCyclic(defs, ref) {
7
+ const target = CyclicTarget(defs, ref);
8
+ const partial = FromType(target);
9
+ const result = Cyclic(Memory.Assign(defs, { [ref]: partial }), ref);
10
+ return result;
11
+ }
@@ -0,0 +1,5 @@
1
+ import { type TSchema } from '../../types/schema.mjs';
2
+ import { type TFromType } from './from-type.mjs';
3
+ import { type TEvaluateIntersect } from '../evaluate/evaluate.mjs';
4
+ export type TFromIntersect<Types extends TSchema[], Result extends TSchema[] = []> = (Types extends [infer Left extends TSchema, ...infer Right extends TSchema[]] ? TFromIntersect<Right, [...Result, TFromType<Left>]> : TEvaluateIntersect<Result>);
5
+ export declare function FromIntersect<Types extends TSchema[]>(types: [...Types]): TFromIntersect<Types>;
@@ -0,0 +1,7 @@
1
+ // deno-fmt-ignore-file
2
+ import { FromType } from './from-type.mjs';
3
+ import { EvaluateIntersect } from '../evaluate/evaluate.mjs';
4
+ export function FromIntersect(types) {
5
+ const result = types.map(type => FromType(type));
6
+ return EvaluateIntersect(result);
7
+ }
@@ -0,0 +1,8 @@
1
+ import { type TSchema } from '../../types/schema.mjs';
2
+ import { type TObject } from '../../types/object.mjs';
3
+ import { type TOptionalRemove } from '../../types/_optional.mjs';
4
+ import { type TProperties } from '../../types/properties.mjs';
5
+ export type TFromObject<Properties extends TProperties, Mapped extends TProperties = {
6
+ [Key in keyof Properties]: TOptionalRemove<Properties[Key]>;
7
+ }, Result extends TSchema = TObject<Mapped>> = Result;
8
+ export declare function FromObject<Properties extends TProperties>(properties: Properties): TFromObject<Properties>;
@@ -0,0 +1,11 @@
1
+ // deno-fmt-ignore-file
2
+ import { Guard } from '../../../guard/index.mjs';
3
+ import { Object } from '../../types/object.mjs';
4
+ import { OptionalRemove } from '../../types/_optional.mjs';
5
+ export function FromObject(properties) {
6
+ const mapped = Guard.Keys(properties).reduce((result, left) => {
7
+ return { ...result, [left]: OptionalRemove(properties[left]) };
8
+ }, {});
9
+ const result = Object(mapped);
10
+ return result;
11
+ }
@@ -0,0 +1,12 @@
1
+ import { type TSchema } from '../../types/schema.mjs';
2
+ import { type TCyclic } from '../../types/cyclic.mjs';
3
+ import { type TIntersect } from '../../types/intersect.mjs';
4
+ import { type TObject } from '../../types/object.mjs';
5
+ import { type TProperties } from '../../types/properties.mjs';
6
+ import { type TUnion } from '../../types/union.mjs';
7
+ import { type TFromCyclic } from './from-cyclic.mjs';
8
+ import { type TFromIntersect } from './from-intersect.mjs';
9
+ import { type TFromUnion } from './from-union.mjs';
10
+ import { type TFromObject } from './from-object.mjs';
11
+ export type TFromType<Type extends TSchema> = (Type extends TCyclic<infer Defs extends TProperties, infer Ref extends string> ? TFromCyclic<Defs, Ref> : Type extends TIntersect<infer Types extends TSchema[]> ? TFromIntersect<Types> : Type extends TUnion<infer Types extends TSchema[]> ? TFromUnion<Types> : Type extends TObject<infer Properties extends TProperties> ? TFromObject<Properties> : TObject<{}>);
12
+ export declare function FromType<Type extends TSchema>(type: Type): TFromType<Type>;
@@ -0,0 +1,16 @@
1
+ // deno-fmt-ignore-file
2
+ import { IsCyclic } from '../../types/cyclic.mjs';
3
+ import { IsIntersect } from '../../types/intersect.mjs';
4
+ import { Object, IsObject } from '../../types/object.mjs';
5
+ import { IsUnion } from '../../types/union.mjs';
6
+ import { FromCyclic } from './from-cyclic.mjs';
7
+ import { FromIntersect } from './from-intersect.mjs';
8
+ import { FromUnion } from './from-union.mjs';
9
+ import { FromObject } from './from-object.mjs';
10
+ export function FromType(type) {
11
+ return (IsCyclic(type) ? FromCyclic(type.$defs, type.$ref) :
12
+ IsIntersect(type) ? FromIntersect(type.allOf) :
13
+ IsUnion(type) ? FromUnion(type.anyOf) :
14
+ IsObject(type) ? FromObject(type.properties) :
15
+ Object({}));
16
+ }
@@ -0,0 +1,5 @@
1
+ import { type TSchema } from '../../types/schema.mjs';
2
+ import { type TUnion } from '../../types/union.mjs';
3
+ import { type TFromType } from './from-type.mjs';
4
+ export type TFromUnion<Types extends TSchema[], Result extends TSchema[] = []> = (Types extends [infer Left extends TSchema, ...infer Right extends TSchema[]] ? TFromUnion<Right, [...Result, TFromType<Left>]> : TUnion<Result>);
5
+ export declare function FromUnion<Types extends TSchema[]>(types: [...Types]): TFromUnion<Types>;
@@ -0,0 +1,7 @@
1
+ // deno-fmt-ignore-file
2
+ import { Union } from '../../types/union.mjs';
3
+ import { FromType } from './from-type.mjs';
4
+ export function FromUnion(types) {
5
+ const result = types.map(type => FromType(type));
6
+ return Union(result);
7
+ }
@@ -0,0 +1 @@
1
+ export * from './instantiate.mjs';
@@ -0,0 +1 @@
1
+ export * from './instantiate.mjs';
@@ -0,0 +1,9 @@
1
+ import { type TSchema, type TSchemaOptions } from '../../types/schema.mjs';
2
+ import { type TProperties } from '../../types/properties.mjs';
3
+ import { type TFromType } from './from-type.mjs';
4
+ import { type TRequiredDeferred } from '../../action/required.mjs';
5
+ import { type TState, type TInstantiateType, type TCanInstantiate } from '../instantiate.mjs';
6
+ type TRequiredImmediate<Context extends TProperties, State extends TState, Type extends TSchema, InstantiatedType extends TSchema = TInstantiateType<Context, State, Type>> = TFromType<InstantiatedType>;
7
+ export type TRequiredInstantiate<Context extends TProperties, State extends TState, Type extends TSchema> = TCanInstantiate<Context, [Type]> extends true ? TRequiredImmediate<Context, State, Type> : TRequiredDeferred<Type>;
8
+ export declare function RequiredInstantiate<Context extends TProperties, State extends TState, Type extends TSchema>(context: Context, state: State, type: Type, options: TSchemaOptions): TRequiredInstantiate<Context, State, Type>;
9
+ export {};
@@ -0,0 +1,14 @@
1
+ // deno-fmt-ignore-file
2
+ import { Memory } from '../../../system/memory/index.mjs';
3
+ import { FromType } from './from-type.mjs';
4
+ import { RequiredDeferred } from '../../action/required.mjs';
5
+ import { InstantiateType, CanInstantiate } from '../instantiate.mjs';
6
+ function RequiredImmediate(context, state, type, options) {
7
+ const instaniatedType = InstantiateType(context, state, type);
8
+ return Memory.Update(FromType(instaniatedType), {}, options);
9
+ }
10
+ export function RequiredInstantiate(context, state, type, options) {
11
+ return (CanInstantiate(context, [type])
12
+ ? RequiredImmediate(context, state, type, options)
13
+ : RequiredDeferred(type, options));
14
+ }
@@ -0,0 +1 @@
1
+ export * from './spread.mjs';
@@ -0,0 +1 @@
1
+ export * from './spread.mjs';
@@ -0,0 +1,12 @@
1
+ import { type TSchema } from '../../types/schema.mjs';
2
+ import { type TInfer } from '../../types/infer.mjs';
3
+ import { type TNever } from '../../types/never.mjs';
4
+ import { type TRest } from '../../types/rest.mjs';
5
+ import { type TRef } from '../../types/ref.mjs';
6
+ import { type TTuple } from '../../types/tuple.mjs';
7
+ type TSpreadElement<Type extends TSchema, Result extends TSchema[] = (Type extends TRest<infer Rest extends TSchema> ? (Rest extends TTuple<infer Elements extends TSchema[]> ? TRestSpread<Elements> : Rest extends TInfer<string, TSchema> ? [Type] : Rest extends TRef<string> ? [Type] : [
8
+ TNever
9
+ ]) : [Type])> = Result;
10
+ export type TRestSpread<Types extends TSchema[], Result extends TSchema[] = []> = (Types extends [infer Left extends TSchema, ...infer Right extends TSchema[]] ? TRestSpread<Right, [...Result, ...TSpreadElement<Left>]> : Result);
11
+ export declare function RestSpread<Types extends TSchema[]>(types: [...Types]): TRestSpread<Types>;
12
+ export {};
@@ -0,0 +1,19 @@
1
+ // deno-fmt-ignore-file
2
+ import { IsInfer } from '../../types/infer.mjs';
3
+ import { Never } from '../../types/never.mjs';
4
+ import { IsRest } from '../../types/rest.mjs';
5
+ import { IsRef } from '../../types/ref.mjs';
6
+ import { IsTuple } from '../../types/tuple.mjs';
7
+ function SpreadElement(type) {
8
+ const result = (IsRest(type) ? (IsTuple(type.items) ? RestSpread(type.items.items) :
9
+ IsInfer(type.items) ? [type] :
10
+ IsRef(type.items) ? [type] :
11
+ [Never()]) : [type]);
12
+ return result;
13
+ }
14
+ export function RestSpread(types) {
15
+ const result = types.reduce((result, left) => {
16
+ return [...result, ...SpreadElement(left)];
17
+ }, []);
18
+ return result;
19
+ }
@@ -0,0 +1 @@
1
+ export * from './instantiate.mjs';
@@ -0,0 +1 @@
1
+ export * from './instantiate.mjs';
@@ -0,0 +1,11 @@
1
+ import { type TSchema, type TSchemaOptions } from '../../types/schema.mjs';
2
+ import { type TProperties } from '../../types/properties.mjs';
3
+ import { type TFunction } from '../../types/function.mjs';
4
+ import { type TNever } from '../../types/never.mjs';
5
+ import { type TReturnTypeDeferred } from '../../action/return-type.mjs';
6
+ import { type TState, type TInstantiateType, type TCanInstantiate } from '../instantiate.mjs';
7
+ type TReturnTypeAction<Type extends TSchema> = Type extends TFunction<TSchema[], infer ReturnType extends TSchema> ? ReturnType : TNever;
8
+ type TReturnTypeImmediate<Context extends TProperties, State extends TState, Type extends TSchema, InstantiatedType extends TSchema = TInstantiateType<Context, State, Type>> = TReturnTypeAction<InstantiatedType>;
9
+ export type TReturnTypeInstantiate<Context extends TProperties, State extends TState, Type extends TSchema> = TCanInstantiate<Context, [Type]> extends true ? TReturnTypeImmediate<Context, State, Type> : TReturnTypeDeferred<Type>;
10
+ export declare function ReturnTypeInstantiate<Context extends TProperties, State extends TState, Type extends TSchema>(context: Context, state: State, type: Type, options: TSchemaOptions): TReturnTypeInstantiate<Context, State, Type>;
11
+ export {};
@@ -0,0 +1,18 @@
1
+ // deno-fmt-ignore-file
2
+ import { Memory } from '../../../system/memory/index.mjs';
3
+ import { IsFunction } from '../../types/function.mjs';
4
+ import { Never } from '../../types/never.mjs';
5
+ import { ReturnTypeDeferred } from '../../action/return-type.mjs';
6
+ import { InstantiateType, CanInstantiate } from '../instantiate.mjs';
7
+ function ReturnTypeAction(type) {
8
+ return (IsFunction(type) ? type.returnType : Never());
9
+ }
10
+ function ReturnTypeImmediate(context, state, type, options) {
11
+ const instantiatedType = InstantiateType(context, state, type);
12
+ return Memory.Update(ReturnTypeAction(instantiatedType), {}, options);
13
+ }
14
+ export function ReturnTypeInstantiate(context, state, type, options) {
15
+ return (CanInstantiate(context, [type])
16
+ ? ReturnTypeImmediate(context, state, type, options)
17
+ : ReturnTypeDeferred(type, options));
18
+ }
@@ -0,0 +1 @@
1
+ export declare function TemplateLiteralCreate<Pattern extends string>(pattern: Pattern): never;
@@ -0,0 +1,5 @@
1
+ // deno-fmt-ignore-file
2
+ import { Memory } from '../../../system/memory/index.mjs';
3
+ export function TemplateLiteralCreate(pattern) {
4
+ return Memory.Create({ ['~kind']: 'TemplateLiteral' }, { type: 'string', pattern }, {});
5
+ }
@@ -0,0 +1,20 @@
1
+ import { TUnreachable } from '../../../system/unreachable/index.mjs';
2
+ import { type TSchema } from '../../types/schema.mjs';
3
+ import { type TUnion } from '../../types/union.mjs';
4
+ import { type TString } from '../../types/string.mjs';
5
+ import { type TLiteral, type TLiteralValue } from '../../types/literal.mjs';
6
+ import { type TParsePatternIntoTypes } from '../patterns/pattern.mjs';
7
+ import { type TTemplateLiteralFinite } from './finite.mjs';
8
+ type TFromLiteralPush<Variants extends string[], Value extends TLiteralValue, Result extends string[] = []> = Variants extends [infer Left extends string, ...infer Right extends string[]] ? TFromLiteralPush<Right, Value, [...Result, `${Left}${Value}`]> : Result;
9
+ type TFromLiteral<Variants extends string[], Value extends TLiteralValue> = Variants extends [] ? [`${Value}`] : TFromLiteralPush<Variants, Value>;
10
+ type TFromUnion<Variants extends string[], Types extends TSchema[], Result extends string[] = []> = Types extends [infer Left extends TSchema, ...infer Right extends TSchema[]] ? TFromUnion<Variants, Right, [...Result, ...TFromType<Variants, Left>]> : Result;
11
+ type TFromType<Variants extends string[], Type extends TSchema, Result extends string[] = (Type extends TUnion<infer Types extends TSchema[]> ? TFromUnion<Variants, Types> : Type extends TLiteral<infer Value extends TLiteralValue> ? TFromLiteral<Variants, Value> : TUnreachable)> = Result;
12
+ type TDecodeFromSpan<Variants extends string[], Types extends TSchema[]> = Types extends [infer Left extends TSchema, ...infer Right extends TSchema[]] ? TDecodeFromSpan<TFromType<Variants, Left>, Right> : Variants;
13
+ type TVariantsToLiterals<Variants extends string[], Result extends TSchema[] = []> = Variants extends [infer Left extends string, ...infer Right extends string[]] ? TVariantsToLiterals<Right, [...Result, TLiteral<Left>]> : Result;
14
+ type TDecodeTypesAsUnion<Types extends TSchema[], Variants extends string[] = TDecodeFromSpan<[], Types>, Literals extends TSchema[] = TVariantsToLiterals<Variants>, Result extends TSchema = TUnion<Literals>> = Result;
15
+ type TDecodeTypes<Types extends TSchema[], Result extends TSchema = (Types extends [] ? TUnreachable : Types extends [infer Type extends TLiteral] ? Type : TDecodeTypesAsUnion<Types>)> = Result;
16
+ /** Decodes a TemplateLiteral into a Type. If the TemplateLiteral yields a non-finite set, the return value is TString */
17
+ export type TTemplateLiteralDecode<Pattern extends string, Types extends TSchema[] = TParsePatternIntoTypes<Pattern>, Finite extends boolean = TTemplateLiteralFinite<Types>, Result extends TSchema = (Finite extends true ? TDecodeTypes<Types> : TString)> = Result;
18
+ /** Decodes a TemplateLiteral into a Type. If the TemplateLiteral yields a non-finite set, the return value is TString */
19
+ export declare function TemplateLiteralDecode<Pattern extends string>(pattern: Pattern): TTemplateLiteralDecode<Pattern>;
20
+ export {};