@openclaw/tavily-plugin 2026.7.1-beta.2 → 2026.7.1-beta.4

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 (363) hide show
  1. package/node_modules/typebox/build/compile/validator.d.mts +2 -7
  2. package/node_modules/typebox/build/compile/validator.mjs +6 -36
  3. package/node_modules/typebox/build/error/errors.d.mts +1 -7
  4. package/node_modules/typebox/build/format/_idna.mjs +36 -6
  5. package/node_modules/typebox/build/format/_puny.mjs +4 -1
  6. package/node_modules/typebox/build/format/uuid.d.mts +2 -2
  7. package/node_modules/typebox/build/format/uuid.mjs +3 -3
  8. package/node_modules/typebox/build/guard/emit.d.mts +0 -4
  9. package/node_modules/typebox/build/guard/emit.mjs +0 -8
  10. package/node_modules/typebox/build/guard/guard.d.mts +4 -8
  11. package/node_modules/typebox/build/guard/guard.mjs +5 -13
  12. package/node_modules/typebox/build/schema/engine/boolean.d.mts +3 -3
  13. package/node_modules/typebox/build/schema/engine/boolean.mjs +4 -4
  14. package/node_modules/typebox/build/schema/engine/index.d.mts +0 -1
  15. package/node_modules/typebox/build/schema/engine/index.mjs +0 -1
  16. package/node_modules/typebox/build/schema/engine/schema.mjs +5 -10
  17. package/node_modules/typebox/build/schema/engine/type.mjs +14 -18
  18. package/node_modules/typebox/build/schema/types/dependencies.mjs +1 -1
  19. package/node_modules/typebox/build/schema/types/index.d.mts +0 -1
  20. package/node_modules/typebox/build/schema/types/index.mjs +0 -1
  21. package/node_modules/typebox/build/schema/types/schema.d.mts +1 -1
  22. package/node_modules/typebox/build/schema/types/schema.mjs +2 -2
  23. package/node_modules/typebox/build/system/locale/ar_001.mjs +0 -1
  24. package/node_modules/typebox/build/system/locale/bn_BD.mjs +0 -1
  25. package/node_modules/typebox/build/system/locale/cs_CZ.mjs +0 -1
  26. package/node_modules/typebox/build/system/locale/de_DE.mjs +0 -1
  27. package/node_modules/typebox/build/system/locale/el_GR.mjs +0 -1
  28. package/node_modules/typebox/build/system/locale/en_US.mjs +0 -1
  29. package/node_modules/typebox/build/system/locale/es_419.mjs +0 -1
  30. package/node_modules/typebox/build/system/locale/es_AR.mjs +0 -1
  31. package/node_modules/typebox/build/system/locale/es_ES.mjs +0 -1
  32. package/node_modules/typebox/build/system/locale/es_MX.mjs +0 -1
  33. package/node_modules/typebox/build/system/locale/fa_IR.mjs +0 -1
  34. package/node_modules/typebox/build/system/locale/fil_PH.mjs +0 -1
  35. package/node_modules/typebox/build/system/locale/fr_CA.mjs +0 -1
  36. package/node_modules/typebox/build/system/locale/fr_FR.mjs +0 -1
  37. package/node_modules/typebox/build/system/locale/ha_NG.mjs +0 -1
  38. package/node_modules/typebox/build/system/locale/hi_IN.mjs +0 -1
  39. package/node_modules/typebox/build/system/locale/hu_HU.mjs +0 -1
  40. package/node_modules/typebox/build/system/locale/id_ID.mjs +0 -1
  41. package/node_modules/typebox/build/system/locale/it_IT.mjs +0 -1
  42. package/node_modules/typebox/build/system/locale/ja_JP.mjs +0 -1
  43. package/node_modules/typebox/build/system/locale/ko_KR.mjs +0 -1
  44. package/node_modules/typebox/build/system/locale/ms_MY.mjs +0 -1
  45. package/node_modules/typebox/build/system/locale/nl_NL.mjs +0 -1
  46. package/node_modules/typebox/build/system/locale/pl_PL.mjs +0 -1
  47. package/node_modules/typebox/build/system/locale/pt_BR.mjs +0 -1
  48. package/node_modules/typebox/build/system/locale/pt_PT.mjs +0 -1
  49. package/node_modules/typebox/build/system/locale/ro_RO.mjs +0 -1
  50. package/node_modules/typebox/build/system/locale/ru_RU.mjs +0 -1
  51. package/node_modules/typebox/build/system/locale/sv_SE.mjs +0 -1
  52. package/node_modules/typebox/build/system/locale/sw_TZ.mjs +0 -1
  53. package/node_modules/typebox/build/system/locale/th_TH.mjs +0 -1
  54. package/node_modules/typebox/build/system/locale/tr_TR.mjs +0 -1
  55. package/node_modules/typebox/build/system/locale/uk_UA.mjs +0 -1
  56. package/node_modules/typebox/build/system/locale/ur_PK.mjs +0 -1
  57. package/node_modules/typebox/build/system/locale/vi_VN.mjs +0 -1
  58. package/node_modules/typebox/build/system/locale/yo_NG.mjs +0 -1
  59. package/node_modules/typebox/build/system/locale/zh_Hans.mjs +0 -1
  60. package/node_modules/typebox/build/system/locale/zh_Hant.mjs +0 -1
  61. package/node_modules/typebox/build/system/memory/clone.d.mts +2 -3
  62. package/node_modules/typebox/build/system/memory/clone.mjs +73 -26
  63. package/node_modules/typebox/build/system/settings/settings.d.mts +15 -0
  64. package/node_modules/typebox/build/system/settings/settings.mjs +3 -1
  65. package/node_modules/typebox/build/type/action/_add_immutable.d.mts +11 -0
  66. package/node_modules/typebox/build/type/action/_add_immutable.mjs +11 -0
  67. package/node_modules/typebox/build/type/action/_add_optional.d.mts +11 -0
  68. package/node_modules/typebox/build/type/action/_add_optional.mjs +11 -0
  69. package/node_modules/typebox/build/type/action/_add_readonly.d.mts +11 -0
  70. package/node_modules/typebox/build/type/action/_add_readonly.mjs +11 -0
  71. package/node_modules/typebox/build/type/action/_remove_immutable.d.mts +11 -0
  72. package/node_modules/typebox/build/type/action/_remove_immutable.mjs +11 -0
  73. package/node_modules/typebox/build/type/action/_remove_optional.d.mts +11 -0
  74. package/node_modules/typebox/build/type/action/_remove_optional.mjs +11 -0
  75. package/node_modules/typebox/build/type/action/_remove_readonly.d.mts +11 -0
  76. package/node_modules/typebox/build/type/action/_remove_readonly.mjs +11 -0
  77. package/node_modules/typebox/build/type/action/conditional.d.mts +2 -3
  78. package/node_modules/typebox/build/type/action/conditional.mjs +2 -1
  79. package/node_modules/typebox/build/type/action/index.d.mts +7 -4
  80. package/node_modules/typebox/build/type/action/index.mjs +7 -4
  81. package/node_modules/typebox/build/type/action/mapped.d.mts +2 -3
  82. package/node_modules/typebox/build/type/action/mapped.mjs +2 -1
  83. package/node_modules/typebox/build/type/action/module.d.mts +8 -7
  84. package/node_modules/typebox/build/type/action/module.mjs +7 -6
  85. package/node_modules/typebox/build/type/action/readonly_object.d.mts +0 -5
  86. package/node_modules/typebox/build/type/action/readonly_object.mjs +0 -5
  87. package/node_modules/typebox/build/type/action/with.d.mts +11 -0
  88. package/node_modules/typebox/build/type/action/with.mjs +11 -0
  89. package/node_modules/typebox/build/type/engine/call/distribute_arguments.mjs +1 -1
  90. package/node_modules/typebox/build/type/engine/call/instantiate.d.mts +1 -3
  91. package/node_modules/typebox/build/type/engine/call/instantiate.mjs +3 -2
  92. package/node_modules/typebox/build/type/engine/call/resolve_arguments.mjs +2 -2
  93. package/node_modules/typebox/build/type/engine/constructor_parameters/instantiate.d.mts +3 -4
  94. package/node_modules/typebox/build/type/engine/constructor_parameters/instantiate.mjs +2 -1
  95. package/node_modules/typebox/build/type/engine/cyclic/candidates.d.mts +2 -3
  96. package/node_modules/typebox/build/type/engine/cyclic/candidates.mjs +3 -6
  97. package/node_modules/typebox/build/type/engine/cyclic/check.d.mts +6 -9
  98. package/node_modules/typebox/build/type/engine/cyclic/check.mjs +10 -16
  99. package/node_modules/typebox/build/type/engine/cyclic/dependencies.d.mts +1 -4
  100. package/node_modules/typebox/build/type/engine/cyclic/dependencies.mjs +9 -15
  101. package/node_modules/typebox/build/type/engine/cyclic/extends.d.mts +1 -4
  102. package/node_modules/typebox/build/type/engine/cyclic/extends.mjs +8 -14
  103. package/node_modules/typebox/build/type/engine/cyclic/instantiate.d.mts +2 -5
  104. package/node_modules/typebox/build/type/engine/cyclic/instantiate.mjs +3 -2
  105. package/node_modules/typebox/build/type/engine/enum/index.d.mts +0 -1
  106. package/node_modules/typebox/build/type/engine/enum/index.mjs +0 -1
  107. package/node_modules/typebox/build/type/engine/evaluate/broaden.d.mts +1 -2
  108. package/node_modules/typebox/build/type/engine/evaluate/broaden.mjs +2 -6
  109. package/node_modules/typebox/build/type/engine/evaluate/composite.d.mts +10 -6
  110. package/node_modules/typebox/build/type/engine/evaluate/composite.mjs +10 -6
  111. package/node_modules/typebox/build/type/engine/evaluate/distribute.d.mts +2 -1
  112. package/node_modules/typebox/build/type/engine/evaluate/distribute.mjs +3 -3
  113. package/node_modules/typebox/build/type/engine/evaluate/evaluate.d.mts +17 -5
  114. package/node_modules/typebox/build/type/engine/evaluate/evaluate.mjs +34 -8
  115. package/node_modules/typebox/build/type/engine/exclude/operation.d.mts +5 -6
  116. package/node_modules/typebox/build/type/engine/exclude/operation.mjs +11 -12
  117. package/node_modules/typebox/build/type/engine/extract/operation.d.mts +5 -6
  118. package/node_modules/typebox/build/type/engine/extract/operation.mjs +11 -12
  119. package/node_modules/typebox/build/type/engine/immutable/instantiate_add.d.mts +10 -0
  120. package/node_modules/typebox/build/type/engine/immutable/instantiate_add.mjs +14 -0
  121. package/node_modules/typebox/build/type/engine/immutable/instantiate_remove.d.mts +10 -0
  122. package/node_modules/typebox/build/type/engine/immutable/instantiate_remove.mjs +14 -0
  123. package/node_modules/typebox/build/type/engine/index.d.mts +2 -2
  124. package/node_modules/typebox/build/type/engine/index.mjs +2 -2
  125. package/node_modules/typebox/build/type/engine/indexable/from_dependent.d.mts +5 -0
  126. package/node_modules/typebox/build/type/engine/indexable/from_dependent.mjs +8 -0
  127. package/node_modules/typebox/build/type/engine/indexable/from_enum.d.mts +3 -3
  128. package/node_modules/typebox/build/type/engine/indexable/from_enum.mjs +4 -4
  129. package/node_modules/typebox/build/type/engine/indexable/from_template_literal.d.mts +2 -2
  130. package/node_modules/typebox/build/type/engine/indexable/from_template_literal.mjs +3 -3
  131. package/node_modules/typebox/build/type/engine/indexable/from_type.d.mts +3 -1
  132. package/node_modules/typebox/build/type/engine/indexable/from_type.mjs +9 -6
  133. package/node_modules/typebox/build/type/engine/indexed/instantiate.d.mts +2 -1
  134. package/node_modules/typebox/build/type/engine/indexed/instantiate.mjs +5 -2
  135. package/node_modules/typebox/build/type/engine/instantiate.d.mts +44 -31
  136. package/node_modules/typebox/build/type/engine/instantiate.mjs +82 -83
  137. package/node_modules/typebox/build/type/engine/interface/instantiate.d.mts +3 -6
  138. package/node_modules/typebox/build/type/engine/intrinsics/from_template_literal.d.mts +2 -2
  139. package/node_modules/typebox/build/type/engine/intrinsics/from_template_literal.mjs +3 -3
  140. package/node_modules/typebox/build/type/engine/keyof/instantiate.d.mts +2 -1
  141. package/node_modules/typebox/build/type/engine/keyof/instantiate.mjs +5 -1
  142. package/node_modules/typebox/build/type/engine/mapped/mapped_operation.d.mts +4 -4
  143. package/node_modules/typebox/build/type/engine/mapped/mapped_operation.mjs +3 -3
  144. package/node_modules/typebox/build/type/engine/mapped/mapped_variants.d.mts +5 -4
  145. package/node_modules/typebox/build/type/engine/mapped/mapped_variants.mjs +10 -5
  146. package/node_modules/typebox/build/type/engine/module/instantiate.d.mts +7 -9
  147. package/node_modules/typebox/build/type/engine/module/instantiate.mjs +17 -15
  148. package/node_modules/typebox/build/type/engine/object/from_dependent.d.mts +5 -0
  149. package/node_modules/typebox/build/type/engine/object/from_dependent.mjs +8 -0
  150. package/node_modules/typebox/build/type/engine/object/from_type.d.mts +3 -1
  151. package/node_modules/typebox/build/type/engine/object/from_type.mjs +8 -5
  152. package/node_modules/typebox/build/type/engine/object/from_union.mjs +2 -2
  153. package/node_modules/typebox/build/type/engine/optional/instantiate_add.d.mts +10 -0
  154. package/node_modules/typebox/build/type/engine/optional/instantiate_add.mjs +14 -0
  155. package/node_modules/typebox/build/type/engine/optional/instantiate_remove.d.mts +10 -0
  156. package/node_modules/typebox/build/type/engine/optional/instantiate_remove.mjs +14 -0
  157. package/node_modules/typebox/build/type/engine/parameters/instantiate.d.mts +3 -4
  158. package/node_modules/typebox/build/type/engine/parameters/instantiate.mjs +2 -1
  159. package/node_modules/typebox/build/type/engine/partial/from_dependent.d.mts +5 -0
  160. package/node_modules/typebox/build/type/engine/partial/from_dependent.mjs +8 -0
  161. package/node_modules/typebox/build/type/engine/partial/from_intersect.d.mts +1 -1
  162. package/node_modules/typebox/build/type/engine/partial/from_intersect.mjs +3 -2
  163. package/node_modules/typebox/build/type/engine/partial/from_object.d.mts +2 -2
  164. package/node_modules/typebox/build/type/engine/partial/from_object.mjs +2 -2
  165. package/node_modules/typebox/build/type/engine/partial/from_type.d.mts +3 -1
  166. package/node_modules/typebox/build/type/engine/partial/from_type.mjs +7 -4
  167. package/node_modules/typebox/build/type/engine/priority/index.d.mts +1 -0
  168. package/node_modules/typebox/build/type/engine/priority/index.mjs +1 -0
  169. package/node_modules/typebox/build/type/engine/priority/priority.d.mts +20 -0
  170. package/node_modules/typebox/build/type/engine/priority/priority.mjs +28 -0
  171. package/node_modules/typebox/build/type/engine/readonly/instantiate_add.d.mts +10 -0
  172. package/node_modules/typebox/build/type/engine/readonly/instantiate_add.mjs +14 -0
  173. package/node_modules/typebox/build/type/engine/readonly/instantiate_remove.d.mts +10 -0
  174. package/node_modules/typebox/build/type/engine/readonly/instantiate_remove.mjs +14 -0
  175. package/node_modules/typebox/build/type/engine/readonly_object/from_array.d.mts +2 -2
  176. package/node_modules/typebox/build/type/engine/readonly_object/from_array.mjs +2 -2
  177. package/node_modules/typebox/build/type/engine/readonly_object/from_dependent.d.mts +5 -0
  178. package/node_modules/typebox/build/type/engine/readonly_object/from_dependent.mjs +8 -0
  179. package/node_modules/typebox/build/type/engine/readonly_object/from_intersect.d.mts +1 -1
  180. package/node_modules/typebox/build/type/engine/readonly_object/from_intersect.mjs +3 -2
  181. package/node_modules/typebox/build/type/engine/readonly_object/from_object.d.mts +2 -2
  182. package/node_modules/typebox/build/type/engine/readonly_object/from_object.mjs +2 -2
  183. package/node_modules/typebox/build/type/engine/readonly_object/from_tuple.d.mts +2 -2
  184. package/node_modules/typebox/build/type/engine/readonly_object/from_tuple.mjs +2 -2
  185. package/node_modules/typebox/build/type/engine/readonly_object/from_type.d.mts +3 -1
  186. package/node_modules/typebox/build/type/engine/readonly_object/from_type.mjs +8 -5
  187. package/node_modules/typebox/build/type/engine/record/from_key_enum.d.mts +2 -2
  188. package/node_modules/typebox/build/type/engine/record/from_key_enum.mjs +2 -2
  189. package/node_modules/typebox/build/type/engine/record/from_key_template_literal.d.mts +2 -2
  190. package/node_modules/typebox/build/type/engine/record/from_key_template_literal.mjs +2 -2
  191. package/node_modules/typebox/build/type/engine/ref/instantiate.d.mts +3 -3
  192. package/node_modules/typebox/build/type/engine/ref/instantiate.mjs +6 -6
  193. package/node_modules/typebox/build/type/engine/required/from_dependent.d.mts +5 -0
  194. package/node_modules/typebox/build/type/engine/required/from_dependent.mjs +8 -0
  195. package/node_modules/typebox/build/type/engine/required/from_intersect.d.mts +1 -1
  196. package/node_modules/typebox/build/type/engine/required/from_intersect.mjs +3 -2
  197. package/node_modules/typebox/build/type/engine/required/from_object.d.mts +2 -2
  198. package/node_modules/typebox/build/type/engine/required/from_object.mjs +2 -2
  199. package/node_modules/typebox/build/type/engine/required/from_type.d.mts +3 -1
  200. package/node_modules/typebox/build/type/engine/required/from_type.mjs +7 -4
  201. package/node_modules/typebox/build/type/engine/template_literal/decode.mjs +3 -3
  202. package/node_modules/typebox/build/type/engine/template_literal/encode.d.mts +2 -2
  203. package/node_modules/typebox/build/type/engine/template_literal/encode.mjs +6 -6
  204. package/node_modules/typebox/build/type/engine/template_literal/is_finite.mjs +1 -1
  205. package/node_modules/typebox/build/type/engine/template_literal/is_pattern.mjs +1 -0
  206. package/node_modules/typebox/build/type/engine/this/expand_this.d.mts +1 -4
  207. package/node_modules/typebox/build/type/engine/this/expand_this.mjs +7 -13
  208. package/node_modules/typebox/build/type/engine/with/instantiate.d.mts +8 -0
  209. package/node_modules/typebox/build/type/engine/{options → with}/instantiate.mjs +5 -5
  210. package/node_modules/typebox/build/type/extends/dependent.d.mts +6 -0
  211. package/node_modules/typebox/build/type/extends/dependent.mjs +6 -0
  212. package/node_modules/typebox/build/type/extends/enum.d.mts +4 -4
  213. package/node_modules/typebox/build/type/extends/enum.mjs +3 -2
  214. package/node_modules/typebox/build/type/extends/extends_left.d.mts +5 -7
  215. package/node_modules/typebox/build/type/extends/extends_left.mjs +24 -27
  216. package/node_modules/typebox/build/type/extends/extends_right.d.mts +7 -5
  217. package/node_modules/typebox/build/type/extends/extends_right.mjs +20 -15
  218. package/node_modules/typebox/build/type/extends/inference.mjs +1 -1
  219. package/node_modules/typebox/build/type/extends/object.d.mts +8 -1
  220. package/node_modules/typebox/build/type/extends/object.mjs +25 -3
  221. package/node_modules/typebox/build/type/extends/parameters.mjs +2 -2
  222. package/node_modules/typebox/build/type/extends/record.d.mts +13 -0
  223. package/node_modules/typebox/build/type/extends/record.mjs +23 -0
  224. package/node_modules/typebox/build/type/extends/template_literal.d.mts +3 -3
  225. package/node_modules/typebox/build/type/extends/template_literal.mjs +3 -3
  226. package/node_modules/typebox/build/type/extends/tuple.d.mts +3 -6
  227. package/node_modules/typebox/build/type/extends/tuple.mjs +6 -5
  228. package/node_modules/typebox/build/type/extends/union.mjs +2 -2
  229. package/node_modules/typebox/build/type/script/mapping.d.mts +84 -99
  230. package/node_modules/typebox/build/type/script/mapping.mjs +81 -85
  231. package/node_modules/typebox/build/type/script/parser.d.mts +40 -40
  232. package/node_modules/typebox/build/type/script/parser.mjs +22 -22
  233. package/node_modules/typebox/build/type/script/script.d.mts +3 -4
  234. package/node_modules/typebox/build/type/script/script.mjs +3 -2
  235. package/node_modules/typebox/build/type/script/token/internal/guard.d.mts +1 -1
  236. package/node_modules/typebox/build/type/script/token/internal/guard.mjs +1 -1
  237. package/node_modules/typebox/build/type/script/token/internal/take.mjs +1 -1
  238. package/node_modules/typebox/build/type/script/token/until.mjs +2 -2
  239. package/node_modules/typebox/build/type/types/_codec.d.mts +12 -12
  240. package/node_modules/typebox/build/type/types/_codec.mjs +0 -1
  241. package/node_modules/typebox/build/type/types/_immutable.d.mts +2 -9
  242. package/node_modules/typebox/build/type/types/_immutable.mjs +2 -10
  243. package/node_modules/typebox/build/type/types/_optional.d.mts +2 -9
  244. package/node_modules/typebox/build/type/types/_optional.mjs +2 -11
  245. package/node_modules/typebox/build/type/types/_readonly.d.mts +2 -9
  246. package/node_modules/typebox/build/type/types/_readonly.mjs +2 -10
  247. package/node_modules/typebox/build/type/types/_refine.d.mts +8 -10
  248. package/node_modules/typebox/build/type/types/_refine.mjs +1 -2
  249. package/node_modules/typebox/build/type/types/call.d.mts +3 -3
  250. package/node_modules/typebox/build/type/types/call.mjs +3 -2
  251. package/node_modules/typebox/build/type/types/deferred.d.mts +1 -0
  252. package/node_modules/typebox/build/type/types/deferred.mjs +1 -1
  253. package/node_modules/typebox/build/type/types/dependent.d.mts +17 -0
  254. package/node_modules/typebox/build/type/types/dependent.mjs +24 -0
  255. package/node_modules/typebox/build/type/types/enum.d.mts +3 -1
  256. package/node_modules/typebox/build/type/types/enum.mjs +5 -0
  257. package/node_modules/typebox/build/type/types/index.d.mts +1 -4
  258. package/node_modules/typebox/build/type/types/index.mjs +1 -4
  259. package/node_modules/typebox/build/type/types/number.d.mts +1 -1
  260. package/node_modules/typebox/build/type/types/number.mjs +1 -1
  261. package/node_modules/typebox/build/type/types/record.d.mts +13 -7
  262. package/node_modules/typebox/build/type/types/record.mjs +15 -9
  263. package/node_modules/typebox/build/type/types/static.d.mts +2 -5
  264. package/node_modules/typebox/build/typebox.d.mts +4 -8
  265. package/node_modules/typebox/build/typebox.mjs +4 -8
  266. package/node_modules/typebox/build/value/clean/clean.mjs +4 -2
  267. package/node_modules/typebox/build/value/clean/from_intersect.mjs +2 -2
  268. package/node_modules/typebox/build/value/clean/from_type.mjs +8 -10
  269. package/node_modules/typebox/build/value/clean/from_union.d.mts +1 -1
  270. package/node_modules/typebox/build/value/clean/from_union.mjs +1 -2
  271. package/node_modules/typebox/build/value/clone/clone.mjs +2 -73
  272. package/node_modules/typebox/build/value/codec/decode.mjs +4 -2
  273. package/node_modules/typebox/build/value/codec/encode.mjs +4 -2
  274. package/node_modules/typebox/build/value/codec/from_array.mjs +1 -4
  275. package/node_modules/typebox/build/value/codec/from_object.mjs +1 -4
  276. package/node_modules/typebox/build/value/codec/from_record.mjs +2 -7
  277. package/node_modules/typebox/build/value/codec/from_tuple.mjs +1 -4
  278. package/node_modules/typebox/build/value/codec/from_union.mjs +2 -3
  279. package/node_modules/typebox/build/value/convert/from_enum.mjs +3 -4
  280. package/node_modules/typebox/build/value/convert/from_template_literal.d.mts +1 -1
  281. package/node_modules/typebox/build/value/convert/from_template_literal.mjs +2 -3
  282. package/node_modules/typebox/build/value/convert/from_type.mjs +19 -21
  283. package/node_modules/typebox/build/value/create/from_enum.mjs +2 -2
  284. package/node_modules/typebox/build/value/create/from_type.mjs +23 -31
  285. package/node_modules/typebox/build/value/default/from_object.mjs +1 -1
  286. package/node_modules/typebox/build/value/default/from_type.mjs +8 -10
  287. package/node_modules/typebox/build/value/index.d.mts +0 -1
  288. package/node_modules/typebox/build/value/index.mjs +0 -1
  289. package/node_modules/typebox/build/value/repair/from_enum.mjs +2 -3
  290. package/node_modules/typebox/build/value/repair/from_type.mjs +24 -22
  291. package/node_modules/typebox/build/value/shared/union_priority_sort.d.mts +6 -2
  292. package/node_modules/typebox/build/value/shared/union_priority_sort.mjs +62 -26
  293. package/node_modules/typebox/build/value/value.d.mts +0 -1
  294. package/node_modules/typebox/build/value/value.mjs +0 -1
  295. package/node_modules/typebox/package.json +25 -25
  296. package/node_modules/typebox/readme.md +97 -80
  297. package/npm-shrinkwrap.json +6 -6
  298. package/package.json +5 -5
  299. package/node_modules/typebox/build/schema/engine/_guard.d.mts +0 -6
  300. package/node_modules/typebox/build/schema/engine/_guard.mjs +0 -26
  301. package/node_modules/typebox/build/schema/types/_guard.d.mts +0 -10
  302. package/node_modules/typebox/build/schema/types/_guard.mjs +0 -16
  303. package/node_modules/typebox/build/type/action/_optional.d.mts +0 -19
  304. package/node_modules/typebox/build/type/action/_optional.mjs +0 -40
  305. package/node_modules/typebox/build/type/action/_readonly.d.mts +0 -19
  306. package/node_modules/typebox/build/type/action/_readonly.mjs +0 -40
  307. package/node_modules/typebox/build/type/action/awaited.d.mts +0 -15
  308. package/node_modules/typebox/build/type/action/awaited.mjs +0 -15
  309. package/node_modules/typebox/build/type/action/options.d.mts +0 -11
  310. package/node_modules/typebox/build/type/action/options.mjs +0 -11
  311. package/node_modules/typebox/build/type/engine/awaited/instantiate.d.mts +0 -11
  312. package/node_modules/typebox/build/type/engine/awaited/instantiate.mjs +0 -20
  313. package/node_modules/typebox/build/type/engine/enum/enum_to_union.d.mts +0 -14
  314. package/node_modules/typebox/build/type/engine/enum/enum_to_union.mjs +0 -24
  315. package/node_modules/typebox/build/type/engine/options/index.d.mts +0 -1
  316. package/node_modules/typebox/build/type/engine/options/index.mjs +0 -1
  317. package/node_modules/typebox/build/type/engine/options/instantiate.d.mts +0 -8
  318. package/node_modules/typebox/build/type/extends/async_iterator.d.mts +0 -7
  319. package/node_modules/typebox/build/type/extends/async_iterator.mjs +0 -9
  320. package/node_modules/typebox/build/type/extends/iterator.d.mts +0 -7
  321. package/node_modules/typebox/build/type/extends/iterator.mjs +0 -9
  322. package/node_modules/typebox/build/type/extends/promise.d.mts +0 -7
  323. package/node_modules/typebox/build/type/extends/promise.mjs +0 -9
  324. package/node_modules/typebox/build/type/types/async_iterator.d.mts +0 -20
  325. package/node_modules/typebox/build/type/types/async_iterator.mjs +0 -28
  326. package/node_modules/typebox/build/type/types/base.d.mts +0 -50
  327. package/node_modules/typebox/build/type/types/base.mjs +0 -84
  328. package/node_modules/typebox/build/type/types/iterator.d.mts +0 -20
  329. package/node_modules/typebox/build/type/types/iterator.mjs +0 -28
  330. package/node_modules/typebox/build/type/types/promise.d.mts +0 -21
  331. package/node_modules/typebox/build/type/types/promise.mjs +0 -29
  332. package/node_modules/typebox/build/value/clean/from_base.d.mts +0 -2
  333. package/node_modules/typebox/build/value/clean/from_base.mjs +0 -4
  334. package/node_modules/typebox/build/value/convert/from_base.d.mts +0 -2
  335. package/node_modules/typebox/build/value/convert/from_base.mjs +0 -4
  336. package/node_modules/typebox/build/value/create/from_async_iterator.d.mts +0 -2
  337. package/node_modules/typebox/build/value/create/from_async_iterator.mjs +0 -5
  338. package/node_modules/typebox/build/value/create/from_base.d.mts +0 -2
  339. package/node_modules/typebox/build/value/create/from_base.mjs +0 -4
  340. package/node_modules/typebox/build/value/create/from_iterator.d.mts +0 -2
  341. package/node_modules/typebox/build/value/create/from_iterator.mjs +0 -5
  342. package/node_modules/typebox/build/value/create/from_promise.d.mts +0 -2
  343. package/node_modules/typebox/build/value/create/from_promise.mjs +0 -5
  344. package/node_modules/typebox/build/value/default/from_base.d.mts +0 -2
  345. package/node_modules/typebox/build/value/default/from_base.mjs +0 -5
  346. package/node_modules/typebox/build/value/mutate/error.d.mts +0 -3
  347. package/node_modules/typebox/build/value/mutate/error.mjs +0 -6
  348. package/node_modules/typebox/build/value/mutate/from_array.d.mts +0 -2
  349. package/node_modules/typebox/build/value/mutate/from_array.mjs +0 -16
  350. package/node_modules/typebox/build/value/mutate/from_object.d.mts +0 -2
  351. package/node_modules/typebox/build/value/mutate/from_object.mjs +0 -40
  352. package/node_modules/typebox/build/value/mutate/from_unknown.d.mts +0 -2
  353. package/node_modules/typebox/build/value/mutate/from_unknown.mjs +0 -7
  354. package/node_modules/typebox/build/value/mutate/from_value.d.mts +0 -2
  355. package/node_modules/typebox/build/value/mutate/from_value.mjs +0 -12
  356. package/node_modules/typebox/build/value/mutate/index.d.mts +0 -1
  357. package/node_modules/typebox/build/value/mutate/index.mjs +0 -1
  358. package/node_modules/typebox/build/value/mutate/mutate.d.mts +0 -11
  359. package/node_modules/typebox/build/value/mutate/mutate.mjs +0 -41
  360. package/node_modules/typebox/build/value/repair/from_base.d.mts +0 -2
  361. package/node_modules/typebox/build/value/repair/from_base.mjs +0 -8
  362. /package/node_modules/typebox/build/type/engine/{awaited → with}/index.d.mts +0 -0
  363. /package/node_modules/typebox/build/type/engine/{awaited → with}/index.mjs +0 -0
