typebox 0.0.1 → 1.0.0-rc

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1246) hide show
  1. package/build/compile/code.d.mts +12 -0
  2. package/build/compile/code.mjs +65 -0
  3. package/build/compile/compile.d.mts +6 -0
  4. package/build/compile/compile.mjs +11 -0
  5. package/build/compile/index.d.mts +12 -0
  6. package/build/compile/index.mjs +13 -0
  7. package/build/compile/validator.d.mts +30 -0
  8. package/build/compile/validator.mjs +83 -0
  9. package/build/error/errors.d.mts +213 -0
  10. package/build/error/errors.mjs +1 -0
  11. package/build/error/index.d.mts +1 -0
  12. package/build/error/index.mjs +1 -0
  13. package/build/format/_registry.d.mts +15 -0
  14. package/build/format/_registry.mjs +96 -0
  15. package/build/format/date-time.d.mts +6 -0
  16. package/build/format/date-time.mjs +11 -0
  17. package/build/format/date.d.mts +6 -0
  18. package/build/format/date.mjs +19 -0
  19. package/build/format/duration.d.mts +5 -0
  20. package/build/format/duration.mjs +8 -0
  21. package/build/format/email.d.mts +2 -0
  22. package/build/format/email.mjs +5 -0
  23. package/build/format/format.d.mts +22 -0
  24. package/build/format/format.mjs +22 -0
  25. package/build/format/hostname.d.mts +2 -0
  26. package/build/format/hostname.mjs +5 -0
  27. package/build/format/idn-email.d.mts +2 -0
  28. package/build/format/idn-email.mjs +5 -0
  29. package/build/format/idn-hostname.d.mts +5 -0
  30. package/build/format/idn-hostname.mjs +128 -0
  31. package/build/format/index.d.mts +4 -0
  32. package/build/format/index.mjs +4 -0
  33. package/build/format/ipv4.d.mts +6 -0
  34. package/build/format/ipv4.mjs +9 -0
  35. package/build/format/ipv6.d.mts +6 -0
  36. package/build/format/ipv6.mjs +9 -0
  37. package/build/format/iri-reference.d.mts +5 -0
  38. package/build/format/iri-reference.mjs +59 -0
  39. package/build/format/iri.d.mts +5 -0
  40. package/build/format/iri.mjs +13 -0
  41. package/build/format/json-pointer-uri-fragment.d.mts +6 -0
  42. package/build/format/json-pointer-uri-fragment.mjs +9 -0
  43. package/build/format/json-pointer.d.mts +6 -0
  44. package/build/format/json-pointer.mjs +9 -0
  45. package/build/format/regex.d.mts +6 -0
  46. package/build/format/regex.mjs +17 -0
  47. package/build/format/relative-json-pointer.d.mts +6 -0
  48. package/build/format/relative-json-pointer.mjs +9 -0
  49. package/build/format/time.d.mts +5 -0
  50. package/build/format/time.mjs +27 -0
  51. package/build/format/uri-reference.d.mts +6 -0
  52. package/build/format/uri-reference.mjs +9 -0
  53. package/build/format/uri-template.d.mts +6 -0
  54. package/build/format/uri-template.mjs +10 -0
  55. package/build/format/uri.d.mts +6 -0
  56. package/build/format/uri.mjs +9 -0
  57. package/build/format/url.d.mts +6 -0
  58. package/build/format/url.mjs +9 -0
  59. package/build/format/uuid.d.mts +6 -0
  60. package/build/format/uuid.mjs +9 -0
  61. package/build/guard/emit.d.mts +56 -0
  62. package/build/guard/emit.mjs +183 -0
  63. package/build/guard/globals.d.mts +35 -0
  64. package/build/guard/globals.mjs +90 -0
  65. package/build/guard/guard.d.mts +57 -0
  66. package/build/guard/guard.mjs +180 -0
  67. package/build/guard/index.d.mts +6 -0
  68. package/build/guard/index.mjs +6 -0
  69. package/build/guard/native.d.mts +20 -0
  70. package/build/guard/native.mjs +60 -0
  71. package/build/index.d.mts +8 -0
  72. package/build/index.mjs +14 -0
  73. package/build/schema/build.d.mts +35 -0
  74. package/build/schema/build.mjs +97 -0
  75. package/build/schema/check.d.mts +5 -0
  76. package/build/schema/check.mjs +12 -0
  77. package/build/schema/deref/deref.d.mts +4 -0
  78. package/build/schema/deref/deref.mjs +77 -0
  79. package/build/schema/deref/index.d.mts +1 -0
  80. package/build/schema/deref/index.mjs +1 -0
  81. package/build/schema/engine/_context.d.mts +42 -0
  82. package/build/schema/engine/_context.mjs +121 -0
  83. package/build/schema/engine/_externals.d.mts +9 -0
  84. package/build/schema/engine/_externals.mjs +34 -0
  85. package/build/schema/engine/_functions.d.mts +5 -0
  86. package/build/schema/engine/_functions.mjs +46 -0
  87. package/build/schema/engine/_reducer.d.mts +3 -0
  88. package/build/schema/engine/_reducer.mjs +45 -0
  89. package/build/schema/engine/_refine.d.mts +5 -0
  90. package/build/schema/engine/_refine.mjs +29 -0
  91. package/build/schema/engine/_standard.d.mts +5 -0
  92. package/build/schema/engine/_standard.mjs +27 -0
  93. package/build/schema/engine/additionalItems.d.mts +5 -0
  94. package/build/schema/engine/additionalItems.mjs +48 -0
  95. package/build/schema/engine/additionalProperties.d.mts +8 -0
  96. package/build/schema/engine/additionalProperties.mjs +103 -0
  97. package/build/schema/engine/allOf.d.mts +5 -0
  98. package/build/schema/engine/allOf.mjs +47 -0
  99. package/build/schema/engine/anyOf.d.mts +5 -0
  100. package/build/schema/engine/anyOf.mjs +52 -0
  101. package/build/schema/engine/boolean.d.mts +4 -0
  102. package/build/schema/engine/boolean.mjs +25 -0
  103. package/build/schema/engine/const.d.mts +5 -0
  104. package/build/schema/engine/const.mjs +30 -0
  105. package/build/schema/engine/contains.d.mts +5 -0
  106. package/build/schema/engine/contains.mjs +40 -0
  107. package/build/schema/engine/dependencies.d.mts +5 -0
  108. package/build/schema/engine/dependencies.mjs +45 -0
  109. package/build/schema/engine/dependentRequired.d.mts +5 -0
  110. package/build/schema/engine/dependentRequired.mjs +40 -0
  111. package/build/schema/engine/dependentSchemas.d.mts +5 -0
  112. package/build/schema/engine/dependentSchemas.mjs +38 -0
  113. package/build/schema/engine/enum.d.mts +5 -0
  114. package/build/schema/engine/enum.mjs +33 -0
  115. package/build/schema/engine/exclusiveMaximum.d.mts +5 -0
  116. package/build/schema/engine/exclusiveMaximum.mjs +25 -0
  117. package/build/schema/engine/exclusiveMinimum.d.mts +5 -0
  118. package/build/schema/engine/exclusiveMinimum.mjs +25 -0
  119. package/build/schema/engine/format.d.mts +5 -0
  120. package/build/schema/engine/format.mjs +26 -0
  121. package/build/schema/engine/if.d.mts +5 -0
  122. package/build/schema/engine/if.mjs +47 -0
  123. package/build/schema/engine/index.d.mts +47 -0
  124. package/build/schema/engine/index.mjs +53 -0
  125. package/build/schema/engine/items.d.mts +5 -0
  126. package/build/schema/engine/items.mjs +65 -0
  127. package/build/schema/engine/maxContains.d.mts +5 -0
  128. package/build/schema/engine/maxContains.mjs +40 -0
  129. package/build/schema/engine/maxItems.d.mts +5 -0
  130. package/build/schema/engine/maxItems.mjs +25 -0
  131. package/build/schema/engine/maxLength.d.mts +5 -0
  132. package/build/schema/engine/maxLength.mjs +25 -0
  133. package/build/schema/engine/maxProperties.d.mts +5 -0
  134. package/build/schema/engine/maxProperties.mjs +25 -0
  135. package/build/schema/engine/maximum.d.mts +5 -0
  136. package/build/schema/engine/maximum.mjs +25 -0
  137. package/build/schema/engine/minContains.d.mts +5 -0
  138. package/build/schema/engine/minContains.mjs +39 -0
  139. package/build/schema/engine/minItems.d.mts +5 -0
  140. package/build/schema/engine/minItems.mjs +25 -0
  141. package/build/schema/engine/minLength.d.mts +5 -0
  142. package/build/schema/engine/minLength.mjs +25 -0
  143. package/build/schema/engine/minProperties.d.mts +5 -0
  144. package/build/schema/engine/minProperties.mjs +25 -0
  145. package/build/schema/engine/minimum.d.mts +5 -0
  146. package/build/schema/engine/minimum.mjs +25 -0
  147. package/build/schema/engine/multipleOf.d.mts +5 -0
  148. package/build/schema/engine/multipleOf.mjs +25 -0
  149. package/build/schema/engine/not.d.mts +5 -0
  150. package/build/schema/engine/not.mjs +36 -0
  151. package/build/schema/engine/oneOf.d.mts +5 -0
  152. package/build/schema/engine/oneOf.mjs +58 -0
  153. package/build/schema/engine/pattern.d.mts +5 -0
  154. package/build/schema/engine/pattern.mjs +28 -0
  155. package/build/schema/engine/patternProperties.d.mts +5 -0
  156. package/build/schema/engine/patternProperties.mjs +42 -0
  157. package/build/schema/engine/prefixItems.d.mts +5 -0
  158. package/build/schema/engine/prefixItems.mjs +35 -0
  159. package/build/schema/engine/properties.d.mts +5 -0
  160. package/build/schema/engine/properties.mjs +41 -0
  161. package/build/schema/engine/propertyNames.d.mts +5 -0
  162. package/build/schema/engine/propertyNames.mjs +37 -0
  163. package/build/schema/engine/ref.d.mts +5 -0
  164. package/build/schema/engine/ref.mjs +43 -0
  165. package/build/schema/engine/required.d.mts +5 -0
  166. package/build/schema/engine/required.mjs +32 -0
  167. package/build/schema/engine/schema.d.mts +5 -0
  168. package/build/schema/engine/schema.mjs +322 -0
  169. package/build/schema/engine/type.d.mts +5 -0
  170. package/build/schema/engine/type.mjs +74 -0
  171. package/build/schema/engine/unevaluatedItems.d.mts +5 -0
  172. package/build/schema/engine/unevaluatedItems.mjs +49 -0
  173. package/build/schema/engine/unevaluatedProperties.d.mts +5 -0
  174. package/build/schema/engine/unevaluatedProperties.mjs +49 -0
  175. package/build/schema/engine/uniqueItems.d.mts +5 -0
  176. package/build/schema/engine/uniqueItems.mjs +51 -0
  177. package/build/schema/errors.d.mts +6 -0
  178. package/build/schema/errors.mjs +24 -0
  179. package/build/schema/index.d.mts +16 -0
  180. package/build/schema/index.mjs +19 -0
  181. package/build/schema/schema.d.mts +5 -0
  182. package/build/schema/schema.mjs +5 -0
  183. package/build/schema/types/_refine.d.mts +13 -0
  184. package/build/schema/types/_refine.mjs +18 -0
  185. package/build/schema/types/_standard.d.mts +14 -0
  186. package/build/schema/types/_standard.mjs +19 -0
  187. package/build/schema/types/additionalItems.d.mts +9 -0
  188. package/build/schema/types/additionalItems.mjs +14 -0
  189. package/build/schema/types/additionalProperties.d.mts +9 -0
  190. package/build/schema/types/additionalProperties.mjs +14 -0
  191. package/build/schema/types/allOf.d.mts +9 -0
  192. package/build/schema/types/allOf.mjs +15 -0
  193. package/build/schema/types/anyOf.d.mts +9 -0
  194. package/build/schema/types/anyOf.mjs +15 -0
  195. package/build/schema/types/const.d.mts +9 -0
  196. package/build/schema/types/const.mjs +12 -0
  197. package/build/schema/types/contains.d.mts +9 -0
  198. package/build/schema/types/contains.mjs +14 -0
  199. package/build/schema/types/contentEncoding.d.mts +9 -0
  200. package/build/schema/types/contentEncoding.mjs +13 -0
  201. package/build/schema/types/contentMediaType.d.mts +9 -0
  202. package/build/schema/types/contentMediaType.mjs +13 -0
  203. package/build/schema/types/default.d.mts +9 -0
  204. package/build/schema/types/default.mjs +12 -0
  205. package/build/schema/types/defs.d.mts +6 -0
  206. package/build/schema/types/defs.mjs +12 -0
  207. package/build/schema/types/dependencies.d.mts +11 -0
  208. package/build/schema/types/dependencies.mjs +16 -0
  209. package/build/schema/types/dependentRequired.d.mts +9 -0
  210. package/build/schema/types/dependentRequired.mjs +15 -0
  211. package/build/schema/types/dependentSchemas.d.mts +9 -0
  212. package/build/schema/types/dependentSchemas.mjs +15 -0
  213. package/build/schema/types/else.d.mts +9 -0
  214. package/build/schema/types/else.mjs +14 -0
  215. package/build/schema/types/enum.d.mts +9 -0
  216. package/build/schema/types/enum.mjs +13 -0
  217. package/build/schema/types/exclusiveMaximum.d.mts +9 -0
  218. package/build/schema/types/exclusiveMaximum.mjs +13 -0
  219. package/build/schema/types/exclusiveMinimum.d.mts +9 -0
  220. package/build/schema/types/exclusiveMinimum.mjs +13 -0
  221. package/build/schema/types/format.d.mts +9 -0
  222. package/build/schema/types/format.mjs +13 -0
  223. package/build/schema/types/id.d.mts +9 -0
  224. package/build/schema/types/id.mjs +13 -0
  225. package/build/schema/types/if.d.mts +9 -0
  226. package/build/schema/types/if.mjs +14 -0
  227. package/build/schema/types/index.d.mts +51 -0
  228. package/build/schema/types/index.mjs +57 -0
  229. package/build/schema/types/items.d.mts +19 -0
  230. package/build/schema/types/items.mjs +26 -0
  231. package/build/schema/types/maxContains.d.mts +9 -0
  232. package/build/schema/types/maxContains.mjs +13 -0
  233. package/build/schema/types/maxItems.d.mts +9 -0
  234. package/build/schema/types/maxItems.mjs +13 -0
  235. package/build/schema/types/maxLength.d.mts +9 -0
  236. package/build/schema/types/maxLength.mjs +13 -0
  237. package/build/schema/types/maxProperties.d.mts +9 -0
  238. package/build/schema/types/maxProperties.mjs +13 -0
  239. package/build/schema/types/maximum.d.mts +9 -0
  240. package/build/schema/types/maximum.mjs +13 -0
  241. package/build/schema/types/minContains.d.mts +9 -0
  242. package/build/schema/types/minContains.mjs +13 -0
  243. package/build/schema/types/minItems.d.mts +9 -0
  244. package/build/schema/types/minItems.mjs +13 -0
  245. package/build/schema/types/minLength.d.mts +9 -0
  246. package/build/schema/types/minLength.mjs +13 -0
  247. package/build/schema/types/minProperties.d.mts +9 -0
  248. package/build/schema/types/minProperties.mjs +13 -0
  249. package/build/schema/types/minimum.d.mts +9 -0
  250. package/build/schema/types/minimum.mjs +13 -0
  251. package/build/schema/types/multipleOf.d.mts +9 -0
  252. package/build/schema/types/multipleOf.mjs +13 -0
  253. package/build/schema/types/not.d.mts +9 -0
  254. package/build/schema/types/not.mjs +14 -0
  255. package/build/schema/types/oneOf.d.mts +9 -0
  256. package/build/schema/types/oneOf.mjs +15 -0
  257. package/build/schema/types/pattern.d.mts +9 -0
  258. package/build/schema/types/pattern.mjs +14 -0
  259. package/build/schema/types/patternProperties.d.mts +9 -0
  260. package/build/schema/types/patternProperties.mjs +15 -0
  261. package/build/schema/types/prefixItems.d.mts +8 -0
  262. package/build/schema/types/prefixItems.mjs +14 -0
  263. package/build/schema/types/properties.d.mts +9 -0
  264. package/build/schema/types/properties.mjs +15 -0
  265. package/build/schema/types/propertyNames.d.mts +9 -0
  266. package/build/schema/types/propertyNames.mjs +15 -0
  267. package/build/schema/types/ref.d.mts +9 -0
  268. package/build/schema/types/ref.mjs +13 -0
  269. package/build/schema/types/required.d.mts +9 -0
  270. package/build/schema/types/required.mjs +14 -0
  271. package/build/schema/types/schema.d.mts +9 -0
  272. package/build/schema/types/schema.mjs +14 -0
  273. package/build/schema/types/static.d.mts +115 -0
  274. package/build/schema/types/static.mjs +2 -0
  275. package/build/schema/types/then.d.mts +9 -0
  276. package/build/schema/types/then.mjs +14 -0
  277. package/build/schema/types/type.d.mts +9 -0
  278. package/build/schema/types/type.mjs +15 -0
  279. package/build/schema/types/unevaluatedItems.d.mts +9 -0
  280. package/build/schema/types/unevaluatedItems.mjs +14 -0
  281. package/build/schema/types/unevaluatedProperties.d.mts +9 -0
  282. package/build/schema/types/unevaluatedProperties.mjs +14 -0
  283. package/build/schema/types/uniqueItems.d.mts +9 -0
  284. package/build/schema/types/uniqueItems.mjs +13 -0
  285. package/build/system/arguments/arguments.d.mts +5 -0
  286. package/build/system/arguments/arguments.mjs +9 -0
  287. package/build/system/arguments/index.d.mts +1 -0
  288. package/build/system/arguments/index.mjs +1 -0
  289. package/build/system/environment/can-evaluate.d.mts +2 -0
  290. package/build/system/environment/can-evaluate.mjs +26 -0
  291. package/build/system/environment/environment.d.mts +1 -0
  292. package/build/system/environment/environment.mjs +1 -0
  293. package/build/system/environment/index.d.mts +1 -0
  294. package/build/system/environment/index.mjs +1 -0
  295. package/build/system/hashing/hash.d.mts +4 -0
  296. package/build/system/hashing/hash.mjs +232 -0
  297. package/build/system/hashing/index.d.mts +1 -0
  298. package/build/system/hashing/index.mjs +1 -0
  299. package/build/system/index.d.mts +4 -0
  300. package/build/system/index.mjs +4 -0
  301. package/build/system/locale/_config.d.mts +7 -0
  302. package/build/system/locale/_config.mjs +15 -0
  303. package/build/system/locale/_locale.d.mts +40 -0
  304. package/build/system/locale/_locale.mjs +40 -0
  305. package/build/system/locale/ar_001.d.mts +3 -0
  306. package/build/system/locale/ar_001.mjs +41 -0
  307. package/build/system/locale/bn_BD.d.mts +3 -0
  308. package/build/system/locale/bn_BD.mjs +41 -0
  309. package/build/system/locale/cs_CZ.d.mts +3 -0
  310. package/build/system/locale/cs_CZ.mjs +41 -0
  311. package/build/system/locale/de_DE.d.mts +3 -0
  312. package/build/system/locale/de_DE.mjs +41 -0
  313. package/build/system/locale/el_GR.d.mts +3 -0
  314. package/build/system/locale/el_GR.mjs +41 -0
  315. package/build/system/locale/en_US.d.mts +3 -0
  316. package/build/system/locale/en_US.mjs +40 -0
  317. package/build/system/locale/es_419.d.mts +3 -0
  318. package/build/system/locale/es_419.mjs +41 -0
  319. package/build/system/locale/es_AR.d.mts +3 -0
  320. package/build/system/locale/es_AR.mjs +41 -0
  321. package/build/system/locale/es_ES.d.mts +3 -0
  322. package/build/system/locale/es_ES.mjs +41 -0
  323. package/build/system/locale/es_MX.d.mts +3 -0
  324. package/build/system/locale/es_MX.mjs +41 -0
  325. package/build/system/locale/fa_IR.d.mts +3 -0
  326. package/build/system/locale/fa_IR.mjs +41 -0
  327. package/build/system/locale/fil_PH.d.mts +3 -0
  328. package/build/system/locale/fil_PH.mjs +41 -0
  329. package/build/system/locale/fr_CA.d.mts +3 -0
  330. package/build/system/locale/fr_CA.mjs +41 -0
  331. package/build/system/locale/fr_FR.d.mts +3 -0
  332. package/build/system/locale/fr_FR.mjs +41 -0
  333. package/build/system/locale/ha_NG.d.mts +3 -0
  334. package/build/system/locale/ha_NG.mjs +41 -0
  335. package/build/system/locale/hi_IN.d.mts +3 -0
  336. package/build/system/locale/hi_IN.mjs +41 -0
  337. package/build/system/locale/hu_HU.d.mts +3 -0
  338. package/build/system/locale/hu_HU.mjs +41 -0
  339. package/build/system/locale/id_ID.d.mts +3 -0
  340. package/build/system/locale/id_ID.mjs +41 -0
  341. package/build/system/locale/index.d.mts +1 -0
  342. package/build/system/locale/index.mjs +1 -0
  343. package/build/system/locale/it_IT.d.mts +3 -0
  344. package/build/system/locale/it_IT.mjs +41 -0
  345. package/build/system/locale/ja_JP.d.mts +3 -0
  346. package/build/system/locale/ja_JP.mjs +41 -0
  347. package/build/system/locale/ko_KR.d.mts +3 -0
  348. package/build/system/locale/ko_KR.mjs +41 -0
  349. package/build/system/locale/ms_MY.d.mts +3 -0
  350. package/build/system/locale/ms_MY.mjs +41 -0
  351. package/build/system/locale/nl_NL.d.mts +3 -0
  352. package/build/system/locale/nl_NL.mjs +41 -0
  353. package/build/system/locale/pl_PL.d.mts +3 -0
  354. package/build/system/locale/pl_PL.mjs +41 -0
  355. package/build/system/locale/pt_BR.d.mts +3 -0
  356. package/build/system/locale/pt_BR.mjs +41 -0
  357. package/build/system/locale/pt_PT.d.mts +3 -0
  358. package/build/system/locale/pt_PT.mjs +41 -0
  359. package/build/system/locale/ro_RO.d.mts +3 -0
  360. package/build/system/locale/ro_RO.mjs +41 -0
  361. package/build/system/locale/ru_RU.d.mts +3 -0
  362. package/build/system/locale/ru_RU.mjs +41 -0
  363. package/build/system/locale/sv_SE.d.mts +3 -0
  364. package/build/system/locale/sv_SE.mjs +41 -0
  365. package/build/system/locale/sw_TZ.d.mts +3 -0
  366. package/build/system/locale/sw_TZ.mjs +41 -0
  367. package/build/system/locale/th_TH.d.mts +3 -0
  368. package/build/system/locale/th_TH.mjs +41 -0
  369. package/build/system/locale/tr_TR.d.mts +3 -0
  370. package/build/system/locale/tr_TR.mjs +41 -0
  371. package/build/system/locale/uk_UA.d.mts +3 -0
  372. package/build/system/locale/uk_UA.mjs +41 -0
  373. package/build/system/locale/ur_PK.d.mts +3 -0
  374. package/build/system/locale/ur_PK.mjs +41 -0
  375. package/build/system/locale/vi_VN.d.mts +3 -0
  376. package/build/system/locale/vi_VN.mjs +41 -0
  377. package/build/system/locale/yo_NG.d.mts +3 -0
  378. package/build/system/locale/yo_NG.mjs +41 -0
  379. package/build/system/locale/zh_Hans.d.mts +3 -0
  380. package/build/system/locale/zh_Hans.mjs +41 -0
  381. package/build/system/locale/zh_Hant.d.mts +3 -0
  382. package/build/system/locale/zh_Hant.mjs +41 -0
  383. package/build/system/memory/assign.d.mts +14 -0
  384. package/build/system/memory/assign.mjs +10 -0
  385. package/build/system/memory/clone.d.mts +6 -0
  386. package/build/system/memory/clone.mjs +63 -0
  387. package/build/system/memory/create.d.mts +8 -0
  388. package/build/system/memory/create.mjs +23 -0
  389. package/build/system/memory/discard.d.mts +4 -0
  390. package/build/system/memory/discard.mjs +16 -0
  391. package/build/system/memory/index.d.mts +1 -0
  392. package/build/system/memory/index.mjs +1 -0
  393. package/build/system/memory/memory.d.mts +6 -0
  394. package/build/system/memory/memory.mjs +7 -0
  395. package/build/system/memory/metrics.d.mts +14 -0
  396. package/build/system/memory/metrics.mjs +8 -0
  397. package/build/system/memory/update.d.mts +7 -0
  398. package/build/system/memory/update.mjs +32 -0
  399. package/build/system/settings/index.d.mts +1 -0
  400. package/build/system/settings/index.mjs +1 -0
  401. package/build/system/settings/settings.d.mts +37 -0
  402. package/build/system/settings/settings.mjs +28 -0
  403. package/build/system/system.d.mts +6 -0
  404. package/build/system/system.mjs +6 -0
  405. package/build/system/unreachable/index.d.mts +1 -0
  406. package/build/system/unreachable/index.mjs +1 -0
  407. package/build/system/unreachable/unreachable.d.mts +3 -0
  408. package/build/system/unreachable/unreachable.mjs +6 -0
  409. package/build/type/action/_optional.d.mts +19 -0
  410. package/build/type/action/_optional.mjs +40 -0
  411. package/build/type/action/_readonly.d.mts +19 -0
  412. package/build/type/action/_readonly.mjs +40 -0
  413. package/build/type/action/awaited.d.mts +11 -0
  414. package/build/type/action/awaited.mjs +11 -0
  415. package/build/type/action/capitalize.d.mts +11 -0
  416. package/build/type/action/capitalize.mjs +11 -0
  417. package/build/type/action/conditional.d.mts +11 -0
  418. package/build/type/action/conditional.mjs +11 -0
  419. package/build/type/action/constructor-parameters.d.mts +11 -0
  420. package/build/type/action/constructor-parameters.mjs +11 -0
  421. package/build/type/action/evaluate.d.mts +11 -0
  422. package/build/type/action/evaluate.mjs +11 -0
  423. package/build/type/action/exclude.d.mts +11 -0
  424. package/build/type/action/exclude.mjs +11 -0
  425. package/build/type/action/extract.d.mts +11 -0
  426. package/build/type/action/extract.mjs +11 -0
  427. package/build/type/action/index.d.mts +26 -0
  428. package/build/type/action/index.mjs +26 -0
  429. package/build/type/action/indexed.d.mts +14 -0
  430. package/build/type/action/indexed.mjs +14 -0
  431. package/build/type/action/instance-type.d.mts +11 -0
  432. package/build/type/action/instance-type.mjs +11 -0
  433. package/build/type/action/interface.d.mts +14 -0
  434. package/build/type/action/interface.mjs +19 -0
  435. package/build/type/action/keyof.d.mts +11 -0
  436. package/build/type/action/keyof.mjs +11 -0
  437. package/build/type/action/lowercase.d.mts +11 -0
  438. package/build/type/action/lowercase.mjs +11 -0
  439. package/build/type/action/mapped.d.mts +12 -0
  440. package/build/type/action/mapped.mjs +11 -0
  441. package/build/type/action/module.d.mts +12 -0
  442. package/build/type/action/module.mjs +11 -0
  443. package/build/type/action/non-nullable.d.mts +11 -0
  444. package/build/type/action/non-nullable.mjs +11 -0
  445. package/build/type/action/omit.d.mts +14 -0
  446. package/build/type/action/omit.mjs +14 -0
  447. package/build/type/action/options.d.mts +12 -0
  448. package/build/type/action/options.mjs +11 -0
  449. package/build/type/action/parameters.d.mts +11 -0
  450. package/build/type/action/parameters.mjs +11 -0
  451. package/build/type/action/partial.d.mts +11 -0
  452. package/build/type/action/partial.mjs +11 -0
  453. package/build/type/action/pick.d.mts +14 -0
  454. package/build/type/action/pick.mjs +14 -0
  455. package/build/type/action/required.d.mts +11 -0
  456. package/build/type/action/required.mjs +11 -0
  457. package/build/type/action/return-type.d.mts +11 -0
  458. package/build/type/action/return-type.mjs +11 -0
  459. package/build/type/action/uncapitalize.d.mts +11 -0
  460. package/build/type/action/uncapitalize.mjs +11 -0
  461. package/build/type/action/uppercase.d.mts +11 -0
  462. package/build/type/action/uppercase.mjs +11 -0
  463. package/build/type/engine/awaited/index.d.mts +1 -0
  464. package/build/type/engine/awaited/index.mjs +1 -0
  465. package/build/type/engine/awaited/instantiate.d.mts +10 -0
  466. package/build/type/engine/awaited/instantiate.mjs +19 -0
  467. package/build/type/engine/call/instantiate.d.mts +20 -0
  468. package/build/type/engine/call/instantiate.mjs +38 -0
  469. package/build/type/engine/call/resolve-arguments.d.mts +13 -0
  470. package/build/type/engine/call/resolve-arguments.mjs +39 -0
  471. package/build/type/engine/call/resolve-target.d.mts +25 -0
  472. package/build/type/engine/call/resolve-target.mjs +27 -0
  473. package/build/type/engine/conditional/index.d.mts +1 -0
  474. package/build/type/engine/conditional/index.mjs +1 -0
  475. package/build/type/engine/conditional/instantiate.d.mts +10 -0
  476. package/build/type/engine/conditional/instantiate.mjs +19 -0
  477. package/build/type/engine/constructor-parameters/index.d.mts +1 -0
  478. package/build/type/engine/constructor-parameters/index.mjs +1 -0
  479. package/build/type/engine/constructor-parameters/instantiate.d.mts +14 -0
  480. package/build/type/engine/constructor-parameters/instantiate.mjs +21 -0
  481. package/build/type/engine/cyclic/candidates.d.mts +9 -0
  482. package/build/type/engine/cyclic/candidates.mjs +19 -0
  483. package/build/type/engine/cyclic/check.d.mts +24 -0
  484. package/build/type/engine/cyclic/check.mjs +54 -0
  485. package/build/type/engine/cyclic/dependencies.d.mts +25 -0
  486. package/build/type/engine/cyclic/dependencies.mjs +53 -0
  487. package/build/type/engine/cyclic/extends.d.mts +31 -0
  488. package/build/type/engine/cyclic/extends.mjs +53 -0
  489. package/build/type/engine/cyclic/index.d.mts +6 -0
  490. package/build/type/engine/cyclic/index.mjs +6 -0
  491. package/build/type/engine/cyclic/instantiate.d.mts +20 -0
  492. package/build/type/engine/cyclic/instantiate.mjs +29 -0
  493. package/build/type/engine/cyclic/target.d.mts +10 -0
  494. package/build/type/engine/cyclic/target.mjs +16 -0
  495. package/build/type/engine/enum/enum-to-union.d.mts +14 -0
  496. package/build/type/engine/enum/enum-to-union.mjs +24 -0
  497. package/build/type/engine/enum/index.d.mts +2 -0
  498. package/build/type/engine/enum/index.mjs +2 -0
  499. package/build/type/engine/enum/typescript-enum-to-enum-values.d.mts +7 -0
  500. package/build/type/engine/enum/typescript-enum-to-enum-values.mjs +6 -0
  501. package/build/type/engine/evaluate/broaden.d.mts +16 -0
  502. package/build/type/engine/evaluate/broaden.mjs +48 -0
  503. package/build/type/engine/evaluate/compare.d.mts +15 -0
  504. package/build/type/engine/evaluate/compare.mjs +21 -0
  505. package/build/type/engine/evaluate/composite.d.mts +30 -0
  506. package/build/type/engine/evaluate/composite.mjs +63 -0
  507. package/build/type/engine/evaluate/distribute.d.mts +26 -0
  508. package/build/type/engine/evaluate/distribute.mjs +53 -0
  509. package/build/type/engine/evaluate/evaluate.d.mts +11 -0
  510. package/build/type/engine/evaluate/evaluate.mjs +19 -0
  511. package/build/type/engine/evaluate/flatten.d.mts +6 -0
  512. package/build/type/engine/evaluate/flatten.mjs +11 -0
  513. package/build/type/engine/evaluate/index.d.mts +8 -0
  514. package/build/type/engine/evaluate/index.mjs +8 -0
  515. package/build/type/engine/evaluate/instantiate.d.mts +8 -0
  516. package/build/type/engine/evaluate/instantiate.mjs +17 -0
  517. package/build/type/engine/evaluate/narrow.d.mts +5 -0
  518. package/build/type/engine/evaluate/narrow.mjs +11 -0
  519. package/build/type/engine/exclude/index.d.mts +1 -0
  520. package/build/type/engine/exclude/index.mjs +1 -0
  521. package/build/type/engine/exclude/instantiate.d.mts +16 -0
  522. package/build/type/engine/exclude/instantiate.mjs +36 -0
  523. package/build/type/engine/extract/index.d.mts +1 -0
  524. package/build/type/engine/extract/index.mjs +1 -0
  525. package/build/type/engine/extract/instantiate.d.mts +16 -0
  526. package/build/type/engine/extract/instantiate.mjs +36 -0
  527. package/build/type/engine/helpers/index.d.mts +3 -0
  528. package/build/type/engine/helpers/index.mjs +3 -0
  529. package/build/type/engine/helpers/keys-to-indexer.d.mts +7 -0
  530. package/build/type/engine/helpers/keys-to-indexer.mjs +15 -0
  531. package/build/type/engine/helpers/keys.d.mts +3 -0
  532. package/build/type/engine/helpers/keys.mjs +8 -0
  533. package/build/type/engine/helpers/union.d.mts +7 -0
  534. package/build/type/engine/helpers/union.mjs +2 -0
  535. package/build/type/engine/index.d.mts +30 -0
  536. package/build/type/engine/index.mjs +36 -0
  537. package/build/type/engine/indexable/from-cyclic.d.mts +6 -0
  538. package/build/type/engine/indexable/from-cyclic.mjs +8 -0
  539. package/build/type/engine/indexable/from-enum.d.mts +6 -0
  540. package/build/type/engine/indexable/from-enum.mjs +8 -0
  541. package/build/type/engine/indexable/from-intersect.d.mts +5 -0
  542. package/build/type/engine/indexable/from-intersect.mjs +8 -0
  543. package/build/type/engine/indexable/from-literal.d.mts +3 -0
  544. package/build/type/engine/indexable/from-literal.mjs +5 -0
  545. package/build/type/engine/indexable/from-template-literal.d.mts +5 -0
  546. package/build/type/engine/indexable/from-template-literal.mjs +8 -0
  547. package/build/type/engine/indexable/from-type.d.mts +17 -0
  548. package/build/type/engine/indexable/from-type.mjs +22 -0
  549. package/build/type/engine/indexable/from-union.d.mts +4 -0
  550. package/build/type/engine/indexable/from-union.mjs +7 -0
  551. package/build/type/engine/indexable/to-indexable-keys.d.mts +10 -0
  552. package/build/type/engine/indexable/to-indexable-keys.mjs +12 -0
  553. package/build/type/engine/indexable/to-indexable.d.mts +9 -0
  554. package/build/type/engine/indexable/to-indexable.mjs +14 -0
  555. package/build/type/engine/indexed/array-indexer.d.mts +12 -0
  556. package/build/type/engine/indexed/array-indexer.mjs +18 -0
  557. package/build/type/engine/indexed/from-array.d.mts +15 -0
  558. package/build/type/engine/indexed/from-array.mjs +26 -0
  559. package/build/type/engine/indexed/from-object.d.mts +9 -0
  560. package/build/type/engine/indexed/from-object.mjs +18 -0
  561. package/build/type/engine/indexed/from-tuple.d.mts +13 -0
  562. package/build/type/engine/indexed/from-tuple.mjs +28 -0
  563. package/build/type/engine/indexed/index.d.mts +1 -0
  564. package/build/type/engine/indexed/index.mjs +1 -0
  565. package/build/type/engine/indexed/instantiate.d.mts +21 -0
  566. package/build/type/engine/indexed/instantiate.mjs +37 -0
  567. package/build/type/engine/instance-type/index.d.mts +1 -0
  568. package/build/type/engine/instance-type/index.mjs +1 -0
  569. package/build/type/engine/instance-type/instantiate.d.mts +12 -0
  570. package/build/type/engine/instance-type/instantiate.mjs +20 -0
  571. package/build/type/engine/instantiate.d.mts +162 -0
  572. package/build/type/engine/instantiate.mjs +165 -0
  573. package/build/type/engine/interface/index.d.mts +1 -0
  574. package/build/type/engine/interface/index.mjs +1 -0
  575. package/build/type/engine/interface/instantiate.d.mts +16 -0
  576. package/build/type/engine/interface/instantiate.mjs +19 -0
  577. package/build/type/engine/intrinsics/from-literal.d.mts +5 -0
  578. package/build/type/engine/intrinsics/from-literal.mjs +9 -0
  579. package/build/type/engine/intrinsics/from-template-literal.d.mts +6 -0
  580. package/build/type/engine/intrinsics/from-template-literal.mjs +8 -0
  581. package/build/type/engine/intrinsics/from-type.d.mts +10 -0
  582. package/build/type/engine/intrinsics/from-type.mjs +13 -0
  583. package/build/type/engine/intrinsics/from-union.d.mts +6 -0
  584. package/build/type/engine/intrinsics/from-union.mjs +7 -0
  585. package/build/type/engine/intrinsics/index.d.mts +1 -0
  586. package/build/type/engine/intrinsics/index.mjs +1 -0
  587. package/build/type/engine/intrinsics/instantiate.d.mts +34 -0
  588. package/build/type/engine/intrinsics/instantiate.mjs +48 -0
  589. package/build/type/engine/intrinsics/mapping.d.mts +9 -0
  590. package/build/type/engine/intrinsics/mapping.mjs +4 -0
  591. package/build/type/engine/keyof/from-array.d.mts +4 -0
  592. package/build/type/engine/keyof/from-array.mjs +5 -0
  593. package/build/type/engine/keyof/from-object.d.mts +10 -0
  594. package/build/type/engine/keyof/from-object.mjs +20 -0
  595. package/build/type/engine/keyof/from-record.d.mts +4 -0
  596. package/build/type/engine/keyof/from-record.mjs +5 -0
  597. package/build/type/engine/keyof/from-tuple.d.mts +5 -0
  598. package/build/type/engine/keyof/from-tuple.mjs +7 -0
  599. package/build/type/engine/keyof/index.d.mts +1 -0
  600. package/build/type/engine/keyof/index.mjs +1 -0
  601. package/build/type/engine/keyof/instantiate.d.mts +25 -0
  602. package/build/type/engine/keyof/instantiate.mjs +42 -0
  603. package/build/type/engine/mapped/index.d.mts +1 -0
  604. package/build/type/engine/mapped/index.mjs +1 -0
  605. package/build/type/engine/mapped/instantiate.d.mts +28 -0
  606. package/build/type/engine/mapped/instantiate.mjs +47 -0
  607. package/build/type/engine/mapped/mapped-keys.d.mts +14 -0
  608. package/build/type/engine/mapped/mapped-keys.mjs +29 -0
  609. package/build/type/engine/module/index.d.mts +1 -0
  610. package/build/type/engine/module/index.mjs +1 -0
  611. package/build/type/engine/module/instantiate.d.mts +21 -0
  612. package/build/type/engine/module/instantiate.mjs +33 -0
  613. package/build/type/engine/non-nullable/index.d.mts +1 -0
  614. package/build/type/engine/non-nullable/index.mjs +1 -0
  615. package/build/type/engine/non-nullable/instantiate.d.mts +15 -0
  616. package/build/type/engine/non-nullable/instantiate.mjs +21 -0
  617. package/build/type/engine/object/collapse.d.mts +12 -0
  618. package/build/type/engine/object/collapse.mjs +14 -0
  619. package/build/type/engine/object/from-cyclic.d.mts +6 -0
  620. package/build/type/engine/object/from-cyclic.mjs +8 -0
  621. package/build/type/engine/object/from-intersect.d.mts +14 -0
  622. package/build/type/engine/object/from-intersect.mjs +17 -0
  623. package/build/type/engine/object/from-object.d.mts +3 -0
  624. package/build/type/engine/object/from-object.mjs +4 -0
  625. package/build/type/engine/object/from-tuple.d.mts +6 -0
  626. package/build/type/engine/object/from-tuple.mjs +9 -0
  627. package/build/type/engine/object/from-type.d.mts +14 -0
  628. package/build/type/engine/object/from-type.mjs +19 -0
  629. package/build/type/engine/object/from-union.d.mts +12 -0
  630. package/build/type/engine/object/from-union.mjs +26 -0
  631. package/build/type/engine/object/index.d.mts +1 -0
  632. package/build/type/engine/object/index.mjs +1 -0
  633. package/build/type/engine/omit/index.d.mts +1 -0
  634. package/build/type/engine/omit/index.mjs +1 -0
  635. package/build/type/engine/omit/instantiate.d.mts +16 -0
  636. package/build/type/engine/omit/instantiate.mjs +31 -0
  637. package/build/type/engine/options/index.d.mts +1 -0
  638. package/build/type/engine/options/index.mjs +1 -0
  639. package/build/type/engine/options/instantiate.d.mts +8 -0
  640. package/build/type/engine/options/instantiate.mjs +13 -0
  641. package/build/type/engine/parameters/index.d.mts +1 -0
  642. package/build/type/engine/parameters/index.mjs +1 -0
  643. package/build/type/engine/parameters/instantiate.d.mts +14 -0
  644. package/build/type/engine/parameters/instantiate.mjs +21 -0
  645. package/build/type/engine/partial/from-cyclic.d.mts +10 -0
  646. package/build/type/engine/partial/from-cyclic.mjs +11 -0
  647. package/build/type/engine/partial/from-intersect.d.mts +5 -0
  648. package/build/type/engine/partial/from-intersect.mjs +7 -0
  649. package/build/type/engine/partial/from-object.d.mts +8 -0
  650. package/build/type/engine/partial/from-object.mjs +11 -0
  651. package/build/type/engine/partial/from-type.d.mts +12 -0
  652. package/build/type/engine/partial/from-type.mjs +16 -0
  653. package/build/type/engine/partial/from-union.d.mts +5 -0
  654. package/build/type/engine/partial/from-union.mjs +7 -0
  655. package/build/type/engine/partial/index.d.mts +1 -0
  656. package/build/type/engine/partial/index.mjs +1 -0
  657. package/build/type/engine/partial/instantiate.d.mts +9 -0
  658. package/build/type/engine/partial/instantiate.mjs +14 -0
  659. package/build/type/engine/patterns/index.d.mts +2 -0
  660. package/build/type/engine/patterns/index.mjs +2 -0
  661. package/build/type/engine/patterns/pattern.d.mts +7 -0
  662. package/build/type/engine/patterns/pattern.mjs +13 -0
  663. package/build/type/engine/patterns/template.d.mts +7 -0
  664. package/build/type/engine/patterns/template.mjs +20 -0
  665. package/build/type/engine/pick/index.d.mts +1 -0
  666. package/build/type/engine/pick/index.mjs +1 -0
  667. package/build/type/engine/pick/instantiate.d.mts +17 -0
  668. package/build/type/engine/pick/instantiate.mjs +31 -0
  669. package/build/type/engine/record/from-key-any.d.mts +4 -0
  670. package/build/type/engine/record/from-key-any.mjs +6 -0
  671. package/build/type/engine/record/from-key-boolean.d.mts +7 -0
  672. package/build/type/engine/record/from-key-boolean.mjs +5 -0
  673. package/build/type/engine/record/from-key-enum.d.mts +6 -0
  674. package/build/type/engine/record/from-key-enum.mjs +8 -0
  675. package/build/type/engine/record/from-key-integer.d.mts +5 -0
  676. package/build/type/engine/record/from-key-integer.mjs +7 -0
  677. package/build/type/engine/record/from-key-intersect.d.mts +5 -0
  678. package/build/type/engine/record/from-key-intersect.mjs +8 -0
  679. package/build/type/engine/record/from-key-literal.d.mts +11 -0
  680. package/build/type/engine/record/from-key-literal.mjs +10 -0
  681. package/build/type/engine/record/from-key-number.d.mts +5 -0
  682. package/build/type/engine/record/from-key-number.mjs +7 -0
  683. package/build/type/engine/record/from-key-string.d.mts +5 -0
  684. package/build/type/engine/record/from-key-string.mjs +12 -0
  685. package/build/type/engine/record/from-key-template-literal.d.mts +8 -0
  686. package/build/type/engine/record/from-key-template-literal.mjs +12 -0
  687. package/build/type/engine/record/from-key-union.d.mts +20 -0
  688. package/build/type/engine/record/from-key-union.mjs +39 -0
  689. package/build/type/engine/record/from-key.d.mts +24 -0
  690. package/build/type/engine/record/from-key.mjs +40 -0
  691. package/build/type/engine/record/index.d.mts +1 -0
  692. package/build/type/engine/record/index.mjs +1 -0
  693. package/build/type/engine/record/instantiate.d.mts +9 -0
  694. package/build/type/engine/record/instantiate.mjs +16 -0
  695. package/build/type/engine/record/record-create.d.mts +3 -0
  696. package/build/type/engine/record/record-create.mjs +7 -0
  697. package/build/type/engine/ref/index.d.mts +1 -0
  698. package/build/type/engine/ref/index.mjs +1 -0
  699. package/build/type/engine/ref/instantiate.d.mts +6 -0
  700. package/build/type/engine/ref/instantiate.mjs +11 -0
  701. package/build/type/engine/required/from-cyclic.d.mts +10 -0
  702. package/build/type/engine/required/from-cyclic.mjs +11 -0
  703. package/build/type/engine/required/from-intersect.d.mts +5 -0
  704. package/build/type/engine/required/from-intersect.mjs +7 -0
  705. package/build/type/engine/required/from-object.d.mts +8 -0
  706. package/build/type/engine/required/from-object.mjs +11 -0
  707. package/build/type/engine/required/from-type.d.mts +12 -0
  708. package/build/type/engine/required/from-type.mjs +16 -0
  709. package/build/type/engine/required/from-union.d.mts +5 -0
  710. package/build/type/engine/required/from-union.mjs +7 -0
  711. package/build/type/engine/required/index.d.mts +1 -0
  712. package/build/type/engine/required/index.mjs +1 -0
  713. package/build/type/engine/required/instantiate.d.mts +9 -0
  714. package/build/type/engine/required/instantiate.mjs +14 -0
  715. package/build/type/engine/rest/index.d.mts +1 -0
  716. package/build/type/engine/rest/index.mjs +1 -0
  717. package/build/type/engine/rest/spread.d.mts +12 -0
  718. package/build/type/engine/rest/spread.mjs +19 -0
  719. package/build/type/engine/return-type/index.d.mts +1 -0
  720. package/build/type/engine/return-type/index.mjs +1 -0
  721. package/build/type/engine/return-type/instantiate.d.mts +11 -0
  722. package/build/type/engine/return-type/instantiate.mjs +18 -0
  723. package/build/type/engine/template-literal/create.d.mts +1 -0
  724. package/build/type/engine/template-literal/create.mjs +5 -0
  725. package/build/type/engine/template-literal/decode.d.mts +20 -0
  726. package/build/type/engine/template-literal/decode.mjs +73 -0
  727. package/build/type/engine/template-literal/encode.d.mts +31 -0
  728. package/build/type/engine/template-literal/encode.mjs +80 -0
  729. package/build/type/engine/template-literal/finite.d.mts +12 -0
  730. package/build/type/engine/template-literal/finite.mjs +30 -0
  731. package/build/type/engine/template-literal/index.d.mts +5 -0
  732. package/build/type/engine/template-literal/index.mjs +5 -0
  733. package/build/type/engine/template-literal/instantiate.d.mts +9 -0
  734. package/build/type/engine/template-literal/instantiate.mjs +14 -0
  735. package/build/type/engine/template-literal/static.d.mts +18 -0
  736. package/build/type/engine/template-literal/static.mjs +2 -0
  737. package/build/type/engine/tuple/to-object.d.mts +12 -0
  738. package/build/type/engine/tuple/to-object.mjs +13 -0
  739. package/build/type/extends/any.d.mts +9 -0
  740. package/build/type/extends/any.mjs +12 -0
  741. package/build/type/extends/array.d.mts +7 -0
  742. package/build/type/extends/array.mjs +9 -0
  743. package/build/type/extends/async-iterator.d.mts +7 -0
  744. package/build/type/extends/async-iterator.mjs +9 -0
  745. package/build/type/extends/bigint.d.mts +7 -0
  746. package/build/type/extends/bigint.mjs +9 -0
  747. package/build/type/extends/boolean.d.mts +7 -0
  748. package/build/type/extends/boolean.mjs +9 -0
  749. package/build/type/extends/constructor.d.mts +8 -0
  750. package/build/type/extends/constructor.mjs +16 -0
  751. package/build/type/extends/enum.d.mts +7 -0
  752. package/build/type/extends/enum.mjs +6 -0
  753. package/build/type/extends/extends-left.d.mts +55 -0
  754. package/build/type/extends/extends-left.mjs +83 -0
  755. package/build/type/extends/extends-right.d.mts +25 -0
  756. package/build/type/extends/extends-right.mjs +59 -0
  757. package/build/type/extends/extends.d.mts +11 -0
  758. package/build/type/extends/extends.mjs +15 -0
  759. package/build/type/extends/function.d.mts +8 -0
  760. package/build/type/extends/function.mjs +16 -0
  761. package/build/type/extends/index.d.mts +2 -0
  762. package/build/type/extends/index.mjs +2 -0
  763. package/build/type/extends/inference.d.mts +34 -0
  764. package/build/type/extends/inference.mjs +72 -0
  765. package/build/type/extends/integer.d.mts +8 -0
  766. package/build/type/extends/integer.mjs +10 -0
  767. package/build/type/extends/intersect.d.mts +6 -0
  768. package/build/type/extends/intersect.mjs +15 -0
  769. package/build/type/extends/iterator.d.mts +7 -0
  770. package/build/type/extends/iterator.mjs +9 -0
  771. package/build/type/extends/literal.d.mts +17 -0
  772. package/build/type/extends/literal.mjs +41 -0
  773. package/build/type/extends/never.d.mts +8 -0
  774. package/build/type/extends/never.mjs +9 -0
  775. package/build/type/extends/null.d.mts +7 -0
  776. package/build/type/extends/null.mjs +9 -0
  777. package/build/type/extends/number.d.mts +7 -0
  778. package/build/type/extends/number.mjs +9 -0
  779. package/build/type/extends/object.d.mts +25 -0
  780. package/build/type/extends/object.mjs +89 -0
  781. package/build/type/extends/parameters.d.mts +15 -0
  782. package/build/type/extends/parameters.mjs +37 -0
  783. package/build/type/extends/promise.d.mts +7 -0
  784. package/build/type/extends/promise.mjs +9 -0
  785. package/build/type/extends/result.d.mts +21 -0
  786. package/build/type/extends/result.mjs +33 -0
  787. package/build/type/extends/return-type.d.mts +7 -0
  788. package/build/type/extends/return-type.mjs +9 -0
  789. package/build/type/extends/string.d.mts +7 -0
  790. package/build/type/extends/string.mjs +9 -0
  791. package/build/type/extends/symbol.d.mts +7 -0
  792. package/build/type/extends/symbol.mjs +9 -0
  793. package/build/type/extends/template-literal.d.mts +6 -0
  794. package/build/type/extends/template-literal.mjs +7 -0
  795. package/build/type/extends/tuple.d.mts +25 -0
  796. package/build/type/extends/tuple.mjs +82 -0
  797. package/build/type/extends/undefined.d.mts +8 -0
  798. package/build/type/extends/undefined.mjs +10 -0
  799. package/build/type/extends/union.d.mts +11 -0
  800. package/build/type/extends/union.mjs +36 -0
  801. package/build/type/extends/unknown.d.mts +9 -0
  802. package/build/type/extends/unknown.mjs +12 -0
  803. package/build/type/extends/void.d.mts +7 -0
  804. package/build/type/extends/void.mjs +9 -0
  805. package/build/type/index.d.mts +5 -0
  806. package/build/type/index.mjs +5 -0
  807. package/build/type/script/index.d.mts +1 -0
  808. package/build/type/script/index.mjs +1 -0
  809. package/build/type/script/mapping.d.mts +358 -0
  810. package/build/type/script/mapping.mjs +525 -0
  811. package/build/type/script/parser.d.mts +256 -0
  812. package/build/type/script/parser.mjs +132 -0
  813. package/build/type/script/script.d.mts +17 -0
  814. package/build/type/script/script.mjs +21 -0
  815. package/build/type/script/token/bigint.d.mts +8 -0
  816. package/build/type/script/token/bigint.mjs +20 -0
  817. package/build/type/script/token/const.d.mts +11 -0
  818. package/build/type/script/token/const.mjs +18 -0
  819. package/build/type/script/token/ident.d.mts +16 -0
  820. package/build/type/script/token/ident.mjs +35 -0
  821. package/build/type/script/token/index.d.mts +9 -0
  822. package/build/type/script/token/index.mjs +9 -0
  823. package/build/type/script/token/integer.d.mts +19 -0
  824. package/build/type/script/token/integer.mjs +45 -0
  825. package/build/type/script/token/internal/char.d.mts +73 -0
  826. package/build/type/script/token/internal/char.mjs +25 -0
  827. package/build/type/script/token/internal/guard.d.mts +1 -0
  828. package/build/type/script/token/internal/guard.mjs +15 -0
  829. package/build/type/script/token/internal/many.d.mts +7 -0
  830. package/build/type/script/token/internal/many.mjs +17 -0
  831. package/build/type/script/token/internal/optional.d.mts +5 -0
  832. package/build/type/script/token/internal/optional.mjs +12 -0
  833. package/build/type/script/token/internal/result.d.mts +2 -0
  834. package/build/type/script/token/internal/result.mjs +7 -0
  835. package/build/type/script/token/internal/take.d.mts +6 -0
  836. package/build/type/script/token/internal/take.mjs +19 -0
  837. package/build/type/script/token/internal/trim.d.mts +19 -0
  838. package/build/type/script/token/internal/trim.mjs +34 -0
  839. package/build/type/script/token/number.d.mts +20 -0
  840. package/build/type/script/token/number.mjs +65 -0
  841. package/build/type/script/token/span.d.mts +10 -0
  842. package/build/type/script/token/span.mjs +35 -0
  843. package/build/type/script/token/string.d.mts +11 -0
  844. package/build/type/script/token/string.mjs +24 -0
  845. package/build/type/script/token/until.d.mts +6 -0
  846. package/build/type/script/token/until.mjs +21 -0
  847. package/build/type/script/token/until_1.d.mts +5 -0
  848. package/build/type/script/token/until_1.mjs +16 -0
  849. package/build/type/types/_codec.d.mts +30 -0
  850. package/build/type/types/_codec.mjs +59 -0
  851. package/build/type/types/_optional.d.mts +16 -0
  852. package/build/type/types/_optional.mjs +27 -0
  853. package/build/type/types/_readonly.d.mts +16 -0
  854. package/build/type/types/_readonly.mjs +26 -0
  855. package/build/type/types/_refine.d.mts +19 -0
  856. package/build/type/types/_refine.mjs +20 -0
  857. package/build/type/types/any.d.mts +10 -0
  858. package/build/type/types/any.mjs +18 -0
  859. package/build/type/types/array.d.mts +16 -0
  860. package/build/type/types/array.mjs +24 -0
  861. package/build/type/types/async-iterator.d.mts +16 -0
  862. package/build/type/types/async-iterator.mjs +24 -0
  863. package/build/type/types/base.d.mts +40 -0
  864. package/build/type/types/base.mjs +78 -0
  865. package/build/type/types/bigint.d.mts +12 -0
  866. package/build/type/types/bigint.mjs +21 -0
  867. package/build/type/types/boolean.d.mts +11 -0
  868. package/build/type/types/boolean.mjs +17 -0
  869. package/build/type/types/call.d.mts +16 -0
  870. package/build/type/types/call.mjs +21 -0
  871. package/build/type/types/constructor.d.mts +18 -0
  872. package/build/type/types/constructor.mjs +24 -0
  873. package/build/type/types/cyclic.d.mts +16 -0
  874. package/build/type/types/cyclic.mjs +29 -0
  875. package/build/type/types/deferred.d.mts +12 -0
  876. package/build/type/types/deferred.mjs +16 -0
  877. package/build/type/types/enum.d.mts +15 -0
  878. package/build/type/types/enum.mjs +17 -0
  879. package/build/type/types/function.d.mts +18 -0
  880. package/build/type/types/function.mjs +24 -0
  881. package/build/type/types/generic.d.mts +13 -0
  882. package/build/type/types/generic.mjs +17 -0
  883. package/build/type/types/identifier.d.mts +11 -0
  884. package/build/type/types/identifier.mjs +17 -0
  885. package/build/type/types/index.d.mts +47 -0
  886. package/build/type/types/index.mjs +53 -0
  887. package/build/type/types/infer.d.mts +15 -0
  888. package/build/type/types/infer.mjs +20 -0
  889. package/build/type/types/integer.d.mts +12 -0
  890. package/build/type/types/integer.mjs +21 -0
  891. package/build/type/types/intersect.d.mts +15 -0
  892. package/build/type/types/intersect.mjs +24 -0
  893. package/build/type/types/iterator.d.mts +16 -0
  894. package/build/type/types/iterator.mjs +24 -0
  895. package/build/type/types/literal.d.mts +22 -0
  896. package/build/type/types/literal.mjs +41 -0
  897. package/build/type/types/never.d.mts +12 -0
  898. package/build/type/types/never.mjs +21 -0
  899. package/build/type/types/null.d.mts +11 -0
  900. package/build/type/types/null.mjs +17 -0
  901. package/build/type/types/number.d.mts +12 -0
  902. package/build/type/types/number.mjs +21 -0
  903. package/build/type/types/object.d.mts +17 -0
  904. package/build/type/types/object.mjs +27 -0
  905. package/build/type/types/parameter.d.mts +17 -0
  906. package/build/type/types/parameter.mjs +21 -0
  907. package/build/type/types/promise.d.mts +16 -0
  908. package/build/type/types/promise.mjs +24 -0
  909. package/build/type/types/properties.d.mts +42 -0
  910. package/build/type/types/properties.mjs +16 -0
  911. package/build/type/types/record.d.mts +44 -0
  912. package/build/type/types/record.mjs +61 -0
  913. package/build/type/types/ref.d.mts +13 -0
  914. package/build/type/types/ref.mjs +17 -0
  915. package/build/type/types/rest.d.mts +11 -0
  916. package/build/type/types/rest.mjs +17 -0
  917. package/build/type/types/schema.d.mts +199 -0
  918. package/build/type/types/schema.mjs +15 -0
  919. package/build/type/types/static.d.mts +47 -0
  920. package/build/type/types/static.mjs +3 -0
  921. package/build/type/types/string.d.mts +12 -0
  922. package/build/type/types/string.mjs +22 -0
  923. package/build/type/types/symbol.d.mts +11 -0
  924. package/build/type/types/symbol.mjs +17 -0
  925. package/build/type/types/template-literal.d.mts +24 -0
  926. package/build/type/types/template-literal.mjs +26 -0
  927. package/build/type/types/this.d.mts +14 -0
  928. package/build/type/types/this.mjs +17 -0
  929. package/build/type/types/tuple.d.mts +37 -0
  930. package/build/type/types/tuple.mjs +25 -0
  931. package/build/type/types/undefined.d.mts +11 -0
  932. package/build/type/types/undefined.mjs +17 -0
  933. package/build/type/types/union.d.mts +15 -0
  934. package/build/type/types/union.mjs +24 -0
  935. package/build/type/types/unknown.d.mts +10 -0
  936. package/build/type/types/unknown.mjs +17 -0
  937. package/build/type/types/unsafe.d.mts +10 -0
  938. package/build/type/types/unsafe.mjs +18 -0
  939. package/build/type/types/void.d.mts +11 -0
  940. package/build/type/types/void.mjs +17 -0
  941. package/build/typebox.d.mts +71 -0
  942. package/build/typebox.mjs +87 -0
  943. package/build/value/assert/assert.d.mts +8 -0
  944. package/build/value/assert/assert.mjs +27 -0
  945. package/build/value/assert/index.d.mts +1 -0
  946. package/build/value/assert/index.mjs +1 -0
  947. package/build/value/check/check.d.mts +5 -0
  948. package/build/value/check/check.mjs +11 -0
  949. package/build/value/check/index.d.mts +1 -0
  950. package/build/value/check/index.mjs +1 -0
  951. package/build/value/clean/additional.d.mts +2 -0
  952. package/build/value/clean/additional.mjs +6 -0
  953. package/build/value/clean/clean.d.mts +15 -0
  954. package/build/value/clean/clean.mjs +15 -0
  955. package/build/value/clean/from-array.d.mts +2 -0
  956. package/build/value/clean/from-array.mjs +8 -0
  957. package/build/value/clean/from-base.d.mts +2 -0
  958. package/build/value/clean/from-base.mjs +4 -0
  959. package/build/value/clean/from-cyclic.d.mts +2 -0
  960. package/build/value/clean/from-cyclic.mjs +6 -0
  961. package/build/value/clean/from-intersect.d.mts +2 -0
  962. package/build/value/clean/from-intersect.mjs +25 -0
  963. package/build/value/clean/from-object.d.mts +2 -0
  964. package/build/value/clean/from-object.mjs +31 -0
  965. package/build/value/clean/from-record.d.mts +2 -0
  966. package/build/value/clean/from-record.mjs +32 -0
  967. package/build/value/clean/from-ref.d.mts +2 -0
  968. package/build/value/clean/from-ref.mjs +8 -0
  969. package/build/value/clean/from-tuple.d.mts +2 -0
  970. package/build/value/clean/from-tuple.mjs +14 -0
  971. package/build/value/clean/from-type.d.mts +2 -0
  972. package/build/value/clean/from-type.mjs +23 -0
  973. package/build/value/clean/from-union.d.mts +2 -0
  974. package/build/value/clean/from-union.mjs +12 -0
  975. package/build/value/clean/index.d.mts +1 -0
  976. package/build/value/clean/index.mjs +1 -0
  977. package/build/value/clone/clone.d.mts +5 -0
  978. package/build/value/clone/clone.mjs +60 -0
  979. package/build/value/clone/index.d.mts +1 -0
  980. package/build/value/clone/index.mjs +1 -0
  981. package/build/value/codec/callback.d.mts +2 -0
  982. package/build/value/codec/callback.mjs +25 -0
  983. package/build/value/codec/decode.d.mts +19 -0
  984. package/build/value/codec/decode.mjs +48 -0
  985. package/build/value/codec/encode.d.mts +9 -0
  986. package/build/value/codec/encode.mjs +43 -0
  987. package/build/value/codec/from-array.d.mts +2 -0
  988. package/build/value/codec/from-array.mjs +38 -0
  989. package/build/value/codec/from-cyclic.d.mts +2 -0
  990. package/build/value/codec/from-cyclic.mjs +8 -0
  991. package/build/value/codec/from-intersect.d.mts +2 -0
  992. package/build/value/codec/from-intersect.mjs +28 -0
  993. package/build/value/codec/from-object.d.mts +2 -0
  994. package/build/value/codec/from-object.mjs +44 -0
  995. package/build/value/codec/from-record.d.mts +2 -0
  996. package/build/value/codec/from-record.mjs +44 -0
  997. package/build/value/codec/from-ref.d.mts +2 -0
  998. package/build/value/codec/from-ref.mjs +10 -0
  999. package/build/value/codec/from-tuple.d.mts +2 -0
  1000. package/build/value/codec/from-tuple.mjs +35 -0
  1001. package/build/value/codec/from-type.d.mts +2 -0
  1002. package/build/value/codec/from-type.mjs +22 -0
  1003. package/build/value/codec/from-union.d.mts +2 -0
  1004. package/build/value/codec/from-union.mjs +42 -0
  1005. package/build/value/codec/has.d.mts +5 -0
  1006. package/build/value/codec/has.mjs +85 -0
  1007. package/build/value/codec/index.d.mts +3 -0
  1008. package/build/value/codec/index.mjs +3 -0
  1009. package/build/value/convert/convert.d.mts +13 -0
  1010. package/build/value/convert/convert.mjs +15 -0
  1011. package/build/value/convert/from-additional.d.mts +6 -0
  1012. package/build/value/convert/from-additional.mjs +18 -0
  1013. package/build/value/convert/from-array.d.mts +2 -0
  1014. package/build/value/convert/from-array.mjs +8 -0
  1015. package/build/value/convert/from-base.d.mts +2 -0
  1016. package/build/value/convert/from-base.mjs +4 -0
  1017. package/build/value/convert/from-bigint.d.mts +2 -0
  1018. package/build/value/convert/from-bigint.mjs +9 -0
  1019. package/build/value/convert/from-boolean.d.mts +2 -0
  1020. package/build/value/convert/from-boolean.mjs +9 -0
  1021. package/build/value/convert/from-cyclic.d.mts +2 -0
  1022. package/build/value/convert/from-cyclic.mjs +6 -0
  1023. package/build/value/convert/from-enum.d.mts +2 -0
  1024. package/build/value/convert/from-enum.mjs +7 -0
  1025. package/build/value/convert/from-integer.d.mts +2 -0
  1026. package/build/value/convert/from-integer.mjs +9 -0
  1027. package/build/value/convert/from-intersect.d.mts +2 -0
  1028. package/build/value/convert/from-intersect.mjs +7 -0
  1029. package/build/value/convert/from-literal.d.mts +2 -0
  1030. package/build/value/convert/from-literal.mjs +44 -0
  1031. package/build/value/convert/from-null.d.mts +2 -0
  1032. package/build/value/convert/from-null.mjs +9 -0
  1033. package/build/value/convert/from-number.d.mts +2 -0
  1034. package/build/value/convert/from-number.mjs +9 -0
  1035. package/build/value/convert/from-object.d.mts +2 -0
  1036. package/build/value/convert/from-object.mjs +23 -0
  1037. package/build/value/convert/from-record.d.mts +2 -0
  1038. package/build/value/convert/from-record.mjs +23 -0
  1039. package/build/value/convert/from-ref.d.mts +2 -0
  1040. package/build/value/convert/from-ref.mjs +8 -0
  1041. package/build/value/convert/from-string.d.mts +2 -0
  1042. package/build/value/convert/from-string.mjs +9 -0
  1043. package/build/value/convert/from-template-literal.d.mts +2 -0
  1044. package/build/value/convert/from-template-literal.mjs +7 -0
  1045. package/build/value/convert/from-tuple.d.mts +2 -0
  1046. package/build/value/convert/from-tuple.mjs +11 -0
  1047. package/build/value/convert/from-type.d.mts +2 -0
  1048. package/build/value/convert/from-type.mjs +45 -0
  1049. package/build/value/convert/from-undefined.d.mts +2 -0
  1050. package/build/value/convert/from-undefined.mjs +9 -0
  1051. package/build/value/convert/from-union.d.mts +2 -0
  1052. package/build/value/convert/from-union.mjs +13 -0
  1053. package/build/value/convert/from-void.d.mts +2 -0
  1054. package/build/value/convert/from-void.mjs +9 -0
  1055. package/build/value/convert/index.d.mts +1 -0
  1056. package/build/value/convert/index.mjs +1 -0
  1057. package/build/value/convert/try/index.d.mts +1 -0
  1058. package/build/value/convert/try/index.mjs +1 -0
  1059. package/build/value/convert/try/try-bigint.d.mts +2 -0
  1060. package/build/value/convert/try/try-bigint.mjs +74 -0
  1061. package/build/value/convert/try/try-boolean.d.mts +2 -0
  1062. package/build/value/convert/try/try-boolean.mjs +64 -0
  1063. package/build/value/convert/try/try-null.d.mts +2 -0
  1064. package/build/value/convert/try/try-null.mjs +61 -0
  1065. package/build/value/convert/try/try-number.d.mts +2 -0
  1066. package/build/value/convert/try/try-number.mjs +76 -0
  1067. package/build/value/convert/try/try-result.d.mts +8 -0
  1068. package/build/value/convert/try/try-result.mjs +18 -0
  1069. package/build/value/convert/try/try-string.d.mts +2 -0
  1070. package/build/value/convert/try/try-string.mjs +56 -0
  1071. package/build/value/convert/try/try-undefined.d.mts +2 -0
  1072. package/build/value/convert/try/try-undefined.mjs +61 -0
  1073. package/build/value/convert/try/try.d.mts +7 -0
  1074. package/build/value/convert/try/try.mjs +7 -0
  1075. package/build/value/create/create.d.mts +5 -0
  1076. package/build/value/create/create.mjs +11 -0
  1077. package/build/value/create/error.d.mts +5 -0
  1078. package/build/value/create/error.mjs +7 -0
  1079. package/build/value/create/from-array.d.mts +2 -0
  1080. package/build/value/create/from-array.mjs +10 -0
  1081. package/build/value/create/from-async-iterator.d.mts +2 -0
  1082. package/build/value/create/from-async-iterator.mjs +5 -0
  1083. package/build/value/create/from-base.d.mts +2 -0
  1084. package/build/value/create/from-base.mjs +4 -0
  1085. package/build/value/create/from-bigint.d.mts +2 -0
  1086. package/build/value/create/from-bigint.mjs +7 -0
  1087. package/build/value/create/from-boolean.d.mts +2 -0
  1088. package/build/value/create/from-boolean.mjs +4 -0
  1089. package/build/value/create/from-constructor.d.mts +2 -0
  1090. package/build/value/create/from-constructor.mjs +10 -0
  1091. package/build/value/create/from-cyclic.d.mts +2 -0
  1092. package/build/value/create/from-cyclic.mjs +6 -0
  1093. package/build/value/create/from-default.d.mts +3 -0
  1094. package/build/value/create/from-default.mjs +10 -0
  1095. package/build/value/create/from-enum.d.mts +2 -0
  1096. package/build/value/create/from-enum.mjs +6 -0
  1097. package/build/value/create/from-function.d.mts +2 -0
  1098. package/build/value/create/from-function.mjs +6 -0
  1099. package/build/value/create/from-integer.d.mts +2 -0
  1100. package/build/value/create/from-integer.mjs +8 -0
  1101. package/build/value/create/from-intersect.d.mts +2 -0
  1102. package/build/value/create/from-intersect.mjs +6 -0
  1103. package/build/value/create/from-iterator.d.mts +2 -0
  1104. package/build/value/create/from-iterator.mjs +5 -0
  1105. package/build/value/create/from-literal.d.mts +2 -0
  1106. package/build/value/create/from-literal.mjs +4 -0
  1107. package/build/value/create/from-never.d.mts +2 -0
  1108. package/build/value/create/from-never.mjs +5 -0
  1109. package/build/value/create/from-null.d.mts +2 -0
  1110. package/build/value/create/from-null.mjs +4 -0
  1111. package/build/value/create/from-number.d.mts +2 -0
  1112. package/build/value/create/from-number.mjs +8 -0
  1113. package/build/value/create/from-object.d.mts +2 -0
  1114. package/build/value/create/from-object.mjs +9 -0
  1115. package/build/value/create/from-promise.d.mts +2 -0
  1116. package/build/value/create/from-promise.mjs +5 -0
  1117. package/build/value/create/from-record.d.mts +2 -0
  1118. package/build/value/create/from-record.mjs +8 -0
  1119. package/build/value/create/from-ref.d.mts +2 -0
  1120. package/build/value/create/from-ref.mjs +9 -0
  1121. package/build/value/create/from-string.d.mts +2 -0
  1122. package/build/value/create/from-string.mjs +9 -0
  1123. package/build/value/create/from-symbol.d.mts +2 -0
  1124. package/build/value/create/from-symbol.mjs +4 -0
  1125. package/build/value/create/from-template-literal.d.mts +2 -0
  1126. package/build/value/create/from-template-literal.mjs +11 -0
  1127. package/build/value/create/from-tuple.d.mts +2 -0
  1128. package/build/value/create/from-tuple.mjs +5 -0
  1129. package/build/value/create/from-type.d.mts +2 -0
  1130. package/build/value/create/from-type.mjs +69 -0
  1131. package/build/value/create/from-undefined.d.mts +2 -0
  1132. package/build/value/create/from-undefined.mjs +4 -0
  1133. package/build/value/create/from-union.d.mts +2 -0
  1134. package/build/value/create/from-union.mjs +9 -0
  1135. package/build/value/create/from-void.d.mts +2 -0
  1136. package/build/value/create/from-void.mjs +4 -0
  1137. package/build/value/create/index.d.mts +2 -0
  1138. package/build/value/create/index.mjs +2 -0
  1139. package/build/value/default/default.d.mts +13 -0
  1140. package/build/value/default/default.mjs +15 -0
  1141. package/build/value/default/from-array.d.mts +2 -0
  1142. package/build/value/default/from-array.mjs +12 -0
  1143. package/build/value/default/from-base.d.mts +2 -0
  1144. package/build/value/default/from-base.mjs +5 -0
  1145. package/build/value/default/from-cyclic.d.mts +2 -0
  1146. package/build/value/default/from-cyclic.mjs +7 -0
  1147. package/build/value/default/from-default.d.mts +3 -0
  1148. package/build/value/default/from-default.mjs +13 -0
  1149. package/build/value/default/from-intersect.d.mts +2 -0
  1150. package/build/value/default/from-intersect.mjs +8 -0
  1151. package/build/value/default/from-object.d.mts +2 -0
  1152. package/build/value/default/from-object.mjs +30 -0
  1153. package/build/value/default/from-record.d.mts +2 -0
  1154. package/build/value/default/from-record.mjs +26 -0
  1155. package/build/value/default/from-ref.d.mts +2 -0
  1156. package/build/value/default/from-ref.mjs +9 -0
  1157. package/build/value/default/from-tuple.d.mts +2 -0
  1158. package/build/value/default/from-tuple.mjs +14 -0
  1159. package/build/value/default/from-type.d.mts +2 -0
  1160. package/build/value/default/from-type.mjs +27 -0
  1161. package/build/value/default/from-union.d.mts +2 -0
  1162. package/build/value/default/from-union.mjs +14 -0
  1163. package/build/value/default/index.d.mts +1 -0
  1164. package/build/value/default/index.mjs +1 -0
  1165. package/build/value/delta/diff.d.mts +10 -0
  1166. package/build/value/delta/diff.mjs +129 -0
  1167. package/build/value/delta/edit.d.mts +24 -0
  1168. package/build/value/delta/edit.mjs +17 -0
  1169. package/build/value/delta/index.d.mts +3 -0
  1170. package/build/value/delta/index.mjs +3 -0
  1171. package/build/value/delta/patch.d.mts +8 -0
  1172. package/build/value/delta/patch.mjs +42 -0
  1173. package/build/value/equal/equal.d.mts +2 -0
  1174. package/build/value/equal/equal.mjs +6 -0
  1175. package/build/value/equal/index.d.mts +1 -0
  1176. package/build/value/equal/index.mjs +1 -0
  1177. package/build/value/errors/errors.d.mts +16 -0
  1178. package/build/value/errors/errors.mjs +17 -0
  1179. package/build/value/errors/index.d.mts +1 -0
  1180. package/build/value/errors/index.mjs +1 -0
  1181. package/build/value/hash/hash.d.mts +6 -0
  1182. package/build/value/hash/hash.mjs +10 -0
  1183. package/build/value/hash/index.d.mts +1 -0
  1184. package/build/value/hash/index.mjs +1 -0
  1185. package/build/value/index.d.mts +20 -0
  1186. package/build/value/index.mjs +26 -0
  1187. package/build/value/mutate/error.d.mts +3 -0
  1188. package/build/value/mutate/error.mjs +6 -0
  1189. package/build/value/mutate/from-array.d.mts +2 -0
  1190. package/build/value/mutate/from-array.mjs +16 -0
  1191. package/build/value/mutate/from-object.d.mts +2 -0
  1192. package/build/value/mutate/from-object.mjs +27 -0
  1193. package/build/value/mutate/from-unknown.d.mts +2 -0
  1194. package/build/value/mutate/from-unknown.mjs +7 -0
  1195. package/build/value/mutate/from-value.d.mts +2 -0
  1196. package/build/value/mutate/from-value.mjs +12 -0
  1197. package/build/value/mutate/index.d.mts +1 -0
  1198. package/build/value/mutate/index.mjs +1 -0
  1199. package/build/value/mutate/mutate.d.mts +9 -0
  1200. package/build/value/mutate/mutate.mjs +39 -0
  1201. package/build/value/parse/index.d.mts +1 -0
  1202. package/build/value/parse/index.mjs +1 -0
  1203. package/build/value/parse/parse.d.mts +20 -0
  1204. package/build/value/parse/parse.mjs +47 -0
  1205. package/build/value/pipeline/index.d.mts +1 -0
  1206. package/build/value/pipeline/index.mjs +1 -0
  1207. package/build/value/pipeline/pipeline.d.mts +10 -0
  1208. package/build/value/pipeline/pipeline.mjs +15 -0
  1209. package/build/value/pointer/index.d.mts +1 -0
  1210. package/build/value/pointer/index.mjs +1 -0
  1211. package/build/value/pointer/pointer.d.mts +17 -0
  1212. package/build/value/pointer/pointer.mjs +137 -0
  1213. package/build/value/repair/error.d.mts +7 -0
  1214. package/build/value/repair/error.mjs +8 -0
  1215. package/build/value/repair/from-array.d.mts +2 -0
  1216. package/build/value/repair/from-array.mjs +39 -0
  1217. package/build/value/repair/from-enum.d.mts +2 -0
  1218. package/build/value/repair/from-enum.mjs +7 -0
  1219. package/build/value/repair/from-intersect.d.mts +2 -0
  1220. package/build/value/repair/from-intersect.mjs +7 -0
  1221. package/build/value/repair/from-object.d.mts +2 -0
  1222. package/build/value/repair/from-object.mjs +33 -0
  1223. package/build/value/repair/from-record.d.mts +2 -0
  1224. package/build/value/repair/from-record.mjs +33 -0
  1225. package/build/value/repair/from-ref.d.mts +2 -0
  1226. package/build/value/repair/from-ref.mjs +9 -0
  1227. package/build/value/repair/from-template-literal.d.mts +2 -0
  1228. package/build/value/repair/from-template-literal.mjs +7 -0
  1229. package/build/value/repair/from-tuple.d.mts +2 -0
  1230. package/build/value/repair/from-tuple.mjs +12 -0
  1231. package/build/value/repair/from-type.d.mts +2 -0
  1232. package/build/value/repair/from-type.mjs +59 -0
  1233. package/build/value/repair/from-union.d.mts +2 -0
  1234. package/build/value/repair/from-union.mjs +71 -0
  1235. package/build/value/repair/from-unknown.d.mts +2 -0
  1236. package/build/value/repair/from-unknown.mjs +12 -0
  1237. package/build/value/repair/index.d.mts +1 -0
  1238. package/build/value/repair/index.mjs +1 -0
  1239. package/build/value/repair/repair.d.mts +17 -0
  1240. package/build/value/repair/repair.mjs +20 -0
  1241. package/build/value/value.d.mts +16 -0
  1242. package/build/value/value.mjs +16 -0
  1243. package/license +23 -0
  1244. package/package.json +75 -7
  1245. package/readme.md +235 -0
  1246. package/index.ts +0 -1
