@sinclair/typebox 0.32.0-dev-16 → 0.32.0-dev-18

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 (575) hide show
  1. package/build/import/compiler/compiler.d.mts +9 -0
  2. package/build/import/compiler/compiler.mjs +60 -6
  3. package/build/import/errors/errors.d.mts +3 -0
  4. package/build/import/errors/errors.mjs +28 -3
  5. package/build/import/errors/function.d.mts +3 -0
  6. package/build/import/errors/function.mjs +4 -0
  7. package/build/import/index.mjs +9 -0
  8. package/build/import/system/policy.d.mts +10 -0
  9. package/build/import/system/policy.mjs +13 -0
  10. package/build/import/system/system.d.mts +3 -0
  11. package/build/import/system/system.mjs +9 -0
  12. package/build/import/type/any/any.d.mts +1 -0
  13. package/build/import/type/any/any.mjs +1 -0
  14. package/build/import/type/array/array.d.mts +7 -0
  15. package/build/import/type/array/array.mjs +1 -0
  16. package/build/import/type/async-iterator/async-iterator.d.mts +1 -0
  17. package/build/import/type/async-iterator/async-iterator.mjs +1 -0
  18. package/build/import/type/awaited/awaited.d.mts +7 -6
  19. package/build/import/type/awaited/awaited.mjs +23 -13
  20. package/build/import/type/bigint/bigint.d.mts +1 -0
  21. package/build/import/type/bigint/bigint.mjs +1 -0
  22. package/build/import/type/boolean/boolean.d.mts +1 -0
  23. package/build/import/type/boolean/boolean.mjs +1 -0
  24. package/build/import/type/clone/type.d.mts +2 -0
  25. package/build/import/type/clone/type.mjs +2 -0
  26. package/build/import/type/clone/value.d.mts +1 -0
  27. package/build/import/type/clone/value.mjs +2 -0
  28. package/build/import/type/composite/composite.d.mts +1 -0
  29. package/build/import/type/composite/composite.mjs +1 -0
  30. package/build/import/type/const/const.d.mts +2 -1
  31. package/build/import/type/const/const.mjs +5 -1
  32. package/build/import/type/constructor/constructor.d.mts +1 -0
  33. package/build/import/type/constructor/constructor.mjs +1 -0
  34. package/build/import/type/constructor-parameters/constructor-parameters.d.mts +1 -0
  35. package/build/import/type/constructor-parameters/constructor-parameters.mjs +1 -0
  36. package/build/import/type/date/date.d.mts +6 -0
  37. package/build/import/type/date/date.mjs +1 -0
  38. package/build/import/type/deref/deref.d.mts +1 -0
  39. package/build/import/type/deref/deref.mjs +18 -0
  40. package/build/import/type/enum/enum.d.mts +1 -0
  41. package/build/import/type/enum/enum.mjs +1 -0
  42. package/build/import/type/exclude/exclude-from-mapped-result.mjs +3 -0
  43. package/build/import/type/exclude/exclude.d.mts +2 -0
  44. package/build/import/type/exclude/exclude.mjs +3 -0
  45. package/build/import/type/extends/extends-check.mjs +173 -1
  46. package/build/import/type/extends/extends-from-mapped-key.mjs +4 -0
  47. package/build/import/type/extends/extends-from-mapped-result.mjs +3 -0
  48. package/build/import/type/extends/extends-undefined.d.mts +1 -0
  49. package/build/import/type/extends/extends-undefined.mjs +3 -0
  50. package/build/import/type/extends/extends.d.mts +3 -0
  51. package/build/import/type/extends/extends.mjs +7 -0
  52. package/build/import/type/extract/extract-from-mapped-result.mjs +3 -0
  53. package/build/import/type/extract/extract.d.mts +2 -0
  54. package/build/import/type/extract/extract.mjs +3 -0
  55. package/build/import/type/function/function.d.mts +1 -0
  56. package/build/import/type/function/function.mjs +1 -0
  57. package/build/import/type/guard/type.d.mts +46 -0
  58. package/build/import/type/guard/type.mjs +84 -1
  59. package/build/import/type/guard/value.d.mts +14 -0
  60. package/build/import/type/guard/value.mjs +14 -0
  61. package/build/import/type/helpers/helpers.d.mts +1 -0
  62. package/build/import/type/helpers/helpers.mjs +1 -0
  63. package/build/import/type/indexed/index.d.mts +0 -1
  64. package/build/import/type/indexed/index.mjs +0 -1
  65. package/build/import/type/indexed/indexed-from-mapped-key.d.mts +2 -2
  66. package/build/import/type/indexed/indexed-from-mapped-key.mjs +10 -3
  67. package/build/import/type/indexed/indexed-property-keys.d.mts +1 -0
  68. package/build/import/type/indexed/indexed-property-keys.mjs +9 -0
  69. package/build/import/type/indexed/indexed.d.mts +40 -4
  70. package/build/import/type/indexed/indexed.mjs +84 -5
  71. package/build/import/type/instance-type/instance-type.d.mts +1 -0
  72. package/build/import/type/instance-type/instance-type.mjs +1 -0
  73. package/build/import/type/integer/integer.d.mts +1 -0
  74. package/build/import/type/integer/integer.mjs +1 -0
  75. package/build/import/type/intersect/intersect-create.mjs +8 -0
  76. package/build/import/type/intersect/intersect-evaluated.d.mts +1 -0
  77. package/build/import/type/intersect/intersect-evaluated.mjs +9 -0
  78. package/build/import/type/intersect/intersect.d.mts +1 -0
  79. package/build/import/type/intersect/intersect.mjs +5 -0
  80. package/build/import/type/intrinsic/capitalize.d.mts +1 -0
  81. package/build/import/type/intrinsic/capitalize.mjs +1 -0
  82. package/build/import/type/intrinsic/intrinsic-from-mapped-key.mjs +4 -0
  83. package/build/import/type/intrinsic/intrinsic.d.mts +2 -0
  84. package/build/import/type/intrinsic/intrinsic.mjs +16 -1
  85. package/build/import/type/intrinsic/lowercase.d.mts +1 -0
  86. package/build/import/type/intrinsic/lowercase.mjs +1 -0
  87. package/build/import/type/intrinsic/uncapitalize.d.mts +1 -0
  88. package/build/import/type/intrinsic/uncapitalize.mjs +1 -0
  89. package/build/import/type/intrinsic/uppercase.d.mts +1 -0
  90. package/build/import/type/intrinsic/uppercase.mjs +1 -0
  91. package/build/import/type/iterator/iterator.d.mts +1 -0
  92. package/build/import/type/iterator/iterator.mjs +1 -0
  93. package/build/import/type/keyof/keyof-from-mapped-result.mjs +3 -0
  94. package/build/import/type/keyof/keyof-property-keys.d.mts +2 -0
  95. package/build/import/type/keyof/keyof-property-keys.mjs +20 -0
  96. package/build/import/type/keyof/keyof.d.mts +2 -0
  97. package/build/import/type/keyof/keyof.mjs +6 -0
  98. package/build/import/type/literal/literal.d.mts +1 -0
  99. package/build/import/type/literal/literal.mjs +1 -0
  100. package/build/import/type/mapped/mapped-key.mjs +1 -0
  101. package/build/import/type/mapped/mapped-result.mjs +1 -0
  102. package/build/import/type/mapped/mapped.d.mts +2 -0
  103. package/build/import/type/mapped/mapped.mjs +19 -1
  104. package/build/import/type/modifiers/modifiers.mjs +10 -0
  105. package/build/import/type/never/never.d.mts +1 -0
  106. package/build/import/type/never/never.mjs +1 -0
  107. package/build/import/type/not/not.d.mts +1 -0
  108. package/build/import/type/not/not.mjs +1 -0
  109. package/build/import/type/null/null.d.mts +1 -0
  110. package/build/import/type/null/null.mjs +1 -0
  111. package/build/import/type/number/number.d.mts +1 -0
  112. package/build/import/type/number/number.mjs +1 -0
  113. package/build/import/type/object/object.d.mts +5 -0
  114. package/build/import/type/object/object.mjs +6 -0
  115. package/build/import/type/omit/omit-from-mapped-key.mjs +4 -0
  116. package/build/import/type/omit/omit.d.mts +3 -0
  117. package/build/import/type/omit/omit.mjs +12 -0
  118. package/build/import/type/operators/operators.d.mts +8 -0
  119. package/build/import/type/operators/operators.mjs +15 -0
  120. package/build/import/type/optional/optional.d.mts +1 -0
  121. package/build/import/type/optional/optional.mjs +1 -0
  122. package/build/import/type/parameters/parameters.d.mts +1 -0
  123. package/build/import/type/parameters/parameters.mjs +1 -0
  124. package/build/import/type/partial/partial-from-mapped-result.mjs +3 -0
  125. package/build/import/type/partial/partial.d.mts +2 -0
  126. package/build/import/type/partial/partial.mjs +9 -0
  127. package/build/import/type/pick/pick-from-mapped-key.mjs +4 -0
  128. package/build/import/type/pick/pick.d.mts +3 -0
  129. package/build/import/type/pick/pick.mjs +7 -0
  130. package/build/import/type/promise/promise.d.mts +1 -0
  131. package/build/import/type/promise/promise.mjs +1 -0
  132. package/build/import/type/readonly/readonly.d.mts +1 -0
  133. package/build/import/type/readonly/readonly.mjs +1 -0
  134. package/build/import/type/readonly-optional/readonly-optional.d.mts +1 -0
  135. package/build/import/type/readonly-optional/readonly-optional.mjs +1 -0
  136. package/build/import/type/record/record.d.mts +11 -9
  137. package/build/import/type/record/record.mjs +53 -28
  138. package/build/import/type/recursive/recursive.d.mts +1 -0
  139. package/build/import/type/recursive/recursive.mjs +3 -0
  140. package/build/import/type/ref/ref.d.mts +2 -0
  141. package/build/import/type/ref/ref.mjs +1 -0
  142. package/build/import/type/regexp/regexp.d.mts +2 -0
  143. package/build/import/type/regexp/regexp.mjs +1 -0
  144. package/build/import/type/registry/format.d.mts +6 -0
  145. package/build/import/type/registry/format.mjs +7 -0
  146. package/build/import/type/registry/type.d.mts +6 -0
  147. package/build/import/type/registry/type.mjs +7 -0
  148. package/build/import/type/required/required-from-mapped-result.mjs +3 -0
  149. package/build/import/type/required/required.d.mts +2 -0
  150. package/build/import/type/required/required.mjs +9 -0
  151. package/build/import/type/rest/rest.d.mts +1 -0
  152. package/build/import/type/rest/rest.mjs +5 -0
  153. package/build/import/type/return-type/return-type.d.mts +1 -0
  154. package/build/import/type/return-type/return-type.mjs +1 -0
  155. package/build/import/type/schema/schema.d.mts +7 -0
  156. package/build/import/type/static/static.d.mts +3 -0
  157. package/build/import/type/strict/strict.d.mts +1 -0
  158. package/build/import/type/strict/strict.mjs +1 -0
  159. package/build/import/type/string/string.d.mts +7 -0
  160. package/build/import/type/string/string.mjs +1 -0
  161. package/build/import/type/symbol/symbol.d.mts +1 -0
  162. package/build/import/type/symbol/symbol.mjs +1 -0
  163. package/build/import/type/symbols/symbols.d.mts +5 -0
  164. package/build/import/type/symbols/symbols.mjs +5 -0
  165. package/build/import/type/template-literal/finite.mjs +10 -0
  166. package/build/import/type/template-literal/generate.mjs +10 -0
  167. package/build/import/type/template-literal/parser.d.mts +2 -0
  168. package/build/import/type/template-literal/parser.mjs +17 -0
  169. package/build/import/type/template-literal/pattern.mjs +11 -0
  170. package/build/import/type/template-literal/syntax.d.mts +1 -0
  171. package/build/import/type/template-literal/syntax.mjs +8 -0
  172. package/build/import/type/template-literal/template-literal.d.mts +2 -0
  173. package/build/import/type/template-literal/template-literal.mjs +2 -0
  174. package/build/import/type/template-literal/union.d.mts +1 -0
  175. package/build/import/type/template-literal/union.mjs +4 -0
  176. package/build/import/type/transform/transform.d.mts +1 -0
  177. package/build/import/type/transform/transform.mjs +9 -0
  178. package/build/import/type/tuple/tuple.d.mts +1 -0
  179. package/build/import/type/tuple/tuple.mjs +3 -0
  180. package/build/import/type/type/index.d.mts +1 -0
  181. package/build/import/type/type/index.mjs +7 -0
  182. package/build/import/type/type/javascript.d.mts +19 -0
  183. package/build/import/type/type/javascript.mjs +18 -0
  184. package/build/import/type/type/json.d.mts +64 -3
  185. package/build/import/type/type/json.mjs +55 -1
  186. package/build/import/type/type/type.mjs +3 -0
  187. package/build/import/type/uint8array/uint8array.d.mts +1 -0
  188. package/build/import/type/uint8array/uint8array.mjs +1 -0
  189. package/build/import/type/undefined/undefined.d.mts +1 -0
  190. package/build/import/type/undefined/undefined.mjs +1 -0
  191. package/build/import/type/union/union-evaluated.d.mts +1 -0
  192. package/build/import/type/union/union-evaluated.mjs +10 -0
  193. package/build/import/type/union/union.d.mts +1 -0
  194. package/build/import/type/union/union.mjs +2 -0
  195. package/build/import/type/unknown/unknown.d.mts +1 -0
  196. package/build/import/type/unknown/unknown.mjs +1 -0
  197. package/build/import/type/unsafe/unsafe.d.mts +1 -0
  198. package/build/import/type/unsafe/unsafe.mjs +1 -0
  199. package/build/import/type/void/void.d.mts +1 -0
  200. package/build/import/type/void/void.mjs +1 -0
  201. package/build/import/value/cast/cast.d.mts +2 -0
  202. package/build/import/value/cast/cast.mjs +28 -0
  203. package/build/import/value/check/check.d.mts +2 -0
  204. package/build/import/value/check/check.mjs +19 -1
  205. package/build/import/value/clean/clean.d.mts +2 -0
  206. package/build/import/value/clean/clean.mjs +12 -1
  207. package/build/import/value/clone/clone.d.mts +1 -0
  208. package/build/import/value/clone/clone.mjs +7 -0
  209. package/build/import/value/convert/convert.d.mts +2 -0
  210. package/build/import/value/convert/convert.mjs +30 -1
  211. package/build/import/value/create/create.d.mts +2 -0
  212. package/build/import/value/create/create.mjs +17 -0
  213. package/build/import/value/default/default.d.mts +2 -0
  214. package/build/import/value/default/default.mjs +19 -0
  215. package/build/import/value/delta/delta.mjs +15 -0
  216. package/build/import/value/deref/deref.d.mts +1 -0
  217. package/build/import/value/deref/deref.mjs +1 -0
  218. package/build/import/value/equal/equal.d.mts +1 -0
  219. package/build/import/value/equal/equal.mjs +7 -0
  220. package/build/import/value/guard/guard.d.mts +20 -0
  221. package/build/import/value/guard/guard.mjs +30 -0
  222. package/build/import/value/hash/hash.d.mts +1 -0
  223. package/build/import/value/hash/hash.mjs +19 -0
  224. package/build/import/value/index.mjs +12 -0
  225. package/build/import/value/mutate/mutate.d.mts +1 -0
  226. package/build/import/value/mutate/mutate.mjs +11 -0
  227. package/build/import/value/pointer/pointer.d.mts +5 -0
  228. package/build/import/value/pointer/pointer.mjs +18 -0
  229. package/build/import/value/transform/decode.d.mts +5 -0
  230. package/build/import/value/transform/decode.mjs +23 -0
  231. package/build/import/value/transform/encode.d.mts +6 -0
  232. package/build/import/value/transform/encode.mjs +25 -0
  233. package/build/import/value/transform/has.d.mts +1 -0
  234. package/build/import/value/transform/has.mjs +16 -0
  235. package/build/import/value/value/value.d.mts +24 -0
  236. package/build/import/value/value/value.mjs +15 -0
  237. package/build/require/compiler/compiler.d.ts +9 -0
  238. package/build/require/compiler/compiler.js +61 -6
  239. package/build/require/compiler/index.js +1 -0
  240. package/build/require/errors/errors.d.ts +3 -0
  241. package/build/require/errors/errors.js +29 -3
  242. package/build/require/errors/function.d.ts +3 -0
  243. package/build/require/errors/function.js +5 -0
  244. package/build/require/errors/index.js +1 -0
  245. package/build/require/index.js +10 -0
  246. package/build/require/system/index.js +1 -0
  247. package/build/require/system/policy.d.ts +10 -0
  248. package/build/require/system/policy.js +14 -0
  249. package/build/require/system/system.d.ts +3 -0
  250. package/build/require/system/system.js +10 -0
  251. package/build/require/type/any/any.d.ts +1 -0
  252. package/build/require/type/any/any.js +2 -0
  253. package/build/require/type/any/index.js +1 -0
  254. package/build/require/type/array/array.d.ts +7 -0
  255. package/build/require/type/array/array.js +2 -0
  256. package/build/require/type/array/index.js +1 -0
  257. package/build/require/type/async-iterator/async-iterator.d.ts +1 -0
  258. package/build/require/type/async-iterator/async-iterator.js +2 -0
  259. package/build/require/type/async-iterator/index.js +1 -0
  260. package/build/require/type/awaited/awaited.d.ts +7 -6
  261. package/build/require/type/awaited/awaited.js +25 -15
  262. package/build/require/type/awaited/index.js +1 -0
  263. package/build/require/type/bigint/bigint.d.ts +1 -0
  264. package/build/require/type/bigint/bigint.js +2 -0
  265. package/build/require/type/bigint/index.js +1 -0
  266. package/build/require/type/boolean/boolean.d.ts +1 -0
  267. package/build/require/type/boolean/boolean.js +2 -0
  268. package/build/require/type/boolean/index.js +1 -0
  269. package/build/require/type/clone/index.js +1 -0
  270. package/build/require/type/clone/type.d.ts +2 -0
  271. package/build/require/type/clone/type.js +3 -0
  272. package/build/require/type/clone/value.d.ts +1 -0
  273. package/build/require/type/clone/value.js +3 -0
  274. package/build/require/type/composite/composite.d.ts +1 -0
  275. package/build/require/type/composite/composite.js +2 -0
  276. package/build/require/type/composite/index.js +1 -0
  277. package/build/require/type/const/const.d.ts +2 -1
  278. package/build/require/type/const/const.js +6 -1
  279. package/build/require/type/const/index.js +1 -0
  280. package/build/require/type/constructor/constructor.d.ts +1 -0
  281. package/build/require/type/constructor/constructor.js +2 -0
  282. package/build/require/type/constructor/index.js +1 -0
  283. package/build/require/type/constructor-parameters/constructor-parameters.d.ts +1 -0
  284. package/build/require/type/constructor-parameters/constructor-parameters.js +2 -0
  285. package/build/require/type/constructor-parameters/index.js +1 -0
  286. package/build/require/type/date/date.d.ts +6 -0
  287. package/build/require/type/date/date.js +2 -0
  288. package/build/require/type/date/index.js +1 -0
  289. package/build/require/type/deref/deref.d.ts +1 -0
  290. package/build/require/type/deref/deref.js +19 -0
  291. package/build/require/type/deref/index.js +1 -0
  292. package/build/require/type/discard/discard.js +1 -0
  293. package/build/require/type/discard/index.js +1 -0
  294. package/build/require/type/enum/enum.d.ts +1 -0
  295. package/build/require/type/enum/enum.js +2 -0
  296. package/build/require/type/enum/index.js +1 -0
  297. package/build/require/type/exclude/exclude-from-mapped-result.js +4 -0
  298. package/build/require/type/exclude/exclude.d.ts +2 -0
  299. package/build/require/type/exclude/exclude.js +4 -0
  300. package/build/require/type/exclude/index.js +1 -0
  301. package/build/require/type/extends/extends-check.js +174 -1
  302. package/build/require/type/extends/extends-from-mapped-key.js +5 -0
  303. package/build/require/type/extends/extends-from-mapped-result.js +4 -0
  304. package/build/require/type/extends/extends-undefined.d.ts +1 -0
  305. package/build/require/type/extends/extends-undefined.js +4 -0
  306. package/build/require/type/extends/extends.d.ts +3 -0
  307. package/build/require/type/extends/extends.js +8 -0
  308. package/build/require/type/extends/index.js +1 -0
  309. package/build/require/type/extract/extract-from-mapped-result.js +4 -0
  310. package/build/require/type/extract/extract.d.ts +2 -0
  311. package/build/require/type/extract/extract.js +4 -0
  312. package/build/require/type/extract/index.js +1 -0
  313. package/build/require/type/function/function.d.ts +1 -0
  314. package/build/require/type/function/function.js +2 -0
  315. package/build/require/type/function/index.js +1 -0
  316. package/build/require/type/guard/index.js +1 -0
  317. package/build/require/type/guard/type.d.ts +46 -0
  318. package/build/require/type/guard/type.js +85 -1
  319. package/build/require/type/guard/value.d.ts +14 -0
  320. package/build/require/type/guard/value.js +15 -0
  321. package/build/require/type/helpers/helpers.d.ts +1 -0
  322. package/build/require/type/helpers/helpers.js +2 -0
  323. package/build/require/type/helpers/index.js +1 -0
  324. package/build/require/type/index.js +1 -0
  325. package/build/require/type/indexed/index.d.ts +0 -1
  326. package/build/require/type/indexed/index.js +1 -1
  327. package/build/require/type/indexed/indexed-from-mapped-key.d.ts +2 -2
  328. package/build/require/type/indexed/indexed-from-mapped-key.js +11 -3
  329. package/build/require/type/indexed/indexed-property-keys.d.ts +1 -0
  330. package/build/require/type/indexed/indexed-property-keys.js +10 -0
  331. package/build/require/type/indexed/indexed.d.ts +40 -4
  332. package/build/require/type/indexed/indexed.js +84 -4
  333. package/build/require/type/instance-type/index.js +1 -0
  334. package/build/require/type/instance-type/instance-type.d.ts +1 -0
  335. package/build/require/type/instance-type/instance-type.js +2 -0
  336. package/build/require/type/integer/index.js +1 -0
  337. package/build/require/type/integer/integer.d.ts +1 -0
  338. package/build/require/type/integer/integer.js +2 -0
  339. package/build/require/type/intersect/index.js +1 -0
  340. package/build/require/type/intersect/intersect-create.js +9 -0
  341. package/build/require/type/intersect/intersect-evaluated.d.ts +1 -0
  342. package/build/require/type/intersect/intersect-evaluated.js +10 -0
  343. package/build/require/type/intersect/intersect-type.js +1 -0
  344. package/build/require/type/intersect/intersect.d.ts +1 -0
  345. package/build/require/type/intersect/intersect.js +6 -0
  346. package/build/require/type/intrinsic/capitalize.d.ts +1 -0
  347. package/build/require/type/intrinsic/capitalize.js +2 -0
  348. package/build/require/type/intrinsic/index.js +1 -0
  349. package/build/require/type/intrinsic/intrinsic-from-mapped-key.js +5 -0
  350. package/build/require/type/intrinsic/intrinsic.d.ts +2 -0
  351. package/build/require/type/intrinsic/intrinsic.js +17 -1
  352. package/build/require/type/intrinsic/lowercase.d.ts +1 -0
  353. package/build/require/type/intrinsic/lowercase.js +2 -0
  354. package/build/require/type/intrinsic/uncapitalize.d.ts +1 -0
  355. package/build/require/type/intrinsic/uncapitalize.js +2 -0
  356. package/build/require/type/intrinsic/uppercase.d.ts +1 -0
  357. package/build/require/type/intrinsic/uppercase.js +2 -0
  358. package/build/require/type/iterator/index.js +1 -0
  359. package/build/require/type/iterator/iterator.d.ts +1 -0
  360. package/build/require/type/iterator/iterator.js +2 -0
  361. package/build/require/type/keyof/index.js +1 -0
  362. package/build/require/type/keyof/keyof-from-mapped-result.js +4 -0
  363. package/build/require/type/keyof/keyof-property-keys.d.ts +2 -0
  364. package/build/require/type/keyof/keyof-property-keys.js +21 -0
  365. package/build/require/type/keyof/keyof.d.ts +2 -0
  366. package/build/require/type/keyof/keyof.js +7 -0
  367. package/build/require/type/literal/index.js +1 -0
  368. package/build/require/type/literal/literal.d.ts +1 -0
  369. package/build/require/type/literal/literal.js +2 -0
  370. package/build/require/type/mapped/index.js +1 -0
  371. package/build/require/type/mapped/mapped-key.js +2 -0
  372. package/build/require/type/mapped/mapped-result.js +2 -0
  373. package/build/require/type/mapped/mapped.d.ts +2 -0
  374. package/build/require/type/mapped/mapped.js +20 -1
  375. package/build/require/type/modifiers/index.js +1 -0
  376. package/build/require/type/modifiers/modifiers.js +11 -0
  377. package/build/require/type/never/index.js +1 -0
  378. package/build/require/type/never/never.d.ts +1 -0
  379. package/build/require/type/never/never.js +2 -0
  380. package/build/require/type/not/index.js +1 -0
  381. package/build/require/type/not/not.d.ts +1 -0
  382. package/build/require/type/not/not.js +2 -0
  383. package/build/require/type/null/index.js +1 -0
  384. package/build/require/type/null/null.d.ts +1 -0
  385. package/build/require/type/null/null.js +2 -0
  386. package/build/require/type/number/index.js +1 -0
  387. package/build/require/type/number/number.d.ts +1 -0
  388. package/build/require/type/number/number.js +2 -0
  389. package/build/require/type/object/index.js +1 -0
  390. package/build/require/type/object/object.d.ts +5 -0
  391. package/build/require/type/object/object.js +7 -0
  392. package/build/require/type/omit/index.js +1 -0
  393. package/build/require/type/omit/omit-from-mapped-key.js +5 -0
  394. package/build/require/type/omit/omit.d.ts +3 -0
  395. package/build/require/type/omit/omit.js +13 -0
  396. package/build/require/type/operators/index.js +1 -0
  397. package/build/require/type/operators/operators.d.ts +8 -0
  398. package/build/require/type/operators/operators.js +16 -0
  399. package/build/require/type/optional/index.js +1 -0
  400. package/build/require/type/optional/optional.d.ts +1 -0
  401. package/build/require/type/optional/optional.js +2 -0
  402. package/build/require/type/parameters/index.js +1 -0
  403. package/build/require/type/parameters/parameters.d.ts +1 -0
  404. package/build/require/type/parameters/parameters.js +2 -0
  405. package/build/require/type/partial/index.js +1 -0
  406. package/build/require/type/partial/partial-from-mapped-result.js +4 -0
  407. package/build/require/type/partial/partial.d.ts +2 -0
  408. package/build/require/type/partial/partial.js +10 -0
  409. package/build/require/type/patterns/index.js +1 -0
  410. package/build/require/type/patterns/patterns.js +1 -0
  411. package/build/require/type/pick/index.js +1 -0
  412. package/build/require/type/pick/pick-from-mapped-key.js +5 -0
  413. package/build/require/type/pick/pick.d.ts +3 -0
  414. package/build/require/type/pick/pick.js +8 -0
  415. package/build/require/type/promise/index.js +1 -0
  416. package/build/require/type/promise/promise.d.ts +1 -0
  417. package/build/require/type/promise/promise.js +2 -0
  418. package/build/require/type/readonly/index.js +1 -0
  419. package/build/require/type/readonly/readonly.d.ts +1 -0
  420. package/build/require/type/readonly/readonly.js +2 -0
  421. package/build/require/type/readonly-optional/index.js +1 -0
  422. package/build/require/type/readonly-optional/readonly-optional.d.ts +1 -0
  423. package/build/require/type/readonly-optional/readonly-optional.js +2 -0
  424. package/build/require/type/record/index.js +1 -0
  425. package/build/require/type/record/record.d.ts +11 -9
  426. package/build/require/type/record/record.js +54 -28
  427. package/build/require/type/recursive/index.js +1 -0
  428. package/build/require/type/recursive/recursive.d.ts +1 -0
  429. package/build/require/type/recursive/recursive.js +4 -0
  430. package/build/require/type/ref/index.js +1 -0
  431. package/build/require/type/ref/ref.d.ts +2 -0
  432. package/build/require/type/ref/ref.js +2 -0
  433. package/build/require/type/regexp/index.js +1 -0
  434. package/build/require/type/regexp/regexp.d.ts +2 -0
  435. package/build/require/type/regexp/regexp.js +2 -0
  436. package/build/require/type/registry/format.d.ts +6 -0
  437. package/build/require/type/registry/format.js +8 -0
  438. package/build/require/type/registry/index.js +1 -0
  439. package/build/require/type/registry/type.d.ts +6 -0
  440. package/build/require/type/registry/type.js +8 -0
  441. package/build/require/type/required/index.js +1 -0
  442. package/build/require/type/required/required-from-mapped-result.js +4 -0
  443. package/build/require/type/required/required.d.ts +2 -0
  444. package/build/require/type/required/required.js +10 -0
  445. package/build/require/type/rest/index.js +1 -0
  446. package/build/require/type/rest/rest.d.ts +1 -0
  447. package/build/require/type/rest/rest.js +6 -0
  448. package/build/require/type/return-type/index.js +1 -0
  449. package/build/require/type/return-type/return-type.d.ts +1 -0
  450. package/build/require/type/return-type/return-type.js +2 -0
  451. package/build/require/type/schema/anyschema.js +1 -0
  452. package/build/require/type/schema/index.js +1 -0
  453. package/build/require/type/schema/schema.d.ts +7 -0
  454. package/build/require/type/schema/schema.js +1 -0
  455. package/build/require/type/static/index.js +1 -0
  456. package/build/require/type/static/static.d.ts +3 -0
  457. package/build/require/type/static/static.js +1 -0
  458. package/build/require/type/strict/index.js +1 -0
  459. package/build/require/type/strict/strict.d.ts +1 -0
  460. package/build/require/type/strict/strict.js +2 -0
  461. package/build/require/type/string/index.js +1 -0
  462. package/build/require/type/string/string.d.ts +7 -0
  463. package/build/require/type/string/string.js +2 -0
  464. package/build/require/type/symbol/index.js +1 -0
  465. package/build/require/type/symbol/symbol.d.ts +1 -0
  466. package/build/require/type/symbol/symbol.js +2 -0
  467. package/build/require/type/symbols/index.js +1 -0
  468. package/build/require/type/symbols/symbols.d.ts +5 -0
  469. package/build/require/type/symbols/symbols.js +6 -0
  470. package/build/require/type/template-literal/finite.js +11 -0
  471. package/build/require/type/template-literal/generate.js +11 -0
  472. package/build/require/type/template-literal/index.js +1 -0
  473. package/build/require/type/template-literal/parser.d.ts +2 -0
  474. package/build/require/type/template-literal/parser.js +18 -0
  475. package/build/require/type/template-literal/pattern.js +12 -0
  476. package/build/require/type/template-literal/syntax.d.ts +1 -0
  477. package/build/require/type/template-literal/syntax.js +9 -0
  478. package/build/require/type/template-literal/template-literal.d.ts +2 -0
  479. package/build/require/type/template-literal/template-literal.js +3 -0
  480. package/build/require/type/template-literal/union.d.ts +1 -0
  481. package/build/require/type/template-literal/union.js +5 -0
  482. package/build/require/type/transform/index.js +1 -0
  483. package/build/require/type/transform/transform.d.ts +1 -0
  484. package/build/require/type/transform/transform.js +10 -0
  485. package/build/require/type/tuple/index.js +1 -0
  486. package/build/require/type/tuple/tuple.d.ts +1 -0
  487. package/build/require/type/tuple/tuple.js +4 -0
  488. package/build/require/type/type/index.d.ts +1 -0
  489. package/build/require/type/type/index.js +8 -0
  490. package/build/require/type/type/javascript.d.ts +19 -0
  491. package/build/require/type/type/javascript.js +19 -0
  492. package/build/require/type/type/json.d.ts +64 -3
  493. package/build/require/type/type/json.js +56 -1
  494. package/build/require/type/type/type.js +4 -0
  495. package/build/require/type/uint8array/index.js +1 -0
  496. package/build/require/type/uint8array/uint8array.d.ts +1 -0
  497. package/build/require/type/uint8array/uint8array.js +2 -0
  498. package/build/require/type/undefined/index.js +1 -0
  499. package/build/require/type/undefined/undefined.d.ts +1 -0
  500. package/build/require/type/undefined/undefined.js +2 -0
  501. package/build/require/type/union/index.js +1 -0
  502. package/build/require/type/union/union-create.js +1 -0
  503. package/build/require/type/union/union-evaluated.d.ts +1 -0
  504. package/build/require/type/union/union-evaluated.js +11 -0
  505. package/build/require/type/union/union-type.js +1 -0
  506. package/build/require/type/union/union.d.ts +1 -0
  507. package/build/require/type/union/union.js +3 -0
  508. package/build/require/type/unknown/index.js +1 -0
  509. package/build/require/type/unknown/unknown.d.ts +1 -0
  510. package/build/require/type/unknown/unknown.js +2 -0
  511. package/build/require/type/unsafe/index.js +1 -0
  512. package/build/require/type/unsafe/unsafe.d.ts +1 -0
  513. package/build/require/type/unsafe/unsafe.js +2 -0
  514. package/build/require/type/void/index.js +1 -0
  515. package/build/require/type/void/void.d.ts +1 -0
  516. package/build/require/type/void/void.js +2 -0
  517. package/build/require/value/cast/cast.d.ts +2 -0
  518. package/build/require/value/cast/cast.js +29 -0
  519. package/build/require/value/cast/index.js +1 -0
  520. package/build/require/value/check/check.d.ts +2 -0
  521. package/build/require/value/check/check.js +20 -1
  522. package/build/require/value/check/index.js +1 -0
  523. package/build/require/value/clean/clean.d.ts +2 -0
  524. package/build/require/value/clean/clean.js +13 -1
  525. package/build/require/value/clean/index.js +1 -0
  526. package/build/require/value/clone/clone.d.ts +1 -0
  527. package/build/require/value/clone/clone.js +8 -0
  528. package/build/require/value/clone/index.js +1 -0
  529. package/build/require/value/convert/convert.d.ts +2 -0
  530. package/build/require/value/convert/convert.js +31 -1
  531. package/build/require/value/convert/index.js +1 -0
  532. package/build/require/value/create/create.d.ts +2 -0
  533. package/build/require/value/create/create.js +18 -0
  534. package/build/require/value/create/index.js +1 -0
  535. package/build/require/value/default/default.d.ts +2 -0
  536. package/build/require/value/default/default.js +20 -0
  537. package/build/require/value/default/index.js +1 -0
  538. package/build/require/value/delta/delta.js +16 -0
  539. package/build/require/value/delta/index.js +1 -0
  540. package/build/require/value/deref/deref.d.ts +1 -0
  541. package/build/require/value/deref/deref.js +2 -0
  542. package/build/require/value/deref/index.js +1 -0
  543. package/build/require/value/equal/equal.d.ts +1 -0
  544. package/build/require/value/equal/equal.js +8 -0
  545. package/build/require/value/equal/index.js +1 -0
  546. package/build/require/value/guard/guard.d.ts +20 -0
  547. package/build/require/value/guard/guard.js +31 -0
  548. package/build/require/value/guard/index.js +1 -0
  549. package/build/require/value/hash/hash.d.ts +1 -0
  550. package/build/require/value/hash/hash.js +20 -0
  551. package/build/require/value/hash/index.js +1 -0
  552. package/build/require/value/index.js +13 -0
  553. package/build/require/value/mutate/index.js +1 -0
  554. package/build/require/value/mutate/mutate.d.ts +1 -0
  555. package/build/require/value/mutate/mutate.js +12 -0
  556. package/build/require/value/pointer/index.js +1 -0
  557. package/build/require/value/pointer/pointer.d.ts +5 -0
  558. package/build/require/value/pointer/pointer.js +19 -0
  559. package/build/require/value/transform/decode.d.ts +5 -0
  560. package/build/require/value/transform/decode.js +24 -0
  561. package/build/require/value/transform/encode.d.ts +6 -0
  562. package/build/require/value/transform/encode.js +26 -0
  563. package/build/require/value/transform/has.d.ts +1 -0
  564. package/build/require/value/transform/has.js +17 -0
  565. package/build/require/value/transform/index.js +1 -0
  566. package/build/require/value/value/index.js +1 -0
  567. package/build/require/value/value/value.d.ts +24 -0
  568. package/build/require/value/value/value.js +16 -0
  569. package/license +3 -1
  570. package/package.json +1 -1
  571. package/readme.md +4 -5
  572. package/build/import/type/indexed/indexed-result.d.mts +0 -33
  573. package/build/import/type/indexed/indexed-result.mjs +0 -65
  574. package/build/require/type/indexed/indexed-result.d.ts +0 -33
  575. package/build/require/type/indexed/indexed-result.js +0 -69
