typebox 0.0.1 → 1.0.0-rc

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,73 @@
1
+ // deno-fmt-ignore-file
2
+ import { Unreachable } from '../../../system/unreachable/index.mjs';
3
+ import { Guard } from '../../../guard/index.mjs';
4
+ import { IsSchema } from '../../types/schema.mjs';
5
+ import { Union, IsUnion } from '../../types/union.mjs';
6
+ import { String } from '../../types/string.mjs';
7
+ import { Literal, IsLiteral } from '../../types/literal.mjs';
8
+ import { ParsePatternIntoTypes } from '../patterns/pattern.mjs';
9
+ import { TemplateLiteralFinite } from './finite.mjs';
10
+ function FromLiteralPush(variants, value, result = []) {
11
+ const [left, ...right] = variants;
12
+ return (Guard.IsString(left) ? FromLiteralPush(right, value, [...result, `${left}${value}`]) : result);
13
+ }
14
+ function FromLiteral(variants, value) {
15
+ return (Guard.IsEqual(variants.length, 0) ? [`${value}`] : FromLiteralPush(variants, value));
16
+ }
17
+ function FromUnion(variants, types, result = []) {
18
+ const [left, ...right] = types;
19
+ return (IsSchema(left)
20
+ ? FromUnion(variants, right, [...result, ...FromType(variants, left)])
21
+ : result);
22
+ }
23
+ // ------------------------------------------------------------------
24
+ // deno-coverage-ignore-start - symmetric unreachable | internal
25
+ //
26
+ // Parsed TemplateLiteral patterns only yield Literal or Union but
27
+ // we keep the fall-through to assert that no other types can reach
28
+ // here without error.
29
+ //
30
+ // ------------------------------------------------------------------
31
+ function FromType(variants, type) {
32
+ const result = (IsUnion(type) ? FromUnion(variants, type.anyOf) :
33
+ IsLiteral(type) ? FromLiteral(variants, type.const) :
34
+ Unreachable() // []
35
+ );
36
+ return result;
37
+ }
38
+ function DecodeFromSpan(variants, types) {
39
+ const [left, ...right] = types;
40
+ return (IsSchema(left) ? DecodeFromSpan(FromType(variants, left), right) : variants);
41
+ }
42
+ function VariantsToLiterals(variants) {
43
+ return variants.map(variant => Literal(variant));
44
+ }
45
+ function DecodeTypesAsUnion(types) {
46
+ const variants = DecodeFromSpan([], types);
47
+ const literals = VariantsToLiterals(variants);
48
+ const result = Union(literals);
49
+ return result;
50
+ }
51
+ // ------------------------------------------------------------------
52
+ // deno-coverage-ignore-start - internal
53
+ //
54
+ // Cannot invoke the 0-length condition as the TemplateLiteral
55
+ // parsers always return at least 1 TLiteral or TUnion. We would
56
+ // return a empty string TLiteral for this case, but will use
57
+ // Unreachable to catch parse inputs that trigger 0-length.
58
+ //
59
+ // ------------------------------------------------------------------
60
+ function DecodeTypes(types) {
61
+ return (Guard.IsEqual(types.length, 0) ? Unreachable() : // Literal('') :
62
+ Guard.IsEqual(types.length, 1) && IsLiteral(types[0]) ? types[0] :
63
+ DecodeTypesAsUnion(types));
64
+ }
65
+ /** Decodes a TemplateLiteral into a Type. If the TemplateLiteral yields a non-finite set, the return value is TString */
66
+ export function TemplateLiteralDecode(pattern) {
67
+ const types = ParsePatternIntoTypes(pattern);
68
+ const finite = TemplateLiteralFinite(types);
69
+ const result = finite
70
+ ? DecodeTypes(types)
71
+ : String();
72
+ return result;
73
+ }
@@ -0,0 +1,31 @@
1
+ import { type TSchema } from '../../types/schema.mjs';
2
+ import { type TEnum, type TEnumValue } from '../../types/enum.mjs';
3
+ import { type TLiteral, type TLiteralValue } from '../../types/literal.mjs';
4
+ import { type TUnion } from '../../types/union.mjs';
5
+ import { type TTemplateLiteral } from '../../types/template-literal.mjs';
6
+ import { type TBigInt, BigIntPattern } from '../../types/bigint.mjs';
7
+ import { type TString, StringPattern } from '../../types/string.mjs';
8
+ import { type TNumber, NumberPattern } from '../../types/number.mjs';
9
+ import { type TInteger, IntegerPattern } from '../../types/integer.mjs';
10
+ import { type TBoolean } from '../../types/boolean.mjs';
11
+ import { NeverPattern } from '../../types/never.mjs';
12
+ import { type TEnumValuesToVariants } from '../enum/enum-to-union.mjs';
13
+ type TJoinString<Input extends string[], Result extends string = ''> = (Input extends [infer Left extends string, ...infer Right extends string[]] ? Result extends '' ? TJoinString<Right, Left> : TJoinString<Right, `${Result}|${Left}`> : Result);
14
+ type TUnwrapTemplateLiteralPattern<Pattern extends string> = (Pattern extends `^${infer Pattern extends string}$` ? Pattern : never);
15
+ type TEncodeLiteral<Value extends TLiteralValue, Right extends TSchema[], Pattern extends string> = (TEncodeTypes<Right, `${Pattern}${Value}`>);
16
+ type TEncodeBigInt<Right extends TSchema[], Pattern extends string> = (TEncodeTypes<Right, `${Pattern}${typeof BigIntPattern}`>);
17
+ type TEncodeInteger<Right extends TSchema[], Pattern extends string> = (TEncodeTypes<Right, `${Pattern}${typeof IntegerPattern}`>);
18
+ type TEncodeNumber<Right extends TSchema[], Pattern extends string> = (TEncodeTypes<Right, `${Pattern}${typeof NumberPattern}`>);
19
+ type TEncodeBoolean<Right extends TSchema[], Pattern extends string> = (TEncodeType<TUnion<[TLiteral<'false'>, TLiteral<'true'>]>, Right, Pattern>);
20
+ type TEncodeString<Right extends TSchema[], Pattern extends string> = (TEncodeTypes<Right, `${Pattern}${typeof StringPattern}`>);
21
+ type TEncodeTemplateLiteral<TemplatePattern extends string, Right extends TSchema[], Pattern extends string> = (TEncodeTypes<Right, `${Pattern}${TUnwrapTemplateLiteralPattern<TemplatePattern>}`>);
22
+ type TEncodeEnum<Types extends TEnumValue[], Right extends TSchema[], Pattern extends string, Variants extends TSchema[] = TEnumValuesToVariants<Types>> = TEncodeUnion<Variants, Right, Pattern>;
23
+ type TEncodeUnion<Types extends TSchema[], Right extends TSchema[], Pattern extends string, Result extends string[] = []> = Types extends [infer Head extends TSchema, ...infer Tail extends TSchema[]] ? TEncodeUnion<Tail, Right, Pattern, [...Result, TEncodeType<Head, [], ''>]> : TEncodeTypes<Right, `${Pattern}(${TJoinString<Result>})`>;
24
+ type TEncodeType<Type extends TSchema, Right extends TSchema[], Pattern extends string> = (Type extends TEnum<infer Values extends TEnumValue[]> ? TEncodeEnum<Values, Right, Pattern> : Type extends TInteger ? TEncodeInteger<Right, Pattern> : Type extends TLiteral<infer Value extends TLiteralValue> ? TEncodeLiteral<Value, Right, Pattern> : Type extends TBigInt ? TEncodeBigInt<Right, Pattern> : Type extends TBoolean ? TEncodeBoolean<Right, Pattern> : Type extends TNumber ? TEncodeNumber<Right, Pattern> : Type extends TString ? TEncodeString<Right, Pattern> : Type extends TTemplateLiteral<infer TemplatePattern extends string> ? TEncodeTemplateLiteral<TemplatePattern, Right, Pattern> : Type extends TUnion<infer Types extends TSchema[]> ? TEncodeUnion<Types, Right, Pattern> : typeof NeverPattern);
25
+ type TEncodeTypes<Types extends TSchema[], Pattern extends string> = (Types extends [infer Left extends TSchema, ...infer Right extends TSchema[]] ? TEncodeType<Left, Right, Pattern> : Pattern);
26
+ type TEncodePattern<Types extends TSchema[], Encoded extends string = TEncodeTypes<Types, ''>, Result extends string = `^${Encoded}$`> = Result;
27
+ /** Encodes a TemplateLiteral type sequence into a TemplateLiteral */
28
+ export type TTemplateLiteralEncode<Types extends TSchema[], Pattern extends string = TEncodePattern<Types>, Result extends TSchema = TTemplateLiteral<Pattern>> = Result;
29
+ /** Encodes a TemplateLiteral type sequence into a TemplateLiteral */
30
+ export declare function TemplateLiteralEncode<Types extends TSchema[]>(types: [...Types]): TTemplateLiteralEncode<Types>;
31
+ export {};
@@ -0,0 +1,80 @@
1
+ // deno-fmt-ignore-file
2
+ import { IsSchema } from '../../types/schema.mjs';
3
+ import { IsEnum } from '../../types/enum.mjs';
4
+ import { Literal, IsLiteral } from '../../types/literal.mjs';
5
+ import { Union, IsUnion } from '../../types/union.mjs';
6
+ import { IsTemplateLiteral } from '../../types/template-literal.mjs';
7
+ import { IsBigInt, BigIntPattern } from '../../types/bigint.mjs';
8
+ import { IsString, StringPattern } from '../../types/string.mjs';
9
+ import { IsNumber, NumberPattern } from '../../types/number.mjs';
10
+ import { IsInteger, IntegerPattern } from '../../types/integer.mjs';
11
+ import { IsBoolean } from '../../types/boolean.mjs';
12
+ import { NeverPattern } from '../../types/never.mjs';
13
+ import { TemplateLiteralCreate } from './create.mjs';
14
+ import { EnumValuesToVariants } from '../enum/enum-to-union.mjs';
15
+ function JoinString(input) {
16
+ return input.join('|');
17
+ }
18
+ function UnwrapTemplateLiteralPattern(pattern) {
19
+ return pattern.slice(1, pattern.length - 1);
20
+ }
21
+ function EncodeLiteral(value, right, pattern) {
22
+ return EncodeTypes(right, `${pattern}${value}`);
23
+ }
24
+ function EncodeBigInt(right, pattern) {
25
+ return EncodeTypes(right, `${pattern}${BigIntPattern}`);
26
+ }
27
+ function EncodeInteger(right, pattern) {
28
+ return EncodeTypes(right, `${pattern}${IntegerPattern}`);
29
+ }
30
+ function EncodeNumber(right, pattern) {
31
+ return EncodeTypes(right, `${pattern}${NumberPattern}`);
32
+ }
33
+ function EncodeBoolean(right, pattern) {
34
+ return EncodeType(Union([Literal('false'), Literal('true')]), right, pattern);
35
+ }
36
+ function EncodeString(right, pattern) {
37
+ return EncodeTypes(right, `${pattern}${StringPattern}`);
38
+ }
39
+ function EncodeTemplateLiteral(templatePattern, right, pattern) {
40
+ return EncodeTypes(right, `${pattern}${UnwrapTemplateLiteralPattern(templatePattern)}`);
41
+ }
42
+ function EncodeEnum(types, right, pattern, result = []) {
43
+ const variants = EnumValuesToVariants(types);
44
+ return EncodeUnion(variants, right, pattern);
45
+ }
46
+ function EncodeUnion(types, right, pattern, result = []) {
47
+ const [head, ...tail] = types;
48
+ return (IsSchema(head)
49
+ ? EncodeUnion(tail, right, pattern, [...result, EncodeType(head, [], '')])
50
+ : EncodeTypes(right, `${pattern}(${JoinString(result)})`));
51
+ }
52
+ function EncodeType(type, right, pattern) {
53
+ return (IsEnum(type) ? EncodeEnum(type.enum, right, pattern) :
54
+ IsInteger(type) ? EncodeInteger(right, pattern) :
55
+ IsLiteral(type) ? EncodeLiteral(type.const, right, pattern) :
56
+ IsBigInt(type) ? EncodeBigInt(right, pattern) :
57
+ IsBoolean(type) ? EncodeBoolean(right, pattern) :
58
+ IsNumber(type) ? EncodeNumber(right, pattern) :
59
+ IsString(type) ? EncodeString(right, pattern) :
60
+ IsTemplateLiteral(type) ? EncodeTemplateLiteral(type.pattern, right, pattern) :
61
+ IsUnion(type) ? EncodeUnion(type.anyOf, right, pattern) :
62
+ NeverPattern);
63
+ }
64
+ function EncodeTypes(types, pattern) {
65
+ const [left, ...right] = types;
66
+ return (IsSchema(left)
67
+ ? EncodeType(left, right, pattern)
68
+ : pattern);
69
+ }
70
+ function EncodePattern(types) {
71
+ const encoded = EncodeTypes(types, '');
72
+ const result = `^${encoded}$`;
73
+ return result;
74
+ }
75
+ /** Encodes a TemplateLiteral type sequence into a TemplateLiteral */
76
+ export function TemplateLiteralEncode(types) {
77
+ const pattern = EncodePattern(types);
78
+ const result = TemplateLiteralCreate(pattern);
79
+ return result;
80
+ }
@@ -0,0 +1,12 @@
1
+ import { type TSchema } from '../../types/schema.mjs';
2
+ import { type TLiteral, type TLiteralValue } from '../../types/literal.mjs';
3
+ import { type TUnion } from '../../types/union.mjs';
4
+ type TFromLiteral<_Value extends TLiteralValue> = true;
5
+ type TFromTypesReduce<Types extends TSchema[]> = (Types extends [infer Left extends TSchema, ...infer Right extends TSchema[]] ? TFromType<Left> extends true ? TFromTypesReduce<Right> : false : true);
6
+ type TFromTypes<Types extends TSchema[], Result extends boolean = Types extends [] ? false : TFromTypesReduce<Types>> = Result;
7
+ type TFromType<Type extends TSchema> = Type extends TUnion<infer Types extends TSchema[]> ? TFromTypes<Types> : Type extends TLiteral<infer Value extends TLiteralValue> ? TFromLiteral<Value> : false;
8
+ /** Returns true if the given TemplateLiteral types yields a finite variant set */
9
+ export type TTemplateLiteralFinite<Types extends TSchema[], Result extends boolean = TFromTypes<Types>> = Result;
10
+ /** Returns true if the given TemplateLiteral types yields a finite variant set */
11
+ export declare function TemplateLiteralFinite<Types extends TSchema[]>(types: [...Types]): TTemplateLiteralFinite<Types>;
12
+ export {};
@@ -0,0 +1,30 @@
1
+ // deno-fmt-ignore-file
2
+ import { Guard } from '../../../guard/index.mjs';
3
+ import { IsSchema } from '../../types/schema.mjs';
4
+ import { IsLiteral } from '../../types/literal.mjs';
5
+ import { IsUnion } from '../../types/union.mjs';
6
+ function FromLiteral(value) {
7
+ return true;
8
+ }
9
+ function FromTypesReduce(types) {
10
+ const [left, ...right] = types;
11
+ return (IsSchema(left)
12
+ ? FromType(left)
13
+ ? FromTypesReduce(right)
14
+ : false
15
+ : true);
16
+ }
17
+ function FromTypes(types) {
18
+ const result = Guard.IsEqual(types.length, 0) ? false : FromTypesReduce(types);
19
+ return result;
20
+ }
21
+ function FromType(type) {
22
+ return (IsUnion(type) ? FromTypes(type.anyOf) :
23
+ IsLiteral(type) ? FromLiteral(type.const) :
24
+ false);
25
+ }
26
+ /** Returns true if the given TemplateLiteral types yields a finite variant set */
27
+ export function TemplateLiteralFinite(types) {
28
+ const result = FromTypes(types);
29
+ return result;
30
+ }
@@ -0,0 +1,5 @@
1
+ export * from './create.mjs';
2
+ export * from './decode.mjs';
3
+ export * from './encode.mjs';
4
+ export * from './finite.mjs';
5
+ export * from './static.mjs';
@@ -0,0 +1,5 @@
1
+ export * from './create.mjs';
2
+ export * from './decode.mjs';
3
+ export * from './encode.mjs';
4
+ export * from './finite.mjs';
5
+ export * from './static.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 TTemplateLiteralDeferred } from '../../types/template-literal.mjs';
4
+ import { type TTemplateLiteralEncode } from './encode.mjs';
5
+ import { type TState, type TInstantiateTypes, type TCanInstantiate } from '../instantiate.mjs';
6
+ type TTemplateLiteralImmediate<Context extends TProperties, State extends TState, Types extends TSchema[], InstantiatedTypes extends TSchema[] = TInstantiateTypes<Context, State, Types>, Result extends TSchema = TTemplateLiteralEncode<InstantiatedTypes>> = Result;
7
+ export type TTemplateLiteralInstantiate<Context extends TProperties, State extends TState, Types extends TSchema[]> = TCanInstantiate<Context, Types> extends true ? TTemplateLiteralImmediate<Context, State, Types> : TTemplateLiteralDeferred<Types>;
8
+ export declare function TemplateLiteralInstantiate<Context extends TProperties, State extends TState, Types extends TSchema[]>(context: Context, state: State, types: [...Types], options: TSchemaOptions): TTemplateLiteralInstantiate<Context, State, Types>;
9
+ export {};
@@ -0,0 +1,14 @@
1
+ // deno-fmt-ignore-file
2
+ import { Memory } from '../../../system/memory/index.mjs';
3
+ import { TemplateLiteralDeferred } from '../../types/template-literal.mjs';
4
+ import { TemplateLiteralEncode } from './encode.mjs';
5
+ import { InstantiateTypes, CanInstantiate } from '../instantiate.mjs';
6
+ function TemplateLiteralImmediate(context, state, types, options) {
7
+ const instaniatedTypes = InstantiateTypes(context, state, types);
8
+ return Memory.Update(TemplateLiteralEncode(instaniatedTypes), {}, options);
9
+ }
10
+ export function TemplateLiteralInstantiate(context, state, types, options) {
11
+ return (CanInstantiate(context, types)
12
+ ? TemplateLiteralImmediate(context, state, types, options)
13
+ : TemplateLiteralDeferred(types, options));
14
+ }
@@ -0,0 +1,18 @@
1
+ import { type TSchema } from '../../types/schema.mjs';
2
+ import { type TUnion } from '../../types/union.mjs';
3
+ import { type TBigInt } from '../../types/bigint.mjs';
4
+ import { type TString } from '../../types/string.mjs';
5
+ import { type TNumber } from '../../types/number.mjs';
6
+ import { type TInteger } from '../../types/integer.mjs';
7
+ import { type TLiteral, type TLiteralValue } from '../../types/literal.mjs';
8
+ import { type TParsePatternIntoTypes } from '../patterns/pattern.mjs';
9
+ type TFromLiteral<Template extends string, Value extends TLiteralValue> = `${Template}${Value}`;
10
+ type TFromBigInt<Template extends string> = `${Template}${bigint}`;
11
+ type TFromString<Template extends string> = `${Template}${string}`;
12
+ type TFromNumber<Template extends string> = `${Template}${number}`;
13
+ type TFromInteger<Template extends string> = `${Template}${number}`;
14
+ type TFromUnion<Template extends string, Types extends TSchema[], Result extends string = never> = (Types extends [infer Left extends TSchema, ...infer Right extends TSchema[]] ? TFromUnion<Template, Right, Result | TFromType<'', Left>> : `${Template}${Result}`);
15
+ type TFromType<Template extends string, Type extends TSchema, Result extends string = (Type extends TUnion<infer Types extends TSchema[]> ? TFromUnion<Template, Types> : Type extends TLiteral<infer Value extends TLiteralValue> ? TFromLiteral<Template, Value> : Type extends TBigInt ? TFromBigInt<Template> : Type extends TString ? TFromString<Template> : Type extends TNumber ? TFromNumber<Template> : Type extends TInteger ? TFromInteger<Template> : never)> = Result;
16
+ type TFromSpan<Template extends string, Types extends TSchema[]> = (Types extends [infer Left extends TSchema, ...infer Right extends TSchema[]] ? TFromSpan<TFromType<Template, Left>, Right> : Template);
17
+ export type TTemplateLiteralStatic<Pattern extends string, Types extends TSchema[] = TParsePatternIntoTypes<Pattern>> = TFromSpan<'', Types>;
18
+ export {};
@@ -0,0 +1,2 @@
1
+ // deno-fmt-ignore-file
2
+ export {};
@@ -0,0 +1,12 @@
1
+ import { type TSchema } from '../../types/schema.mjs';
2
+ import { type TObject } from '../../types/object.mjs';
3
+ import { type TProperties } from '../../types/properties.mjs';
4
+ import { type TTuple } from '../../types/tuple.mjs';
5
+ export type TTupleElementsToProperties<Types extends TSchema[], Result extends TProperties = {}> = (Types extends [...infer Left extends TSchema[], infer Right extends TSchema] ? TTupleElementsToProperties<Left, {
6
+ [_ in Left['length']]: Right;
7
+ } & Result> : {
8
+ [Key in keyof Result]: Result[Key];
9
+ });
10
+ export declare function TupleElementsToProperties<Types extends TSchema[]>(types: [...Types]): TTupleElementsToProperties<Types>;
11
+ export type TTupleToObject<Type extends TTuple, Properties extends TProperties = TTupleElementsToProperties<Type['items']>, Result extends TSchema = TObject<Properties>> = Result;
12
+ export declare function TupleToObject<Type extends TTuple>(type: Type): TTupleToObject<Type>;
@@ -0,0 +1,13 @@
1
+ // deno-fmt-ignore-file
2
+ import { Object } from '../../types/object.mjs';
3
+ export function TupleElementsToProperties(types) {
4
+ const result = types.reduceRight((result, right, index) => {
5
+ return { [index]: right, ...result };
6
+ }, {});
7
+ return result;
8
+ }
9
+ export function TupleToObject(type) {
10
+ const properties = TupleElementsToProperties(type.items);
11
+ const result = Object(properties);
12
+ return result;
13
+ }
@@ -0,0 +1,9 @@
1
+ import { type TSchema } from '../types/schema.mjs';
2
+ import { type TProperties } from '../types/properties.mjs';
3
+ import { type TInfer } from '../types/infer.mjs';
4
+ import { type TAny } from '../types/any.mjs';
5
+ import { type TUnknown } from '../types/unknown.mjs';
6
+ import { type TExtendsRight } from './extends-right.mjs';
7
+ import * as Result from './result.mjs';
8
+ export type TExtendsAny<Inferred extends TProperties, Left extends TAny, Right extends TSchema> = (Right extends TInfer ? TExtendsRight<Inferred, Left, Right> : Right extends TAny ? Result.TExtendsTrue<Inferred> : Right extends TUnknown ? Result.TExtendsTrue<Inferred> : Result.TExtendsUnion<Inferred>);
9
+ export declare function ExtendsAny<Inferred extends TProperties, Left extends TAny, Right extends TSchema>(inferred: Inferred, left: Left, right: Right): TExtendsAny<Inferred, Left, Right>;
@@ -0,0 +1,12 @@
1
+ // deno-fmt-ignore-file
2
+ import { IsInfer } from '../types/infer.mjs';
3
+ import { IsAny } from '../types/any.mjs';
4
+ import { IsUnknown } from '../types/unknown.mjs';
5
+ import { ExtendsRight } from './extends-right.mjs';
6
+ import * as Result from './result.mjs';
7
+ export function ExtendsAny(inferred, left, right) {
8
+ return (IsInfer(right) ? ExtendsRight(inferred, left, right) :
9
+ IsAny(right) ? Result.ExtendsTrue(inferred) :
10
+ IsUnknown(right) ? Result.ExtendsTrue(inferred) :
11
+ Result.ExtendsUnion(inferred));
12
+ }
@@ -0,0 +1,7 @@
1
+ import { type TSchema } from '../types/schema.mjs';
2
+ import { type TProperties } from '../types/properties.mjs';
3
+ import { type TArray } from '../types/array.mjs';
4
+ import { type TExtendsRight } from './extends-right.mjs';
5
+ import { type TExtendsLeft } from './extends-left.mjs';
6
+ export type TExtendsArray<Inferred extends TProperties, Left extends TSchema, Right extends TSchema> = (Right extends TArray<infer Type extends TSchema> ? TExtendsLeft<Inferred, Left, Type> : TExtendsRight<Inferred, TArray<Left>, Right>);
7
+ export declare function ExtendsArray<Inferred extends TProperties, Left extends TSchema, Right extends TSchema>(inferred: Inferred, left: Left, right: Right): TExtendsArray<Inferred, Left, Right>;
@@ -0,0 +1,9 @@
1
+ // deno-fmt-ignore-file
2
+ import { Array, IsArray } from '../types/array.mjs';
3
+ import { ExtendsRight } from './extends-right.mjs';
4
+ import { ExtendsLeft } from './extends-left.mjs';
5
+ export function ExtendsArray(inferred, left, right) {
6
+ return (IsArray(right)
7
+ ? ExtendsLeft(inferred, left, right.items)
8
+ : ExtendsRight(inferred, Array(left), right));
9
+ }
@@ -0,0 +1,7 @@
1
+ import { type TSchema } from '../types/schema.mjs';
2
+ import { type TProperties } from '../types/properties.mjs';
3
+ import { type TAsyncIterator } from '../types/async-iterator.mjs';
4
+ import { type TExtendsRight } from './extends-right.mjs';
5
+ import { type TExtendsLeft } from './extends-left.mjs';
6
+ export type TExtendsAsyncIterator<Inferred extends TProperties, Left extends TSchema, Right extends TSchema> = (Right extends TAsyncIterator<infer Type extends TSchema> ? TExtendsLeft<Inferred, Left, Type> : TExtendsRight<Inferred, TAsyncIterator<Left>, Right>);
7
+ export declare function ExtendsAsyncIterator<Inferred extends TProperties, Left extends TSchema, Right extends TSchema>(inferred: Inferred, left: Left, right: Right): TExtendsAsyncIterator<Inferred, Left, Right>;
@@ -0,0 +1,9 @@
1
+ // deno-fmt-ignore-file
2
+ import { AsyncIterator, IsAsyncIterator } from '../types/async-iterator.mjs';
3
+ import { ExtendsRight } from './extends-right.mjs';
4
+ import { ExtendsLeft } from './extends-left.mjs';
5
+ export function ExtendsAsyncIterator(inferred, left, right) {
6
+ return (IsAsyncIterator(right)
7
+ ? ExtendsLeft(inferred, left, right.iteratorItems)
8
+ : ExtendsRight(inferred, AsyncIterator(left), right));
9
+ }
@@ -0,0 +1,7 @@
1
+ import { type TSchema } from '../types/schema.mjs';
2
+ import { type TProperties } from '../types/properties.mjs';
3
+ import { type TBigInt } from '../types/bigint.mjs';
4
+ import { type TExtendsRight } from './extends-right.mjs';
5
+ import * as Result from './result.mjs';
6
+ export type TExtendsBigInt<Inferred extends TProperties, Left extends TBigInt, Right extends TSchema> = (Right extends TBigInt ? Result.TExtendsTrue<Inferred> : TExtendsRight<Inferred, Left, Right>);
7
+ export declare function ExtendsBigInt<Inferred extends TProperties, Left extends TBigInt, Right extends TSchema>(inferred: Inferred, left: Left, right: Right): TExtendsBigInt<Inferred, Left, Right>;
@@ -0,0 +1,9 @@
1
+ // deno-fmt-ignore-file
2
+ import { IsBigInt } from '../types/bigint.mjs';
3
+ import { ExtendsRight } from './extends-right.mjs';
4
+ import * as Result from './result.mjs';
5
+ export function ExtendsBigInt(inferred, left, right) {
6
+ return (IsBigInt(right)
7
+ ? Result.ExtendsTrue(inferred)
8
+ : ExtendsRight(inferred, left, right));
9
+ }
@@ -0,0 +1,7 @@
1
+ import { type TSchema } from '../types/schema.mjs';
2
+ import { type TProperties } from '../types/properties.mjs';
3
+ import { type TBoolean } from '../types/boolean.mjs';
4
+ import { type TExtendsRight } from './extends-right.mjs';
5
+ import * as Result from './result.mjs';
6
+ export type TExtendsBoolean<Inferred extends TProperties, Left extends TBoolean, Right extends TSchema> = (Right extends TBoolean ? Result.TExtendsTrue<Inferred> : TExtendsRight<Inferred, Left, Right>);
7
+ export declare function ExtendsBoolean<Inferred extends TProperties, Left extends TBoolean, Right extends TSchema>(inferred: Inferred, left: Left, right: Right): TExtendsBoolean<Inferred, Left, Right>;
@@ -0,0 +1,9 @@
1
+ // deno-fmt-ignore-file
2
+ import { IsBoolean } from '../types/boolean.mjs';
3
+ import { ExtendsRight } from './extends-right.mjs';
4
+ import * as Result from './result.mjs';
5
+ export function ExtendsBoolean(inferred, left, right) {
6
+ return (IsBoolean(right)
7
+ ? Result.ExtendsTrue(inferred)
8
+ : ExtendsRight(inferred, left, right));
9
+ }
@@ -0,0 +1,8 @@
1
+ import { type TSchema } from '../types/schema.mjs';
2
+ import { type TProperties } from '../types/properties.mjs';
3
+ import { type TConstructor } from '../types/constructor.mjs';
4
+ import * as Result from './result.mjs';
5
+ import { type TExtendsParameters } from './parameters.mjs';
6
+ import { type TExtendsReturnType } from './return-type.mjs';
7
+ export type TExtendsConstructor<Inferred extends TProperties, Parameters extends TSchema[], InstanceType extends TSchema, Right extends TSchema> = (Right extends TConstructor<infer RightParamters extends TSchema[], infer RightInstanceType extends TSchema> ? TExtendsParameters<Inferred, Parameters, RightParamters> extends Result.TExtendsTrueLike<infer Inferred extends TProperties> ? TExtendsReturnType<Inferred, InstanceType, RightInstanceType> : Result.TExtendsFalse : Result.TExtendsFalse);
8
+ export declare function ExtendsConstructor<Inferred extends TProperties, Parameters extends TSchema[], InstanceType extends TSchema, Right extends TSchema>(inferred: Inferred, parameters: [...Parameters], returnType: InstanceType, right: Right): TExtendsConstructor<Inferred, Parameters, InstanceType, Right>;
@@ -0,0 +1,16 @@
1
+ // deno-fmt-ignore-file
2
+ import { IsConstructor } from '../types/constructor.mjs';
3
+ import * as Result from './result.mjs';
4
+ // ------------------------------------------------------------------
5
+ // Parameters | ReturnType
6
+ // ------------------------------------------------------------------
7
+ import { ExtendsParameters } from './parameters.mjs';
8
+ import { ExtendsReturnType } from './return-type.mjs';
9
+ export function ExtendsConstructor(inferred, parameters, returnType, right) {
10
+ return (IsConstructor(right) ? (() => {
11
+ const check = ExtendsParameters(inferred, parameters, right.parameters);
12
+ return Result.IsExtendsTrueLike(check)
13
+ ? ExtendsReturnType(check.inferred, returnType, right.instanceType)
14
+ : Result.ExtendsFalse();
15
+ })() : Result.ExtendsFalse());
16
+ }
@@ -0,0 +1,7 @@
1
+ import { type TSchema } from '../types/schema.mjs';
2
+ import { type TProperties } from '../types/properties.mjs';
3
+ import { type TEnum } from '../types/enum.mjs';
4
+ import { type TExtendsLeft } from './extends-left.mjs';
5
+ import { type TEnumToUnion } from '../engine/enum/index.mjs';
6
+ export type TExtendsEnum<Inferred extends TProperties, Left extends TEnum, Right extends TSchema> = (TExtendsLeft<Inferred, TEnumToUnion<Left>, Right>);
7
+ export declare function ExtendsEnum<Inferred extends TProperties, Left extends TEnum, Right extends TSchema>(inferred: Inferred, left: Left, right: Right): TExtendsEnum<Inferred, Left, Right>;
@@ -0,0 +1,6 @@
1
+ // deno-fmt-ignore-file
2
+ import { ExtendsLeft } from './extends-left.mjs';
3
+ import { EnumToUnion } from '../engine/enum/index.mjs';
4
+ export function ExtendsEnum(inferred, left, right) {
5
+ return ExtendsLeft(inferred, EnumToUnion(left), right);
6
+ }
@@ -0,0 +1,55 @@
1
+ import { type TExtendsAny } from './any.mjs';
2
+ import { type TExtendsArray } from './array.mjs';
3
+ import { type TExtendsAsyncIterator } from './async-iterator.mjs';
4
+ import { type TExtendsBigInt } from './bigint.mjs';
5
+ import { type TExtendsBoolean } from './boolean.mjs';
6
+ import { type TExtendsConstructor } from './constructor.mjs';
7
+ import { type TExtendsEnum } from './enum.mjs';
8
+ import { type TExtendsFunction } from './function.mjs';
9
+ import { type TExtendsInteger } from './integer.mjs';
10
+ import { type TExtendsIntersect } from './intersect.mjs';
11
+ import { type TExtendsIterator } from './iterator.mjs';
12
+ import { type TExtendsLiteral } from './literal.mjs';
13
+ import { type TExtendsNever } from './never.mjs';
14
+ import { type TExtendsNull } from './null.mjs';
15
+ import { type TExtendsNumber } from './number.mjs';
16
+ import { type TExtendsObject } from './object.mjs';
17
+ import { type TExtendsPromise } from './promise.mjs';
18
+ import { type TExtendsString } from './string.mjs';
19
+ import { type TExtendsSymbol } from './symbol.mjs';
20
+ import { type TExtendsTemplateLiteral } from './template-literal.mjs';
21
+ import { type TExtendsTuple } from './tuple.mjs';
22
+ import { type TExtendsUndefined } from './undefined.mjs';
23
+ import { type TExtendsUnion } from './union.mjs';
24
+ import { type TExtendsUnknown } from './unknown.mjs';
25
+ import { type TExtendsVoid } from './void.mjs';
26
+ import { type TAny } from '../types/any.mjs';
27
+ import { type TArray } from '../types/array.mjs';
28
+ import { type TAsyncIterator } from '../types/async-iterator.mjs';
29
+ import { type TBigInt } from '../types/bigint.mjs';
30
+ import { type TBoolean } from '../types/boolean.mjs';
31
+ import { type TConstructor } from '../types/constructor.mjs';
32
+ import { type TEnum, type TEnumValue } from '../types/enum.mjs';
33
+ import { type TFunction } from '../types/function.mjs';
34
+ import { type TInteger } from '../types/integer.mjs';
35
+ import { type TIntersect } from '../types/intersect.mjs';
36
+ import { type TIterator } from '../types/iterator.mjs';
37
+ import { type TLiteral } from '../types/literal.mjs';
38
+ import { type TNever } from '../types/never.mjs';
39
+ import { type TNull } from '../types/null.mjs';
40
+ import { type TNumber } from '../types/number.mjs';
41
+ import { type TObject } from '../types/object.mjs';
42
+ import { type TPromise } from '../types/promise.mjs';
43
+ import { type TSchema } from '../types/schema.mjs';
44
+ import { type TString } from '../types/string.mjs';
45
+ import { type TSymbol } from '../types/symbol.mjs';
46
+ import { type TTemplateLiteral } from '../types/template-literal.mjs';
47
+ import { type TTuple } from '../types/tuple.mjs';
48
+ import { type TUndefined } from '../types/undefined.mjs';
49
+ import { type TUnknown } from '../types/unknown.mjs';
50
+ import { type TProperties } from '../types/properties.mjs';
51
+ import { type TUnion } from '../types/union.mjs';
52
+ import { type TVoid } from '../types/void.mjs';
53
+ import * as Result from './result.mjs';
54
+ export type TExtendsLeft<Inferred extends TProperties, Left extends TSchema, Right extends TSchema> = (Left extends TAny ? TExtendsAny<Inferred, Left, Right> : Left extends TArray<infer Type extends TSchema> ? TExtendsArray<Inferred, Type, Right> : Left extends TAsyncIterator<infer Type extends TSchema> ? TExtendsAsyncIterator<Inferred, Type, Right> : Left extends TBigInt ? TExtendsBigInt<Inferred, Left, Right> : Left extends TBoolean ? TExtendsBoolean<Inferred, Left, Right> : Left extends TConstructor<infer Parameters extends TSchema[], infer InstanceType extends TSchema> ? TExtendsConstructor<Inferred, Parameters, InstanceType, Right> : Left extends TEnum<infer Values extends TEnumValue[]> ? TExtendsEnum<Inferred, TEnum<Values>, Right> : Left extends TFunction<infer Parameters extends TSchema[], infer ReturnType extends TSchema> ? TExtendsFunction<Inferred, Parameters, ReturnType, Right> : Left extends TInteger ? TExtendsInteger<Inferred, Left, Right> : Left extends TIntersect<infer Types extends TSchema[]> ? TExtendsIntersect<Inferred, Types, Right> : Left extends TIterator<infer Type extends TSchema> ? TExtendsIterator<Inferred, Type, Right> : Left extends TLiteral ? TExtendsLiteral<Inferred, Left, Right> : Left extends TNever ? TExtendsNever<Inferred, Left, Right> : Left extends TNull ? TExtendsNull<Inferred, Left, Right> : Left extends TNumber ? TExtendsNumber<Inferred, Left, Right> : Left extends TObject<infer Properties extends TProperties> ? TExtendsObject<Inferred, Properties, Right> : Left extends TPromise<infer Type extends TSchema> ? TExtendsPromise<Inferred, Type, Right> : Left extends TString ? TExtendsString<Inferred, Left, Right> : Left extends TSymbol ? TExtendsSymbol<Inferred, Left, Right> : Left extends TTemplateLiteral<infer Pattern extends string> ? TExtendsTemplateLiteral<Inferred, Pattern, Right> : Left extends TTuple<infer Types extends TSchema[]> ? TExtendsTuple<Inferred, Types, Right> : Left extends TUndefined ? TExtendsUndefined<Inferred, Left, Right> : Left extends TUnion<infer Types extends TSchema[]> ? TExtendsUnion<Inferred, Types, Right> : Left extends TUnknown ? TExtendsUnknown<Inferred, Left, Right> : Left extends TVoid ? TExtendsVoid<Inferred, Left, Right> : Result.TExtendsFalse);
55
+ export declare function ExtendsLeft<Inferred extends TProperties, Left extends TSchema, Right extends TSchema>(inferred: Inferred, left: Left, right: Right): TExtendsLeft<Inferred, Left, Right>;
@@ -0,0 +1,83 @@
1
+ // deno-fmt-ignore-file
2
+ import { ExtendsAny } from './any.mjs';
3
+ import { ExtendsArray } from './array.mjs';
4
+ import { ExtendsAsyncIterator } from './async-iterator.mjs';
5
+ import { ExtendsBigInt } from './bigint.mjs';
6
+ import { ExtendsBoolean } from './boolean.mjs';
7
+ import { ExtendsConstructor } from './constructor.mjs';
8
+ import { ExtendsEnum } from './enum.mjs';
9
+ import { ExtendsFunction } from './function.mjs';
10
+ import { ExtendsInteger } from './integer.mjs';
11
+ import { ExtendsIntersect } from './intersect.mjs';
12
+ import { ExtendsIterator } from './iterator.mjs';
13
+ import { ExtendsLiteral } from './literal.mjs';
14
+ import { ExtendsNever } from './never.mjs';
15
+ import { ExtendsNull } from './null.mjs';
16
+ import { ExtendsNumber } from './number.mjs';
17
+ import { ExtendsObject } from './object.mjs';
18
+ import { ExtendsPromise } from './promise.mjs';
19
+ import { ExtendsString } from './string.mjs';
20
+ import { ExtendsSymbol } from './symbol.mjs';
21
+ import { ExtendsTemplateLiteral } from './template-literal.mjs';
22
+ import { ExtendsTuple } from './tuple.mjs';
23
+ import { ExtendsUndefined } from './undefined.mjs';
24
+ import { ExtendsUnion } from './union.mjs';
25
+ import { ExtendsUnknown } from './unknown.mjs';
26
+ import { ExtendsVoid } from './void.mjs';
27
+ // ----------------------------------------------------------------------------
28
+ // Types
29
+ // ----------------------------------------------------------------------------
30
+ import { IsAny } from '../types/any.mjs';
31
+ import { IsArray } from '../types/array.mjs';
32
+ import { IsAsyncIterator } from '../types/async-iterator.mjs';
33
+ import { IsBigInt } from '../types/bigint.mjs';
34
+ import { IsBoolean } from '../types/boolean.mjs';
35
+ import { IsConstructor } from '../types/constructor.mjs';
36
+ import { IsEnum } from '../types/enum.mjs';
37
+ import { IsFunction } from '../types/function.mjs';
38
+ import { IsInteger } from '../types/integer.mjs';
39
+ import { IsIntersect } from '../types/intersect.mjs';
40
+ import { IsIterator } from '../types/iterator.mjs';
41
+ import { IsLiteral } from '../types/literal.mjs';
42
+ import { IsNever } from '../types/never.mjs';
43
+ import { IsNull } from '../types/null.mjs';
44
+ import { IsNumber } from '../types/number.mjs';
45
+ import { IsObject } from '../types/object.mjs';
46
+ import { IsPromise } from '../types/promise.mjs';
47
+ import { IsString } from '../types/string.mjs';
48
+ import { IsSymbol } from '../types/symbol.mjs';
49
+ import { IsTemplateLiteral } from '../types/template-literal.mjs';
50
+ import { IsTuple } from '../types/tuple.mjs';
51
+ import { IsUndefined } from '../types/undefined.mjs';
52
+ import { IsUnknown } from '../types/unknown.mjs';
53
+ import { IsUnion } from '../types/union.mjs';
54
+ import { IsVoid } from '../types/void.mjs';
55
+ import * as Result from './result.mjs';
56
+ export function ExtendsLeft(inferred, left, right) {
57
+ return (IsAny(left) ? ExtendsAny(inferred, left, right) :
58
+ IsArray(left) ? ExtendsArray(inferred, left.items, right) :
59
+ IsAsyncIterator(left) ? ExtendsAsyncIterator(inferred, left.iteratorItems, right) :
60
+ IsBigInt(left) ? ExtendsBigInt(inferred, left, right) :
61
+ IsBoolean(left) ? ExtendsBoolean(inferred, left, right) :
62
+ IsConstructor(left) ? ExtendsConstructor(inferred, left.parameters, left.instanceType, right) :
63
+ IsEnum(left) ? ExtendsEnum(inferred, left, right) :
64
+ IsFunction(left) ? ExtendsFunction(inferred, left.parameters, left.returnType, right) :
65
+ IsInteger(left) ? ExtendsInteger(inferred, left, right) :
66
+ IsIntersect(left) ? ExtendsIntersect(inferred, left.allOf, right) :
67
+ IsIterator(left) ? ExtendsIterator(inferred, left.iteratorItems, right) :
68
+ IsLiteral(left) ? ExtendsLiteral(inferred, left, right) :
69
+ IsNever(left) ? ExtendsNever(inferred, left, right) :
70
+ IsNull(left) ? ExtendsNull(inferred, left, right) :
71
+ IsNumber(left) ? ExtendsNumber(inferred, left, right) :
72
+ IsObject(left) ? ExtendsObject(inferred, left.properties, right) :
73
+ IsPromise(left) ? ExtendsPromise(inferred, left.item, right) :
74
+ IsString(left) ? ExtendsString(inferred, left, right) :
75
+ IsSymbol(left) ? ExtendsSymbol(inferred, left, right) :
76
+ IsTemplateLiteral(left) ? ExtendsTemplateLiteral(inferred, left.pattern, right) :
77
+ IsTuple(left) ? ExtendsTuple(inferred, left.items, right) :
78
+ IsUndefined(left) ? ExtendsUndefined(inferred, left, right) :
79
+ IsUnion(left) ? ExtendsUnion(inferred, left.anyOf, right) :
80
+ IsUnknown(left) ? ExtendsUnknown(inferred, left, right) :
81
+ IsVoid(left) ? ExtendsVoid(inferred, left, right) :
82
+ Result.ExtendsFalse());
83
+ }