@@ -2,6 +2,7 @@
2
2
  import { FromType } from './from_type.mjs';
3
3
  import { EvaluateIntersect } from '../evaluate/evaluate.mjs';
4
4
  export function FromIntersect(types) {
5
- const result = types.map(type => FromType(type));
6
- return EvaluateIntersect(result);
5
+ const evaluated = EvaluateIntersect(types);
6
+ const result = FromType(evaluated);
7
+ return result;
7
8
  }
@@ -1,8 +1,8 @@
1
1
  import { type TSchema } from '../../types/schema.mjs';
2
2
  import { type TObject } from '../../types/object.mjs';
3
- import { type TReadonlyAdd } from '../../types/_readonly.mjs';
3
+ import { type TAddReadonly } from '../../action/_add_readonly.mjs';
4
4
  import { type TProperties } from '../../types/properties.mjs';
5
5
  export type TFromObject<Properties extends TProperties, Mapped extends TProperties = {
6
- [Key in keyof Properties]: TReadonlyAdd<Properties[Key]>;
6
+ [Key in keyof Properties]: TAddReadonly<Properties[Key]>;
7
7
  }, Result extends TSchema = TObject<Mapped>> = Result;
8
8
  export declare function FromObject<Properties extends TProperties>(properties: Properties): TFromObject<Properties>;