@@ -1,7 +1,13 @@
1
1
  export type FormatRegistryValidationFunction = (value: string) => boolean;
2
+ /** Returns the entries in this registry */
2
3
  export declare function Entries(): Map<string, FormatRegistryValidationFunction>;
4
+ /** Clears all user defined string formats */
3
5
  export declare function Clear(): void;
6
+ /** Deletes a registered format */
4
7
  export declare function Delete(format: string): boolean;
8
+ /** Returns true if the user defined string format exists */
5
9
  export declare function Has(format: string): boolean;
10
+ /** Sets a validation function for a user defined string format */
6
11
  export declare function Set(format: string, func: FormatRegistryValidationFunction): void;
12
+ /** Gets a validation function for a user defined string format */
7
13
  export declare function Get(format: string): FormatRegistryValidationFunction | undefined;
@@ -1,27 +1,35 @@
1
1
  "use strict";
2
+
2
3
  Object.defineProperty(exports, "__esModule", { value: true });
3
4
  exports.Get = exports.Set = exports.Has = exports.Delete = exports.Clear = exports.Entries = void 0;
5
+ /** A registry for user defined string formats */
4
6
  const map = new Map();
7
+ /** Returns the entries in this registry */
5
8
  function Entries() {
6
9
  return new Map(map);
7
10
  }