@@ -0,0 +1,26 @@
1
+ // deno-fmt-ignore-file
2
+ import { Intersect, IsIntersect } from '../../types/intersect.mjs';
3
+ import { Union, IsUnion } from '../../types/union.mjs';
4
+ import { Literal, IsLiteral } from '../../types/literal.mjs';
5
+ import { Number } from '../../types/number.mjs';
6
+ import { Never } from '../../types/never.mjs';
7
+ import { Extends, ExtendsResult } from '../../extends/index.mjs';
8
+ import { ConvertToIntegerKey } from '../helpers/keys.mjs';
9
+ function NormalizeLiteral(value) {
10
+ return Literal(ConvertToIntegerKey(value));
11
+ }
12
+ function NormalizeIndexerTypes(types) {
13
+ return types.map(type => NormalizeIndexer(type));
14
+ }
15
+ export function NormalizeIndexer(type) {
16
+ return (IsIntersect(type) ? Intersect(NormalizeIndexerTypes(type.allOf)) :
17
+ IsUnion(type) ? Union(NormalizeIndexerTypes(type.anyOf)) :
18
+ IsLiteral(type) ? NormalizeLiteral(type.const) :
19
+ type);
20
+ }
21
+ export function FromArray(type, indexer) {
22
+ const normalizedIndexer = NormalizeIndexer(indexer);
23
+ const check = Extends({}, normalizedIndexer, Number());
24
+ const result = ExtendsResult.IsExtendsTrueLike(check) ? type : Never();
25
+ return result;
26
+ }
@@ -0,0 +1,9 @@
1
+ import { type TProperties } from '../../types/properties.mjs';
2
+ import { type TSchema } from '../../types/schema.mjs';
3
+ import { type TEvaluateUnion } from '../evaluate/evaluate.mjs';
4
+ import { type TToIndexableKeys } from '../indexable/to-indexable-keys.mjs';
5
+ type TSelectProperty<Properties extends TProperties, Key extends string, PropertyKey extends string = keyof Properties extends string | number ? `${keyof Properties}` : never, Result extends TSchema[] = Key extends PropertyKey ? [Properties[Key]] : []> = Result;
6
+ type TSelectProperties<Properties extends TProperties, Keys extends string[], Result extends TSchema[] = []> = (Keys extends [infer Left extends string, ...infer Right extends string[]] ? TSelectProperties<Properties, Right, [...Result, ...TSelectProperty<Properties, Left>]> : Result);
7
+ export type TFromObject<Properties extends TProperties, Indexer extends TSchema, Keys extends string[] = TToIndexableKeys<Indexer>, Variants extends TSchema[] = TSelectProperties<Properties, Keys>, Result extends TSchema = TEvaluateUnion<Variants>> = Result;
8
+ export declare function FromObject<Properties extends TProperties, Indexer extends TSchema>(properties: Properties, indexer: Indexer): TFromObject<Properties, Indexer>;
9
+ export {};
@@ -0,0 +1,18 @@
1
+ // deno-fmt-ignore-file
2
+ import { EvaluateUnion } from '../evaluate/evaluate.mjs';
3
+ import { ToIndexableKeys } from '../indexable/to-indexable-keys.mjs';
4
+ function SelectProperty(properties, indexer) {
5
+ const result = indexer in properties ? [properties[indexer]] : [];
6
+ return result;
7
+ }
8
+ function SelectProperties(properties, indexer) {
9
+ return indexer.reduce((result, left) => {
10
+ return [...result, ...SelectProperty(properties, left)];
11
+ }, []);
12
+ }
13
+ export function FromObject(properties, indexer) {
14
+ const keys = ToIndexableKeys(indexer);
15
+ const variants = SelectProperties(properties, keys);
16
+ const result = EvaluateUnion(variants);
17
+ return result;
18
+ }
@@ -0,0 +1,13 @@
1
+ import { type TSchema } from '../../types/schema.mjs';
2
+ import { type TLiteral } from '../../types/literal.mjs';
3
+ import { type TNumber } from '../../types/number.mjs';
4
+ import { type TInteger } from '../../types/integer.mjs';
5
+ import { type TEvaluateUnion } from '../evaluate/evaluate.mjs';
6
+ import { type TExtends, ExtendsResult } from '../../extends/index.mjs';
7
+ import { type TFormatArrayIndexer } from './array-indexer.mjs';
8
+ type TIndexElementsWithIndexer<Types extends TSchema[], Indexer extends TSchema, Result extends TSchema[] = []> = (Types extends [...infer Left extends TSchema[], infer Right extends TSchema] ? TExtends<{}, TLiteral<Left['length']>, Indexer> extends ExtendsResult.TExtendsTrueLike ? TIndexElementsWithIndexer<Left, Indexer, [Right, ...Result]> : TIndexElementsWithIndexer<Left, Indexer, Result> : Result);
9
+ type TFromTupleWithIndexer<Types extends TSchema[], Indexer extends TSchema, ArrayIndexer extends TSchema = TFormatArrayIndexer<Indexer>, Elements extends TSchema[] = TIndexElementsWithIndexer<Types, ArrayIndexer>, Result extends TSchema = TEvaluateUnion<Elements>> = Result;
10
+ type TFromTupleWithoutIndexer<Types extends TSchema[], Result extends TSchema = TEvaluateUnion<Types>> = Result;
11
+ export type TFromTuple<Types extends TSchema[], Indexer extends TSchema, Result extends TSchema = (Indexer extends TNumber | TInteger ? TFromTupleWithoutIndexer<Types> : TFromTupleWithIndexer<Types, Indexer>)> = Result;
12
+ export declare function FromTuple<Types extends TSchema[], Indexer extends TSchema>(types: [...Types], indexer: Indexer): TFromTuple<Types, Indexer>;
13
+ export {};
@@ -0,0 +1,28 @@
1
+ // deno-fmt-ignore-file
2
+ import { Literal } from '../../types/literal.mjs';
3
+ import { IsNumber } from '../../types/number.mjs';
4
+ import { IsInteger } from '../../types/integer.mjs';
5
+ import { EvaluateUnion } from '../evaluate/evaluate.mjs';
6
+ import { Extends, ExtendsResult } from '../../extends/index.mjs';
7
+ import { FormatArrayIndexer } from './array-indexer.mjs';
8
+ function IndexElementsWithIndexer(types, indexer) {
9
+ return types.reduceRight((result, right, index) => {
10
+ const check = Extends({}, Literal(index), indexer);
11
+ return ExtendsResult.IsExtendsTrueLike(check)
12
+ ? [right, ...result]
13
+ : result;
14
+ }, []);
15
+ }
16
+ function FromTupleWithIndexer(types, indexer) {
17
+ const formattedArrayIndexer = FormatArrayIndexer(indexer);
18
+ const elements = IndexElementsWithIndexer(types, formattedArrayIndexer);
19
+ return EvaluateUnion(elements);
20
+ }
21
+ function FromTupleWithoutIndexer(types) {
22
+ return EvaluateUnion(types);
23
+ }
24
+ export function FromTuple(types, indexer) {
25
+ return (IsNumber(indexer) || IsInteger(indexer)
26
+ ? FromTupleWithoutIndexer(types)
27
+ : FromTupleWithIndexer(types, indexer));
28
+ }
@@ -0,0 +1 @@
1
+ export * from './instantiate.mjs';
@@ -0,0 +1 @@
1
+ export * from './instantiate.mjs';
@@ -0,0 +1,21 @@
1
+ import { type TSchema, type TSchemaOptions } from '../../types/schema.mjs';
2
+ import { type TArray } from '../../types/array.mjs';
3
+ import { type TCyclic } from '../../types/cyclic.mjs';
4
+ import { type TIntersect } from '../../types/intersect.mjs';
5
+ import { type TNever } from '../../types/never.mjs';
6
+ import { type TProperties } from '../../types/properties.mjs';
7
+ import { type TObject } from '../../types/object.mjs';
8
+ import { type TTuple } from '../../types/tuple.mjs';
9
+ import { type TUnion } from '../../types/union.mjs';
10
+ import { type TFromArray } from './from-array.mjs';
11
+ import { type TFromObject } from './from-object.mjs';
12
+ import { type TFromTuple } from './from-tuple.mjs';
13
+ import { type TState, type TInstantiateType, TCanInstantiate } from '../instantiate.mjs';
14
+ import { type TIndexDeferred } from '../../action/indexed.mjs';
15
+ import { type TCollapseToObject } from '../object/index.mjs';
16
+ type TNormalizeType<Type extends TSchema, Result extends TSchema = (Type extends TCyclic | TIntersect | TUnion ? TCollapseToObject<Type> : Type)> = Result;
17
+ type TIndexAction<Type extends TSchema, Indexer extends TSchema, Normal extends TSchema = TNormalizeType<Type>> = (Normal extends TArray<infer Type extends TSchema> ? TFromArray<Type, Indexer> : Normal extends TObject<infer Properties extends TProperties> ? TFromObject<Properties, Indexer> : Normal extends TTuple<infer Types extends TSchema[]> ? TFromTuple<Types, Indexer> : TNever);
18
+ type TIndexImmediate<Context extends TProperties, State extends TState, Type extends TSchema, Indexer extends TSchema, InstantiatedType extends TSchema = TInstantiateType<Context, State, Type>, InstantiatedIndexer extends TSchema = TInstantiateType<Context, State, Indexer>> = TIndexAction<InstantiatedType, InstantiatedIndexer>;
19
+ export type TIndexInstantiate<Context extends TProperties, State extends TState, Type extends TSchema, Indexer extends TSchema> = TCanInstantiate<Context, [Type, Indexer]> extends true ? TIndexImmediate<Context, State, Type, Indexer> : TIndexDeferred<Type, Indexer>;
20
+ export declare function IndexInstantiate<Context extends TProperties, State extends TState, Type extends TSchema, Indexer extends TSchema>(context: Context, state: State, type: Type, indexer: Indexer, options: TSchemaOptions): TIndexInstantiate<Context, State, Type, Indexer>;
21
+ export {};
@@ -0,0 +1,37 @@
1
+ // deno-fmt-ignore-file
2
+ import { Memory } from '../../../system/memory/index.mjs';
3
+ import { IsArray } from '../../types/array.mjs';
4
+ import { IsCyclic } from '../../types/cyclic.mjs';
5
+ import { IsIntersect } from '../../types/intersect.mjs';
6
+ import { Never } from '../../types/never.mjs';
7
+ import { IsObject } from '../../types/object.mjs';
8
+ import { IsTuple } from '../../types/tuple.mjs';
9
+ import { IsUnion } from '../../types/union.mjs';
10
+ import { FromArray } from './from-array.mjs';
11
+ import { FromObject } from './from-object.mjs';
12
+ import { FromTuple } from './from-tuple.mjs';
13
+ import { InstantiateType, CanInstantiate } from '../instantiate.mjs';
14
+ import { IndexDeferred } from '../../action/indexed.mjs';
15
+ import { CollapseToObject } from '../object/index.mjs';
16
+ function NormalizeType(type) {
17
+ const result = (IsCyclic(type) || IsIntersect(type) || IsUnion(type) ? CollapseToObject(type) :
18
+ type);
19
+ return result;
20
+ }
21
+ function IndexAction(type, indexer) {
22
+ const normal = NormalizeType(type);
23
+ return (IsArray(normal) ? FromArray(normal.items, indexer) :
24
+ IsObject(normal) ? FromObject(normal.properties, indexer) :
25
+ IsTuple(normal) ? FromTuple(normal.items, indexer) :
26
+ Never());
27
+ }
28
+ function IndexImmediate(context, state, type, indexer, options) {
29
+ const instantiatedType = InstantiateType(context, state, type);
30
+ const instantiatedIndexer = InstantiateType(context, state, indexer);
31
+ return Memory.Update(IndexAction(instantiatedType, instantiatedIndexer), {}, options);
32
+ }
33
+ export function IndexInstantiate(context, state, type, indexer, options) {
34
+ return (CanInstantiate(context, [type, indexer])
35
+ ? IndexImmediate(context, state, type, indexer, options)
36
+ : IndexDeferred(type, indexer, options));
37
+ }
@@ -0,0 +1 @@
1
+ export * from './instantiate.mjs';
@@ -0,0 +1 @@
1
+ export * from './instantiate.mjs';
@@ -0,0 +1,12 @@
1
+ import { type TSchema, type TSchemaOptions } from '../../types/schema.mjs';
2
+ import { type TProperties } from '../../types/properties.mjs';
3
+ import { type TConstructor } from '../../types/constructor.mjs';
4
+ import { type TNever } from '../../types/never.mjs';
5
+ import { type TInstanceTypeDeferred } from '../../action/instance-type.mjs';
6
+ import { type TState, type TInstantiateType, type TCanInstantiate } from '../instantiate.mjs';
7
+ type TInstanceTypeAction<Type extends TSchema> = (Type extends TConstructor<infer _Parameters extends TSchema[], infer InstanceType extends TSchema> ? InstanceType : TNever);
8
+ export type TInstanceTypeImmediate<Context extends TProperties, State extends TState, Type extends TSchema, InstantiatedType extends TSchema = TInstantiateType<Context, State, Type>> = TInstanceTypeAction<InstantiatedType>;
9
+ export declare function InstanceTypeImmediate<Context extends TProperties, State extends TState, Type extends TSchema>(context: Context, state: State, type: Type, options: TSchemaOptions): TInstanceTypeImmediate<Context, State, Type>;
10
+ export type TInstanceTypeInstantiate<Context extends TProperties, State extends TState, Type extends TSchema> = TCanInstantiate<Context, [Type]> extends true ? TInstanceTypeImmediate<Context, State, Type> : TInstanceTypeDeferred<Type>;
11
+ export declare function InstanceTypeInstantiate<Context extends TProperties, State extends TState, Type extends TSchema>(context: Context, state: State, type: Type, options?: TSchemaOptions): TInstanceTypeInstantiate<Context, State, Type>;
12
+ export {};
@@ -0,0 +1,20 @@
1
+ // deno-fmt-ignore-file
2
+ import { Memory } from '../../../system/memory/index.mjs';
3
+ import { IsConstructor } from '../../types/constructor.mjs';
4
+ import { Never } from '../../types/never.mjs';
5
+ import { InstanceTypeDeferred } from '../../action/instance-type.mjs';
6
+ import { InstantiateType, CanInstantiate } from '../instantiate.mjs';
7
+ function InstanceTypeAction(type) {
8
+ return (IsConstructor(type)
9
+ ? type.instanceType
10
+ : Never());
11
+ }
12
+ export function InstanceTypeImmediate(context, state, type, options) {
13
+ const instantiatedType = InstantiateType(context, state, type);
14
+ return Memory.Update(InstanceTypeAction(instantiatedType), {}, options);
15
+ }
16
+ export function InstanceTypeInstantiate(context, state, type, options = {}) {
17
+ return (CanInstantiate(context, [type])
18
+ ? InstanceTypeImmediate(context, state, type, options)
19
+ : InstanceTypeDeferred(type, options));
20
+ }
@@ -0,0 +1,162 @@
1
+ import { type TOptional, TOptionalAdd, TOptionalRemove } from '../types/_optional.mjs';
2
+ import { type TReadonly, TReadonlyAdd, TReadonlyRemove } from '../types/_readonly.mjs';
3
+ import { type TSchema } from '../types/schema.mjs';
4
+ import { type TArray } from '../types/array.mjs';
5
+ import { type TAsyncIterator } from '../types/async-iterator.mjs';
6
+ import { type TConstructor } from '../types/constructor.mjs';
7
+ import { type TDeferred } from '../types/deferred.mjs';
8
+ import { type TFunction } from '../types/function.mjs';
9
+ import { type TCall } from '../types/call.mjs';
10
+ import { type TIdentifier } from '../types/identifier.mjs';
11
+ import { type TIntersect } from '../types/intersect.mjs';
12
+ import { type TIterator } from '../types/iterator.mjs';
13
+ import { type TObject } from '../types/object.mjs';
14
+ import { type TPromise } from '../types/promise.mjs';
15
+ import { type TProperties } from '../types/properties.mjs';
16
+ import { type TRecord } from '../types/record.mjs';
17
+ import { type TTuple } from '../types/tuple.mjs';
18
+ import { type TUnion } from '../types/union.mjs';
19
+ import { type TRef } from '../types/ref.mjs';
20
+ import { type TRest } from '../types/rest.mjs';
21
+ import { type TReadonlyAddAction, type TReadonlyRemoveAction } from '../action/_readonly.mjs';
22
+ import { type TOptionalAddAction, type TOptionalRemoveAction } from '../action/_optional.mjs';
23
+ import { type TAwaitedInstantiate } from './awaited/instantiate.mjs';
24
+ import { type TCallInstantiate } from './call/instantiate.mjs';
25
+ import { type TCapitalizeInstantiate } from './intrinsics/instantiate.mjs';
26
+ import { type TConditionalInstantiate } from './conditional/index.mjs';
27
+ import { type TConstructorParametersInstantiate } from './constructor-parameters/instantiate.mjs';
28
+ import { type TEvaluateInstantiate } from './evaluate/instantiate.mjs';
29
+ import { type TExcludeInstantiate } from './exclude/instantiate.mjs';
30
+ import { type TExtractInstantiate } from './extract/instantiate.mjs';
31
+ import { type TIndexInstantiate } from './indexed/instantiate.mjs';
32
+ import { type TInstanceTypeInstantiate } from './instance-type/instantiate.mjs';
33
+ import { type TInterfaceInstantiate } from './interface/instantiate.mjs';
34
+ import { type TKeyOfInstantiate } from './keyof/instantiate.mjs';
35
+ import { type TLowercaseInstantiate } from './intrinsics/instantiate.mjs';
36
+ import { type TMappedInstantiate } from './mapped/instantiate.mjs';
37
+ import { type TModuleInstantiate } from './module/instantiate.mjs';
38
+ import { type TNonNullableInstantiate } from './non-nullable/instantiate.mjs';
39
+ import { type TOmitInstantiate } from './omit/instantiate.mjs';
40
+ import { type TOptionsInstantiate } from './options/instantiate.mjs';
41
+ import { type TParametersInstantiate } from './parameters/instantiate.mjs';
42
+ import { type TPartialInstantiate } from './partial/instantiate.mjs';
43
+ import { type TPickInstantiate } from './pick/instantiate.mjs';
44
+ import { type TRecordInstantiate } from './record/instantiate.mjs';
45
+ import { type TRefInstantiate } from './ref/instantiate.mjs';
46
+ import { type TRequiredInstantiate } from './required/instantiate.mjs';
47
+ import { type TReturnTypeInstantiate } from './return-type/instantiate.mjs';
48
+ import { type TTemplateLiteralInstantiate } from './template-literal/instantiate.mjs';
49
+ import { type TUncapitalizeInstantiate } from './intrinsics/instantiate.mjs';
50
+ import { type TUppercaseInstantiate } from './intrinsics/instantiate.mjs';
51
+ import { type TRestSpread } from './rest/index.mjs';
52
+ export interface TState {
53
+ callstack: string[];
54
+ }
55
+ type TCanInstantiateRef<Context extends TProperties, Ref extends string> = (Ref extends keyof Context ? true : false);
56
+ type TCanInstantiateType<Context extends TProperties, Type extends TSchema> = (Type extends TIntersect<infer Types extends TSchema[]> ? TCanInstantiate<Context, Types> : Type extends TUnion<infer Types extends TSchema[]> ? TCanInstantiate<Context, Types> : Type extends TRef<infer Ref extends string> ? TCanInstantiateRef<Context, Ref> : true);
57
+ export type TCanInstantiate<Context extends TProperties, Types extends TSchema[]> = Types extends [infer Left extends TSchema, ...infer Right extends TSchema[]] ? TCanInstantiateType<Context, Left> extends true ? TCanInstantiate<Context, Right> : false : true;
58
+ export declare function CanInstantiate<Context extends TProperties, Types extends TSchema[]>(context: Context, types: [...Types]): TCanInstantiate<Context, Types>;
59
+ type ModifierAction = 'add' | 'remove' | 'none';
60
+ type TModifierActions<Type extends TSchema, Readonly extends ModifierAction, Optional extends ModifierAction> = (Type extends TReadonlyRemoveAction<infer Type extends TSchema> ? TModifierActions<Type, 'remove', Optional> : Type extends TOptionalRemoveAction<infer Type extends TSchema> ? TModifierActions<Type, Readonly, 'remove'> : Type extends TReadonlyAddAction<infer Type extends TSchema> ? TModifierActions<Type, 'add', Optional> : Type extends TOptionalAddAction<infer Type extends TSchema> ? TModifierActions<Type, Readonly, 'add'> : [
61
+ Type,
62
+ Readonly,
63
+ Optional
64
+ ]);
65
+ type TApplyReadonly<Action extends ModifierAction, Type extends TSchema> = (Action extends 'remove' ? TReadonlyRemove<Type> : Action extends 'add' ? TReadonlyAdd<Type> : Type);
66
+ type TApplyOptional<Action extends ModifierAction, Type extends TSchema> = (Action extends 'remove' ? TOptionalRemove<Type> : Action extends 'add' ? TOptionalAdd<Type> : Type);
67
+ export type TInstantiateProperties<Context extends TProperties, State extends TState, Properties extends TProperties, Result extends TProperties = {
68
+ [Key in keyof Properties]: TInstantiateType<Context, State, Properties[Key]>;
69
+ }> = Result;
70
+ export declare function InstantiateProperties<Context extends TProperties, State extends TState, Properties extends TProperties>(context: Context, state: State, properties: TProperties): TInstantiateProperties<Context, State, Properties>;
71
+ export type TInstantiateElements<Context extends TProperties, State extends TState, Types extends TSchema[], Elements extends TSchema[] = TInstantiateTypes<Context, State, Types>, Result extends TSchema[] = TRestSpread<Elements>> = Result;
72
+ export declare function InstantiateElements<Context extends TProperties, State extends TState, Types extends TSchema[]>(context: Context, state: State, types: [...Types]): TInstantiateElements<Context, State, Types>;
73
+ export type TInstantiateTypes<Context extends TProperties, State extends TState, Types extends TSchema[], Result extends TSchema[] = []> = (Types extends [infer Left extends TSchema, ...infer Right extends TSchema[]] ? TInstantiateTypes<Context, State, Right, [...Result, TInstantiateType<Context, State, Left>]> : Result);
74
+ export declare function InstantiateTypes<Context extends TProperties, State extends TState, Types extends TSchema[]>(context: Context, state: State, types: [...Types]): TInstantiateTypes<Context, State, Types>;
75
+ type TInstantiateDeferred<Context extends TProperties, State extends TState, Action extends string, Parameters extends TSchema[]> = ([
76
+ Action,
77
+ Parameters
78
+ ] extends ['Awaited', [infer Type extends TSchema]] ? TAwaitedInstantiate<Context, State, Type> : [
79
+ Action,
80
+ Parameters
81
+ ] extends ['Capitalize', [infer Type extends TSchema]] ? TCapitalizeInstantiate<Context, State, Type> : [
82
+ Action,
83
+ Parameters
84
+ ] extends ['Conditional', [infer Left extends TSchema, infer Right extends TSchema, infer True extends TSchema, infer False extends TSchema]] ? TConditionalInstantiate<Context, State, Left, Right, True, False> : [
85
+ Action,
86
+ Parameters
87
+ ] extends ['ConstructorParameters', [infer Type extends TSchema]] ? TConstructorParametersInstantiate<Context, State, Type> : [
88
+ Action,
89
+ Parameters
90
+ ] extends ['Evaluate', [infer Type extends TSchema]] ? TEvaluateInstantiate<Context, State, Type> : [
91
+ Action,
92
+ Parameters
93
+ ] extends ['Exclude', [infer Left extends TSchema, infer Right extends TSchema]] ? TExcludeInstantiate<Context, State, Left, Right> : [
94
+ Action,
95
+ Parameters
96
+ ] extends ['Extract', [infer Left extends TSchema, infer Right extends TSchema]] ? TExtractInstantiate<Context, State, Left, Right> : [
97
+ Action,
98
+ Parameters
99
+ ] extends ['Index', [infer Type extends TSchema, infer Indexer extends TSchema]] ? TIndexInstantiate<Context, State, Type, Indexer> : [
100
+ Action,
101
+ Parameters
102
+ ] extends ['InstanceType', [infer Type extends TSchema]] ? TInstanceTypeInstantiate<Context, State, Type> : [
103
+ Action,
104
+ Parameters
105
+ ] extends ['Interface', [infer Heritage extends TSchema[], infer Properties extends TProperties]] ? TInterfaceInstantiate<Context, State, Heritage, Properties> : [
106
+ Action,
107
+ Parameters
108
+ ] extends ['KeyOf', [infer Type extends TSchema]] ? TKeyOfInstantiate<Context, State, Type> : [
109
+ Action,
110
+ Parameters
111
+ ] extends ['Lowercase', [infer Type extends TSchema]] ? TLowercaseInstantiate<Context, State, Type> : [
112
+ Action,
113
+ Parameters
114
+ ] extends ['Mapped', [infer Name extends TIdentifier, infer Key extends TSchema, infer As extends TSchema, infer Property extends TSchema]] ? TMappedInstantiate<Context, State, Name, Key, As, Property> : [
115
+ Action,
116
+ Parameters
117
+ ] extends ['Module', [infer Properties extends TProperties]] ? TModuleInstantiate<Context, State, Properties> : [
118
+ Action,
119
+ Parameters
120
+ ] extends ['NonNullable', [infer Type extends TSchema]] ? TNonNullableInstantiate<Context, State, Type> : [
121
+ Action,
122
+ Parameters
123
+ ] extends ['Pick', [infer Type extends TSchema, infer Indexer extends TSchema]] ? TPickInstantiate<Context, State, Type, Indexer> : [
124
+ Action,
125
+ Parameters
126
+ ] extends ['Options', [infer Type extends TSchema, infer Options extends TSchema]] ? TOptionsInstantiate<Context, State, Type, Options> : [
127
+ Action,
128
+ Parameters
129
+ ] extends ['Parameters', [infer Type extends TSchema]] ? TParametersInstantiate<Context, State, Type> : [
130
+ Action,
131
+ Parameters
132
+ ] extends ['Partial', [infer Type extends TSchema]] ? TPartialInstantiate<Context, State, Type> : [
133
+ Action,
134
+ Parameters
135
+ ] extends ['Omit', [infer Type extends TSchema, infer Indexer extends TSchema]] ? TOmitInstantiate<Context, State, Type, Indexer> : [
136
+ Action,
137
+ Parameters
138
+ ] extends ['Record', [infer Key extends TSchema, infer Value extends TSchema]] ? TRecordInstantiate<Context, State, Key, Value> : [
139
+ Action,
140
+ Parameters
141
+ ] extends ['Required', [infer Type extends TSchema]] ? TRequiredInstantiate<Context, State, Type> : [
142
+ Action,
143
+ Parameters
144
+ ] extends ['ReturnType', [infer Type extends TSchema]] ? TReturnTypeInstantiate<Context, State, Type> : [
145
+ Action,
146
+ Parameters
147
+ ] extends ['TemplateLiteral', [infer Types extends TSchema[]]] ? TTemplateLiteralInstantiate<Context, State, Types> : [
148
+ Action,
149
+ Parameters
150
+ ] extends ['Uncapitalize', [infer Type extends TSchema]] ? TUncapitalizeInstantiate<Context, State, Type> : [
151
+ Action,
152
+ Parameters
153
+ ] extends ['Uppercase', [infer Type extends TSchema]] ? TUppercaseInstantiate<Context, State, Type> : TDeferred<Action, Parameters>);
154
+ export type TInstantiateType<Context extends TProperties, State extends TState, Input extends TSchema, ModifierState extends [TSchema, ModifierAction, ModifierAction] = TModifierActions<Input, Input extends TReadonly<Input> ? 'add' : 'none', Input extends TOptional<Input> ? 'add' : 'none'>, Type extends TSchema = ModifierState[0], Instantiated extends TSchema = (Type extends TRef<infer Ref extends string> ? TRefInstantiate<Context, State, Ref> : Type extends TArray<infer Type extends TSchema> ? TArray<TInstantiateType<Context, State, Type>> : Type extends TAsyncIterator<infer Type extends TSchema> ? TAsyncIterator<TInstantiateType<Context, State, Type>> : Type extends TCall<infer Target extends TSchema, infer Parameters extends TSchema[]> ? TCallInstantiate<Context, State, Target, Parameters> : Type extends TConstructor<infer Parameters extends TSchema[], infer InstanceType extends TSchema> ? TConstructor<TInstantiateTypes<Context, State, Parameters>, TInstantiateType<Context, State, InstanceType>> : Type extends TDeferred<infer Action extends string, infer Types extends TSchema[]> ? TInstantiateDeferred<Context, State, Action, Types> : Type extends TFunction<infer Parameters extends TSchema[], infer ReturnType extends TSchema> ? TFunction<TInstantiateTypes<Context, State, Parameters>, TInstantiateType<Context, State, ReturnType>> : Type extends TIntersect<infer Types extends TSchema[]> ? TIntersect<TInstantiateTypes<Context, State, Types>> : Type extends TIterator<infer Type extends TSchema> ? TIterator<TInstantiateType<Context, State, Type>> : Type extends TObject<infer Properties extends TProperties> ? TObject<TInstantiateProperties<Context, State, Properties>> : Type extends TPromise<infer Type extends TSchema> ? TPromise<TInstantiateType<Context, State, Type>> : Type extends TRecord<infer Key extends string, infer Type extends TSchema> ? TRecord<Key, TInstantiateType<Context, State, Type>> : Type extends TRest<infer Type extends TSchema> ? TRest<TInstantiateType<Context, State, Type>> : Type extends TTuple<infer Types extends TSchema[]> ? TTuple<TInstantiateElements<Context, State, Types>> : Type extends TUnion<infer Types extends TSchema[]> ? TUnion<TInstantiateTypes<Context, State, Types>> : Type)> = TApplyReadonly<ModifierState[1], TApplyOptional<ModifierState[2], Instantiated>>;
155
+ export declare function InstantiateType<Context extends TProperties, State extends TState, Type extends TSchema>(context: Context, state: State, input: Type): TInstantiateType<Context, State, Type>;
156
+ /** Instantiates computed schematics using the given context and type. */
157
+ export type TInstantiate<Context extends TProperties, Type extends TSchema> = (TInstantiateType<Context, {
158
+ callstack: [];
159
+ }, Type>);
160
+ /** Instantiates computed schematics using the given context and type. */
161
+ export declare function Instantiate<Context extends TProperties, Type extends TSchema>(context: Context, type: Type): TInstantiate<Context, Type>;
162
+ export {};
@@ -0,0 +1,165 @@
1
+ // deno-fmt-ignore-file
2
+ // deno-lint-ignore-file
3
+ import { Guard } from '../../guard/index.mjs';
4
+ // ------------------------------------------------------------------
5
+ // Modifiers
6
+ // ------------------------------------------------------------------
7
+ import { IsOptional, OptionalAdd, OptionalRemove } from '../types/_optional.mjs';
8
+ import { IsReadonly, ReadonlyAdd, ReadonlyRemove } from '../types/_readonly.mjs';
9
+ // ------------------------------------------------------------------
10
+ // Types
11
+ // ------------------------------------------------------------------
12
+ import { IsSchema } from '../types/schema.mjs';
13
+ import { Array, IsArray, ArrayOptions } from '../types/array.mjs';
14
+ import { AsyncIterator, IsAsyncIterator, AsyncIteratorOptions } from '../types/async-iterator.mjs';
15
+ import { Constructor, IsConstructor, ConstructorOptions } from '../types/constructor.mjs';
16
+ import { Deferred, IsDeferred } from '../types/deferred.mjs';
17
+ import { Function, IsFunction, FunctionOptions } from '../types/function.mjs';
18
+ import { IsCall } from '../types/call.mjs';
19
+ import { Intersect, IsIntersect, IntersectOptions } from '../types/intersect.mjs';
20
+ import { Iterator, IsIterator, IteratorOptions } from '../types/iterator.mjs';
21
+ import { Object, IsObject, ObjectOptions } from '../types/object.mjs';
22
+ import { Promise, IsPromise, PromiseOptions } from '../types/promise.mjs';
23
+ import { RecordFromPattern, IsRecord, RecordPattern, RecordValue } from '../types/record.mjs';
24
+ import { Tuple, IsTuple, TupleOptions } from '../types/tuple.mjs';
25
+ import { Union, IsUnion, UnionOptions } from '../types/union.mjs';
26
+ import { IsRef } from '../types/ref.mjs';
27
+ import { Rest, IsRest } from '../types/rest.mjs';
28
+ // ------------------------------------------------------------------
29
+ // Modifier Actions
30
+ // ------------------------------------------------------------------
31
+ import { IsReadonlyAddAction, IsReadonlyRemoveAction } from '../action/_readonly.mjs';
32
+ import { IsOptionalAddAction, IsOptionalRemoveAction } from '../action/_optional.mjs';
33
+ // ------------------------------------------------------------------
34
+ // Instantiate
35
+ // ------------------------------------------------------------------
36
+ import { AwaitedInstantiate } from './awaited/instantiate.mjs';
37
+ import { CallInstantiate } from './call/instantiate.mjs';
38
+ import { CapitalizeInstantiate } from './intrinsics/instantiate.mjs';
39
+ import { ConditionalInstantiate } from './conditional/index.mjs';
40
+ import { ConstructorParametersInstantiate } from './constructor-parameters/instantiate.mjs';
41
+ import { EvaluateInstantiate } from './evaluate/instantiate.mjs';
42
+ import { ExcludeInstantiate } from './exclude/instantiate.mjs';
43
+ import { ExtractInstantiate } from './extract/instantiate.mjs';
44
+ import { IndexInstantiate } from './indexed/instantiate.mjs';
45
+ import { InstanceTypeInstantiate } from './instance-type/instantiate.mjs';
46
+ import { InterfaceInstantiate } from './interface/instantiate.mjs';
47
+ import { KeyOfInstantiate } from './keyof/instantiate.mjs';
48
+ import { LowercaseInstantiate } from './intrinsics/instantiate.mjs';
49
+ import { MappedInstantiate } from './mapped/instantiate.mjs';
50
+ import { ModuleInstantiate } from './module/instantiate.mjs';
51
+ import { NonNullableInstantiate } from './non-nullable/instantiate.mjs';
52
+ import { OmitInstantiate } from './omit/instantiate.mjs';
53
+ import { OptionsInstantiate } from './options/instantiate.mjs';
54
+ import { ParametersInstantiate } from './parameters/instantiate.mjs';
55
+ import { PartialInstantiate } from './partial/instantiate.mjs';
56
+ import { PickInstantiate } from './pick/instantiate.mjs';
57
+ import { RecordInstantiate } from './record/instantiate.mjs';
58
+ import { RefInstantiate } from './ref/instantiate.mjs';
59
+ import { RequiredInstantiate } from './required/instantiate.mjs';
60
+ import { ReturnTypeInstantiate } from './return-type/instantiate.mjs';
61
+ import { TemplateLiteralInstantiate } from './template-literal/instantiate.mjs';
62
+ import { UncapitalizeInstantiate } from './intrinsics/instantiate.mjs';
63
+ import { UppercaseInstantiate } from './intrinsics/instantiate.mjs';
64
+ import { RestSpread } from './rest/index.mjs';
65
+ function CanInstantiateRef(context, ref) {
66
+ return (ref in context);
67
+ }
68
+ function CanInstantiateType(context, type) {
69
+ return (IsIntersect(type) ? CanInstantiate(context, type.allOf) :
70
+ IsUnion(type) ? CanInstantiate(context, type.anyOf) :
71
+ IsRef(type) ? CanInstantiateRef(context, type.$ref) :
72
+ true);
73
+ }
74
+ export function CanInstantiate(context, types) {
75
+ const [left, ...right] = types;
76
+ return (IsSchema(left)
77
+ ? CanInstantiateType(context, left)
78
+ ? CanInstantiate(context, right)
79
+ : false
80
+ : true);
81
+ }
82
+ function ModifierActions(type, readonly, optional) {
83
+ return (IsReadonlyRemoveAction(type) ? ModifierActions(type.type, 'remove', optional) :
84
+ IsOptionalRemoveAction(type) ? ModifierActions(type.type, readonly, 'remove') :
85
+ IsReadonlyAddAction(type) ? ModifierActions(type.type, 'add', optional) :
86
+ IsOptionalAddAction(type) ? ModifierActions(type.type, readonly, 'add') :
87
+ [type, readonly, optional]);
88
+ }
89
+ function ApplyReadonly(action, type) {
90
+ return (Guard.IsEqual(action, 'remove') ? ReadonlyRemove(type) :
91
+ Guard.IsEqual(action, 'add') ? ReadonlyAdd(type) :
92
+ type);
93
+ }
94
+ function ApplyOptional(action, type) {
95
+ return (Guard.IsEqual(action, 'remove') ? OptionalRemove(type) :
96
+ Guard.IsEqual(action, 'add') ? OptionalAdd(type) :
97
+ type);
98
+ }
99
+ export function InstantiateProperties(context, state, properties) {
100
+ return Guard.Keys(properties).reduce((result, key) => {
101
+ return { ...result, [key]: InstantiateType(context, state, properties[key]) };
102
+ }, {});
103
+ }
104
+ export function InstantiateElements(context, state, types) {
105
+ const elements = InstantiateTypes(context, state, types);
106
+ const result = RestSpread(elements);
107
+ return result;
108
+ }
109
+ export function InstantiateTypes(context, state, types) {
110
+ return types.map(type => InstantiateType(context, state, type));
111
+ }
112
+ function InstantiateDeferred(context, state, action, parameters, options) {
113
+ return (Guard.IsEqual(action, 'Awaited') ? AwaitedInstantiate(context, state, parameters[0], options) :
114
+ Guard.IsEqual(action, 'Capitalize') ? CapitalizeInstantiate(context, state, parameters[0], options) :
115
+ Guard.IsEqual(action, 'Conditional') ? ConditionalInstantiate(context, state, parameters[0], parameters[1], parameters[2], parameters[3], options) :
116
+ Guard.IsEqual(action, 'ConstructorParameters') ? ConstructorParametersInstantiate(context, state, parameters[0], options) :
117
+ Guard.IsEqual(action, 'Evaluate') ? EvaluateInstantiate(context, state, parameters[0], options) :
118
+ Guard.IsEqual(action, 'Exclude') ? ExcludeInstantiate(context, state, parameters[0], parameters[1], options) :
119
+ Guard.IsEqual(action, 'Extract') ? ExtractInstantiate(context, state, parameters[0], parameters[1], options) :
120
+ Guard.IsEqual(action, 'Index') ? IndexInstantiate(context, state, parameters[0], parameters[1], options) :
121
+ Guard.IsEqual(action, 'InstanceType') ? InstanceTypeInstantiate(context, state, parameters[0], options) :
122
+ Guard.IsEqual(action, 'Interface') ? InterfaceInstantiate(context, state, parameters[0], parameters[1], options) :
123
+ Guard.IsEqual(action, 'KeyOf') ? KeyOfInstantiate(context, state, parameters[0], options) :
124
+ Guard.IsEqual(action, 'Lowercase') ? LowercaseInstantiate(context, state, parameters[0], options) :
125
+ Guard.IsEqual(action, 'Mapped') ? MappedInstantiate(context, state, parameters[0], parameters[1], parameters[2], parameters[3], options) :
126
+ Guard.IsEqual(action, 'Module') ? ModuleInstantiate(context, state, parameters[0], options) :
127
+ Guard.IsEqual(action, 'NonNullable') ? NonNullableInstantiate(context, state, parameters[0], options) :
128
+ Guard.IsEqual(action, 'Pick') ? PickInstantiate(context, state, parameters[0], parameters[1], options) :
129
+ Guard.IsEqual(action, 'Options') ? OptionsInstantiate(context, state, parameters[0], parameters[1]) :
130
+ Guard.IsEqual(action, 'Parameters') ? ParametersInstantiate(context, state, parameters[0], options) :
131
+ Guard.IsEqual(action, 'Partial') ? PartialInstantiate(context, state, parameters[0], options) :
132
+ Guard.IsEqual(action, 'Omit') ? OmitInstantiate(context, state, parameters[0], parameters[1], options) :
133
+ Guard.IsEqual(action, 'Record') ? RecordInstantiate(context, state, parameters[0], parameters[1], options) :
134
+ Guard.IsEqual(action, 'Required') ? RequiredInstantiate(context, state, parameters[0], options) :
135
+ Guard.IsEqual(action, 'ReturnType') ? ReturnTypeInstantiate(context, state, parameters[0], options) :
136
+ Guard.IsEqual(action, 'TemplateLiteral') ? TemplateLiteralInstantiate(context, state, parameters[0], options) :
137
+ Guard.IsEqual(action, 'Uncapitalize') ? UncapitalizeInstantiate(context, state, parameters[0], options) :
138
+ Guard.IsEqual(action, 'Uppercase') ? UppercaseInstantiate(context, state, parameters[0], options) :
139
+ Deferred(action, parameters, options));
140
+ }
141
+ export function InstantiateType(context, state, input) {
142
+ const modifierActions = ModifierActions(input, IsReadonly(input) ? 'add' : 'none', IsOptional(input) ? 'add' : 'none');
143
+ const type = modifierActions[0];
144
+ const instantiated = (IsRef(type) ? RefInstantiate(context, state, type.$ref) :
145
+ IsArray(type) ? Array(InstantiateType(context, state, type.items), ArrayOptions(type)) :
146
+ IsAsyncIterator(type) ? AsyncIterator(InstantiateType(context, state, type.iteratorItems), AsyncIteratorOptions(type)) :
147
+ IsCall(type) ? CallInstantiate(context, state, type.target, type.arguments) :
148
+ IsConstructor(type) ? Constructor(InstantiateTypes(context, state, type.parameters), InstantiateType(context, state, type.instanceType), ConstructorOptions(type)) :
149
+ IsDeferred(type) ? InstantiateDeferred(context, state, type.action, type.parameters, type.options) :
150
+ IsFunction(type) ? Function(InstantiateTypes(context, state, type.parameters), InstantiateType(context, state, type.returnType), FunctionOptions(type)) :
151
+ IsIntersect(type) ? Intersect(InstantiateTypes(context, state, type.allOf), IntersectOptions(type)) :
152
+ IsIterator(type) ? Iterator(InstantiateType(context, state, type.iteratorItems), IteratorOptions(type)) :
153
+ IsObject(type) ? Object(InstantiateProperties(context, state, type.properties), ObjectOptions(type)) :
154
+ IsPromise(type) ? Promise(InstantiateType(context, state, type.item), PromiseOptions(type)) :
155
+ IsRecord(type) ? RecordFromPattern(RecordPattern(type), InstantiateType(context, state, RecordValue(type))) :
156
+ IsRest(type) ? Rest(InstantiateType(context, state, type.items)) :
157
+ IsTuple(type) ? Tuple(InstantiateElements(context, state, type.items), TupleOptions(type)) :
158
+ IsUnion(type) ? Union(InstantiateTypes(context, state, type.anyOf), UnionOptions(type)) :
159
+ type);
160
+ return ApplyReadonly(modifierActions[1], ApplyOptional(modifierActions[2], instantiated));
161
+ }
162
+ /** Instantiates computed schematics using the given context and type. */
163
+ export function Instantiate(context, type) {
164
+ return InstantiateType(context, { callstack: [] }, type);
165
+ }
@@ -0,0 +1 @@
1
+ export * from './instantiate.mjs';
@@ -0,0 +1 @@
1
+ export * from './instantiate.mjs';
@@ -0,0 +1,16 @@
1
+ import { type TSchema, type TSchemaOptions } from '../../types/schema.mjs';
2
+ import { type TProperties } from '../../types/properties.mjs';
3
+ import { type TObject } from '../../types/object.mjs';
4
+ import { type TEvaluateIntersect } from '../evaluate/evaluate.mjs';
5
+ import { type TInterfaceDeferred } from '../../action/index.mjs';
6
+ import { type TState, type TCanInstantiate } from '../instantiate.mjs';
7
+ import { type TInstantiateProperties } from '../instantiate.mjs';
8
+ import { type TInstantiateTypes } from '../instantiate.mjs';
9
+ type TInterfaceImmediate<Context extends TProperties, State extends TState, Heritage extends TSchema[], Properties extends TProperties, InstantiatedHeritage extends TSchema[] = TInstantiateTypes<Context, {
10
+ callstack: [];
11
+ }, Heritage>, instantiatedProperties extends TProperties = TInstantiateProperties<Context, {
12
+ callstack: [];
13
+ }, Properties>, EvaluatedInterface extends TSchema = TEvaluateIntersect<[...InstantiatedHeritage, TObject<instantiatedProperties>]>> = EvaluatedInterface;
14
+ export type TInterfaceInstantiate<Context extends TProperties, State extends TState, Heritage extends TSchema[], Properties extends TProperties> = TCanInstantiate<Context, Heritage> extends true ? TInterfaceImmediate<Context, State, Heritage, Properties> : TInterfaceDeferred<Heritage, Properties>;
15
+ export declare function InterfaceInstantiate<Context extends TProperties, State extends TState, Heritage extends TSchema[], Properties extends TProperties>(context: Context, state: State, heritage: [...Heritage], properties: Properties, options: TSchemaOptions): TInterfaceInstantiate<Context, State, Heritage, Properties>;
16
+ export {};
@@ -0,0 +1,19 @@
1
+ // deno-fmt-ignore-file
2
+ import { Memory } from '../../../system/memory/index.mjs';
3
+ import { Object } from '../../types/object.mjs';
4
+ import { EvaluateIntersect } from '../evaluate/evaluate.mjs';
5
+ import { InterfaceDeferred } from '../../action/index.mjs';
6
+ import { CanInstantiate } from '../instantiate.mjs';
7
+ import { InstantiateProperties } from '../instantiate.mjs';
8
+ import { InstantiateTypes } from '../instantiate.mjs';
9
+ function InterfaceImmediate(context, state, heritage, properties, options) {
10
+ const instantiatedHeritage = InstantiateTypes(context, { callstack: [] }, heritage);
11
+ const instantiatedProperties = InstantiateProperties(context, { callstack: [] }, properties);
12
+ const evaluatedInterface = EvaluateIntersect([...instantiatedHeritage, Object(instantiatedProperties)]);
13
+ return Memory.Update(evaluatedInterface, {}, options);
14
+ }
15
+ export function InterfaceInstantiate(context, state, heritage, properties, options) {
16
+ return (CanInstantiate(context, heritage)
17
+ ? InterfaceImmediate(context, state, heritage, properties, options)
18
+ : InterfaceDeferred(heritage, properties, options));
19
+ }
@@ -0,0 +1,5 @@
1
+ import { type TSchema } from '../../types/schema.mjs';
2
+ import { type TLiteral, type TLiteralValue } from '../../types/literal.mjs';
3
+ import { type TMappingType, type TMappingFunc, type TApplyMapping } from './mapping.mjs';
4
+ export type TFromLiteral<Mapping extends TMappingType, Value extends TLiteralValue> = (Value extends string ? TLiteral<TApplyMapping<Mapping, Value>> : TLiteral<Value>);
5
+ export declare function FromLiteral(mapping: TMappingFunc, value: TLiteralValue): TSchema;
@@ -0,0 +1,9 @@
1
+ // deno-fmt-ignore-file
2
+ import { Guard } from '../../../guard/index.mjs';
3
+ import { Literal } from '../../types/literal.mjs';
4
+ import { ApplyMapping } from './mapping.mjs';
5
+ export function FromLiteral(mapping, value) {
6
+ return (Guard.IsString(value)
7
+ ? Literal(ApplyMapping(mapping, value))
8
+ : Literal(value));
9
+ }