@@ -1,10 +1,10 @@
1
1
  // deno-fmt-ignore-file
2
2
  import { Guard } from '../../../guard/index.mjs';
3
3
  import { Object } from '../../types/object.mjs';
4
- import { Readonly } from '../../types/_readonly.mjs';
4
+ import { AddReadonly } from '../../action/_add_readonly.mjs';
5
5
  export function FromObject(properties) {
6
6
  const mapped = Guard.Keys(properties).reduce((result, left) => {
7
- return { ...result, [left]: Readonly(properties[left]) };
7
+ return { ...result, [left]: AddReadonly(properties[left]) };
8
8
  }, {});
9
9
  const result = Object(mapped);
10
10
  return result;
@@ -1,5 +1,5 @@
1
1
  import { type TSchema } from '../../types/schema.mjs';
2
2
  import { type TTuple } from '../../types/tuple.mjs';
3
- import { type TImmutableAdd } from '../../types/_immutable.mjs';
4
- export type TFromTuple<Types extends TSchema[], Result extends TSchema = TImmutableAdd<TTuple<Types>>> = Result;
3
+ import { type TAddImmutable } from '../../action/_add_immutable.mjs';
4
+ export type TFromTuple<Types extends TSchema[], Result extends TSchema = TAddImmutable<TTuple<Types>>> = Result;
5
5
  export declare function FromTuple<Types extends TSchema[]>(types: [...Types]): TFromTuple<Types>;
@@ -1,7 +1,7 @@
1
1
  // deno-fmt-ignore-file
2
2
  import { Tuple } from '../../types/tuple.mjs';
3
- import { Immutable } from '../../types/_immutable.mjs';
3
+ import { AddImmutable } from '../../action/_add_immutable.mjs';
4
4
  export function FromTuple(types) {
5
- const result = Immutable(Tuple(types));
5
+ const result = AddImmutable(Tuple(types));
6
6
  return result;
7
7
  }
@@ -1,6 +1,7 @@
1
1
  import { type TSchema } from '../../types/schema.mjs';
2
2
  import { type TArray } from '../../types/array.mjs';
3
3
  import { type TCyclic } from '../../types/cyclic.mjs';
4
+ import { type TDependent } from '../../types/dependent.mjs';
4
5
  import { type TIntersect } from '../../types/intersect.mjs';
5
6
  import { type TObject } from '../../types/object.mjs';
6
7
  import { type TProperties } from '../../types/properties.mjs';
@@ -8,9 +9,10 @@ import { type TTuple } from '../../types/tuple.mjs';
8
9
  import { type TUnion } from '../../types/union.mjs';
9
10
  import { type TFromArray } from './from_array.mjs';
10
11
  import { type TFromCyclic } from './from_cyclic.mjs';
12
+ import { type TFromDependent } from './from_dependent.mjs';
11
13
  import { type TFromIntersect } from './from_intersect.mjs';
12
14
  import { type TFromObject } from './from_object.mjs';
13
15
  import { type TFromTuple } from './from_tuple.mjs';
14
16
  import { type TFromUnion } from './from_union.mjs';
15
- export type TFromType<Type extends TSchema> = (Type extends TArray<infer Type extends TSchema> ? TFromArray<Type> : 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 TObject<infer Properties extends TProperties> ? TFromObject<Properties> : Type extends TTuple<infer Types extends TSchema[]> ? TFromTuple<Types> : Type extends TUnion<infer Types extends TSchema[]> ? TFromUnion<Types> : Type);
17
+ export type TFromType<Type extends TSchema> = (Type extends TArray<infer Type extends TSchema> ? TFromArray<Type> : Type extends TCyclic<infer Defs extends TProperties, infer Ref extends string> ? TFromCyclic<Defs, Ref> : Type extends TDependent<infer If extends TSchema, infer Then extends TSchema, infer Else extends TSchema> ? TFromDependent<If, Then, Else> : Type extends TIntersect<infer Types extends TSchema[]> ? TFromIntersect<Types> : Type extends TObject<infer Properties extends TProperties> ? TFromObject<Properties> : Type extends TTuple<infer Types extends TSchema[]> ? TFromTuple<Types> : Type extends TUnion<infer Types extends TSchema[]> ? TFromUnion<Types> : Type);
16
18
  export declare function FromType<Type extends TSchema>(type: Type): TFromType<Type>;
@@ -1,12 +1,14 @@
1
1
  // deno-fmt-ignore-file
2
2
  import { IsArray } from '../../types/array.mjs';
3
3
  import { IsCyclic } from '../../types/cyclic.mjs';
4
+ import { IsDependent } from '../../types/dependent.mjs';
4
5
  import { IsIntersect } from '../../types/intersect.mjs';
5
6
  import { IsObject } from '../../types/object.mjs';
6
7
  import { IsTuple } from '../../types/tuple.mjs';
7
8
  import { IsUnion } from '../../types/union.mjs';
8
9
  import { FromArray } from './from_array.mjs';
9
10
  import { FromCyclic } from './from_cyclic.mjs';
11
+ import { FromDependent } from './from_dependent.mjs';
10
12
  import { FromIntersect } from './from_intersect.mjs';
11
13
  import { FromObject } from './from_object.mjs';
12
14
  import { FromTuple } from './from_tuple.mjs';
@@ -14,9 +16,10 @@ import { FromUnion } from './from_union.mjs';
14
16
  export function FromType(type) {
15
17
  return (IsArray(type) ? FromArray(type.items) :
16
18
  IsCyclic(type) ? FromCyclic(type.$defs, type.$ref) :
17
- IsIntersect(type) ? FromIntersect(type.allOf) :
18
- IsObject(type) ? FromObject(type.properties) :
19
- IsTuple(type) ? FromTuple(type.items) :
20
- IsUnion(type) ? FromUnion(type.anyOf) :
21
- type);
19
+ IsDependent(type) ? FromDependent(type.if, type.then, type.else) :
20
+ IsIntersect(type) ? FromIntersect(type.allOf) :
21
+ IsObject(type) ? FromObject(type.properties) :
22
+ IsTuple(type) ? FromTuple(type.items) :
23
+ IsUnion(type) ? FromUnion(type.anyOf) :
24
+ type);
22
25
  }