8
11
  exports.Entries = Entries;
12
+ /** Clears all user defined string formats */
9
13
  function Clear() {
10
14
  return map.clear();
11
15
  }
12
16
  exports.Clear = Clear;
17
+ /** Deletes a registered format */
13
18
  function Delete(format) {
14
19
  return map.delete(format);
15
20
  }
16
21
  exports.Delete = Delete;
22
+ /** Returns true if the user defined string format exists */
17
23
  function Has(format) {
18
24
  return map.has(format);
19
25
  }
20
26
  exports.Has = Has;
27
+ /** Sets a validation function for a user defined string format */
21
28
  function Set(format, func) {
22
29
  map.set(format, func);
23
30
  }
24
31
  exports.Set = Set;
32
+ /** Gets a validation function for a user defined string format */
25
33
  function Get(format) {
26
34
  return map.get(format);
27
35
  }
@@ -1,4 +1,5 @@
1
1
  "use strict";
2
+
2
3
  Object.defineProperty(exports, "__esModule", { value: true });
3
4
  exports.TypeRegistry = exports.FormatRegistry = void 0;
4
5
  exports.FormatRegistry = require("./format");
@@ -1,7 +1,13 @@
1
1
  export type TypeRegistryValidationFunction<TSchema> = (schema: TSchema, value: unknown) => boolean;
