typebox 0.0.1 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1246) hide show
  1. package/build/compile/code.d.mts +12 -0
  2. package/build/compile/code.mjs +65 -0
  3. package/build/compile/compile.d.mts +6 -0
  4. package/build/compile/compile.mjs +11 -0
  5. package/build/compile/index.d.mts +12 -0
  6. package/build/compile/index.mjs +13 -0
  7. package/build/compile/validator.d.mts +30 -0
  8. package/build/compile/validator.mjs +83 -0
  9. package/build/error/errors.d.mts +213 -0
  10. package/build/error/errors.mjs +1 -0
  11. package/build/error/index.d.mts +1 -0
  12. package/build/error/index.mjs +1 -0
  13. package/build/format/_registry.d.mts +15 -0
  14. package/build/format/_registry.mjs +96 -0
  15. package/build/format/date-time.d.mts +6 -0
  16. package/build/format/date-time.mjs +11 -0
  17. package/build/format/date.d.mts +6 -0
  18. package/build/format/date.mjs +19 -0
  19. package/build/format/duration.d.mts +5 -0
  20. package/build/format/duration.mjs +8 -0
  21. package/build/format/email.d.mts +2 -0
  22. package/build/format/email.mjs +5 -0
  23. package/build/format/format.d.mts +22 -0
  24. package/build/format/format.mjs +22 -0
  25. package/build/format/hostname.d.mts +2 -0
  26. package/build/format/hostname.mjs +5 -0
  27. package/build/format/idn-email.d.mts +2 -0
  28. package/build/format/idn-email.mjs +5 -0
  29. package/build/format/idn-hostname.d.mts +5 -0
  30. package/build/format/idn-hostname.mjs +128 -0
  31. package/build/format/index.d.mts +4 -0
  32. package/build/format/index.mjs +4 -0
  33. package/build/format/ipv4.d.mts +6 -0
  34. package/build/format/ipv4.mjs +9 -0
  35. package/build/format/ipv6.d.mts +6 -0
  36. package/build/format/ipv6.mjs +9 -0
  37. package/build/format/iri-reference.d.mts +5 -0
  38. package/build/format/iri-reference.mjs +59 -0
  39. package/build/format/iri.d.mts +5 -0
  40. package/build/format/iri.mjs +13 -0
  41. package/build/format/json-pointer-uri-fragment.d.mts +6 -0
  42. package/build/format/json-pointer-uri-fragment.mjs +9 -0
  43. package/build/format/json-pointer.d.mts +6 -0
  44. package/build/format/json-pointer.mjs +9 -0
  45. package/build/format/regex.d.mts +6 -0
  46. package/build/format/regex.mjs +17 -0
  47. package/build/format/relative-json-pointer.d.mts +6 -0
  48. package/build/format/relative-json-pointer.mjs +9 -0
  49. package/build/format/time.d.mts +5 -0
  50. package/build/format/time.mjs +27 -0
  51. package/build/format/uri-reference.d.mts +6 -0
  52. package/build/format/uri-reference.mjs +9 -0
  53. package/build/format/uri-template.d.mts +6 -0
  54. package/build/format/uri-template.mjs +10 -0
  55. package/build/format/uri.d.mts +6 -0
  56. package/build/format/uri.mjs +9 -0
  57. package/build/format/url.d.mts +6 -0
  58. package/build/format/url.mjs +9 -0
  59. package/build/format/uuid.d.mts +6 -0
  60. package/build/format/uuid.mjs +9 -0
  61. package/build/guard/emit.d.mts +56 -0
  62. package/build/guard/emit.mjs +183 -0
  63. package/build/guard/globals.d.mts +35 -0
  64. package/build/guard/globals.mjs +90 -0
  65. package/build/guard/guard.d.mts +57 -0
  66. package/build/guard/guard.mjs +180 -0
  67. package/build/guard/index.d.mts +6 -0
  68. package/build/guard/index.mjs +6 -0
  69. package/build/guard/native.d.mts +20 -0
  70. package/build/guard/native.mjs +60 -0
  71. package/build/index.d.mts +8 -0
  72. package/build/index.mjs +14 -0
  73. package/build/schema/build.d.mts +35 -0
  74. package/build/schema/build.mjs +97 -0
  75. package/build/schema/check.d.mts +5 -0
  76. package/build/schema/check.mjs +12 -0
  77. package/build/schema/deref/deref.d.mts +4 -0
  78. package/build/schema/deref/deref.mjs +77 -0
  79. package/build/schema/deref/index.d.mts +1 -0
  80. package/build/schema/deref/index.mjs +1 -0
  81. package/build/schema/engine/_context.d.mts +42 -0
  82. package/build/schema/engine/_context.mjs +121 -0
  83. package/build/schema/engine/_externals.d.mts +9 -0
  84. package/build/schema/engine/_externals.mjs +34 -0
  85. package/build/schema/engine/_functions.d.mts +5 -0
  86. package/build/schema/engine/_functions.mjs +46 -0
  87. package/build/schema/engine/_reducer.d.mts +3 -0
  88. package/build/schema/engine/_reducer.mjs +45 -0
  89. package/build/schema/engine/_refine.d.mts +5 -0
  90. package/build/schema/engine/_refine.mjs +29 -0
  91. package/build/schema/engine/_standard.d.mts +5 -0
  92. package/build/schema/engine/_standard.mjs +27 -0
  93. package/build/schema/engine/additionalItems.d.mts +5 -0
  94. package/build/schema/engine/additionalItems.mjs +48 -0
  95. package/build/schema/engine/additionalProperties.d.mts +8 -0
  96. package/build/schema/engine/additionalProperties.mjs +103 -0
  97. package/build/schema/engine/allOf.d.mts +5 -0
  98. package/build/schema/engine/allOf.mjs +47 -0
  99. package/build/schema/engine/anyOf.d.mts +5 -0
  100. package/build/schema/engine/anyOf.mjs +52 -0
  101. package/build/schema/engine/boolean.d.mts +4 -0
  102. package/build/schema/engine/boolean.mjs +25 -0
  103. package/build/schema/engine/const.d.mts +5 -0
  104. package/build/schema/engine/const.mjs +30 -0
  105. package/build/schema/engine/contains.d.mts +5 -0
  106. package/build/schema/engine/contains.mjs +40 -0
  107. package/build/schema/engine/dependencies.d.mts +5 -0
  108. package/build/schema/engine/dependencies.mjs +45 -0
  109. package/build/schema/engine/dependentRequired.d.mts +5 -0
  110. package/build/schema/engine/dependentRequired.mjs +40 -0
  111. package/build/schema/engine/dependentSchemas.d.mts +5 -0
  112. package/build/schema/engine/dependentSchemas.mjs +38 -0
  113. package/build/schema/engine/enum.d.mts +5 -0
  114. package/build/schema/engine/enum.mjs +33 -0
  115. package/build/schema/engine/exclusiveMaximum.d.mts +5 -0
  116. package/build/schema/engine/exclusiveMaximum.mjs +25 -0
  117. package/build/schema/engine/exclusiveMinimum.d.mts +5 -0
  118. package/build/schema/engine/exclusiveMinimum.mjs +25 -0
  119. package/build/schema/engine/format.d.mts +5 -0
  120. package/build/schema/engine/format.mjs +26 -0
  121. package/build/schema/engine/if.d.mts +5 -0
  122. package/build/schema/engine/if.mjs +47 -0
  123. package/build/schema/engine/index.d.mts +47 -0
  124. package/build/schema/engine/index.mjs +53 -0
  125. package/build/schema/engine/items.d.mts +5 -0
  126. package/build/schema/engine/items.mjs +65 -0
  127. package/build/schema/engine/maxContains.d.mts +5 -0
  128. package/build/schema/engine/maxContains.mjs +40 -0
  129. package/build/schema/engine/maxItems.d.mts +5 -0
  130. package/build/schema/engine/maxItems.mjs +25 -0
  131. package/build/schema/engine/maxLength.d.mts +5 -0
  132. package/build/schema/engine/maxLength.mjs +25 -0
  133. package/build/schema/engine/maxProperties.d.mts +5 -0
  134. package/build/schema/engine/maxProperties.mjs +25 -0
  135. package/build/schema/engine/maximum.d.mts +5 -0
  136. package/build/schema/engine/maximum.mjs +25 -0
  137. package/build/schema/engine/minContains.d.mts +5 -0
  138. package/build/schema/engine/minContains.mjs +39 -0
  139. package/build/schema/engine/minItems.d.mts +5 -0
  140. package/build/schema/engine/minItems.mjs +25 -0
  141. package/build/schema/engine/minLength.d.mts +5 -0
  142. package/build/schema/engine/minLength.mjs +25 -0
  143. package/build/schema/engine/minProperties.d.mts +5 -0
  144. package/build/schema/engine/minProperties.mjs +25 -0
  145. package/build/schema/engine/minimum.d.mts +5 -0
  146. package/build/schema/engine/minimum.mjs +25 -0
  147. package/build/schema/engine/multipleOf.d.mts +5 -0
  148. package/build/schema/engine/multipleOf.mjs +25 -0
  149. package/build/schema/engine/not.d.mts +5 -0
  150. package/build/schema/engine/not.mjs +36 -0
  151. package/build/schema/engine/oneOf.d.mts +5 -0
  152. package/build/schema/engine/oneOf.mjs +58 -0
  153. package/build/schema/engine/pattern.d.mts +5 -0
  154. package/build/schema/engine/pattern.mjs +28 -0
  155. package/build/schema/engine/patternProperties.d.mts +5 -0
  156. package/build/schema/engine/patternProperties.mjs +42 -0
  157. package/build/schema/engine/prefixItems.d.mts +5 -0
  158. package/build/schema/engine/prefixItems.mjs +35 -0
  159. package/build/schema/engine/properties.d.mts +5 -0
  160. package/build/schema/engine/properties.mjs +41 -0
  161. package/build/schema/engine/propertyNames.d.mts +5 -0
  162. package/build/schema/engine/propertyNames.mjs +37 -0
  163. package/build/schema/engine/ref.d.mts +5 -0
  164. package/build/schema/engine/ref.mjs +43 -0
  165. package/build/schema/engine/required.d.mts +5 -0
  166. package/build/schema/engine/required.mjs +32 -0
  167. package/build/schema/engine/schema.d.mts +5 -0
  168. package/build/schema/engine/schema.mjs +322 -0
  169. package/build/schema/engine/type.d.mts +5 -0
  170. package/build/schema/engine/type.mjs +74 -0
  171. package/build/schema/engine/unevaluatedItems.d.mts +5 -0
  172. package/build/schema/engine/unevaluatedItems.mjs +49 -0
  173. package/build/schema/engine/unevaluatedProperties.d.mts +5 -0
  174. package/build/schema/engine/unevaluatedProperties.mjs +49 -0
  175. package/build/schema/engine/uniqueItems.d.mts +5 -0
  176. package/build/schema/engine/uniqueItems.mjs +51 -0
  177. package/build/schema/errors.d.mts +6 -0
  178. package/build/schema/errors.mjs +24 -0
  179. package/build/schema/index.d.mts +16 -0
  180. package/build/schema/index.mjs +19 -0
  181. package/build/schema/schema.d.mts +5 -0
  182. package/build/schema/schema.mjs +5 -0
  183. package/build/schema/types/_refine.d.mts +13 -0
  184. package/build/schema/types/_refine.mjs +18 -0
  185. package/build/schema/types/_standard.d.mts +14 -0
  186. package/build/schema/types/_standard.mjs +19 -0
  187. package/build/schema/types/additionalItems.d.mts +9 -0
  188. package/build/schema/types/additionalItems.mjs +14 -0
  189. package/build/schema/types/additionalProperties.d.mts +9 -0
  190. package/build/schema/types/additionalProperties.mjs +14 -0
  191. package/build/schema/types/allOf.d.mts +9 -0
  192. package/build/schema/types/allOf.mjs +15 -0
  193. package/build/schema/types/anyOf.d.mts +9 -0
  194. package/build/schema/types/anyOf.mjs +15 -0
  195. package/build/schema/types/const.d.mts +9 -0
  196. package/build/schema/types/const.mjs +12 -0
  197. package/build/schema/types/contains.d.mts +9 -0
  198. package/build/schema/types/contains.mjs +14 -0
  199. package/build/schema/types/contentEncoding.d.mts +9 -0
  200. package/build/schema/types/contentEncoding.mjs +13 -0
  201. package/build/schema/types/contentMediaType.d.mts +9 -0
  202. package/build/schema/types/contentMediaType.mjs +13 -0
  203. package/build/schema/types/default.d.mts +9 -0
  204. package/build/schema/types/default.mjs +12 -0
  205. package/build/schema/types/defs.d.mts +6 -0
  206. package/build/schema/types/defs.mjs +12 -0
  207. package/build/schema/types/dependencies.d.mts +11 -0
  208. package/build/schema/types/dependencies.mjs +16 -0
  209. package/build/schema/types/dependentRequired.d.mts +9 -0
  210. package/build/schema/types/dependentRequired.mjs +15 -0
  211. package/build/schema/types/dependentSchemas.d.mts +9 -0
  212. package/build/schema/types/dependentSchemas.mjs +15 -0
  213. package/build/schema/types/else.d.mts +9 -0
  214. package/build/schema/types/else.mjs +14 -0
  215. package/build/schema/types/enum.d.mts +9 -0
  216. package/build/schema/types/enum.mjs +13 -0
  217. package/build/schema/types/exclusiveMaximum.d.mts +9 -0
  218. package/build/schema/types/exclusiveMaximum.mjs +13 -0
  219. package/build/schema/types/exclusiveMinimum.d.mts +9 -0
  220. package/build/schema/types/exclusiveMinimum.mjs +13 -0
  221. package/build/schema/types/format.d.mts +9 -0
  222. package/build/schema/types/format.mjs +13 -0
  223. package/build/schema/types/id.d.mts +9 -0
  224. package/build/schema/types/id.mjs +13 -0
  225. package/build/schema/types/if.d.mts +9 -0
  226. package/build/schema/types/if.mjs +14 -0
  227. package/build/schema/types/index.d.mts +51 -0
  228. package/build/schema/types/index.mjs +57 -0
  229. package/build/schema/types/items.d.mts +19 -0
  230. package/build/schema/types/items.mjs +26 -0
  231. package/build/schema/types/maxContains.d.mts +9 -0
  232. package/build/schema/types/maxContains.mjs +13 -0
  233. package/build/schema/types/maxItems.d.mts +9 -0
  234. package/build/schema/types/maxItems.mjs +13 -0
  235. package/build/schema/types/maxLength.d.mts +9 -0
  236. package/build/schema/types/maxLength.mjs +13 -0
  237. package/build/schema/types/maxProperties.d.mts +9 -0
  238. package/build/schema/types/maxProperties.mjs +13 -0
  239. package/build/schema/types/maximum.d.mts +9 -0
  240. package/build/schema/types/maximum.mjs +13 -0
  241. package/build/schema/types/minContains.d.mts +9 -0
  242. package/build/schema/types/minContains.mjs +13 -0
  243. package/build/schema/types/minItems.d.mts +9 -0
  244. package/build/schema/types/minItems.mjs +13 -0
  245. package/build/schema/types/minLength.d.mts +9 -0
  246. package/build/schema/types/minLength.mjs +13 -0
  247. package/build/schema/types/minProperties.d.mts +9 -0
  248. package/build/schema/types/minProperties.mjs +13 -0
  249. package/build/schema/types/minimum.d.mts +9 -0
  250. package/build/schema/types/minimum.mjs +13 -0
  251. package/build/schema/types/multipleOf.d.mts +9 -0
  252. package/build/schema/types/multipleOf.mjs +13 -0
  253. package/build/schema/types/not.d.mts +9 -0
  254. package/build/schema/types/not.mjs +14 -0
  255. package/build/schema/types/oneOf.d.mts +9 -0
  256. package/build/schema/types/oneOf.mjs +15 -0
  257. package/build/schema/types/pattern.d.mts +9 -0
  258. package/build/schema/types/pattern.mjs +14 -0
  259. package/build/schema/types/patternProperties.d.mts +9 -0
  260. package/build/schema/types/patternProperties.mjs +15 -0
  261. package/build/schema/types/prefixItems.d.mts +8 -0
  262. package/build/schema/types/prefixItems.mjs +14 -0
  263. package/build/schema/types/properties.d.mts +9 -0
  264. package/build/schema/types/properties.mjs +15 -0
  265. package/build/schema/types/propertyNames.d.mts +9 -0
  266. package/build/schema/types/propertyNames.mjs +15 -0
  267. package/build/schema/types/ref.d.mts +9 -0
  268. package/build/schema/types/ref.mjs +13 -0
  269. package/build/schema/types/required.d.mts +9 -0
  270. package/build/schema/types/required.mjs +14 -0
  271. package/build/schema/types/schema.d.mts +9 -0
  272. package/build/schema/types/schema.mjs +14 -0
  273. package/build/schema/types/static.d.mts +115 -0
  274. package/build/schema/types/static.mjs +2 -0
  275. package/build/schema/types/then.d.mts +9 -0
  276. package/build/schema/types/then.mjs +14 -0
  277. package/build/schema/types/type.d.mts +9 -0
  278. package/build/schema/types/type.mjs +15 -0
  279. package/build/schema/types/unevaluatedItems.d.mts +9 -0
  280. package/build/schema/types/unevaluatedItems.mjs +14 -0
  281. package/build/schema/types/unevaluatedProperties.d.mts +9 -0
  282. package/build/schema/types/unevaluatedProperties.mjs +14 -0
  283. package/build/schema/types/uniqueItems.d.mts +9 -0
  284. package/build/schema/types/uniqueItems.mjs +13 -0
  285. package/build/system/arguments/arguments.d.mts +5 -0
  286. package/build/system/arguments/arguments.mjs +9 -0
  287. package/build/system/arguments/index.d.mts +1 -0
  288. package/build/system/arguments/index.mjs +1 -0
  289. package/build/system/environment/can-evaluate.d.mts +2 -0
  290. package/build/system/environment/can-evaluate.mjs +26 -0
  291. package/build/system/environment/environment.d.mts +1 -0
  292. package/build/system/environment/environment.mjs +1 -0
  293. package/build/system/environment/index.d.mts +1 -0
  294. package/build/system/environment/index.mjs +1 -0
  295. package/build/system/hashing/hash.d.mts +4 -0
  296. package/build/system/hashing/hash.mjs +232 -0
  297. package/build/system/hashing/index.d.mts +1 -0
  298. package/build/system/hashing/index.mjs +1 -0
  299. package/build/system/index.d.mts +4 -0
  300. package/build/system/index.mjs +4 -0
  301. package/build/system/locale/_config.d.mts +7 -0
  302. package/build/system/locale/_config.mjs +15 -0
  303. package/build/system/locale/_locale.d.mts +40 -0
  304. package/build/system/locale/_locale.mjs +40 -0
  305. package/build/system/locale/ar_001.d.mts +3 -0
  306. package/build/system/locale/ar_001.mjs +41 -0
  307. package/build/system/locale/bn_BD.d.mts +3 -0
  308. package/build/system/locale/bn_BD.mjs +41 -0
  309. package/build/system/locale/cs_CZ.d.mts +3 -0
  310. package/build/system/locale/cs_CZ.mjs +41 -0
  311. package/build/system/locale/de_DE.d.mts +3 -0
  312. package/build/system/locale/de_DE.mjs +41 -0
  313. package/build/system/locale/el_GR.d.mts +3 -0
  314. package/build/system/locale/el_GR.mjs +41 -0
  315. package/build/system/locale/en_US.d.mts +3 -0
  316. package/build/system/locale/en_US.mjs +40 -0
  317. package/build/system/locale/es_419.d.mts +3 -0
  318. package/build/system/locale/es_419.mjs +41 -0
  319. package/build/system/locale/es_AR.d.mts +3 -0
  320. package/build/system/locale/es_AR.mjs +41 -0
  321. package/build/system/locale/es_ES.d.mts +3 -0
  322. package/build/system/locale/es_ES.mjs +41 -0
  323. package/build/system/locale/es_MX.d.mts +3 -0
  324. package/build/system/locale/es_MX.mjs +41 -0
  325. package/build/system/locale/fa_IR.d.mts +3 -0
  326. package/build/system/locale/fa_IR.mjs +41 -0
  327. package/build/system/locale/fil_PH.d.mts +3 -0
  328. package/build/system/locale/fil_PH.mjs +41 -0
  329. package/build/system/locale/fr_CA.d.mts +3 -0
  330. package/build/system/locale/fr_CA.mjs +41 -0
  331. package/build/system/locale/fr_FR.d.mts +3 -0
  332. package/build/system/locale/fr_FR.mjs +41 -0
  333. package/build/system/locale/ha_NG.d.mts +3 -0
  334. package/build/system/locale/ha_NG.mjs +41 -0
  335. package/build/system/locale/hi_IN.d.mts +3 -0
  336. package/build/system/locale/hi_IN.mjs +41 -0
  337. package/build/system/locale/hu_HU.d.mts +3 -0
  338. package/build/system/locale/hu_HU.mjs +41 -0
  339. package/build/system/locale/id_ID.d.mts +3 -0
  340. package/build/system/locale/id_ID.mjs +41 -0
  341. package/build/system/locale/index.d.mts +1 -0
  342. package/build/system/locale/index.mjs +1 -0
  343. package/build/system/locale/it_IT.d.mts +3 -0
  344. package/build/system/locale/it_IT.mjs +41 -0
  345. package/build/system/locale/ja_JP.d.mts +3 -0
  346. package/build/system/locale/ja_JP.mjs +41 -0
  347. package/build/system/locale/ko_KR.d.mts +3 -0
  348. package/build/system/locale/ko_KR.mjs +41 -0
  349. package/build/system/locale/ms_MY.d.mts +3 -0
  350. package/build/system/locale/ms_MY.mjs +41 -0
  351. package/build/system/locale/nl_NL.d.mts +3 -0
  352. package/build/system/locale/nl_NL.mjs +41 -0
  353. package/build/system/locale/pl_PL.d.mts +3 -0
  354. package/build/system/locale/pl_PL.mjs +41 -0
  355. package/build/system/locale/pt_BR.d.mts +3 -0
  356. package/build/system/locale/pt_BR.mjs +41 -0
  357. package/build/system/locale/pt_PT.d.mts +3 -0
  358. package/build/system/locale/pt_PT.mjs +41 -0
  359. package/build/system/locale/ro_RO.d.mts +3 -0
  360. package/build/system/locale/ro_RO.mjs +41 -0
  361. package/build/system/locale/ru_RU.d.mts +3 -0
  362. package/build/system/locale/ru_RU.mjs +41 -0
  363. package/build/system/locale/sv_SE.d.mts +3 -0
  364. package/build/system/locale/sv_SE.mjs +41 -0
  365. package/build/system/locale/sw_TZ.d.mts +3 -0
  366. package/build/system/locale/sw_TZ.mjs +41 -0
  367. package/build/system/locale/th_TH.d.mts +3 -0
  368. package/build/system/locale/th_TH.mjs +41 -0
  369. package/build/system/locale/tr_TR.d.mts +3 -0
  370. package/build/system/locale/tr_TR.mjs +41 -0
  371. package/build/system/locale/uk_UA.d.mts +3 -0
  372. package/build/system/locale/uk_UA.mjs +41 -0
  373. package/build/system/locale/ur_PK.d.mts +3 -0
  374. package/build/system/locale/ur_PK.mjs +41 -0
  375. package/build/system/locale/vi_VN.d.mts +3 -0
  376. package/build/system/locale/vi_VN.mjs +41 -0
  377. package/build/system/locale/yo_NG.d.mts +3 -0
  378. package/build/system/locale/yo_NG.mjs +41 -0
  379. package/build/system/locale/zh_Hans.d.mts +3 -0
  380. package/build/system/locale/zh_Hans.mjs +41 -0
  381. package/build/system/locale/zh_Hant.d.mts +3 -0
  382. package/build/system/locale/zh_Hant.mjs +41 -0
  383. package/build/system/memory/assign.d.mts +14 -0
  384. package/build/system/memory/assign.mjs +10 -0
  385. package/build/system/memory/clone.d.mts +6 -0
  386. package/build/system/memory/clone.mjs +63 -0
  387. package/build/system/memory/create.d.mts +8 -0
  388. package/build/system/memory/create.mjs +23 -0
  389. package/build/system/memory/discard.d.mts +4 -0
  390. package/build/system/memory/discard.mjs +16 -0
  391. package/build/system/memory/index.d.mts +1 -0
  392. package/build/system/memory/index.mjs +1 -0
  393. package/build/system/memory/memory.d.mts +6 -0
  394. package/build/system/memory/memory.mjs +7 -0
  395. package/build/system/memory/metrics.d.mts +14 -0
  396. package/build/system/memory/metrics.mjs +8 -0
  397. package/build/system/memory/update.d.mts +7 -0
  398. package/build/system/memory/update.mjs +32 -0
  399. package/build/system/settings/index.d.mts +1 -0
  400. package/build/system/settings/index.mjs +1 -0
  401. package/build/system/settings/settings.d.mts +37 -0
  402. package/build/system/settings/settings.mjs +28 -0
  403. package/build/system/system.d.mts +6 -0
  404. package/build/system/system.mjs +6 -0
  405. package/build/system/unreachable/index.d.mts +1 -0
  406. package/build/system/unreachable/index.mjs +1 -0
  407. package/build/system/unreachable/unreachable.d.mts +3 -0
  408. package/build/system/unreachable/unreachable.mjs +6 -0
  409. package/build/type/action/_optional.d.mts +19 -0
  410. package/build/type/action/_optional.mjs +40 -0
  411. package/build/type/action/_readonly.d.mts +19 -0
  412. package/build/type/action/_readonly.mjs +40 -0
  413. package/build/type/action/awaited.d.mts +11 -0
  414. package/build/type/action/awaited.mjs +11 -0
  415. package/build/type/action/capitalize.d.mts +11 -0
  416. package/build/type/action/capitalize.mjs +11 -0
  417. package/build/type/action/conditional.d.mts +11 -0
  418. package/build/type/action/conditional.mjs +11 -0
  419. package/build/type/action/constructor-parameters.d.mts +11 -0
  420. package/build/type/action/constructor-parameters.mjs +11 -0
  421. package/build/type/action/evaluate.d.mts +11 -0
  422. package/build/type/action/evaluate.mjs +11 -0
  423. package/build/type/action/exclude.d.mts +11 -0
  424. package/build/type/action/exclude.mjs +11 -0
  425. package/build/type/action/extract.d.mts +11 -0
  426. package/build/type/action/extract.mjs +11 -0
  427. package/build/type/action/index.d.mts +26 -0
  428. package/build/type/action/index.mjs +26 -0
  429. package/build/type/action/indexed.d.mts +14 -0
  430. package/build/type/action/indexed.mjs +14 -0
  431. package/build/type/action/instance-type.d.mts +11 -0
  432. package/build/type/action/instance-type.mjs +11 -0
  433. package/build/type/action/interface.d.mts +14 -0
  434. package/build/type/action/interface.mjs +19 -0
  435. package/build/type/action/keyof.d.mts +11 -0
  436. package/build/type/action/keyof.mjs +11 -0
  437. package/build/type/action/lowercase.d.mts +11 -0
  438. package/build/type/action/lowercase.mjs +11 -0
  439. package/build/type/action/mapped.d.mts +12 -0
  440. package/build/type/action/mapped.mjs +11 -0
  441. package/build/type/action/module.d.mts +12 -0
  442. package/build/type/action/module.mjs +11 -0
  443. package/build/type/action/non-nullable.d.mts +11 -0
  444. package/build/type/action/non-nullable.mjs +11 -0
  445. package/build/type/action/omit.d.mts +14 -0
  446. package/build/type/action/omit.mjs +14 -0
  447. package/build/type/action/options.d.mts +12 -0
  448. package/build/type/action/options.mjs +11 -0
  449. package/build/type/action/parameters.d.mts +11 -0
  450. package/build/type/action/parameters.mjs +11 -0
  451. package/build/type/action/partial.d.mts +11 -0
  452. package/build/type/action/partial.mjs +11 -0
  453. package/build/type/action/pick.d.mts +14 -0
  454. package/build/type/action/pick.mjs +14 -0
  455. package/build/type/action/required.d.mts +11 -0
  456. package/build/type/action/required.mjs +11 -0
  457. package/build/type/action/return-type.d.mts +11 -0
  458. package/build/type/action/return-type.mjs +11 -0
  459. package/build/type/action/uncapitalize.d.mts +11 -0
  460. package/build/type/action/uncapitalize.mjs +11 -0
  461. package/build/type/action/uppercase.d.mts +11 -0
  462. package/build/type/action/uppercase.mjs +11 -0
  463. package/build/type/engine/awaited/index.d.mts +1 -0
  464. package/build/type/engine/awaited/index.mjs +1 -0
  465. package/build/type/engine/awaited/instantiate.d.mts +10 -0
  466. package/build/type/engine/awaited/instantiate.mjs +19 -0
  467. package/build/type/engine/call/instantiate.d.mts +20 -0
  468. package/build/type/engine/call/instantiate.mjs +38 -0
  469. package/build/type/engine/call/resolve-arguments.d.mts +13 -0
  470. package/build/type/engine/call/resolve-arguments.mjs +39 -0
  471. package/build/type/engine/call/resolve-target.d.mts +25 -0
  472. package/build/type/engine/call/resolve-target.mjs +27 -0
  473. package/build/type/engine/conditional/index.d.mts +1 -0
  474. package/build/type/engine/conditional/index.mjs +1 -0
  475. package/build/type/engine/conditional/instantiate.d.mts +10 -0
  476. package/build/type/engine/conditional/instantiate.mjs +19 -0
  477. package/build/type/engine/constructor-parameters/index.d.mts +1 -0
  478. package/build/type/engine/constructor-parameters/index.mjs +1 -0
  479. package/build/type/engine/constructor-parameters/instantiate.d.mts +14 -0
  480. package/build/type/engine/constructor-parameters/instantiate.mjs +21 -0
  481. package/build/type/engine/cyclic/candidates.d.mts +9 -0
  482. package/build/type/engine/cyclic/candidates.mjs +19 -0
  483. package/build/type/engine/cyclic/check.d.mts +24 -0
  484. package/build/type/engine/cyclic/check.mjs +54 -0
  485. package/build/type/engine/cyclic/dependencies.d.mts +25 -0
  486. package/build/type/engine/cyclic/dependencies.mjs +53 -0
  487. package/build/type/engine/cyclic/extends.d.mts +31 -0
  488. package/build/type/engine/cyclic/extends.mjs +53 -0
  489. package/build/type/engine/cyclic/index.d.mts +6 -0
  490. package/build/type/engine/cyclic/index.mjs +6 -0
  491. package/build/type/engine/cyclic/instantiate.d.mts +20 -0
  492. package/build/type/engine/cyclic/instantiate.mjs +29 -0
  493. package/build/type/engine/cyclic/target.d.mts +10 -0
  494. package/build/type/engine/cyclic/target.mjs +16 -0
  495. package/build/type/engine/enum/enum-to-union.d.mts +14 -0
  496. package/build/type/engine/enum/enum-to-union.mjs +24 -0
  497. package/build/type/engine/enum/index.d.mts +2 -0
  498. package/build/type/engine/enum/index.mjs +2 -0
  499. package/build/type/engine/enum/typescript-enum-to-enum-values.d.mts +7 -0
  500. package/build/type/engine/enum/typescript-enum-to-enum-values.mjs +6 -0
  501. package/build/type/engine/evaluate/broaden.d.mts +16 -0
  502. package/build/type/engine/evaluate/broaden.mjs +48 -0
  503. package/build/type/engine/evaluate/compare.d.mts +15 -0
  504. package/build/type/engine/evaluate/compare.mjs +21 -0
  505. package/build/type/engine/evaluate/composite.d.mts +30 -0
  506. package/build/type/engine/evaluate/composite.mjs +63 -0
  507. package/build/type/engine/evaluate/distribute.d.mts +26 -0
  508. package/build/type/engine/evaluate/distribute.mjs +53 -0
  509. package/build/type/engine/evaluate/evaluate.d.mts +11 -0
  510. package/build/type/engine/evaluate/evaluate.mjs +19 -0
  511. package/build/type/engine/evaluate/flatten.d.mts +6 -0
  512. package/build/type/engine/evaluate/flatten.mjs +11 -0
  513. package/build/type/engine/evaluate/index.d.mts +8 -0
  514. package/build/type/engine/evaluate/index.mjs +8 -0
  515. package/build/type/engine/evaluate/instantiate.d.mts +8 -0
  516. package/build/type/engine/evaluate/instantiate.mjs +17 -0
  517. package/build/type/engine/evaluate/narrow.d.mts +5 -0
  518. package/build/type/engine/evaluate/narrow.mjs +11 -0
  519. package/build/type/engine/exclude/index.d.mts +1 -0
  520. package/build/type/engine/exclude/index.mjs +1 -0
  521. package/build/type/engine/exclude/instantiate.d.mts +16 -0
  522. package/build/type/engine/exclude/instantiate.mjs +36 -0
  523. package/build/type/engine/extract/index.d.mts +1 -0
  524. package/build/type/engine/extract/index.mjs +1 -0
  525. package/build/type/engine/extract/instantiate.d.mts +16 -0
  526. package/build/type/engine/extract/instantiate.mjs +36 -0
  527. package/build/type/engine/helpers/index.d.mts +3 -0
  528. package/build/type/engine/helpers/index.mjs +3 -0
  529. package/build/type/engine/helpers/keys-to-indexer.d.mts +7 -0
  530. package/build/type/engine/helpers/keys-to-indexer.mjs +15 -0
  531. package/build/type/engine/helpers/keys.d.mts +3 -0
  532. package/build/type/engine/helpers/keys.mjs +8 -0
  533. package/build/type/engine/helpers/union.d.mts +7 -0
  534. package/build/type/engine/helpers/union.mjs +2 -0
  535. package/build/type/engine/index.d.mts +30 -0
  536. package/build/type/engine/index.mjs +36 -0
  537. package/build/type/engine/indexable/from-cyclic.d.mts +6 -0
  538. package/build/type/engine/indexable/from-cyclic.mjs +8 -0
  539. package/build/type/engine/indexable/from-enum.d.mts +6 -0
  540. package/build/type/engine/indexable/from-enum.mjs +8 -0
  541. package/build/type/engine/indexable/from-intersect.d.mts +5 -0
  542. package/build/type/engine/indexable/from-intersect.mjs +8 -0
  543. package/build/type/engine/indexable/from-literal.d.mts +3 -0
  544. package/build/type/engine/indexable/from-literal.mjs +5 -0
  545. package/build/type/engine/indexable/from-template-literal.d.mts +5 -0
  546. package/build/type/engine/indexable/from-template-literal.mjs +8 -0
  547. package/build/type/engine/indexable/from-type.d.mts +17 -0
  548. package/build/type/engine/indexable/from-type.mjs +22 -0
  549. package/build/type/engine/indexable/from-union.d.mts +4 -0
  550. package/build/type/engine/indexable/from-union.mjs +7 -0
  551. package/build/type/engine/indexable/to-indexable-keys.d.mts +10 -0
  552. package/build/type/engine/indexable/to-indexable-keys.mjs +12 -0
  553. package/build/type/engine/indexable/to-indexable.d.mts +9 -0
  554. package/build/type/engine/indexable/to-indexable.mjs +14 -0
  555. package/build/type/engine/indexed/array-indexer.d.mts +12 -0
  556. package/build/type/engine/indexed/array-indexer.mjs +18 -0
  557. package/build/type/engine/indexed/from-array.d.mts +15 -0
  558. package/build/type/engine/indexed/from-array.mjs +26 -0
  559. package/build/type/engine/indexed/from-object.d.mts +9 -0
  560. package/build/type/engine/indexed/from-object.mjs +18 -0
  561. package/build/type/engine/indexed/from-tuple.d.mts +13 -0
  562. package/build/type/engine/indexed/from-tuple.mjs +28 -0
  563. package/build/type/engine/indexed/index.d.mts +1 -0
  564. package/build/type/engine/indexed/index.mjs +1 -0
  565. package/build/type/engine/indexed/instantiate.d.mts +21 -0
  566. package/build/type/engine/indexed/instantiate.mjs +37 -0
  567. package/build/type/engine/instance-type/index.d.mts +1 -0
  568. package/build/type/engine/instance-type/index.mjs +1 -0
  569. package/build/type/engine/instance-type/instantiate.d.mts +12 -0
  570. package/build/type/engine/instance-type/instantiate.mjs +20 -0
  571. package/build/type/engine/instantiate.d.mts +162 -0
  572. package/build/type/engine/instantiate.mjs +165 -0
  573. package/build/type/engine/interface/index.d.mts +1 -0
  574. package/build/type/engine/interface/index.mjs +1 -0
  575. package/build/type/engine/interface/instantiate.d.mts +16 -0
  576. package/build/type/engine/interface/instantiate.mjs +19 -0
  577. package/build/type/engine/intrinsics/from-literal.d.mts +5 -0
  578. package/build/type/engine/intrinsics/from-literal.mjs +9 -0
  579. package/build/type/engine/intrinsics/from-template-literal.d.mts +6 -0
  580. package/build/type/engine/intrinsics/from-template-literal.mjs +8 -0
  581. package/build/type/engine/intrinsics/from-type.d.mts +10 -0
  582. package/build/type/engine/intrinsics/from-type.mjs +13 -0
  583. package/build/type/engine/intrinsics/from-union.d.mts +6 -0
  584. package/build/type/engine/intrinsics/from-union.mjs +7 -0
  585. package/build/type/engine/intrinsics/index.d.mts +1 -0
  586. package/build/type/engine/intrinsics/index.mjs +1 -0
  587. package/build/type/engine/intrinsics/instantiate.d.mts +34 -0
  588. package/build/type/engine/intrinsics/instantiate.mjs +48 -0
  589. package/build/type/engine/intrinsics/mapping.d.mts +9 -0
  590. package/build/type/engine/intrinsics/mapping.mjs +4 -0
  591. package/build/type/engine/keyof/from-array.d.mts +4 -0
  592. package/build/type/engine/keyof/from-array.mjs +5 -0
  593. package/build/type/engine/keyof/from-object.d.mts +10 -0
  594. package/build/type/engine/keyof/from-object.mjs +20 -0
  595. package/build/type/engine/keyof/from-record.d.mts +4 -0
  596. package/build/type/engine/keyof/from-record.mjs +5 -0
  597. package/build/type/engine/keyof/from-tuple.d.mts +5 -0
  598. package/build/type/engine/keyof/from-tuple.mjs +7 -0
  599. package/build/type/engine/keyof/index.d.mts +1 -0
  600. package/build/type/engine/keyof/index.mjs +1 -0
  601. package/build/type/engine/keyof/instantiate.d.mts +25 -0
  602. package/build/type/engine/keyof/instantiate.mjs +42 -0
  603. package/build/type/engine/mapped/index.d.mts +1 -0
  604. package/build/type/engine/mapped/index.mjs +1 -0
  605. package/build/type/engine/mapped/instantiate.d.mts +28 -0
  606. package/build/type/engine/mapped/instantiate.mjs +47 -0
  607. package/build/type/engine/mapped/mapped-keys.d.mts +14 -0
  608. package/build/type/engine/mapped/mapped-keys.mjs +29 -0
  609. package/build/type/engine/module/index.d.mts +1 -0
  610. package/build/type/engine/module/index.mjs +1 -0
  611. package/build/type/engine/module/instantiate.d.mts +21 -0
  612. package/build/type/engine/module/instantiate.mjs +33 -0
  613. package/build/type/engine/non-nullable/index.d.mts +1 -0
  614. package/build/type/engine/non-nullable/index.mjs +1 -0
  615. package/build/type/engine/non-nullable/instantiate.d.mts +15 -0
  616. package/build/type/engine/non-nullable/instantiate.mjs +21 -0
  617. package/build/type/engine/object/collapse.d.mts +12 -0
  618. package/build/type/engine/object/collapse.mjs +14 -0
  619. package/build/type/engine/object/from-cyclic.d.mts +6 -0
  620. package/build/type/engine/object/from-cyclic.mjs +8 -0
  621. package/build/type/engine/object/from-intersect.d.mts +14 -0
  622. package/build/type/engine/object/from-intersect.mjs +17 -0
  623. package/build/type/engine/object/from-object.d.mts +3 -0
  624. package/build/type/engine/object/from-object.mjs +4 -0
  625. package/build/type/engine/object/from-tuple.d.mts +6 -0
  626. package/build/type/engine/object/from-tuple.mjs +9 -0
  627. package/build/type/engine/object/from-type.d.mts +14 -0
  628. package/build/type/engine/object/from-type.mjs +19 -0
  629. package/build/type/engine/object/from-union.d.mts +12 -0
  630. package/build/type/engine/object/from-union.mjs +26 -0
  631. package/build/type/engine/object/index.d.mts +1 -0
  632. package/build/type/engine/object/index.mjs +1 -0
  633. package/build/type/engine/omit/index.d.mts +1 -0
  634. package/build/type/engine/omit/index.mjs +1 -0
  635. package/build/type/engine/omit/instantiate.d.mts +16 -0
  636. package/build/type/engine/omit/instantiate.mjs +31 -0
  637. package/build/type/engine/options/index.d.mts +1 -0
  638. package/build/type/engine/options/index.mjs +1 -0
  639. package/build/type/engine/options/instantiate.d.mts +8 -0
  640. package/build/type/engine/options/instantiate.mjs +13 -0
  641. package/build/type/engine/parameters/index.d.mts +1 -0
  642. package/build/type/engine/parameters/index.mjs +1 -0
  643. package/build/type/engine/parameters/instantiate.d.mts +14 -0
  644. package/build/type/engine/parameters/instantiate.mjs +21 -0
  645. package/build/type/engine/partial/from-cyclic.d.mts +10 -0
  646. package/build/type/engine/partial/from-cyclic.mjs +11 -0
  647. package/build/type/engine/partial/from-intersect.d.mts +5 -0
  648. package/build/type/engine/partial/from-intersect.mjs +7 -0
  649. package/build/type/engine/partial/from-object.d.mts +8 -0
  650. package/build/type/engine/partial/from-object.mjs +11 -0
  651. package/build/type/engine/partial/from-type.d.mts +12 -0
  652. package/build/type/engine/partial/from-type.mjs +16 -0
  653. package/build/type/engine/partial/from-union.d.mts +5 -0
  654. package/build/type/engine/partial/from-union.mjs +7 -0
  655. package/build/type/engine/partial/index.d.mts +1 -0
  656. package/build/type/engine/partial/index.mjs +1 -0
  657. package/build/type/engine/partial/instantiate.d.mts +9 -0
  658. package/build/type/engine/partial/instantiate.mjs +14 -0
  659. package/build/type/engine/patterns/index.d.mts +2 -0
  660. package/build/type/engine/patterns/index.mjs +2 -0
  661. package/build/type/engine/patterns/pattern.d.mts +7 -0
  662. package/build/type/engine/patterns/pattern.mjs +13 -0
  663. package/build/type/engine/patterns/template.d.mts +7 -0
  664. package/build/type/engine/patterns/template.mjs +20 -0
  665. package/build/type/engine/pick/index.d.mts +1 -0
  666. package/build/type/engine/pick/index.mjs +1 -0
  667. package/build/type/engine/pick/instantiate.d.mts +17 -0
  668. package/build/type/engine/pick/instantiate.mjs +31 -0
  669. package/build/type/engine/record/from-key-any.d.mts +4 -0
  670. package/build/type/engine/record/from-key-any.mjs +6 -0
  671. package/build/type/engine/record/from-key-boolean.d.mts +7 -0
  672. package/build/type/engine/record/from-key-boolean.mjs +5 -0
  673. package/build/type/engine/record/from-key-enum.d.mts +6 -0
  674. package/build/type/engine/record/from-key-enum.mjs +8 -0
  675. package/build/type/engine/record/from-key-integer.d.mts +5 -0
  676. package/build/type/engine/record/from-key-integer.mjs +7 -0
  677. package/build/type/engine/record/from-key-intersect.d.mts +5 -0
  678. package/build/type/engine/record/from-key-intersect.mjs +8 -0
  679. package/build/type/engine/record/from-key-literal.d.mts +11 -0
  680. package/build/type/engine/record/from-key-literal.mjs +10 -0
  681. package/build/type/engine/record/from-key-number.d.mts +5 -0
  682. package/build/type/engine/record/from-key-number.mjs +7 -0
  683. package/build/type/engine/record/from-key-string.d.mts +5 -0
  684. package/build/type/engine/record/from-key-string.mjs +12 -0
  685. package/build/type/engine/record/from-key-template-literal.d.mts +8 -0
  686. package/build/type/engine/record/from-key-template-literal.mjs +12 -0
  687. package/build/type/engine/record/from-key-union.d.mts +20 -0
  688. package/build/type/engine/record/from-key-union.mjs +39 -0
  689. package/build/type/engine/record/from-key.d.mts +24 -0
  690. package/build/type/engine/record/from-key.mjs +40 -0
  691. package/build/type/engine/record/index.d.mts +1 -0
  692. package/build/type/engine/record/index.mjs +1 -0
  693. package/build/type/engine/record/instantiate.d.mts +9 -0
  694. package/build/type/engine/record/instantiate.mjs +16 -0
  695. package/build/type/engine/record/record-create.d.mts +3 -0
  696. package/build/type/engine/record/record-create.mjs +7 -0
  697. package/build/type/engine/ref/index.d.mts +1 -0
  698. package/build/type/engine/ref/index.mjs +1 -0
  699. package/build/type/engine/ref/instantiate.d.mts +6 -0
  700. package/build/type/engine/ref/instantiate.mjs +11 -0
  701. package/build/type/engine/required/from-cyclic.d.mts +10 -0
  702. package/build/type/engine/required/from-cyclic.mjs +11 -0
  703. package/build/type/engine/required/from-intersect.d.mts +5 -0
  704. package/build/type/engine/required/from-intersect.mjs +7 -0
  705. package/build/type/engine/required/from-object.d.mts +8 -0
  706. package/build/type/engine/required/from-object.mjs +11 -0
  707. package/build/type/engine/required/from-type.d.mts +12 -0
  708. package/build/type/engine/required/from-type.mjs +16 -0
  709. package/build/type/engine/required/from-union.d.mts +5 -0
  710. package/build/type/engine/required/from-union.mjs +7 -0
  711. package/build/type/engine/required/index.d.mts +1 -0
  712. package/build/type/engine/required/index.mjs +1 -0
  713. package/build/type/engine/required/instantiate.d.mts +9 -0
  714. package/build/type/engine/required/instantiate.mjs +14 -0
  715. package/build/type/engine/rest/index.d.mts +1 -0
  716. package/build/type/engine/rest/index.mjs +1 -0
  717. package/build/type/engine/rest/spread.d.mts +12 -0
  718. package/build/type/engine/rest/spread.mjs +19 -0
  719. package/build/type/engine/return-type/index.d.mts +1 -0
  720. package/build/type/engine/return-type/index.mjs +1 -0
  721. package/build/type/engine/return-type/instantiate.d.mts +11 -0
  722. package/build/type/engine/return-type/instantiate.mjs +18 -0
  723. package/build/type/engine/template-literal/create.d.mts +1 -0
  724. package/build/type/engine/template-literal/create.mjs +5 -0
  725. package/build/type/engine/template-literal/decode.d.mts +20 -0
  726. package/build/type/engine/template-literal/decode.mjs +73 -0
  727. package/build/type/engine/template-literal/encode.d.mts +31 -0
  728. package/build/type/engine/template-literal/encode.mjs +80 -0
  729. package/build/type/engine/template-literal/finite.d.mts +12 -0
  730. package/build/type/engine/template-literal/finite.mjs +30 -0
  731. package/build/type/engine/template-literal/index.d.mts +5 -0
  732. package/build/type/engine/template-literal/index.mjs +5 -0
  733. package/build/type/engine/template-literal/instantiate.d.mts +9 -0
  734. package/build/type/engine/template-literal/instantiate.mjs +14 -0
  735. package/build/type/engine/template-literal/static.d.mts +18 -0
  736. package/build/type/engine/template-literal/static.mjs +2 -0
  737. package/build/type/engine/tuple/to-object.d.mts +12 -0
  738. package/build/type/engine/tuple/to-object.mjs +13 -0
  739. package/build/type/extends/any.d.mts +9 -0
  740. package/build/type/extends/any.mjs +12 -0
  741. package/build/type/extends/array.d.mts +7 -0
  742. package/build/type/extends/array.mjs +9 -0
  743. package/build/type/extends/async-iterator.d.mts +7 -0
  744. package/build/type/extends/async-iterator.mjs +9 -0
  745. package/build/type/extends/bigint.d.mts +7 -0
  746. package/build/type/extends/bigint.mjs +9 -0
  747. package/build/type/extends/boolean.d.mts +7 -0
  748. package/build/type/extends/boolean.mjs +9 -0
  749. package/build/type/extends/constructor.d.mts +8 -0
  750. package/build/type/extends/constructor.mjs +16 -0
  751. package/build/type/extends/enum.d.mts +7 -0
  752. package/build/type/extends/enum.mjs +6 -0
  753. package/build/type/extends/extends-left.d.mts +55 -0
  754. package/build/type/extends/extends-left.mjs +83 -0
  755. package/build/type/extends/extends-right.d.mts +25 -0
  756. package/build/type/extends/extends-right.mjs +59 -0
  757. package/build/type/extends/extends.d.mts +11 -0
  758. package/build/type/extends/extends.mjs +15 -0
  759. package/build/type/extends/function.d.mts +8 -0
  760. package/build/type/extends/function.mjs +16 -0
  761. package/build/type/extends/index.d.mts +2 -0
  762. package/build/type/extends/index.mjs +2 -0
  763. package/build/type/extends/inference.d.mts +34 -0
  764. package/build/type/extends/inference.mjs +72 -0
  765. package/build/type/extends/integer.d.mts +8 -0
  766. package/build/type/extends/integer.mjs +10 -0
  767. package/build/type/extends/intersect.d.mts +6 -0
  768. package/build/type/extends/intersect.mjs +15 -0
  769. package/build/type/extends/iterator.d.mts +7 -0
  770. package/build/type/extends/iterator.mjs +9 -0
  771. package/build/type/extends/literal.d.mts +17 -0
  772. package/build/type/extends/literal.mjs +41 -0
  773. package/build/type/extends/never.d.mts +8 -0
  774. package/build/type/extends/never.mjs +9 -0
  775. package/build/type/extends/null.d.mts +7 -0
  776. package/build/type/extends/null.mjs +9 -0
  777. package/build/type/extends/number.d.mts +7 -0
  778. package/build/type/extends/number.mjs +9 -0
  779. package/build/type/extends/object.d.mts +25 -0
  780. package/build/type/extends/object.mjs +89 -0
  781. package/build/type/extends/parameters.d.mts +15 -0
  782. package/build/type/extends/parameters.mjs +37 -0
  783. package/build/type/extends/promise.d.mts +7 -0
  784. package/build/type/extends/promise.mjs +9 -0
  785. package/build/type/extends/result.d.mts +21 -0
  786. package/build/type/extends/result.mjs +33 -0
  787. package/build/type/extends/return-type.d.mts +7 -0
  788. package/build/type/extends/return-type.mjs +9 -0
  789. package/build/type/extends/string.d.mts +7 -0
  790. package/build/type/extends/string.mjs +9 -0
  791. package/build/type/extends/symbol.d.mts +7 -0
  792. package/build/type/extends/symbol.mjs +9 -0
  793. package/build/type/extends/template-literal.d.mts +6 -0
  794. package/build/type/extends/template-literal.mjs +7 -0
  795. package/build/type/extends/tuple.d.mts +25 -0
  796. package/build/type/extends/tuple.mjs +82 -0
  797. package/build/type/extends/undefined.d.mts +8 -0
  798. package/build/type/extends/undefined.mjs +10 -0
  799. package/build/type/extends/union.d.mts +11 -0
  800. package/build/type/extends/union.mjs +36 -0
  801. package/build/type/extends/unknown.d.mts +9 -0
  802. package/build/type/extends/unknown.mjs +12 -0
  803. package/build/type/extends/void.d.mts +7 -0
  804. package/build/type/extends/void.mjs +9 -0
  805. package/build/type/index.d.mts +5 -0
  806. package/build/type/index.mjs +5 -0
  807. package/build/type/script/index.d.mts +1 -0
  808. package/build/type/script/index.mjs +1 -0
  809. package/build/type/script/mapping.d.mts +358 -0
  810. package/build/type/script/mapping.mjs +525 -0
  811. package/build/type/script/parser.d.mts +256 -0
  812. package/build/type/script/parser.mjs +132 -0
  813. package/build/type/script/script.d.mts +17 -0
  814. package/build/type/script/script.mjs +21 -0
  815. package/build/type/script/token/bigint.d.mts +8 -0
  816. package/build/type/script/token/bigint.mjs +20 -0
  817. package/build/type/script/token/const.d.mts +11 -0
  818. package/build/type/script/token/const.mjs +18 -0
  819. package/build/type/script/token/ident.d.mts +16 -0
  820. package/build/type/script/token/ident.mjs +35 -0
  821. package/build/type/script/token/index.d.mts +9 -0
  822. package/build/type/script/token/index.mjs +9 -0
  823. package/build/type/script/token/integer.d.mts +19 -0
  824. package/build/type/script/token/integer.mjs +45 -0
  825. package/build/type/script/token/internal/char.d.mts +73 -0
  826. package/build/type/script/token/internal/char.mjs +25 -0
  827. package/build/type/script/token/internal/guard.d.mts +1 -0
  828. package/build/type/script/token/internal/guard.mjs +15 -0
  829. package/build/type/script/token/internal/many.d.mts +7 -0
  830. package/build/type/script/token/internal/many.mjs +17 -0
  831. package/build/type/script/token/internal/optional.d.mts +5 -0
  832. package/build/type/script/token/internal/optional.mjs +12 -0
  833. package/build/type/script/token/internal/result.d.mts +2 -0
  834. package/build/type/script/token/internal/result.mjs +7 -0
  835. package/build/type/script/token/internal/take.d.mts +6 -0
  836. package/build/type/script/token/internal/take.mjs +19 -0
  837. package/build/type/script/token/internal/trim.d.mts +19 -0
  838. package/build/type/script/token/internal/trim.mjs +34 -0
  839. package/build/type/script/token/number.d.mts +20 -0
  840. package/build/type/script/token/number.mjs +65 -0
  841. package/build/type/script/token/span.d.mts +10 -0
  842. package/build/type/script/token/span.mjs +35 -0
  843. package/build/type/script/token/string.d.mts +11 -0
  844. package/build/type/script/token/string.mjs +24 -0
  845. package/build/type/script/token/until.d.mts +6 -0
  846. package/build/type/script/token/until.mjs +21 -0
  847. package/build/type/script/token/until_1.d.mts +5 -0
  848. package/build/type/script/token/until_1.mjs +16 -0
  849. package/build/type/types/_codec.d.mts +30 -0
  850. package/build/type/types/_codec.mjs +59 -0
  851. package/build/type/types/_optional.d.mts +16 -0
  852. package/build/type/types/_optional.mjs +27 -0
  853. package/build/type/types/_readonly.d.mts +16 -0
  854. package/build/type/types/_readonly.mjs +26 -0
  855. package/build/type/types/_refine.d.mts +19 -0
  856. package/build/type/types/_refine.mjs +20 -0
  857. package/build/type/types/any.d.mts +10 -0
  858. package/build/type/types/any.mjs +18 -0
  859. package/build/type/types/array.d.mts +16 -0
  860. package/build/type/types/array.mjs +24 -0
  861. package/build/type/types/async-iterator.d.mts +16 -0
  862. package/build/type/types/async-iterator.mjs +24 -0
  863. package/build/type/types/base.d.mts +40 -0
  864. package/build/type/types/base.mjs +78 -0
  865. package/build/type/types/bigint.d.mts +12 -0
  866. package/build/type/types/bigint.mjs +21 -0
  867. package/build/type/types/boolean.d.mts +11 -0
  868. package/build/type/types/boolean.mjs +17 -0
  869. package/build/type/types/call.d.mts +16 -0
  870. package/build/type/types/call.mjs +21 -0
  871. package/build/type/types/constructor.d.mts +18 -0
  872. package/build/type/types/constructor.mjs +24 -0
  873. package/build/type/types/cyclic.d.mts +16 -0
  874. package/build/type/types/cyclic.mjs +29 -0
  875. package/build/type/types/deferred.d.mts +12 -0
  876. package/build/type/types/deferred.mjs +16 -0
  877. package/build/type/types/enum.d.mts +15 -0
  878. package/build/type/types/enum.mjs +17 -0
  879. package/build/type/types/function.d.mts +18 -0
  880. package/build/type/types/function.mjs +24 -0
  881. package/build/type/types/generic.d.mts +13 -0
  882. package/build/type/types/generic.mjs +17 -0
  883. package/build/type/types/identifier.d.mts +11 -0
  884. package/build/type/types/identifier.mjs +17 -0
  885. package/build/type/types/index.d.mts +47 -0
  886. package/build/type/types/index.mjs +53 -0
  887. package/build/type/types/infer.d.mts +15 -0
  888. package/build/type/types/infer.mjs +20 -0
  889. package/build/type/types/integer.d.mts +12 -0
  890. package/build/type/types/integer.mjs +21 -0
  891. package/build/type/types/intersect.d.mts +15 -0
  892. package/build/type/types/intersect.mjs +24 -0
  893. package/build/type/types/iterator.d.mts +16 -0
  894. package/build/type/types/iterator.mjs +24 -0
  895. package/build/type/types/literal.d.mts +22 -0
  896. package/build/type/types/literal.mjs +41 -0
  897. package/build/type/types/never.d.mts +12 -0
  898. package/build/type/types/never.mjs +21 -0
  899. package/build/type/types/null.d.mts +11 -0
  900. package/build/type/types/null.mjs +17 -0
  901. package/build/type/types/number.d.mts +12 -0
  902. package/build/type/types/number.mjs +21 -0
  903. package/build/type/types/object.d.mts +17 -0
  904. package/build/type/types/object.mjs +27 -0
  905. package/build/type/types/parameter.d.mts +17 -0
  906. package/build/type/types/parameter.mjs +21 -0
  907. package/build/type/types/promise.d.mts +16 -0
  908. package/build/type/types/promise.mjs +24 -0
  909. package/build/type/types/properties.d.mts +42 -0
  910. package/build/type/types/properties.mjs +16 -0
  911. package/build/type/types/record.d.mts +44 -0
  912. package/build/type/types/record.mjs +61 -0
  913. package/build/type/types/ref.d.mts +13 -0
  914. package/build/type/types/ref.mjs +17 -0
  915. package/build/type/types/rest.d.mts +11 -0
  916. package/build/type/types/rest.mjs +17 -0
  917. package/build/type/types/schema.d.mts +199 -0
  918. package/build/type/types/schema.mjs +15 -0
  919. package/build/type/types/static.d.mts +47 -0
  920. package/build/type/types/static.mjs +3 -0
  921. package/build/type/types/string.d.mts +12 -0
  922. package/build/type/types/string.mjs +22 -0
  923. package/build/type/types/symbol.d.mts +11 -0
  924. package/build/type/types/symbol.mjs +17 -0
  925. package/build/type/types/template-literal.d.mts +24 -0
  926. package/build/type/types/template-literal.mjs +26 -0
  927. package/build/type/types/this.d.mts +14 -0
  928. package/build/type/types/this.mjs +17 -0
  929. package/build/type/types/tuple.d.mts +37 -0
  930. package/build/type/types/tuple.mjs +25 -0
  931. package/build/type/types/undefined.d.mts +11 -0
  932. package/build/type/types/undefined.mjs +17 -0
  933. package/build/type/types/union.d.mts +15 -0
  934. package/build/type/types/union.mjs +24 -0
  935. package/build/type/types/unknown.d.mts +10 -0
  936. package/build/type/types/unknown.mjs +17 -0
  937. package/build/type/types/unsafe.d.mts +10 -0
  938. package/build/type/types/unsafe.mjs +18 -0
  939. package/build/type/types/void.d.mts +11 -0
  940. package/build/type/types/void.mjs +17 -0
  941. package/build/typebox.d.mts +71 -0
  942. package/build/typebox.mjs +87 -0
  943. package/build/value/assert/assert.d.mts +8 -0
  944. package/build/value/assert/assert.mjs +27 -0
  945. package/build/value/assert/index.d.mts +1 -0
  946. package/build/value/assert/index.mjs +1 -0
  947. package/build/value/check/check.d.mts +5 -0
  948. package/build/value/check/check.mjs +11 -0
  949. package/build/value/check/index.d.mts +1 -0
  950. package/build/value/check/index.mjs +1 -0
  951. package/build/value/clean/additional.d.mts +2 -0
  952. package/build/value/clean/additional.mjs +6 -0
  953. package/build/value/clean/clean.d.mts +15 -0
  954. package/build/value/clean/clean.mjs +15 -0
  955. package/build/value/clean/from-array.d.mts +2 -0
  956. package/build/value/clean/from-array.mjs +8 -0
  957. package/build/value/clean/from-base.d.mts +2 -0
  958. package/build/value/clean/from-base.mjs +4 -0
  959. package/build/value/clean/from-cyclic.d.mts +2 -0
  960. package/build/value/clean/from-cyclic.mjs +6 -0
  961. package/build/value/clean/from-intersect.d.mts +2 -0
  962. package/build/value/clean/from-intersect.mjs +25 -0
  963. package/build/value/clean/from-object.d.mts +2 -0
  964. package/build/value/clean/from-object.mjs +31 -0
  965. package/build/value/clean/from-record.d.mts +2 -0
  966. package/build/value/clean/from-record.mjs +32 -0
  967. package/build/value/clean/from-ref.d.mts +2 -0
  968. package/build/value/clean/from-ref.mjs +8 -0
  969. package/build/value/clean/from-tuple.d.mts +2 -0
  970. package/build/value/clean/from-tuple.mjs +14 -0
  971. package/build/value/clean/from-type.d.mts +2 -0
  972. package/build/value/clean/from-type.mjs +23 -0
  973. package/build/value/clean/from-union.d.mts +2 -0
  974. package/build/value/clean/from-union.mjs +12 -0
  975. package/build/value/clean/index.d.mts +1 -0
  976. package/build/value/clean/index.mjs +1 -0
  977. package/build/value/clone/clone.d.mts +5 -0
  978. package/build/value/clone/clone.mjs +60 -0
  979. package/build/value/clone/index.d.mts +1 -0
  980. package/build/value/clone/index.mjs +1 -0
  981. package/build/value/codec/callback.d.mts +2 -0
  982. package/build/value/codec/callback.mjs +25 -0
  983. package/build/value/codec/decode.d.mts +19 -0
  984. package/build/value/codec/decode.mjs +48 -0
  985. package/build/value/codec/encode.d.mts +9 -0
  986. package/build/value/codec/encode.mjs +43 -0
  987. package/build/value/codec/from-array.d.mts +2 -0
  988. package/build/value/codec/from-array.mjs +38 -0
  989. package/build/value/codec/from-cyclic.d.mts +2 -0
  990. package/build/value/codec/from-cyclic.mjs +8 -0
  991. package/build/value/codec/from-intersect.d.mts +2 -0
  992. package/build/value/codec/from-intersect.mjs +28 -0
  993. package/build/value/codec/from-object.d.mts +2 -0
  994. package/build/value/codec/from-object.mjs +44 -0
  995. package/build/value/codec/from-record.d.mts +2 -0
  996. package/build/value/codec/from-record.mjs +44 -0
  997. package/build/value/codec/from-ref.d.mts +2 -0
  998. package/build/value/codec/from-ref.mjs +10 -0
  999. package/build/value/codec/from-tuple.d.mts +2 -0
  1000. package/build/value/codec/from-tuple.mjs +35 -0
  1001. package/build/value/codec/from-type.d.mts +2 -0
  1002. package/build/value/codec/from-type.mjs +22 -0
  1003. package/build/value/codec/from-union.d.mts +2 -0
  1004. package/build/value/codec/from-union.mjs +42 -0
  1005. package/build/value/codec/has.d.mts +5 -0
  1006. package/build/value/codec/has.mjs +85 -0
  1007. package/build/value/codec/index.d.mts +3 -0
  1008. package/build/value/codec/index.mjs +3 -0
  1009. package/build/value/convert/convert.d.mts +13 -0
  1010. package/build/value/convert/convert.mjs +15 -0
  1011. package/build/value/convert/from-additional.d.mts +6 -0
  1012. package/build/value/convert/from-additional.mjs +18 -0
  1013. package/build/value/convert/from-array.d.mts +2 -0
  1014. package/build/value/convert/from-array.mjs +8 -0
  1015. package/build/value/convert/from-base.d.mts +2 -0
  1016. package/build/value/convert/from-base.mjs +4 -0
  1017. package/build/value/convert/from-bigint.d.mts +2 -0
  1018. package/build/value/convert/from-bigint.mjs +9 -0
  1019. package/build/value/convert/from-boolean.d.mts +2 -0
  1020. package/build/value/convert/from-boolean.mjs +9 -0
  1021. package/build/value/convert/from-cyclic.d.mts +2 -0
  1022. package/build/value/convert/from-cyclic.mjs +6 -0
  1023. package/build/value/convert/from-enum.d.mts +2 -0
  1024. package/build/value/convert/from-enum.mjs +7 -0
  1025. package/build/value/convert/from-integer.d.mts +2 -0
  1026. package/build/value/convert/from-integer.mjs +9 -0
  1027. package/build/value/convert/from-intersect.d.mts +2 -0
  1028. package/build/value/convert/from-intersect.mjs +7 -0
  1029. package/build/value/convert/from-literal.d.mts +2 -0
  1030. package/build/value/convert/from-literal.mjs +44 -0
  1031. package/build/value/convert/from-null.d.mts +2 -0
  1032. package/build/value/convert/from-null.mjs +9 -0
  1033. package/build/value/convert/from-number.d.mts +2 -0
  1034. package/build/value/convert/from-number.mjs +9 -0
  1035. package/build/value/convert/from-object.d.mts +2 -0
  1036. package/build/value/convert/from-object.mjs +23 -0
  1037. package/build/value/convert/from-record.d.mts +2 -0
  1038. package/build/value/convert/from-record.mjs +23 -0
  1039. package/build/value/convert/from-ref.d.mts +2 -0
  1040. package/build/value/convert/from-ref.mjs +8 -0
  1041. package/build/value/convert/from-string.d.mts +2 -0
  1042. package/build/value/convert/from-string.mjs +9 -0
  1043. package/build/value/convert/from-template-literal.d.mts +2 -0
  1044. package/build/value/convert/from-template-literal.mjs +7 -0
  1045. package/build/value/convert/from-tuple.d.mts +2 -0
  1046. package/build/value/convert/from-tuple.mjs +11 -0
  1047. package/build/value/convert/from-type.d.mts +2 -0
  1048. package/build/value/convert/from-type.mjs +45 -0
  1049. package/build/value/convert/from-undefined.d.mts +2 -0
  1050. package/build/value/convert/from-undefined.mjs +9 -0
  1051. package/build/value/convert/from-union.d.mts +2 -0
  1052. package/build/value/convert/from-union.mjs +13 -0
  1053. package/build/value/convert/from-void.d.mts +2 -0
  1054. package/build/value/convert/from-void.mjs +9 -0
  1055. package/build/value/convert/index.d.mts +1 -0
  1056. package/build/value/convert/index.mjs +1 -0
  1057. package/build/value/convert/try/index.d.mts +1 -0
  1058. package/build/value/convert/try/index.mjs +1 -0
  1059. package/build/value/convert/try/try-bigint.d.mts +2 -0
  1060. package/build/value/convert/try/try-bigint.mjs +74 -0
  1061. package/build/value/convert/try/try-boolean.d.mts +2 -0
  1062. package/build/value/convert/try/try-boolean.mjs +64 -0
  1063. package/build/value/convert/try/try-null.d.mts +2 -0
  1064. package/build/value/convert/try/try-null.mjs +61 -0
  1065. package/build/value/convert/try/try-number.d.mts +2 -0
  1066. package/build/value/convert/try/try-number.mjs +76 -0
  1067. package/build/value/convert/try/try-result.d.mts +8 -0
  1068. package/build/value/convert/try/try-result.mjs +18 -0
  1069. package/build/value/convert/try/try-string.d.mts +2 -0
  1070. package/build/value/convert/try/try-string.mjs +56 -0
  1071. package/build/value/convert/try/try-undefined.d.mts +2 -0
  1072. package/build/value/convert/try/try-undefined.mjs +61 -0
  1073. package/build/value/convert/try/try.d.mts +7 -0
  1074. package/build/value/convert/try/try.mjs +7 -0
  1075. package/build/value/create/create.d.mts +5 -0
  1076. package/build/value/create/create.mjs +11 -0
  1077. package/build/value/create/error.d.mts +5 -0
  1078. package/build/value/create/error.mjs +7 -0
  1079. package/build/value/create/from-array.d.mts +2 -0
  1080. package/build/value/create/from-array.mjs +10 -0
  1081. package/build/value/create/from-async-iterator.d.mts +2 -0
  1082. package/build/value/create/from-async-iterator.mjs +5 -0
  1083. package/build/value/create/from-base.d.mts +2 -0
  1084. package/build/value/create/from-base.mjs +4 -0
  1085. package/build/value/create/from-bigint.d.mts +2 -0
  1086. package/build/value/create/from-bigint.mjs +7 -0
  1087. package/build/value/create/from-boolean.d.mts +2 -0
  1088. package/build/value/create/from-boolean.mjs +4 -0
  1089. package/build/value/create/from-constructor.d.mts +2 -0
  1090. package/build/value/create/from-constructor.mjs +10 -0
  1091. package/build/value/create/from-cyclic.d.mts +2 -0
  1092. package/build/value/create/from-cyclic.mjs +6 -0
  1093. package/build/value/create/from-default.d.mts +3 -0
  1094. package/build/value/create/from-default.mjs +10 -0
  1095. package/build/value/create/from-enum.d.mts +2 -0
  1096. package/build/value/create/from-enum.mjs +6 -0
  1097. package/build/value/create/from-function.d.mts +2 -0
  1098. package/build/value/create/from-function.mjs +6 -0
  1099. package/build/value/create/from-integer.d.mts +2 -0
  1100. package/build/value/create/from-integer.mjs +8 -0
  1101. package/build/value/create/from-intersect.d.mts +2 -0
  1102. package/build/value/create/from-intersect.mjs +6 -0
  1103. package/build/value/create/from-iterator.d.mts +2 -0
  1104. package/build/value/create/from-iterator.mjs +5 -0
  1105. package/build/value/create/from-literal.d.mts +2 -0
  1106. package/build/value/create/from-literal.mjs +4 -0
  1107. package/build/value/create/from-never.d.mts +2 -0
  1108. package/build/value/create/from-never.mjs +5 -0
  1109. package/build/value/create/from-null.d.mts +2 -0
  1110. package/build/value/create/from-null.mjs +4 -0
  1111. package/build/value/create/from-number.d.mts +2 -0
  1112. package/build/value/create/from-number.mjs +8 -0
  1113. package/build/value/create/from-object.d.mts +2 -0
  1114. package/build/value/create/from-object.mjs +9 -0
  1115. package/build/value/create/from-promise.d.mts +2 -0
  1116. package/build/value/create/from-promise.mjs +5 -0
  1117. package/build/value/create/from-record.d.mts +2 -0
  1118. package/build/value/create/from-record.mjs +8 -0
  1119. package/build/value/create/from-ref.d.mts +2 -0
  1120. package/build/value/create/from-ref.mjs +9 -0
  1121. package/build/value/create/from-string.d.mts +2 -0
  1122. package/build/value/create/from-string.mjs +9 -0
  1123. package/build/value/create/from-symbol.d.mts +2 -0
  1124. package/build/value/create/from-symbol.mjs +4 -0
  1125. package/build/value/create/from-template-literal.d.mts +2 -0
  1126. package/build/value/create/from-template-literal.mjs +11 -0
  1127. package/build/value/create/from-tuple.d.mts +2 -0
  1128. package/build/value/create/from-tuple.mjs +5 -0
  1129. package/build/value/create/from-type.d.mts +2 -0
  1130. package/build/value/create/from-type.mjs +69 -0
  1131. package/build/value/create/from-undefined.d.mts +2 -0
  1132. package/build/value/create/from-undefined.mjs +4 -0
  1133. package/build/value/create/from-union.d.mts +2 -0
  1134. package/build/value/create/from-union.mjs +9 -0
  1135. package/build/value/create/from-void.d.mts +2 -0
  1136. package/build/value/create/from-void.mjs +4 -0
  1137. package/build/value/create/index.d.mts +2 -0
  1138. package/build/value/create/index.mjs +2 -0
  1139. package/build/value/default/default.d.mts +13 -0
  1140. package/build/value/default/default.mjs +15 -0
  1141. package/build/value/default/from-array.d.mts +2 -0
  1142. package/build/value/default/from-array.mjs +12 -0
  1143. package/build/value/default/from-base.d.mts +2 -0
  1144. package/build/value/default/from-base.mjs +5 -0
  1145. package/build/value/default/from-cyclic.d.mts +2 -0
  1146. package/build/value/default/from-cyclic.mjs +7 -0
  1147. package/build/value/default/from-default.d.mts +3 -0
  1148. package/build/value/default/from-default.mjs +13 -0
  1149. package/build/value/default/from-intersect.d.mts +2 -0
  1150. package/build/value/default/from-intersect.mjs +8 -0
  1151. package/build/value/default/from-object.d.mts +2 -0
  1152. package/build/value/default/from-object.mjs +30 -0
  1153. package/build/value/default/from-record.d.mts +2 -0
  1154. package/build/value/default/from-record.mjs +26 -0
  1155. package/build/value/default/from-ref.d.mts +2 -0
  1156. package/build/value/default/from-ref.mjs +9 -0
  1157. package/build/value/default/from-tuple.d.mts +2 -0
  1158. package/build/value/default/from-tuple.mjs +14 -0
  1159. package/build/value/default/from-type.d.mts +2 -0
  1160. package/build/value/default/from-type.mjs +27 -0
  1161. package/build/value/default/from-union.d.mts +2 -0
  1162. package/build/value/default/from-union.mjs +14 -0
  1163. package/build/value/default/index.d.mts +1 -0
  1164. package/build/value/default/index.mjs +1 -0
  1165. package/build/value/delta/diff.d.mts +10 -0
  1166. package/build/value/delta/diff.mjs +129 -0
  1167. package/build/value/delta/edit.d.mts +24 -0
  1168. package/build/value/delta/edit.mjs +17 -0
  1169. package/build/value/delta/index.d.mts +3 -0
  1170. package/build/value/delta/index.mjs +3 -0
  1171. package/build/value/delta/patch.d.mts +8 -0
  1172. package/build/value/delta/patch.mjs +42 -0
  1173. package/build/value/equal/equal.d.mts +2 -0
  1174. package/build/value/equal/equal.mjs +6 -0
  1175. package/build/value/equal/index.d.mts +1 -0
  1176. package/build/value/equal/index.mjs +1 -0
  1177. package/build/value/errors/errors.d.mts +16 -0
  1178. package/build/value/errors/errors.mjs +17 -0
  1179. package/build/value/errors/index.d.mts +1 -0
  1180. package/build/value/errors/index.mjs +1 -0
  1181. package/build/value/hash/hash.d.mts +6 -0
  1182. package/build/value/hash/hash.mjs +10 -0
  1183. package/build/value/hash/index.d.mts +1 -0
  1184. package/build/value/hash/index.mjs +1 -0
  1185. package/build/value/index.d.mts +20 -0
  1186. package/build/value/index.mjs +26 -0
  1187. package/build/value/mutate/error.d.mts +3 -0
  1188. package/build/value/mutate/error.mjs +6 -0
  1189. package/build/value/mutate/from-array.d.mts +2 -0
  1190. package/build/value/mutate/from-array.mjs +16 -0
  1191. package/build/value/mutate/from-object.d.mts +2 -0
  1192. package/build/value/mutate/from-object.mjs +27 -0
  1193. package/build/value/mutate/from-unknown.d.mts +2 -0
  1194. package/build/value/mutate/from-unknown.mjs +7 -0
  1195. package/build/value/mutate/from-value.d.mts +2 -0
  1196. package/build/value/mutate/from-value.mjs +12 -0
  1197. package/build/value/mutate/index.d.mts +1 -0
  1198. package/build/value/mutate/index.mjs +1 -0
  1199. package/build/value/mutate/mutate.d.mts +9 -0
  1200. package/build/value/mutate/mutate.mjs +39 -0
  1201. package/build/value/parse/index.d.mts +1 -0
  1202. package/build/value/parse/index.mjs +1 -0
  1203. package/build/value/parse/parse.d.mts +20 -0
  1204. package/build/value/parse/parse.mjs +47 -0
  1205. package/build/value/pipeline/index.d.mts +1 -0
  1206. package/build/value/pipeline/index.mjs +1 -0
  1207. package/build/value/pipeline/pipeline.d.mts +10 -0
  1208. package/build/value/pipeline/pipeline.mjs +15 -0
  1209. package/build/value/pointer/index.d.mts +1 -0
  1210. package/build/value/pointer/index.mjs +1 -0
  1211. package/build/value/pointer/pointer.d.mts +17 -0
  1212. package/build/value/pointer/pointer.mjs +137 -0
  1213. package/build/value/repair/error.d.mts +7 -0
  1214. package/build/value/repair/error.mjs +8 -0
  1215. package/build/value/repair/from-array.d.mts +2 -0
  1216. package/build/value/repair/from-array.mjs +39 -0
  1217. package/build/value/repair/from-enum.d.mts +2 -0
  1218. package/build/value/repair/from-enum.mjs +7 -0
  1219. package/build/value/repair/from-intersect.d.mts +2 -0
  1220. package/build/value/repair/from-intersect.mjs +7 -0
  1221. package/build/value/repair/from-object.d.mts +2 -0
  1222. package/build/value/repair/from-object.mjs +33 -0
  1223. package/build/value/repair/from-record.d.mts +2 -0
  1224. package/build/value/repair/from-record.mjs +33 -0
  1225. package/build/value/repair/from-ref.d.mts +2 -0
  1226. package/build/value/repair/from-ref.mjs +9 -0
  1227. package/build/value/repair/from-template-literal.d.mts +2 -0
  1228. package/build/value/repair/from-template-literal.mjs +7 -0
  1229. package/build/value/repair/from-tuple.d.mts +2 -0
  1230. package/build/value/repair/from-tuple.mjs +12 -0
  1231. package/build/value/repair/from-type.d.mts +2 -0
  1232. package/build/value/repair/from-type.mjs +59 -0
  1233. package/build/value/repair/from-union.d.mts +2 -0
  1234. package/build/value/repair/from-union.mjs +71 -0
  1235. package/build/value/repair/from-unknown.d.mts +2 -0
  1236. package/build/value/repair/from-unknown.mjs +12 -0
  1237. package/build/value/repair/index.d.mts +1 -0
  1238. package/build/value/repair/index.mjs +1 -0
  1239. package/build/value/repair/repair.d.mts +17 -0
  1240. package/build/value/repair/repair.mjs +20 -0
  1241. package/build/value/value.d.mts +16 -0
  1242. package/build/value/value.mjs +16 -0
  1243. package/license +23 -0
  1244. package/package.json +75 -7
  1245. package/readme.md +235 -0
  1246. package/index.ts +0 -1
