@depup/typebox 1.1.6-depup.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1351) hide show
  1. package/README.md +25 -0
  2. package/build/compile/code.d.mts +12 -0
  3. package/build/compile/code.mjs +65 -0
  4. package/build/compile/compile.d.mts +6 -0
  5. package/build/compile/compile.mjs +11 -0
  6. package/build/compile/index.d.mts +8 -0
  7. package/build/compile/index.mjs +14 -0
  8. package/build/compile/validator.d.mts +42 -0
  9. package/build/compile/validator.mjs +116 -0
  10. package/build/error/errors.d.mts +214 -0
  11. package/build/error/errors.mjs +17 -0
  12. package/build/error/index.d.mts +1 -0
  13. package/build/error/index.mjs +1 -0
  14. package/build/format/_registry.d.mts +15 -0
  15. package/build/format/_registry.mjs +96 -0
  16. package/build/format/date-time.d.mts +6 -0
  17. package/build/format/date-time.mjs +11 -0
  18. package/build/format/date.d.mts +6 -0
  19. package/build/format/date.mjs +19 -0
  20. package/build/format/duration.d.mts +5 -0
  21. package/build/format/duration.mjs +8 -0
  22. package/build/format/email.d.mts +2 -0
  23. package/build/format/email.mjs +5 -0
  24. package/build/format/format.d.mts +22 -0
  25. package/build/format/format.mjs +22 -0
  26. package/build/format/hostname.d.mts +2 -0
  27. package/build/format/hostname.mjs +5 -0
  28. package/build/format/idn-email.d.mts +2 -0
  29. package/build/format/idn-email.mjs +5 -0
  30. package/build/format/idn-hostname.d.mts +5 -0
  31. package/build/format/idn-hostname.mjs +128 -0
  32. package/build/format/index.d.mts +4 -0
  33. package/build/format/index.mjs +4 -0
  34. package/build/format/ipv4.d.mts +6 -0
  35. package/build/format/ipv4.mjs +9 -0
  36. package/build/format/ipv6.d.mts +6 -0
  37. package/build/format/ipv6.mjs +9 -0
  38. package/build/format/iri-reference.d.mts +5 -0
  39. package/build/format/iri-reference.mjs +59 -0
  40. package/build/format/iri.d.mts +5 -0
  41. package/build/format/iri.mjs +13 -0
  42. package/build/format/json-pointer-uri-fragment.d.mts +6 -0
  43. package/build/format/json-pointer-uri-fragment.mjs +9 -0
  44. package/build/format/json-pointer.d.mts +6 -0
  45. package/build/format/json-pointer.mjs +9 -0
  46. package/build/format/regex.d.mts +6 -0
  47. package/build/format/regex.mjs +17 -0
  48. package/build/format/relative-json-pointer.d.mts +6 -0
  49. package/build/format/relative-json-pointer.mjs +9 -0
  50. package/build/format/time.d.mts +5 -0
  51. package/build/format/time.mjs +27 -0
  52. package/build/format/uri-reference.d.mts +6 -0
  53. package/build/format/uri-reference.mjs +9 -0
  54. package/build/format/uri-template.d.mts +6 -0
  55. package/build/format/uri-template.mjs +10 -0
  56. package/build/format/uri.d.mts +6 -0
  57. package/build/format/uri.mjs +9 -0
  58. package/build/format/url.d.mts +6 -0
  59. package/build/format/url.mjs +9 -0
  60. package/build/format/uuid.d.mts +6 -0
  61. package/build/format/uuid.mjs +9 -0
  62. package/build/guard/emit.d.mts +58 -0
  63. package/build/guard/emit.mjs +194 -0
  64. package/build/guard/globals.d.mts +35 -0
  65. package/build/guard/globals.mjs +90 -0
  66. package/build/guard/guard.d.mts +63 -0
  67. package/build/guard/guard.mjs +208 -0
  68. package/build/guard/index.d.mts +6 -0
  69. package/build/guard/index.mjs +6 -0
  70. package/build/guard/native.d.mts +20 -0
  71. package/build/guard/native.mjs +60 -0
  72. package/build/guard/string.d.mts +10 -0
  73. package/build/guard/string.mjs +158 -0
  74. package/build/index.d.mts +8 -0
  75. package/build/index.mjs +14 -0
  76. package/build/schema/build.d.mts +35 -0
  77. package/build/schema/build.mjs +99 -0
  78. package/build/schema/check.d.mts +6 -0
  79. package/build/schema/check.mjs +14 -0
  80. package/build/schema/compile.d.mts +22 -0
  81. package/build/schema/compile.mjs +46 -0
  82. package/build/schema/engine/_context.d.mts +32 -0
  83. package/build/schema/engine/_context.mjs +98 -0
  84. package/build/schema/engine/_exact_optional.d.mts +3 -0
  85. package/build/schema/engine/_exact_optional.mjs +20 -0
  86. package/build/schema/engine/_externals.d.mts +9 -0
  87. package/build/schema/engine/_externals.mjs +34 -0
  88. package/build/schema/engine/_functions.d.mts +6 -0
  89. package/build/schema/engine/_functions.mjs +47 -0
  90. package/build/schema/engine/_guard.d.mts +6 -0
  91. package/build/schema/engine/_guard.mjs +26 -0
  92. package/build/schema/engine/_reducer.d.mts +4 -0
  93. package/build/schema/engine/_reducer.mjs +45 -0
  94. package/build/schema/engine/_refine.d.mts +6 -0
  95. package/build/schema/engine/_refine.mjs +29 -0
  96. package/build/schema/engine/_stack.d.mts +18 -0
  97. package/build/schema/engine/_stack.mjs +73 -0
  98. package/build/schema/engine/_unique.d.mts +2 -0
  99. package/build/schema/engine/_unique.mjs +5 -0
  100. package/build/schema/engine/additionalItems.d.mts +6 -0
  101. package/build/schema/engine/additionalItems.mjs +50 -0
  102. package/build/schema/engine/additionalProperties.d.mts +9 -0
  103. package/build/schema/engine/additionalProperties.mjs +110 -0
  104. package/build/schema/engine/allOf.d.mts +6 -0
  105. package/build/schema/engine/allOf.mjs +47 -0
  106. package/build/schema/engine/anyOf.d.mts +6 -0
  107. package/build/schema/engine/anyOf.mjs +52 -0
  108. package/build/schema/engine/boolean.d.mts +5 -0
  109. package/build/schema/engine/boolean.mjs +25 -0
  110. package/build/schema/engine/const.d.mts +6 -0
  111. package/build/schema/engine/const.mjs +30 -0
  112. package/build/schema/engine/contains.d.mts +6 -0
  113. package/build/schema/engine/contains.mjs +42 -0
  114. package/build/schema/engine/dependencies.d.mts +6 -0
  115. package/build/schema/engine/dependencies.mjs +45 -0
  116. package/build/schema/engine/dependentRequired.d.mts +6 -0
  117. package/build/schema/engine/dependentRequired.mjs +40 -0
  118. package/build/schema/engine/dependentSchemas.d.mts +6 -0
  119. package/build/schema/engine/dependentSchemas.mjs +38 -0
  120. package/build/schema/engine/enum.d.mts +6 -0
  121. package/build/schema/engine/enum.mjs +33 -0
  122. package/build/schema/engine/exclusiveMaximum.d.mts +6 -0
  123. package/build/schema/engine/exclusiveMaximum.mjs +25 -0
  124. package/build/schema/engine/exclusiveMinimum.d.mts +6 -0
  125. package/build/schema/engine/exclusiveMinimum.mjs +25 -0
  126. package/build/schema/engine/format.d.mts +6 -0
  127. package/build/schema/engine/format.mjs +26 -0
  128. package/build/schema/engine/if.d.mts +6 -0
  129. package/build/schema/engine/if.mjs +47 -0
  130. package/build/schema/engine/index.d.mts +49 -0
  131. package/build/schema/engine/index.mjs +55 -0
  132. package/build/schema/engine/items.d.mts +6 -0
  133. package/build/schema/engine/items.mjs +68 -0
  134. package/build/schema/engine/maxContains.d.mts +6 -0
  135. package/build/schema/engine/maxContains.mjs +42 -0
  136. package/build/schema/engine/maxItems.d.mts +6 -0
  137. package/build/schema/engine/maxItems.mjs +25 -0
  138. package/build/schema/engine/maxLength.d.mts +6 -0
  139. package/build/schema/engine/maxLength.mjs +25 -0
  140. package/build/schema/engine/maxProperties.d.mts +6 -0
  141. package/build/schema/engine/maxProperties.mjs +25 -0
  142. package/build/schema/engine/maximum.d.mts +6 -0
  143. package/build/schema/engine/maximum.mjs +25 -0
  144. package/build/schema/engine/minContains.d.mts +6 -0
  145. package/build/schema/engine/minContains.mjs +41 -0
  146. package/build/schema/engine/minItems.d.mts +6 -0
  147. package/build/schema/engine/minItems.mjs +25 -0
  148. package/build/schema/engine/minLength.d.mts +6 -0
  149. package/build/schema/engine/minLength.mjs +25 -0
  150. package/build/schema/engine/minProperties.d.mts +6 -0
  151. package/build/schema/engine/minProperties.mjs +25 -0
  152. package/build/schema/engine/minimum.d.mts +6 -0
  153. package/build/schema/engine/minimum.mjs +25 -0
  154. package/build/schema/engine/multipleOf.d.mts +6 -0
  155. package/build/schema/engine/multipleOf.mjs +25 -0
  156. package/build/schema/engine/not.d.mts +6 -0
  157. package/build/schema/engine/not.mjs +37 -0
  158. package/build/schema/engine/oneOf.d.mts +6 -0
  159. package/build/schema/engine/oneOf.mjs +58 -0
  160. package/build/schema/engine/pattern.d.mts +6 -0
  161. package/build/schema/engine/pattern.mjs +28 -0
  162. package/build/schema/engine/patternProperties.d.mts +6 -0
  163. package/build/schema/engine/patternProperties.mjs +44 -0
  164. package/build/schema/engine/prefixItems.d.mts +6 -0
  165. package/build/schema/engine/prefixItems.mjs +35 -0
  166. package/build/schema/engine/properties.d.mts +6 -0
  167. package/build/schema/engine/properties.mjs +75 -0
  168. package/build/schema/engine/propertyNames.d.mts +6 -0
  169. package/build/schema/engine/propertyNames.mjs +39 -0
  170. package/build/schema/engine/recursiveRef.d.mts +6 -0
  171. package/build/schema/engine/recursiveRef.mjs +25 -0
  172. package/build/schema/engine/ref.d.mts +6 -0
  173. package/build/schema/engine/ref.mjs +58 -0
  174. package/build/schema/engine/required.d.mts +6 -0
  175. package/build/schema/engine/required.mjs +32 -0
  176. package/build/schema/engine/schema.d.mts +6 -0
  177. package/build/schema/engine/schema.mjs +336 -0
  178. package/build/schema/engine/type.d.mts +6 -0
  179. package/build/schema/engine/type.mjs +74 -0
  180. package/build/schema/engine/unevaluatedItems.d.mts +6 -0
  181. package/build/schema/engine/unevaluatedItems.mjs +51 -0
  182. package/build/schema/engine/unevaluatedProperties.d.mts +6 -0
  183. package/build/schema/engine/unevaluatedProperties.mjs +51 -0
  184. package/build/schema/engine/uniqueItems.d.mts +6 -0
  185. package/build/schema/engine/uniqueItems.mjs +51 -0
  186. package/build/schema/errors.d.mts +6 -0
  187. package/build/schema/errors.mjs +24 -0
  188. package/build/schema/index.d.mts +3 -0
  189. package/build/schema/index.mjs +9 -0
  190. package/build/schema/parse.d.mts +13 -0
  191. package/build/schema/parse.mjs +27 -0
  192. package/build/schema/pointer/index.d.mts +2 -0
  193. package/build/schema/pointer/index.mjs +2 -0
  194. package/build/schema/pointer/pointer-get.d.mts +9 -0
  195. package/build/schema/pointer/pointer-get.mjs +2 -0
  196. package/build/schema/pointer/pointer.d.mts +10 -0
  197. package/build/schema/pointer/pointer.mjs +96 -0
  198. package/build/schema/resolve/index.d.mts +1 -0
  199. package/build/schema/resolve/index.mjs +1 -0
  200. package/build/schema/resolve/ref.d.mts +2 -0
  201. package/build/schema/resolve/ref.mjs +96 -0
  202. package/build/schema/resolve/resolve.d.mts +1 -0
  203. package/build/schema/resolve/resolve.mjs +1 -0
  204. package/build/schema/schema.d.mts +10 -0
  205. package/build/schema/schema.mjs +10 -0
  206. package/build/schema/static/additionalProperties.d.mts +7 -0
  207. package/build/schema/static/additionalProperties.mjs +2 -0
  208. package/build/schema/static/allOf.d.mts +3 -0
  209. package/build/schema/static/allOf.mjs +2 -0
  210. package/build/schema/static/anyOf.d.mts +3 -0
  211. package/build/schema/static/anyOf.mjs +2 -0
  212. package/build/schema/static/const.d.mts +1 -0
  213. package/build/schema/static/const.mjs +2 -0
  214. package/build/schema/static/enum.d.mts +1 -0
  215. package/build/schema/static/enum.mjs +2 -0
  216. package/build/schema/static/if.d.mts +15 -0
  217. package/build/schema/static/if.mjs +2 -0
  218. package/build/schema/static/index.d.mts +1 -0
  219. package/build/schema/static/index.mjs +1 -0
  220. package/build/schema/static/items.d.mts +7 -0
  221. package/build/schema/static/items.mjs +2 -0
  222. package/build/schema/static/oneOf.d.mts +3 -0
  223. package/build/schema/static/oneOf.mjs +2 -0
  224. package/build/schema/static/patternProperties.d.mts +7 -0
  225. package/build/schema/static/patternProperties.mjs +2 -0
  226. package/build/schema/static/prefixItems.d.mts +3 -0
  227. package/build/schema/static/prefixItems.mjs +2 -0
  228. package/build/schema/static/properties.d.mts +11 -0
  229. package/build/schema/static/properties.mjs +2 -0
  230. package/build/schema/static/ref.d.mts +8 -0
  231. package/build/schema/static/ref.mjs +2 -0
  232. package/build/schema/static/required.d.mts +13 -0
  233. package/build/schema/static/required.mjs +2 -0
  234. package/build/schema/static/schema.d.mts +55 -0
  235. package/build/schema/static/schema.mjs +2 -0
  236. package/build/schema/static/static.d.mts +4 -0
  237. package/build/schema/static/static.mjs +2 -0
  238. package/build/schema/static/type.d.mts +4 -0
  239. package/build/schema/static/type.mjs +2 -0
  240. package/build/schema/static/unevaluatedProperties.d.mts +7 -0
  241. package/build/schema/static/unevaluatedProperties.mjs +2 -0
  242. package/build/schema/static/~comparer.d.mts +6 -0
  243. package/build/schema/static/~comparer.mjs +2 -0
  244. package/build/schema/static/~elements.d.mts +18 -0
  245. package/build/schema/static/~elements.mjs +2 -0
  246. package/build/schema/static/~non-readonly.d.mts +7 -0
  247. package/build/schema/static/~non-readonly.mjs +2 -0
  248. package/build/schema/static/~readonly.d.mts +6 -0
  249. package/build/schema/static/~readonly.mjs +2 -0
  250. package/build/schema/types/_guard.d.mts +10 -0
  251. package/build/schema/types/_guard.mjs +16 -0
  252. package/build/schema/types/_refine.d.mts +13 -0
  253. package/build/schema/types/_refine.mjs +18 -0
  254. package/build/schema/types/additionalItems.d.mts +9 -0
  255. package/build/schema/types/additionalItems.mjs +14 -0
  256. package/build/schema/types/additionalProperties.d.mts +9 -0
  257. package/build/schema/types/additionalProperties.mjs +14 -0
  258. package/build/schema/types/allOf.d.mts +9 -0
  259. package/build/schema/types/allOf.mjs +15 -0
  260. package/build/schema/types/anchor.d.mts +8 -0
  261. package/build/schema/types/anchor.mjs +12 -0
  262. package/build/schema/types/anyOf.d.mts +9 -0
  263. package/build/schema/types/anyOf.mjs +15 -0
  264. package/build/schema/types/const.d.mts +9 -0
  265. package/build/schema/types/const.mjs +12 -0
  266. package/build/schema/types/contains.d.mts +9 -0
  267. package/build/schema/types/contains.mjs +14 -0
  268. package/build/schema/types/contentEncoding.d.mts +9 -0
  269. package/build/schema/types/contentEncoding.mjs +13 -0
  270. package/build/schema/types/contentMediaType.d.mts +9 -0
  271. package/build/schema/types/contentMediaType.mjs +13 -0
  272. package/build/schema/types/default.d.mts +9 -0
  273. package/build/schema/types/default.mjs +12 -0
  274. package/build/schema/types/defs.d.mts +6 -0
  275. package/build/schema/types/defs.mjs +12 -0
  276. package/build/schema/types/dependencies.d.mts +11 -0
  277. package/build/schema/types/dependencies.mjs +16 -0
  278. package/build/schema/types/dependentRequired.d.mts +9 -0
  279. package/build/schema/types/dependentRequired.mjs +15 -0
  280. package/build/schema/types/dependentSchemas.d.mts +9 -0
  281. package/build/schema/types/dependentSchemas.mjs +15 -0
  282. package/build/schema/types/dynamicAnchor.d.mts +8 -0
  283. package/build/schema/types/dynamicAnchor.mjs +12 -0
  284. package/build/schema/types/dynamicRef.d.mts +8 -0
  285. package/build/schema/types/dynamicRef.mjs +12 -0
  286. package/build/schema/types/else.d.mts +9 -0
  287. package/build/schema/types/else.mjs +14 -0
  288. package/build/schema/types/enum.d.mts +9 -0
  289. package/build/schema/types/enum.mjs +13 -0
  290. package/build/schema/types/exclusiveMaximum.d.mts +9 -0
  291. package/build/schema/types/exclusiveMaximum.mjs +13 -0
  292. package/build/schema/types/exclusiveMinimum.d.mts +9 -0
  293. package/build/schema/types/exclusiveMinimum.mjs +13 -0
  294. package/build/schema/types/format.d.mts +9 -0
  295. package/build/schema/types/format.mjs +13 -0
  296. package/build/schema/types/id.d.mts +9 -0
  297. package/build/schema/types/id.mjs +13 -0
  298. package/build/schema/types/if.d.mts +9 -0
  299. package/build/schema/types/if.mjs +14 -0
  300. package/build/schema/types/index.d.mts +54 -0
  301. package/build/schema/types/index.mjs +60 -0
  302. package/build/schema/types/items.d.mts +19 -0
  303. package/build/schema/types/items.mjs +26 -0
  304. package/build/schema/types/maxContains.d.mts +9 -0
  305. package/build/schema/types/maxContains.mjs +13 -0
  306. package/build/schema/types/maxItems.d.mts +9 -0
  307. package/build/schema/types/maxItems.mjs +13 -0
  308. package/build/schema/types/maxLength.d.mts +9 -0
  309. package/build/schema/types/maxLength.mjs +13 -0
  310. package/build/schema/types/maxProperties.d.mts +9 -0
  311. package/build/schema/types/maxProperties.mjs +13 -0
  312. package/build/schema/types/maximum.d.mts +9 -0
  313. package/build/schema/types/maximum.mjs +13 -0
  314. package/build/schema/types/minContains.d.mts +9 -0
  315. package/build/schema/types/minContains.mjs +13 -0
  316. package/build/schema/types/minItems.d.mts +9 -0
  317. package/build/schema/types/minItems.mjs +13 -0
  318. package/build/schema/types/minLength.d.mts +9 -0
  319. package/build/schema/types/minLength.mjs +13 -0
  320. package/build/schema/types/minProperties.d.mts +9 -0
  321. package/build/schema/types/minProperties.mjs +13 -0
  322. package/build/schema/types/minimum.d.mts +9 -0
  323. package/build/schema/types/minimum.mjs +13 -0
  324. package/build/schema/types/multipleOf.d.mts +9 -0
  325. package/build/schema/types/multipleOf.mjs +13 -0
  326. package/build/schema/types/not.d.mts +9 -0
  327. package/build/schema/types/not.mjs +14 -0
  328. package/build/schema/types/oneOf.d.mts +9 -0
  329. package/build/schema/types/oneOf.mjs +15 -0
  330. package/build/schema/types/pattern.d.mts +9 -0
  331. package/build/schema/types/pattern.mjs +14 -0
  332. package/build/schema/types/patternProperties.d.mts +9 -0
  333. package/build/schema/types/patternProperties.mjs +15 -0
  334. package/build/schema/types/prefixItems.d.mts +8 -0
  335. package/build/schema/types/prefixItems.mjs +14 -0
  336. package/build/schema/types/properties.d.mts +9 -0
  337. package/build/schema/types/properties.mjs +15 -0
  338. package/build/schema/types/propertyNames.d.mts +9 -0
  339. package/build/schema/types/propertyNames.mjs +15 -0
  340. package/build/schema/types/recursiveAnchor.d.mts +12 -0
  341. package/build/schema/types/recursiveAnchor.mjs +19 -0
  342. package/build/schema/types/recursiveRef.d.mts +8 -0
  343. package/build/schema/types/recursiveRef.mjs +12 -0
  344. package/build/schema/types/ref.d.mts +9 -0
  345. package/build/schema/types/ref.mjs +13 -0
  346. package/build/schema/types/required.d.mts +9 -0
  347. package/build/schema/types/required.mjs +14 -0
  348. package/build/schema/types/schema.d.mts +9 -0
  349. package/build/schema/types/schema.mjs +14 -0
  350. package/build/schema/types/then.d.mts +9 -0
  351. package/build/schema/types/then.mjs +14 -0
  352. package/build/schema/types/type.d.mts +9 -0
  353. package/build/schema/types/type.mjs +15 -0
  354. package/build/schema/types/unevaluatedItems.d.mts +9 -0
  355. package/build/schema/types/unevaluatedItems.mjs +14 -0
  356. package/build/schema/types/unevaluatedProperties.d.mts +9 -0
  357. package/build/schema/types/unevaluatedProperties.mjs +14 -0
  358. package/build/schema/types/uniqueItems.d.mts +9 -0
  359. package/build/schema/types/uniqueItems.mjs +13 -0
  360. package/build/system/arguments/arguments.d.mts +5 -0
  361. package/build/system/arguments/arguments.mjs +9 -0
  362. package/build/system/arguments/index.d.mts +1 -0
  363. package/build/system/arguments/index.mjs +1 -0
  364. package/build/system/environment/can-evaluate.d.mts +2 -0
  365. package/build/system/environment/can-evaluate.mjs +26 -0
  366. package/build/system/environment/environment.d.mts +1 -0
  367. package/build/system/environment/environment.mjs +1 -0
  368. package/build/system/environment/index.d.mts +1 -0
  369. package/build/system/environment/index.mjs +1 -0
  370. package/build/system/hashing/hash.d.mts +4 -0
  371. package/build/system/hashing/hash.mjs +232 -0
  372. package/build/system/hashing/index.d.mts +1 -0
  373. package/build/system/hashing/index.mjs +1 -0
  374. package/build/system/index.d.mts +4 -0
  375. package/build/system/index.mjs +4 -0
  376. package/build/system/locale/_config.d.mts +7 -0
  377. package/build/system/locale/_config.mjs +15 -0
  378. package/build/system/locale/_locale.d.mts +40 -0
  379. package/build/system/locale/_locale.mjs +40 -0
  380. package/build/system/locale/ar_001.d.mts +3 -0
  381. package/build/system/locale/ar_001.mjs +41 -0
  382. package/build/system/locale/bn_BD.d.mts +3 -0
  383. package/build/system/locale/bn_BD.mjs +41 -0
  384. package/build/system/locale/cs_CZ.d.mts +3 -0
  385. package/build/system/locale/cs_CZ.mjs +41 -0
  386. package/build/system/locale/de_DE.d.mts +3 -0
  387. package/build/system/locale/de_DE.mjs +41 -0
  388. package/build/system/locale/el_GR.d.mts +3 -0
  389. package/build/system/locale/el_GR.mjs +41 -0
  390. package/build/system/locale/en_US.d.mts +3 -0
  391. package/build/system/locale/en_US.mjs +40 -0
  392. package/build/system/locale/es_419.d.mts +3 -0
  393. package/build/system/locale/es_419.mjs +41 -0
  394. package/build/system/locale/es_AR.d.mts +3 -0
  395. package/build/system/locale/es_AR.mjs +41 -0
  396. package/build/system/locale/es_ES.d.mts +3 -0
  397. package/build/system/locale/es_ES.mjs +41 -0
  398. package/build/system/locale/es_MX.d.mts +3 -0
  399. package/build/system/locale/es_MX.mjs +41 -0
  400. package/build/system/locale/fa_IR.d.mts +3 -0
  401. package/build/system/locale/fa_IR.mjs +41 -0
  402. package/build/system/locale/fil_PH.d.mts +3 -0
  403. package/build/system/locale/fil_PH.mjs +41 -0
  404. package/build/system/locale/fr_CA.d.mts +3 -0
  405. package/build/system/locale/fr_CA.mjs +41 -0
  406. package/build/system/locale/fr_FR.d.mts +3 -0
  407. package/build/system/locale/fr_FR.mjs +41 -0
  408. package/build/system/locale/ha_NG.d.mts +3 -0
  409. package/build/system/locale/ha_NG.mjs +41 -0
  410. package/build/system/locale/hi_IN.d.mts +3 -0
  411. package/build/system/locale/hi_IN.mjs +41 -0
  412. package/build/system/locale/hu_HU.d.mts +3 -0
  413. package/build/system/locale/hu_HU.mjs +41 -0
  414. package/build/system/locale/id_ID.d.mts +3 -0
  415. package/build/system/locale/id_ID.mjs +41 -0
  416. package/build/system/locale/index.d.mts +1 -0
  417. package/build/system/locale/index.mjs +1 -0
  418. package/build/system/locale/it_IT.d.mts +3 -0
  419. package/build/system/locale/it_IT.mjs +41 -0
  420. package/build/system/locale/ja_JP.d.mts +3 -0
  421. package/build/system/locale/ja_JP.mjs +41 -0
  422. package/build/system/locale/ko_KR.d.mts +3 -0
  423. package/build/system/locale/ko_KR.mjs +41 -0
  424. package/build/system/locale/ms_MY.d.mts +3 -0
  425. package/build/system/locale/ms_MY.mjs +41 -0
  426. package/build/system/locale/nl_NL.d.mts +3 -0
  427. package/build/system/locale/nl_NL.mjs +41 -0
  428. package/build/system/locale/pl_PL.d.mts +3 -0
  429. package/build/system/locale/pl_PL.mjs +41 -0
  430. package/build/system/locale/pt_BR.d.mts +3 -0
  431. package/build/system/locale/pt_BR.mjs +41 -0
  432. package/build/system/locale/pt_PT.d.mts +3 -0
  433. package/build/system/locale/pt_PT.mjs +41 -0
  434. package/build/system/locale/ro_RO.d.mts +3 -0
  435. package/build/system/locale/ro_RO.mjs +41 -0
  436. package/build/system/locale/ru_RU.d.mts +3 -0
  437. package/build/system/locale/ru_RU.mjs +41 -0
  438. package/build/system/locale/sv_SE.d.mts +3 -0
  439. package/build/system/locale/sv_SE.mjs +41 -0
  440. package/build/system/locale/sw_TZ.d.mts +3 -0
  441. package/build/system/locale/sw_TZ.mjs +41 -0
  442. package/build/system/locale/th_TH.d.mts +3 -0
  443. package/build/system/locale/th_TH.mjs +41 -0
  444. package/build/system/locale/tr_TR.d.mts +3 -0
  445. package/build/system/locale/tr_TR.mjs +41 -0
  446. package/build/system/locale/uk_UA.d.mts +3 -0
  447. package/build/system/locale/uk_UA.mjs +41 -0
  448. package/build/system/locale/ur_PK.d.mts +3 -0
  449. package/build/system/locale/ur_PK.mjs +41 -0
  450. package/build/system/locale/vi_VN.d.mts +3 -0
  451. package/build/system/locale/vi_VN.mjs +41 -0
  452. package/build/system/locale/yo_NG.d.mts +3 -0
  453. package/build/system/locale/yo_NG.mjs +41 -0
  454. package/build/system/locale/zh_Hans.d.mts +3 -0
  455. package/build/system/locale/zh_Hans.mjs +41 -0
  456. package/build/system/locale/zh_Hant.d.mts +3 -0
  457. package/build/system/locale/zh_Hant.mjs +41 -0
  458. package/build/system/memory/assign.d.mts +14 -0
  459. package/build/system/memory/assign.mjs +10 -0
  460. package/build/system/memory/clone.d.mts +6 -0
  461. package/build/system/memory/clone.mjs +63 -0
  462. package/build/system/memory/create.d.mts +8 -0
  463. package/build/system/memory/create.mjs +29 -0
  464. package/build/system/memory/discard.d.mts +4 -0
  465. package/build/system/memory/discard.mjs +16 -0
  466. package/build/system/memory/index.d.mts +1 -0
  467. package/build/system/memory/index.mjs +1 -0
  468. package/build/system/memory/memory.d.mts +6 -0
  469. package/build/system/memory/memory.mjs +7 -0
  470. package/build/system/memory/metrics.d.mts +14 -0
  471. package/build/system/memory/metrics.mjs +8 -0
  472. package/build/system/memory/update.d.mts +7 -0
  473. package/build/system/memory/update.mjs +32 -0
  474. package/build/system/settings/index.d.mts +1 -0
  475. package/build/system/settings/index.mjs +1 -0
  476. package/build/system/settings/settings.d.mts +56 -0
  477. package/build/system/settings/settings.mjs +32 -0
  478. package/build/system/system.d.mts +6 -0
  479. package/build/system/system.mjs +6 -0
  480. package/build/system/unreachable/index.d.mts +1 -0
  481. package/build/system/unreachable/index.mjs +1 -0
  482. package/build/system/unreachable/unreachable.d.mts +3 -0
  483. package/build/system/unreachable/unreachable.mjs +6 -0
  484. package/build/type/action/_optional.d.mts +19 -0
  485. package/build/type/action/_optional.mjs +40 -0
  486. package/build/type/action/_readonly.d.mts +19 -0
  487. package/build/type/action/_readonly.mjs +40 -0
  488. package/build/type/action/awaited.d.mts +11 -0
  489. package/build/type/action/awaited.mjs +11 -0
  490. package/build/type/action/capitalize.d.mts +11 -0
  491. package/build/type/action/capitalize.mjs +11 -0
  492. package/build/type/action/conditional.d.mts +11 -0
  493. package/build/type/action/conditional.mjs +11 -0
  494. package/build/type/action/constructor-parameters.d.mts +11 -0
  495. package/build/type/action/constructor-parameters.mjs +11 -0
  496. package/build/type/action/evaluate.d.mts +11 -0
  497. package/build/type/action/evaluate.mjs +11 -0
  498. package/build/type/action/exclude.d.mts +11 -0
  499. package/build/type/action/exclude.mjs +11 -0
  500. package/build/type/action/extract.d.mts +11 -0
  501. package/build/type/action/extract.mjs +11 -0
  502. package/build/type/action/index.d.mts +27 -0
  503. package/build/type/action/index.mjs +27 -0
  504. package/build/type/action/indexed.d.mts +14 -0
  505. package/build/type/action/indexed.mjs +14 -0
  506. package/build/type/action/instance-type.d.mts +11 -0
  507. package/build/type/action/instance-type.mjs +11 -0
  508. package/build/type/action/interface.d.mts +14 -0
  509. package/build/type/action/interface.mjs +19 -0
  510. package/build/type/action/keyof.d.mts +11 -0
  511. package/build/type/action/keyof.mjs +11 -0
  512. package/build/type/action/lowercase.d.mts +11 -0
  513. package/build/type/action/lowercase.mjs +11 -0
  514. package/build/type/action/mapped.d.mts +12 -0
  515. package/build/type/action/mapped.mjs +11 -0
  516. package/build/type/action/module.d.mts +12 -0
  517. package/build/type/action/module.mjs +11 -0
  518. package/build/type/action/non-nullable.d.mts +11 -0
  519. package/build/type/action/non-nullable.mjs +11 -0
  520. package/build/type/action/omit.d.mts +14 -0
  521. package/build/type/action/omit.mjs +14 -0
  522. package/build/type/action/options.d.mts +12 -0
  523. package/build/type/action/options.mjs +11 -0
  524. package/build/type/action/parameters.d.mts +11 -0
  525. package/build/type/action/parameters.mjs +11 -0
  526. package/build/type/action/partial.d.mts +11 -0
  527. package/build/type/action/partial.mjs +11 -0
  528. package/build/type/action/pick.d.mts +14 -0
  529. package/build/type/action/pick.mjs +14 -0
  530. package/build/type/action/readonly-type.d.mts +11 -0
  531. package/build/type/action/readonly-type.mjs +11 -0
  532. package/build/type/action/required.d.mts +11 -0
  533. package/build/type/action/required.mjs +11 -0
  534. package/build/type/action/return-type.d.mts +11 -0
  535. package/build/type/action/return-type.mjs +11 -0
  536. package/build/type/action/uncapitalize.d.mts +11 -0
  537. package/build/type/action/uncapitalize.mjs +11 -0
  538. package/build/type/action/uppercase.d.mts +11 -0
  539. package/build/type/action/uppercase.mjs +11 -0
  540. package/build/type/engine/awaited/index.d.mts +1 -0
  541. package/build/type/engine/awaited/index.mjs +1 -0
  542. package/build/type/engine/awaited/instantiate.d.mts +10 -0
  543. package/build/type/engine/awaited/instantiate.mjs +19 -0
  544. package/build/type/engine/call/instantiate.d.mts +20 -0
  545. package/build/type/engine/call/instantiate.mjs +38 -0
  546. package/build/type/engine/call/resolve-arguments.d.mts +13 -0
  547. package/build/type/engine/call/resolve-arguments.mjs +39 -0
  548. package/build/type/engine/call/resolve-target.d.mts +25 -0
  549. package/build/type/engine/call/resolve-target.mjs +27 -0
  550. package/build/type/engine/conditional/index.d.mts +1 -0
  551. package/build/type/engine/conditional/index.mjs +1 -0
  552. package/build/type/engine/conditional/instantiate.d.mts +10 -0
  553. package/build/type/engine/conditional/instantiate.mjs +19 -0
  554. package/build/type/engine/constructor-parameters/index.d.mts +1 -0
  555. package/build/type/engine/constructor-parameters/index.mjs +1 -0
  556. package/build/type/engine/constructor-parameters/instantiate.d.mts +14 -0
  557. package/build/type/engine/constructor-parameters/instantiate.mjs +21 -0
  558. package/build/type/engine/cyclic/candidates.d.mts +9 -0
  559. package/build/type/engine/cyclic/candidates.mjs +19 -0
  560. package/build/type/engine/cyclic/check.d.mts +24 -0
  561. package/build/type/engine/cyclic/check.mjs +54 -0
  562. package/build/type/engine/cyclic/dependencies.d.mts +25 -0
  563. package/build/type/engine/cyclic/dependencies.mjs +53 -0
  564. package/build/type/engine/cyclic/extends.d.mts +31 -0
  565. package/build/type/engine/cyclic/extends.mjs +53 -0
  566. package/build/type/engine/cyclic/index.d.mts +6 -0
  567. package/build/type/engine/cyclic/index.mjs +6 -0
  568. package/build/type/engine/cyclic/instantiate.d.mts +20 -0
  569. package/build/type/engine/cyclic/instantiate.mjs +29 -0
  570. package/build/type/engine/cyclic/target.d.mts +10 -0
  571. package/build/type/engine/cyclic/target.mjs +16 -0
  572. package/build/type/engine/enum/enum-to-union.d.mts +14 -0
  573. package/build/type/engine/enum/enum-to-union.mjs +24 -0
  574. package/build/type/engine/enum/index.d.mts +2 -0
  575. package/build/type/engine/enum/index.mjs +2 -0
  576. package/build/type/engine/enum/typescript-enum-to-enum-values.d.mts +8 -0
  577. package/build/type/engine/enum/typescript-enum-to-enum-values.mjs +9 -0
  578. package/build/type/engine/evaluate/broaden.d.mts +16 -0
  579. package/build/type/engine/evaluate/broaden.mjs +48 -0
  580. package/build/type/engine/evaluate/compare.d.mts +15 -0
  581. package/build/type/engine/evaluate/compare.mjs +21 -0
  582. package/build/type/engine/evaluate/composite.d.mts +30 -0
  583. package/build/type/engine/evaluate/composite.mjs +63 -0
  584. package/build/type/engine/evaluate/distribute.d.mts +27 -0
  585. package/build/type/engine/evaluate/distribute.mjs +55 -0
  586. package/build/type/engine/evaluate/evaluate.d.mts +14 -0
  587. package/build/type/engine/evaluate/evaluate.mjs +27 -0
  588. package/build/type/engine/evaluate/flatten.d.mts +6 -0
  589. package/build/type/engine/evaluate/flatten.mjs +11 -0
  590. package/build/type/engine/evaluate/index.d.mts +8 -0
  591. package/build/type/engine/evaluate/index.mjs +8 -0
  592. package/build/type/engine/evaluate/instantiate.d.mts +8 -0
  593. package/build/type/engine/evaluate/instantiate.mjs +17 -0
  594. package/build/type/engine/evaluate/narrow.d.mts +5 -0
  595. package/build/type/engine/evaluate/narrow.mjs +11 -0
  596. package/build/type/engine/exclude/index.d.mts +1 -0
  597. package/build/type/engine/exclude/index.mjs +1 -0
  598. package/build/type/engine/exclude/instantiate.d.mts +16 -0
  599. package/build/type/engine/exclude/instantiate.mjs +36 -0
  600. package/build/type/engine/extract/index.d.mts +1 -0
  601. package/build/type/engine/extract/index.mjs +1 -0
  602. package/build/type/engine/extract/instantiate.d.mts +16 -0
  603. package/build/type/engine/extract/instantiate.mjs +36 -0
  604. package/build/type/engine/helpers/index.d.mts +3 -0
  605. package/build/type/engine/helpers/index.mjs +3 -0
  606. package/build/type/engine/helpers/keys-to-indexer.d.mts +7 -0
  607. package/build/type/engine/helpers/keys-to-indexer.mjs +15 -0
  608. package/build/type/engine/helpers/keys.d.mts +3 -0
  609. package/build/type/engine/helpers/keys.mjs +8 -0
  610. package/build/type/engine/helpers/union.d.mts +7 -0
  611. package/build/type/engine/helpers/union.mjs +2 -0
  612. package/build/type/engine/index.d.mts +31 -0
  613. package/build/type/engine/index.mjs +37 -0
  614. package/build/type/engine/indexable/from-cyclic.d.mts +6 -0
  615. package/build/type/engine/indexable/from-cyclic.mjs +8 -0
  616. package/build/type/engine/indexable/from-enum.d.mts +6 -0
  617. package/build/type/engine/indexable/from-enum.mjs +8 -0
  618. package/build/type/engine/indexable/from-intersect.d.mts +5 -0
  619. package/build/type/engine/indexable/from-intersect.mjs +8 -0
  620. package/build/type/engine/indexable/from-literal.d.mts +3 -0
  621. package/build/type/engine/indexable/from-literal.mjs +5 -0
  622. package/build/type/engine/indexable/from-template-literal.d.mts +5 -0
  623. package/build/type/engine/indexable/from-template-literal.mjs +8 -0
  624. package/build/type/engine/indexable/from-type.d.mts +17 -0
  625. package/build/type/engine/indexable/from-type.mjs +22 -0
  626. package/build/type/engine/indexable/from-union.d.mts +4 -0
  627. package/build/type/engine/indexable/from-union.mjs +7 -0
  628. package/build/type/engine/indexable/to-indexable-keys.d.mts +10 -0
  629. package/build/type/engine/indexable/to-indexable-keys.mjs +12 -0
  630. package/build/type/engine/indexable/to-indexable.d.mts +9 -0
  631. package/build/type/engine/indexable/to-indexable.mjs +14 -0
  632. package/build/type/engine/indexed/array-indexer.d.mts +12 -0
  633. package/build/type/engine/indexed/array-indexer.mjs +18 -0
  634. package/build/type/engine/indexed/from-array.d.mts +15 -0
  635. package/build/type/engine/indexed/from-array.mjs +26 -0
  636. package/build/type/engine/indexed/from-object.d.mts +9 -0
  637. package/build/type/engine/indexed/from-object.mjs +18 -0
  638. package/build/type/engine/indexed/from-tuple.d.mts +13 -0
  639. package/build/type/engine/indexed/from-tuple.mjs +28 -0
  640. package/build/type/engine/indexed/index.d.mts +1 -0
  641. package/build/type/engine/indexed/index.mjs +1 -0
  642. package/build/type/engine/indexed/instantiate.d.mts +21 -0
  643. package/build/type/engine/indexed/instantiate.mjs +37 -0
  644. package/build/type/engine/instance-type/index.d.mts +1 -0
  645. package/build/type/engine/instance-type/index.mjs +1 -0
  646. package/build/type/engine/instance-type/instantiate.d.mts +12 -0
  647. package/build/type/engine/instance-type/instantiate.mjs +20 -0
  648. package/build/type/engine/instantiate.d.mts +167 -0
  649. package/build/type/engine/instantiate.mjs +172 -0
  650. package/build/type/engine/interface/index.d.mts +1 -0
  651. package/build/type/engine/interface/index.mjs +1 -0
  652. package/build/type/engine/interface/instantiate.d.mts +16 -0
  653. package/build/type/engine/interface/instantiate.mjs +19 -0
  654. package/build/type/engine/intrinsics/from-literal.d.mts +5 -0
  655. package/build/type/engine/intrinsics/from-literal.mjs +9 -0
  656. package/build/type/engine/intrinsics/from-template-literal.d.mts +6 -0
  657. package/build/type/engine/intrinsics/from-template-literal.mjs +8 -0
  658. package/build/type/engine/intrinsics/from-type.d.mts +10 -0
  659. package/build/type/engine/intrinsics/from-type.mjs +13 -0
  660. package/build/type/engine/intrinsics/from-union.d.mts +6 -0
  661. package/build/type/engine/intrinsics/from-union.mjs +7 -0
  662. package/build/type/engine/intrinsics/index.d.mts +1 -0
  663. package/build/type/engine/intrinsics/index.mjs +1 -0
  664. package/build/type/engine/intrinsics/instantiate.d.mts +34 -0
  665. package/build/type/engine/intrinsics/instantiate.mjs +48 -0
  666. package/build/type/engine/intrinsics/mapping.d.mts +9 -0
  667. package/build/type/engine/intrinsics/mapping.mjs +4 -0
  668. package/build/type/engine/keyof/from-any.d.mts +6 -0
  669. package/build/type/engine/keyof/from-any.mjs +8 -0
  670. package/build/type/engine/keyof/from-array.d.mts +4 -0
  671. package/build/type/engine/keyof/from-array.mjs +5 -0
  672. package/build/type/engine/keyof/from-object.d.mts +10 -0
  673. package/build/type/engine/keyof/from-object.mjs +20 -0
  674. package/build/type/engine/keyof/from-record.d.mts +4 -0
  675. package/build/type/engine/keyof/from-record.mjs +5 -0
  676. package/build/type/engine/keyof/from-tuple.d.mts +5 -0
  677. package/build/type/engine/keyof/from-tuple.mjs +7 -0
  678. package/build/type/engine/keyof/index.d.mts +1 -0
  679. package/build/type/engine/keyof/index.mjs +1 -0
  680. package/build/type/engine/keyof/instantiate.d.mts +27 -0
  681. package/build/type/engine/keyof/instantiate.mjs +45 -0
  682. package/build/type/engine/mapped/index.d.mts +1 -0
  683. package/build/type/engine/mapped/index.mjs +1 -0
  684. package/build/type/engine/mapped/instantiate.d.mts +28 -0
  685. package/build/type/engine/mapped/instantiate.mjs +47 -0
  686. package/build/type/engine/mapped/mapped-keys.d.mts +14 -0
  687. package/build/type/engine/mapped/mapped-keys.mjs +29 -0
  688. package/build/type/engine/module/index.d.mts +1 -0
  689. package/build/type/engine/module/index.mjs +1 -0
  690. package/build/type/engine/module/instantiate.d.mts +21 -0
  691. package/build/type/engine/module/instantiate.mjs +33 -0
  692. package/build/type/engine/non-nullable/index.d.mts +1 -0
  693. package/build/type/engine/non-nullable/index.mjs +1 -0
  694. package/build/type/engine/non-nullable/instantiate.d.mts +15 -0
  695. package/build/type/engine/non-nullable/instantiate.mjs +21 -0
  696. package/build/type/engine/object/collapse.d.mts +12 -0
  697. package/build/type/engine/object/collapse.mjs +14 -0
  698. package/build/type/engine/object/from-cyclic.d.mts +6 -0
  699. package/build/type/engine/object/from-cyclic.mjs +8 -0
  700. package/build/type/engine/object/from-intersect.d.mts +17 -0
  701. package/build/type/engine/object/from-intersect.mjs +21 -0
  702. package/build/type/engine/object/from-object.d.mts +3 -0
  703. package/build/type/engine/object/from-object.mjs +4 -0
  704. package/build/type/engine/object/from-tuple.d.mts +6 -0
  705. package/build/type/engine/object/from-tuple.mjs +9 -0
  706. package/build/type/engine/object/from-type.d.mts +14 -0
  707. package/build/type/engine/object/from-type.mjs +19 -0
  708. package/build/type/engine/object/from-union.d.mts +12 -0
  709. package/build/type/engine/object/from-union.mjs +26 -0
  710. package/build/type/engine/object/index.d.mts +1 -0
  711. package/build/type/engine/object/index.mjs +1 -0
  712. package/build/type/engine/omit/index.d.mts +1 -0
  713. package/build/type/engine/omit/index.mjs +1 -0
  714. package/build/type/engine/omit/instantiate.d.mts +16 -0
  715. package/build/type/engine/omit/instantiate.mjs +31 -0
  716. package/build/type/engine/options/index.d.mts +1 -0
  717. package/build/type/engine/options/index.mjs +1 -0
  718. package/build/type/engine/options/instantiate.d.mts +8 -0
  719. package/build/type/engine/options/instantiate.mjs +13 -0
  720. package/build/type/engine/parameters/index.d.mts +1 -0
  721. package/build/type/engine/parameters/index.mjs +1 -0
  722. package/build/type/engine/parameters/instantiate.d.mts +14 -0
  723. package/build/type/engine/parameters/instantiate.mjs +21 -0
  724. package/build/type/engine/partial/from-cyclic.d.mts +10 -0
  725. package/build/type/engine/partial/from-cyclic.mjs +11 -0
  726. package/build/type/engine/partial/from-intersect.d.mts +5 -0
  727. package/build/type/engine/partial/from-intersect.mjs +7 -0
  728. package/build/type/engine/partial/from-object.d.mts +8 -0
  729. package/build/type/engine/partial/from-object.mjs +11 -0
  730. package/build/type/engine/partial/from-type.d.mts +12 -0
  731. package/build/type/engine/partial/from-type.mjs +16 -0
  732. package/build/type/engine/partial/from-union.d.mts +5 -0
  733. package/build/type/engine/partial/from-union.mjs +7 -0
  734. package/build/type/engine/partial/index.d.mts +1 -0
  735. package/build/type/engine/partial/index.mjs +1 -0
  736. package/build/type/engine/partial/instantiate.d.mts +9 -0
  737. package/build/type/engine/partial/instantiate.mjs +14 -0
  738. package/build/type/engine/patterns/index.d.mts +2 -0
  739. package/build/type/engine/patterns/index.mjs +2 -0
  740. package/build/type/engine/patterns/pattern.d.mts +6 -0
  741. package/build/type/engine/patterns/pattern.mjs +11 -0
  742. package/build/type/engine/patterns/template.d.mts +7 -0
  743. package/build/type/engine/patterns/template.mjs +20 -0
  744. package/build/type/engine/pick/index.d.mts +1 -0
  745. package/build/type/engine/pick/index.mjs +1 -0
  746. package/build/type/engine/pick/instantiate.d.mts +17 -0
  747. package/build/type/engine/pick/instantiate.mjs +31 -0
  748. package/build/type/engine/readonly-type/from-array.d.mts +5 -0
  749. package/build/type/engine/readonly-type/from-array.mjs +7 -0
  750. package/build/type/engine/readonly-type/from-cyclic.d.mts +10 -0
  751. package/build/type/engine/readonly-type/from-cyclic.mjs +11 -0
  752. package/build/type/engine/readonly-type/from-intersect.d.mts +5 -0
  753. package/build/type/engine/readonly-type/from-intersect.mjs +7 -0
  754. package/build/type/engine/readonly-type/from-object.d.mts +8 -0
  755. package/build/type/engine/readonly-type/from-object.mjs +11 -0
  756. package/build/type/engine/readonly-type/from-tuple.d.mts +5 -0
  757. package/build/type/engine/readonly-type/from-tuple.mjs +7 -0
  758. package/build/type/engine/readonly-type/from-type.d.mts +16 -0
  759. package/build/type/engine/readonly-type/from-type.mjs +22 -0
  760. package/build/type/engine/readonly-type/from-union.d.mts +5 -0
  761. package/build/type/engine/readonly-type/from-union.mjs +7 -0
  762. package/build/type/engine/readonly-type/index.d.mts +1 -0
  763. package/build/type/engine/readonly-type/index.mjs +1 -0
  764. package/build/type/engine/readonly-type/instantiate.d.mts +9 -0
  765. package/build/type/engine/readonly-type/instantiate.mjs +14 -0
  766. package/build/type/engine/record/from-key-any.d.mts +4 -0
  767. package/build/type/engine/record/from-key-any.mjs +6 -0
  768. package/build/type/engine/record/from-key-boolean.d.mts +7 -0
  769. package/build/type/engine/record/from-key-boolean.mjs +5 -0
  770. package/build/type/engine/record/from-key-enum.d.mts +6 -0
  771. package/build/type/engine/record/from-key-enum.mjs +8 -0
  772. package/build/type/engine/record/from-key-integer.d.mts +5 -0
  773. package/build/type/engine/record/from-key-integer.mjs +7 -0
  774. package/build/type/engine/record/from-key-intersect.d.mts +5 -0
  775. package/build/type/engine/record/from-key-intersect.mjs +8 -0
  776. package/build/type/engine/record/from-key-literal.d.mts +11 -0
  777. package/build/type/engine/record/from-key-literal.mjs +10 -0
  778. package/build/type/engine/record/from-key-number.d.mts +5 -0
  779. package/build/type/engine/record/from-key-number.mjs +7 -0
  780. package/build/type/engine/record/from-key-string.d.mts +5 -0
  781. package/build/type/engine/record/from-key-string.mjs +12 -0
  782. package/build/type/engine/record/from-key-template-literal.d.mts +8 -0
  783. package/build/type/engine/record/from-key-template-literal.mjs +12 -0
  784. package/build/type/engine/record/from-key-union.d.mts +20 -0
  785. package/build/type/engine/record/from-key-union.mjs +39 -0
  786. package/build/type/engine/record/from-key.d.mts +24 -0
  787. package/build/type/engine/record/from-key.mjs +40 -0
  788. package/build/type/engine/record/index.d.mts +1 -0
  789. package/build/type/engine/record/index.mjs +1 -0
  790. package/build/type/engine/record/instantiate.d.mts +9 -0
  791. package/build/type/engine/record/instantiate.mjs +16 -0
  792. package/build/type/engine/record/record-create.d.mts +3 -0
  793. package/build/type/engine/record/record-create.mjs +7 -0
  794. package/build/type/engine/ref/index.d.mts +1 -0
  795. package/build/type/engine/ref/index.mjs +1 -0
  796. package/build/type/engine/ref/instantiate.d.mts +6 -0
  797. package/build/type/engine/ref/instantiate.mjs +10 -0
  798. package/build/type/engine/required/from-cyclic.d.mts +10 -0
  799. package/build/type/engine/required/from-cyclic.mjs +11 -0
  800. package/build/type/engine/required/from-intersect.d.mts +5 -0
  801. package/build/type/engine/required/from-intersect.mjs +7 -0
  802. package/build/type/engine/required/from-object.d.mts +8 -0
  803. package/build/type/engine/required/from-object.mjs +11 -0
  804. package/build/type/engine/required/from-type.d.mts +12 -0
  805. package/build/type/engine/required/from-type.mjs +16 -0
  806. package/build/type/engine/required/from-union.d.mts +5 -0
  807. package/build/type/engine/required/from-union.mjs +7 -0
  808. package/build/type/engine/required/index.d.mts +1 -0
  809. package/build/type/engine/required/index.mjs +1 -0
  810. package/build/type/engine/required/instantiate.d.mts +9 -0
  811. package/build/type/engine/required/instantiate.mjs +14 -0
  812. package/build/type/engine/rest/index.d.mts +1 -0
  813. package/build/type/engine/rest/index.mjs +1 -0
  814. package/build/type/engine/rest/spread.d.mts +12 -0
  815. package/build/type/engine/rest/spread.mjs +19 -0
  816. package/build/type/engine/return-type/index.d.mts +1 -0
  817. package/build/type/engine/return-type/index.mjs +1 -0
  818. package/build/type/engine/return-type/instantiate.d.mts +11 -0
  819. package/build/type/engine/return-type/instantiate.mjs +18 -0
  820. package/build/type/engine/template-literal/create.d.mts +1 -0
  821. package/build/type/engine/template-literal/create.mjs +5 -0
  822. package/build/type/engine/template-literal/decode.d.mts +30 -0
  823. package/build/type/engine/template-literal/decode.mjs +87 -0
  824. package/build/type/engine/template-literal/encode.d.mts +31 -0
  825. package/build/type/engine/template-literal/encode.mjs +80 -0
  826. package/build/type/engine/template-literal/index.d.mts +6 -0
  827. package/build/type/engine/template-literal/index.mjs +6 -0
  828. package/build/type/engine/template-literal/instantiate.d.mts +9 -0
  829. package/build/type/engine/template-literal/instantiate.mjs +14 -0
  830. package/build/type/engine/template-literal/is-finite.d.mts +12 -0
  831. package/build/type/engine/template-literal/is-finite.mjs +30 -0
  832. package/build/type/engine/template-literal/is-pattern.d.mts +6 -0
  833. package/build/type/engine/template-literal/is-pattern.mjs +9 -0
  834. package/build/type/engine/template-literal/static.d.mts +18 -0
  835. package/build/type/engine/template-literal/static.mjs +2 -0
  836. package/build/type/engine/tuple/to-object.d.mts +12 -0
  837. package/build/type/engine/tuple/to-object.mjs +13 -0
  838. package/build/type/extends/any.d.mts +9 -0
  839. package/build/type/extends/any.mjs +12 -0
  840. package/build/type/extends/array.d.mts +20 -0
  841. package/build/type/extends/array.mjs +21 -0
  842. package/build/type/extends/async-iterator.d.mts +7 -0
  843. package/build/type/extends/async-iterator.mjs +9 -0
  844. package/build/type/extends/bigint.d.mts +7 -0
  845. package/build/type/extends/bigint.mjs +9 -0
  846. package/build/type/extends/boolean.d.mts +7 -0
  847. package/build/type/extends/boolean.mjs +9 -0
  848. package/build/type/extends/constructor.d.mts +8 -0
  849. package/build/type/extends/constructor.mjs +16 -0
  850. package/build/type/extends/enum.d.mts +7 -0
  851. package/build/type/extends/enum.mjs +6 -0
  852. package/build/type/extends/extends-left.d.mts +55 -0
  853. package/build/type/extends/extends-left.mjs +83 -0
  854. package/build/type/extends/extends-right.d.mts +25 -0
  855. package/build/type/extends/extends-right.mjs +59 -0
  856. package/build/type/extends/extends.d.mts +11 -0
  857. package/build/type/extends/extends.mjs +15 -0
  858. package/build/type/extends/function.d.mts +8 -0
  859. package/build/type/extends/function.mjs +16 -0
  860. package/build/type/extends/index.d.mts +2 -0
  861. package/build/type/extends/index.mjs +2 -0
  862. package/build/type/extends/inference.d.mts +34 -0
  863. package/build/type/extends/inference.mjs +72 -0
  864. package/build/type/extends/integer.d.mts +8 -0
  865. package/build/type/extends/integer.mjs +10 -0
  866. package/build/type/extends/intersect.d.mts +6 -0
  867. package/build/type/extends/intersect.mjs +15 -0
  868. package/build/type/extends/iterator.d.mts +7 -0
  869. package/build/type/extends/iterator.mjs +9 -0
  870. package/build/type/extends/literal.d.mts +18 -0
  871. package/build/type/extends/literal.mjs +44 -0
  872. package/build/type/extends/never.d.mts +8 -0
  873. package/build/type/extends/never.mjs +9 -0
  874. package/build/type/extends/null.d.mts +7 -0
  875. package/build/type/extends/null.mjs +9 -0
  876. package/build/type/extends/number.d.mts +7 -0
  877. package/build/type/extends/number.mjs +9 -0
  878. package/build/type/extends/object.d.mts +25 -0
  879. package/build/type/extends/object.mjs +89 -0
  880. package/build/type/extends/parameters.d.mts +15 -0
  881. package/build/type/extends/parameters.mjs +37 -0
  882. package/build/type/extends/promise.d.mts +7 -0
  883. package/build/type/extends/promise.mjs +9 -0
  884. package/build/type/extends/result.d.mts +21 -0
  885. package/build/type/extends/result.mjs +33 -0
  886. package/build/type/extends/return-type.d.mts +7 -0
  887. package/build/type/extends/return-type.mjs +9 -0
  888. package/build/type/extends/string.d.mts +7 -0
  889. package/build/type/extends/string.mjs +9 -0
  890. package/build/type/extends/symbol.d.mts +7 -0
  891. package/build/type/extends/symbol.mjs +9 -0
  892. package/build/type/extends/template-literal.d.mts +6 -0
  893. package/build/type/extends/template-literal.mjs +7 -0
  894. package/build/type/extends/tuple.d.mts +25 -0
  895. package/build/type/extends/tuple.mjs +82 -0
  896. package/build/type/extends/undefined.d.mts +8 -0
  897. package/build/type/extends/undefined.mjs +10 -0
  898. package/build/type/extends/union.d.mts +11 -0
  899. package/build/type/extends/union.mjs +36 -0
  900. package/build/type/extends/unknown.d.mts +9 -0
  901. package/build/type/extends/unknown.mjs +12 -0
  902. package/build/type/extends/void.d.mts +7 -0
  903. package/build/type/extends/void.mjs +9 -0
  904. package/build/type/index.d.mts +5 -0
  905. package/build/type/index.mjs +5 -0
  906. package/build/type/script/index.d.mts +1 -0
  907. package/build/type/script/index.mjs +1 -0
  908. package/build/type/script/mapping.d.mts +365 -0
  909. package/build/type/script/mapping.mjs +532 -0
  910. package/build/type/script/parser.d.mts +260 -0
  911. package/build/type/script/parser.mjs +135 -0
  912. package/build/type/script/script.d.mts +17 -0
  913. package/build/type/script/script.mjs +21 -0
  914. package/build/type/script/token/bigint.d.mts +8 -0
  915. package/build/type/script/token/bigint.mjs +20 -0
  916. package/build/type/script/token/const.d.mts +11 -0
  917. package/build/type/script/token/const.mjs +18 -0
  918. package/build/type/script/token/ident.d.mts +16 -0
  919. package/build/type/script/token/ident.mjs +35 -0
  920. package/build/type/script/token/index.d.mts +9 -0
  921. package/build/type/script/token/index.mjs +9 -0
  922. package/build/type/script/token/integer.d.mts +19 -0
  923. package/build/type/script/token/integer.mjs +45 -0
  924. package/build/type/script/token/internal/char.d.mts +75 -0
  925. package/build/type/script/token/internal/char.mjs +26 -0
  926. package/build/type/script/token/internal/guard.d.mts +1 -0
  927. package/build/type/script/token/internal/guard.mjs +15 -0
  928. package/build/type/script/token/internal/many.d.mts +7 -0
  929. package/build/type/script/token/internal/many.mjs +17 -0
  930. package/build/type/script/token/internal/optional.d.mts +5 -0
  931. package/build/type/script/token/internal/optional.mjs +12 -0
  932. package/build/type/script/token/internal/result.d.mts +2 -0
  933. package/build/type/script/token/internal/result.mjs +7 -0
  934. package/build/type/script/token/internal/take.d.mts +6 -0
  935. package/build/type/script/token/internal/take.mjs +19 -0
  936. package/build/type/script/token/internal/trim.d.mts +19 -0
  937. package/build/type/script/token/internal/trim.mjs +34 -0
  938. package/build/type/script/token/number.d.mts +20 -0
  939. package/build/type/script/token/number.mjs +65 -0
  940. package/build/type/script/token/span.d.mts +10 -0
  941. package/build/type/script/token/span.mjs +35 -0
  942. package/build/type/script/token/string.d.mts +11 -0
  943. package/build/type/script/token/string.mjs +24 -0
  944. package/build/type/script/token/until.d.mts +6 -0
  945. package/build/type/script/token/until.mjs +21 -0
  946. package/build/type/script/token/until_1.d.mts +5 -0
  947. package/build/type/script/token/until_1.mjs +16 -0
  948. package/build/type/types/_codec.d.mts +30 -0
  949. package/build/type/types/_codec.mjs +60 -0
  950. package/build/type/types/_immutable.d.mts +16 -0
  951. package/build/type/types/_immutable.mjs +26 -0
  952. package/build/type/types/_optional.d.mts +16 -0
  953. package/build/type/types/_optional.mjs +27 -0
  954. package/build/type/types/_readonly.d.mts +16 -0
  955. package/build/type/types/_readonly.mjs +26 -0
  956. package/build/type/types/_refine.d.mts +19 -0
  957. package/build/type/types/_refine.mjs +20 -0
  958. package/build/type/types/any.d.mts +10 -0
  959. package/build/type/types/any.mjs +18 -0
  960. package/build/type/types/array.d.mts +17 -0
  961. package/build/type/types/array.mjs +24 -0
  962. package/build/type/types/async-iterator.d.mts +16 -0
  963. package/build/type/types/async-iterator.mjs +24 -0
  964. package/build/type/types/base.d.mts +50 -0
  965. package/build/type/types/base.mjs +84 -0
  966. package/build/type/types/bigint.d.mts +12 -0
  967. package/build/type/types/bigint.mjs +21 -0
  968. package/build/type/types/boolean.d.mts +11 -0
  969. package/build/type/types/boolean.mjs +17 -0
  970. package/build/type/types/call.d.mts +16 -0
  971. package/build/type/types/call.mjs +21 -0
  972. package/build/type/types/constructor.d.mts +18 -0
  973. package/build/type/types/constructor.mjs +24 -0
  974. package/build/type/types/cyclic.d.mts +16 -0
  975. package/build/type/types/cyclic.mjs +29 -0
  976. package/build/type/types/deferred.d.mts +12 -0
  977. package/build/type/types/deferred.mjs +16 -0
  978. package/build/type/types/enum.d.mts +16 -0
  979. package/build/type/types/enum.mjs +17 -0
  980. package/build/type/types/function.d.mts +21 -0
  981. package/build/type/types/function.mjs +25 -0
  982. package/build/type/types/generic.d.mts +13 -0
  983. package/build/type/types/generic.mjs +17 -0
  984. package/build/type/types/identifier.d.mts +11 -0
  985. package/build/type/types/identifier.mjs +17 -0
  986. package/build/type/types/index.d.mts +48 -0
  987. package/build/type/types/index.mjs +54 -0
  988. package/build/type/types/infer.d.mts +15 -0
  989. package/build/type/types/infer.mjs +20 -0
  990. package/build/type/types/integer.d.mts +12 -0
  991. package/build/type/types/integer.mjs +21 -0
  992. package/build/type/types/intersect.d.mts +15 -0
  993. package/build/type/types/intersect.mjs +24 -0
  994. package/build/type/types/iterator.d.mts +16 -0
  995. package/build/type/types/iterator.mjs +24 -0
  996. package/build/type/types/literal.d.mts +31 -0
  997. package/build/type/types/literal.mjs +62 -0
  998. package/build/type/types/never.d.mts +12 -0
  999. package/build/type/types/never.mjs +21 -0
  1000. package/build/type/types/null.d.mts +11 -0
  1001. package/build/type/types/null.mjs +17 -0
  1002. package/build/type/types/number.d.mts +12 -0
  1003. package/build/type/types/number.mjs +21 -0
  1004. package/build/type/types/object.d.mts +18 -0
  1005. package/build/type/types/object.mjs +28 -0
  1006. package/build/type/types/parameter.d.mts +17 -0
  1007. package/build/type/types/parameter.mjs +21 -0
  1008. package/build/type/types/promise.d.mts +16 -0
  1009. package/build/type/types/promise.mjs +24 -0
  1010. package/build/type/types/properties.d.mts +42 -0
  1011. package/build/type/types/properties.mjs +16 -0
  1012. package/build/type/types/record.d.mts +48 -0
  1013. package/build/type/types/record.mjs +63 -0
  1014. package/build/type/types/ref.d.mts +19 -0
  1015. package/build/type/types/ref.mjs +17 -0
  1016. package/build/type/types/rest.d.mts +11 -0
  1017. package/build/type/types/rest.mjs +17 -0
  1018. package/build/type/types/schema.d.mts +199 -0
  1019. package/build/type/types/schema.mjs +15 -0
  1020. package/build/type/types/static.d.mts +48 -0
  1021. package/build/type/types/static.mjs +3 -0
  1022. package/build/type/types/string.d.mts +12 -0
  1023. package/build/type/types/string.mjs +22 -0
  1024. package/build/type/types/symbol.d.mts +11 -0
  1025. package/build/type/types/symbol.mjs +17 -0
  1026. package/build/type/types/template-literal.d.mts +26 -0
  1027. package/build/type/types/template-literal.mjs +31 -0
  1028. package/build/type/types/this.d.mts +14 -0
  1029. package/build/type/types/this.mjs +17 -0
  1030. package/build/type/types/tuple.d.mts +38 -0
  1031. package/build/type/types/tuple.mjs +25 -0
  1032. package/build/type/types/undefined.d.mts +11 -0
  1033. package/build/type/types/undefined.mjs +17 -0
  1034. package/build/type/types/union.d.mts +15 -0
  1035. package/build/type/types/union.mjs +24 -0
  1036. package/build/type/types/unknown.d.mts +10 -0
  1037. package/build/type/types/unknown.mjs +17 -0
  1038. package/build/type/types/unsafe.d.mts +11 -0
  1039. package/build/type/types/unsafe.mjs +18 -0
  1040. package/build/type/types/void.d.mts +11 -0
  1041. package/build/type/types/void.mjs +17 -0
  1042. package/build/typebox.d.mts +73 -0
  1043. package/build/typebox.mjs +89 -0
  1044. package/build/value/assert/assert.d.mts +14 -0
  1045. package/build/value/assert/assert.mjs +27 -0
  1046. package/build/value/assert/index.d.mts +1 -0
  1047. package/build/value/assert/index.mjs +1 -0
  1048. package/build/value/check/check.d.mts +5 -0
  1049. package/build/value/check/check.mjs +11 -0
  1050. package/build/value/check/index.d.mts +1 -0
  1051. package/build/value/check/index.mjs +1 -0
  1052. package/build/value/clean/additional.d.mts +2 -0
  1053. package/build/value/clean/additional.mjs +6 -0
  1054. package/build/value/clean/clean.d.mts +15 -0
  1055. package/build/value/clean/clean.mjs +15 -0
  1056. package/build/value/clean/from-array.d.mts +2 -0
  1057. package/build/value/clean/from-array.mjs +8 -0
  1058. package/build/value/clean/from-base.d.mts +2 -0
  1059. package/build/value/clean/from-base.mjs +4 -0
  1060. package/build/value/clean/from-cyclic.d.mts +2 -0
  1061. package/build/value/clean/from-cyclic.mjs +6 -0
  1062. package/build/value/clean/from-intersect.d.mts +2 -0
  1063. package/build/value/clean/from-intersect.mjs +26 -0
  1064. package/build/value/clean/from-object.d.mts +2 -0
  1065. package/build/value/clean/from-object.mjs +31 -0
  1066. package/build/value/clean/from-record.d.mts +2 -0
  1067. package/build/value/clean/from-record.mjs +32 -0
  1068. package/build/value/clean/from-ref.d.mts +2 -0
  1069. package/build/value/clean/from-ref.mjs +8 -0
  1070. package/build/value/clean/from-tuple.d.mts +2 -0
  1071. package/build/value/clean/from-tuple.mjs +14 -0
  1072. package/build/value/clean/from-type.d.mts +2 -0
  1073. package/build/value/clean/from-type.mjs +23 -0
  1074. package/build/value/clean/from-union.d.mts +2 -0
  1075. package/build/value/clean/from-union.mjs +12 -0
  1076. package/build/value/clean/index.d.mts +1 -0
  1077. package/build/value/clean/index.mjs +1 -0
  1078. package/build/value/clone/clone.d.mts +5 -0
  1079. package/build/value/clone/clone.mjs +82 -0
  1080. package/build/value/clone/index.d.mts +1 -0
  1081. package/build/value/clone/index.mjs +1 -0
  1082. package/build/value/codec/callback.d.mts +2 -0
  1083. package/build/value/codec/callback.mjs +25 -0
  1084. package/build/value/codec/decode.d.mts +22 -0
  1085. package/build/value/codec/decode.mjs +55 -0
  1086. package/build/value/codec/encode.d.mts +12 -0
  1087. package/build/value/codec/encode.mjs +50 -0
  1088. package/build/value/codec/from-array.d.mts +2 -0
  1089. package/build/value/codec/from-array.mjs +38 -0
  1090. package/build/value/codec/from-cyclic.d.mts +2 -0
  1091. package/build/value/codec/from-cyclic.mjs +8 -0
  1092. package/build/value/codec/from-intersect.d.mts +2 -0
  1093. package/build/value/codec/from-intersect.mjs +28 -0
  1094. package/build/value/codec/from-object.d.mts +2 -0
  1095. package/build/value/codec/from-object.mjs +45 -0
  1096. package/build/value/codec/from-record.d.mts +2 -0
  1097. package/build/value/codec/from-record.mjs +44 -0
  1098. package/build/value/codec/from-ref.d.mts +2 -0
  1099. package/build/value/codec/from-ref.mjs +10 -0
  1100. package/build/value/codec/from-tuple.d.mts +2 -0
  1101. package/build/value/codec/from-tuple.mjs +35 -0
  1102. package/build/value/codec/from-type.d.mts +2 -0
  1103. package/build/value/codec/from-type.mjs +22 -0
  1104. package/build/value/codec/from-union.d.mts +2 -0
  1105. package/build/value/codec/from-union.mjs +42 -0
  1106. package/build/value/codec/has.d.mts +5 -0
  1107. package/build/value/codec/has.mjs +93 -0
  1108. package/build/value/codec/index.d.mts +3 -0
  1109. package/build/value/codec/index.mjs +3 -0
  1110. package/build/value/convert/convert.d.mts +13 -0
  1111. package/build/value/convert/convert.mjs +15 -0
  1112. package/build/value/convert/from-additional.d.mts +6 -0
  1113. package/build/value/convert/from-additional.mjs +18 -0
  1114. package/build/value/convert/from-array.d.mts +2 -0
  1115. package/build/value/convert/from-array.mjs +8 -0
  1116. package/build/value/convert/from-base.d.mts +2 -0
  1117. package/build/value/convert/from-base.mjs +4 -0
  1118. package/build/value/convert/from-bigint.d.mts +2 -0
  1119. package/build/value/convert/from-bigint.mjs +9 -0
  1120. package/build/value/convert/from-boolean.d.mts +2 -0
  1121. package/build/value/convert/from-boolean.mjs +9 -0
  1122. package/build/value/convert/from-cyclic.d.mts +2 -0
  1123. package/build/value/convert/from-cyclic.mjs +6 -0
  1124. package/build/value/convert/from-enum.d.mts +2 -0
  1125. package/build/value/convert/from-enum.mjs +7 -0
  1126. package/build/value/convert/from-integer.d.mts +2 -0
  1127. package/build/value/convert/from-integer.mjs +9 -0
  1128. package/build/value/convert/from-intersect.d.mts +2 -0
  1129. package/build/value/convert/from-intersect.mjs +8 -0
  1130. package/build/value/convert/from-literal.d.mts +2 -0
  1131. package/build/value/convert/from-literal.mjs +44 -0
  1132. package/build/value/convert/from-null.d.mts +2 -0
  1133. package/build/value/convert/from-null.mjs +9 -0
  1134. package/build/value/convert/from-number.d.mts +2 -0
  1135. package/build/value/convert/from-number.mjs +9 -0
  1136. package/build/value/convert/from-object.d.mts +2 -0
  1137. package/build/value/convert/from-object.mjs +28 -0
  1138. package/build/value/convert/from-record.d.mts +2 -0
  1139. package/build/value/convert/from-record.mjs +23 -0
  1140. package/build/value/convert/from-ref.d.mts +2 -0
  1141. package/build/value/convert/from-ref.mjs +8 -0
  1142. package/build/value/convert/from-string.d.mts +2 -0
  1143. package/build/value/convert/from-string.mjs +9 -0
  1144. package/build/value/convert/from-template-literal.d.mts +2 -0
  1145. package/build/value/convert/from-template-literal.mjs +7 -0
  1146. package/build/value/convert/from-tuple.d.mts +2 -0
  1147. package/build/value/convert/from-tuple.mjs +11 -0
  1148. package/build/value/convert/from-type.d.mts +2 -0
  1149. package/build/value/convert/from-type.mjs +45 -0
  1150. package/build/value/convert/from-undefined.d.mts +2 -0
  1151. package/build/value/convert/from-undefined.mjs +9 -0
  1152. package/build/value/convert/from-union.d.mts +2 -0
  1153. package/build/value/convert/from-union.mjs +13 -0
  1154. package/build/value/convert/from-void.d.mts +2 -0
  1155. package/build/value/convert/from-void.mjs +9 -0
  1156. package/build/value/convert/index.d.mts +1 -0
  1157. package/build/value/convert/index.mjs +1 -0
  1158. package/build/value/convert/try/index.d.mts +1 -0
  1159. package/build/value/convert/try/index.mjs +1 -0
  1160. package/build/value/convert/try/try-bigint.d.mts +2 -0
  1161. package/build/value/convert/try/try-bigint.mjs +74 -0
  1162. package/build/value/convert/try/try-boolean.d.mts +2 -0
  1163. package/build/value/convert/try/try-boolean.mjs +64 -0
  1164. package/build/value/convert/try/try-null.d.mts +2 -0
  1165. package/build/value/convert/try/try-null.mjs +61 -0
  1166. package/build/value/convert/try/try-number.d.mts +2 -0
  1167. package/build/value/convert/try/try-number.mjs +76 -0
  1168. package/build/value/convert/try/try-result.d.mts +8 -0
  1169. package/build/value/convert/try/try-result.mjs +18 -0
  1170. package/build/value/convert/try/try-string.d.mts +2 -0
  1171. package/build/value/convert/try/try-string.mjs +56 -0
  1172. package/build/value/convert/try/try-undefined.d.mts +2 -0
  1173. package/build/value/convert/try/try-undefined.mjs +61 -0
  1174. package/build/value/convert/try/try.d.mts +7 -0
  1175. package/build/value/convert/try/try.mjs +7 -0
  1176. package/build/value/create/create.d.mts +5 -0
  1177. package/build/value/create/create.mjs +11 -0
  1178. package/build/value/create/error.d.mts +5 -0
  1179. package/build/value/create/error.mjs +7 -0
  1180. package/build/value/create/from-array.d.mts +2 -0
  1181. package/build/value/create/from-array.mjs +10 -0
  1182. package/build/value/create/from-async-iterator.d.mts +2 -0
  1183. package/build/value/create/from-async-iterator.mjs +5 -0
  1184. package/build/value/create/from-base.d.mts +2 -0
  1185. package/build/value/create/from-base.mjs +4 -0
  1186. package/build/value/create/from-bigint.d.mts +2 -0
  1187. package/build/value/create/from-bigint.mjs +7 -0
  1188. package/build/value/create/from-boolean.d.mts +2 -0
  1189. package/build/value/create/from-boolean.mjs +4 -0
  1190. package/build/value/create/from-constructor.d.mts +2 -0
  1191. package/build/value/create/from-constructor.mjs +10 -0
  1192. package/build/value/create/from-cyclic.d.mts +2 -0
  1193. package/build/value/create/from-cyclic.mjs +6 -0
  1194. package/build/value/create/from-default.d.mts +3 -0
  1195. package/build/value/create/from-default.mjs +10 -0
  1196. package/build/value/create/from-enum.d.mts +2 -0
  1197. package/build/value/create/from-enum.mjs +6 -0
  1198. package/build/value/create/from-function.d.mts +2 -0
  1199. package/build/value/create/from-function.mjs +6 -0
  1200. package/build/value/create/from-integer.d.mts +2 -0
  1201. package/build/value/create/from-integer.mjs +8 -0
  1202. package/build/value/create/from-intersect.d.mts +2 -0
  1203. package/build/value/create/from-intersect.mjs +8 -0
  1204. package/build/value/create/from-iterator.d.mts +2 -0
  1205. package/build/value/create/from-iterator.mjs +5 -0
  1206. package/build/value/create/from-literal.d.mts +2 -0
  1207. package/build/value/create/from-literal.mjs +4 -0
  1208. package/build/value/create/from-never.d.mts +2 -0
  1209. package/build/value/create/from-never.mjs +5 -0
  1210. package/build/value/create/from-null.d.mts +2 -0
  1211. package/build/value/create/from-null.mjs +4 -0
  1212. package/build/value/create/from-number.d.mts +2 -0
  1213. package/build/value/create/from-number.mjs +8 -0
  1214. package/build/value/create/from-object.d.mts +2 -0
  1215. package/build/value/create/from-object.mjs +9 -0
  1216. package/build/value/create/from-promise.d.mts +2 -0
  1217. package/build/value/create/from-promise.mjs +5 -0
  1218. package/build/value/create/from-record.d.mts +2 -0
  1219. package/build/value/create/from-record.mjs +8 -0
  1220. package/build/value/create/from-ref.d.mts +2 -0
  1221. package/build/value/create/from-ref.mjs +9 -0
  1222. package/build/value/create/from-string.d.mts +2 -0
  1223. package/build/value/create/from-string.mjs +9 -0
  1224. package/build/value/create/from-symbol.d.mts +2 -0
  1225. package/build/value/create/from-symbol.mjs +4 -0
  1226. package/build/value/create/from-template-literal.d.mts +2 -0
  1227. package/build/value/create/from-template-literal.mjs +11 -0
  1228. package/build/value/create/from-tuple.d.mts +2 -0
  1229. package/build/value/create/from-tuple.mjs +5 -0
  1230. package/build/value/create/from-type.d.mts +2 -0
  1231. package/build/value/create/from-type.mjs +69 -0
  1232. package/build/value/create/from-undefined.d.mts +2 -0
  1233. package/build/value/create/from-undefined.mjs +4 -0
  1234. package/build/value/create/from-union.d.mts +2 -0
  1235. package/build/value/create/from-union.mjs +9 -0
  1236. package/build/value/create/from-void.d.mts +2 -0
  1237. package/build/value/create/from-void.mjs +4 -0
  1238. package/build/value/create/index.d.mts +2 -0
  1239. package/build/value/create/index.mjs +2 -0
  1240. package/build/value/default/default.d.mts +13 -0
  1241. package/build/value/default/default.mjs +15 -0
  1242. package/build/value/default/from-array.d.mts +2 -0
  1243. package/build/value/default/from-array.mjs +12 -0
  1244. package/build/value/default/from-base.d.mts +2 -0
  1245. package/build/value/default/from-base.mjs +5 -0
  1246. package/build/value/default/from-cyclic.d.mts +2 -0
  1247. package/build/value/default/from-cyclic.mjs +7 -0
  1248. package/build/value/default/from-default.d.mts +3 -0
  1249. package/build/value/default/from-default.mjs +13 -0
  1250. package/build/value/default/from-intersect.d.mts +2 -0
  1251. package/build/value/default/from-intersect.mjs +9 -0
  1252. package/build/value/default/from-object.d.mts +2 -0
  1253. package/build/value/default/from-object.mjs +32 -0
  1254. package/build/value/default/from-record.d.mts +2 -0
  1255. package/build/value/default/from-record.mjs +26 -0
  1256. package/build/value/default/from-ref.d.mts +2 -0
  1257. package/build/value/default/from-ref.mjs +9 -0
  1258. package/build/value/default/from-tuple.d.mts +2 -0
  1259. package/build/value/default/from-tuple.mjs +14 -0
  1260. package/build/value/default/from-type.d.mts +2 -0
  1261. package/build/value/default/from-type.mjs +27 -0
  1262. package/build/value/default/from-union.d.mts +2 -0
  1263. package/build/value/default/from-union.mjs +14 -0
  1264. package/build/value/default/index.d.mts +1 -0
  1265. package/build/value/default/index.mjs +1 -0
  1266. package/build/value/delta/diff.d.mts +10 -0
  1267. package/build/value/delta/diff.mjs +129 -0
  1268. package/build/value/delta/edit.d.mts +24 -0
  1269. package/build/value/delta/edit.mjs +17 -0
  1270. package/build/value/delta/index.d.mts +3 -0
  1271. package/build/value/delta/index.mjs +3 -0
  1272. package/build/value/delta/patch.d.mts +8 -0
  1273. package/build/value/delta/patch.mjs +42 -0
  1274. package/build/value/equal/equal.d.mts +2 -0
  1275. package/build/value/equal/equal.mjs +6 -0
  1276. package/build/value/equal/index.d.mts +1 -0
  1277. package/build/value/equal/index.mjs +1 -0
  1278. package/build/value/errors/errors.d.mts +16 -0
  1279. package/build/value/errors/errors.mjs +17 -0
  1280. package/build/value/errors/index.d.mts +1 -0
  1281. package/build/value/errors/index.mjs +1 -0
  1282. package/build/value/hash/hash.d.mts +6 -0
  1283. package/build/value/hash/hash.mjs +10 -0
  1284. package/build/value/hash/index.d.mts +1 -0
  1285. package/build/value/hash/index.mjs +1 -0
  1286. package/build/value/index.d.mts +20 -0
  1287. package/build/value/index.mjs +26 -0
  1288. package/build/value/mutate/error.d.mts +3 -0
  1289. package/build/value/mutate/error.mjs +6 -0
  1290. package/build/value/mutate/from-array.d.mts +2 -0
  1291. package/build/value/mutate/from-array.mjs +16 -0
  1292. package/build/value/mutate/from-object.d.mts +2 -0
  1293. package/build/value/mutate/from-object.mjs +27 -0
  1294. package/build/value/mutate/from-unknown.d.mts +2 -0
  1295. package/build/value/mutate/from-unknown.mjs +7 -0
  1296. package/build/value/mutate/from-value.d.mts +2 -0
  1297. package/build/value/mutate/from-value.mjs +12 -0
  1298. package/build/value/mutate/index.d.mts +1 -0
  1299. package/build/value/mutate/index.mjs +1 -0
  1300. package/build/value/mutate/mutate.d.mts +9 -0
  1301. package/build/value/mutate/mutate.mjs +39 -0
  1302. package/build/value/parse/index.d.mts +1 -0
  1303. package/build/value/parse/index.mjs +1 -0
  1304. package/build/value/parse/parse.d.mts +11 -0
  1305. package/build/value/parse/parse.mjs +47 -0
  1306. package/build/value/pipeline/index.d.mts +1 -0
  1307. package/build/value/pipeline/index.mjs +1 -0
  1308. package/build/value/pipeline/pipeline.d.mts +10 -0
  1309. package/build/value/pipeline/pipeline.mjs +15 -0
  1310. package/build/value/pointer/index.d.mts +1 -0
  1311. package/build/value/pointer/index.mjs +1 -0
  1312. package/build/value/repair/error.d.mts +7 -0
  1313. package/build/value/repair/error.mjs +8 -0
  1314. package/build/value/repair/from-array.d.mts +2 -0
  1315. package/build/value/repair/from-array.mjs +39 -0
  1316. package/build/value/repair/from-base.d.mts +2 -0
  1317. package/build/value/repair/from-base.mjs +8 -0
  1318. package/build/value/repair/from-enum.d.mts +2 -0
  1319. package/build/value/repair/from-enum.mjs +7 -0
  1320. package/build/value/repair/from-intersect.d.mts +2 -0
  1321. package/build/value/repair/from-intersect.mjs +8 -0
  1322. package/build/value/repair/from-object.d.mts +2 -0
  1323. package/build/value/repair/from-object.mjs +33 -0
  1324. package/build/value/repair/from-record.d.mts +2 -0
  1325. package/build/value/repair/from-record.mjs +33 -0
  1326. package/build/value/repair/from-ref.d.mts +2 -0
  1327. package/build/value/repair/from-ref.mjs +9 -0
  1328. package/build/value/repair/from-template-literal.d.mts +2 -0
  1329. package/build/value/repair/from-template-literal.mjs +7 -0
  1330. package/build/value/repair/from-tuple.d.mts +2 -0
  1331. package/build/value/repair/from-tuple.mjs +12 -0
  1332. package/build/value/repair/from-type.d.mts +2 -0
  1333. package/build/value/repair/from-type.mjs +86 -0
  1334. package/build/value/repair/from-union.d.mts +2 -0
  1335. package/build/value/repair/from-union.mjs +71 -0
  1336. package/build/value/repair/from-unknown.d.mts +2 -0
  1337. package/build/value/repair/from-unknown.mjs +12 -0
  1338. package/build/value/repair/index.d.mts +1 -0
  1339. package/build/value/repair/index.mjs +1 -0
  1340. package/build/value/repair/repair.d.mts +17 -0
  1341. package/build/value/repair/repair.mjs +20 -0
  1342. package/build/value/shared/index.d.mts +1 -0
  1343. package/build/value/shared/index.mjs +2 -0
  1344. package/build/value/shared/optional-undefined.d.mts +2 -0
  1345. package/build/value/shared/optional-undefined.mjs +15 -0
  1346. package/build/value/value.d.mts +16 -0
  1347. package/build/value/value.mjs +16 -0
  1348. package/changes.json +5 -0
  1349. package/license +23 -0
  1350. package/package.json +99 -0
  1351. package/readme.md +285 -0
