@sinclair/typebox 0.32.0-dev-5 → 0.32.0-dev-7

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 (617) hide show
  1. package/build/import/compiler/compiler.d.mts +41 -0
  2. package/build/import/compiler/index.d.mts +2 -0
  3. package/build/import/errors/errors.d.mts +86 -0
  4. package/build/import/errors/index.d.mts +1 -0
  5. package/build/import/index.d.mts +68 -0
  6. package/build/import/index.mjs +1 -4
  7. package/build/import/system/errors.d.mts +9 -0
  8. package/build/import/system/index.d.mts +4 -0
  9. package/build/import/system/system.d.mts +10 -0
  10. package/build/import/type/any/any.d.mts +7 -0
  11. package/build/import/type/any/index.d.mts +1 -0
  12. package/build/import/type/array/array.d.mts +18 -0
  13. package/build/import/type/array/index.d.mts +1 -0
  14. package/build/import/type/async-iterator/async-iterator.d.mts +10 -0
  15. package/build/import/type/async-iterator/index.d.mts +1 -0
  16. package/build/import/type/awaited/awaited.d.mts +11 -0
  17. package/build/import/type/awaited/index.d.mts +1 -0
  18. package/build/import/type/bigint/bigint.d.mts +15 -0
  19. package/build/import/type/bigint/index.d.mts +1 -0
  20. package/build/import/type/boolean/boolean.d.mts +8 -0
  21. package/build/import/type/boolean/index.d.mts +1 -0
  22. package/build/import/type/clone/index.d.mts +2 -0
  23. package/build/import/type/clone/type.d.mts +3 -0
  24. package/build/import/type/composite/composite.d.mts +14 -0
  25. package/build/import/type/composite/index.d.mts +1 -0
  26. package/build/import/type/const/const.d.mts +29 -0
  27. package/build/import/type/const/index.d.mts +1 -0
  28. package/build/import/type/constructor/constructor.d.mts +16 -0
  29. package/build/import/type/constructor/index.d.mts +1 -0
  30. package/build/import/type/constructor-parameters/constructor-parameters.d.mts +6 -0
  31. package/build/import/type/constructor-parameters/index.d.mts +1 -0
  32. package/build/import/type/date/date.d.mts +15 -0
  33. package/build/import/type/date/index.d.mts +1 -0
  34. package/build/import/type/deref/deref.d.mts +23 -0
  35. package/build/import/type/deref/index.d.mts +1 -0
  36. package/build/import/type/discard/index.d.mts +1 -0
  37. package/build/import/type/enum/enum.d.mts +13 -0
  38. package/build/import/type/enum/index.d.mts +1 -0
  39. package/build/import/type/exclude/exclude.d.mts +20 -0
  40. package/build/import/type/exclude/index.d.mts +1 -0
  41. package/build/import/type/extends/extends-check.d.mts +9 -0
  42. package/build/import/type/extends/extends-undefined.d.mts +2 -0
  43. package/build/import/type/extends/extends.d.mts +8 -0
  44. package/build/import/type/extends/index.d.mts +3 -0
  45. package/build/import/type/extract/extract.d.mts +19 -0
  46. package/build/import/type/extract/index.d.mts +1 -0
  47. package/build/import/type/function/function.d.mts +16 -0
  48. package/build/import/type/function/index.d.mts +1 -0
  49. package/build/import/type/guard/index.d.mts +2 -0
  50. package/build/import/type/guard/type.d.mts +88 -0
  51. package/build/import/type/helpers/helpers.d.mts +41 -0
  52. package/build/import/type/helpers/index.d.mts +1 -0
  53. package/build/import/type/index.d.mts +70 -0
  54. package/build/import/type/indexed/index.d.mts +3 -0
  55. package/build/import/type/indexed/indexed-key.d.mts +16 -0
  56. package/build/import/type/indexed/indexed-type.d.mts +33 -0
  57. package/build/import/type/indexed/indexed.d.mts +6 -0
  58. package/build/import/type/instance-type/index.d.mts +1 -0
  59. package/build/import/type/instance-type/instance-type.d.mts +4 -0
  60. package/build/import/type/integer/index.d.mts +1 -0
  61. package/build/import/type/integer/integer.d.mts +15 -0
  62. package/build/import/type/intersect/index.d.mts +1 -0
  63. package/build/import/type/intersect/intersect.d.mts +21 -0
  64. package/build/import/type/intrinsic/index.d.mts +1 -0
  65. package/build/import/type/intrinsic/intrinsic.d.mts +22 -0
  66. package/build/import/type/iterator/index.d.mts +1 -0
  67. package/build/import/type/iterator/iterator.d.mts +10 -0
  68. package/build/import/type/keyof/index.d.mts +3 -0
  69. package/build/import/type/keyof/keyof-string.d.mts +28 -0
  70. package/build/import/type/keyof/keyof-type.d.mts +11 -0
  71. package/build/import/type/keyof/keyof.d.mts +4 -0
  72. package/build/import/type/literal/index.d.mts +1 -0
  73. package/build/import/type/literal/literal.d.mts +9 -0
  74. package/build/import/type/mapped/index.d.mts +1 -0
  75. package/build/import/type/mapped/mapped.d.mts +24 -0
  76. package/build/import/type/modifiers/index.d.mts +1 -0
  77. package/build/import/type/modifiers/modifiers.d.mts +18 -0
  78. package/build/import/type/never/index.d.mts +1 -0
  79. package/build/import/type/never/never.d.mts +8 -0
  80. package/build/import/type/not/index.d.mts +1 -0
  81. package/build/import/type/not/not.d.mts +9 -0
  82. package/build/import/type/null/index.d.mts +1 -0
  83. package/build/import/type/null/null.d.mts +8 -0
  84. package/build/import/type/number/index.d.mts +1 -0
  85. package/build/import/type/number/number.d.mts +15 -0
  86. package/build/import/type/object/index.d.mts +1 -0
  87. package/build/import/type/object/object.d.mts +39 -0
  88. package/build/import/type/omit/index.d.mts +1 -0
  89. package/build/import/type/omit/omit.d.mts +19 -0
  90. package/build/import/type/operators/index.d.mts +1 -0
  91. package/build/import/type/optional/index.d.mts +1 -0
  92. package/build/import/type/optional/optional.d.mts +6 -0
  93. package/build/import/type/parameters/index.d.mts +1 -0
  94. package/build/import/type/parameters/parameters.d.mts +6 -0
  95. package/build/import/type/partial/index.d.mts +1 -0
  96. package/build/import/type/partial/partial.d.mts +22 -0
  97. package/build/import/type/patterns/index.d.mts +1 -0
  98. package/build/import/type/pick/index.d.mts +1 -0
  99. package/build/import/type/pick/pick.d.mts +19 -0
  100. package/build/import/type/promise/index.d.mts +1 -0
  101. package/build/import/type/promise/promise.d.mts +10 -0
  102. package/build/import/type/readonly/index.d.mts +1 -0
  103. package/build/import/type/readonly/readonly.d.mts +6 -0
  104. package/build/import/type/readonly-optional/index.d.mts +1 -0
  105. package/build/import/type/readonly-optional/readonly-optional.d.mts +5 -0
  106. package/build/import/type/record/index.d.mts +1 -0
  107. package/build/import/type/record/record.d.mts +54 -0
  108. package/build/import/type/recursive/index.d.mts +1 -0
  109. package/build/import/type/recursive/recursive.d.mts +14 -0
  110. package/build/import/type/ref/index.d.mts +1 -0
  111. package/build/import/type/ref/ref.d.mts +10 -0
  112. package/build/import/type/regexp/index.d.mts +1 -0
  113. package/build/import/type/regexp/regexp.d.mts +5 -0
  114. package/build/import/type/registry/index.d.mts +2 -0
  115. package/build/import/type/required/index.d.mts +1 -0
  116. package/build/import/type/required/required.d.mts +22 -0
  117. package/build/import/type/rest/index.d.mts +1 -0
  118. package/build/import/type/rest/rest.d.mts +9 -0
  119. package/build/import/type/return-type/index.d.mts +1 -0
  120. package/build/import/type/return-type/return-type.d.mts +4 -0
  121. package/build/import/type/schema/anyschema.d.mts +32 -0
  122. package/build/import/type/schema/index.d.mts +2 -0
  123. package/build/import/type/schema/schema.d.mts +22 -0
  124. package/build/import/type/static/index.d.mts +1 -0
  125. package/build/import/type/static/static.d.mts +31 -0
  126. package/build/import/type/strict/index.d.mts +1 -0
  127. package/build/import/type/strict/strict.d.mts +2 -0
  128. package/build/import/type/string/index.d.mts +1 -0
  129. package/build/import/type/string/string.d.mts +18 -0
  130. package/build/import/type/symbol/index.d.mts +1 -0
  131. package/build/import/type/symbol/symbol.d.mts +9 -0
  132. package/build/import/type/symbols/index.d.mts +1 -0
  133. package/build/import/type/template-literal/finite.d.mts +16 -0
  134. package/build/import/type/template-literal/generate.d.mts +15 -0
  135. package/build/import/type/template-literal/index.d.mts +7 -0
  136. package/build/import/type/template-literal/pattern.d.mts +4 -0
  137. package/build/import/type/template-literal/syntax.d.mts +19 -0
  138. package/build/import/type/template-literal/template-literal.d.mts +28 -0
  139. package/build/import/type/template-literal/union.d.mts +6 -0
  140. package/build/import/type/transform/index.d.mts +1 -0
  141. package/build/import/type/transform/transform.d.mts +28 -0
  142. package/build/import/type/tuple/index.d.mts +1 -0
  143. package/build/import/type/tuple/tuple.d.mts +14 -0
  144. package/build/import/type/type/index.d.mts +5 -0
  145. package/build/import/type/type/javascript.d.mts +39 -0
  146. package/build/import/type/type/json.d.mts +90 -0
  147. package/build/import/type/type/type.d.mts +58 -0
  148. package/build/import/type/uint8array/index.d.mts +1 -0
  149. package/build/import/type/uint8array/uint8array.d.mts +12 -0
  150. package/build/import/type/undefined/index.d.mts +1 -0
  151. package/build/import/type/undefined/undefined.d.mts +8 -0
  152. package/build/import/type/union/index.d.mts +1 -0
  153. package/build/import/type/union/union.d.mts +15 -0
  154. package/build/import/type/unknown/index.d.mts +1 -0
  155. package/build/import/type/unknown/unknown.d.mts +7 -0
  156. package/build/import/type/unsafe/index.d.mts +1 -0
  157. package/build/import/type/unsafe/unsafe.d.mts +10 -0
  158. package/build/import/type/void/index.d.mts +1 -0
  159. package/build/import/type/void/void.d.mts +8 -0
  160. package/build/import/value/cast/cast.d.mts +21 -0
  161. package/build/import/value/cast/index.d.mts +1 -0
  162. package/build/import/value/check/check.d.mts +8 -0
  163. package/build/import/value/check/index.d.mts +1 -0
  164. package/build/import/value/clean/clean.d.mts +3 -0
  165. package/build/import/value/clean/index.d.mts +1 -0
  166. package/build/import/value/clone/index.d.mts +1 -0
  167. package/build/import/value/convert/convert.d.mts +7 -0
  168. package/build/import/value/convert/index.d.mts +1 -0
  169. package/build/import/value/create/create.d.mts +29 -0
  170. package/build/import/value/create/index.d.mts +1 -0
  171. package/build/import/value/default/default.d.mts +3 -0
  172. package/build/import/value/default/index.d.mts +1 -0
  173. package/build/import/value/delta/delta.d.mts +41 -0
  174. package/build/import/value/delta/index.d.mts +1 -0
  175. package/build/import/value/deref/deref.d.mts +8 -0
  176. package/build/import/value/deref/index.d.mts +1 -0
  177. package/build/import/value/equal/index.d.mts +1 -0
  178. package/build/import/value/guard/index.d.mts +1 -0
  179. package/build/import/value/hash/index.d.mts +1 -0
  180. package/build/import/value/index.d.mts +16 -0
  181. package/build/import/value/index.mjs +1 -3
  182. package/build/import/value/mutate/index.d.mts +1 -0
  183. package/build/import/value/pointer/index.d.mts +1 -0
  184. package/build/import/value/transform/decode.d.mts +14 -0
  185. package/build/import/value/transform/encode.d.mts +14 -0
  186. package/build/import/value/transform/has.d.mts +2 -0
  187. package/build/import/value/transform/index.d.mts +3 -0
  188. package/build/import/value/value/index.d.mts +1 -0
  189. package/build/import/value/value/value.d.mts +29 -0
  190. package/build/{types → require}/index.d.ts +1 -4
  191. package/build/{default → require}/index.js +2 -4
  192. package/build/require/system/policy.d.ts +11 -0
  193. package/build/require/type/clone/value.d.ts +1 -0
  194. package/build/require/type/discard/discard.d.ts +1 -0
  195. package/build/require/type/guard/value.d.ts +14 -0
  196. package/build/require/type/operators/operators.d.ts +16 -0
  197. package/build/require/type/patterns/patterns.d.ts +6 -0
  198. package/build/require/type/registry/format.d.ts +7 -0
  199. package/build/require/type/registry/type.d.ts +7 -0
  200. package/build/require/type/symbols/symbols.d.ts +5 -0
  201. package/build/require/type/template-literal/parser.d.ts +17 -0
  202. package/build/require/value/clone/clone.d.ts +1 -0
  203. package/build/require/value/equal/equal.d.ts +1 -0
  204. package/build/require/value/guard/guard.d.ts +24 -0
  205. package/build/require/value/hash/hash.d.ts +5 -0
  206. package/build/{types → require}/value/index.d.ts +1 -3
  207. package/build/{default → require}/value/index.js +1 -2
  208. package/build/require/value/mutate/mutate.d.ts +10 -0
  209. package/build/require/value/pointer/pointer.d.ts +16 -0
  210. package/compiler/package.json +2 -2
  211. package/errors/package.json +2 -2
  212. package/package.json +51 -22
  213. package/system/package.json +2 -2
  214. package/type/package.json +2 -2
  215. package/value/package.json +2 -2
  216. /package/build/{types/system/policy.d.ts → import/system/policy.d.mts} +0 -0
  217. /package/build/{types/type/clone/value.d.ts → import/type/clone/value.d.mts} +0 -0
  218. /package/build/{types/type/discard/discard.d.ts → import/type/discard/discard.d.mts} +0 -0
  219. /package/build/{types/type/guard/value.d.ts → import/type/guard/value.d.mts} +0 -0
  220. /package/build/{types/type/operators/operators.d.ts → import/type/operators/operators.d.mts} +0 -0
  221. /package/build/{types/type/patterns/patterns.d.ts → import/type/patterns/patterns.d.mts} +0 -0
  222. /package/build/{types/type/registry/format.d.ts → import/type/registry/format.d.mts} +0 -0
  223. /package/build/{types/type/registry/type.d.ts → import/type/registry/type.d.mts} +0 -0
  224. /package/build/{types/type/symbols/symbols.d.ts → import/type/symbols/symbols.d.mts} +0 -0
  225. /package/build/{types/type/template-literal/parser.d.ts → import/type/template-literal/parser.d.mts} +0 -0
  226. /package/build/{types/value/clone/clone.d.ts → import/value/clone/clone.d.mts} +0 -0
  227. /package/build/{types/value/equal/equal.d.ts → import/value/equal/equal.d.mts} +0 -0
  228. /package/build/{types/value/guard/guard.d.ts → import/value/guard/guard.d.mts} +0 -0
  229. /package/build/{types/value/hash/hash.d.ts → import/value/hash/hash.d.mts} +0 -0
  230. /package/build/{types/value/mutate/mutate.d.ts → import/value/mutate/mutate.d.mts} +0 -0
  231. /package/build/{types/value/pointer/pointer.d.ts → import/value/pointer/pointer.d.mts} +0 -0
  232. /package/build/{types → require}/compiler/compiler.d.ts +0 -0
  233. /package/build/{default → require}/compiler/compiler.js +0 -0
  234. /package/build/{types → require}/compiler/index.d.ts +0 -0
  235. /package/build/{default → require}/compiler/index.js +0 -0
  236. /package/build/{types → require}/errors/errors.d.ts +0 -0
  237. /package/build/{default → require}/errors/errors.js +0 -0
  238. /package/build/{types → require}/errors/index.d.ts +0 -0
  239. /package/build/{default → require}/errors/index.js +0 -0
  240. /package/build/{types → require}/system/errors.d.ts +0 -0
  241. /package/build/{default → require}/system/errors.js +0 -0
  242. /package/build/{types → require}/system/index.d.ts +0 -0
  243. /package/build/{default → require}/system/index.js +0 -0
  244. /package/build/{default → require}/system/policy.js +0 -0
  245. /package/build/{types → require}/system/system.d.ts +0 -0
  246. /package/build/{default → require}/system/system.js +0 -0
  247. /package/build/{types → require}/type/any/any.d.ts +0 -0
  248. /package/build/{default → require}/type/any/any.js +0 -0
  249. /package/build/{types → require}/type/any/index.d.ts +0 -0
  250. /package/build/{default → require}/type/any/index.js +0 -0
  251. /package/build/{types → require}/type/array/array.d.ts +0 -0
  252. /package/build/{default → require}/type/array/array.js +0 -0
  253. /package/build/{types → require}/type/array/index.d.ts +0 -0
  254. /package/build/{default → require}/type/array/index.js +0 -0
  255. /package/build/{types → require}/type/async-iterator/async-iterator.d.ts +0 -0
  256. /package/build/{default → require}/type/async-iterator/async-iterator.js +0 -0
  257. /package/build/{types → require}/type/async-iterator/index.d.ts +0 -0
  258. /package/build/{default → require}/type/async-iterator/index.js +0 -0
  259. /package/build/{types → require}/type/awaited/awaited.d.ts +0 -0
  260. /package/build/{default → require}/type/awaited/awaited.js +0 -0
  261. /package/build/{types → require}/type/awaited/index.d.ts +0 -0
  262. /package/build/{default → require}/type/awaited/index.js +0 -0
  263. /package/build/{types → require}/type/bigint/bigint.d.ts +0 -0
  264. /package/build/{default → require}/type/bigint/bigint.js +0 -0
  265. /package/build/{types → require}/type/bigint/index.d.ts +0 -0
  266. /package/build/{default → require}/type/bigint/index.js +0 -0
  267. /package/build/{types → require}/type/boolean/boolean.d.ts +0 -0
  268. /package/build/{default → require}/type/boolean/boolean.js +0 -0
  269. /package/build/{types → require}/type/boolean/index.d.ts +0 -0
  270. /package/build/{default → require}/type/boolean/index.js +0 -0
  271. /package/build/{types → require}/type/clone/index.d.ts +0 -0
  272. /package/build/{default → require}/type/clone/index.js +0 -0
  273. /package/build/{types → require}/type/clone/type.d.ts +0 -0
  274. /package/build/{default → require}/type/clone/type.js +0 -0
  275. /package/build/{default → require}/type/clone/value.js +0 -0
  276. /package/build/{types → require}/type/composite/composite.d.ts +0 -0
  277. /package/build/{default → require}/type/composite/composite.js +0 -0
  278. /package/build/{types → require}/type/composite/index.d.ts +0 -0
  279. /package/build/{default → require}/type/composite/index.js +0 -0
  280. /package/build/{types → require}/type/const/const.d.ts +0 -0
  281. /package/build/{default → require}/type/const/const.js +0 -0
  282. /package/build/{types → require}/type/const/index.d.ts +0 -0
  283. /package/build/{default → require}/type/const/index.js +0 -0
  284. /package/build/{types → require}/type/constructor/constructor.d.ts +0 -0
  285. /package/build/{default → require}/type/constructor/constructor.js +0 -0
  286. /package/build/{types → require}/type/constructor/index.d.ts +0 -0
  287. /package/build/{default → require}/type/constructor/index.js +0 -0
  288. /package/build/{types → require}/type/constructor-parameters/constructor-parameters.d.ts +0 -0
  289. /package/build/{default → require}/type/constructor-parameters/constructor-parameters.js +0 -0
  290. /package/build/{types → require}/type/constructor-parameters/index.d.ts +0 -0
  291. /package/build/{default → require}/type/constructor-parameters/index.js +0 -0
  292. /package/build/{types → require}/type/date/date.d.ts +0 -0
  293. /package/build/{default → require}/type/date/date.js +0 -0
  294. /package/build/{types → require}/type/date/index.d.ts +0 -0
  295. /package/build/{default → require}/type/date/index.js +0 -0
  296. /package/build/{types → require}/type/deref/deref.d.ts +0 -0
  297. /package/build/{default → require}/type/deref/deref.js +0 -0
  298. /package/build/{types → require}/type/deref/index.d.ts +0 -0
  299. /package/build/{default → require}/type/deref/index.js +0 -0
  300. /package/build/{default → require}/type/discard/discard.js +0 -0
  301. /package/build/{types → require}/type/discard/index.d.ts +0 -0
  302. /package/build/{default → require}/type/discard/index.js +0 -0
  303. /package/build/{types → require}/type/enum/enum.d.ts +0 -0
  304. /package/build/{default → require}/type/enum/enum.js +0 -0
  305. /package/build/{types → require}/type/enum/index.d.ts +0 -0
  306. /package/build/{default → require}/type/enum/index.js +0 -0
  307. /package/build/{types → require}/type/exclude/exclude.d.ts +0 -0
  308. /package/build/{default → require}/type/exclude/exclude.js +0 -0
  309. /package/build/{types → require}/type/exclude/index.d.ts +0 -0
  310. /package/build/{default → require}/type/exclude/index.js +0 -0
  311. /package/build/{types → require}/type/extends/extends-check.d.ts +0 -0
  312. /package/build/{default → require}/type/extends/extends-check.js +0 -0
  313. /package/build/{types → require}/type/extends/extends-undefined.d.ts +0 -0
  314. /package/build/{default → require}/type/extends/extends-undefined.js +0 -0
  315. /package/build/{types → require}/type/extends/extends.d.ts +0 -0
  316. /package/build/{default → require}/type/extends/extends.js +0 -0
  317. /package/build/{types → require}/type/extends/index.d.ts +0 -0
  318. /package/build/{default → require}/type/extends/index.js +0 -0
  319. /package/build/{types → require}/type/extract/extract.d.ts +0 -0
  320. /package/build/{default → require}/type/extract/extract.js +0 -0
  321. /package/build/{types → require}/type/extract/index.d.ts +0 -0
  322. /package/build/{default → require}/type/extract/index.js +0 -0
  323. /package/build/{types → require}/type/function/function.d.ts +0 -0
  324. /package/build/{default → require}/type/function/function.js +0 -0
  325. /package/build/{types → require}/type/function/index.d.ts +0 -0
  326. /package/build/{default → require}/type/function/index.js +0 -0
  327. /package/build/{types → require}/type/guard/index.d.ts +0 -0
  328. /package/build/{default → require}/type/guard/index.js +0 -0
  329. /package/build/{types → require}/type/guard/type.d.ts +0 -0
  330. /package/build/{default → require}/type/guard/type.js +0 -0
  331. /package/build/{default → require}/type/guard/value.js +0 -0
  332. /package/build/{types → require}/type/helpers/helpers.d.ts +0 -0
  333. /package/build/{default → require}/type/helpers/helpers.js +0 -0
  334. /package/build/{types → require}/type/helpers/index.d.ts +0 -0
  335. /package/build/{default → require}/type/helpers/index.js +0 -0
  336. /package/build/{types → require}/type/index.d.ts +0 -0
  337. /package/build/{default → require}/type/index.js +0 -0
  338. /package/build/{types → require}/type/indexed/index.d.ts +0 -0
  339. /package/build/{default → require}/type/indexed/index.js +0 -0
  340. /package/build/{types → require}/type/indexed/indexed-key.d.ts +0 -0
  341. /package/build/{default → require}/type/indexed/indexed-key.js +0 -0
  342. /package/build/{types → require}/type/indexed/indexed-type.d.ts +0 -0
  343. /package/build/{default → require}/type/indexed/indexed-type.js +0 -0
  344. /package/build/{types → require}/type/indexed/indexed.d.ts +0 -0
  345. /package/build/{default → require}/type/indexed/indexed.js +0 -0
  346. /package/build/{types → require}/type/instance-type/index.d.ts +0 -0
  347. /package/build/{default → require}/type/instance-type/index.js +0 -0
  348. /package/build/{types → require}/type/instance-type/instance-type.d.ts +0 -0
  349. /package/build/{default → require}/type/instance-type/instance-type.js +0 -0
  350. /package/build/{types → require}/type/integer/index.d.ts +0 -0
  351. /package/build/{default → require}/type/integer/index.js +0 -0
  352. /package/build/{types → require}/type/integer/integer.d.ts +0 -0
  353. /package/build/{default → require}/type/integer/integer.js +0 -0
  354. /package/build/{types → require}/type/intersect/index.d.ts +0 -0
  355. /package/build/{default → require}/type/intersect/index.js +0 -0
  356. /package/build/{types → require}/type/intersect/intersect.d.ts +0 -0
  357. /package/build/{default → require}/type/intersect/intersect.js +0 -0
  358. /package/build/{types → require}/type/intrinsic/index.d.ts +0 -0
  359. /package/build/{default → require}/type/intrinsic/index.js +0 -0
  360. /package/build/{types → require}/type/intrinsic/intrinsic.d.ts +0 -0
  361. /package/build/{default → require}/type/intrinsic/intrinsic.js +0 -0
  362. /package/build/{types → require}/type/iterator/index.d.ts +0 -0
  363. /package/build/{default → require}/type/iterator/index.js +0 -0
  364. /package/build/{types → require}/type/iterator/iterator.d.ts +0 -0
  365. /package/build/{default → require}/type/iterator/iterator.js +0 -0
  366. /package/build/{types → require}/type/keyof/index.d.ts +0 -0
  367. /package/build/{default → require}/type/keyof/index.js +0 -0
  368. /package/build/{types → require}/type/keyof/keyof-string.d.ts +0 -0
  369. /package/build/{default → require}/type/keyof/keyof-string.js +0 -0
  370. /package/build/{types → require}/type/keyof/keyof-type.d.ts +0 -0
  371. /package/build/{default → require}/type/keyof/keyof-type.js +0 -0
  372. /package/build/{types → require}/type/keyof/keyof.d.ts +0 -0
  373. /package/build/{default → require}/type/keyof/keyof.js +0 -0
  374. /package/build/{types → require}/type/literal/index.d.ts +0 -0
  375. /package/build/{default → require}/type/literal/index.js +0 -0
  376. /package/build/{types → require}/type/literal/literal.d.ts +0 -0
  377. /package/build/{default → require}/type/literal/literal.js +0 -0
  378. /package/build/{types → require}/type/mapped/index.d.ts +0 -0
  379. /package/build/{default → require}/type/mapped/index.js +0 -0
  380. /package/build/{types → require}/type/mapped/mapped.d.ts +0 -0
  381. /package/build/{default → require}/type/mapped/mapped.js +0 -0
  382. /package/build/{types → require}/type/modifiers/index.d.ts +0 -0
  383. /package/build/{default → require}/type/modifiers/index.js +0 -0
  384. /package/build/{types → require}/type/modifiers/modifiers.d.ts +0 -0
  385. /package/build/{default → require}/type/modifiers/modifiers.js +0 -0
  386. /package/build/{types → require}/type/never/index.d.ts +0 -0
  387. /package/build/{default → require}/type/never/index.js +0 -0
  388. /package/build/{types → require}/type/never/never.d.ts +0 -0
  389. /package/build/{default → require}/type/never/never.js +0 -0
  390. /package/build/{types → require}/type/not/index.d.ts +0 -0
  391. /package/build/{default → require}/type/not/index.js +0 -0
  392. /package/build/{types → require}/type/not/not.d.ts +0 -0
  393. /package/build/{default → require}/type/not/not.js +0 -0
  394. /package/build/{types → require}/type/null/index.d.ts +0 -0
  395. /package/build/{default → require}/type/null/index.js +0 -0
  396. /package/build/{types → require}/type/null/null.d.ts +0 -0
  397. /package/build/{default → require}/type/null/null.js +0 -0
  398. /package/build/{types → require}/type/number/index.d.ts +0 -0
  399. /package/build/{default → require}/type/number/index.js +0 -0
  400. /package/build/{types → require}/type/number/number.d.ts +0 -0
  401. /package/build/{default → require}/type/number/number.js +0 -0
  402. /package/build/{types → require}/type/object/index.d.ts +0 -0
  403. /package/build/{default → require}/type/object/index.js +0 -0
  404. /package/build/{types → require}/type/object/object.d.ts +0 -0
  405. /package/build/{default → require}/type/object/object.js +0 -0
  406. /package/build/{types → require}/type/omit/index.d.ts +0 -0
  407. /package/build/{default → require}/type/omit/index.js +0 -0
  408. /package/build/{types → require}/type/omit/omit.d.ts +0 -0
  409. /package/build/{default → require}/type/omit/omit.js +0 -0
  410. /package/build/{types → require}/type/operators/index.d.ts +0 -0
  411. /package/build/{default → require}/type/operators/index.js +0 -0
  412. /package/build/{default → require}/type/operators/operators.js +0 -0
  413. /package/build/{types → require}/type/optional/index.d.ts +0 -0
  414. /package/build/{default → require}/type/optional/index.js +0 -0
  415. /package/build/{types → require}/type/optional/optional.d.ts +0 -0
  416. /package/build/{default → require}/type/optional/optional.js +0 -0
  417. /package/build/{types → require}/type/parameters/index.d.ts +0 -0
  418. /package/build/{default → require}/type/parameters/index.js +0 -0
  419. /package/build/{types → require}/type/parameters/parameters.d.ts +0 -0
  420. /package/build/{default → require}/type/parameters/parameters.js +0 -0
  421. /package/build/{types → require}/type/partial/index.d.ts +0 -0
  422. /package/build/{default → require}/type/partial/index.js +0 -0
  423. /package/build/{types → require}/type/partial/partial.d.ts +0 -0
  424. /package/build/{default → require}/type/partial/partial.js +0 -0
  425. /package/build/{types → require}/type/patterns/index.d.ts +0 -0
  426. /package/build/{default → require}/type/patterns/index.js +0 -0
  427. /package/build/{default → require}/type/patterns/patterns.js +0 -0
  428. /package/build/{types → require}/type/pick/index.d.ts +0 -0
  429. /package/build/{default → require}/type/pick/index.js +0 -0
  430. /package/build/{types → require}/type/pick/pick.d.ts +0 -0
  431. /package/build/{default → require}/type/pick/pick.js +0 -0
  432. /package/build/{types → require}/type/promise/index.d.ts +0 -0
  433. /package/build/{default → require}/type/promise/index.js +0 -0
  434. /package/build/{types → require}/type/promise/promise.d.ts +0 -0
  435. /package/build/{default → require}/type/promise/promise.js +0 -0
  436. /package/build/{types → require}/type/readonly/index.d.ts +0 -0
  437. /package/build/{default → require}/type/readonly/index.js +0 -0
  438. /package/build/{types → require}/type/readonly/readonly.d.ts +0 -0
  439. /package/build/{default → require}/type/readonly/readonly.js +0 -0
  440. /package/build/{types → require}/type/readonly-optional/index.d.ts +0 -0
  441. /package/build/{default → require}/type/readonly-optional/index.js +0 -0
  442. /package/build/{types → require}/type/readonly-optional/readonly-optional.d.ts +0 -0
  443. /package/build/{default → require}/type/readonly-optional/readonly-optional.js +0 -0
  444. /package/build/{types → require}/type/record/index.d.ts +0 -0
  445. /package/build/{default → require}/type/record/index.js +0 -0
  446. /package/build/{types → require}/type/record/record.d.ts +0 -0
  447. /package/build/{default → require}/type/record/record.js +0 -0
  448. /package/build/{types → require}/type/recursive/index.d.ts +0 -0
  449. /package/build/{default → require}/type/recursive/index.js +0 -0
  450. /package/build/{types → require}/type/recursive/recursive.d.ts +0 -0
  451. /package/build/{default → require}/type/recursive/recursive.js +0 -0
  452. /package/build/{types → require}/type/ref/index.d.ts +0 -0
  453. /package/build/{default → require}/type/ref/index.js +0 -0
  454. /package/build/{types → require}/type/ref/ref.d.ts +0 -0
  455. /package/build/{default → require}/type/ref/ref.js +0 -0
  456. /package/build/{types → require}/type/regexp/index.d.ts +0 -0
  457. /package/build/{default → require}/type/regexp/index.js +0 -0
  458. /package/build/{types → require}/type/regexp/regexp.d.ts +0 -0
  459. /package/build/{default → require}/type/regexp/regexp.js +0 -0
  460. /package/build/{default → require}/type/registry/format.js +0 -0
  461. /package/build/{types → require}/type/registry/index.d.ts +0 -0
  462. /package/build/{default → require}/type/registry/index.js +0 -0
  463. /package/build/{default → require}/type/registry/type.js +0 -0
  464. /package/build/{types → require}/type/required/index.d.ts +0 -0
  465. /package/build/{default → require}/type/required/index.js +0 -0
  466. /package/build/{types → require}/type/required/required.d.ts +0 -0
  467. /package/build/{default → require}/type/required/required.js +0 -0
  468. /package/build/{types → require}/type/rest/index.d.ts +0 -0
  469. /package/build/{default → require}/type/rest/index.js +0 -0
  470. /package/build/{types → require}/type/rest/rest.d.ts +0 -0
  471. /package/build/{default → require}/type/rest/rest.js +0 -0
  472. /package/build/{types → require}/type/return-type/index.d.ts +0 -0
  473. /package/build/{default → require}/type/return-type/index.js +0 -0
  474. /package/build/{types → require}/type/return-type/return-type.d.ts +0 -0
  475. /package/build/{default → require}/type/return-type/return-type.js +0 -0
  476. /package/build/{types → require}/type/schema/anyschema.d.ts +0 -0
  477. /package/build/{default → require}/type/schema/anyschema.js +0 -0
  478. /package/build/{types → require}/type/schema/index.d.ts +0 -0
  479. /package/build/{default → require}/type/schema/index.js +0 -0
  480. /package/build/{types → require}/type/schema/schema.d.ts +0 -0
  481. /package/build/{default → require}/type/schema/schema.js +0 -0
  482. /package/build/{types → require}/type/static/index.d.ts +0 -0
  483. /package/build/{default → require}/type/static/index.js +0 -0
  484. /package/build/{types → require}/type/static/static.d.ts +0 -0
  485. /package/build/{default → require}/type/static/static.js +0 -0
  486. /package/build/{types → require}/type/strict/index.d.ts +0 -0
  487. /package/build/{default → require}/type/strict/index.js +0 -0
  488. /package/build/{types → require}/type/strict/strict.d.ts +0 -0
  489. /package/build/{default → require}/type/strict/strict.js +0 -0
  490. /package/build/{types → require}/type/string/index.d.ts +0 -0
  491. /package/build/{default → require}/type/string/index.js +0 -0
  492. /package/build/{types → require}/type/string/string.d.ts +0 -0
  493. /package/build/{default → require}/type/string/string.js +0 -0
  494. /package/build/{types → require}/type/symbol/index.d.ts +0 -0
  495. /package/build/{default → require}/type/symbol/index.js +0 -0
  496. /package/build/{types → require}/type/symbol/symbol.d.ts +0 -0
  497. /package/build/{default → require}/type/symbol/symbol.js +0 -0
  498. /package/build/{types → require}/type/symbols/index.d.ts +0 -0
  499. /package/build/{default → require}/type/symbols/index.js +0 -0
  500. /package/build/{default → require}/type/symbols/symbols.js +0 -0
  501. /package/build/{types → require}/type/template-literal/finite.d.ts +0 -0
  502. /package/build/{default → require}/type/template-literal/finite.js +0 -0
  503. /package/build/{types → require}/type/template-literal/generate.d.ts +0 -0
  504. /package/build/{default → require}/type/template-literal/generate.js +0 -0
  505. /package/build/{types → require}/type/template-literal/index.d.ts +0 -0
  506. /package/build/{default → require}/type/template-literal/index.js +0 -0
  507. /package/build/{default → require}/type/template-literal/parser.js +0 -0
  508. /package/build/{types → require}/type/template-literal/pattern.d.ts +0 -0
  509. /package/build/{default → require}/type/template-literal/pattern.js +0 -0
  510. /package/build/{types → require}/type/template-literal/syntax.d.ts +0 -0
  511. /package/build/{default → require}/type/template-literal/syntax.js +0 -0
  512. /package/build/{types → require}/type/template-literal/template-literal.d.ts +0 -0
  513. /package/build/{default → require}/type/template-literal/template-literal.js +0 -0
  514. /package/build/{types → require}/type/template-literal/union.d.ts +0 -0
  515. /package/build/{default → require}/type/template-literal/union.js +0 -0
  516. /package/build/{types → require}/type/transform/index.d.ts +0 -0
  517. /package/build/{default → require}/type/transform/index.js +0 -0
  518. /package/build/{types → require}/type/transform/transform.d.ts +0 -0
  519. /package/build/{default → require}/type/transform/transform.js +0 -0
  520. /package/build/{types → require}/type/tuple/index.d.ts +0 -0
  521. /package/build/{default → require}/type/tuple/index.js +0 -0
  522. /package/build/{types → require}/type/tuple/tuple.d.ts +0 -0
  523. /package/build/{default → require}/type/tuple/tuple.js +0 -0
  524. /package/build/{types → require}/type/type/index.d.ts +0 -0
  525. /package/build/{default → require}/type/type/index.js +0 -0
  526. /package/build/{types → require}/type/type/javascript.d.ts +0 -0
  527. /package/build/{default → require}/type/type/javascript.js +0 -0
  528. /package/build/{types → require}/type/type/json.d.ts +0 -0
  529. /package/build/{default → require}/type/type/json.js +0 -0
  530. /package/build/{types → require}/type/type/type.d.ts +0 -0
  531. /package/build/{default → require}/type/type/type.js +0 -0
  532. /package/build/{types → require}/type/uint8array/index.d.ts +0 -0
  533. /package/build/{default → require}/type/uint8array/index.js +0 -0
  534. /package/build/{types → require}/type/uint8array/uint8array.d.ts +0 -0
  535. /package/build/{default → require}/type/uint8array/uint8array.js +0 -0
  536. /package/build/{types → require}/type/undefined/index.d.ts +0 -0
  537. /package/build/{default → require}/type/undefined/index.js +0 -0
  538. /package/build/{types → require}/type/undefined/undefined.d.ts +0 -0
  539. /package/build/{default → require}/type/undefined/undefined.js +0 -0
  540. /package/build/{types → require}/type/union/index.d.ts +0 -0
  541. /package/build/{default → require}/type/union/index.js +0 -0
  542. /package/build/{types → require}/type/union/union.d.ts +0 -0
  543. /package/build/{default → require}/type/union/union.js +0 -0
  544. /package/build/{types → require}/type/unknown/index.d.ts +0 -0
  545. /package/build/{default → require}/type/unknown/index.js +0 -0
  546. /package/build/{types → require}/type/unknown/unknown.d.ts +0 -0
  547. /package/build/{default → require}/type/unknown/unknown.js +0 -0
  548. /package/build/{types → require}/type/unsafe/index.d.ts +0 -0
  549. /package/build/{default → require}/type/unsafe/index.js +0 -0
  550. /package/build/{types → require}/type/unsafe/unsafe.d.ts +0 -0
  551. /package/build/{default → require}/type/unsafe/unsafe.js +0 -0
  552. /package/build/{types → require}/type/void/index.d.ts +0 -0
  553. /package/build/{default → require}/type/void/index.js +0 -0
  554. /package/build/{types → require}/type/void/void.d.ts +0 -0
  555. /package/build/{default → require}/type/void/void.js +0 -0
  556. /package/build/{types → require}/value/cast/cast.d.ts +0 -0
  557. /package/build/{default → require}/value/cast/cast.js +0 -0
  558. /package/build/{types → require}/value/cast/index.d.ts +0 -0
  559. /package/build/{default → require}/value/cast/index.js +0 -0
  560. /package/build/{types → require}/value/check/check.d.ts +0 -0
  561. /package/build/{default → require}/value/check/check.js +0 -0
  562. /package/build/{types → require}/value/check/index.d.ts +0 -0
  563. /package/build/{default → require}/value/check/index.js +0 -0
  564. /package/build/{types → require}/value/clean/clean.d.ts +0 -0
  565. /package/build/{default → require}/value/clean/clean.js +0 -0
  566. /package/build/{types → require}/value/clean/index.d.ts +0 -0
  567. /package/build/{default → require}/value/clean/index.js +0 -0
  568. /package/build/{default → require}/value/clone/clone.js +0 -0
  569. /package/build/{types → require}/value/clone/index.d.ts +0 -0
  570. /package/build/{default → require}/value/clone/index.js +0 -0
  571. /package/build/{types → require}/value/convert/convert.d.ts +0 -0
  572. /package/build/{default → require}/value/convert/convert.js +0 -0
  573. /package/build/{types → require}/value/convert/index.d.ts +0 -0
  574. /package/build/{default → require}/value/convert/index.js +0 -0
  575. /package/build/{types → require}/value/create/create.d.ts +0 -0
  576. /package/build/{default → require}/value/create/create.js +0 -0
  577. /package/build/{types → require}/value/create/index.d.ts +0 -0
  578. /package/build/{default → require}/value/create/index.js +0 -0
  579. /package/build/{types → require}/value/default/default.d.ts +0 -0
  580. /package/build/{default → require}/value/default/default.js +0 -0
  581. /package/build/{types → require}/value/default/index.d.ts +0 -0
  582. /package/build/{default → require}/value/default/index.js +0 -0
  583. /package/build/{types → require}/value/delta/delta.d.ts +0 -0
  584. /package/build/{default → require}/value/delta/delta.js +0 -0
  585. /package/build/{types → require}/value/delta/index.d.ts +0 -0
  586. /package/build/{default → require}/value/delta/index.js +0 -0
  587. /package/build/{types → require}/value/deref/deref.d.ts +0 -0
  588. /package/build/{default → require}/value/deref/deref.js +0 -0
  589. /package/build/{types → require}/value/deref/index.d.ts +0 -0
  590. /package/build/{default → require}/value/deref/index.js +0 -0
  591. /package/build/{default → require}/value/equal/equal.js +0 -0
  592. /package/build/{types → require}/value/equal/index.d.ts +0 -0
  593. /package/build/{default → require}/value/equal/index.js +0 -0
  594. /package/build/{default → require}/value/guard/guard.js +0 -0
  595. /package/build/{types → require}/value/guard/index.d.ts +0 -0
  596. /package/build/{default → require}/value/guard/index.js +0 -0
  597. /package/build/{default → require}/value/hash/hash.js +0 -0
  598. /package/build/{types → require}/value/hash/index.d.ts +0 -0
  599. /package/build/{default → require}/value/hash/index.js +0 -0
  600. /package/build/{types → require}/value/mutate/index.d.ts +0 -0
  601. /package/build/{default → require}/value/mutate/index.js +0 -0
  602. /package/build/{default → require}/value/mutate/mutate.js +0 -0
  603. /package/build/{types → require}/value/pointer/index.d.ts +0 -0
  604. /package/build/{default → require}/value/pointer/index.js +0 -0
  605. /package/build/{default → require}/value/pointer/pointer.js +0 -0
  606. /package/build/{types → require}/value/transform/decode.d.ts +0 -0
  607. /package/build/{default → require}/value/transform/decode.js +0 -0
  608. /package/build/{types → require}/value/transform/encode.d.ts +0 -0
  609. /package/build/{default → require}/value/transform/encode.js +0 -0
  610. /package/build/{types → require}/value/transform/has.d.ts +0 -0
  611. /package/build/{default → require}/value/transform/has.js +0 -0
  612. /package/build/{types → require}/value/transform/index.d.ts +0 -0
  613. /package/build/{default → require}/value/transform/index.js +0 -0
  614. /package/build/{types → require}/value/value/index.d.ts +0 -0
  615. /package/build/{default → require}/value/value/index.js +0 -0
  616. /package/build/{types → require}/value/value/value.d.ts +0 -0
  617. /package/build/{default → require}/value/value/value.js +0 -0
