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

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 (615) hide show
  1. package/build/import/compiler/compiler.mjs +571 -0
  2. package/build/import/compiler/index.mjs +2 -0
  3. package/build/import/errors/errors.mjs +531 -0
  4. package/build/import/errors/index.mjs +1 -0
  5. package/build/import/index.mjs +69 -0
  6. package/build/import/system/errors.mjs +150 -0
  7. package/build/import/system/index.mjs +4 -0
  8. package/build/import/system/policy.mjs +31 -0
  9. package/build/import/system/system.mjs +30 -0
  10. package/build/import/type/any/any.mjs +4 -0
  11. package/build/import/type/any/index.mjs +1 -0
  12. package/build/import/type/array/array.mjs +10 -0
  13. package/build/import/type/array/index.mjs +1 -0
  14. package/build/import/type/async-iterator/async-iterator.mjs +10 -0
  15. package/build/import/type/async-iterator/index.mjs +1 -0
  16. package/build/import/type/awaited/awaited.mjs +28 -0
  17. package/build/import/type/awaited/index.mjs +1 -0
  18. package/build/import/type/bigint/bigint.mjs +8 -0
  19. package/build/import/type/bigint/index.mjs +1 -0
  20. package/build/import/type/boolean/boolean.mjs +8 -0
  21. package/build/import/type/boolean/index.mjs +1 -0
  22. package/build/import/type/clone/index.mjs +2 -0
  23. package/build/import/type/clone/type.mjs +7 -0
  24. package/build/import/type/clone/value.mjs +25 -0
  25. package/build/import/type/composite/composite.mjs +14 -0
  26. package/build/import/type/composite/index.mjs +1 -0
  27. package/build/import/type/const/const.mjs +49 -0
  28. package/build/import/type/const/index.mjs +1 -0
  29. package/build/import/type/constructor/constructor.mjs +11 -0
  30. package/build/import/type/constructor/index.mjs +1 -0
  31. package/build/import/type/constructor-parameters/constructor-parameters.mjs +5 -0
  32. package/build/import/type/constructor-parameters/index.mjs +1 -0
  33. package/build/import/type/date/date.mjs +8 -0
  34. package/build/import/type/date/index.mjs +1 -0
  35. package/build/import/type/deref/deref.mjs +90 -0
  36. package/build/import/type/deref/index.mjs +1 -0
  37. package/build/import/type/discard/discard.mjs +7 -0
  38. package/build/import/type/discard/index.mjs +1 -0
  39. package/build/import/type/enum/enum.mjs +14 -0
  40. package/build/import/type/enum/index.mjs +1 -0
  41. package/build/import/type/exclude/exclude.mjs +20 -0
  42. package/build/import/type/exclude/index.mjs +1 -0
  43. package/build/import/type/extends/extends-check.mjs +450 -0
  44. package/build/import/type/extends/extends-undefined.mjs +17 -0
  45. package/build/import/type/extends/extends.mjs +13 -0
  46. package/build/import/type/extends/index.mjs +3 -0
  47. package/build/import/type/extract/extract.mjs +20 -0
  48. package/build/import/type/extract/index.mjs +1 -0
  49. package/build/import/type/function/function.mjs +11 -0
  50. package/build/import/type/function/index.mjs +1 -0
  51. package/build/import/type/guard/index.mjs +2 -0
  52. package/build/import/type/guard/type.mjs +366 -0
  53. package/build/import/type/guard/value.mjs +42 -0
  54. package/build/import/type/helpers/helpers.mjs +3 -0
  55. package/build/import/type/helpers/index.mjs +1 -0
  56. package/build/import/type/index.mjs +70 -0
  57. package/build/import/type/indexed/index.mjs +3 -0
  58. package/build/import/type/indexed/indexed-key.mjs +29 -0
  59. package/build/import/type/indexed/indexed-type.mjs +64 -0
  60. package/build/import/type/indexed/indexed.mjs +9 -0
  61. package/build/import/type/instance-type/index.mjs +1 -0
  62. package/build/import/type/instance-type/instance-type.mjs +4 -0
  63. package/build/import/type/integer/index.mjs +1 -0
  64. package/build/import/type/integer/integer.mjs +8 -0
  65. package/build/import/type/intersect/index.mjs +1 -0
  66. package/build/import/type/intersect/intersect.mjs +25 -0
  67. package/build/import/type/intrinsic/index.mjs +1 -0
  68. package/build/import/type/intrinsic/intrinsic.mjs +59 -0
  69. package/build/import/type/iterator/index.mjs +1 -0
  70. package/build/import/type/iterator/iterator.mjs +10 -0
  71. package/build/import/type/keyof/index.mjs +3 -0
  72. package/build/import/type/keyof/keyof-string.mjs +55 -0
  73. package/build/import/type/keyof/keyof-type.mjs +15 -0
  74. package/build/import/type/keyof/keyof.mjs +6 -0
  75. package/build/import/type/literal/index.mjs +1 -0
  76. package/build/import/type/literal/literal.mjs +9 -0
  77. package/build/import/type/mapped/index.mjs +1 -0
  78. package/build/import/type/mapped/mapped.mjs +14 -0
  79. package/build/import/type/modifiers/index.mjs +1 -0
  80. package/build/import/type/modifiers/modifiers.mjs +40 -0
  81. package/build/import/type/never/index.mjs +1 -0
  82. package/build/import/type/never/never.mjs +8 -0
  83. package/build/import/type/not/index.mjs +1 -0
  84. package/build/import/type/not/not.mjs +9 -0
  85. package/build/import/type/null/index.mjs +1 -0
  86. package/build/import/type/null/null.mjs +8 -0
  87. package/build/import/type/number/index.mjs +1 -0
  88. package/build/import/type/number/number.mjs +8 -0
  89. package/build/import/type/object/index.mjs +1 -0
  90. package/build/import/type/object/object.mjs +14 -0
  91. package/build/import/type/omit/index.mjs +1 -0
  92. package/build/import/type/omit/omit.mjs +35 -0
  93. package/build/import/type/operators/index.mjs +1 -0
  94. package/build/import/type/operators/operators.mjs +66 -0
  95. package/build/import/type/optional/index.mjs +1 -0
  96. package/build/import/type/optional/optional.mjs +5 -0
  97. package/build/import/type/parameters/index.mjs +1 -0
  98. package/build/import/type/parameters/parameters.mjs +5 -0
  99. package/build/import/type/partial/index.mjs +1 -0
  100. package/build/import/type/partial/partial.mjs +36 -0
  101. package/build/import/type/patterns/index.mjs +1 -0
  102. package/build/import/type/patterns/patterns.mjs +6 -0
  103. package/build/import/type/pick/index.mjs +1 -0
  104. package/build/import/type/pick/pick.mjs +31 -0
  105. package/build/import/type/promise/index.mjs +1 -0
  106. package/build/import/type/promise/promise.mjs +10 -0
  107. package/build/import/type/readonly/index.mjs +1 -0
  108. package/build/import/type/readonly/readonly.mjs +5 -0
  109. package/build/import/type/readonly-optional/index.mjs +1 -0
  110. package/build/import/type/readonly-optional/readonly-optional.mjs +5 -0
  111. package/build/import/type/record/index.mjs +1 -0
  112. package/build/import/type/record/record.mjs +51 -0
  113. package/build/import/type/recursive/index.mjs +1 -0
  114. package/build/import/type/recursive/recursive.mjs +15 -0
  115. package/build/import/type/ref/index.mjs +1 -0
  116. package/build/import/type/ref/ref.mjs +13 -0
  117. package/build/import/type/regexp/index.mjs +1 -0
  118. package/build/import/type/regexp/regexp.mjs +6 -0
  119. package/build/import/type/registry/format.mjs +19 -0
  120. package/build/import/type/registry/index.mjs +2 -0
  121. package/build/import/type/registry/type.mjs +19 -0
  122. package/build/import/type/required/index.mjs +1 -0
  123. package/build/import/type/required/required.mjs +35 -0
  124. package/build/import/type/rest/index.mjs +1 -0
  125. package/build/import/type/rest/rest.mjs +8 -0
  126. package/build/import/type/return-type/index.mjs +1 -0
  127. package/build/import/type/return-type/return-type.mjs +4 -0
  128. package/build/import/type/schema/anyschema.mjs +1 -0
  129. package/build/import/type/schema/index.mjs +2 -0
  130. package/build/import/type/schema/schema.mjs +1 -0
  131. package/build/import/type/static/index.mjs +1 -0
  132. package/build/import/type/static/static.mjs +1 -0
  133. package/build/import/type/strict/index.mjs +1 -0
  134. package/build/import/type/strict/strict.mjs +3 -0
  135. package/build/import/type/string/index.mjs +1 -0
  136. package/build/import/type/string/string.mjs +4 -0
  137. package/build/import/type/symbol/index.mjs +1 -0
  138. package/build/import/type/symbol/symbol.mjs +4 -0
  139. package/build/import/type/symbols/index.mjs +1 -0
  140. package/build/import/type/symbols/symbols.mjs +5 -0
  141. package/build/import/type/template-literal/finite.mjs +29 -0
  142. package/build/import/type/template-literal/generate.mjs +32 -0
  143. package/build/import/type/template-literal/index.mjs +7 -0
  144. package/build/import/type/template-literal/parser.mjs +125 -0
  145. package/build/import/type/template-literal/pattern.mjs +22 -0
  146. package/build/import/type/template-literal/syntax.mjs +48 -0
  147. package/build/import/type/template-literal/template-literal.mjs +10 -0
  148. package/build/import/type/template-literal/union.mjs +13 -0
  149. package/build/import/type/transform/index.mjs +1 -0
  150. package/build/import/type/transform/transform.mjs +37 -0
  151. package/build/import/type/tuple/index.mjs +1 -0
  152. package/build/import/type/tuple/tuple.mjs +8 -0
  153. package/build/import/type/type/index.mjs +6 -0
  154. package/build/import/type/type/javascript.mjs +71 -0
  155. package/build/import/type/type/json.mjs +171 -0
  156. package/build/import/type/type/type.mjs +58 -0
  157. package/build/import/type/uint8array/index.mjs +1 -0
  158. package/build/import/type/uint8array/uint8array.mjs +4 -0
  159. package/build/import/type/undefined/index.mjs +1 -0
  160. package/build/import/type/undefined/undefined.mjs +4 -0
  161. package/build/import/type/union/index.mjs +1 -0
  162. package/build/import/type/union/union.mjs +15 -0
  163. package/build/import/type/unknown/index.mjs +1 -0
  164. package/build/import/type/unknown/unknown.mjs +7 -0
  165. package/build/import/type/unsafe/index.mjs +1 -0
  166. package/build/import/type/unsafe/unsafe.mjs +7 -0
  167. package/build/import/type/void/index.mjs +1 -0
  168. package/build/import/type/void/void.mjs +8 -0
  169. package/build/import/value/cast/cast.mjs +205 -0
  170. package/build/import/value/cast/index.mjs +1 -0
  171. package/build/import/value/check/check.mjs +419 -0
  172. package/build/import/value/check/index.mjs +1 -0
  173. package/build/import/value/clean/clean.mjs +125 -0
  174. package/build/import/value/clean/index.mjs +1 -0
  175. package/build/import/value/clone/clone.mjs +30 -0
  176. package/build/import/value/clone/index.mjs +1 -0
  177. package/build/import/value/convert/convert.mjs +231 -0
  178. package/build/import/value/convert/index.mjs +1 -0
  179. package/build/import/value/create/create.mjs +460 -0
  180. package/build/import/value/create/index.mjs +1 -0
  181. package/build/import/value/default/default.mjs +125 -0
  182. package/build/import/value/default/index.mjs +1 -0
  183. package/build/import/value/delta/delta.mjs +152 -0
  184. package/build/import/value/delta/index.mjs +1 -0
  185. package/build/import/value/deref/deref.mjs +13 -0
  186. package/build/import/value/deref/index.mjs +1 -0
  187. package/build/import/value/equal/equal.mjs +39 -0
  188. package/build/import/value/equal/index.mjs +1 -0
  189. package/build/import/value/guard/guard.mjs +66 -0
  190. package/build/import/value/guard/index.mjs +1 -0
  191. package/build/import/value/hash/hash.mjs +127 -0
  192. package/build/import/value/hash/index.mjs +1 -0
  193. package/build/import/value/index.mjs +18 -0
  194. package/build/import/value/mutate/index.mjs +1 -0
  195. package/build/import/value/mutate/mutate.mjs +85 -0
  196. package/build/import/value/pointer/index.mjs +1 -0
  197. package/build/import/value/pointer/pointer.mjs +101 -0
  198. package/build/import/value/transform/decode.mjs +160 -0
  199. package/build/import/value/transform/encode.mjs +166 -0
  200. package/build/import/value/transform/has.mjs +99 -0
  201. package/build/import/value/transform/index.mjs +3 -0
  202. package/build/import/value/value/index.mjs +1 -0
  203. package/build/import/value/value/value.mjs +65 -0
  204. package/compiler/package.json +4 -0
  205. package/errors/package.json +4 -0
  206. package/package.json +52 -53
  207. package/system/package.json +4 -0
  208. package/type/package.json +4 -0
  209. package/value/package.json +4 -0
  210. /package/{compiler → build/default/compiler}/compiler.js +0 -0
  211. /package/{compiler → build/default/compiler}/index.js +0 -0
  212. /package/{errors → build/default/errors}/errors.js +0 -0
  213. /package/{errors → build/default/errors}/index.js +0 -0
  214. /package/{index.js → build/default/index.js} +0 -0
  215. /package/{system → build/default/system}/errors.js +0 -0
  216. /package/{system → build/default/system}/index.js +0 -0
  217. /package/{system → build/default/system}/policy.js +0 -0
  218. /package/{system → build/default/system}/system.js +0 -0
  219. /package/{type → build/default/type}/any/any.js +0 -0
  220. /package/{type → build/default/type}/any/index.js +0 -0
  221. /package/{type → build/default/type}/array/array.js +0 -0
  222. /package/{type → build/default/type}/array/index.js +0 -0
  223. /package/{type → build/default/type}/async-iterator/async-iterator.js +0 -0
  224. /package/{type → build/default/type}/async-iterator/index.js +0 -0
  225. /package/{type → build/default/type}/awaited/awaited.js +0 -0
  226. /package/{type → build/default/type}/awaited/index.js +0 -0
  227. /package/{type → build/default/type}/bigint/bigint.js +0 -0
  228. /package/{type → build/default/type}/bigint/index.js +0 -0
  229. /package/{type → build/default/type}/boolean/boolean.js +0 -0
  230. /package/{type → build/default/type}/boolean/index.js +0 -0
  231. /package/{type → build/default/type}/clone/index.js +0 -0
  232. /package/{type → build/default/type}/clone/type.js +0 -0
  233. /package/{type → build/default/type}/clone/value.js +0 -0
  234. /package/{type → build/default/type}/composite/composite.js +0 -0
  235. /package/{type → build/default/type}/composite/index.js +0 -0
  236. /package/{type → build/default/type}/const/const.js +0 -0
  237. /package/{type → build/default/type}/const/index.js +0 -0
  238. /package/{type → build/default/type}/constructor/constructor.js +0 -0
  239. /package/{type → build/default/type}/constructor/index.js +0 -0
  240. /package/{type → build/default/type}/constructor-parameters/constructor-parameters.js +0 -0
  241. /package/{type → build/default/type}/constructor-parameters/index.js +0 -0
  242. /package/{type → build/default/type}/date/date.js +0 -0
  243. /package/{type → build/default/type}/date/index.js +0 -0
  244. /package/{type → build/default/type}/deref/deref.js +0 -0
  245. /package/{type → build/default/type}/deref/index.js +0 -0
  246. /package/{type → build/default/type}/discard/discard.js +0 -0
  247. /package/{type → build/default/type}/discard/index.js +0 -0
  248. /package/{type → build/default/type}/enum/enum.js +0 -0
  249. /package/{type → build/default/type}/enum/index.js +0 -0
  250. /package/{type → build/default/type}/exclude/exclude.js +0 -0
  251. /package/{type → build/default/type}/exclude/index.js +0 -0
  252. /package/{type → build/default/type}/extends/extends-check.js +0 -0
  253. /package/{type → build/default/type}/extends/extends-undefined.js +0 -0
  254. /package/{type → build/default/type}/extends/extends.js +0 -0
  255. /package/{type → build/default/type}/extends/index.js +0 -0
  256. /package/{type → build/default/type}/extract/extract.js +0 -0
  257. /package/{type → build/default/type}/extract/index.js +0 -0
  258. /package/{type → build/default/type}/function/function.js +0 -0
  259. /package/{type → build/default/type}/function/index.js +0 -0
  260. /package/{type → build/default/type}/guard/index.js +0 -0
  261. /package/{type → build/default/type}/guard/type.js +0 -0
  262. /package/{type → build/default/type}/guard/value.js +0 -0
  263. /package/{type → build/default/type}/helpers/helpers.js +0 -0
  264. /package/{type → build/default/type}/helpers/index.js +0 -0
  265. /package/{type → build/default/type}/index.js +0 -0
  266. /package/{type → build/default/type}/indexed/index.js +0 -0
  267. /package/{type → build/default/type}/indexed/indexed-key.js +0 -0
  268. /package/{type → build/default/type}/indexed/indexed-type.js +0 -0
  269. /package/{type → build/default/type}/indexed/indexed.js +0 -0
  270. /package/{type → build/default/type}/instance-type/index.js +0 -0
  271. /package/{type → build/default/type}/instance-type/instance-type.js +0 -0
  272. /package/{type → build/default/type}/integer/index.js +0 -0
  273. /package/{type → build/default/type}/integer/integer.js +0 -0
  274. /package/{type → build/default/type}/intersect/index.js +0 -0
  275. /package/{type → build/default/type}/intersect/intersect.js +0 -0
  276. /package/{type → build/default/type}/intrinsic/index.js +0 -0
  277. /package/{type → build/default/type}/intrinsic/intrinsic.js +0 -0
  278. /package/{type → build/default/type}/iterator/index.js +0 -0
  279. /package/{type → build/default/type}/iterator/iterator.js +0 -0
  280. /package/{type → build/default/type}/keyof/index.js +0 -0
  281. /package/{type → build/default/type}/keyof/keyof-string.js +0 -0
  282. /package/{type → build/default/type}/keyof/keyof-type.js +0 -0
  283. /package/{type → build/default/type}/keyof/keyof.js +0 -0
  284. /package/{type → build/default/type}/literal/index.js +0 -0
  285. /package/{type → build/default/type}/literal/literal.js +0 -0
  286. /package/{type → build/default/type}/mapped/index.js +0 -0
  287. /package/{type → build/default/type}/mapped/mapped.js +0 -0
  288. /package/{type → build/default/type}/modifiers/index.js +0 -0
  289. /package/{type → build/default/type}/modifiers/modifiers.js +0 -0
  290. /package/{type → build/default/type}/never/index.js +0 -0
  291. /package/{type → build/default/type}/never/never.js +0 -0
  292. /package/{type → build/default/type}/not/index.js +0 -0
  293. /package/{type → build/default/type}/not/not.js +0 -0
  294. /package/{type → build/default/type}/null/index.js +0 -0
  295. /package/{type → build/default/type}/null/null.js +0 -0
  296. /package/{type → build/default/type}/number/index.js +0 -0
  297. /package/{type → build/default/type}/number/number.js +0 -0
  298. /package/{type → build/default/type}/object/index.js +0 -0
  299. /package/{type → build/default/type}/object/object.js +0 -0
  300. /package/{type → build/default/type}/omit/index.js +0 -0
  301. /package/{type → build/default/type}/omit/omit.js +0 -0
  302. /package/{type → build/default/type}/operators/index.js +0 -0
  303. /package/{type → build/default/type}/operators/operators.js +0 -0
  304. /package/{type → build/default/type}/optional/index.js +0 -0
  305. /package/{type → build/default/type}/optional/optional.js +0 -0
  306. /package/{type → build/default/type}/parameters/index.js +0 -0
  307. /package/{type → build/default/type}/parameters/parameters.js +0 -0
  308. /package/{type → build/default/type}/partial/index.js +0 -0
  309. /package/{type → build/default/type}/partial/partial.js +0 -0
  310. /package/{type → build/default/type}/patterns/index.js +0 -0
  311. /package/{type → build/default/type}/patterns/patterns.js +0 -0
  312. /package/{type → build/default/type}/pick/index.js +0 -0
  313. /package/{type → build/default/type}/pick/pick.js +0 -0
  314. /package/{type → build/default/type}/promise/index.js +0 -0
  315. /package/{type → build/default/type}/promise/promise.js +0 -0
  316. /package/{type → build/default/type}/readonly/index.js +0 -0
  317. /package/{type → build/default/type}/readonly/readonly.js +0 -0
  318. /package/{type → build/default/type}/readonly-optional/index.js +0 -0
  319. /package/{type → build/default/type}/readonly-optional/readonly-optional.js +0 -0
  320. /package/{type → build/default/type}/record/index.js +0 -0
  321. /package/{type → build/default/type}/record/record.js +0 -0
  322. /package/{type → build/default/type}/recursive/index.js +0 -0
  323. /package/{type → build/default/type}/recursive/recursive.js +0 -0
  324. /package/{type → build/default/type}/ref/index.js +0 -0
  325. /package/{type → build/default/type}/ref/ref.js +0 -0
  326. /package/{type → build/default/type}/regexp/index.js +0 -0
  327. /package/{type → build/default/type}/regexp/regexp.js +0 -0
  328. /package/{type → build/default/type}/registry/format.js +0 -0
  329. /package/{type → build/default/type}/registry/index.js +0 -0
  330. /package/{type → build/default/type}/registry/type.js +0 -0
  331. /package/{type → build/default/type}/required/index.js +0 -0
  332. /package/{type → build/default/type}/required/required.js +0 -0
  333. /package/{type → build/default/type}/rest/index.js +0 -0
  334. /package/{type → build/default/type}/rest/rest.js +0 -0
  335. /package/{type → build/default/type}/return-type/index.js +0 -0
  336. /package/{type → build/default/type}/return-type/return-type.js +0 -0
  337. /package/{type → build/default/type}/schema/anyschema.js +0 -0
  338. /package/{type → build/default/type}/schema/index.js +0 -0
  339. /package/{type → build/default/type}/schema/schema.js +0 -0
  340. /package/{type → build/default/type}/static/index.js +0 -0
  341. /package/{type → build/default/type}/static/static.js +0 -0
  342. /package/{type → build/default/type}/strict/index.js +0 -0
  343. /package/{type → build/default/type}/strict/strict.js +0 -0
  344. /package/{type → build/default/type}/string/index.js +0 -0
  345. /package/{type → build/default/type}/string/string.js +0 -0
  346. /package/{type → build/default/type}/symbol/index.js +0 -0
  347. /package/{type → build/default/type}/symbol/symbol.js +0 -0
  348. /package/{type → build/default/type}/symbols/index.js +0 -0
  349. /package/{type → build/default/type}/symbols/symbols.js +0 -0
  350. /package/{type → build/default/type}/template-literal/finite.js +0 -0
  351. /package/{type → build/default/type}/template-literal/generate.js +0 -0
  352. /package/{type → build/default/type}/template-literal/index.js +0 -0
  353. /package/{type → build/default/type}/template-literal/parser.js +0 -0
  354. /package/{type → build/default/type}/template-literal/pattern.js +0 -0
  355. /package/{type → build/default/type}/template-literal/syntax.js +0 -0
  356. /package/{type → build/default/type}/template-literal/template-literal.js +0 -0
  357. /package/{type → build/default/type}/template-literal/union.js +0 -0
  358. /package/{type → build/default/type}/transform/index.js +0 -0
  359. /package/{type → build/default/type}/transform/transform.js +0 -0
  360. /package/{type → build/default/type}/tuple/index.js +0 -0
  361. /package/{type → build/default/type}/tuple/tuple.js +0 -0
  362. /package/{type → build/default/type}/type/index.js +0 -0
  363. /package/{type → build/default/type}/type/javascript.js +0 -0
  364. /package/{type → build/default/type}/type/json.js +0 -0
  365. /package/{type → build/default/type}/type/type.js +0 -0
  366. /package/{type → build/default/type}/uint8array/index.js +0 -0
  367. /package/{type → build/default/type}/uint8array/uint8array.js +0 -0
  368. /package/{type → build/default/type}/undefined/index.js +0 -0
  369. /package/{type → build/default/type}/undefined/undefined.js +0 -0
  370. /package/{type → build/default/type}/union/index.js +0 -0
  371. /package/{type → build/default/type}/union/union.js +0 -0
  372. /package/{type → build/default/type}/unknown/index.js +0 -0
  373. /package/{type → build/default/type}/unknown/unknown.js +0 -0
  374. /package/{type → build/default/type}/unsafe/index.js +0 -0
  375. /package/{type → build/default/type}/unsafe/unsafe.js +0 -0
  376. /package/{type → build/default/type}/void/index.js +0 -0
  377. /package/{type → build/default/type}/void/void.js +0 -0
  378. /package/{value → build/default/value}/cast/cast.js +0 -0
  379. /package/{value → build/default/value}/cast/index.js +0 -0
  380. /package/{value → build/default/value}/check/check.js +0 -0
  381. /package/{value → build/default/value}/check/index.js +0 -0
  382. /package/{value → build/default/value}/clean/clean.js +0 -0
  383. /package/{value → build/default/value}/clean/index.js +0 -0
  384. /package/{value → build/default/value}/clone/clone.js +0 -0
  385. /package/{value → build/default/value}/clone/index.js +0 -0
  386. /package/{value → build/default/value}/convert/convert.js +0 -0
  387. /package/{value → build/default/value}/convert/index.js +0 -0
  388. /package/{value → build/default/value}/create/create.js +0 -0
  389. /package/{value → build/default/value}/create/index.js +0 -0
  390. /package/{value → build/default/value}/default/default.js +0 -0
  391. /package/{value → build/default/value}/default/index.js +0 -0
  392. /package/{value → build/default/value}/delta/delta.js +0 -0
  393. /package/{value → build/default/value}/delta/index.js +0 -0
  394. /package/{value → build/default/value}/deref/deref.js +0 -0
  395. /package/{value → build/default/value}/deref/index.js +0 -0
  396. /package/{value → build/default/value}/equal/equal.js +0 -0
  397. /package/{value → build/default/value}/equal/index.js +0 -0
  398. /package/{value → build/default/value}/guard/guard.js +0 -0
  399. /package/{value → build/default/value}/guard/index.js +0 -0
  400. /package/{value → build/default/value}/hash/hash.js +0 -0
  401. /package/{value → build/default/value}/hash/index.js +0 -0
  402. /package/{value → build/default/value}/index.js +0 -0
  403. /package/{value → build/default/value}/mutate/index.js +0 -0
  404. /package/{value → build/default/value}/mutate/mutate.js +0 -0
  405. /package/{value → build/default/value}/pointer/index.js +0 -0
  406. /package/{value → build/default/value}/pointer/pointer.js +0 -0
  407. /package/{value → build/default/value}/transform/decode.js +0 -0
  408. /package/{value → build/default/value}/transform/encode.js +0 -0
  409. /package/{value → build/default/value}/transform/has.js +0 -0
  410. /package/{value → build/default/value}/transform/index.js +0 -0
  411. /package/{value → build/default/value}/value/index.js +0 -0
  412. /package/{value → build/default/value}/value/value.js +0 -0
  413. /package/{compiler → build/types/compiler}/compiler.d.ts +0 -0
  414. /package/{compiler → build/types/compiler}/index.d.ts +0 -0
  415. /package/{errors → build/types/errors}/errors.d.ts +0 -0
  416. /package/{errors → build/types/errors}/index.d.ts +0 -0
  417. /package/{index.d.ts → build/types/index.d.ts} +0 -0
  418. /package/{system → build/types/system}/errors.d.ts +0 -0
  419. /package/{system → build/types/system}/index.d.ts +0 -0
  420. /package/{system → build/types/system}/policy.d.ts +0 -0
  421. /package/{system → build/types/system}/system.d.ts +0 -0
  422. /package/{type → build/types/type}/any/any.d.ts +0 -0
  423. /package/{type → build/types/type}/any/index.d.ts +0 -0
  424. /package/{type → build/types/type}/array/array.d.ts +0 -0
  425. /package/{type → build/types/type}/array/index.d.ts +0 -0
  426. /package/{type → build/types/type}/async-iterator/async-iterator.d.ts +0 -0
  427. /package/{type → build/types/type}/async-iterator/index.d.ts +0 -0
  428. /package/{type → build/types/type}/awaited/awaited.d.ts +0 -0
  429. /package/{type → build/types/type}/awaited/index.d.ts +0 -0
  430. /package/{type → build/types/type}/bigint/bigint.d.ts +0 -0
  431. /package/{type → build/types/type}/bigint/index.d.ts +0 -0
  432. /package/{type → build/types/type}/boolean/boolean.d.ts +0 -0
  433. /package/{type → build/types/type}/boolean/index.d.ts +0 -0
  434. /package/{type → build/types/type}/clone/index.d.ts +0 -0
  435. /package/{type → build/types/type}/clone/type.d.ts +0 -0
  436. /package/{type → build/types/type}/clone/value.d.ts +0 -0
  437. /package/{type → build/types/type}/composite/composite.d.ts +0 -0
  438. /package/{type → build/types/type}/composite/index.d.ts +0 -0
  439. /package/{type → build/types/type}/const/const.d.ts +0 -0
  440. /package/{type → build/types/type}/const/index.d.ts +0 -0
  441. /package/{type → build/types/type}/constructor/constructor.d.ts +0 -0
  442. /package/{type → build/types/type}/constructor/index.d.ts +0 -0
  443. /package/{type → build/types/type}/constructor-parameters/constructor-parameters.d.ts +0 -0
  444. /package/{type → build/types/type}/constructor-parameters/index.d.ts +0 -0
  445. /package/{type → build/types/type}/date/date.d.ts +0 -0
  446. /package/{type → build/types/type}/date/index.d.ts +0 -0
  447. /package/{type → build/types/type}/deref/deref.d.ts +0 -0
  448. /package/{type → build/types/type}/deref/index.d.ts +0 -0
  449. /package/{type → build/types/type}/discard/discard.d.ts +0 -0
  450. /package/{type → build/types/type}/discard/index.d.ts +0 -0
  451. /package/{type → build/types/type}/enum/enum.d.ts +0 -0
  452. /package/{type → build/types/type}/enum/index.d.ts +0 -0
  453. /package/{type → build/types/type}/exclude/exclude.d.ts +0 -0
  454. /package/{type → build/types/type}/exclude/index.d.ts +0 -0
  455. /package/{type → build/types/type}/extends/extends-check.d.ts +0 -0
  456. /package/{type → build/types/type}/extends/extends-undefined.d.ts +0 -0
  457. /package/{type → build/types/type}/extends/extends.d.ts +0 -0
  458. /package/{type → build/types/type}/extends/index.d.ts +0 -0
  459. /package/{type → build/types/type}/extract/extract.d.ts +0 -0
  460. /package/{type → build/types/type}/extract/index.d.ts +0 -0
  461. /package/{type → build/types/type}/function/function.d.ts +0 -0
  462. /package/{type → build/types/type}/function/index.d.ts +0 -0
  463. /package/{type → build/types/type}/guard/index.d.ts +0 -0
  464. /package/{type → build/types/type}/guard/type.d.ts +0 -0
  465. /package/{type → build/types/type}/guard/value.d.ts +0 -0
  466. /package/{type → build/types/type}/helpers/helpers.d.ts +0 -0
  467. /package/{type → build/types/type}/helpers/index.d.ts +0 -0
  468. /package/{type → build/types/type}/index.d.ts +0 -0
  469. /package/{type → build/types/type}/indexed/index.d.ts +0 -0
  470. /package/{type → build/types/type}/indexed/indexed-key.d.ts +0 -0
  471. /package/{type → build/types/type}/indexed/indexed-type.d.ts +0 -0
  472. /package/{type → build/types/type}/indexed/indexed.d.ts +0 -0
  473. /package/{type → build/types/type}/instance-type/index.d.ts +0 -0
  474. /package/{type → build/types/type}/instance-type/instance-type.d.ts +0 -0
  475. /package/{type → build/types/type}/integer/index.d.ts +0 -0
  476. /package/{type → build/types/type}/integer/integer.d.ts +0 -0
  477. /package/{type → build/types/type}/intersect/index.d.ts +0 -0
  478. /package/{type → build/types/type}/intersect/intersect.d.ts +0 -0
  479. /package/{type → build/types/type}/intrinsic/index.d.ts +0 -0
  480. /package/{type → build/types/type}/intrinsic/intrinsic.d.ts +0 -0
  481. /package/{type → build/types/type}/iterator/index.d.ts +0 -0
  482. /package/{type → build/types/type}/iterator/iterator.d.ts +0 -0
  483. /package/{type → build/types/type}/keyof/index.d.ts +0 -0
  484. /package/{type → build/types/type}/keyof/keyof-string.d.ts +0 -0
  485. /package/{type → build/types/type}/keyof/keyof-type.d.ts +0 -0
  486. /package/{type → build/types/type}/keyof/keyof.d.ts +0 -0
  487. /package/{type → build/types/type}/literal/index.d.ts +0 -0
  488. /package/{type → build/types/type}/literal/literal.d.ts +0 -0
  489. /package/{type → build/types/type}/mapped/index.d.ts +0 -0
  490. /package/{type → build/types/type}/mapped/mapped.d.ts +0 -0
  491. /package/{type → build/types/type}/modifiers/index.d.ts +0 -0
  492. /package/{type → build/types/type}/modifiers/modifiers.d.ts +0 -0
  493. /package/{type → build/types/type}/never/index.d.ts +0 -0
  494. /package/{type → build/types/type}/never/never.d.ts +0 -0
  495. /package/{type → build/types/type}/not/index.d.ts +0 -0
  496. /package/{type → build/types/type}/not/not.d.ts +0 -0
  497. /package/{type → build/types/type}/null/index.d.ts +0 -0
  498. /package/{type → build/types/type}/null/null.d.ts +0 -0
  499. /package/{type → build/types/type}/number/index.d.ts +0 -0
  500. /package/{type → build/types/type}/number/number.d.ts +0 -0
  501. /package/{type → build/types/type}/object/index.d.ts +0 -0
  502. /package/{type → build/types/type}/object/object.d.ts +0 -0
  503. /package/{type → build/types/type}/omit/index.d.ts +0 -0
  504. /package/{type → build/types/type}/omit/omit.d.ts +0 -0
  505. /package/{type → build/types/type}/operators/index.d.ts +0 -0
  506. /package/{type → build/types/type}/operators/operators.d.ts +0 -0
  507. /package/{type → build/types/type}/optional/index.d.ts +0 -0
  508. /package/{type → build/types/type}/optional/optional.d.ts +0 -0
  509. /package/{type → build/types/type}/parameters/index.d.ts +0 -0
  510. /package/{type → build/types/type}/parameters/parameters.d.ts +0 -0
  511. /package/{type → build/types/type}/partial/index.d.ts +0 -0
  512. /package/{type → build/types/type}/partial/partial.d.ts +0 -0
  513. /package/{type → build/types/type}/patterns/index.d.ts +0 -0
  514. /package/{type → build/types/type}/patterns/patterns.d.ts +0 -0
  515. /package/{type → build/types/type}/pick/index.d.ts +0 -0
  516. /package/{type → build/types/type}/pick/pick.d.ts +0 -0
  517. /package/{type → build/types/type}/promise/index.d.ts +0 -0
  518. /package/{type → build/types/type}/promise/promise.d.ts +0 -0
  519. /package/{type → build/types/type}/readonly/index.d.ts +0 -0
  520. /package/{type → build/types/type}/readonly/readonly.d.ts +0 -0
  521. /package/{type → build/types/type}/readonly-optional/index.d.ts +0 -0
  522. /package/{type → build/types/type}/readonly-optional/readonly-optional.d.ts +0 -0
  523. /package/{type → build/types/type}/record/index.d.ts +0 -0
  524. /package/{type → build/types/type}/record/record.d.ts +0 -0
  525. /package/{type → build/types/type}/recursive/index.d.ts +0 -0
  526. /package/{type → build/types/type}/recursive/recursive.d.ts +0 -0
  527. /package/{type → build/types/type}/ref/index.d.ts +0 -0
  528. /package/{type → build/types/type}/ref/ref.d.ts +0 -0
  529. /package/{type → build/types/type}/regexp/index.d.ts +0 -0
  530. /package/{type → build/types/type}/regexp/regexp.d.ts +0 -0
  531. /package/{type → build/types/type}/registry/format.d.ts +0 -0
  532. /package/{type → build/types/type}/registry/index.d.ts +0 -0
  533. /package/{type → build/types/type}/registry/type.d.ts +0 -0
  534. /package/{type → build/types/type}/required/index.d.ts +0 -0
  535. /package/{type → build/types/type}/required/required.d.ts +0 -0
  536. /package/{type → build/types/type}/rest/index.d.ts +0 -0
  537. /package/{type → build/types/type}/rest/rest.d.ts +0 -0
  538. /package/{type → build/types/type}/return-type/index.d.ts +0 -0
  539. /package/{type → build/types/type}/return-type/return-type.d.ts +0 -0
  540. /package/{type → build/types/type}/schema/anyschema.d.ts +0 -0
  541. /package/{type → build/types/type}/schema/index.d.ts +0 -0
  542. /package/{type → build/types/type}/schema/schema.d.ts +0 -0
  543. /package/{type → build/types/type}/static/index.d.ts +0 -0
  544. /package/{type → build/types/type}/static/static.d.ts +0 -0
  545. /package/{type → build/types/type}/strict/index.d.ts +0 -0
  546. /package/{type → build/types/type}/strict/strict.d.ts +0 -0
  547. /package/{type → build/types/type}/string/index.d.ts +0 -0
  548. /package/{type → build/types/type}/string/string.d.ts +0 -0
  549. /package/{type → build/types/type}/symbol/index.d.ts +0 -0
  550. /package/{type → build/types/type}/symbol/symbol.d.ts +0 -0
  551. /package/{type → build/types/type}/symbols/index.d.ts +0 -0
  552. /package/{type → build/types/type}/symbols/symbols.d.ts +0 -0
  553. /package/{type → build/types/type}/template-literal/finite.d.ts +0 -0
  554. /package/{type → build/types/type}/template-literal/generate.d.ts +0 -0
  555. /package/{type → build/types/type}/template-literal/index.d.ts +0 -0
  556. /package/{type → build/types/type}/template-literal/parser.d.ts +0 -0
  557. /package/{type → build/types/type}/template-literal/pattern.d.ts +0 -0
  558. /package/{type → build/types/type}/template-literal/syntax.d.ts +0 -0
  559. /package/{type → build/types/type}/template-literal/template-literal.d.ts +0 -0
  560. /package/{type → build/types/type}/template-literal/union.d.ts +0 -0
  561. /package/{type → build/types/type}/transform/index.d.ts +0 -0
  562. /package/{type → build/types/type}/transform/transform.d.ts +0 -0
  563. /package/{type → build/types/type}/tuple/index.d.ts +0 -0
  564. /package/{type → build/types/type}/tuple/tuple.d.ts +0 -0
  565. /package/{type → build/types/type}/type/index.d.ts +0 -0
  566. /package/{type → build/types/type}/type/javascript.d.ts +0 -0
  567. /package/{type → build/types/type}/type/json.d.ts +0 -0
  568. /package/{type → build/types/type}/type/type.d.ts +0 -0
  569. /package/{type → build/types/type}/uint8array/index.d.ts +0 -0
  570. /package/{type → build/types/type}/uint8array/uint8array.d.ts +0 -0
  571. /package/{type → build/types/type}/undefined/index.d.ts +0 -0
  572. /package/{type → build/types/type}/undefined/undefined.d.ts +0 -0
  573. /package/{type → build/types/type}/union/index.d.ts +0 -0
  574. /package/{type → build/types/type}/union/union.d.ts +0 -0
  575. /package/{type → build/types/type}/unknown/index.d.ts +0 -0
  576. /package/{type → build/types/type}/unknown/unknown.d.ts +0 -0
  577. /package/{type → build/types/type}/unsafe/index.d.ts +0 -0
  578. /package/{type → build/types/type}/unsafe/unsafe.d.ts +0 -0
  579. /package/{type → build/types/type}/void/index.d.ts +0 -0
  580. /package/{type → build/types/type}/void/void.d.ts +0 -0
  581. /package/{value → build/types/value}/cast/cast.d.ts +0 -0
  582. /package/{value → build/types/value}/cast/index.d.ts +0 -0
  583. /package/{value → build/types/value}/check/check.d.ts +0 -0
  584. /package/{value → build/types/value}/check/index.d.ts +0 -0
  585. /package/{value → build/types/value}/clean/clean.d.ts +0 -0
  586. /package/{value → build/types/value}/clean/index.d.ts +0 -0
  587. /package/{value → build/types/value}/clone/clone.d.ts +0 -0
  588. /package/{value → build/types/value}/clone/index.d.ts +0 -0
  589. /package/{value → build/types/value}/convert/convert.d.ts +0 -0
  590. /package/{value → build/types/value}/convert/index.d.ts +0 -0
  591. /package/{value → build/types/value}/create/create.d.ts +0 -0
  592. /package/{value → build/types/value}/create/index.d.ts +0 -0
  593. /package/{value → build/types/value}/default/default.d.ts +0 -0
  594. /package/{value → build/types/value}/default/index.d.ts +0 -0
  595. /package/{value → build/types/value}/delta/delta.d.ts +0 -0
  596. /package/{value → build/types/value}/delta/index.d.ts +0 -0
  597. /package/{value → build/types/value}/deref/deref.d.ts +0 -0
  598. /package/{value → build/types/value}/deref/index.d.ts +0 -0
  599. /package/{value → build/types/value}/equal/equal.d.ts +0 -0
  600. /package/{value → build/types/value}/equal/index.d.ts +0 -0
  601. /package/{value → build/types/value}/guard/guard.d.ts +0 -0
  602. /package/{value → build/types/value}/guard/index.d.ts +0 -0
  603. /package/{value → build/types/value}/hash/hash.d.ts +0 -0
  604. /package/{value → build/types/value}/hash/index.d.ts +0 -0
  605. /package/{value → build/types/value}/index.d.ts +0 -0
  606. /package/{value → build/types/value}/mutate/index.d.ts +0 -0
  607. /package/{value → build/types/value}/mutate/mutate.d.ts +0 -0
  608. /package/{value → build/types/value}/pointer/index.d.ts +0 -0
  609. /package/{value → build/types/value}/pointer/pointer.d.ts +0 -0
  610. /package/{value → build/types/value}/transform/decode.d.ts +0 -0
  611. /package/{value → build/types/value}/transform/encode.d.ts +0 -0
  612. /package/{value → build/types/value}/transform/has.d.ts +0 -0
  613. /package/{value → build/types/value}/transform/index.d.ts +0 -0
  614. /package/{value → build/types/value}/value/index.d.ts +0 -0
  615. /package/{value → build/types/value}/value/value.d.ts +0 -0