@@ -0,0 +1,28 @@
1
+ import { Memory } from '../../../system/memory/index.mjs';
2
+ import { type TSchema, type TSchemaOptions } from '../../types/schema.mjs';
3
+ import { type TLiteral } from '../../types/literal.mjs';
4
+ import { type TObject } from '../../types/object.mjs';
5
+ import { type TProperties } from '../../types/properties.mjs';
6
+ import { type TIdentifier } from '../../types/identifier.mjs';
7
+ import { type TMappedKeys } from './mapped-keys.mjs';
8
+ import { type TTemplateLiteral } from '../../types/template-literal.mjs';
9
+ import { type TMappedDeferred } from '../../action/mapped.mjs';
10
+ import { type TTemplateLiteralDecode } from '../template-literal/decode.mjs';
11
+ import { type TState, type TInstantiateType, type TCanInstantiate } from '../instantiate.mjs';
12
+ type TInstantiateKeyAs<Context extends TProperties, State extends TState, Identifier extends TIdentifier, Key extends TSchema, As extends TSchema, ContextWithKey extends TProperties = Memory.TAssign<Context, {
13
+ [_ in Identifier['name']]: Key;
14
+ }>, InstantiatedKeyAs extends TSchema = TInstantiateType<ContextWithKey, State, As>, Result extends TSchema = InstantiatedKeyAs extends TTemplateLiteral<infer Pattern extends string> ? TTemplateLiteralDecode<Pattern> : InstantiatedKeyAs> = Result;
15
+ type TInstantiateProperty<Context extends TProperties, State extends TState, Identifier extends TIdentifier, Key extends TSchema, Property extends TSchema, ContextWithKey extends TProperties = Memory.TAssign<Context, {
16
+ [_ in Identifier['name']]: Key;
17
+ }>, InstantiatedProperty extends TSchema = TInstantiateType<ContextWithKey, State, Property>> = InstantiatedProperty;
18
+ type TMappedProperty<Context extends TProperties, State extends TState, Identifier extends TIdentifier, Key extends TSchema, As extends TSchema, Property extends TSchema, InstantiatedProperty extends TSchema = TInstantiateProperty<Context, State, Identifier, Key, Property>, InstantiatedKeyAs extends TSchema = TInstantiateKeyAs<Context, State, Identifier, Key, As>, Result extends TProperties = (InstantiatedKeyAs extends TLiteral<string | number> ? {
19
+ [_ in InstantiatedKeyAs['const']]: InstantiatedProperty;
20
+ } : {})> = Result;
21
+ type TMappedProperties<Context extends TProperties, State extends TState, Identifier extends TIdentifier, Keys extends TSchema[], As extends TSchema, Type extends TSchema, Result extends TProperties = {}> = (Keys extends [infer Left extends TSchema, ...infer Right extends TSchema[]] ? TMappedProperties<Context, State, Identifier, Right, As, Type, Result & TMappedProperty<Context, State, Identifier, Left, As, Type>> : Result);
22
+ type TMappedAction<Context extends TProperties, State extends TState, Identifier extends TIdentifier, Key extends TSchema, As extends TSchema, Property extends TSchema, Keys extends TSchema[] = TMappedKeys<Key>, Mapped extends TProperties = TMappedProperties<Context, State, Identifier, Keys, As, Property>, Result extends TSchema = TObject<{
23
+ [Key in keyof Mapped]: Mapped[Key];
24
+ }>> = Result;
25
+ type TMappedImmediate<Context extends TProperties, State extends TState, Identifier extends TIdentifier, Key extends TSchema, As extends TSchema, Property extends TSchema, InstantiatedKey extends TSchema = TInstantiateType<Context, State, Key>> = TMappedAction<Context, State, Identifier, InstantiatedKey, As, Property>;
26
+ export type TMappedInstantiate<Context extends TProperties, State extends TState, Identifier extends TIdentifier, Key extends TSchema, As extends TSchema, Property extends TSchema> = TCanInstantiate<Context, [Key]> extends true ? TMappedImmediate<Context, State, Identifier, Key, As, Property> : TMappedDeferred<Identifier, Key, As, Property>;
27
+ export declare function MappedInstantiate<Context extends TProperties, State extends TState, Identifier extends TIdentifier, Key extends TSchema, As extends TSchema, Property extends TSchema>(context: Context, state: State, identifier: Identifier, key: Key, as: As, property: Property, options: TSchemaOptions): TMappedInstantiate<Context, State, Identifier, Key, As, Property>;
28
+ export {};
@@ -0,0 +1,47 @@
1
+ // deno-fmt-ignore-file
2
+ import { Memory } from '../../../system/memory/index.mjs';
3
+ import { IsLiteralNumber, IsLiteralString } from '../../types/literal.mjs';
4
+ import { Object } from '../../types/object.mjs';
5
+ import { MappedKeys } from './mapped-keys.mjs';
6
+ import { IsTemplateLiteral } from '../../types/template-literal.mjs';
7
+ import { MappedDeferred } from '../../action/mapped.mjs';
8
+ import { TemplateLiteralDecode } from '../template-literal/decode.mjs';
9
+ import { InstantiateType, CanInstantiate } from '../instantiate.mjs';
10
+ function InstantiateKeyAs(context, state, identifier, key, as) {
11
+ const contextWithKey = Memory.Assign(context, { [identifier['name']]: key });
12
+ const instantiatedKeyAs = InstantiateType(contextWithKey, state, as);
13
+ const result = IsTemplateLiteral(instantiatedKeyAs) ? TemplateLiteralDecode(instantiatedKeyAs.pattern) : instantiatedKeyAs;
14
+ return result;
15
+ }
16
+ function InstantiateProperty(context, state, identifier, key, property) {
17
+ const contextWithKey = Memory.Assign(context, { [identifier['name']]: key });
18
+ const instantiatedProperty = InstantiateType(contextWithKey, state, property);
19
+ return instantiatedProperty;
20
+ }
21
+ function MappedProperty(context, state, identifier, key, as, property) {
22
+ const instantiatedProperty = InstantiateProperty(context, state, identifier, key, property);
23
+ const instantiatedKeyAs = InstantiateKeyAs(context, state, identifier, key, as);
24
+ return (IsLiteralString(instantiatedKeyAs) || IsLiteralNumber(instantiatedKeyAs)
25
+ ? { [instantiatedKeyAs.const]: instantiatedProperty }
26
+ : {});
27
+ }
28
+ function MappedProperties(context, state, identifier, keys, as, type) {
29
+ return keys.reduce((result, left) => {
30
+ return { ...result, ...MappedProperty(context, state, identifier, left, as, type) };
31
+ }, {});
32
+ }
33
+ function MappedAction(context, state, identifier, key, as, type) {
34
+ const keys = MappedKeys(key);
35
+ const mapped = MappedProperties(context, state, identifier, keys, as, type);
36
+ const result = Object(mapped);
37
+ return result;
38
+ }
39
+ function MappedImmediate(context, state, identifier, key, as, property, options) {
40
+ const instantiatedKey = InstantiateType(context, state, key);
41
+ return Memory.Update(MappedAction(context, state, identifier, instantiatedKey, as, property), {}, options);
42
+ }
43
+ export function MappedInstantiate(context, state, identifier, key, as, property, options) {
44
+ return (CanInstantiate(context, [key])
45
+ ? MappedImmediate(context, state, identifier, key, as, property, options)
46
+ : MappedDeferred(identifier, key, as, property, options));
47
+ }
@@ -0,0 +1,14 @@
1
+ import { type TSchema } from '../../types/index.mjs';
2
+ import { type TLiteral } from '../../types/literal.mjs';
3
+ import { type TEnum, type TEnumValue } from '../../types/enum.mjs';
4
+ import { type TTemplateLiteral } from '../../types/template-literal.mjs';
5
+ import { type TUnion } from '../../types/union.mjs';
6
+ import { type TEnumValuesToVariants } from '../enum/index.mjs';
7
+ import { type TTemplateLiteralDecode } from '../template-literal/decode.mjs';
8
+ type TFromTemplateLiteral<Pattern extends string, Decoded extends TSchema = TTemplateLiteralDecode<Pattern>, Result extends TSchema = TFromType<Decoded>> = Result;
9
+ type TFromUnion<Types extends TSchema[], Result extends TSchema[] = []> = (Types extends [infer Left extends TSchema, ...infer Right extends TSchema[]] ? TFromUnion<Right, [...Result, ...TFromType<Left>]> : Result);
10
+ type TFromType<Type extends TSchema, Result extends TSchema[] = (Type extends TEnum<infer Values extends TEnumValue[]> ? TFromUnion<TEnumValuesToVariants<Values>> : Type extends TLiteral<string | number> ? [Type] : Type extends TTemplateLiteral<infer Pattern extends string> ? TFromTemplateLiteral<Pattern> : Type extends TUnion<infer Types extends TSchema[]> ? TFromUnion<Types> : [
11
+ ])> = Result;
12
+ export type TMappedKeys<Type extends TSchema, Result extends TSchema[] = TFromType<Type>> = Result;
13
+ export declare function MappedKeys<Type extends TSchema>(type: Type): TMappedKeys<Type>;
14
+ export {};
@@ -0,0 +1,29 @@
1
+ // deno-fmt-ignore-file
2
+ import { IsLiteralNumber, IsLiteralString } from '../../types/literal.mjs';
3
+ import { IsEnum } from '../../types/enum.mjs';
4
+ import { IsTemplateLiteral } from '../../types/template-literal.mjs';
5
+ import { IsUnion } from '../../types/union.mjs';
6
+ import { EnumValuesToVariants } from '../enum/index.mjs';
7
+ import { TemplateLiteralDecode } from '../template-literal/decode.mjs';
8
+ function FromTemplateLiteral(pattern) {
9
+ const decoded = TemplateLiteralDecode(pattern);
10
+ const result = FromType(decoded);
11
+ return result;
12
+ }
13
+ function FromUnion(types) {
14
+ return types.reduce((result, left) => {
15
+ return [...result, ...FromType(left)];
16
+ }, []);
17
+ }
18
+ function FromType(type) {
19
+ const result = (IsEnum(type) ? FromUnion(EnumValuesToVariants(type.enum)) :
20
+ IsLiteralString(type) || IsLiteralNumber(type) ? [type] :
21
+ IsTemplateLiteral(type) ? FromTemplateLiteral(type.pattern) :
22
+ IsUnion(type) ? FromUnion(type.anyOf) :
23
+ []);
24
+ return result;
25
+ }
26
+ export function MappedKeys(type) {
27
+ const result = FromType(type);
28
+ return result;
29
+ }
@@ -0,0 +1 @@
1
+ export * from './instantiate.mjs';
@@ -0,0 +1 @@
1
+ export * from './instantiate.mjs';
@@ -0,0 +1,21 @@
1
+ import { Memory } from '../../../system/memory/index.mjs';
2
+ import { type TSchemaOptions } from '../../types/schema.mjs';
3
+ import { type TProperties } from '../../types/properties.mjs';
4
+ import { type TState } from '../instantiate.mjs';
5
+ import { type TCyclicCandidates } from '../cyclic/candidates.mjs';
6
+ import { type TInstantiateCyclic } from '../cyclic/instantiate.mjs';
7
+ import { type TInstantiateType } from '../instantiate.mjs';
8
+ type TInstantiateCyclics<Context extends TProperties, CyclicKeys extends string[], Result extends TProperties = {
9
+ [Key in Extract<keyof Context, CyclicKeys[number]>]: TInstantiateCyclic<Context, Key, Context[Key]>;
10
+ }> = Result;
11
+ type TInstantiateNonCyclics<Context extends TProperties, CyclicKeys extends string[], Result extends TProperties = {
12
+ [Key in Exclude<keyof Context, CyclicKeys[number]>]: TInstantiateType<Context, {
13
+ callstack: [];
14
+ }, Context[Key]>;
15
+ }> = Result;
16
+ type TInstantiateModule<Context extends TProperties, CyclicCandidates extends string[] = TCyclicCandidates<Context>, InstantiatedCyclics extends TProperties = TInstantiateCyclics<Context, CyclicCandidates>, InstantiatedNonCyclics extends TProperties = TInstantiateNonCyclics<Context, CyclicCandidates>, InstantiatedModule extends TProperties = InstantiatedCyclics & InstantiatedNonCyclics> = {
17
+ [Key in keyof InstantiatedModule]: InstantiatedModule[Key];
18
+ } & {};
19
+ export type TModuleInstantiate<Context extends TProperties, _State extends TState, Properties extends TProperties, ModuleContext extends TProperties = Memory.TAssign<Context, Properties>, InstantiatedModule extends TProperties = TInstantiateModule<ModuleContext>> = InstantiatedModule;
20
+ export declare function ModuleInstantiate<Context extends TProperties, State extends TState, Properties extends TProperties>(context: Context, _state: State, properties: Properties, options: TSchemaOptions): TModuleInstantiate<Context, State, Properties>;
21
+ export {};
@@ -0,0 +1,33 @@
1
+ // deno-fmt-ignore-file
2
+ import { Guard } from '../../../guard/index.mjs';
3
+ import { Memory } from '../../../system/memory/index.mjs';
4
+ // ------------------------------------------------------------------
5
+ // Module: Instantiation Infrastructure
6
+ // ------------------------------------------------------------------
7
+ import { CyclicCandidates } from '../cyclic/candidates.mjs';
8
+ import { InstantiateCyclic } from '../cyclic/instantiate.mjs';
9
+ import { InstantiateType } from '../instantiate.mjs';
10
+ function InstantiateCyclics(context, cyclicKeys) {
11
+ const keys = Guard.Keys(context).filter(key => cyclicKeys.includes(key));
12
+ return keys.reduce((result, key) => {
13
+ return { ...result, [key]: InstantiateCyclic(context, key, context[key]) };
14
+ }, {});
15
+ }
16
+ function InstantiateNonCyclics(context, cyclicKeys) {
17
+ const keys = Guard.Keys(context).filter(key => !cyclicKeys.includes(key));
18
+ return keys.reduce((result, key) => {
19
+ return { ...result, [key]: InstantiateType(context, { callstack: [] }, context[key]) };
20
+ }, {});
21
+ }
22
+ function InstantiateModule(context, options) {
23
+ const cyclicCandidates = CyclicCandidates(context);
24
+ const instantiatedCyclics = InstantiateCyclics(context, cyclicCandidates);
25
+ const instantiatedNonCyclics = InstantiateNonCyclics(context, cyclicCandidates);
26
+ const instantiatedModule = { ...instantiatedCyclics, ...instantiatedNonCyclics };
27
+ return Memory.Update(instantiatedModule, {}, options);
28
+ }
29
+ export function ModuleInstantiate(context, _state, properties, options) {
30
+ const moduleContext = Memory.Assign(context, properties);
31
+ const instantiatedModule = InstantiateModule(moduleContext, options);
32
+ return instantiatedModule;
33
+ }
@@ -0,0 +1 @@
1
+ export * from './instantiate.mjs';
@@ -0,0 +1 @@
1
+ export * from './instantiate.mjs';
@@ -0,0 +1,15 @@
1
+ import { type TSchema, type TSchemaOptions } from '../../types/schema.mjs';
2
+ import { type TProperties } from '../../types/properties.mjs';
3
+ import { type TNull } from '../../types/null.mjs';
4
+ import { type TUndefined } from '../../types/undefined.mjs';
5
+ import { type TUnion } from '../../types/union.mjs';
6
+ import { type TExcludeInstantiate } from '../exclude/instantiate.mjs';
7
+ import { type TNonNullableDeferred } from '../../action/non-nullable.mjs';
8
+ import { type TState, type TInstantiateType, type TCanInstantiate } from '../instantiate.mjs';
9
+ type TNonNullableAction<Type extends TSchema, Excluded extends TSchema = TUnion<[TNull, TUndefined]>> = TExcludeInstantiate<{}, {
10
+ callstack: [];
11
+ }, Type, Excluded>;
12
+ type TNonNullableImmediate<Context extends TProperties, State extends TState, Type extends TSchema, InstantiatedType extends TSchema = TInstantiateType<Context, State, Type>, Result extends TSchema = TNonNullableAction<InstantiatedType>> = Result;
13
+ export type TNonNullableInstantiate<Context extends TProperties, State extends TState, Type extends TSchema> = TCanInstantiate<Context, [Type]> extends true ? TNonNullableImmediate<Context, State, Type> : TNonNullableDeferred<Type>;
14
+ export declare function NonNullableInstantiate<Context extends TProperties, State extends TState, Type extends TSchema>(context: Context, state: State, type: Type, options: TSchemaOptions): TNonNullableInstantiate<Context, State, Type>;
15
+ export {};
@@ -0,0 +1,21 @@
1
+ // deno-fmt-ignore-file
2
+ import { Memory } from '../../../system/memory/index.mjs';
3
+ import { Null } from '../../types/null.mjs';
4
+ import { Undefined } from '../../types/undefined.mjs';
5
+ import { Union } from '../../types/union.mjs';
6
+ import { ExcludeInstantiate } from '../exclude/instantiate.mjs';
7
+ import { NonNullableDeferred } from '../../action/non-nullable.mjs';
8
+ import { InstantiateType, CanInstantiate } from '../instantiate.mjs';
9
+ function NonNullableAction(type) {
10
+ const excluded = Union([Null(), Undefined()]);
11
+ return ExcludeInstantiate({}, { callstack: [] }, type, excluded, {});
12
+ }
13
+ function NonNullableImmediate(context, state, type, options) {
14
+ const instantiatedType = InstantiateType(context, state, type);
15
+ return Memory.Update(NonNullableAction(instantiatedType), {}, options);
16
+ }
17
+ export function NonNullableInstantiate(context, state, type, options) {
18
+ return (CanInstantiate(context, [type])
19
+ ? NonNullableImmediate(context, state, type, options)
20
+ : NonNullableDeferred(type, options));
21
+ }
@@ -0,0 +1,12 @@
1
+ import { type TSchema } from '../../types/schema.mjs';
2
+ import { type TProperties } from '../../types/properties.mjs';
3
+ import { type TObject } from '../../types/object.mjs';
4
+ import { type TFromType } from './from-type.mjs';
5
+ export type TCollapseToObject<Type extends TSchema, Properties extends TProperties = TFromType<Type>, Result extends TSchema = TObject<Properties>> = Result;
6
+ /**
7
+ * Collapses a type into a TObject schema. This is a lossy fast path used to
8
+ * normalize arbitrary TSchema types into a TObject structure. This function is
9
+ * primarily used in indexing operations where a normalized object structure
10
+ * is required. If the type cannot be collapsed, an empty object schema is returned.
11
+ */
12
+ export declare function CollapseToObject<Type extends TSchema>(type: Type): TCollapseToObject<Type>;
@@ -0,0 +1,14 @@
1
+ // deno-fmt-ignore-file
2
+ import { Object } from '../../types/object.mjs';
3
+ import { FromType } from './from-type.mjs';
4
+ /**
5
+ * Collapses a type into a TObject schema. This is a lossy fast path used to
6
+ * normalize arbitrary TSchema types into a TObject structure. This function is
7
+ * primarily used in indexing operations where a normalized object structure
8
+ * is required. If the type cannot be collapsed, an empty object schema is returned.
9
+ */
10
+ export function CollapseToObject(type) {
11
+ const properties = FromType(type);
12
+ const result = Object(properties);
13
+ return result;
14
+ }
@@ -0,0 +1,6 @@
1
+ import { type TSchema } from '../../types/schema.mjs';
2
+ import { type TProperties } from '../../types/properties.mjs';
3
+ import { type TFromType } from './from-type.mjs';
4
+ import { type TCyclicTarget } from '../cyclic/target.mjs';
5
+ export type TFromCyclic<Defs extends TProperties, Ref extends string, Target extends TSchema = TCyclicTarget<Defs, Ref>, Result extends TProperties = TFromType<Target>> = Result;
6
+ export declare function FromCyclic<Defs extends TProperties, Ref extends string>(defs: Defs, ref: Ref): TFromCyclic<Defs, Ref>;
@@ -0,0 +1,8 @@
1
+ // deno-fmt-ignore-file
2
+ import { FromType } from './from-type.mjs';
3
+ import { CyclicTarget } from '../cyclic/target.mjs';
4
+ export function FromCyclic(defs, ref) {
5
+ const target = CyclicTarget(defs, ref);
6
+ const result = FromType(target);
7
+ return result;
8
+ }
@@ -0,0 +1,17 @@
1
+ import { Memory } from '../../../system/memory/index.mjs';
2
+ import { type TSchema } from '../../types/schema.mjs';
3
+ import { type TProperties } from '../../types/properties.mjs';
4
+ import { type TFromType } from './from-type.mjs';
5
+ import { type TEvaluateIntersect } from '../evaluate/evaluate.mjs';
6
+ type TCollapseIntersectProperties<Left extends TProperties, Right extends TProperties, LeftKeys extends keyof Left = Exclude<keyof Left, keyof Right>, RightKeys extends keyof Right = Exclude<keyof Right, keyof Left>, SharedKeys extends keyof Left & keyof Right = Extract<keyof Left, keyof Right>, LeftProperties extends TProperties = {
7
+ [Key in LeftKeys]: Left[Key];
8
+ }, RightProperties extends TProperties = {
9
+ [Key in RightKeys]: Right[Key];
10
+ }, SharedProperties extends TProperties = {
11
+ [Key in SharedKeys]: TEvaluateIntersect<[Left[Key], Right[Key]]>;
12
+ }, Unique extends TProperties = Memory.TAssign<LeftProperties, RightProperties>, Shared extends TProperties = Memory.TAssign<Unique, SharedProperties>> = Shared;
13
+ export type TFromIntersect<Types extends TSchema[], Result extends TProperties = {}> = (Types extends [infer Left extends TSchema, ...infer Right extends TSchema[]] ? TFromIntersect<Right, TCollapseIntersectProperties<Result, TFromType<Left>>> : {
14
+ [Key in keyof Result]: Result[Key];
15
+ });
16
+ export declare function FromIntersect<Types extends TSchema[]>(types: [...Types]): TFromIntersect<Types>;
17
+ export {};
@@ -0,0 +1,21 @@
1
+ // deno-fmt-ignore-file
2
+ import { Memory } from '../../../system/memory/index.mjs';
3
+ import { Guard } from '../../../guard/index.mjs';
4
+ import { FromType } from './from-type.mjs';
5
+ import { EvaluateIntersect } from '../evaluate/evaluate.mjs';
6
+ function CollapseIntersectProperties(left, right) {
7
+ const leftKeys = Guard.Keys(left).filter((key) => !Guard.HasPropertyKey(right, key));
8
+ const rightKeys = Guard.Keys(right).filter((key) => !Guard.HasPropertyKey(left, key));
9
+ const sharedKeys = Guard.Keys(left).filter((key) => Guard.HasPropertyKey(right, key));
10
+ const leftProperties = leftKeys.reduce((result, key) => ({ ...result, [key]: left[key] }), {});
11
+ const rightProperties = rightKeys.reduce((result, key) => ({ ...result, [key]: right[key] }), {});
12
+ const sharedProperties = sharedKeys.reduce((result, key) => ({ ...result, [key]: EvaluateIntersect([left[key], right[key]]) }), {});
13
+ const unique = Memory.Assign(leftProperties, rightProperties);
14
+ const shared = Memory.Assign(unique, sharedProperties);
15
+ return shared;
16
+ }
17
+ export function FromIntersect(types) {
18
+ return types.reduce((result, left) => {
19
+ return CollapseIntersectProperties(result, FromType(left));
20
+ }, {});
21
+ }
@@ -0,0 +1,3 @@
1
+ import { type TProperties } from '../../types/properties.mjs';
2
+ export type TFromObject<Properties extends TProperties> = (Properties);
3
+ export declare function FromObject<Properties extends TProperties>(properties: Properties): TFromObject<Properties>;
@@ -0,0 +1,4 @@
1
+ // deno-fmt-ignore-file
2
+ export function FromObject(properties) {
3
+ return properties;
4
+ }
@@ -0,0 +1,6 @@
1
+ import { type TSchema } from '../../types/schema.mjs';
2
+ import { type TTuple } from '../../types/tuple.mjs';
3
+ import { type TTupleToObject } from '../tuple/to-object.mjs';
4
+ import { type TFromType } from './from-type.mjs';
5
+ export type TFromTuple<Types extends TSchema[], Object extends TSchema = TTupleToObject<TTuple<Types>>, Result extends TSchema = TFromType<Object>> = Result;
6
+ export declare function FromTuple<Types extends TSchema[]>(types: [...Types]): TFromTuple<Types>;
@@ -0,0 +1,9 @@
1
+ // deno-fmt-ignore-file
2
+ import { Tuple } from '../../types/tuple.mjs';
3
+ import { TupleToObject } from '../tuple/to-object.mjs';
4
+ import { FromType } from './from-type.mjs';
5
+ export function FromTuple(types) {
6
+ const object = TupleToObject(Tuple(types));
7
+ const result = FromType(object);
8
+ return result;
9
+ }
@@ -0,0 +1,14 @@
1
+ import { type TSchema } from '../../types/schema.mjs';
2
+ import { type TCyclic } from '../../types/cyclic.mjs';
3
+ import { type TIntersect } from '../../types/intersect.mjs';
4
+ import { type TProperties } from '../../types/properties.mjs';
5
+ import { type TObject } from '../../types/object.mjs';
6
+ import { type TTuple } from '../../types/tuple.mjs';
7
+ import { type TUnion } from '../../types/union.mjs';
8
+ import { type TFromCyclic } from './from-cyclic.mjs';
9
+ import { type TFromIntersect } from './from-intersect.mjs';
10
+ import { type TFromObject } from './from-object.mjs';
11
+ import { type TFromTuple } from './from-tuple.mjs';
12
+ import { type TFromUnion } from './from-union.mjs';
13
+ export type TFromType<Type extends TSchema, Result extends TProperties = (Type extends TCyclic<infer Defs extends TProperties, infer Ref extends string> ? TFromCyclic<Defs, Ref> : Type extends TIntersect<infer Types extends TSchema[]> ? TFromIntersect<Types> : Type extends TUnion<infer Types extends TSchema[]> ? TFromUnion<Types> : Type extends TTuple<infer Types extends TSchema[]> ? TFromTuple<Types> : Type extends TObject<infer Properties extends TProperties> ? TFromObject<Properties> : {})> = Result;
14
+ export declare function FromType<Type extends TSchema>(type: Type): TFromType<Type>;
@@ -0,0 +1,19 @@
1
+ // deno-fmt-ignore-file
2
+ import { IsCyclic } from '../../types/cyclic.mjs';
3
+ import { IsIntersect } from '../../types/intersect.mjs';
4
+ import { IsObject } from '../../types/object.mjs';
5
+ import { IsTuple } from '../../types/tuple.mjs';
6
+ import { IsUnion } from '../../types/union.mjs';
7
+ import { FromCyclic } from './from-cyclic.mjs';
8
+ import { FromIntersect } from './from-intersect.mjs';
9
+ import { FromObject } from './from-object.mjs';
10
+ import { FromTuple } from './from-tuple.mjs';
11
+ import { FromUnion } from './from-union.mjs';
12
+ export function FromType(type) {
13
+ return (IsCyclic(type) ? FromCyclic(type.$defs, type.$ref) :
14
+ IsIntersect(type) ? FromIntersect(type.allOf) :
15
+ IsUnion(type) ? FromUnion(type.anyOf) :
16
+ IsTuple(type) ? FromTuple(type.items) :
17
+ IsObject(type) ? FromObject(type.properties) :
18
+ {});
19
+ }
@@ -0,0 +1,12 @@
1
+ import { type TUnreachable } from '../../../system/unreachable/index.mjs';
2
+ import { type TSchema } from '../../types/schema.mjs';
3
+ import { type TProperties } from '../../types/properties.mjs';
4
+ import { type TEvaluateUnion } from '../evaluate/evaluate.mjs';
5
+ import { type TFromType } from './from-type.mjs';
6
+ type TCollapseUnionProperties<Left extends TProperties, Right extends TProperties, SharedKeys extends PropertyKey = keyof Left & keyof Right, Result extends TProperties = {
7
+ [Key in SharedKeys]: TEvaluateUnion<[Left[Key], Right[Key]]>;
8
+ }> = Result;
9
+ type TReduceVariants<Types extends TSchema[], Result extends TProperties> = (Types extends [infer Left extends TSchema, ...infer Right extends TSchema[]] ? TReduceVariants<Right, TCollapseUnionProperties<Result, TFromType<Left>>> : Result);
10
+ export type TFromUnion<Types extends TSchema[]> = (Types extends [infer Left extends TSchema, ...infer Right extends TSchema[]] ? TReduceVariants<Right, TFromType<Left>> : TUnreachable);
11
+ export declare function FromUnion<Types extends TSchema[]>(types: [...Types]): TFromUnion<Types>;
12
+ export {};
@@ -0,0 +1,26 @@
1
+ // deno-fmt-ignore-file
2
+ import { Unreachable } from '../../../system/unreachable/index.mjs';
3
+ import { Guard } from '../../../guard/index.mjs';
4
+ import { IsSchema } from '../../types/schema.mjs';
5
+ import { EvaluateUnion } from '../evaluate/evaluate.mjs';
6
+ import { FromType } from './from-type.mjs';
7
+ function CollapseUnionProperties(left, right) {
8
+ const sharedKeys = Guard.Keys(left).filter((key) => key in right);
9
+ const result = sharedKeys.reduce((result, key) => {
10
+ return { ...result, [key]: EvaluateUnion([left[key], right[key]]) };
11
+ }, {});
12
+ return result;
13
+ }
14
+ function ReduceVariants(types, result) {
15
+ const [left, ...right] = types;
16
+ return (IsSchema(left)
17
+ ? ReduceVariants(right, CollapseUnionProperties(result, FromType(left)))
18
+ : result);
19
+ }
20
+ export function FromUnion(types) {
21
+ const [left, ...right] = types;
22
+ return (IsSchema(left)
23
+ ? ReduceVariants(right, FromType(left))
24
+ : Unreachable());
25
+ }
26
+ // deno-coverage-ignore-stop
@@ -0,0 +1 @@
1
+ export * from './collapse.mjs';
@@ -0,0 +1 @@
1
+ export * from './collapse.mjs';
@@ -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 TToIndexableKeys } from '../indexable/to-indexable-keys.mjs';
5
+ import { type TToIndexable } from '../indexable/to-indexable.mjs';
6
+ import { type TOmitDeferred } from '../../action/omit.mjs';
7
+ import { type TState, type TInstantiateType, type TCanInstantiate } from '../instantiate.mjs';
8
+ type TNormalKeys<Keys extends string[], UnionKeys extends string = Keys[number], Result extends string | number = (UnionKeys extends `${infer Value extends number}` ? UnionKeys | Value : UnionKeys)> = Result;
9
+ type TFromKeys<Properties extends TProperties, Keys extends string[], Omitted extends TProperties = Omit<Properties, TNormalKeys<Keys>>, Result extends TProperties = {
10
+ [Key in keyof Omitted]: Omitted[Key];
11
+ }> = Result;
12
+ type TOmitAction<Type extends TSchema, Indexer extends TSchema, Indexable extends TProperties = TToIndexable<Type>, IndexableKeys extends string[] = TToIndexableKeys<Indexer>, Omitted extends TProperties = TFromKeys<Indexable, IndexableKeys>, Result extends TSchema = TObject<Omitted>> = Result;
13
+ type TOmitImmediate<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>, Result extends TSchema = TOmitAction<InstantiatedType, InstantiatedIndexer>> = Result;
14
+ export type TOmitInstantiate<Context extends TProperties, State extends TState, Type extends TSchema, Indexer extends TSchema> = TCanInstantiate<Context, [Type, Indexer]> extends true ? TOmitImmediate<Context, State, Type, Indexer> : TOmitDeferred<Type, Indexer>;
15
+ export declare function OmitInstantiate<Context extends TProperties, State extends TState, Type extends TSchema, Indexer extends TSchema>(context: Context, state: State, type: Type, indexer: Indexer, options: TSchemaOptions): TOmitInstantiate<Context, State, Type, Indexer>;
16
+ export {};
@@ -0,0 +1,31 @@
1
+ // deno-fmt-ignore-file
2
+ import { Memory } from '../../../system/memory/index.mjs';
3
+ import { Guard } from '../../../guard/index.mjs';
4
+ import { Object } from '../../types/object.mjs';
5
+ import { ToIndexableKeys } from '../indexable/to-indexable-keys.mjs';
6
+ import { ToIndexable } from '../indexable/to-indexable.mjs';
7
+ import { OmitDeferred } from '../../action/omit.mjs';
8
+ import { InstantiateType, CanInstantiate } from '../instantiate.mjs';
9
+ function FromKeys(properties, keys) {
10
+ const result = Guard.Keys(properties).reduce((result, key) => {
11
+ return keys.includes(key) ? result : { ...result, [key]: properties[key] };
12
+ }, {});
13
+ return result;
14
+ }
15
+ function OmitAction(type, indexer) {
16
+ const indexable = ToIndexable(type);
17
+ const indexableKeys = ToIndexableKeys(indexer);
18
+ const omitted = FromKeys(indexable, indexableKeys);
19
+ const result = Object(omitted);
20
+ return result;
21
+ }
22
+ function OmitImmediate(context, state, type, indexer, options) {
23
+ const instantiatedType = InstantiateType(context, state, type);
24
+ const instantiatedIndexer = InstantiateType(context, state, indexer);
25
+ return Memory.Update(OmitAction(instantiatedType, instantiatedIndexer), {}, options);
26
+ }
27
+ export function OmitInstantiate(context, state, type, indexer, options) {
28
+ return (CanInstantiate(context, [type, indexer])
29
+ ? OmitImmediate(context, state, type, indexer, options)
30
+ : OmitDeferred(type, indexer, options));
31
+ }
@@ -0,0 +1 @@
1
+ export * from './instantiate.mjs';
@@ -0,0 +1 @@
1
+ export * from './instantiate.mjs';
@@ -0,0 +1,8 @@
1
+ import { type TProperties } from '../../types/properties.mjs';
2
+ import { type TSchema } from '../../types/schema.mjs';
3
+ import { type TState, type TInstantiateType, TCanInstantiate } from '../instantiate.mjs';
4
+ import { type TOptionsDeferred, type TOptions } from '../../action/options.mjs';
5
+ type TOptionsImmediate<Context extends TProperties, State extends TState, Type extends TSchema, Options extends TSchema, InstantiatedType extends TSchema = TInstantiateType<Context, State, Type>, Result extends TSchema = TOptions<InstantiatedType, Options>> = Result;
6
+ export type TOptionsInstantiate<Context extends TProperties, State extends TState, Type extends TSchema, Options extends TSchema> = TCanInstantiate<Context, [Type]> extends true ? TOptionsImmediate<Context, State, Type, Options> : TOptionsDeferred<Type, Options>;
7
+ export declare function OptionsInstantiate<Context extends TProperties, State extends TState, Type extends TSchema, Options extends TSchema>(context: Context, state: State, type: Type, options: Options): TOptionsInstantiate<Context, State, Type, Options>;
8
+ export {};
@@ -0,0 +1,13 @@
1
+ // deno-fmt-ignore-file
2
+ import { Memory } from '../../../system/memory/index.mjs';
3
+ import { CanInstantiate, InstantiateType } from '../instantiate.mjs';
4
+ import { OptionsDeferred } from '../../action/options.mjs';
5
+ function OptionsImmediate(context, state, type, options) {
6
+ const instaniatedType = InstantiateType(context, state, type);
7
+ return Memory.Update(instaniatedType, {}, options);
8
+ }
9
+ export function OptionsInstantiate(context, state, type, options) {
10
+ return (CanInstantiate(context, [type])
11
+ ? OptionsImmediate(context, state, type, options)
12
+ : OptionsDeferred(type, options));
13
+ }
@@ -0,0 +1 @@
1
+ export * from './instantiate.mjs';
@@ -0,0 +1 @@
1
+ export * from './instantiate.mjs';
@@ -0,0 +1,14 @@
1
+ import { type TSchema, type TSchemaOptions } from '../../types/schema.mjs';
2
+ import { type TProperties } from '../../types/properties.mjs';
3
+ import { type TFunction } from '../../types/function.mjs';
4
+ import { type TNever } from '../../types/never.mjs';
5
+ import { type TTuple } from '../../types/tuple.mjs';
6
+ import { type TParametersDeferred } from '../../action/parameters.mjs';
7
+ import { type TState, type TInstantiateType, type TCanInstantiate } from '../instantiate.mjs';
8
+ type TParametersAction<Type extends TSchema> = (Type extends TFunction<infer Parameters extends TSchema[], infer _ extends TSchema> ? TInstantiateType<{}, {
9
+ callstack: [];
10
+ }, TTuple<Parameters>> : TNever);
11
+ type TParametersImmediate<Context extends TProperties, State extends TState, Type extends TSchema, InstantatedType extends TSchema = TInstantiateType<Context, State, Type>> = TParametersAction<InstantatedType>;
12
+ export type TParametersInstantiate<Context extends TProperties, State extends TState, Type extends TSchema> = (TCanInstantiate<Context, [Type]> extends true ? TParametersImmediate<Context, State, Type> : TParametersDeferred<Type>);
13
+ export declare function ParametersInstantiate<Context extends TProperties, State extends TState, Type extends TSchema>(context: Context, state: State, type: Type, options: TSchemaOptions): TParametersInstantiate<Context, State, Type>;
14
+ export {};
@@ -0,0 +1,21 @@
1
+ // deno-fmt-ignore-file
2
+ import { Memory } from '../../../system/memory/index.mjs';
3
+ import { IsFunction } from '../../types/function.mjs';
4
+ import { Never } from '../../types/never.mjs';
5
+ import { Tuple } from '../../types/tuple.mjs';
6
+ import { ParametersDeferred } from '../../action/parameters.mjs';
7
+ import { InstantiateType, CanInstantiate } from '../instantiate.mjs';
8
+ function ParametersAction(type) {
9
+ return (IsFunction(type)
10
+ ? InstantiateType({}, { callstack: [] }, Tuple(type.parameters)) // spread-rest
11
+ : Never());
12
+ }
13
+ function ParametersImmediate(context, state, type, options) {
14
+ const instantiatedType = InstantiateType(context, state, type);
15
+ return Memory.Update(ParametersAction(instantiatedType), {}, options);
16
+ }
17
+ export function ParametersInstantiate(context, state, type, options) {
18
+ return (CanInstantiate(context, [type])
19
+ ? ParametersImmediate(context, state, type, options)
20
+ : ParametersDeferred(type, options));
21
+ }
@@ -0,0 +1,10 @@
1
+ import { Memory } from '../../../system/memory/index.mjs';
2
+ import { type TSchema } from '../../types/schema.mjs';
3
+ import { type TCyclic } from '../../types/cyclic.mjs';
4
+ import { type TProperties } from '../../types/properties.mjs';
5
+ import { type TFromType } from './from-type.mjs';
6
+ import { type TCyclicTarget } from '../cyclic/target.mjs';
7
+ export type TFromCyclic<Defs extends TProperties, Ref extends string, Target extends TSchema = TCyclicTarget<Defs, Ref>, Partial extends TSchema = TFromType<Target>, Result extends TSchema = TCyclic<Memory.TAssign<Defs, {
8
+ [_ in Ref]: Partial;
9
+ }>, Ref>> = Result;
10
+ export declare function FromCyclic<Defs extends TProperties, Ref extends string>(defs: Defs, ref: Ref): TFromCyclic<Defs, Ref>;
@@ -0,0 +1,11 @@
1
+ // deno-fmt-ignore-file
2
+ import { Memory } from '../../../system/memory/index.mjs';
3
+ import { Cyclic } from '../../types/cyclic.mjs';
4
+ import { FromType } from './from-type.mjs';
5
+ import { CyclicTarget } from '../cyclic/target.mjs';
6
+ export function FromCyclic(defs, ref) {
7
+ const target = CyclicTarget(defs, ref);
8
+ const partial = FromType(target);
9
+ const result = Cyclic(Memory.Assign(defs, { [ref]: partial }), ref);
10
+ return result;
11
+ }
@@ -0,0 +1,5 @@
1
+ import { type TSchema } from '../../types/schema.mjs';
2
+ import { type TFromType } from './from-type.mjs';
3
+ import { type TEvaluateIntersect } from '../evaluate/evaluate.mjs';
4
+ export type TFromIntersect<Types extends TSchema[], Result extends TSchema[] = []> = (Types extends [infer Left extends TSchema, ...infer Right extends TSchema[]] ? TFromIntersect<Right, [...Result, TFromType<Left>]> : TEvaluateIntersect<Result>);
5
+ export declare function FromIntersect<Types extends TSchema[]>(types: [...Types]): TFromIntersect<Types>;