@@ -1,6 +1,6 @@
1
1
  import { type TSchema } from '../../types/index.mjs';
2
2
  import { type TEnumValue } from '../../types/enum.mjs';
3
- import { type TEnumValuesToUnion } from '../enum/enum_to_union.mjs';
4
3
  import { type TFromKey } from './from_key.mjs';
5
- export type TFromEnumKey<Values extends TEnumValue[], Value extends TSchema, UnionKey extends TSchema = TEnumValuesToUnion<Values>, Result extends TSchema = TFromKey<UnionKey, Value>> = Result;
4
+ import { type TEvaluateEnum } from '../evaluate/evaluate.mjs';
5
+ export type TFromEnumKey<Values extends TEnumValue[], Value extends TSchema, UnionKey extends TSchema = TEvaluateEnum<Values>, Result extends TSchema = TFromKey<UnionKey, Value>> = Result;
6
6
  export declare function FromEnumKey<Values extends TEnumValue[], Value extends TSchema>(values: [...Values], value: Value): TFromEnumKey<Values, Value>;
@@ -1,8 +1,8 @@
1
1
  // deno-fmt-ignore-file
2
- import { EnumValuesToUnion } from '../enum/enum_to_union.mjs';
3
2
  import { FromKey } from './from_key.mjs';