2
+ /** Returns the entries in this registry */
2
3
  export declare function Entries(): Map<string, TypeRegistryValidationFunction<any>>;
4
+ /** Clears all user defined types */
3
5
  export declare function Clear(): void;
6
+ /** Deletes a registered type */
4
7
  export declare function Delete(kind: string): boolean;
8
+ /** Returns true if this registry contains this kind */
5
9
  export declare function Has(kind: string): boolean;
10
+ /** Sets a validation function for a user defined type */
6
11
  export declare function Set<TSchema = unknown>(kind: string, func: TypeRegistryValidationFunction<TSchema>): void;
12
+ /** Gets a custom validation function for a user defined type */
7
13
  export declare function Get(kind: string): TypeRegistryValidationFunction<any> | undefined;
@@ -1,27 +1,35 @@
1
1
  "use strict";
2
+
2
3
  Object.defineProperty(exports, "__esModule", { value: true });
3
4
  exports.Get = exports.Set = exports.Has = exports.Delete = exports.Clear = exports.Entries = void 0;
5
+ /** A registry for user defined types */
4
6
  const map = new Map();
7
+ /** Returns the entries in this registry */
5
8
  function Entries() {
6
9
  return new Map(map);
7
10
  }
8
11
  exports.Entries = Entries;
12
+ /** Clears all user defined types */
9
13
  function Clear() {
10
14
  return map.clear();
11
15
  }