@@ -0,0 +1,21 @@
1
+ // deno-lint-ignore-file
2
+ // deno-fmt-ignore-file
3
+ import { Arguments } from '../../system/arguments/index.mjs';
4
+ import { Memory } from '../../system/memory/index.mjs';
5
+ import { Guard } from '../../guard/index.mjs';
6
+ import { InstantiateType } from '../engine/instantiate.mjs';
7
+ import { Never } from '../types/index.mjs';
8
+ import * as Parser from './parser.mjs';
9
+ /** Parses a type from a TypeScript type expression */
10
+ export function Script(...args) {
11
+ const [context, input, options] = Arguments.Match(args, {
12
+ 2: (script, options) => Guard.IsString(script) ? [{}, script, options] : [script, options, {}],
13
+ 3: (context, script, options) => [context, script, options],
14
+ 1: (script) => [{}, script, {}],
15
+ });
16
+ const result = Parser.Script(input);
17
+ const parsed = Guard.IsArray(result) && Guard.IsEqual(result.length, 2)
18
+ ? InstantiateType(context, { callstack: [] }, result[0])
19
+ : Never();
20
+ return Memory.Update(parsed, {}, options);
21
+ }
@@ -0,0 +1,8 @@
1
+ import { type TTake } from './internal/take.mjs';
2
+ import { type TInteger } from './integer.mjs';
3
+ type TTakeBigInt<Input extends string> = (TInteger<Input> extends [infer Integer extends string, infer IntegerRest extends string] ? TTake<['n'], IntegerRest> extends [infer N extends string, infer NRest extends string] ? [`${Integer}`, NRest] : [] : []);
4
+ /** Matches if next is a Integer literal with trailing 'n'. Trailing 'n' is omitted in result. */
5
+ export type TBigInt<Input extends string> = (TTakeBigInt<Input>);
6
+ /** Matches if next is a Integer literal with trailing 'n'. Trailing 'n' is omitted in result. */
7
+ export declare function BigInt<Input extends string>(input: Input): TBigInt<Input>;
8
+ export {};
@@ -0,0 +1,20 @@
1
+ // deno-coverage-ignore-start - parsebox tested
2
+ // deno-fmt-ignore-file
3
+ import { IsResult } from './internal/result.mjs';
4
+ import { Take } from './internal/take.mjs';
5
+ import { Integer } from './integer.mjs';
6
+ function TakeBigInt(input) {
7
+ const integer = Integer(input);
8
+ return (IsResult(integer) ? (() => {
9
+ const n = Take(['n'], integer[1]);
10
+ return IsResult(n)
11
+ ? [`${integer[0]}`, n[1]]
12
+ : []; // fail: did not match 'n'
13
+ })() : [] // fail: did not match Integer
14
+ );
15
+ }
16
+ /** Matches if next is a Integer literal with trailing 'n'. Trailing 'n' is omitted in result. */
17
+ export function BigInt(input) {
18
+ return TakeBigInt(input);
19
+ }
20
+ // deno-coverage-ignore-stop
@@ -0,0 +1,11 @@
1
+ import { type TTrimWhitespace } from './internal/trim.mjs';
2
+ import { type TTrim } from './internal/trim.mjs';
3
+ import { type TTake } from './internal/take.mjs';
4
+ import { type TNewLine } from './internal/char.mjs';
5
+ import { type TWhiteSpace } from './internal/char.mjs';
6
+ type TTakeConst<Const extends string, Input extends string> = (TTake<[Const], Input>);
7
+ /** Matches if next is the given Const value */
8
+ export type TConst<Const extends string, Input extends string> = (Const extends '' ? ['', Input] : Const extends `${infer First extends string}${string}` ? (First extends TNewLine ? TTakeConst<Const, TTrimWhitespace<Input>> : First extends TWhiteSpace ? TTakeConst<Const, Input> : TTakeConst<Const, TTrim<Input>>) : never);
9
+ /** Matches if next is the given Const value */
10
+ export declare function Const<Const extends string, Input extends string>(const_: Const, input: Input): TConst<Const, Input>;
11
+ export {};
@@ -0,0 +1,18 @@
1
+ // deno-coverage-ignore-start - parsebox tested
2
+ // deno-fmt-ignore-file
3
+ import { IsEqual } from './internal/guard.mjs';
4
+ import { TrimWhitespace } from './internal/trim.mjs';
5
+ import { Trim } from './internal/trim.mjs';
6
+ import { Take } from './internal/take.mjs';
7
+ import { NewLine } from './internal/char.mjs';
8
+ import { WhiteSpace } from './internal/char.mjs';
9
+ function TakeConst(const_, input) {
10
+ return Take([const_], input);
11
+ }
12
+ /** Matches if next is the given Const value */
13
+ export function Const(const_, input) {
14
+ return (IsEqual(const_, '') ? ['', input] : (const_.startsWith(NewLine) ? TakeConst(const_, TrimWhitespace(input)) :
15
+ const_.startsWith(WhiteSpace) ? TakeConst(const_, input) :
16
+ TakeConst(const_, Trim(input))));
17
+ }
18
+ // deno-coverage-ignore-stop
@@ -0,0 +1,16 @@
1
+ import { type TTrim } from './internal/trim.mjs';
2
+ import { type TTake } from './internal/take.mjs';
3
+ import { type TAlpha } from './internal/char.mjs';
4
+ import { type TDigit } from './internal/char.mjs';
5
+ import { type TUnderScore } from './internal/char.mjs';
6
+ import { type TDollarSign } from './internal/char.mjs';
7
+ type TInitial = [...TAlpha, TUnderScore, TDollarSign];
8
+ type TTakeInitial<Input extends string> = (TTake<TInitial, Input>);
9
+ type TRemaining = [...TInitial, ...TDigit];
10
+ type TTakeRemaining<Input extends string, Result extends string = ''> = (TTake<TRemaining, Input> extends [infer Remaining extends string, infer RemainingRest extends string] ? TTakeRemaining<RemainingRest, `${Result}${Remaining}`> : [Result, Input]);
11
+ type TTakeIdent<Input extends string> = (TTakeInitial<Input> extends [infer Initial extends string, infer InitialRest extends string] ? TTakeRemaining<InitialRest> extends [infer Remaining extends string, infer RemainingRest extends string] ? [`${Initial}${Remaining}`, RemainingRest] : [] : []);
12
+ /** Matches if next is an Ident */
13
+ export type TIdent<Input extends string> = (TTakeIdent<TTrim<Input>>);
14
+ /** Matches if next is an Ident */
15
+ export declare function Ident<Input extends string>(input: Input): TIdent<Input>;
16
+ export {};
@@ -0,0 +1,35 @@
1
+ // deno-coverage-ignore-start - parsebox tested
2
+ // deno-fmt-ignore-file
3
+ import { IsResult } from './internal/result.mjs';
4
+ import { Trim } from './internal/trim.mjs';
5
+ import { Take } from './internal/take.mjs';
6
+ import { Alpha } from './internal/char.mjs';
7
+ import { Digit } from './internal/char.mjs';
8
+ import { UnderScore } from './internal/char.mjs';
9
+ import { DollarSign } from './internal/char.mjs';
10
+ const Initial = [...Alpha, UnderScore, DollarSign];
11
+ function TakeInitial(input) {
12
+ return Take(Initial, input);
13
+ }
14
+ const Remaining = [...Initial, ...Digit];
15
+ function TakeRemaining(input, result = '') {
16
+ const remaining = Take(Remaining, input);
17
+ return (IsResult(remaining)
18
+ ? TakeRemaining(remaining[1], `${result}${remaining[0]}`)
19
+ : [result, input]);
20
+ }
21
+ function TakeIdent(input) {
22
+ const initial = TakeInitial(input);
23
+ return (IsResult(initial) ? (() => {
24
+ const remaining = TakeRemaining(initial[1]);
25
+ return IsResult(remaining)
26
+ ? [`${initial[0]}${remaining[0]}`, remaining[1]]
27
+ : []; // fail: did not match Remaining
28
+ })() : [] // fail: did not match Initial
29
+ );
30
+ }
31
+ /** Matches if next is an Ident */
32
+ export function Ident(input) {
33
+ return TakeIdent(Trim(input));
34
+ }
35
+ // deno-coverage-ignore-stop
@@ -0,0 +1,9 @@
1
+ export * from './bigint.mjs';
2
+ export * from './const.mjs';
3
+ export * from './ident.mjs';
4
+ export * from './integer.mjs';
5
+ export * from './number.mjs';
6
+ export * from './span.mjs';
7
+ export * from './string.mjs';
8
+ export * from './until_1.mjs';
9
+ export * from './until.mjs';
@@ -0,0 +1,9 @@
1
+ export * from './bigint.mjs';
2
+ export * from './const.mjs';
3
+ export * from './ident.mjs';
4
+ export * from './integer.mjs';
5
+ export * from './number.mjs';
6
+ export * from './span.mjs';
7
+ export * from './string.mjs';
8
+ export * from './until_1.mjs';
9
+ export * from './until.mjs';
@@ -0,0 +1,19 @@
1
+ import { type TTrim } from './internal/trim.mjs';
2
+ import { type TTake } from './internal/take.mjs';
3
+ import { type TMany } from './internal/many.mjs';
4
+ import { type TOptional } from './internal/optional.mjs';
5
+ import { type TDigit } from './internal/char.mjs';
6
+ import { type THyphen } from './internal/char.mjs';
7
+ import { type TZero } from './internal/char.mjs';
8
+ import { type TNonZero } from './internal/char.mjs';
9
+ import { type TUnderScore } from './internal/char.mjs';
10
+ type TTakeSign<Input extends string> = (TOptional<THyphen, Input>);
11
+ type TTakeNonZero<Input extends string> = (TTake<TNonZero, Input>);
12
+ type TAllowedDigits = [...TDigit, TUnderScore];
13
+ type TTakeDigits<Input extends string> = (TMany<TAllowedDigits, [TUnderScore], Input>);
14
+ type TTakeInteger<Input extends string> = (TTakeSign<Input> extends [infer Sign extends string, infer SignRest extends string] ? TTake<[TZero], SignRest> extends [infer Zero extends string, infer ZeroRest extends string] ? [`${Sign}${Zero}`, ZeroRest] : TTakeNonZero<SignRest> extends [infer NonZero extends string, infer NonZeroRest extends string] ? TTakeDigits<NonZeroRest> extends [infer Digits extends string, infer DigitsRest extends string] ? [`${Sign}${NonZero}${Digits}`, DigitsRest] : [] : [] : []);
15
+ /** Matches if next is a Integer */
16
+ export type TInteger<Input extends string> = (TTakeInteger<TTrim<Input>>);
17
+ /** Matches if next is a Integer */
18
+ export declare function Integer<Input extends string>(input: Input): TInteger<Input>;
19
+ export {};
@@ -0,0 +1,45 @@
1
+ // deno-coverage-ignore-start - parsebox tested
2
+ // deno-fmt-ignore-file
3
+ import { IsResult } from './internal/result.mjs';
4
+ import { Trim } from './internal/trim.mjs';
5
+ import { Take } from './internal/take.mjs';
6
+ import { Many } from './internal/many.mjs';
7
+ import { Optional } from './internal/optional.mjs';
8
+ import { Digit } from './internal/char.mjs';
9
+ import { Hyphen } from './internal/char.mjs';
10
+ import { Zero } from './internal/char.mjs';
11
+ import { NonZero } from './internal/char.mjs';
12
+ import { UnderScore } from './internal/char.mjs';
13
+ function TakeSign(input) {
14
+ return Optional(Hyphen, input);
15
+ }
16
+ function TakeNonZero(input) {
17
+ return Take(NonZero, input);
18
+ }
19
+ const AllowedDigits = [...Digit, UnderScore];
20
+ function TakeDigits(input) {
21
+ return Many(AllowedDigits, [UnderScore], input);
22
+ }
23
+ function TakeInteger(input) {
24
+ const sign = TakeSign(input);
25
+ return (IsResult(sign) ? (() => {
26
+ const zero = Take([Zero], sign[1]);
27
+ return IsResult(zero)
28
+ ? [`${sign[0]}${zero[0]}`, zero[1]]
29
+ : (() => {
30
+ const nonZero = TakeNonZero(sign[1]);
31
+ return IsResult(nonZero) ? (() => {
32
+ const digits = TakeDigits(nonZero[1]);
33
+ return IsResult(digits)
34
+ ? [`${sign[0]}${nonZero[0]}${digits[0]}`, digits[1]]
35
+ : []; // fail: did not match Digits
36
+ })() : []; // fail: did not match NonZero
37
+ })();
38
+ })() : [] // fail: did not match Sign
39
+ );
40
+ }
41
+ /** Matches if next is a Integer */
42
+ export function Integer(input) {
43
+ return TakeInteger(Trim(input));
44
+ }
45
+ // deno-coverage-ignore-stop
@@ -0,0 +1,73 @@
1
+ export type TAlpha = [
2
+ 'a',
3
+ 'b',
4
+ 'c',
5
+ 'd',
6
+ 'e',
7
+ 'f',
8
+ 'g',
9
+ 'h',
10
+ 'i',
11
+ 'j',
12
+ 'k',
13
+ 'l',
14
+ 'm',
15
+ 'n',
16
+ 'o',
17
+ 'p',
18
+ 'q',
19
+ 'r',
20
+ 's',
21
+ 't',
22
+ 'u',
23
+ 'v',
24
+ 'w',
25
+ 'x',
26
+ 'y',
27
+ 'z',
28
+ 'A',
29
+ 'B',
30
+ 'C',
31
+ 'D',
32
+ 'E',
33
+ 'F',
34
+ 'G',
35
+ 'H',
36
+ 'I',
37
+ 'J',
38
+ 'K',
39
+ 'L',
40
+ 'M',
41
+ 'N',
42
+ 'O',
43
+ 'P',
44
+ 'Q',
45
+ 'R',
46
+ 'S',
47
+ 'T',
48
+ 'U',
49
+ 'V',
50
+ 'W',
51
+ 'X',
52
+ 'Y',
53
+ 'Z'
54
+ ];
55
+ export declare const Alpha: TAlpha;
56
+ export type TZero = typeof Zero;
57
+ export type TNonZero = ['1', '2', '3', '4', '5', '6', '7', '8', '9'];
58
+ export type TDigit = [TZero, ...TNonZero];
59
+ export declare const Zero = "0";
60
+ export declare const NonZero: TNonZero;
61
+ export declare const Digit: TDigit;
62
+ export declare const WhiteSpace = " ";
63
+ export declare const NewLine = "\n";
64
+ export declare const UnderScore = "_";
65
+ export declare const Dot = ".";
66
+ export declare const DollarSign = "$";
67
+ export declare const Hyphen = "-";
68
+ export type TWhiteSpace = typeof WhiteSpace;
69
+ export type TNewLine = typeof NewLine;
70
+ export type TUnderScore = typeof UnderScore;
71
+ export type TDot = typeof Dot;
72
+ export type TDollarSign = typeof DollarSign;
73
+ export type THyphen = typeof Hyphen;
@@ -0,0 +1,25 @@
1
+ // deno-coverage-ignore-start - parsebox tested
2
+ // deno-fmt-ignore-file
3
+ // ------------------------------------------------------------------
4
+ // Range
5
+ // ------------------------------------------------------------------
6
+ function Range(start, end) {
7
+ return Array.from({ length: end - start + 1 }, (_, i) => String.fromCharCode(start + i));
8
+ }
9
+ export const Alpha = [
10
+ ...Range(97, 122), // Lowercase
11
+ ...Range(65, 90) // Uppercase
12
+ ];
13
+ export const Zero = '0';
14
+ export const NonZero = Range(49, 57); // 1 - 9
15
+ export const Digit = [Zero, ...NonZero];
16
+ // ------------------------------------------------------------------
17
+ // Characters
18
+ // ------------------------------------------------------------------
19
+ export const WhiteSpace = ' ';
20
+ export const NewLine = '\n';
21
+ export const UnderScore = '_';
22
+ export const Dot = '.';
23
+ export const DollarSign = '$';
24
+ export const Hyphen = '-';
25
+ // deno-coverage-ignore-stop
@@ -0,0 +1 @@
1
+ export { IsArray, IsEqual, IsString } from '../../../../guard/guard.mjs';
@@ -0,0 +1,15 @@
1
+ // deno-coverage-ignore-start - parsebox tested
2
+ export { IsArray, IsEqual, IsString } from '../../../../guard/guard.mjs';
3
+ // ------------------------------------------------------------------
4
+ // Internal Guards to ensure Token is portable.
5
+ // ------------------------------------------------------------------
6
+ // export function IsArray(value: unknown): value is unknown[] {
7
+ // return Array.isArray(value)
8
+ // }
9
+ // export function IsString(value: unknown): value is string {
10
+ // return IsEqual(typeof value, 'string')
11
+ // }
12
+ // export function IsEqual(left: unknown, right: unknown): boolean {
13
+ // return left === right
14
+ // }
15
+ // deno-coverage-ignore-stop
@@ -0,0 +1,7 @@
1
+ import { type TTake } from './take.mjs';
2
+ type TIsDiscard<Discard extends string[], Input extends string> = (Discard extends [infer Left extends string, ...infer Right extends string[]] ? Input extends Left ? true : TIsDiscard<Right, Input> : false);
3
+ /** Takes characters from the Input until no-match. The Discard set is used to omit characters from the match */
4
+ export type TMany<Allowed extends string[], Discard extends string[], Input extends string, Result extends string = ''> = (TTake<Allowed, Input> extends [infer Char extends string, infer Rest extends string] ? TIsDiscard<Discard, Char> extends true ? TMany<Allowed, Discard, Rest, Result> : TMany<Allowed, Discard, Rest, `${Result}${Char}`> : [Result, Input]);
5
+ /** Takes characters from the Input until no-match. The Discard set is used to omit characters from the match */
6
+ export declare function Many<Allowed extends string[], Discard extends string[], Input extends string>(allowed: [...Allowed], discard: [...Discard], input: Input, result?: string): TMany<Allowed, Discard, Input>;
7
+ export {};
@@ -0,0 +1,17 @@
1
+ // deno-coverage-ignore-start - parsebox tested
2
+ // deno-fmt-ignore-file
3
+ import { IsResult } from './result.mjs';
4
+ import { Take } from './take.mjs';
5
+ function IsDiscard(discard, input) {
6
+ return discard.includes(input);
7
+ }
8
+ /** Takes characters from the Input until no-match. The Discard set is used to omit characters from the match */
9
+ export function Many(allowed, discard, input, result = '') {
10
+ const takeResult = Take(allowed, input);
11
+ return (IsResult(takeResult)
12
+ ? IsDiscard(discard, takeResult[0])
13
+ ? Many(allowed, discard, takeResult[1], result)
14
+ : Many(allowed, discard, takeResult[1], `${result}${takeResult[0]}`)
15
+ : [result, input]);
16
+ }
17
+ // deno-coverage-ignore-stop
@@ -0,0 +1,5 @@
1
+ import { type TTake } from './take.mjs';
2
+ /** Matches the given Value or empty string if no match. This function never fails */
3
+ export type TOptional<Value extends string, Input extends string> = (TTake<[Value], Input> extends [infer Optional extends string, infer Rest extends string] ? [Optional, Rest] : ['', Input]);
4
+ /** Matches the given Value or empty string if no match. This function never fails */
5
+ export declare function Optional<Value extends string, Input extends string>(value: Value, input: Input): TOptional<Value, Value>;
@@ -0,0 +1,12 @@
1
+ // deno-coverage-ignore-start - parsebox tested
2
+ // deno-fmt-ignore-file
3
+ import { IsResult } from './result.mjs';
4
+ import { Take } from './take.mjs';
5
+ /** Matches the given Value or empty string if no match. This function never fails */
6
+ export function Optional(value, input) {
7
+ const result = Take([value], input);
8
+ return (IsResult(result)
9
+ ? result
10
+ : ['', input]);
11
+ }
12
+ // deno-coverage-ignore-stop
@@ -0,0 +1,2 @@
1
+ /** Checks the value is a Tuple-2 [string, string] result */
2
+ export declare function IsResult(value: unknown): value is [string, string];
@@ -0,0 +1,7 @@
1
+ // deno-coverage-ignore-start - parsebox tested
2
+ import { IsArray, IsEqual } from './guard.mjs';
3
+ /** Checks the value is a Tuple-2 [string, string] result */
4
+ export function IsResult(value) {
5
+ return IsArray(value) && IsEqual(value.length, 2);
6
+ }
7
+ // deno-coverage-ignore-stop
@@ -0,0 +1,6 @@
1
+ type TTakeVariant<Variant extends string, Input extends string> = (Input extends `${Variant}${infer Rest extends string}` ? [Variant, Rest] : []);
2
+ /** Takes one of the given variants or fail */
3
+ export type TTake<Variants extends string[], Input extends string> = (Variants extends [infer ValueLeft extends string, ...infer ValueRight extends string[]] ? TTakeVariant<ValueLeft, Input> extends [infer Take extends string, infer Rest extends string] ? [Take, Rest] : TTake<ValueRight, Input> : []);
4
+ /** Takes one of the given variants or fail */
5
+ export declare function Take<Variants extends string[], Input extends string>(variants: [...Variants], input: Input): TTake<Variants, Input>;
6
+ export {};
@@ -0,0 +1,19 @@
1
+ // deno-coverage-ignore-start - parsebox tested
2
+ // deno-fmt-ignore-file
3
+ import { IsEqual, IsString } from './guard.mjs';
4
+ function TakeVariant(variant, input) {
5
+ return (IsEqual(input.indexOf(variant), 0)
6
+ ? [variant, input.slice(variant.length)]
7
+ : []);
8
+ }
9
+ /** Takes one of the given variants or fail */
10
+ export function Take(variants, input) {
11
+ const [left, ...right] = variants;
12
+ return (IsString(left)
13
+ ? (() => {
14
+ const result = TakeVariant(left, input);
15
+ return IsEqual(result.length, 2) ? result : Take(right, input);
16
+ })()
17
+ : []);
18
+ }
19
+ // deno-coverage-ignore-stop
@@ -0,0 +1,19 @@
1
+ import * as Char from './char.mjs';
2
+ type LineComment = typeof LineComment;
3
+ type OpenComment = typeof OpenComment;
4
+ type CloseComment = typeof CloseComment;
5
+ declare const LineComment = "//";
6
+ declare const OpenComment = "/*";
7
+ declare const CloseComment = "*/";
8
+ type TDiscardMultiLineComment<Input extends string> = (Input extends `${string}${CloseComment}${infer Rest extends string}` ? Rest : '');
9
+ type TDiscardLineComment<Input extends string> = (Input extends `${string}${Char.TNewLine}${infer Rest extends string}` ? TTrimWhitespace<`${Char.TNewLine}${Rest}`> : '');
10
+ type W4 = `${W3}${W3}`;
11
+ type W3 = `${W2}${W2}`;
12
+ type W2 = `${W1}${W1}`;
13
+ type W1 = `${W0}${W0}`;
14
+ type W0 = ` `;
15
+ export type TTrimWhitespace<Input extends string> = (Input extends `${OpenComment}${infer Rest extends string}` ? TTrimWhitespace<TDiscardMultiLineComment<Rest>> : Input extends `${LineComment}${infer Rest extends string}` ? TTrimWhitespace<TDiscardLineComment<Rest>> : Input extends `${W4}${infer Rest extends string}` ? TTrimWhitespace<Rest> : Input extends `${W3}${infer Rest extends string}` ? TTrimWhitespace<Rest> : Input extends `${W1}${infer Rest extends string}` ? TTrimWhitespace<Rest> : Input extends `${W0}${infer Rest extends string}` ? TTrimWhitespace<Rest> : Input);
16
+ export declare function TrimWhitespace<Input extends string>(input: Input): TTrimWhitespace<Input>;
17
+ export type TTrim<Input extends string> = (Input extends `${OpenComment}${infer Rest extends string}` ? TTrim<TDiscardMultiLineComment<Rest>> : Input extends `${LineComment}${infer Rest extends string}` ? TTrim<TDiscardLineComment<Rest>> : Input extends `${Char.TNewLine}${infer Rest extends string}` ? TTrim<Rest> : Input extends `${W4}${infer Rest extends string}` ? TTrim<Rest> : Input extends `${W3}${infer Rest extends string}` ? TTrim<Rest> : Input extends `${W1}${infer Rest extends string}` ? TTrim<Rest> : Input extends `${W0}${infer Rest extends string}` ? TTrim<Rest> : Input);
18
+ export declare function Trim<Input extends string>(input: Input): TTrim<Input>;
19
+ export {};
@@ -0,0 +1,34 @@
1
+ // deno-coverage-ignore-start - parsebox tested
2
+ // deno-fmt-ignore-file
3
+ import { IsEqual } from './guard.mjs';
4
+ import * as Char from './char.mjs';
5
+ const LineComment = '//';
6
+ const OpenComment = '/*';
7
+ const CloseComment = '*/';
8
+ function DiscardMultilineComment(input) {
9
+ const index = input.indexOf(CloseComment);
10
+ const result = IsEqual(index, -1) ? '' : input.slice(index + 2);
11
+ return result;
12
+ }
13
+ function DiscardLineComment(input) {
14
+ const index = input.indexOf(Char.NewLine);
15
+ const result = IsEqual(index, -1) ? '' : input.slice(index);
16
+ return result;
17
+ }
18
+ // ...
19
+ function TrimStartUntilNewline(input) {
20
+ return input.replace(/^[ \t\r\f\v]+/, '');
21
+ }
22
+ export function TrimWhitespace(input) {
23
+ const trimmed = TrimStartUntilNewline(input);
24
+ return (trimmed.startsWith(OpenComment) ? TrimWhitespace(DiscardMultilineComment(trimmed.slice(2))) :
25
+ trimmed.startsWith(LineComment) ? TrimWhitespace(DiscardLineComment(trimmed.slice(2))) :
26
+ trimmed);
27
+ }
28
+ export function Trim(input) {
29
+ const trimmed = input.trimStart();
30
+ return (trimmed.startsWith(OpenComment) ? Trim(DiscardMultilineComment(trimmed.slice(2))) :
31
+ trimmed.startsWith(LineComment) ? Trim(DiscardLineComment(trimmed.slice(2))) :
32
+ trimmed);
33
+ }
34
+ // deno-coverage-ignore-stop
@@ -0,0 +1,20 @@
1
+ import { type TTrim } from './internal/trim.mjs';
2
+ import { type TTake } from './internal/take.mjs';
3
+ import { type TMany } from './internal/many.mjs';
4
+ import { type TOptional } from './internal/optional.mjs';
5
+ import { type TDigit, TUnderScore } from './internal/char.mjs';
6
+ import { type TDot } from './internal/char.mjs';
7
+ import { type THyphen } from './internal/char.mjs';
8
+ import { type TInteger } from './integer.mjs';
9
+ type TAllowedDigits = [...TDigit, TUnderScore];
10
+ type TTakeSign<Input extends string> = (TOptional<THyphen, Input>);
11
+ type TIsLeadingDot<Input extends string> = (TTake<[TDot], Input> extends [string, string] ? true : false);
12
+ type TTakeFractional<Input extends string> = (TMany<TAllowedDigits, [TUnderScore], Input> extends [infer Digits extends string, infer Rest extends string] ? Digits extends '' ? [] : [Digits, Rest] : []);
13
+ type TLeadingDot<Sign extends string, Input extends string> = (TTake<[TDot], Input> extends [infer Dot extends string, infer Rest extends string] ? TTakeFractional<Rest> extends [infer Fractional extends string, infer Rest extends string] ? [`${Sign}0${Dot}${Fractional}`, Rest] : [] : []);
14
+ type TLeadingInteger<Sign extends string, Input extends string> = (TInteger<Input> extends [infer Integer extends string, infer IntegerRest extends string] ? TTake<[TDot], IntegerRest> extends [infer Dot extends string, infer DotRest extends string] ? TTakeFractional<DotRest> extends [infer Fractional extends string, infer FractionalRest extends string] ? [`${Sign}${Integer}${Dot}${Fractional}`, FractionalRest] : [`${Sign}${Integer}`, DotRest] : [`${Sign}${Integer}`, IntegerRest] : []);
15
+ type TTakeNumber<Input extends string> = (TTakeSign<Input> extends [infer Sign extends string, infer SignRest extends string] ? TIsLeadingDot<SignRest> extends true ? TLeadingDot<Sign, SignRest> : TLeadingInteger<Sign, SignRest> : []);
16
+ /** Matches if next is a literal Number */
17
+ export type TNumber<Input extends string> = (TTakeNumber<TTrim<Input>>);
18
+ /** Matches if next is a literal Number */
19
+ export declare function Number<Input extends string>(input: Input): TNumber<Input>;
20
+ export {};
@@ -0,0 +1,65 @@
1
+ // deno-coverage-ignore-start - parsebox tested
2
+ // deno-fmt-ignore-file
3
+ import { IsEqual } from './internal/guard.mjs';
4
+ import { IsResult } from './internal/result.mjs';
5
+ import { Trim } from './internal/trim.mjs';
6
+ import { Take } from './internal/take.mjs';
7
+ import { Many } from './internal/many.mjs';
8
+ import { Optional } from './internal/optional.mjs';
9
+ import { Digit, UnderScore } from './internal/char.mjs';
10
+ import { Dot } from './internal/char.mjs';
11
+ import { Hyphen } from './internal/char.mjs';
12
+ import { Integer } from './integer.mjs';
13
+ const AllowedDigits = [...Digit, UnderScore];
14
+ function TakeSign(input) {
15
+ return Optional(Hyphen, input);
16
+ }
17
+ function IsLeadingDot(input) {
18
+ return IsResult(Take([Dot], input));
19
+ }
20
+ function TakeFractional(input) {
21
+ const digits = Many(AllowedDigits, [UnderScore], input);
22
+ return (IsResult(digits)
23
+ ? IsEqual(digits[0], '')
24
+ ? [] // fail: no Digits
25
+ : [digits[0], digits[1]]
26
+ : [] // fail: did not match Digits
27
+ );
28
+ }
29
+ function LeadingDot(sign, input) {
30
+ const dot = Take([Dot], input);
31
+ return (IsResult(dot) ? (() => {
32
+ const fractional = TakeFractional(dot[1]);
33
+ return IsResult(fractional)
34
+ ? [`${sign}0${dot[0]}${fractional[0]}`, fractional[1]]
35
+ : []; // fail: did not match Fractional
36
+ })() : [] // fail: did not match Dot
37
+ );
38
+ }
39
+ function LeadingInteger(sign, input) {
40
+ const integer = Integer(input);
41
+ return (IsResult(integer) ? (() => {
42
+ const dot = Take([Dot], integer[1]);
43
+ return IsResult(dot) ? (() => {
44
+ const fractional = TakeFractional(dot[1]);
45
+ return IsResult(fractional)
46
+ ? [`${sign}${integer[0]}${dot[0]}${fractional[0]}`, fractional[1]]
47
+ : [`${sign}${integer[0]}`, dot[1]]; // fail: did not match Fractional, use Integer
48
+ })() : [`${sign}${integer[0]}`, integer[1]]; // fail: did not match Dot, use Integer
49
+ })() : [] // fail: did not match Integer
50
+ );
51
+ }
52
+ function TakeNumber(input) {
53
+ const sign = TakeSign(input);
54
+ return (IsResult(sign)
55
+ ? IsLeadingDot(sign[1])
56
+ ? LeadingDot(sign[0], sign[1])
57
+ : LeadingInteger(sign[0], sign[1])
58
+ : [] // fail: did not match Sign
59
+ );
60
+ }
61
+ /** Matches if next is a literal Number */
62
+ export function Number(input) {
63
+ return TakeNumber(Trim(input));
64
+ }
65
+ // deno-coverage-ignore-stop
@@ -0,0 +1,10 @@
1
+ import { type TTrim } from './internal/trim.mjs';
2
+ import { type TNewLine } from './internal/char.mjs';
3
+ import { type TUntil } from './until.mjs';
4
+ type TMultiLine<Start extends string, End extends string, Input extends string> = (Input extends `${Start}${infer Rest extends string}` ? TUntil<[End], Rest> extends [infer Until extends string, infer UntilRest extends string] ? UntilRest extends `${End}${infer Rest extends string}` ? [`${Until}`, Rest] : [] : [] : []);
5
+ type TSingleLine<Start extends string, End extends string, Input extends string> = (Input extends `${Start}${infer Rest extends string}` ? TUntil<[TNewLine, End], Rest> extends [infer Until extends string, infer UntilRest extends string] ? UntilRest extends `${End}${infer EndRest extends string}` ? [`${Until}`, EndRest] : [] : [] : []);
6
+ /** Matches from Start and End capturing everything in-between. Start and End are consumed. */
7
+ export type TSpan<Start extends string, End extends string, MultiLine extends boolean, Input extends string> = (MultiLine extends true ? TMultiLine<Start, End, TTrim<Input>> : TSingleLine<Start, End, TTrim<Input>>);
8
+ /** Matches from Start and End capturing everything in-between. Start and End are consumed. */
9
+ export declare function Span<Start extends string, End extends string, MultiLine extends boolean, Input extends string>(start: Start, end: End, multiLine: MultiLine, input: Input): TSpan<Start, End, MultiLine, Input>;
10
+ export {};
@@ -0,0 +1,35 @@
1
+ // deno-coverage-ignore-start - parsebox tested
2
+ // deno-fmt-ignore-file
3
+ import { IsResult } from './internal/result.mjs';
4
+ import { Trim } from './internal/trim.mjs';
5
+ import { NewLine } from './internal/char.mjs';
6
+ import { Until } from './until.mjs';
7
+ function MultiLine(start, end, input) {
8
+ return (input.startsWith(start) ? (() => {
9
+ const until = Until([end], input.slice(start.length));
10
+ return IsResult(until) ? (() => {
11
+ return until[1].startsWith(end)
12
+ ? [`${until[0]}`, until[1].slice(end.length)]
13
+ : []; // fail: did not match End
14
+ })() : []; // fail: did not match Until
15
+ })() : [] // fail: did not match Start
16
+ );
17
+ }
18
+ function SingleLine(start, end, input) {
19
+ return (input.startsWith(start) ? (() => {
20
+ const until = Until([NewLine, end], input.slice(start.length));
21
+ return IsResult(until) ? (() => {
22
+ return until[1].startsWith(end)
23
+ ? [`${until[0]}`, until[1].slice(end.length)]
24
+ : []; // fail: did not match End
25
+ })() : []; // fail: did not match Until
26
+ })() : [] // fail: not match Start
27
+ );
28
+ }
29
+ /** Matches from Start and End capturing everything in-between. Start and End are consumed. */
30
+ export function Span(start, end, multiLine, input) {
31
+ return (multiLine
32
+ ? MultiLine(start, end, Trim(input))
33
+ : SingleLine(start, end, Trim(input)));
34
+ }
35
+ // deno-coverage-ignore-stop