3
+ import { EvaluateEnum } from '../evaluate/evaluate.mjs';
4
4
  export function FromEnumKey(values, value) {
5
- const unionKey = EnumValuesToUnion(values);
5
+ const unionKey = EvaluateEnum(values);
6
6
  const result = FromKey(unionKey, value);
7
7
  return result;
8
8
  }
@@ -3,6 +3,6 @@ import { type TRecord } from '../../types/record.mjs';
3
3
  import { type TFromKey } from './from_key.mjs';
4
4
  import { type TParsePatternIntoTypes } from '../patterns/pattern.mjs';
5
5
  import { type TIsTemplateLiteralFinite } from '../template_literal/is_finite.mjs';
6
- import { type TTemplateLiteralDecode } from '../template_literal/decode.mjs';
7
- export type TFromTemplateKey<Pattern extends string, Value extends TSchema, Types extends TSchema[] = TParsePatternIntoTypes<Pattern>, Finite extends boolean = TIsTemplateLiteralFinite<Types>, Result extends TSchema = Finite extends true ? TFromKey<TTemplateLiteralDecode<Pattern>, Value> : TRecord<Pattern, Value>> = Result;
6
+ import { type TEvaluateTemplateLiteral } from '../evaluate/evaluate.mjs';
7
+ export type TFromTemplateKey<Pattern extends string, Value extends TSchema, Types extends TSchema[] = TParsePatternIntoTypes<Pattern>, Finite extends boolean = TIsTemplateLiteralFinite<Types>, Result extends TSchema = Finite extends true ? TFromKey<TEvaluateTemplateLiteral<Pattern>, Value> : TRecord<Pattern, Value>> = Result;
8
8
  export declare function FromTemplateKey<Pattern extends string, Value extends TSchema>(pattern: Pattern, value: Value): TFromTemplateKey<Pattern, Value>;
@@ -2,11 +2,11 @@
2
2
  import { FromKey } from './from_key.mjs';
3
3
  import { ParsePatternIntoTypes } from '../patterns/pattern.mjs';
4
4
  import { IsTemplateLiteralFinite } from '../template_literal/is_finite.mjs';
5
- import { TemplateLiteralDecode } from '../template_literal/decode.mjs';
5
+ import { EvaluateTemplateLiteral } from '../evaluate/evaluate.mjs';
6
6
  import { CreateRecord } from './record_create.mjs';
7
7
  export function FromTemplateKey(pattern, value) {
8
8
  const types = ParsePatternIntoTypes(pattern);
9
9
  const finite = IsTemplateLiteralFinite(types);
10
- const result = finite ? FromKey(TemplateLiteralDecode(pattern), value) : CreateRecord(pattern, value);
10
+ const result = finite ? FromKey(EvaluateTemplateLiteral(pattern), value) : CreateRecord(pattern, value);
11
11
  return result;
12
12
  }
@@ -1,6 +1,6 @@
1
1
  import { type TProperties } from '../../types/properties.mjs';
2
- import { type TState, type TInstantiateType } from '../instantiate.mjs';
3
- import { type TCyclicCheck } from '../cyclic/check.mjs';
2
+ import { type TInstantiateType } from '../instantiate.mjs';
4
3
  import { type TRef } from '../../types/ref.mjs';
5
- export type TRefInstantiate<Context extends TProperties, State extends TState, Type extends TRef, Ref extends string> = (Ref extends keyof Context ? TCyclicCheck<[Ref], Context, Context[Ref]> extends true ? Type : TInstantiateType<Context, State, Context[Ref]> : Type);
4
+ import { type TState } from '../instantiate.mjs';
5
+ export type TRefInstantiate<Context extends TProperties, State extends TState, Type extends TRef, Ref extends string> = (Ref extends State['visited'][number] ? Type : Ref extends keyof Context ? TInstantiateType<Context, TState<State['callstack'], [...State['visited'], Ref]>, Context[Ref]> : Type);
6
6
  export declare function RefInstantiate<Context extends TProperties, State extends TState, Type extends TRef, Ref extends string>(context: Context, state: State, type: Type, ref: Ref): TRefInstantiate<Context, State, Type, Ref>;
@@ -1,10 +1,10 @@
1
1
  // deno-fmt-ignore-file
2
2
  import { InstantiateType } from '../instantiate.mjs';
3
- import { CyclicCheck } from '../cyclic/check.mjs';
3
+ import { State } from '../instantiate.mjs';
4
4
  export function RefInstantiate(context, state, type, ref) {
5
- return (ref in context
6
- ? CyclicCheck([ref], context, context[ref])
7
- ? type
8
- : InstantiateType(context, state, context[ref])
9
- : type);
5
+ return (state.visited.includes(ref)
6
+ ? type
7
+ : ref in context
8
+ ? InstantiateType(context, State(state['callstack'], [...state['visited'], ref]), context[ref])
9
+ : type);
10
10
  }