12
16
  exports.Clear = Clear;
17
+ /** Deletes a registered type */
13
18
  function Delete(kind) {
14
19
  return map.delete(kind);
15
20
  }
16
21
  exports.Delete = Delete;
22
+ /** Returns true if this registry contains this kind */
17
23
  function Has(kind) {
18
24
  return map.has(kind);
19
25
  }
20
26
  exports.Has = Has;
27
+ /** Sets a validation function for a user defined type */
21
28
  function Set(kind, func) {
22
29
  map.set(kind, func);
23
30
  }
24
31
  exports.Set = Set;
32
+ /** Gets a custom validation function for a user defined type */
25
33
  function Get(kind) {
26
34
  return map.get(kind);
27
35
  }
@@ -1,4 +1,5 @@
1
1
  "use strict";
2
+
2
3
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
4
  if (k2 === undefined) k2 = k;
4
5
  var desc = Object.getOwnPropertyDescriptor(m, k);
@@ -1,16 +1,20 @@
1
1
  "use strict";
2
+
2
3
  Object.defineProperty(exports, "__esModule", { value: true });
3
4
  exports.RequiredFromMappedResult = void 0;
4
5
  const index_1 = require("../mapped/index");
5
6
  const required_1 = require("./required");
7
+ // prettier-ignore
6
8
  function FromProperties(K, options) {
7
9
  return globalThis.Object.getOwnPropertyNames(K).reduce((Acc, K2) => {
8
10
  return { ...Acc, [K2]: (0, required_1.Required)(K[K2], options) };
9
11
  }, {});
10
12
  }
