@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,4 +1,5 @@
1
1
  "use strict";
2
+
2
3
  Object.defineProperty(exports, "__esModule", { value: true });
3
4
  exports.JsonTypeBuilder = void 0;
4
5
  const index_1 = require("../any/index");
@@ -42,136 +43,190 @@ const index_38 = require("../tuple/index");
42
43
  const index_39 = require("../union/index");
43
44
  const index_40 = require("../unknown/index");
44
45
  const index_41 = require("../unsafe/index");
46
+ /** Json Type Builder with Static Resolution for TypeScript */
45
47
  class JsonTypeBuilder {
48
+ // ------------------------------------------------------------------------
49
+ // Strict
50
+ // ------------------------------------------------------------------------
51
+ /** `[Json]` Omits compositing symbols from this schema */
46
52
  Strict(schema) {
47
53
  return (0, index_34.Strict)(schema);
48
54
  }
55
+ // ------------------------------------------------------------------------
56
+ // Modifiers
57
+ // ------------------------------------------------------------------------
58
+ /** `[Json]` Creates a Readonly and Optional property */
49
59
  ReadonlyOptional(schema) {
50
60
  return (0, index_28.ReadonlyOptional)(schema);
51
61
  }
62
+ /** `[Json]` Creates a Readonly property */
52
63
  Readonly(schema) {
53
64
  return (0, index_27.Readonly)(schema);
54
65
  }
66
+ /** `[Json]` Creates an Optional property */
55
67
  Optional(schema) {
56
68
  return (0, index_24.Optional)(schema);
57
69
  }
70
+ // ------------------------------------------------------------------------
71
+ // Types
72
+ // ------------------------------------------------------------------------
73
+ /** `[Json]` Creates an Any type */
58
74
  Any(options = {}) {
59
75
  return (0, index_1.Any)(options);
60
76
  }
77
+ /** `[Json]` Creates an Array type */
61
78
  Array(schema, options = {}) {
62
79
  return (0, index_2.Array)(schema, options);
63
80
  }
81
+ /** `[Json]` Creates a Boolean type */
64
82
  Boolean(options = {}) {
65
83
  return (0, index_3.Boolean)(options);
66
84
  }
85
+ /** `[Json]` Intrinsic function to Capitalize LiteralString types */
67
86
  Capitalize(schema, options = {}) {
68
87
  return (0, index_14.Capitalize)(schema, options);
69
88
  }
89
+ /** `[Json]` Creates a Composite object type */
70
90
  Composite(objects, options) {
71
- return (0, index_4.Composite)(objects, options);
91
+ return (0, index_4.Composite)(objects, options); // (error) TS 5.4.0-dev - review TComposite implementation
72
92
  }
93
+ /** `[JavaScript]` Creates a readonly const type from the given value. */
73
94
  Const(value, options = {}) {
74
95
  return (0, index_5.Const)(value, options);
75
96
  }
97
+ /** `[Json]` Creates a dereferenced type */
76
98
  Deref(schema, references) {
77
99
  return (0, index_6.Deref)(schema, references);
78
100
  }
101
+ /** `[Json]` Creates a Enum type */
79
102
  Enum(item, options = {}) {
80
103
  return (0, index_7.Enum)(item, options);
81
104
  }
105
+ /** `[Json]` Constructs a type by excluding from unionType all union members that are assignable to excludedMembers */
82
106
  Exclude(unionType, excludedMembers, options = {}) {
83
107
  return (0, index_8.Exclude)(unionType, excludedMembers, options);
84
108
  }
109
+ /** `[Json]` Creates a Conditional type */
85
110
  Extends(L, R, T, F, options = {}) {
86
111
  return (0, index_9.Extends)(L, R, T, F, options);
87
112
  }
113
+ /** `[Json]` Constructs a type by extracting from type all union members that are assignable to union */
88
114
  Extract(type, union, options = {}) {
89
115
  return (0, index_10.Extract)(type, union, options);
90
116
  }
117
+ /** `[Json]` Returns an Indexed property type for the given keys */
91
118
  Index(schema, unresolved, options = {}) {
92
119
  return (0, index_11.Index)(schema, unresolved, options);
93
120
  }
121
+ /** `[Json]` Creates an Integer type */
94
122
  Integer(options = {}) {
95
123
  return (0, index_12.Integer)(options);
96
124
  }
125
+ /** `[Json]` Creates an Intersect type */
97
126
  Intersect(T, options = {}) {
98
127
  return (0, index_13.Intersect)(T, options);
99
128
  }
129
+ /** `[Json]` Creates a KeyOf type */
100
130
  KeyOf(schema, options = {}) {
101
131
  return (0, index_15.KeyOf)(schema, options);
102
132
  }
133
+ /** `[Json]` Creates a Literal type */
103
134
  Literal(value, options = {}) {
104
135
  return (0, index_16.Literal)(value, options);
105
136
  }
137
+ /** `[Json]` Intrinsic function to Lowercase LiteralString types */
106
138
  Lowercase(schema, options = {}) {
107
139
  return (0, index_14.Lowercase)(schema, options);
108
140
  }
141
+ /** `[Json]` Creates a Mapped object type */
109
142
  Mapped(key, map, options = {}) {
110
143
  return (0, index_17.Mapped)(key, map, options);
111
144
  }
145
+ /** `[Json]` Creates a Never type */
112
146
  Never(options = {}) {
113
147
  return (0, index_18.Never)(options);
114
148
  }
149
+ /** `[Json]` Creates a Not type */
115
150
  Not(schema, options) {
116
151
  return (0, index_19.Not)(schema, options);
117
152
  }
153
+ /** `[Json]` Creates a Null type */
118
154
  Null(options = {}) {
119
155
  return (0, index_20.Null)(options);
120
156
  }
157
+ /** `[Json]` Creates a Number type */
121
158
  Number(options = {}) {
122
159
  return (0, index_21.Number)(options);
123
160
  }
161
+ /** `[Json]` Creates an Object type */
124
162
  Object(properties, options = {}) {
125
163
  return (0, index_22.Object)(properties, options);
126
164
  }
165
+ /** `[Json]` Constructs a type whose keys are omitted from the given type */
127
166
  Omit(schema, unresolved, options = {}) {
128
167
  return (0, index_23.Omit)(schema, unresolved, options);
129
168
  }
169
+ /** `[Json]` Constructs a type where all properties are optional */
130
170
  Partial(schema, options = {}) {
131
171
  return (0, index_25.Partial)(schema, options);
132
172
  }
173
+ /** `[Json]` Constructs a type whose keys are picked from the given type */
133
174
  Pick(schema, unresolved, options = {}) {
134
175
  return (0, index_26.Pick)(schema, unresolved, options);
135
176
  }
177
+ /** `[Json]` Creates a Record type */
136
178
  Record(key, schema, options = {}) {
137
179
  return (0, index_29.Record)(key, schema);
138
180
  }
181
+ /** `[Json]` Creates a Recursive type */
139
182
  Recursive(callback, options = {}) {
140
183
  return (0, index_30.Recursive)(callback, options);
141
184
  }
185
+ /** `[Json]` Creates a Ref type. */
142
186
  Ref(unresolved, options = {}) {
143
187
  return (0, index_31.Ref)(unresolved, options);
144
188
  }
189
+ /** `[Json]` Constructs a type where all properties are required */
145
190
  Required(schema, options = {}) {
146
191
  return (0, index_32.Required)(schema, options);
147
192
  }
193
+ /** `[Json]` Extracts interior Rest elements from Tuple, Intersect and Union types */
148
194
  Rest(schema) {
149
195
  return (0, index_33.Rest)(schema);
150
196
  }
197
+ /** `[Json]` Creates a String type */
151
198
  String(options = {}) {
152
199
  return (0, index_35.String)(options);
153
200
  }
201
+ /** `[Json]` Creates a TemplateLiteral type */
154
202
  TemplateLiteral(unresolved, options = {}) {
155
203
  return (0, index_36.TemplateLiteral)(unresolved, options);
156
204
  }
205
+ /** `[Json]` Creates a Transform type */
157
206
  Transform(schema) {
158
207
  return (0, index_37.Transform)(schema);
159
208
  }
209
+ /** `[Json]` Creates a Tuple type */
160
210
  Tuple(items, options = {}) {
161
211
  return (0, index_38.Tuple)(items, options);
162
212
  }
213
+ /** `[Json]` Intrinsic function to Uncapitalize LiteralString types */
163
214
  Uncapitalize(schema, options = {}) {
164
215
  return (0, index_14.Uncapitalize)(schema, options);
165
216
  }
217
+ /** `[Json]` Creates a Union type */
166
218
  Union(schemas, options = {}) {
167
219
  return (0, index_39.Union)(schemas, options);
168
220
  }
221
+ /** `[Json]` Creates an Unknown type */
169
222
  Unknown(options = {}) {
170
223
  return (0, index_40.Unknown)(options);
171
224
  }
225
+ /** `[Json]` Creates a Unsafe type that will infers as the generic argument T */
172
226
  Unsafe(options = {}) {
173
227
  return (0, index_41.Unsafe)(options);
174
228
  }
229
+ /** `[Json]` Intrinsic function to Uppercase LiteralString types */
175
230
  Uppercase(schema, options = {}) {
176
231
  return (0, index_14.Uppercase)(schema, options);
177
232
  }
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
+
2
3
  Object.defineProperty(exports, "__esModule", { value: true });
3
4
  exports.Strict = exports.ReturnType = exports.Rest = exports.Required = exports.RegExp = exports.Ref = exports.Recursive = exports.Record = exports.ReadonlyOptional = exports.Readonly = exports.Promise = exports.Pick = exports.Partial = exports.Parameters = exports.Optional = exports.Omit = exports.Object = exports.Number = exports.Null = exports.Not = exports.Never = exports.Mapped = exports.Literal = exports.KeyOf = exports.Iterator = exports.Uppercase = exports.Lowercase = exports.Uncapitalize = exports.Capitalize = exports.Intersect = exports.Integer = exports.InstanceType = exports.Index = exports.Function = exports.Extract = exports.Extends = exports.Exclude = exports.Enum = exports.Deref = exports.Date = exports.ConstructorParameters = exports.Constructor = exports.Const = exports.Composite = exports.Boolean = exports.BigInt = exports.Awaited = exports.AsyncIterator = exports.Array = exports.Any = void 0;
4
5
  exports.Void = exports.Unsafe = exports.Unknown = exports.Union = exports.Undefined = exports.Uint8Array = exports.Tuple = exports.Transform = exports.TemplateLiteral = exports.Symbol = exports.String = void 0;
6
+ // ------------------------------------------------------------------
7
+ // Type: Module
8
+ // ------------------------------------------------------------------
5
9
  var index_1 = require("../any/index");
6
10
  Object.defineProperty(exports, "Any", { enumerable: true, get: function () { return index_1.Any; } });
7
11
  var index_2 = require("../array/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);
@@ -9,4 +9,5 @@ export interface TUint8Array extends TSchema, Uint8ArrayOptions {
9
9
  static: Uint8Array;
10
10
  type: 'uint8array';
11
11
  }
12
+ /** `[JavaScript]` Creates a Uint8Array type */
12
13
  export declare function Uint8Array(options?: Uint8ArrayOptions): TUint8Array;
@@ -1,7 +1,9 @@
1
1
  "use strict";
2
+
2
3
  Object.defineProperty(exports, "__esModule", { value: true });
3
4
  exports.Uint8Array = void 0;
4
5
  const index_1 = require("../symbols/index");
6
+ /** `[JavaScript]` Creates a Uint8Array type */
5
7
  function Uint8Array(options = {}) {
6
8
  return { ...options, [index_1.Kind]: 'Uint8Array', type: 'Uint8Array' };
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);
@@ -5,4 +5,5 @@ export interface TUndefined extends TSchema {
5
5
  static: undefined;
6
6
  type: 'undefined';
7
7
  }
8
+ /** `[JavaScript]` Creates a Undefined type */
8
9
  export declare function Undefined(options?: SchemaOptions): TUndefined;
@@ -1,7 +1,9 @@
1
1
  "use strict";
2
+
2
3
  Object.defineProperty(exports, "__esModule", { value: true });
3
4
  exports.Undefined = void 0;
4
5
  const index_1 = require("../symbols/index");
6
+ /** `[JavaScript]` Creates a Undefined type */
5
7
  function Undefined(options = {}) {
6
8
  return { ...options, [index_1.Kind]: 'Undefined', type: 'undefined' };
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,4 +1,5 @@
1
1
  "use strict";
2
+
2
3
  Object.defineProperty(exports, "__esModule", { value: true });
3
4
  exports.UnionCreate = void 0;
4
5
  const type_1 = require("../clone/type");
@@ -12,5 +12,6 @@ declare function RemoveOptionalFromType<T extends TSchema>(T: T): RemoveOptional
12
12
  type ResolveUnion<T extends TSchema[], R extends TSchema[] = RemoveOptionalFromRest<T>> = (IsUnionOptional<T> extends true ? TOptional<TUnion<R>> : TUnion<R>);
13
13
  declare function ResolveUnion<T extends TSchema[]>(T: T, options: SchemaOptions): ResolveUnion<T>;
14
14
  export type UnionEvaluated<T extends TSchema[]> = (T extends [] ? TNever : T extends [TSchema] ? T[0] : ResolveUnion<T>);
15
+ /** `[Json]` Creates an evaluated Union type */
15
16
  export declare function UnionEvaluated<T extends TSchema[], R = UnionEvaluated<T>>(T: [...T], options?: SchemaOptions): R;
16
17
  export {};
@@ -1,4 +1,5 @@
1
1
  "use strict";
2
+
2
3
  Object.defineProperty(exports, "__esModule", { value: true });
3
4
  exports.UnionEvaluated = void 0;
4
5
  const index_1 = require("../symbols/index");
@@ -7,7 +8,12 @@ const index_2 = require("../discard/index");
7
8
  const index_3 = require("../never/index");
8
9
  const index_4 = require("../optional/index");
9
10
  const union_create_1 = require("./union-create");
11
+ // ------------------------------------------------------------------
12
+ // TypeGuard
13
+ // ------------------------------------------------------------------
14
+ // prettier-ignore
10
15
  const type_2 = require("../guard/type");
16
+ // prettier-ignore
11
17
  function IsUnionOptional(T) {
12
18
  const [L, ...R] = T;
13
19
  return (T.length > 0
@@ -16,18 +22,23 @@ function IsUnionOptional(T) {
16
22
  : IsUnionOptional(R)
17
23
  : false);
18
24
  }
25
+ // prettier-ignore
19
26
  function RemoveOptionalFromRest(T) {
20
27
  return (T.map(T => RemoveOptionalFromType(T)));
21
28
  }
29
+ // prettier-ignore
22
30
  function RemoveOptionalFromType(T) {
23
31
  return ((0, index_2.Discard)(T, [index_1.OptionalKind]));
24
32
  }
33
+ // prettier-ignore
25
34
  function ResolveUnion(T, options) {
26
35
  return (IsUnionOptional(T)
27
36
  ? (0, index_4.Optional)((0, union_create_1.UnionCreate)(RemoveOptionalFromRest(T), options))
28
37
  : (0, union_create_1.UnionCreate)(RemoveOptionalFromRest(T), options));
29
38
  }
39
+ /** `[Json]` Creates an evaluated Union type */
30
40
  function UnionEvaluated(T, options = {}) {
41
+ // prettier-ignore
31
42
  return (T.length === 0 ? (0, index_3.Never)(options) :
32
43
  T.length === 1 ? (0, type_1.CloneType)(T[0], options) :
33
44
  ResolveUnion(T, options));
@@ -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");
@@ -2,4 +2,5 @@ import type { TSchema, SchemaOptions } from '../schema/index';
2
2
  import { type TNever } from '../never/index';
3
3
  import type { TUnion } from './union-type';
4
4
  export type Union<T extends TSchema[]> = (T extends [] ? TNever : T extends [TSchema] ? T[0] : TUnion<T>);
5
+ /** `[Json]` Creates a Union type */
5
6
  export declare function Union<T extends TSchema[]>(T: [...T], options?: SchemaOptions): Union<T>;
@@ -1,10 +1,13 @@
1
1
  "use strict";
2
+
2
3
  Object.defineProperty(exports, "__esModule", { value: true });
3
4
  exports.Union = void 0;
4
5
  const index_1 = require("../never/index");
5
6
  const type_1 = require("../clone/type");
6
7
  const union_create_1 = require("./union-create");
8
+ /** `[Json]` Creates a Union type */
7
9
  function Union(T, options = {}) {
10
+ // prettier-ignore
8
11
  return (T.length === 0 ? (0, index_1.Never)(options) :
9
12
  T.length === 1 ? (0, type_1.CloneType)(T[0], options) :
10
13
  (0, union_create_1.UnionCreate)(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);
@@ -4,4 +4,5 @@ export interface TUnknown extends TSchema {
4
4
  [Kind]: 'Unknown';
5
5
  static: unknown;
6
6
  }
7
+ /** `[Json]` Creates an Unknown type */
7
8
  export declare function Unknown(options?: SchemaOptions): TUnknown;
@@ -1,7 +1,9 @@
1
1
  "use strict";
2
+
2
3
  Object.defineProperty(exports, "__esModule", { value: true });
3
4
  exports.Unknown = void 0;
4
5
  const index_1 = require("../symbols/index");
6
+ /** `[Json]` Creates an Unknown type */
5
7
  function Unknown(options = {}) {
6
8
  return {
7
9
  ...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);
@@ -7,4 +7,5 @@ export interface TUnsafe<T> extends TSchema {
7
7
  [Kind]: string;
8
8
  static: T;
9
9
  }
10
+ /** `[Json]` Creates a Unsafe type that will infers as the generic argument T */
10
11
  export declare function Unsafe<T>(options?: UnsafeOptions): TUnsafe<T>;
@@ -1,7 +1,9 @@
1
1
  "use strict";
2
+
2
3
  Object.defineProperty(exports, "__esModule", { value: true });
3
4
  exports.Unsafe = void 0;
4
5
  const index_1 = require("../symbols/index");
6
+ /** `[Json]` Creates a Unsafe type that will infers as the generic argument T */
5
7
  function Unsafe(options = {}) {
6
8
  return {
7
9
  ...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);
@@ -5,4 +5,5 @@ export interface TVoid extends TSchema {
5
5
  static: void;
6
6
  type: 'void';
7
7
  }
8
+ /** `[JavaScript]` Creates a Void type */
8
9
  export declare function Void(options?: SchemaOptions): TVoid;
@@ -1,7 +1,9 @@
1
1
  "use strict";
2
+
2
3
  Object.defineProperty(exports, "__esModule", { value: true });
3
4
  exports.Void = void 0;
4
5
  const index_1 = require("../symbols/index");
6
+ /** `[JavaScript]` Creates a Void type */
5
7
  function Void(options = {}) {
6
8
  return {
7
9
  ...options,
@@ -17,5 +17,7 @@ export declare class ValueCastUnknownTypeError extends Error {
17
17
  readonly schema: TSchema;
18
18
  constructor(schema: TSchema);
19
19
  }
20
+ /** Casts a value into a given type and references. The return value will retain as much information of the original value as possible. */
20
21
  export declare function Cast<T extends TSchema>(schema: T, references: TSchema[], value: unknown): Static<T>;
22
+ /** Casts a value into a given type. The return value will retain as much information of the original value as possible. */
21
23
  export declare function Cast<T extends TSchema>(schema: T, value: unknown): Static<T>;
@@ -1,4 +1,5 @@
1
1
  "use strict";
2
+
2
3
  Object.defineProperty(exports, "__esModule", { value: true });
3
4
  exports.Cast = exports.ValueCastUnknownTypeError = exports.ValueCastRecursiveTypeError = exports.ValueCastNeverTypeError = exports.ValueCastArrayUniqueItemsTypeError = void 0;
4
5
  const index_1 = require("../guard/index");
@@ -7,6 +8,9 @@ const index_3 = require("../create/index");
7
8
  const index_4 = require("../check/index");
8
9
  const index_5 = require("../clone/index");
9
10
  const index_6 = require("../deref/index");
11
+ // ------------------------------------------------------------------
12
+ // Errors
13
+ // ------------------------------------------------------------------
10
14
  class ValueCastArrayUniqueItemsTypeError extends Error {
11
15
  constructor(schema, value) {
12
16
  super('Array cast produced invalid data due to uniqueItems constraint');
@@ -36,6 +40,14 @@ class ValueCastUnknownTypeError extends Error {
36
40
  }
37
41
  }
38
42
  exports.ValueCastUnknownTypeError = ValueCastUnknownTypeError;
43
+ // ------------------------------------------------------------------
44
+ // The following will score a schema against a value. For objects,
45
+ // the score is the tally of points awarded for each property of
46
+ // the value. Property points are (1.0 / propertyCount) to prevent
47
+ // large property counts biasing results. Properties that match
48
+ // literal values are maximally awarded as literals are typically
49
+ // used as union discriminator fields.
50
+ // ------------------------------------------------------------------
39
51
  function ScoreUnion(schema, references, value) {
40
52
  if (schema[index_2.Kind] === 'Object' && typeof value === 'object' && !(0, index_1.IsNull)(value)) {
41
53
  const object = schema;
@@ -73,12 +85,18 @@ function CastUnion(union, references, value) {
73
85
  return Cast(schema, references, value);
74
86
  }
75
87
  }
88
+ // ------------------------------------------------------------------
89
+ // Default
90
+ // ------------------------------------------------------------------
76
91
  function DefaultClone(schema, references, value) {
77
92
  return (0, index_4.Check)(schema, references, value) ? (0, index_5.Clone)(value) : (0, index_3.Create)(schema, references);
78
93
  }
79
94
  function Default(schema, references, value) {
80
95
  return (0, index_4.Check)(schema, references, value) ? value : (0, index_3.Create)(schema, references);
81
96
  }
97
+ // ------------------------------------------------------------------
98
+ // Cast
99
+ // ------------------------------------------------------------------
82
100
  function TArray(schema, references, value) {
83
101
  if ((0, index_4.Check)(schema, references, value))
84
102
  return (0, index_5.Clone)(value);
@@ -125,6 +143,7 @@ function TObject(schema, references, value) {
125
143
  continue;
126
144
  result[key] = Visit(property, references, value[key]);
127
145
  }
146
+ // additional schema properties
128
147
  if (typeof schema.additionalProperties === 'object') {
129
148
  const propertyNames = Object.getOwnPropertyNames(schema.properties);
130
149
  for (const propertyName of Object.getOwnPropertyNames(value)) {
@@ -170,6 +189,9 @@ function Visit(schema, references, value) {
170
189
  const references_ = (0, index_1.IsString)(schema.$id) ? [...references, schema] : references;
171
190
  const schema_ = schema;
172
191
  switch (schema[index_2.Kind]) {
192
+ // --------------------------------------------------------------
193
+ // Structural
194
+ // --------------------------------------------------------------
173
195
  case 'Array':
174
196
  return TArray(schema_, references_, value);
175
197
  case 'Constructor':
@@ -190,14 +212,21 @@ function Visit(schema, references, value) {
190
212
  return TTuple(schema_, references_, value);
191
213
  case 'Union':
192
214
  return TUnion(schema_, references_, value);
215
+ // --------------------------------------------------------------
216
+ // DefaultClone
217
+ // --------------------------------------------------------------
193
218
  case 'Date':
194
219
  case 'Symbol':
195
220
  case 'Uint8Array':
196
221
  return DefaultClone(schema, references, value);
222
+ // --------------------------------------------------------------
223
+ // Default
224
+ // --------------------------------------------------------------
197
225
  default:
198
226
  return Default(schema_, references_, value);
199
227
  }
200
228
  }
229
+ /** Casts a value into a given type. The return value will retain as much information of the original value as possible. */
201
230
  function Cast(...args) {
202
231
  return args.length === 3 ? Visit(args[0], args[1], args[2]) : Visit(args[0], [], args[1]);
203
232
  }
@@ -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);
@@ -4,5 +4,7 @@ export declare class ValueCheckUnknownTypeError extends Error {
4
4
  readonly schema: TSchema;
5
5
  constructor(schema: TSchema);
6
6
  }
7
+ /** Returns true if the value matches the given type. */
7
8
  export declare function Check<T extends TSchema>(schema: T, references: TSchema[], value: unknown): value is Static<T>;
9
+ /** Returns true if the value matches the given type. */
8
10
  export declare function Check<T extends TSchema>(schema: T, value: unknown): value is Static<T>;
@@ -1,4 +1,5 @@
1
1
  "use strict";
2
+
2
3
  Object.defineProperty(exports, "__esModule", { value: true });
3
4
  exports.Check = exports.ValueCheckUnknownTypeError = void 0;
4
5
  const index_1 = require("../guard/index");
@@ -11,6 +12,9 @@ const index_7 = require("../../type/extends/index");
11
12
  const type_1 = require("../../type/guard/type");
12
13
  const index_8 = require("../../type/registry/index");
13
14
  const index_9 = require("../../type/never/index");
15
+ // --------------------------------------------------------------------------
16
+ // Errors
17
+ // --------------------------------------------------------------------------
14
18
  class ValueCheckUnknownTypeError extends Error {
15
19
  constructor(schema) {
16
20
  super(`Unknown type`);
@@ -18,12 +22,21 @@ class ValueCheckUnknownTypeError extends Error {
18
22
  }
19
23
  }
20
24
  exports.ValueCheckUnknownTypeError = ValueCheckUnknownTypeError;
25
+ // --------------------------------------------------------------------------
26
+ // TypeGuards
27
+ // --------------------------------------------------------------------------
21
28
  function IsAnyOrUnknown(schema) {
22
29
  return schema[index_5.Kind] === 'Any' || schema[index_5.Kind] === 'Unknown';
23
30
  }
31
+ // --------------------------------------------------------------------------
32
+ // Guards
33
+ // --------------------------------------------------------------------------
24
34
  function IsDefined(value) {
25
35
  return value !== undefined;
26
36
  }
37
+ // --------------------------------------------------------------------------
38
+ // Types
39
+ // --------------------------------------------------------------------------
27
40
  function TAny(schema, references, value) {
28
41
  return true;
29
42
  }
@@ -39,6 +52,7 @@ function TArray(schema, references, value) {
39
52
  if (!value.every((value) => Visit(schema.items, references, value))) {
40
53
  return false;
41
54
  }
55
+ // prettier-ignore
42
56
  if (schema.uniqueItems === true && !((function () { const set = new Set(); for (const element of value) {
43
57
  const hashed = (0, index_4.Hash)(element);
44
58
  if (set.has(hashed)) {
@@ -50,8 +64,9 @@ function TArray(schema, references, value) {
50
64
  } return true; })())) {
51
65
  return false;
52
66
  }
67
+ // contains
53
68
  if (!(IsDefined(schema.contains) || (0, index_1.IsNumber)(schema.minContains) || (0, index_1.IsNumber)(schema.maxContains))) {
54
- return true;
69
+ return true; // exit
55
70
  }
56
71
  const containsSchema = IsDefined(schema.contains) ? schema.contains : (0, index_9.Never)();
57
72
  const containsCount = value.reduce((acc, value) => (Visit(containsSchema, references, value) ? acc + 1 : acc), 0);
@@ -218,6 +233,7 @@ function TObject(schema, references, value) {
218
233
  }
219
234
  if (schema.additionalProperties === false) {
220
235
  const valueKeys = Object.getOwnPropertyNames(value);
236
+ // optimization: value is valid if schemaKey length matches the valueKey length
221
237
  if (schema.required && schema.required.length === knownKeys.length && valueKeys.length === knownKeys.length) {
222
238
  return true;
223
239
  }
@@ -248,9 +264,11 @@ function TRecord(schema, references, value) {
248
264
  }
249
265
  const [patternKey, patternSchema] = Object.entries(schema.patternProperties)[0];
250
266
  const regex = new RegExp(patternKey);
267
+ // prettier-ignore
251
268
  const check1 = Object.entries(value).every(([key, value]) => {
252
269
  return (regex.test(key)) ? Visit(patternSchema, references, value) : true;
253
270
  });
271
+ // prettier-ignore
254
272
  const check2 = typeof schema.additionalProperties === 'object' ? Object.entries(value).every(([key, value]) => {
255
273
  return (!regex.test(key)) ? Visit(schema.additionalProperties, references, value) : true;
256
274
  }) : true;
@@ -417,6 +435,7 @@ function Visit(schema, references, value) {
417
435
  return TKind(schema_, references_, value);
418
436
  }
419
437
  }
438
+ /** Returns true if the value matches the given type. */
420
439
  function Check(...args) {
421
440
  return args.length === 3 ? Visit(args[0], args[1], args[2]) : Visit(args[0], [], args[1]);
422
441
  }
@@ -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,3 +1,5 @@
1
1
  import type { TSchema } from '../../type/schema/index';
2
+ /** `[Mutable]` Removes excess properties from a value and returns the result. This function does not check the value and returns an unknown type. You should Check the result before use. Clean is a mutable operation. To avoid mutation, Clone the value first. */
2
3
  export declare function Clean<T extends TSchema>(schema: T, references: TSchema[], value: unknown): unknown;
4
+ /** `[Mutable]` Removes excess properties from a value and returns the result. This function does not check the value and returns an unknown type. You should Check the result before use. Clean is a mutable operation. To avoid mutation, Clone the value first. */
3
5
  export declare function Clean<T extends TSchema>(schema: T): unknown;