@@ -0,0 +1,5 @@
1
+ import { type TSchema } from '../../types/schema.mjs';
2
+ import { type TFromType } from './from_type.mjs';
3
+ import { type TEvaluateDependent } from '../evaluate/evaluate.mjs';
4
+ export type TFromDependent<If extends TSchema, Then extends TSchema, Else extends TSchema, Evaluated extends TSchema = TEvaluateDependent<If, Then, Else>, Result extends TSchema = TFromType<Evaluated>> = Result;
5
+ export declare function FromDependent<If extends TSchema, Then extends TSchema, Else extends TSchema>(if_: If, then_: Then, else_: Else): TFromDependent<If, Then, Else>;
@@ -0,0 +1,8 @@
1
+ // deno-fmt-ignore-file
2
+ import { FromType } from './from_type.mjs';
3
+ import { EvaluateDependent } from '../evaluate/evaluate.mjs';
4
+ export function FromDependent(if_, then_, else_) {
5
+ const evaluated = EvaluateDependent(if_, then_, else_);
6
+ const result = FromType(evaluated);
7
+ return result;
8
+ }
@@ -1,5 +1,5 @@
1
1
  import { type TSchema } from '../../types/schema.mjs';
2
2
  import { type TFromType } from './from_type.mjs';
3
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>);
4
+ export type TFromIntersect<Types extends TSchema[], Evaluated extends TSchema = TEvaluateIntersect<Types>, Result extends TSchema = TFromType<Evaluated>> = Result;
5
5
  export declare function FromIntersect<Types extends TSchema[]>(types: [...Types]): TFromIntersect<Types>;
@@ -2,6 +2,7 @@
2
2
  import { FromType } from './from_type.mjs';
3
3
  import { EvaluateIntersect } from '../evaluate/evaluate.mjs';
4
4
  export function FromIntersect(types) {
5
- const result = types.map(type => FromType(type));
6
- return EvaluateIntersect(result);
5
+ const evaluated = EvaluateIntersect(types);
6
+ const result = FromType(evaluated);
7
+ return result;
7
8
  }
@@ -1,8 +1,8 @@
1
1
  import { type TSchema } from '../../types/schema.mjs';
2
2
  import { type TObject } from '../../types/object.mjs';
3
- import { type TOptionalRemove } from '../../types/_optional.mjs';
3
+ import { type TRemoveOptional } from '../../action/_remove_optional.mjs';
4
4
  import { type TProperties } from '../../types/properties.mjs';
5
5
  export type TFromObject<Properties extends TProperties, Mapped extends TProperties = {
6
- [Key in keyof Properties]: TOptionalRemove<Properties[Key]>;
6
+ [Key in keyof Properties]: TRemoveOptional<Properties[Key]>;
7
7
  }, Result extends TSchema = TObject<Mapped>> = Result;
8
8
  export declare function FromObject<Properties extends TProperties>(properties: Properties): TFromObject<Properties>;
@@ -1,10 +1,10 @@
1
1
  // deno-fmt-ignore-file
2
2
  import { Guard } from '../../../guard/index.mjs';
3
3
  import { Object } from '../../types/object.mjs';
4
- import { OptionalRemove } from '../../types/_optional.mjs';
4
+ import { RemoveOptional } from '../../action/_remove_optional.mjs';
5
5
  export function FromObject(properties) {
6
6
  const mapped = Guard.Keys(properties).reduce((result, left) => {
7
- return { ...result, [left]: OptionalRemove(properties[left]) };
7
+ return { ...result, [left]: RemoveOptional(properties[left]) };
8
8
  }, {});
9
9
  const result = Object(mapped);
10
10
  return result;
@@ -1,12 +1,14 @@
1
1
  import { type TSchema } from '../../types/schema.mjs';
2
2
  import { type TCyclic } from '../../types/cyclic.mjs';
3
+ import { type TDependent } from '../../types/dependent.mjs';
3
4
  import { type TIntersect } from '../../types/intersect.mjs';
4
5
  import { type TObject } from '../../types/object.mjs';
5
6
  import { type TProperties } from '../../types/properties.mjs';
6
7
  import { type TUnion } from '../../types/union.mjs';
7
8
  import { type TFromCyclic } from './from_cyclic.mjs';
9
+ import { type TFromDependent } from './from_dependent.mjs';
8
10
  import { type TFromIntersect } from './from_intersect.mjs';
9
11
  import { type TFromUnion } from './from_union.mjs';
10
12
  import { type TFromObject } from './from_object.mjs';
11
- export type TFromType<Type extends TSchema> = (Type extends TCyclic<infer Defs extends TProperties, infer Ref extends string> ? TFromCyclic<Defs, Ref> : Type extends TIntersect<infer Types extends TSchema[]> ? TFromIntersect<Types> : Type extends TUnion<infer Types extends TSchema[]> ? TFromUnion<Types> : Type extends TObject<infer Properties extends TProperties> ? TFromObject<Properties> : TObject<{}>);
13
+ export type TFromType<Type extends TSchema> = (Type extends TCyclic<infer Defs extends TProperties, infer Ref extends string> ? TFromCyclic<Defs, Ref> : Type extends TDependent<infer If extends TSchema, infer Then extends TSchema, infer Else extends TSchema> ? TFromDependent<If, Then, Else> : Type extends TIntersect<infer Types extends TSchema[]> ? TFromIntersect<Types> : Type extends TUnion<infer Types extends TSchema[]> ? TFromUnion<Types> : Type extends TObject<infer Properties extends TProperties> ? TFromObject<Properties> : TObject<{}>);
12
14
  export declare function FromType<Type extends TSchema>(type: Type): TFromType<Type>;
@@ -1,17 +1,20 @@
1
1
  // deno-lint-ignore-file ban-types
2
2
  // deno-fmt-ignore-file
3
3
  import { IsCyclic } from '../../types/cyclic.mjs';
4
+ import { IsDependent } from '../../types/dependent.mjs';
4
5
  import { IsIntersect } from '../../types/intersect.mjs';
5
6
  import { Object, IsObject } from '../../types/object.mjs';
6
7
  import { IsUnion } from '../../types/union.mjs';
7
8
  import { FromCyclic } from './from_cyclic.mjs';
9
+ import { FromDependent } from './from_dependent.mjs';
8
10
  import { FromIntersect } from './from_intersect.mjs';
9
11
  import { FromUnion } from './from_union.mjs';
10
12
  import { FromObject } from './from_object.mjs';
11
13
  export function FromType(type) {
12
14
  return (IsCyclic(type) ? FromCyclic(type.$defs, type.$ref) :
13
- IsIntersect(type) ? FromIntersect(type.allOf) :
14
- IsUnion(type) ? FromUnion(type.anyOf) :
15
- IsObject(type) ? FromObject(type.properties) :
16
- Object({}));
15
+ IsDependent(type) ? FromDependent(type.if, type.then, type.else) :
16
+ IsIntersect(type) ? FromIntersect(type.allOf) :
17
+ IsUnion(type) ? FromUnion(type.anyOf) :
18
+ IsObject(type) ? FromObject(type.properties) :
19
+ Object({}));
17
20
  }
@@ -9,13 +9,13 @@ import { ParsePatternIntoTypes } from '../patterns/pattern.mjs';
9
9
  import { IsTemplateLiteralFinite } from './is_finite.mjs';
10
10
  import { TemplateLiteralCreate } from './create.mjs';
11
11
  function FromLiteralPush(variants, value, result = []) {
12
- return Guard.TakeLeft(variants, (left, right) => FromLiteralPush(right, value, [...result, `${left}${value}`]), () => result);
12
+ return Guard.ShiftLeft(variants, (left, right) => FromLiteralPush(right, value, [...result, `${left}${value}`]), () => result);
13
13
  }
14
14
  function FromLiteral(variants, value) {
15
15
  return (Guard.IsEqual(variants.length, 0) ? [`${value}`] : FromLiteralPush(variants, value));
16
16
  }
17
17
  function FromUnion(variants, types, result = []) {
18
- return Guard.TakeLeft(types, (left, right) => FromUnion(variants, right, [...result, ...FromType(variants, left)]), () => result);
18
+ return Guard.ShiftLeft(types, (left, right) => FromUnion(variants, right, [...result, ...FromType(variants, left)]), () => result);
19
19
  }
20
20
  // ------------------------------------------------------------------
21
21
  // deno-coverage-ignore-start - symmetric unreachable | internal
@@ -33,7 +33,7 @@ function FromType(variants, type) {
33
33
  return result;
34
34
  }
35
35
  function DecodeFromSpan(variants, types) {
36
- return Guard.TakeLeft(types, (left, right) => DecodeFromSpan(FromType(variants, left), right), () => variants);
36
+ return Guard.ShiftLeft(types, (left, right) => DecodeFromSpan(FromType(variants, left), right), () => variants);
37
37
  }