13
+ // prettier-ignore
11
14
  function FromMappedResult(K, options) {
12
15
  return FromProperties(K.properties, options);
13
16
  }
17
+ // prettier-ignore
14
18
  function RequiredFromMappedResult(T, options) {
15
19
  const P = FromMappedResult(T, options);
16
20
  return (0, index_1.MappedResult)(P);
@@ -20,6 +20,8 @@ declare function FromProperties<T extends TProperties>(T: T): TProperties;
20
20
  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<{}>);
21
21
  declare function RequiredResolve<T extends TSchema>(T: T): RequiredResolve<T>;
22
22
  export type TRequired<T extends TSchema> = RequiredResolve<T>;
23
+ /** `[Json]` Constructs a type where all properties are required */
23
24
  export declare function Required<T extends TMappedResult>(T: T, options?: SchemaOptions): TRequiredFromMappedResult<T>;
25
+ /** `[Json]` Constructs a type where all properties are required */
24
26
  export declare function Required<T extends TSchema>(T: T, options?: SchemaOptions): TRequired<T>;
25
27
  export {};
@@ -1,4 +1,5 @@
1
1
  "use strict";
2
+
2
3
  Object.defineProperty(exports, "__esModule", { value: true });
3
4
  exports.Required = void 0;
4
5
  const index_1 = require("../intersect/index");
@@ -8,30 +9,39 @@ const index_4 = require("../symbols/index");
8
9
  const type_1 = require("../clone/type");
9
10
  const index_5 = require("../discard/index");
10
11
  const required_from_mapped_result_1 = require("./required-from-mapped-result");
12
+ // ------------------------------------------------------------------
13
+ // TypeGuard
14
+ // ------------------------------------------------------------------
15
+ // prettier-ignore
11
16
  const type_2 = require("../guard/type");
17
+ // prettier-ignore
12
18
  function FromIntersect(T) {
13
19
  const [L, ...R] = T;
14
20
  return (T.length > 0
15
21
  ? [RequiredResolve(L), ...FromIntersect(R)]
16
22
  : []);
17
23
  }
24
+ // prettier-ignore
18
25
  function FromUnion(T) {
19
26
  const [L, ...R] = T;
20
27
  return (T.length > 0
21
28
  ? [RequiredResolve(L), ...FromUnion(R)]
22
29
  : []);
23
30
  }
31
+ // prettier-ignore
24
32
  function FromProperties(T) {
25
33
  return globalThis.Object.getOwnPropertyNames(T).reduce((Acc, K) => {
26
34
  return { ...Acc, [K]: (0, index_5.Discard)(T[K], [index_4.OptionalKind]) };
27
35
  }, {});
28
36
  }
37
+ // prettier-ignore
29
38
  function RequiredResolve(T) {
30
39
  return ((0, type_2.TIntersect)(T) ? (0, index_1.Intersect)(FromIntersect(T.allOf)) :
31
40
  (0, type_2.TUnion)(T) ? (0, index_2.Union)(FromUnion(T.anyOf)) :
32
41
  (0, type_2.TObject)(T) ? (0, index_3.Object)(FromProperties(T.properties)) :
33
42
  (0, index_3.Object)({}));
34
43
  }