@@ -0,0 +1,150 @@
1
+ import { ValueErrorType } from '../errors/errors.mjs';
2
+ import { Kind } from '../type/symbols/index.mjs';
3
+ export var TypeSystemErrorFunction;
4
+ (function (TypeSystemErrorFunction) {
5
+ let errorMessageFunction = DefaultErrorFunction;
6
+ function Reset() {
7
+ errorMessageFunction = DefaultErrorFunction;
8
+ }
9
+ TypeSystemErrorFunction.Reset = Reset;
10
+ function Set(callback) {
11
+ errorMessageFunction = callback;
12
+ }
13
+ TypeSystemErrorFunction.Set = Set;
14
+ function Get() {
15
+ return errorMessageFunction;
16
+ }
17
+ TypeSystemErrorFunction.Get = Get;
18
+ })(TypeSystemErrorFunction || (TypeSystemErrorFunction = {}));
19
+ export function DefaultErrorFunction(schema, errorType) {
20
+ switch (errorType) {
21
+ case ValueErrorType.ArrayContains:
22
+ return 'Expected array to contain at least one matching value';
23
+ case ValueErrorType.ArrayMaxContains:
24
+ return `Expected array to contain no more than ${schema.maxContains} matching values`;
25
+ case ValueErrorType.ArrayMinContains:
26
+ return `Expected array to contain at least ${schema.minContains} matching values`;
27
+ case ValueErrorType.ArrayMaxItems:
28
+ return `Expected array length to be less or equal to ${schema.maxItems}`;
29
+ case ValueErrorType.ArrayMinItems:
30
+ return `Expected array length to be greater or equal to ${schema.minItems}`;
31
+ case ValueErrorType.ArrayUniqueItems:
32
+ return 'Expected array elements to be unique';
33
+ case ValueErrorType.Array:
34
+ return 'Expected array';
35
+ case ValueErrorType.AsyncIterator:
36
+ return 'Expected AsyncIterator';
37
+ case ValueErrorType.BigIntExclusiveMaximum:
38
+ return `Expected bigint to be less than ${schema.exclusiveMaximum}`;
39
+ case ValueErrorType.BigIntExclusiveMinimum:
40
+ return `Expected bigint to be greater than ${schema.exclusiveMinimum}`;
41
+ case ValueErrorType.BigIntMaximum:
42
+ return `Expected bigint to be less or equal to ${schema.maximum}`;
43
+ case ValueErrorType.BigIntMinimum:
44
+ return `Expected bigint to be greater or equal to ${schema.minimum}`;
45
+ case ValueErrorType.BigIntMultipleOf:
46
+ return `Expected bigint to be a multiple of ${schema.multipleOf}`;
47
+ case ValueErrorType.BigInt:
48
+ return 'Expected bigint';
49
+ case ValueErrorType.Boolean:
50
+ return 'Expected boolean';
51
+ case ValueErrorType.DateExclusiveMinimumTimestamp:
52
+ return `Expected Date timestamp to be greater than ${schema.exclusiveMinimumTimestamp}`;
53
+ case ValueErrorType.DateExclusiveMaximumTimestamp:
54
+ return `Expected Date timestamp to be less than ${schema.exclusiveMaximumTimestamp}`;
55
+ case ValueErrorType.DateMinimumTimestamp:
56
+ return `Expected Date timestamp to be greater or equal to ${schema.minimumTimestamp}`;
57
+ case ValueErrorType.DateMaximumTimestamp:
58
+ return `Expected Date timestamp to be less or equal to ${schema.maximumTimestamp}`;
59
+ case ValueErrorType.DateMultipleOfTimestamp:
60
+ return `Expected Date timestamp to be a multiple of ${schema.multipleOfTimestamp}`;
61
+ case ValueErrorType.Date:
62
+ return 'Expected Date';
63
+ case ValueErrorType.Function:
64
+ return 'Expected function';
65
+ case ValueErrorType.IntegerExclusiveMaximum:
66
+ return `Expected integer to be less than ${schema.exclusiveMaximum}`;
67
+ case ValueErrorType.IntegerExclusiveMinimum:
68
+ return `Expected integer to be greater than ${schema.exclusiveMinimum}`;
69
+ case ValueErrorType.IntegerMaximum:
70
+ return `Expected integer to be less or equal to ${schema.maximum}`;
71
+ case ValueErrorType.IntegerMinimum:
72
+ return `Expected integer to be greater or equal to ${schema.minimum}`;
73
+ case ValueErrorType.IntegerMultipleOf:
74
+ return `Expected integer to be a multiple of ${schema.multipleOf}`;
75
+ case ValueErrorType.Integer:
76
+ return 'Expected integer';
77
+ case ValueErrorType.IntersectUnevaluatedProperties:
78
+ return 'Unexpected property';
79
+ case ValueErrorType.Intersect:
80
+ return 'Expected all values to match';
81
+ case ValueErrorType.Iterator:
82
+ return 'Expected Iterator';
83
+ case ValueErrorType.Literal:
84
+ return `Expected ${typeof schema.const === 'string' ? `'${schema.const}'` : schema.const}`;
85
+ case ValueErrorType.Never:
86
+ return 'Never';
87
+ case ValueErrorType.Not:
88
+ return 'Value should not match';
89
+ case ValueErrorType.Null:
90
+ return 'Expected null';
91
+ case ValueErrorType.NumberExclusiveMaximum:
92
+ return `Expected number to be less than ${schema.exclusiveMaximum}`;
93
+ case ValueErrorType.NumberExclusiveMinimum:
94
+ return `Expected number to be greater than ${schema.exclusiveMinimum}`;
95
+ case ValueErrorType.NumberMaximum:
96
+ return `Expected number to be less or equal to ${schema.maximum}`;
97
+ case ValueErrorType.NumberMinimum:
98
+ return `Expected number to be greater or equal to ${schema.minimum}`;
99
+ case ValueErrorType.NumberMultipleOf:
100
+ return `Expected number to be a multiple of ${schema.multipleOf}`;
101
+ case ValueErrorType.Number:
102
+ return 'Expected number';
103
+ case ValueErrorType.Object:
104
+ return 'Expected object';
105
+ case ValueErrorType.ObjectAdditionalProperties:
106
+ return 'Unexpected property';
107
+ case ValueErrorType.ObjectMaxProperties:
108
+ return `Expected object to have no more than ${schema.maxProperties} properties`;
109
+ case ValueErrorType.ObjectMinProperties:
110
+ return `Expected object to have at least ${schema.minProperties} properties`;
111
+ case ValueErrorType.ObjectRequiredProperty:
112
+ return 'Required property';
113
+ case ValueErrorType.Promise:
114
+ return 'Expected Promise';
115
+ case ValueErrorType.StringFormatUnknown:
116
+ return `Unknown format '${schema.format}'`;
117
+ case ValueErrorType.StringFormat:
118
+ return `Expected string to match '${schema.format}' format`;
119
+ case ValueErrorType.StringMaxLength:
120
+ return `Expected string length less or equal to ${schema.maxLength}`;
121
+ case ValueErrorType.StringMinLength:
122
+ return `Expected string length greater or equal to ${schema.minLength}`;
123
+ case ValueErrorType.StringPattern:
124
+ return `Expected string to match '${schema.pattern}'`;
125
+ case ValueErrorType.String:
126
+ return 'Expected string';
127
+ case ValueErrorType.Symbol:
128
+ return 'Expected symbol';
129
+ case ValueErrorType.TupleLength:
130
+ return `Expected tuple to have ${schema.maxItems || 0} elements`;
131
+ case ValueErrorType.Tuple:
132
+ return 'Expected tuple';
133
+ case ValueErrorType.Uint8ArrayMaxByteLength:
134
+ return `Expected byte length less or equal to ${schema.maxByteLength}`;
135
+ case ValueErrorType.Uint8ArrayMinByteLength:
136
+ return `Expected byte length greater or equal to ${schema.minByteLength}`;
137
+ case ValueErrorType.Uint8Array:
138
+ return 'Expected Uint8Array';
139
+ case ValueErrorType.Undefined:
140
+ return 'Expected undefined';
141
+ case ValueErrorType.Union:
142
+ return 'Expected union value';
143
+ case ValueErrorType.Void:
144
+ return 'Expected void';
145
+ case ValueErrorType.Kind:
146
+ return `Expected kind '${schema[Kind]}'`;
147
+ default:
148
+ return 'Unknown error type';
149
+ }
150
+ }
@@ -0,0 +1,4 @@
1
+ export { ValueErrorType } from '../errors/errors.mjs';
2
+ export { DefaultErrorFunction, TypeSystemErrorFunction } from './errors.mjs';
3
+ export { TypeSystemPolicy } from './policy.mjs';
4
+ export { TypeSystem, TypeSystemDuplicateFormat, TypeSystemDuplicateTypeKind } from './system.mjs';
@@ -0,0 +1,31 @@
1
+ import { IsObject, IsArray, IsNumber, IsUndefined } from '../value/guard/index.mjs';
2
+ export var TypeSystemPolicy;
3
+ (function (TypeSystemPolicy) {
4
+ TypeSystemPolicy.ExactOptionalPropertyTypes = false;
5
+ TypeSystemPolicy.AllowArrayObject = false;
6
+ TypeSystemPolicy.AllowNaN = false;
7
+ TypeSystemPolicy.AllowNullVoid = false;
8
+ function IsExactOptionalProperty(value, key) {
9
+ return TypeSystemPolicy.ExactOptionalPropertyTypes ? key in value : value[key] !== undefined;
10
+ }
11
+ TypeSystemPolicy.IsExactOptionalProperty = IsExactOptionalProperty;
12
+ function IsObjectLike(value) {
13
+ const isObject = IsObject(value);
14
+ return TypeSystemPolicy.AllowArrayObject ? isObject : isObject && !IsArray(value);
15
+ }
16
+ TypeSystemPolicy.IsObjectLike = IsObjectLike;
17
+ function IsRecordLike(value) {
18
+ return IsObjectLike(value) && !(value instanceof Date) && !(value instanceof Uint8Array);
19
+ }
20
+ TypeSystemPolicy.IsRecordLike = IsRecordLike;
21
+ function IsNumberLike(value) {
22
+ const isNumber = IsNumber(value);
23
+ return TypeSystemPolicy.AllowNaN ? isNumber : isNumber && Number.isFinite(value);
24
+ }
25
+ TypeSystemPolicy.IsNumberLike = IsNumberLike;
26
+ function IsVoidLike(value) {
27
+ const isUndefined = IsUndefined(value);
28
+ return TypeSystemPolicy.AllowNullVoid ? isUndefined || value === null : isUndefined;
29
+ }
30
+ TypeSystemPolicy.IsVoidLike = IsVoidLike;
31
+ })(TypeSystemPolicy || (TypeSystemPolicy = {}));
@@ -0,0 +1,30 @@
1
+ import { TypeRegistry, FormatRegistry } from '../type/registry/index.mjs';
2
+ import { Unsafe } from '../type/unsafe/index.mjs';
3
+ import { Kind } from '../type/symbols/index.mjs';
4
+ export class TypeSystemDuplicateTypeKind extends Error {
5
+ constructor(kind) {
6
+ super(`Duplicate type kind '${kind}' detected`);
7
+ }
8
+ }
9
+ export class TypeSystemDuplicateFormat extends Error {
10
+ constructor(kind) {
11
+ super(`Duplicate string format '${kind}' detected`);
12
+ }
13
+ }
14
+ export var TypeSystem;
15
+ (function (TypeSystem) {
16
+ function Type(kind, check) {
17
+ if (TypeRegistry.Has(kind))
18
+ throw new TypeSystemDuplicateTypeKind(kind);
19
+ TypeRegistry.Set(kind, check);
20
+ return (options = {}) => Unsafe({ ...options, [Kind]: kind });
21
+ }
22
+ TypeSystem.Type = Type;
23
+ function Format(format, check) {
24
+ if (FormatRegistry.Has(format))
25
+ throw new TypeSystemDuplicateFormat(format);
26
+ FormatRegistry.Set(format, check);
27
+ return format;
28
+ }
29
+ TypeSystem.Format = Format;
30
+ })(TypeSystem || (TypeSystem = {}));
@@ -0,0 +1,4 @@
1
+ import { Kind } from '../symbols/index.mjs';
2
+ export function Any(options = {}) {
3
+ return { ...options, [Kind]: 'Any' };
4
+ }
@@ -0,0 +1 @@
1
+ export * from './any.mjs';
@@ -0,0 +1,10 @@
1
+ import { Kind } from '../symbols/index.mjs';
2
+ import { CloneType } from '../clone/type.mjs';
3
+ export function Array(schema, options = {}) {
4
+ return {
5
+ ...options,
6
+ [Kind]: 'Array',
7
+ type: 'array',
8
+ items: CloneType(schema),
9
+ };
10
+ }
@@ -0,0 +1 @@
1
+ export * from './array.mjs';
@@ -0,0 +1,10 @@
1
+ import { Kind } from '../symbols/index.mjs';
2
+ import { CloneType } from '../clone/type.mjs';
3
+ export function AsyncIterator(items, options = {}) {
4
+ return {
5
+ ...options,
6
+ [Kind]: 'AsyncIterator',
7
+ type: 'AsyncIterator',
8
+ items: CloneType(items),
9
+ };
10
+ }
@@ -0,0 +1 @@
1
+ export * from './async-iterator.mjs';
@@ -0,0 +1,28 @@
1
+ import { Intersect } from '../intersect/index.mjs';
2
+ import { Union } from '../union/index.mjs';
3
+ import { CloneType } from '../clone/type.mjs';
4
+ import { TIntersect as IsIntersectType, TUnion as IsUnionType, TPromise as IsPromiseType } from '../guard/type.mjs';
5
+ function AwaitedUnwrap(T) {
6
+ const [L, ...R] = T;
7
+ return (T.length > 0
8
+ ? [Resolve(L), ...AwaitedUnwrap(R)]
9
+ : []);
10
+ }
11
+ function AwaitedIntersectRest(T) {
12
+ return Intersect(AwaitedUnwrap(T));
13
+ }
14
+ function AwaitedUnionRest(T) {
15
+ return Union(AwaitedUnwrap(T));
16
+ }
17
+ function AwaitedPromise(T) {
18
+ return Resolve(T);
19
+ }
20
+ export function Resolve(T) {
21
+ return (IsIntersectType(T) ? AwaitedIntersectRest(T.allOf) :
22
+ IsUnionType(T) ? AwaitedUnionRest(T.anyOf) :
23
+ IsPromiseType(T) ? AwaitedPromise(T.item) :
24
+ T);
25
+ }
26
+ export function Awaited(T, options = {}) {
27
+ return CloneType(Resolve(T), options);
28
+ }
@@ -0,0 +1 @@
1
+ export * from './awaited.mjs';
@@ -0,0 +1,8 @@
1
+ import { Kind } from '../symbols/index.mjs';
2
+ export function BigInt(options = {}) {
3
+ return {
4
+ ...options,
5
+ [Kind]: 'BigInt',
6
+ type: 'bigint',
7
+ };
8
+ }
@@ -0,0 +1 @@
1
+ export * from './bigint.mjs';
@@ -0,0 +1,8 @@
1
+ import { Kind } from '../symbols/index.mjs';
2
+ export function Boolean(options = {}) {
3
+ return {
4
+ ...options,
5
+ [Kind]: 'Boolean',
6
+ type: 'boolean',
7
+ };
8
+ }
@@ -0,0 +1 @@
1
+ export * from './boolean.mjs';
@@ -0,0 +1,2 @@
1
+ export * as TypeClone from './type.mjs';
2
+ export * as ValueClone from './value.mjs';
@@ -0,0 +1,7 @@
1
+ import { Clone } from './value.mjs';
2
+ export function CloneRest(schemas) {
3
+ return schemas.map((schema) => CloneType(schema));
4
+ }
5
+ export function CloneType(schema, options = {}) {
6
+ return { ...Clone(schema), ...options };
7
+ }
@@ -0,0 +1,25 @@
1
+ import * as ValueGuard from '../guard/value.mjs';
2
+ function ArrayType(value) {
3
+ return value.map((value) => Visit(value));
4
+ }
5
+ function DateType(value) {
6
+ return new Date(value.getTime());
7
+ }
8
+ function Uint8ArrayType(value) {
9
+ return new Uint8Array(value);
10
+ }
11
+ function ObjectType(value) {
12
+ const clonedProperties = Object.getOwnPropertyNames(value).reduce((acc, key) => ({ ...acc, [key]: Visit(value[key]) }), {});
13
+ const clonedSymbols = Object.getOwnPropertySymbols(value).reduce((acc, key) => ({ ...acc, [key]: Visit(value[key]) }), {});
14
+ return { ...clonedProperties, ...clonedSymbols };
15
+ }
16
+ function Visit(value) {
17
+ return (ValueGuard.IsArray(value) ? ArrayType(value) :
18
+ ValueGuard.IsDate(value) ? DateType(value) :
19
+ ValueGuard.IsUint8Array(value) ? Uint8ArrayType(value) :
20
+ ValueGuard.IsObject(value) ? ObjectType(value) :
21
+ value);
22
+ }
23
+ export function Clone(value) {
24
+ return Visit(value);
25
+ }
@@ -0,0 +1,14 @@
1
+ import { Object } from '../object/index.mjs';
2
+ import { Intersect } from '../intersect/index.mjs';
3
+ import { KeyOfStringResolve } from '../keyof/index.mjs';
4
+ import { Index } from '../indexed/index.mjs';
5
+ import { CloneType } from '../clone/type.mjs';
6
+ export function CompositeResolve(T) {
7
+ const intersect = Intersect(T, {});
8
+ const keys = KeyOfStringResolve(intersect);
9
+ const properties = keys.reduce((acc, key) => ({ ...acc, [key]: Index(intersect, [key]) }), {});
10
+ return Object(properties);
11
+ }
12
+ export function Composite(T, options) {
13
+ return CloneType(CompositeResolve(T), options);
14
+ }
@@ -0,0 +1 @@
1
+ export * from './composite.mjs';
@@ -0,0 +1,49 @@
1
+ import { IsArray, IsNumber, IsBigInt, IsUint8Array, IsDate, IsIterator, IsObject, IsAsyncIterator, IsFunction, IsUndefined, IsNull, IsSymbol, IsBoolean, IsString } from '../guard/value.mjs';
2
+ import { Any } from '../any/index.mjs';
3
+ import { BigInt } from '../bigint/index.mjs';
4
+ import { Date } from '../date/index.mjs';
5
+ import { Function } from '../function/index.mjs';
6
+ import { Literal } from '../literal/index.mjs';
7
+ import { Null } from '../null/index.mjs';
8
+ import { Object } from '../object/index.mjs';
9
+ import { Symbol } from '../symbol/index.mjs';
10
+ import { Tuple } from '../tuple/index.mjs';
11
+ import { Readonly } from '../readonly/index.mjs';
12
+ import { Undefined } from '../undefined/index.mjs';
13
+ import { Uint8Array } from '../uint8array/index.mjs';
14
+ import { Unknown } from '../unknown/index.mjs';
15
+ import { TypeClone } from '../clone/index.mjs';
16
+ function FromArray(T) {
17
+ const [L, ...R] = T;
18
+ return (T.length > 0
19
+ ? [FromValue(L, false), ...FromArray(R)]
20
+ : []);
21
+ }
22
+ function FromProperties(value) {
23
+ return globalThis.Object.getOwnPropertyNames(value).reduce((acc, key) => {
24
+ return { ...acc, [key]: Readonly(FromValue(value[key], false)) };
25
+ }, {});
26
+ }
27
+ function ConditionalReadonly(T, root) {
28
+ return (root === true ? T : Readonly(T));
29
+ }
30
+ function FromValue(value, root) {
31
+ return (IsAsyncIterator(value) ? ConditionalReadonly(Any(), root) :
32
+ IsIterator(value) ? ConditionalReadonly(Any(), root) :
33
+ IsArray(value) ? Readonly(Tuple(FromArray(value))) :
34
+ IsUint8Array(value) ? Uint8Array() :
35
+ IsDate(value) ? Date() :
36
+ IsObject(value) ? ConditionalReadonly(Object(FromProperties(value)), root) :
37
+ IsFunction(value) ? ConditionalReadonly(Function([], Unknown()), root) :
38
+ IsUndefined(value) ? Undefined() :
39
+ IsNull(value) ? Null() :
40
+ IsSymbol(value) ? Symbol() :
41
+ IsBigInt(value) ? BigInt() :
42
+ IsNumber(value) ? Literal(value) :
43
+ IsBoolean(value) ? Literal(value) :
44
+ IsString(value) ? Literal(value) :
45
+ Object({}));
46
+ }
47
+ export function Const(T, options = {}) {
48
+ return TypeClone.CloneType(FromValue(T, true), options);
49
+ }
@@ -0,0 +1 @@
1
+ export * from './const.mjs';
@@ -0,0 +1,11 @@
1
+ import { Kind } from '../symbols/index.mjs';
2
+ import { CloneType, CloneRest } from '../clone/type.mjs';
3
+ export function Constructor(parameters, returns, options) {
4
+ return {
5
+ ...options,
6
+ [Kind]: 'Constructor',
7
+ type: 'Constructor',
8
+ parameters: CloneRest(parameters),
9
+ returns: CloneType(returns),
10
+ };
11
+ }
@@ -0,0 +1 @@
1
+ export * from './constructor.mjs';
@@ -0,0 +1,5 @@
1
+ import { Tuple } from '../tuple/index.mjs';
2
+ import { CloneRest } from '../clone/type.mjs';
3
+ export function ConstructorParameters(schema, options = {}) {
4
+ return Tuple(CloneRest(schema.parameters), { ...options });
5
+ }
@@ -0,0 +1 @@
1
+ export * from './constructor-parameters.mjs';
@@ -0,0 +1,8 @@
1
+ import { Kind } from '../symbols/index.mjs';
2
+ export function Date(options = {}) {
3
+ return {
4
+ ...options,
5
+ [Kind]: 'Date',
6
+ type: 'Date',
7
+ };
8
+ }
@@ -0,0 +1 @@
1
+ export * from './date.mjs';
@@ -0,0 +1,90 @@
1
+ import { CloneType } from '../clone/type.mjs';
2
+ import { Discard } from '../discard/index.mjs';
3
+ import { IsUndefined } from '../guard/value.mjs';
4
+ import { TConstructor as IsConstructorType, TFunction as IsFunctionType, TIntersect as IsIntersectType, TUnion as IsUnionType, TTuple as IsTupleType, TArray as IsArrayType, TObject as IsObjectType, TPromise as IsPromiseType, TAsyncIterator as IsAsyncIteratorType, TIterator as IsIteratorType, TRef as IsRefType, } from '../guard/type.mjs';
5
+ function FromRest(schema, references) {
6
+ return schema.map((schema) => Deref(schema, references));
7
+ }
8
+ function FromProperties(properties, references) {
9
+ return globalThis.Object.getOwnPropertyNames(properties).reduce((acc, key) => {
10
+ return { ...acc, [key]: Deref(properties[key], references) };
11
+ }, {});
12
+ }
13
+ function FromConstructor(schema, references) {
14
+ const clone = CloneType(schema);
15
+ clone.parameters = FromRest(clone.parameters, references);
16
+ clone.returns = Deref(clone.returns, references);
17
+ return clone;
18
+ }
19
+ function FromFunction(schema, references) {
20
+ const clone = CloneType(schema);
21
+ clone.parameters = FromRest(clone.parameters, references);
22
+ clone.returns = Deref(clone.returns, references);
23
+ return clone;
24
+ }
25
+ function FromIntersect(schema, references) {
26
+ const clone = CloneType(schema);
27
+ clone.allOf = FromRest(clone.allOf, references);
28
+ return clone;
29
+ }
30
+ function FromUnion(schema, references) {
31
+ const clone = CloneType(schema);
32
+ clone.anyOf = FromRest(clone.anyOf, references);
33
+ return clone;
34
+ }
35
+ function FromTuple(schema, references) {
36
+ const clone = CloneType(schema);
37
+ if (IsUndefined(clone.items))
38
+ return clone;
39
+ clone.items = FromRest(clone.items, references);
40
+ return clone;
41
+ }
42
+ function FromArray(schema, references) {
43
+ const clone = CloneType(schema);
44
+ clone.items = Deref(clone.items, references);
45
+ return clone;
46
+ }
47
+ function FromObject(schema, references) {
48
+ const clone = CloneType(schema);
49
+ clone.properties = FromProperties(clone.properties, references);
50
+ return clone;
51
+ }
52
+ function FromPromise(schema, references) {
53
+ const clone = CloneType(schema);
54
+ clone.item = Deref(clone.item, references);
55
+ return clone;
56
+ }
57
+ function FromAsyncIterator(schema, references) {
58
+ const clone = CloneType(schema);
59
+ clone.items = Deref(clone.items, references);
60
+ return clone;
61
+ }
62
+ function FromIterator(schema, references) {
63
+ const clone = CloneType(schema);
64
+ clone.items = Deref(clone.items, references);
65
+ return clone;
66
+ }
67
+ function FromRef(schema, references) {
68
+ const target = references.find(remote => remote.$id === schema.$ref);
69
+ if (target === undefined)
70
+ throw Error(`Unable to dereference schema with $id ${schema.$ref}`);
71
+ const discard = Discard(target, ['$id']);
72
+ return Deref(discard, references);
73
+ }
74
+ export function DerefResolve(schema, references) {
75
+ return (IsConstructorType(schema) ? FromConstructor(schema, references) :
76
+ IsFunctionType(schema) ? FromFunction(schema, references) :
77
+ IsIntersectType(schema) ? FromIntersect(schema, references) :
78
+ IsUnionType(schema) ? FromUnion(schema, references) :
79
+ IsTupleType(schema) ? FromTuple(schema, references) :
80
+ IsArrayType(schema) ? FromArray(schema, references) :
81
+ IsObjectType(schema) ? FromObject(schema, references) :
82
+ IsPromiseType(schema) ? FromPromise(schema, references) :
83
+ IsAsyncIteratorType(schema) ? FromAsyncIterator(schema, references) :
84
+ IsIteratorType(schema) ? FromIterator(schema, references) :
85
+ IsRefType(schema) ? FromRef(schema, references) :
86
+ schema);
87
+ }
88
+ export function Deref(schema, references) {
89
+ return DerefResolve(schema, references);
90
+ }
@@ -0,0 +1 @@
1
+ export * from './deref.mjs';
@@ -0,0 +1,7 @@
1
+ function Key(value, key) {
2
+ const { [key]: _, ...rest } = value;
3
+ return rest;
4
+ }
5
+ export function Discard(value, keys) {
6
+ return keys.reduce((acc, key) => Key(acc, key), value);
7
+ }
@@ -0,0 +1 @@
1
+ export * from './discard.mjs';
@@ -0,0 +1,14 @@
1
+ import { Literal } from '../literal/index.mjs';
2
+ import { Kind, Hint } from '../symbols/index.mjs';
3
+ import { Union } from '../union/index.mjs';
4
+ import { IsUndefined } from '../guard/value.mjs';
5
+ export function Enum(item, options = {}) {
6
+ if (IsUndefined(item))
7
+ throw new Error('Enum undefined or empty');
8
+ const values1 = globalThis.Object.getOwnPropertyNames(item)
9
+ .filter((key) => isNaN(key))
10
+ .map((key) => item[key]);
11
+ const values2 = [...new Set(values1)];
12
+ const anyOf = values2.map((value) => Literal(value));
13
+ return Union(anyOf, { ...options, [Hint]: 'Enum' });
14
+ }
@@ -0,0 +1 @@
1
+ export * from './enum.mjs';
@@ -0,0 +1,20 @@
1
+ import { TemplateLiteralToUnion } from '../template-literal/index.mjs';
2
+ import { Union } from '../union/index.mjs';
3
+ import { Never } from '../never/index.mjs';
4
+ import { ExtendsCheck, ExtendsResult } from '../extends/index.mjs';
5
+ import { CloneType } from '../clone/type.mjs';
6
+ import { TTemplateLiteral as IsTemplateLiteralType, TUnion as IsUnionType } from '../guard/type.mjs';
7
+ export function ExcludeResolve(L, R) {
8
+ return (IsTemplateLiteralType(L) ? ExcludeResolve(TemplateLiteralToUnion(L), R) :
9
+ IsTemplateLiteralType(R) ? ExcludeResolve(L, TemplateLiteralToUnion(R)) :
10
+ IsUnionType(L) ? (() => {
11
+ const narrowed = L.anyOf.filter((inner) => ExtendsCheck(inner, R) === ExtendsResult.False);
12
+ return (narrowed.length === 1 ? narrowed[0] : Union(narrowed));
13
+ })() :
14
+ ExtendsCheck(L, R) !== ExtendsResult.False ? Never() :
15
+ L);
16
+ }
17
+ export function Exclude(unionType, excludedMembers, options = {}) {
18
+ const E = ExcludeResolve(unionType, excludedMembers);
19
+ return CloneType(E, options);
20
+ }
@@ -0,0 +1 @@
1
+ export * from './exclude.mjs';