38
38
  function VariantsToLiterals(variants) {
39
39
  return variants.map(variant => Literal(variant));
@@ -9,7 +9,7 @@ import { type TNumber, NumberPattern } from '../../types/number.mjs';
9
9
  import { type TInteger, IntegerPattern } from '../../types/integer.mjs';
10
10
  import { type TBoolean } from '../../types/boolean.mjs';
11
11
  import { NeverPattern } from '../../types/never.mjs';
12
- import { type TEnumValuesToVariants } from '../enum/enum_to_union.mjs';
12
+ import { type TEvaluateEnum } from '../evaluate/evaluate.mjs';
13
13
  import { type TTemplateLiteralAction } from './instantiate.mjs';
14
14
  type TJoinString<Input extends string[], Result extends string = ''> = (Input extends [infer Left extends string, ...infer Right extends string[]] ? Result extends '' ? TJoinString<Right, Left> : TJoinString<Right, `${Result}|${Left}`> : Result);
15
15
  type TUnwrapTemplateLiteralPattern<Pattern extends string> = (Pattern extends `^${infer Pattern extends string}$` ? Pattern : never);
@@ -21,7 +21,7 @@ type TEncodeBoolean<Right extends TSchema[], Pattern extends string> = (TEncodeT
21
21
  type TEncodeString<Right extends TSchema[], Pattern extends string> = (TEncodeTypes<Right, `${Pattern}${typeof StringPattern}`>);
22
22
  type TEncodeTemplateLiteral<TemplatePattern extends string, Right extends TSchema[], Pattern extends string> = (TEncodeTypes<Right, `${Pattern}${TUnwrapTemplateLiteralPattern<TemplatePattern>}`>);
23
23
  type TEncodeTemplateLiteralDeferred<Types extends TSchema[], Right extends TSchema[], Pattern extends string, TemplateLiteral extends TSchema = TTemplateLiteralAction<Types>, Result extends TSchema = TEncodeType<TemplateLiteral, Right, Pattern>> = Result;
24
- type TEncodeEnum<Types extends TEnumValue[], Right extends TSchema[], Pattern extends string, Variants extends TSchema[] = TEnumValuesToVariants<Types>> = TEncodeUnion<Variants, Right, Pattern>;
24
+ type TEncodeEnum<Values extends TEnumValue[], Right extends TSchema[], Pattern extends string, Evaluated extends TSchema = TEvaluateEnum<Values>> = TEncodeType<Evaluated, Right, Pattern>;
25
25
  type TEncodeUnion<Types extends TSchema[], Right extends TSchema[], Pattern extends string, Result extends string[] = []> = Types extends [infer Head extends TSchema, ...infer Tail extends TSchema[]] ? TEncodeUnion<Tail, Right, Pattern, [...Result, TEncodeType<Head, [], ''>]> : TEncodeTypes<Right, `${Pattern}(${TJoinString<Result>})`>;
26
26
  type TEncodeType<Type extends TSchema, Right extends TSchema[], Pattern extends string> = (Type extends TEnum<infer Values extends TEnumValue[]> ? TEncodeEnum<Values, Right, Pattern> : Type extends TInteger ? TEncodeInteger<Right, Pattern> : Type extends TLiteral<infer Value extends TLiteralValue> ? TEncodeLiteral<Value, Right, Pattern> : Type extends TBigInt ? TEncodeBigInt<Right, Pattern> : Type extends TBoolean ? TEncodeBoolean<Right, Pattern> : Type extends TNumber ? TEncodeNumber<Right, Pattern> : Type extends TString ? TEncodeString<Right, Pattern> : Type extends TTemplateLiteral<infer TemplatePattern extends string> ? TEncodeTemplateLiteral<TemplatePattern, Right, Pattern> : Type extends TTemplateLiteralDeferred<infer Types extends TSchema[]> ? TEncodeTemplateLiteralDeferred<Types, Right, Pattern> : Type extends TUnion<infer Types extends TSchema[]> ? TEncodeUnion<Types, Right, Pattern> : typeof NeverPattern);
27
27
  type TEncodeTypes<Types extends TSchema[], Pattern extends string> = (Types extends [infer Left extends TSchema, ...infer Right extends TSchema[]] ? TEncodeType<Left, Right, Pattern> : Pattern);
@@ -11,7 +11,7 @@ import { IsInteger, IntegerPattern } from '../../types/integer.mjs';
11
11
  import { IsBoolean } from '../../types/boolean.mjs';
12
12
  import { NeverPattern } from '../../types/never.mjs';
13
13
  import { TemplateLiteralCreate } from './create.mjs';
14
- import { EnumValuesToVariants } from '../enum/enum_to_union.mjs';
14
+ import { EvaluateEnum } from '../evaluate/evaluate.mjs';
15
15
  import { TemplateLiteralAction } from './instantiate.mjs';
16
16
  function JoinString(input) {
17
17
  return input.join('|');
@@ -45,12 +45,12 @@ function EncodeTemplateLiteralDeferred(types, right, pattern) {
45
45
  const result = EncodeType(templateLiteral, right, pattern);
46
46
  return result;
47
47
  }
48
- function EncodeEnum(types, right, pattern) {
49
- const variants = EnumValuesToVariants(types);
50
- return EncodeUnion(variants, right, pattern);
48
+ function EncodeEnum(values, right, pattern) {
49
+ const evaluated = EvaluateEnum(values);
50
+ return EncodeType(evaluated, right, pattern);
51
51
  }
52
52
  function EncodeUnion(types, right, pattern, result = []) {
53
- return Guard.TakeLeft(types, (head, tail) => EncodeUnion(tail, right, pattern, [...result, EncodeType(head, [], '')]), () => EncodeTypes(right, `${pattern}(${JoinString(result)})`));
53
+ return Guard.ShiftLeft(types, (head, tail) => EncodeUnion(tail, right, pattern, [...result, EncodeType(head, [], '')]), () => EncodeTypes(right, `${pattern}(${JoinString(result)})`));
54
54
  }
55
55
  function EncodeType(type, right, pattern) {
56
56
  return (IsEnum(type) ? EncodeEnum(type.enum, right, pattern) :
@@ -66,7 +66,7 @@ function EncodeType(type, right, pattern) {
66
66
  NeverPattern);
67
67
  }
68
68
  function EncodeTypes(types, pattern) {
69
- return Guard.TakeLeft(types, (left, right) => EncodeType(left, right, pattern), () => pattern);
69
+ return Guard.ShiftLeft(types, (left, right) => EncodeType(left, right, pattern), () => pattern);
70
70
  }
71
71
  function EncodePattern(types) {
72
72
  const encoded = EncodeTypes(types, '');
@@ -6,7 +6,7 @@ function FromLiteral(_value) {
6
6
  return true;
7
7
  }
8
8
  function FromTypesReduce(types) {
9
- return Guard.TakeLeft(types, (left, right) => FromType(left)
9
+ return Guard.ShiftLeft(types, (left, right) => FromType(left)
10
10
  ? FromTypesReduce(right)
11
11
  : false, () => true);
12
12
  }
@@ -7,3 +7,4 @@ export function IsTemplateLiteralPattern(pattern) {
7
7
  const result = Guard.IsEqual(types.length, 0) ? false : true;
8
8
  return result;
9
9
  }
10
+ // deno-coverage-ignore-stop
@@ -1,18 +1,15 @@
1
1
  import { type TArray } from '../../types/array.mjs';
2
- import { type TAsyncIterator } from '../../types/async_iterator.mjs';
3
2
  import { type TConstructor } from '../../types/constructor.mjs';
4
3
  import { type TFunction } from '../../types/function.mjs';
5
- import { type TIterator } from '../../types/iterator.mjs';
6
4
  import { type TIntersect } from '../../types/intersect.mjs';
7
5
  import { type TObject } from '../../types/object.mjs';
8
6
  import { type TProperties } from '../../types/properties.mjs';
9
7
  import { type TSchema } from '../../types/schema.mjs';
10
- import { type TPromise } from '../../types/promise.mjs';
11
8
  import { type TTuple } from '../../types/tuple.mjs';
12
9
  import { type TThis } from '../../types/this.mjs';
13
10
  import { type TUnion } from '../../types/union.mjs';
14
11
  type TFromTypes<Properties extends TProperties, Types extends TSchema[], Result extends TSchema[] = []> = (Types extends [infer Left extends TSchema, ...infer Right extends TSchema[]] ? TFromTypes<Properties, Right, [...Result, TFromType<Properties, Left>]> : Result);
15
- export type TFromType<Properties extends TProperties, Type extends TSchema> = (Type extends TArray<infer Type extends TSchema> ? TArray<TFromType<Properties, Type>> : Type extends TAsyncIterator<infer Type extends TSchema> ? TAsyncIterator<TFromType<Properties, Type>> : Type extends TConstructor<infer Parameters extends TSchema[], infer InstanceType extends TSchema> ? TConstructor<TFromTypes<Properties, Parameters>, TFromType<Properties, InstanceType>> : Type extends TFunction<infer Parameters extends TSchema[], infer ReturnType extends TSchema> ? TFunction<TFromTypes<Properties, Parameters>, TFromType<Properties, ReturnType>> : Type extends TIterator<infer Type extends TSchema> ? TIterator<TFromType<Properties, Type>> : Type extends TPromise<infer Type extends TSchema> ? TPromise<TFromType<Properties, Type>> : Type extends TTuple<infer Types extends TSchema[]> ? TTuple<TFromTypes<Properties, Types>> : Type extends TUnion<infer Types extends TSchema[]> ? TUnion<TFromTypes<Properties, Types>> : Type extends TIntersect<infer Types extends TSchema[]> ? TIntersect<TFromTypes<Properties, Types>> : Type extends TThis ? TObject<Properties> : Type);
12
+ export type TFromType<Properties extends TProperties, Type extends TSchema> = (Type extends TArray<infer Type extends TSchema> ? TArray<TFromType<Properties, Type>> : Type extends TConstructor<infer Parameters extends TSchema[], infer InstanceType extends TSchema> ? TConstructor<TFromTypes<Properties, Parameters>, TFromType<Properties, InstanceType>> : Type extends TFunction<infer Parameters extends TSchema[], infer ReturnType extends TSchema> ? TFunction<TFromTypes<Properties, Parameters>, TFromType<Properties, ReturnType>> : Type extends TTuple<infer Types extends TSchema[]> ? TTuple<TFromTypes<Properties, Types>> : Type extends TUnion<infer Types extends TSchema[]> ? TUnion<TFromTypes<Properties, Types>> : Type extends TIntersect<infer Types extends TSchema[]> ? TIntersect<TFromTypes<Properties, Types>> : Type extends TThis ? TObject<Properties> : Type);
16
13
  export declare function FromType<Properties extends TProperties, Type extends TSchema>(properties: Properties, type: Type): TFromType<Properties, Type>;
17
14
  export type TExpandThis<Properties extends TProperties, Type extends TSchema, Result extends TSchema = TFromType<Properties, Type>> = Result;
18
15
  export declare function ExpandThis<Properties extends TProperties, Type extends TSchema>(properties: TProperties, type: Type): TExpandThis<Properties, Type>;
@@ -1,12 +1,9 @@
1
1
  // deno-fmt-ignore-file
2
2
  import { IsArray, _Array_ } from '../../types/array.mjs';
3
- import { IsAsyncIterator, AsyncIterator } from '../../types/async_iterator.mjs';
4
3
  import { IsConstructor, Constructor } from '../../types/constructor.mjs';
5
4
  import { IsFunction, _Function_ } from '../../types/function.mjs';
6
- import { IsIterator, Iterator } from '../../types/iterator.mjs';
7
5
  import { IsIntersect, Intersect } from '../../types/intersect.mjs';
8
6
  import { _Object_ } from '../../types/object.mjs';
9
- import { IsPromise, Promise } from '../../types/promise.mjs';
10
7
  import { IsTuple, Tuple } from '../../types/tuple.mjs';
11
8
  import { IsThis } from '../../types/this.mjs';
12
9
  import { IsUnion, Union } from '../../types/union.mjs';
@@ -15,16 +12,13 @@ function FromTypes(properties, types) {
15
12
  }
16
13
  export function FromType(properties, type) {
17
14
  return (IsArray(type) ? _Array_(FromType(properties, type.items)) :
18
- IsAsyncIterator(type) ? AsyncIterator(FromType(properties, type.iteratorItems)) :
19
- IsConstructor(type) ? Constructor(FromTypes(properties, type.parameters), FromType(properties, type.instanceType)) :
20
- IsFunction(type) ? _Function_(FromTypes(properties, type.parameters), FromType(properties, type.returnType)) :
21
- IsIterator(type) ? Iterator(FromType(properties, type.iteratorItems)) :
22
- IsPromise(type) ? Promise(FromType(properties, type.item)) :
23
- IsTuple(type) ? Tuple(FromTypes(properties, type.items)) :
24
- IsUnion(type) ? Union(FromTypes(properties, type.anyOf)) :
25
- IsIntersect(type) ? Intersect(FromTypes(properties, type.allOf)) :
26
- IsThis(type) ? _Object_(properties) :
27
- type);
15
+ IsConstructor(type) ? Constructor(FromTypes(properties, type.parameters), FromType(properties, type.instanceType)) :
16
+ IsFunction(type) ? _Function_(FromTypes(properties, type.parameters), FromType(properties, type.returnType)) :
17
+ IsTuple(type) ? Tuple(FromTypes(properties, type.items)) :
18
+ IsUnion(type) ? Union(FromTypes(properties, type.anyOf)) :
19
+ IsIntersect(type) ? Intersect(FromTypes(properties, type.allOf)) :
20
+ IsThis(type) ? _Object_(properties) :
21
+ type);
28
22
  }
29
23
  export function ExpandThis(properties, type) {
30
24
  const result = FromType(properties, type);
@@ -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, type TCanInstantiate } from '../instantiate.mjs';
4
+ import { type TWithDeferred, type TWith } from '../../action/with.mjs';
5
+ export type TWithAction<Type extends TSchema, Options extends TSchema, Result extends TSchema = TCanInstantiate<[Type]> extends true ? TWith<Type, Options> : TWithDeferred<Type, Options>> = Result;
6
+ export declare function WithAction<Type extends TSchema, Options extends TSchema>(type: Type, options: Options): TWithAction<Type, Options>;
7
+ export type TWithInstantiate<Context extends TProperties, State extends TState, Type extends TSchema, Options extends TSchema, InstantiatedType extends TSchema = TInstantiateType<Context, State, Type>> = TWithAction<InstantiatedType, Options>;
8
+ export declare function WithInstantiate<Context extends TProperties, State extends TState, Type extends TSchema, Options extends TSchema>(context: Context, state: State, type: Type, options: Options): TWithInstantiate<Context, State, Type, Options>;
@@ -1,14 +1,14 @@
1
1
  // deno-fmt-ignore-file
2
2
  import { Memory } from '../../../system/memory/index.mjs';
3
3
  import { InstantiateType, CanInstantiate } from '../instantiate.mjs';
4
- import { OptionsDeferred } from '../../action/options.mjs';
5
- export function OptionsAction(type, options) {
4
+ import { WithDeferred } from '../../action/with.mjs';
5
+ export function WithAction(type, options) {
6
6
  const result = CanInstantiate([type])
7
7
  ? Memory.Update(type, {}, options)
8
- : OptionsDeferred(type, options);
8
+ : WithDeferred(type, options);
9
9
  return result;
10
10
  }
11
- export function OptionsInstantiate(context, state, type, options) {
11
+ export function WithInstantiate(context, state, type, options) {
12
12
  const instaniatedType = InstantiateType(context, state, type);
13
- return OptionsAction(instaniatedType, options);
13
+ return WithAction(instaniatedType, options);
14
14
  }
@@ -0,0 +1,6 @@
1
+ import { type TProperties } from '../types/properties.mjs';
2
+ import { type TSchema } from '../types/schema.mjs';
3
+ import { type TExtendsLeft } from './extends_left.mjs';
4
+ import * as Result from './result.mjs';
5
+ export type TExtendsDependent<Inferred extends TProperties, If extends TSchema, Then extends TSchema, Else extends TSchema, Right extends TSchema> = (TExtendsLeft<Inferred, If, Right> extends Result.TExtendsTrueLike<infer Inferred extends TProperties> ? TExtendsLeft<Inferred, Then, Right> : TExtendsLeft<Inferred, Else, Right>);
6
+ export declare function ExtendsDependent<Inferred extends TProperties, If extends TSchema, Then extends TSchema, Else extends TSchema, Right extends TSchema>(inferred: Inferred, if_: If, then_: Then, else_: Else, right: Right): TExtendsDependent<Inferred, If, Then, Else, Right>;
@@ -0,0 +1,6 @@
1
+ // deno-fmt-ignore-file
2
+ import { ExtendsLeft } from './extends_left.mjs';
3
+ import * as Result from './result.mjs';
4
+ export function ExtendsDependent(inferred, if_, then_, else_, right) {
5
+ return Result.Match(ExtendsLeft(inferred, if_, right), () => ExtendsLeft(inferred, then_, right), () => ExtendsLeft(inferred, else_, right));
6
+ }
@@ -1,7 +1,7 @@
1
1
  import { type TSchema } from '../types/schema.mjs';
2
2
  import { type TProperties } from '../types/properties.mjs';
3
- import { type TEnum } from '../types/enum.mjs';
3
+ import { type TEnumValue } from '../types/enum.mjs';
4
4
  import { type TExtendsLeft } from './extends_left.mjs';
5
- import { type TEnumToUnion } from '../engine/enum/index.mjs';
6
- export type TExtendsEnum<Inferred extends TProperties, Left extends TEnum, Right extends TSchema> = (TExtendsLeft<Inferred, TEnumToUnion<Left>, Right>);
7
- export declare function ExtendsEnum<Inferred extends TProperties, Left extends TEnum, Right extends TSchema>(inferred: Inferred, left: Left, right: Right): TExtendsEnum<Inferred, Left, Right>;
5
+ import { type TEvaluateEnum } from '../engine/evaluate/evaluate.mjs';
6
+ export type TExtendsEnum<Inferred extends TProperties, Left extends TEnumValue[], Right extends TSchema, Evaluated extends TSchema = TEvaluateEnum<Left>> = TExtendsLeft<Inferred, Evaluated, Right>;
7
+ export declare function ExtendsEnum<Inferred extends TProperties, Left extends TEnumValue[], Right extends TSchema>(inferred: Inferred, left: Left, right: Right): TExtendsEnum<Inferred, Left, Right>;
@@ -1,6 +1,7 @@
1
1
  // deno-fmt-ignore-file
2
2
  import { ExtendsLeft } from './extends_left.mjs';
3
- import { EnumToUnion } from '../engine/enum/index.mjs';
3
+ import { EvaluateEnum } from '../engine/evaluate/evaluate.mjs';
4
4
  export function ExtendsEnum(inferred, left, right) {
5
- return ExtendsLeft(inferred, EnumToUnion(left), right);
5
+ const evaluated = EvaluateEnum(left);
6
+ return ExtendsLeft(inferred, evaluated, right);
6
7
  }