@@ -0,0 +1,19 @@
1
+ import type { TSchema, SchemaOptions } from '../schema/index.mjs';
2
+ import type { TupleToUnion, Evaluate } from '../helpers/index.mjs';
3
+ import { type TRecursive } from '../recursive/index.mjs';
4
+ import { type TIntersect } from '../intersect/index.mjs';
5
+ import { type TUnion } from '../union/index.mjs';
6
+ import { type TObject, type TProperties } from '../object/index.mjs';
7
+ import { IndexedKeyResolve } from '../indexed/index.mjs';
8
+ type FromIntersect<T extends TSchema[], K extends PropertyKey[]> = T extends [infer L extends TSchema, ...infer R extends TSchema[]] ? [OmitResolve<L, K>, ...FromIntersect<R, K>] : [];
9
+ declare function FromIntersect<T extends TSchema[], K extends PropertyKey[]>(T: T, K: K): FromIntersect<T, K>;
10
+ type FromUnion<T extends TSchema[], K extends PropertyKey[]> = T extends [infer L extends TSchema, ...infer R extends TSchema[]] ? [OmitResolve<L, K>, ...FromUnion<R, K>] : [];
11
+ declare function FromUnion<T extends TSchema[], K extends PropertyKey[]>(T: T, K: K): FromUnion<T, K>;
12
+ type FromProperties<T extends TProperties, K extends PropertyKey[], I extends PropertyKey = TupleToUnion<K>> = Evaluate<Omit<T, I>>;
13
+ declare function FromProperties<T extends TProperties, K extends PropertyKey[]>(T: T, K: K): TProperties;
14
+ export type OmitResolve<T extends TProperties, K extends PropertyKey[]> = T extends TRecursive<infer S> ? TRecursive<OmitResolve<S, K>> : T extends TIntersect<infer S> ? TIntersect<FromIntersect<S, K>> : T extends TUnion<infer S> ? TUnion<FromUnion<S, K>> : T extends TObject<infer S> ? TObject<FromProperties<S, K>> : TObject<{}>;
15
+ export declare function OmitResolve<T extends TSchema, K extends PropertyKey[]>(T: T, K: [...K]): OmitResolve<T, K>;
16
+ export type TOmit<T extends TSchema, K extends PropertyKey[]> = OmitResolve<T, K>;
17
+ export declare function Omit<T extends TSchema, K extends TSchema, I extends PropertyKey[] = IndexedKeyResolve<K>>(T: T, K: K, options?: SchemaOptions): TOmit<T, I>;
18
+ export declare function Omit<T extends TSchema, K extends PropertyKey[]>(T: T, K: readonly [...K], options?: SchemaOptions): TOmit<T, K>;
19
+ export {};
@@ -0,0 +1 @@
1
+ export * from './operators.mjs';
@@ -0,0 +1 @@
1
+ export * from './optional.mjs';
@@ -0,0 +1,6 @@
1
+ import type { TSchema } from '../schema/index.mjs';
2
+ import { OptionalKind } from '../symbols/index.mjs';
3
+ export type TOptional<T extends TSchema> = T & {
4
+ [OptionalKind]: 'Optional';
5
+ };
6
+ export declare function Optional<T extends TSchema>(schema: T): TOptional<T>;
@@ -0,0 +1 @@
1
+ export * from './parameters.mjs';
@@ -0,0 +1,6 @@
1
+ import type { TSchema, SchemaOptions } from '../schema/index.mjs';
2
+ import type { TFunction } from '../function/index.mjs';
3
+ import type { Ensure } from '../helpers/index.mjs';
4
+ import { type TTuple } from '../tuple/index.mjs';
5
+ export type TParameters<T extends TFunction> = Ensure<TTuple<T['parameters']>>;
6
+ export declare function Parameters<T extends TFunction<TSchema[], TSchema>>(schema: T, options?: SchemaOptions): TParameters<T>;
@@ -0,0 +1 @@
1
+ export * from './partial.mjs';
@@ -0,0 +1,22 @@
1
+ import type { TSchema, SchemaOptions } from '../schema/index.mjs';
2
+ import type { Evaluate } from '../helpers/index.mjs';
3
+ import { type TReadonlyOptional } from '../readonly-optional/index.mjs';
4
+ import { type TOptional } from '../optional/index.mjs';
5
+ import { type TReadonly } from '../readonly/index.mjs';
6
+ import { type TRecursive } from '../recursive/index.mjs';
7
+ import { type TObject, type TProperties } from '../object/index.mjs';
8
+ import { type TIntersect } from '../intersect/index.mjs';
9
+ import { type TUnion } from '../union/index.mjs';
10
+ type FromIntersect<T extends TSchema[]> = (T extends [infer L extends TSchema, ...infer R extends TSchema[]] ? [PartialResolve<L>, ...FromIntersect<R>] : []);
11
+ declare function FromIntersect<T extends TSchema[]>(T: [...T]): FromIntersect<T>;
12
+ type FromUnion<T extends TSchema[]> = (T extends [infer L extends TSchema, ...infer R extends TSchema[]] ? [PartialResolve<L>, ...FromUnion<R>] : []);
13
+ declare function FromUnion<T extends TSchema[]>(T: [...T]): FromUnion<T>;
14
+ type FromProperties<T extends TProperties> = Evaluate<{
15
+ [K in keyof T]: T[K] extends (TReadonlyOptional<infer S>) ? TReadonlyOptional<S> : T[K] extends (TReadonly<infer S>) ? TReadonlyOptional<S> : T[K] extends (TOptional<infer S>) ? TOptional<S> : TOptional<T[K]>;
16
+ }>;
17
+ declare function FromProperties<T extends TProperties>(T: T): TProperties;
18
+ export type PartialResolve<T extends TSchema> = (T extends TRecursive<infer S> ? TRecursive<PartialResolve<S>> : T extends TIntersect<infer S> ? TIntersect<FromIntersect<S>> : T extends TUnion<infer S> ? TUnion<FromUnion<S>> : T extends TObject<infer S> ? TObject<FromProperties<S>> : TObject<{}>);
19
+ export declare function PartialResolve<T extends TSchema>(T: T): PartialResolve<T>;
20
+ export type TPartial<T extends TSchema> = PartialResolve<T>;
21
+ export declare function Partial<T extends TSchema>(T: T, options?: SchemaOptions): TPartial<T>;
22
+ export {};
@@ -0,0 +1 @@
1
+ export * from './patterns.mjs';
@@ -0,0 +1 @@
1
+ export * from './pick.mjs';
@@ -0,0 +1,19 @@
1
+ import type { TSchema, SchemaOptions } from '../schema/index.mjs';
2
+ import type { TupleToUnion, Evaluate } from '../helpers/index.mjs';
3
+ import { type TRecursive } from '../recursive/index.mjs';
4
+ import { type TIntersect } from '../intersect/index.mjs';
5
+ import { type TUnion } from '../union/index.mjs';
6
+ import { type TObject, type TProperties } from '../object/index.mjs';
7
+ import { IndexedKeyResolve } from '../indexed/index.mjs';
8
+ type FromIntersect<T extends TSchema[], K extends PropertyKey[]> = T extends [infer L extends TSchema, ...infer R extends TSchema[]] ? [PickResolve<L, K>, ...FromIntersect<R, K>] : [];
9
+ declare function FromIntersect<T extends TSchema[], K extends PropertyKey[]>(T: T, K: K): FromIntersect<T, K>;
10
+ type FromUnion<T extends TSchema[], K extends PropertyKey[]> = T extends [infer L extends TSchema, ...infer R extends TSchema[]] ? [PickResolve<L, K>, ...FromUnion<R, K>] : [];
11
+ declare function FromUnion<T extends TSchema[], K extends PropertyKey[]>(T: T, K: K): FromUnion<T, K>;
12
+ type FromProperties<T extends TProperties, K extends PropertyKey[], I extends PropertyKey = TupleToUnion<K>> = Evaluate<Pick<T, I & keyof T>>;
13
+ declare function FromProperties<T extends TProperties, K extends PropertyKey[]>(T: T, K: K): {};
14
+ export type PickResolve<T extends TProperties, K extends PropertyKey[]> = T extends TRecursive<infer S> ? TRecursive<PickResolve<S, K>> : T extends TIntersect<infer S> ? TIntersect<FromIntersect<S, K>> : T extends TUnion<infer S> ? TUnion<FromUnion<S, K>> : T extends TObject<infer S> ? TObject<FromProperties<S, K>> : TObject<{}>;
15
+ export declare function PickResolve<T extends TSchema, K extends PropertyKey[]>(T: T, K: [...K]): PickResolve<T, K>;
16
+ export type TPick<T extends TSchema, K extends PropertyKey[]> = PickResolve<T, K>;
17
+ export declare function Pick<T extends TSchema, K extends TSchema, I extends PropertyKey[] = IndexedKeyResolve<K>>(T: T, K: K, options?: SchemaOptions): TPick<T, I>;
18
+ export declare function Pick<T extends TSchema, K extends PropertyKey[]>(T: T, K: readonly [...K], options?: SchemaOptions): TPick<T, K>;
19
+ export {};
@@ -0,0 +1 @@
1
+ export * from './promise.mjs';
@@ -0,0 +1,10 @@
1
+ import type { TSchema, SchemaOptions } from '../schema/index.mjs';
2
+ import type { Static } from '../static/index.mjs';
3
+ import { Kind } from '../symbols/index.mjs';
4
+ export interface TPromise<T extends TSchema = TSchema> extends TSchema {
5
+ [Kind]: 'Promise';
6
+ static: Promise<Static<T, this['params']>>;
7
+ type: 'Promise';
8
+ item: TSchema;
9
+ }
10
+ export declare function Promise<T extends TSchema>(item: T, options?: SchemaOptions): TPromise<T>;
@@ -0,0 +1 @@
1
+ export * from './readonly.mjs';
@@ -0,0 +1,6 @@
1
+ import type { TSchema } from '../schema/index.mjs';
2
+ import { ReadonlyKind } from '../symbols/index.mjs';
3
+ export type TReadonly<T extends TSchema> = T & {
4
+ [ReadonlyKind]: 'Readonly';
5
+ };
6
+ export declare function Readonly<T extends TSchema>(schema: T): TReadonly<T>;
@@ -0,0 +1 @@
1
+ export * from './readonly-optional.mjs';
@@ -0,0 +1,5 @@
1
+ import type { TSchema } from '../schema/index.mjs';
2
+ import { type TReadonly } from '../readonly/index.mjs';
3
+ import { type TOptional } from '../optional/index.mjs';
4
+ export type TReadonlyOptional<T extends TSchema> = TOptional<T> & TReadonly<T>;
5
+ export declare function ReadonlyOptional<T extends TSchema>(schema: T): TReadonly<TOptional<T>>;
@@ -0,0 +1 @@
1
+ export * from './record.mjs';
@@ -0,0 +1,54 @@
1
+ import type { TSchema } from '../schema/index.mjs';
2
+ import type { Static } from '../static/index.mjs';
3
+ import type { Evaluate, Ensure, Assert } from '../helpers/index.mjs';
4
+ import { type TObject, type TProperties, type TAdditionalProperties, type ObjectOptions } from '../object/index.mjs';
5
+ import { type TLiteral, TLiteralValue } from '../literal/index.mjs';
6
+ import { type TNever } from '../never/index.mjs';
7
+ import { type TUnion } from '../union/index.mjs';
8
+ import { type TString } from '../string/index.mjs';
9
+ import { type TInteger } from '../integer/index.mjs';
10
+ import { type TNumber } from '../number/index.mjs';
11
+ import { type TEnum } from '../enum/index.mjs';
12
+ import { TTemplateLiteral, IsTemplateLiteralFinite } from '../template-literal/index.mjs';
13
+ import { Kind } from '../symbols/index.mjs';
14
+ type FromTemplateLiteralKeyInfinite<K extends TTemplateLiteral, T extends TSchema> = Ensure<TRecord<K, T>>;
15
+ type FromTemplateLiteralKeyFinite<K extends TTemplateLiteral, T extends TSchema, I extends string = Static<K>> = (Ensure<TObject<Evaluate<{
16
+ [_ in I]: T;
17
+ }>>>);
18
+ type FromTemplateLiteralKey<K extends TTemplateLiteral, T extends TSchema> = IsTemplateLiteralFinite<K> extends false ? FromTemplateLiteralKeyInfinite<K, T> : FromTemplateLiteralKeyFinite<K, T>;
19
+ declare function FromTemplateLiteralKey<K extends TTemplateLiteral, T extends TSchema>(K: K, T: T): FromTemplateLiteralKey<K, T>;
20
+ type FromEnumKey<K extends Record<string, string | number>, T extends TSchema> = Ensure<TObject<{
21
+ [_ in K[keyof K]]: T;
22
+ }>>;
23
+ type FromUnionKeyLiteralString<K extends TLiteral<string>, T extends TSchema> = {
24
+ [_ in K['const']]: T;
25
+ };
26
+ type FromUnionKeyLiteralNumber<K extends TLiteral<number>, T extends TSchema> = {
27
+ [_ in K['const']]: T;
28
+ };
29
+ type FromUnionKeyRest<K extends TSchema[], T extends TSchema> = K extends [infer L extends TSchema, ...infer R extends TSchema[]] ? (L extends TUnion<infer S> ? FromUnionKeyRest<S, T> & FromUnionKeyRest<R, T> : L extends TLiteral<string> ? FromUnionKeyLiteralString<L, T> & FromUnionKeyRest<R, T> : L extends TLiteral<number> ? FromUnionKeyLiteralNumber<L, T> & FromUnionKeyRest<R, T> : {}) : {};
30
+ type FromUnionKey<K extends TSchema[], T extends TSchema, P extends TProperties = FromUnionKeyRest<K, T>> = (Ensure<TObject<P>>);
31
+ declare function FromUnionKey<K extends TSchema[], T extends TSchema>(K: K, T: T): FromUnionKey<K, T>;
32
+ type FromLiteralKey<K extends TLiteralValue, T extends TSchema> = (Ensure<TObject<{
33
+ [_ in Assert<K, PropertyKey>]: T;
34
+ }>>);
35
+ declare function FromLiteralKey<K extends TLiteralValue, T extends TSchema>(K: K, T: T): FromLiteralKey<K, T>;
36
+ type FromStringKey<_ extends TString, T extends TSchema> = (Ensure<TRecord<TString, T>>);
37
+ declare function FromStringKey<K extends TString, T extends TSchema>(K: K, T: T): FromStringKey<K, T>;
38
+ type FromIntegerKey<_ extends TSchema, T extends TSchema> = (Ensure<TRecord<TNumber, T>>);
39
+ declare function FromIntegerKey<K extends TInteger, T extends TSchema>(_: K, T: T): FromIntegerKey<K, T>;
40
+ type FromNumberKey<_ extends TSchema, T extends TSchema> = (Ensure<TRecord<TNumber, T>>);
41
+ declare function FromNumberKey<K extends TNumber, T extends TSchema>(_: K, T: T): FromIntegerKey<K, T>;
42
+ export type RecordResolve<K extends TSchema, T extends TSchema> = K extends TEnum<infer S> ? FromEnumKey<S, T> : K extends TUnion<infer S> ? FromUnionKey<S, T> : K extends TTemplateLiteral ? FromTemplateLiteralKey<K, T> : K extends TLiteral<infer S> ? FromLiteralKey<S, T> : K extends TInteger ? FromIntegerKey<K, T> : K extends TNumber ? FromNumberKey<K, T> : K extends TString ? FromStringKey<K, T> : TNever;
43
+ export declare function RecordResolve<K extends TSchema, T extends TSchema>(K: K, T: T): RecordResolve<K, T>;
44
+ export interface TRecord<K extends TSchema = TSchema, T extends TSchema = TSchema> extends TSchema {
45
+ [Kind]: 'Record';
46
+ static: Record<Assert<Static<K>, string | number>, Static<T, this['params']>>;
47
+ type: 'object';
48
+ patternProperties: {
49
+ [pattern: string]: T;
50
+ };
51
+ additionalProperties: TAdditionalProperties;
52
+ }
53
+ export declare function Record<K extends TSchema, T extends TSchema>(K: K, T: T, options?: ObjectOptions): RecordResolve<K, T>;
54
+ export {};
@@ -0,0 +1 @@
1
+ export * from './recursive.mjs';
@@ -0,0 +1,14 @@
1
+ import type { TSchema, SchemaOptions } from '../schema/index.mjs';
2
+ import { Kind, Hint } from '../symbols/index.mjs';
3
+ import { Static } from '../static/index.mjs';
4
+ export interface TThis extends TSchema {
5
+ [Kind]: 'This';
6
+ static: this['params'][0];
7
+ $ref: string;
8
+ }
9
+ export type RecursiveResolve<T extends TSchema> = Static<T, [RecursiveResolve<T>]>;
10
+ export interface TRecursive<T extends TSchema> extends TSchema {
11
+ [Hint]: 'Recursive';
12
+ static: RecursiveResolve<T>;
13
+ }
14
+ export declare function Recursive<T extends TSchema>(callback: (thisType: TThis) => T, options?: SchemaOptions): TRecursive<T>;
@@ -0,0 +1 @@
1
+ export * from './ref.mjs';
@@ -0,0 +1,10 @@
1
+ import type { TSchema, SchemaOptions } from '../schema/index.mjs';
2
+ import type { Static } from '../static/index.mjs';
3
+ import { Kind } from '../symbols/index.mjs';
4
+ export interface TRef<T extends TSchema = TSchema> extends TSchema {
5
+ [Kind]: 'Ref';
6
+ static: Static<T, this['params']>;
7
+ $ref: string;
8
+ }
9
+ export declare function Ref<T extends TSchema>(schema: T, options?: SchemaOptions): TRef<T>;
10
+ export declare function Ref<T extends TSchema>($ref: string, options?: SchemaOptions): TRef<T>;
@@ -0,0 +1 @@
1
+ export * from './regexp.mjs';
@@ -0,0 +1,5 @@
1
+ import type { SchemaOptions } from '../schema/index.mjs';
2
+ import type { TString } from '../string/index.mjs';
3
+ export type TRegExp = TString;
4
+ export declare function RegExp(pattern: string, options?: SchemaOptions): TRegExp;
5
+ export declare function RegExp(regex: RegExp, options?: SchemaOptions): TRegExp;
@@ -0,0 +1,2 @@
1
+ export * as FormatRegistry from './format.mjs';
2
+ export * as TypeRegistry from './type.mjs';
@@ -0,0 +1 @@
1
+ export * from './required.mjs';
@@ -0,0 +1,22 @@
1
+ import type { TSchema, SchemaOptions } from '../schema/index.mjs';
2
+ import type { Evaluate } from '../helpers/index.mjs';
3
+ import { type TReadonlyOptional } from '../readonly-optional/index.mjs';
4
+ import { type TOptional } from '../optional/index.mjs';
5
+ import { type TReadonly } from '../readonly/index.mjs';
6
+ import { type TRecursive } from '../recursive/index.mjs';
7
+ import { type TIntersect } from '../intersect/index.mjs';
8
+ import { type TUnion } from '../union/index.mjs';
9
+ import { type TObject, type TProperties } from '../object/index.mjs';
10
+ type FromIntersect<T extends TSchema[]> = (T extends [infer L extends TSchema, ...infer R extends TSchema[]] ? [RequiredResolve<L>, ...FromIntersect<R>] : []);
11
+ declare function FromIntersect<T extends TSchema[]>(T: [...T]): FromIntersect<T>;
12
+ type FromUnion<T extends TSchema[]> = (T extends [infer L extends TSchema, ...infer R extends TSchema[]] ? [RequiredResolve<L>, ...FromUnion<R>] : []);
13
+ declare function FromUnion<T extends TSchema[]>(T: [...T]): FromUnion<T>;
14
+ type FromProperties<T extends TProperties> = Evaluate<{
15
+ [K in keyof T]: T[K] extends (TReadonlyOptional<infer S>) ? TReadonly<S> : T[K] extends (TReadonly<infer S>) ? TReadonly<S> : T[K] extends (TOptional<infer S>) ? S : T[K];
16
+ }>;
17
+ declare function FromProperties<T extends TProperties>(T: T): TProperties;
18
+ export type RequiredResolve<T extends TSchema> = (T extends TRecursive<infer S> ? TRecursive<RequiredResolve<S>> : T extends TIntersect<infer S> ? TIntersect<FromIntersect<S>> : T extends TUnion<infer S> ? TUnion<FromUnion<S>> : T extends TObject<infer S> ? TObject<FromProperties<S>> : TObject<{}>);
19
+ export declare function RequiredResolve<T extends TSchema>(T: T): RequiredResolve<T>;
20
+ export type TRequired<T extends TSchema> = RequiredResolve<T>;
21
+ export declare function Required<T extends TSchema>(T: T, options?: SchemaOptions): TRequired<T>;
22
+ export {};
@@ -0,0 +1 @@
1
+ export * from './rest.mjs';
@@ -0,0 +1,9 @@
1
+ import type { TSchema } from '../schema/index.mjs';
2
+ import type { TIntersect } from '../intersect/index.mjs';
3
+ import type { TUnion } from '../union/index.mjs';
4
+ import type { TTuple } from '../tuple/index.mjs';
5
+ export type RestResolve<T extends TSchema> = T extends TIntersect<infer S> ? [...S] : T extends TUnion<infer S> ? [...S] : T extends TTuple<infer S> ? [...S] : [
6
+ ];
7
+ export declare function RestResolve<T extends TSchema>(T: T): RestResolve<T>;
8
+ export type TRest<T extends TSchema> = RestResolve<T>;
9
+ export declare function Rest<T extends TSchema>(T: T): TRest<T>;
@@ -0,0 +1 @@
1
+ export * from './return-type.mjs';
@@ -0,0 +1,4 @@
1
+ import type { SchemaOptions } from '../schema/index.mjs';
2
+ import type { TFunction } from '../function/index.mjs';
3
+ export type TReturnType<T extends TFunction> = T['returns'];
4
+ export declare function ReturnType<T extends TFunction<any[], any>>(schema: T, options?: SchemaOptions): TReturnType<T>;
@@ -0,0 +1,32 @@
1
+ import type { TAny } from '../any/index.mjs';
2
+ import type { TArray } from '../array/index.mjs';
3
+ import type { TAsyncIterator } from '../async-iterator/index.mjs';
4
+ import type { TBigInt } from '../bigint/index.mjs';
5
+ import type { TBoolean } from '../boolean/index.mjs';
6
+ import type { TConstructor } from '../constructor/index.mjs';
7
+ import type { TDate } from '../date/index.mjs';
8
+ import type { TEnum } from '../enum/index.mjs';
9
+ import type { TFunction } from '../function/index.mjs';
10
+ import type { TInteger } from '../integer/index.mjs';
11
+ import type { TIntersect } from '../intersect/index.mjs';
12
+ import type { TIterator } from '../iterator/index.mjs';
13
+ import type { TLiteral } from '../literal/index.mjs';
14
+ import type { TNot } from '../not/index.mjs';
15
+ import type { TNull } from '../null/index.mjs';
16
+ import type { TNumber } from '../number/index.mjs';
17
+ import type { TObject } from '../object/index.mjs';
18
+ import type { TPromise } from '../promise/index.mjs';
19
+ import type { TRecord } from '../record/index.mjs';
20
+ import type { TThis } from '../recursive/index.mjs';
21
+ import type { TRef } from '../ref/index.mjs';
22
+ import type { TString } from '../string/index.mjs';
23
+ import type { TSymbol } from '../symbol/index.mjs';
24
+ import type { TTemplateLiteral } from '../template-literal/index.mjs';
25
+ import type { TTuple } from '../tuple/index.mjs';
26
+ import type { TUint8Array } from '../uint8array/index.mjs';
27
+ import type { TUndefined } from '../undefined/index.mjs';
28
+ import type { TUnion } from '../union/index.mjs';
29
+ import type { TUnknown } from '../unknown/index.mjs';
30
+ import type { TVoid } from '../void/index.mjs';
31
+ import type { TSchema } from './schema.mjs';
32
+ export type TAnySchema = TSchema | TAny | TArray | TAsyncIterator | TBigInt | TBoolean | TConstructor | TDate | TEnum | TFunction | TInteger | TIntersect | TIterator | TLiteral | TNot | TNull | TNumber | TObject | TPromise | TRecord | TRef | TString | TSymbol | TTemplateLiteral | TThis | TTuple | TUndefined | TUnion | TUint8Array | TUnknown | TVoid;
@@ -0,0 +1,2 @@
1
+ export * from './anyschema.mjs';
2
+ export * from './schema.mjs';
@@ -0,0 +1,22 @@
1
+ import { Kind, Hint, ReadonlyKind, OptionalKind } from '../symbols/index.mjs';
2
+ export interface SchemaOptions {
3
+ $schema?: string;
4
+ $id?: string;
5
+ title?: string;
6
+ description?: string;
7
+ default?: any;
8
+ examples?: any;
9
+ readOnly?: boolean;
10
+ writeOnly?: boolean;
11
+ [prop: string]: any;
12
+ }
13
+ export interface TKind {
14
+ [Kind]: string;
15
+ }
16
+ export interface TSchema extends SchemaOptions, TKind {
17
+ [ReadonlyKind]?: string;
18
+ [OptionalKind]?: string;
19
+ [Hint]?: string;
20
+ params: unknown[];
21
+ static: unknown;
22
+ }
@@ -0,0 +1 @@
1
+ export * from './static.mjs';
@@ -0,0 +1,31 @@
1
+ import type { Evaluate } from '../helpers/index.mjs';
2
+ import type { TOptional } from '../optional/index.mjs';
3
+ import type { TReadonly } from '../readonly/index.mjs';
4
+ import type { TArray } from '../array/index.mjs';
5
+ import type { TAsyncIterator } from '../async-iterator/index.mjs';
6
+ import type { TConstructor } from '../constructor/index.mjs';
7
+ import type { TEnum } from '../enum/index.mjs';
8
+ import type { TFunction } from '../function/index.mjs';
9
+ import type { TIntersect } from '../intersect/index.mjs';
10
+ import type { TIterator } from '../iterator/index.mjs';
11
+ import type { TNot } from '../not/index.mjs';
12
+ import type { TObject, TProperties } from '../object/index.mjs';
13
+ import type { TPromise } from '../promise/index.mjs';
14
+ import type { TRecursive } from '../recursive/index.mjs';
15
+ import type { TRecord } from '../record/index.mjs';
16
+ import type { TRef } from '../ref/index.mjs';
17
+ import type { TTuple } from '../tuple/index.mjs';
18
+ import type { TUnion } from '../union/index.mjs';
19
+ import type { TUnsafe } from '../unsafe/index.mjs';
20
+ import type { TSchema } from '../schema/index.mjs';
21
+ import type { TTransform } from '../transform/index.mjs';
22
+ export type DecodeProperties<T extends TProperties> = {
23
+ [K in keyof T]: DecodeType<T[K]>;
24
+ };
25
+ export type DecodeRest<T extends TSchema[]> = T extends [infer L extends TSchema, ...infer R extends TSchema[]] ? [DecodeType<L>, ...DecodeRest<R>] : [];
26
+ export type DecodeType<T extends TSchema> = (T extends TOptional<infer S extends TSchema> ? TOptional<DecodeType<S>> : T extends TReadonly<infer S extends TSchema> ? TReadonly<DecodeType<S>> : T extends TTransform<infer _, infer R> ? TUnsafe<R> : T extends TArray<infer S extends TSchema> ? TArray<DecodeType<S>> : T extends TAsyncIterator<infer S extends TSchema> ? TAsyncIterator<DecodeType<S>> : T extends TConstructor<infer P extends TSchema[], infer R extends TSchema> ? TConstructor<DecodeRest<P>, DecodeType<R>> : T extends TEnum<infer S> ? TEnum<S> : T extends TFunction<infer P extends TSchema[], infer R extends TSchema> ? TFunction<DecodeRest<P>, DecodeType<R>> : T extends TIntersect<infer S extends TSchema[]> ? TIntersect<DecodeRest<S>> : T extends TIterator<infer S extends TSchema> ? TIterator<DecodeType<S>> : T extends TNot<infer S extends TSchema> ? TNot<DecodeType<S>> : T extends TObject<infer S> ? TObject<Evaluate<DecodeProperties<S>>> : T extends TPromise<infer S extends TSchema> ? TPromise<DecodeType<S>> : T extends TRecord<infer K, infer S> ? TRecord<K, DecodeType<S>> : T extends TRecursive<infer S extends TSchema> ? TRecursive<DecodeType<S>> : T extends TRef<infer S extends TSchema> ? TRef<DecodeType<S>> : T extends TTuple<infer S extends TSchema[]> ? TTuple<DecodeRest<S>> : T extends TUnion<infer S extends TSchema[]> ? TUnion<DecodeRest<S>> : T);
27
+ export type StaticDecode<T extends TSchema, P extends unknown[] = []> = Static<DecodeType<T>, P>;
28
+ export type StaticEncode<T extends TSchema, P extends unknown[] = []> = Static<T, P>;
29
+ export type Static<T extends TSchema, P extends unknown[] = []> = (T & {
30
+ params: P;
31
+ })['static'];
@@ -0,0 +1 @@
1
+ export * from './strict.mjs';
@@ -0,0 +1,2 @@
1
+ import type { TSchema } from '../schema/index.mjs';
2
+ export declare function Strict<T extends TSchema>(schema: T): T;
@@ -0,0 +1 @@
1
+ export * from './string.mjs';
@@ -0,0 +1,18 @@
1
+ import { TSchema, SchemaOptions } from '../schema/index.mjs';
2
+ import { Kind } from '../symbols/index.mjs';
3
+ export type StringFormatOption = 'date-time' | 'time' | 'date' | 'email' | 'idn-email' | 'hostname' | 'idn-hostname' | 'ipv4' | 'ipv6' | 'uri' | 'uri-reference' | 'iri' | 'uuid' | 'iri-reference' | 'uri-template' | 'json-pointer' | 'relative-json-pointer' | 'regex' | ({} & string);
4
+ export type StringContentEncodingOption = '7bit' | '8bit' | 'binary' | 'quoted-printable' | 'base64' | ({} & string);
5
+ export interface StringOptions extends SchemaOptions {
6
+ maxLength?: number;
7
+ minLength?: number;
8
+ pattern?: string;
9
+ format?: StringFormatOption;
10
+ contentEncoding?: StringContentEncodingOption;
11
+ contentMediaType?: string;
12
+ }
13
+ export interface TString extends TSchema, StringOptions {
14
+ [Kind]: 'String';
15
+ static: string;
16
+ type: 'string';
17
+ }
18
+ export declare function String(options?: StringOptions): TString;
@@ -0,0 +1 @@
1
+ export * from './symbol.mjs';
@@ -0,0 +1,9 @@
1
+ import { TSchema, SchemaOptions } from '../schema/index.mjs';
2
+ import { Kind } from '../symbols/index.mjs';
3
+ export type SymbolValue = string | number | undefined;
4
+ export interface TSymbol extends TSchema, SchemaOptions {
5
+ [Kind]: 'Symbol';
6
+ static: symbol;
7
+ type: 'symbol';
8
+ }
9
+ export declare function Symbol(options?: SchemaOptions): TSymbol;
@@ -0,0 +1 @@
1
+ export * from './symbols.mjs';
@@ -0,0 +1,16 @@
1
+ import type { TTemplateLiteral, TTemplateLiteralKind } from './index.mjs';
2
+ import type { TUnion } from '../union/index.mjs';
3
+ import type { TString } from '../string/index.mjs';
4
+ import type { TBoolean } from '../boolean/index.mjs';
5
+ import type { TNumber } from '../number/index.mjs';
6
+ import type { TInteger } from '../integer/index.mjs';
7
+ import type { TBigInt } from '../bigint/index.mjs';
8
+ import type { TLiteral } from '../literal/index.mjs';
9
+ import type { Expression } from './parser.mjs';
10
+ export declare class TemplateLiteralFiniteError extends Error {
11
+ }
12
+ type IsTemplateLiteralFiniteCheck<T> = T extends TTemplateLiteral<infer U extends TTemplateLiteralKind[]> ? IsTemplateLiteralFiniteArray<U> : T extends TUnion<infer U extends TTemplateLiteralKind[]> ? IsTemplateLiteralFiniteArray<U> : T extends TString ? false : T extends TBoolean ? false : T extends TNumber ? false : T extends TInteger ? false : T extends TBigInt ? false : T extends TLiteral ? true : false;
13
+ type IsTemplateLiteralFiniteArray<T extends TTemplateLiteralKind[]> = T extends [infer L extends TTemplateLiteralKind, ...infer R extends TTemplateLiteralKind[]] ? IsTemplateLiteralFiniteCheck<L> extends false ? false : IsTemplateLiteralFiniteArray<R> : true;
14
+ export type IsTemplateLiteralFinite<T> = T extends TTemplateLiteral<infer U> ? IsTemplateLiteralFiniteArray<U> : false;
15
+ export declare function IsTemplateLiteralFinite(expression: Expression): boolean;
16
+ export {};
@@ -0,0 +1,15 @@
1
+ import type { TTemplateLiteral, TTemplateLiteralKind } from './index.mjs';
2
+ import type { TLiteral, TLiteralValue } from '../literal/index.mjs';
3
+ import type { Expression } from './parser.mjs';
4
+ import type { TUnion } from '../union/index.mjs';
5
+ type StringReduceUnary<L extends string, R extends string[]> = R extends [infer A extends string, ...infer B extends string[]] ? [`${L}${A}`, ...StringReduceUnary<L, B>] : [];
6
+ type StringReduceBinary<L extends string[], R extends string[]> = L extends [infer A extends string, ...infer B extends string[]] ? [...StringReduceUnary<A, R>, ...StringReduceBinary<B, R>] : [];
7
+ type StringReduceMany<T extends string[][]> = T extends [infer L extends string[], infer R extends string[], ...infer Rest extends string[][]] ? StringReduceMany<[StringReduceBinary<L, R>, ...Rest]> : T;
8
+ type StringReduce<T extends string[][], O = StringReduceMany<T>> = 0 extends keyof O ? O[0] : [];
9
+ type TemplateLiteralReduceUnion<T extends TTemplateLiteralKind[]> = T extends [infer L extends TLiteral, ...infer R extends TLiteral[]] ? [L['const'], ...TemplateLiteralReduceUnion<R>] : [];
10
+ type TemplateLiteralReduce<T extends TTemplateLiteralKind[]> = T extends [infer L extends TTemplateLiteralKind, ...infer R extends TTemplateLiteralKind[]] ? L extends TLiteral<infer S extends TLiteralValue> ? [[S], ...TemplateLiteralReduce<R>] : L extends TUnion<infer S extends TTemplateLiteralKind[]> ? [TemplateLiteralReduceUnion<S>, ...TemplateLiteralReduce<R>] : [] : [];
11
+ export declare class TemplateLiteralGenerateError extends Error {
12
+ }
13
+ export type TemplateLiteralGenerate<T> = T extends TTemplateLiteral<infer S extends TTemplateLiteralKind[]> ? TemplateLiteralReduce<S> extends infer R extends string[][] ? StringReduce<R> : [] : [];
14
+ export declare function TemplateLiteralGenerate(expression: Expression): IterableIterator<string>;
15
+ export {};
@@ -0,0 +1,7 @@
1
+ export * from './finite.mjs';
2
+ export * from './generate.mjs';
3
+ export * from './syntax.mjs';
4
+ export * from './parser.mjs';
5
+ export * from './pattern.mjs';
6
+ export * from './union.mjs';
7
+ export * from './template-literal.mjs';
@@ -0,0 +1,4 @@
1
+ import type { TTemplateLiteralKind } from './index.mjs';
2
+ export declare class TemplateLiteralPatternError extends Error {
3
+ }
4
+ export declare function TemplateLiteralPattern(kinds: TTemplateLiteralKind[]): string;
@@ -0,0 +1,19 @@
1
+ import type { Ensure, Assert, Trim } from '../helpers/index.mjs';
2
+ import type { TTemplateLiteralKind, TTemplateLiteral } from './index.mjs';
3
+ import { type TLiteral } from '../literal/index.mjs';
4
+ import { type TBoolean } from '../boolean/index.mjs';
5
+ import { type TBigInt } from '../bigint/index.mjs';
6
+ import { type TNumber } from '../number/index.mjs';
7
+ import { type TString } from '../string/index.mjs';
8
+ import { UnionResolve } from '../union/index.mjs';
9
+ declare function FromUnion(syntax: string): IterableIterator<TTemplateLiteralKind>;
10
+ declare function FromTerminal(syntax: string): IterableIterator<TTemplateLiteralKind>;
11
+ type FromUnionLiteral<T extends string> = T extends `${infer L}|${infer R}` ? [TLiteral<Trim<L>>, ...FromUnionLiteral<R>] : T extends `${infer L}` ? [TLiteral<Trim<L>>] : [
12
+ ];
13
+ type FromUnion<T extends string> = UnionResolve<FromUnionLiteral<T>>;
14
+ type FromTerminal<T extends string> = T extends 'boolean' ? TBoolean : T extends 'bigint' ? TBigInt : T extends 'number' ? TNumber : T extends 'string' ? TString : FromUnion<T>;
15
+ type FromString<T extends string> = T extends `{${infer L}}${infer R}` ? [FromTerminal<L>, ...FromString<R>] : T extends `${infer L}$${infer R}` ? [TLiteral<L>, ...FromString<R>] : T extends `${infer L}` ? [TLiteral<L>] : [
16
+ ];
17
+ export type TemplateLiteralSyntax<T extends string> = Ensure<TTemplateLiteral<Assert<FromString<T>, TTemplateLiteralKind[]>>>;
18
+ export declare function TemplateLiteralSyntax(syntax: string): TTemplateLiteralKind[];
19
+ export {};
@@ -0,0 +1,28 @@
1
+ import type { TSchema, SchemaOptions } from '../schema/index.mjs';
2
+ import type { Assert } from '../helpers/index.mjs';
3
+ import type { TUnion } from '../union/index.mjs';
4
+ import type { TLiteral } from '../literal/index.mjs';
5
+ import type { TInteger } from '../integer/index.mjs';
6
+ import type { TNumber } from '../number/index.mjs';
7
+ import type { TBigInt } from '../bigint/index.mjs';
8
+ import type { TString } from '../string/index.mjs';
9
+ import type { TBoolean } from '../boolean/index.mjs';
10
+ import type { TNever } from '../never/index.mjs';
11
+ import type { Static } from '../static/index.mjs';
12
+ import { TemplateLiteralSyntax } from './syntax.mjs';
13
+ import { EmptyString } from '../helpers/index.mjs';
14
+ import { Kind } from '../symbols/index.mjs';
15
+ type TemplateLiteralResolveConst<T, Acc extends string> = T extends TUnion<infer U> ? {
16
+ [K in keyof U]: TemplateLiteralResolve<Assert<[U[K]], TTemplateLiteralKind[]>, Acc>;
17
+ }[number] : T extends TTemplateLiteral ? `${Static<T>}` : T extends TLiteral<infer U> ? `${U}` : T extends TString ? `${string}` : T extends TNumber ? `${number}` : T extends TBigInt ? `${bigint}` : T extends TBoolean ? `${boolean}` : never;
18
+ export type TemplateLiteralResolve<T extends TTemplateLiteralKind[], Acc extends string> = T extends [infer L, ...infer R] ? `${TemplateLiteralResolveConst<L, Acc>}${TemplateLiteralResolve<Assert<R, TTemplateLiteralKind[]>, Acc>}` : Acc;
19
+ export type TTemplateLiteralKind = TTemplateLiteral | TUnion | TLiteral | TInteger | TNumber | TBigInt | TString | TBoolean | TNever;
20
+ export interface TTemplateLiteral<T extends TTemplateLiteralKind[] = TTemplateLiteralKind[]> extends TSchema {
21
+ [Kind]: 'TemplateLiteral';
22
+ static: TemplateLiteralResolve<T, EmptyString>;
23
+ type: 'string';
24
+ pattern: string;
25
+ }
26
+ export declare function TemplateLiteral<T extends string>(syntax: T, options?: SchemaOptions): TemplateLiteralSyntax<T>;
27
+ export declare function TemplateLiteral<T extends TTemplateLiteralKind[]>(kinds: [...T], options?: SchemaOptions): TTemplateLiteral<T>;
28
+ export {};
@@ -0,0 +1,6 @@
1
+ import type { TTemplateLiteral } from './template-literal.mjs';
2
+ import { type TUnion } from '../union/index.mjs';
3
+ import { type TLiteral } from '../literal/index.mjs';
4
+ import { type TString } from '../string/index.mjs';
5
+ import { type TNever } from '../never/index.mjs';
6
+ export declare function TemplateLiteralToUnion(template: TTemplateLiteral): TNever | TString | TUnion<TLiteral[]>;
@@ -0,0 +1 @@
1
+ export * from './transform.mjs';
@@ -0,0 +1,28 @@
1
+ import type { TSchema } from '../schema/index.mjs';
2
+ import type { Static, StaticDecode } from '../static/index.mjs';
3
+ import { TransformKind } from '../symbols/index.mjs';
4
+ export declare class TransformDecodeBuilder<T extends TSchema> {
5
+ private readonly schema;
6
+ constructor(schema: T);
7
+ Decode<U extends unknown, D extends TransformFunction<StaticDecode<T>, U>>(decode: D): TransformEncodeBuilder<T, D>;
8
+ }
9
+ export declare class TransformEncodeBuilder<T extends TSchema, D extends TransformFunction> {
10
+ private readonly schema;
11
+ private readonly decode;
12
+ constructor(schema: T, decode: D);
13
+ private EncodeTransform;
14
+ private EncodeSchema;
15
+ Encode<E extends TransformFunction<ReturnType<D>, StaticDecode<T>>>(encode: E): TTransform<T, ReturnType<D>>;
16
+ }
17
+ export type TransformFunction<T = any, U = any> = (value: T) => U;
18
+ export interface TransformOptions<I extends TSchema = TSchema, O extends unknown = unknown> {
19
+ Decode: TransformFunction<StaticDecode<I>, O>;
20
+ Encode: TransformFunction<O, StaticDecode<I>>;
21
+ }
22
+ export type TTransformResolve<T extends TSchema, P extends unknown[] = []> = T extends TTransform<infer _, infer S> ? S : Static<T, P>;
23
+ export interface TTransform<I extends TSchema = TSchema, O extends unknown = unknown> extends TSchema {
24
+ static: TTransformResolve<I, this['params']>;
25
+ [TransformKind]: TransformOptions<I, O>;
26
+ [key: string]: any;
27
+ }
28
+ export declare function Transform<I extends TSchema>(schema: I): TransformDecodeBuilder<I>;
@@ -0,0 +1 @@
1
+ export * from './tuple.mjs';