44
+ /** `[Json]` Constructs a type where all properties are required */
35
45
  function Required(T, options = {}) {
36
46
  if ((0, type_2.TMappedResult)(T)) {
37
47
  return (0, required_from_mapped_result_1.RequiredFromMappedResult)(T, options);
@@ -1,4 +1,5 @@
1
1
  "use strict";
2
+
2
3
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
4
  if (k2 === undefined) k2 = k;
4
5
  var desc = Object.getOwnPropertyDescriptor(m, k);
@@ -6,4 +6,5 @@ export type RestResolve<T extends TSchema> = T extends TIntersect<infer S> ? [..
6
6
  ];
7
7
  export declare function RestResolve<T extends TSchema>(T: T): RestResolve<T>;
8
8
  export type TRest<T extends TSchema> = RestResolve<T>;
9
+ /** `[Json]` Extracts interior Rest elements from Tuple, Intersect and Union types */
9
10
  export declare function Rest<T extends TSchema>(T: T): TRest<T>;
@@ -1,12 +1,18 @@
1
1
  "use strict";
2
+
2
3
  Object.defineProperty(exports, "__esModule", { value: true });
3
4
  exports.Rest = exports.RestResolve = void 0;
4
5
  const type_1 = require("../clone/type");
6
+ // ------------------------------------------------------------------
7
+ // TypeGuard
8
+ // ------------------------------------------------------------------
9
+ // prettier-ignore
5
10
  const type_2 = require("../guard/type");
6
11
  function RestResolve(T) {
7
12
  return ((0, type_2.TIntersect)(T) ? [...T.allOf] : (0, type_2.TUnion)(T) ? [...T.anyOf] : (0, type_2.TTuple)(T) ? [...(T.items ?? [])] : []);
8
13
  }
9
14
  exports.RestResolve = RestResolve;
15
+ /** `[Json]` Extracts interior Rest elements from Tuple, Intersect and Union types */
10
16
  function Rest(T) {
11
17
  return (0, type_1.CloneRest)(RestResolve(T));
12
18
  }
@@ -1,4 +1,5 @@
1
1
  "use strict";
2
+
2
3
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
4
  if (k2 === undefined) k2 = k;
4
5
  var desc = Object.getOwnPropertyDescriptor(m, k);
@@ -1,4 +1,5 @@
1
1
  import type { SchemaOptions } from '../schema/index';
2
2
  import type { TFunction } from '../function/index';
3
3
  export type TReturnType<T extends TFunction> = T['returns'];
4
+ /** `[JavaScript]` Extracts the ReturnType from the given Function type */
4
5
  export declare function ReturnType<T extends TFunction<any[], any>>(schema: T, options?: SchemaOptions): TReturnType<T>;
@@ -1,7 +1,9 @@
1
1
  "use strict";
2
+
2
3
  Object.defineProperty(exports, "__esModule", { value: true });
3
4
  exports.ReturnType = void 0;
4
5
  const type_1 = require("../clone/type");
6
+ /** `[JavaScript]` Extracts the ReturnType from the given Function type */
5
7
  function ReturnType(schema, options = {}) {
6
8
  return (0, type_1.CloneType)(schema.returns, options);
7
9
  }
@@ -1,2 +1,3 @@
1
1
  "use strict";
2
+
2
3
  Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,4 +1,5 @@
1
1
  "use strict";
2
+
2
3
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
4
  if (k2 === undefined) k2 = k;
4
5
  var desc = Object.getOwnPropertyDescriptor(m, k);
@@ -1,12 +1,19 @@
1
1
  import { Kind, Hint, ReadonlyKind, OptionalKind } from '../symbols/index';
2
2
  export interface SchemaOptions {
3
3
  $schema?: string;
4
+ /** Id for this schema */
4
5
  $id?: string;
6
+ /** Title of this schema */
5
7
  title?: string;
8
+ /** Description of this schema */
6
9
  description?: string;
10
+ /** Default value for this schema */
7
11
  default?: any;
12
+ /** Example values matching this schema */
8
13
  examples?: any;
14
+ /** Optional annotation for readOnly */
9
15
  readOnly?: boolean;
16
+ /** Optional annotation for writeOnly */
10
17
  writeOnly?: boolean;
11
18
  [prop: string]: any;
12
19
  }
@@ -1,3 +1,4 @@
1
1
  "use strict";
2
+
2
3
  Object.defineProperty(exports, "__esModule", { value: true });
3
4
  const index_1 = require("../symbols/index");
@@ -1,4 +1,5 @@
1
1
  "use strict";
2
+
2
3
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
4
  if (k2 === undefined) k2 = k;
4
5
  var desc = Object.getOwnPropertyDescriptor(m, k);
@@ -24,8 +24,11 @@ export type DecodeProperties<T extends TProperties> = {
24
24
  };
25
25
  export type DecodeRest<T extends TSchema[]> = T extends [infer L extends TSchema, ...infer R extends TSchema[]] ? [DecodeType<L>, ...DecodeRest<R>] : [];
26
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
+ /** Creates an decoded static type from a TypeBox type */
27
28
  export type StaticDecode<T extends TSchema, P extends unknown[] = []> = Static<DecodeType<T>, P>;
29
+ /** Creates an encoded static type from a TypeBox type */
28
30
  export type StaticEncode<T extends TSchema, P extends unknown[] = []> = Static<T, P>;
31
+ /** Creates a static type from a TypeBox type */
29
32
  export type Static<T extends TSchema, P extends unknown[] = []> = (T & {
30
33
  params: P;
31
34
  })['static'];
@@ -1,2 +1,3 @@
1
1
  "use strict";
2
+
2
3
  Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,4 +1,5 @@
1
1
  "use strict";
2
+
2
3
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
4
  if (k2 === undefined) k2 = k;
4
5
  var desc = Object.getOwnPropertyDescriptor(m, k);
@@ -1,2 +1,3 @@
1
1
  import type { TSchema } from '../schema/index';
2
+ /** `[Json]` Omits compositing symbols from this schema */
2
3
  export declare function Strict<T extends TSchema>(schema: T): T;
@@ -1,6 +1,8 @@
1
1
  "use strict";
2
+
2
3
  Object.defineProperty(exports, "__esModule", { value: true });
3
4
  exports.Strict = void 0;
5
+ /** `[Json]` Omits compositing symbols from this schema */
4
6
  function Strict(schema) {
5
7
  return JSON.parse(JSON.stringify(schema));
6
8
  }
@@ -1,4 +1,5 @@
1
1
  "use strict";
2
+
2
3
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
4
  if (k2 === undefined) k2 = k;
4
5
  var desc = Object.getOwnPropertyDescriptor(m, k);
@@ -3,11 +3,17 @@ import { Kind } from '../symbols/index';
3
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
4
  export type StringContentEncodingOption = '7bit' | '8bit' | 'binary' | 'quoted-printable' | 'base64' | ({} & string);
5
5
  export interface StringOptions extends SchemaOptions {
6
+ /** The maximum string length */
6
7
  maxLength?: number;
8
+ /** The minimum string length */
7
9
  minLength?: number;
10
+ /** A regular expression pattern this string should match */
8
11
  pattern?: string;
12
+ /** A format this string should match */
9
13
  format?: StringFormatOption;
14
+ /** The content encoding for this string */
10
15
  contentEncoding?: StringContentEncodingOption;
16
+ /** The content media type for this string */
11
17
  contentMediaType?: string;
12
18
  }
13
19
  export interface TString extends TSchema, StringOptions {
@@ -15,4 +21,5 @@ export interface TString extends TSchema, StringOptions {
15
21
  static: string;
16
22
  type: 'string';
17
23
  }
24
+ /** `[Json]` Creates a String type */
18
25
  export declare function String(options?: StringOptions): TString;
@@ -1,7 +1,9 @@
1
1
  "use strict";
2
+
2
3
  Object.defineProperty(exports, "__esModule", { value: true });
3
4
  exports.String = void 0;
4
5
  const index_1 = require("../symbols/index");
6
+ /** `[Json]` Creates a String type */
5
7
  function String(options = {}) {
6
8
  return { ...options, [index_1.Kind]: 'String', type: 'string' };
7
9
  }
@@ -1,4 +1,5 @@
1
1
  "use strict";
2
+
2
3
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
4
  if (k2 === undefined) k2 = k;
4
5
  var desc = Object.getOwnPropertyDescriptor(m, k);
@@ -6,4 +6,5 @@ export interface TSymbol extends TSchema, SchemaOptions {
6
6
  static: symbol;
7
7
  type: 'symbol';
8
8
  }
9
+ /** `[JavaScript]` Creates a Symbol type */
9
10
  export declare function Symbol(options?: SchemaOptions): TSymbol;
@@ -1,7 +1,9 @@
1
1
  "use strict";
2
+
2
3
  Object.defineProperty(exports, "__esModule", { value: true });
3
4
  exports.Symbol = void 0;
4
5
  const index_1 = require("../symbols/index");
6
+ /** `[JavaScript]` Creates a Symbol type */
5
7
  function Symbol(options) {
6
8
  return { ...options, [index_1.Kind]: 'Symbol', type: 'symbol' };
7
9
  }
@@ -1,4 +1,5 @@
1
1
  "use strict";
2
+
2
3
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
4
  if (k2 === undefined) k2 = k;
4
5
  var desc = Object.getOwnPropertyDescriptor(m, k);
@@ -1,5 +1,10 @@
1
+ /** Symbol key applied to transform types */
1
2
  export declare const TransformKind: unique symbol;
3
+ /** Symbol key applied to readonly types */
2
4
  export declare const ReadonlyKind: unique symbol;
5
+ /** Symbol key applied to optional types */
3
6
  export declare const OptionalKind: unique symbol;
7
+ /** Symbol key applied to types */
4
8
  export declare const Hint: unique symbol;
9
+ /** Symbol key applied to types */
5
10
  export declare const Kind: unique symbol;
@@ -1,8 +1,14 @@
1
1
  "use strict";
2
+
2
3
  Object.defineProperty(exports, "__esModule", { value: true });
3
4
  exports.Kind = exports.Hint = exports.OptionalKind = exports.ReadonlyKind = exports.TransformKind = void 0;
5
+ /** Symbol key applied to transform types */
4
6
  exports.TransformKind = Symbol.for('TypeBox.Transform');
7
+ /** Symbol key applied to readonly types */
5
8
  exports.ReadonlyKind = Symbol.for('TypeBox.Readonly');
9
+ /** Symbol key applied to optional types */
6
10
  exports.OptionalKind = Symbol.for('TypeBox.Optional');
11
+ /** Symbol key applied to types */
7
12
  exports.Hint = Symbol.for('TypeBox.Hint');
13
+ /** Symbol key applied to types */
8
14
  exports.Kind = Symbol.for('TypeBox.Kind');
@@ -1,9 +1,17 @@
1
1
  "use strict";
2
+
2
3
  Object.defineProperty(exports, "__esModule", { value: true });
3
4
  exports.IsTemplateLiteralFinite = exports.TemplateLiteralFiniteError = void 0;
5
+ // ------------------------------------------------------------------
6
+ // TemplateLiteralFiniteError
7
+ // ------------------------------------------------------------------
4
8
  class TemplateLiteralFiniteError extends Error {
5
9
  }
6
10
  exports.TemplateLiteralFiniteError = TemplateLiteralFiniteError;
11
+ // ------------------------------------------------------------------
12
+ // IsTemplateLiteralFiniteCheck
13
+ // ------------------------------------------------------------------
14
+ // prettier-ignore
7
15
  function IsNumberExpression(expression) {
8
16
  return (expression.type === 'or' &&
9
17
  expression.expr.length === 2 &&
@@ -12,6 +20,7 @@ function IsNumberExpression(expression) {
12
20
  expression.expr[1].type === 'const' &&
13
21
  expression.expr[1].const === '[1-9][0-9]*');
14
22
  }
23
+ // prettier-ignore
15
24
  function IsBooleanExpression(expression) {
16
25
  return (expression.type === 'or' &&
17
26
  expression.expr.length === 2 &&
@@ -20,9 +29,11 @@ function IsBooleanExpression(expression) {
20
29
  expression.expr[1].type === 'const' &&
21
30
  expression.expr[1].const === 'false');
22
31
  }
32
+ // prettier-ignore
23
33
  function IsStringExpression(expression) {
24
34
  return expression.type === 'const' && expression.const === '.*';
25
35
  }
36
+ // prettier-ignore
26
37
  function IsTemplateLiteralFinite(expression) {
27
38
  return (IsBooleanExpression(expression) ? true :
28
39
  IsNumberExpression(expression) || IsStringExpression(expression) ? false :
@@ -1,6 +1,11 @@
1
1
  "use strict";
2
+
2
3
  Object.defineProperty(exports, "__esModule", { value: true });
3
4
  exports.TemplateLiteralGenerate = exports.TemplateLiteralGenerateError = void 0;
5
+ // ------------------------------------------------------------------
6
+ // GenerateFromExpression
7
+ // ------------------------------------------------------------------
8
+ // prettier-ignore
4
9
  function* GenerateReduce(buffer) {
5
10
  if (buffer.length === 1)
6
11
  return yield* buffer[0];
@@ -10,16 +15,22 @@ function* GenerateReduce(buffer) {
10
15
  }
11
16
  }
12
17
  }
18
+ // prettier-ignore
13
19
  function* GenerateAnd(expression) {
14
20
  return yield* GenerateReduce(expression.expr.map((expr) => [...TemplateLiteralGenerate(expr)]));
15
21
  }
22
+ // prettier-ignore
16
23
  function* GenerateOr(expression) {
17
24
  for (const expr of expression.expr)
18
25
  yield* TemplateLiteralGenerate(expr);
19
26
  }
27
+ // prettier-ignore
20
28
  function* GenerateConst(expression) {
21
29
  return yield expression.const;
22
30
  }
31
+ // ------------------------------------------------------------------
32
+ // TemplateLiteralGenerateError
33
+ // ------------------------------------------------------------------
23
34
  class TemplateLiteralGenerateError extends Error {
24
35
  }
25
36
  exports.TemplateLiteralGenerateError = TemplateLiteralGenerateError;
@@ -1,4 +1,5 @@
1
1
  "use strict";
2
+
2
3
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
4
  if (k2 === undefined) k2 = k;
4
5
  var desc = Object.getOwnPropertyDescriptor(m, k);
@@ -13,5 +13,7 @@ export type ExpressionOr = {
13
13
  type: 'or';
14
14
  expr: Expression[];
15
15
  };
16
+ /** Parses a pattern and returns an expression tree */
16
17
  export declare function TemplateLiteralParse(pattern: string): Expression;
18
+ /** Parses a pattern and strips forward and trailing ^ and $ */
17
19
  export declare function TemplateLiteralParseExact(pattern: string): Expression;
@@ -1,21 +1,30 @@
1
1
  "use strict";
2
+
2
3
  Object.defineProperty(exports, "__esModule", { value: true });
3
4
  exports.TemplateLiteralParseExact = exports.TemplateLiteralParse = exports.TemplateLiteralParserError = void 0;
5
+ // ------------------------------------------------------------------
6
+ // TemplateLiteralParserError
7
+ // ------------------------------------------------------------------
4
8
  class TemplateLiteralParserError extends Error {
5
9
  }
6
10
  exports.TemplateLiteralParserError = TemplateLiteralParserError;
11
+ // prettier-ignore
7
12
  function IsNonEscaped(pattern, index, char) {
8
13
  return pattern[index] === char && pattern.charCodeAt(index - 1) !== 92;
9
14
  }
15
+ // prettier-ignore
10
16
  function IsOpenParen(pattern, index) {
11
17
  return IsNonEscaped(pattern, index, '(');
12
18
  }
19
+ // prettier-ignore
13
20
  function IsCloseParen(pattern, index) {
14
21
  return IsNonEscaped(pattern, index, ')');
15
22
  }
23
+ // prettier-ignore
16
24
  function IsSeparator(pattern, index) {
17
25
  return IsNonEscaped(pattern, index, '|');
18
26
  }
27
+ // prettier-ignore
19
28
  function IsGroup(pattern) {
20
29
  if (!(IsOpenParen(pattern, 0) && IsCloseParen(pattern, pattern.length - 1)))
21
30
  return false;
@@ -30,9 +39,11 @@ function IsGroup(pattern) {
30
39
  }
31
40
  return true;
32
41
  }
42
+ // prettier-ignore
33
43
  function InGroup(pattern) {
34
44
  return pattern.slice(1, pattern.length - 1);
35
45
  }
46
+ // prettier-ignore
36
47
  function IsPrecedenceOr(pattern) {
37
48
  let count = 0;
38
49
  for (let index = 0; index < pattern.length; index++) {
@@ -45,6 +56,7 @@ function IsPrecedenceOr(pattern) {
45
56
  }
46
57
  return false;
47
58
  }
59
+ // prettier-ignore
48
60
  function IsPrecedenceAnd(pattern) {
49
61
  for (let index = 0; index < pattern.length; index++) {
50
62
  if (IsOpenParen(pattern, index))
@@ -52,6 +64,7 @@ function IsPrecedenceAnd(pattern) {
52
64
  }
53
65
  return false;
54
66
  }
67
+ // prettier-ignore
55
68
  function Or(pattern) {
56
69
  let [count, start] = [0, 0];
57
70
  const expressions = [];
@@ -76,6 +89,7 @@ function Or(pattern) {
76
89
  return expressions[0];
77
90
  return { type: 'or', expr: expressions };
78
91
  }
92
+ // prettier-ignore
79
93
  function And(pattern) {
80
94
  function Group(value, index) {
81
95
  if (!IsOpenParen(value, index))
@@ -118,6 +132,8 @@ function And(pattern) {
118
132
  (expressions.length === 1) ? expressions[0] :
119
133
  { type: 'and', expr: expressions });
120
134
  }
135
+ /** Parses a pattern and returns an expression tree */
136
+ // prettier-ignore
121
137
  function TemplateLiteralParse(pattern) {
122
138
  return (IsGroup(pattern) ? TemplateLiteralParse(InGroup(pattern)) :
123
139
  IsPrecedenceOr(pattern) ? Or(pattern) :
@@ -125,6 +141,8 @@ function TemplateLiteralParse(pattern) {
125
141
  { type: 'const', const: pattern });
126
142
  }
127
143
  exports.TemplateLiteralParse = TemplateLiteralParse;
144
+ /** Parses a pattern and strips forward and trailing ^ and $ */
145
+ // prettier-ignore
128
146
  function TemplateLiteralParseExact(pattern) {
129
147
  return TemplateLiteralParse(pattern.slice(1, pattern.length - 1));
130
148
  }