@sinclair/typebox 0.31.28 → 0.32.0-dev-2

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 (629) hide show
  1. package/{compiler → cjs/compiler}/compiler.js +118 -107
  2. package/{compiler → cjs/compiler}/index.js +3 -3
  3. package/{errors → cjs/errors}/errors.js +48 -44
  4. package/cjs/index.js +205 -0
  5. package/cjs/system/errors.js +192 -0
  6. package/{value → cjs/system}/index.js +13 -14
  7. package/cjs/system/policy.js +74 -0
  8. package/cjs/system/system.js +71 -0
  9. package/cjs/type/any/any.js +36 -0
  10. package/{system → cjs/type/any}/index.js +2 -5
  11. package/cjs/type/array/array.js +42 -0
  12. package/cjs/type/array/index.js +44 -0
  13. package/cjs/type/async-iterator/async-iterator.js +42 -0
  14. package/cjs/type/async-iterator/index.js +44 -0
  15. package/cjs/type/awaited/awaited.js +66 -0
  16. package/cjs/type/awaited/index.js +44 -0
  17. package/cjs/type/bigint/bigint.js +40 -0
  18. package/cjs/type/bigint/index.js +44 -0
  19. package/cjs/type/boolean/boolean.js +40 -0
  20. package/cjs/type/boolean/index.js +44 -0
  21. package/cjs/type/clone/index.js +32 -0
  22. package/cjs/type/clone/type.js +41 -0
  23. package/cjs/type/clone/value.js +58 -0
  24. package/cjs/type/composite/composite.js +47 -0
  25. package/cjs/type/composite/index.js +44 -0
  26. package/cjs/type/const/const.js +84 -0
  27. package/cjs/type/const/index.js +44 -0
  28. package/cjs/type/constructor/constructor.js +43 -0
  29. package/cjs/type/constructor/index.js +44 -0
  30. package/cjs/type/constructor-parameters/constructor-parameters.js +37 -0
  31. package/cjs/type/constructor-parameters/index.js +44 -0
  32. package/cjs/type/date/date.js +40 -0
  33. package/cjs/type/date/index.js +44 -0
  34. package/cjs/type/deref/deref.js +136 -0
  35. package/cjs/type/deref/index.js +44 -0
  36. package/cjs/type/discard/discard.js +38 -0
  37. package/cjs/type/discard/index.js +44 -0
  38. package/cjs/type/enum/enum.js +46 -0
  39. package/cjs/type/enum/index.js +44 -0
  40. package/cjs/type/exclude/exclude.js +54 -0
  41. package/cjs/type/exclude/index.js +44 -0
  42. package/cjs/type/extends/extends-check.js +654 -0
  43. package/cjs/type/extends/extends-undefined.js +51 -0
  44. package/cjs/type/extends/extends.js +47 -0
  45. package/cjs/type/extends/index.js +46 -0
  46. package/cjs/type/extract/extract.js +54 -0
  47. package/cjs/type/extract/index.js +44 -0
  48. package/cjs/type/function/function.js +43 -0
  49. package/cjs/type/function/index.js +44 -0
  50. package/cjs/type/guard/index.js +32 -0
  51. package/cjs/type/guard/type.js +515 -0
  52. package/cjs/type/guard/value.js +100 -0
  53. package/cjs/type/helpers/helpers.js +35 -0
  54. package/cjs/type/helpers/index.js +44 -0
  55. package/cjs/type/index.js +113 -0
  56. package/cjs/type/indexed/index.js +46 -0
  57. package/cjs/type/indexed/indexed-key.js +65 -0
  58. package/cjs/type/indexed/indexed-type.js +106 -0
  59. package/cjs/type/indexed/indexed.js +41 -0
  60. package/cjs/type/instance-type/index.js +44 -0
  61. package/cjs/type/instance-type/instance-type.js +36 -0
  62. package/cjs/type/integer/index.js +44 -0
  63. package/cjs/type/integer/integer.js +40 -0
  64. package/cjs/type/intersect/index.js +44 -0
  65. package/cjs/type/intersect/intersect.js +59 -0
  66. package/cjs/type/intrinsic/index.js +44 -0
  67. package/cjs/type/intrinsic/intrinsic.js +106 -0
  68. package/cjs/type/iterator/index.js +44 -0
  69. package/cjs/type/iterator/iterator.js +42 -0
  70. package/cjs/type/keyof/index.js +46 -0
  71. package/cjs/type/keyof/keyof-string.js +103 -0
  72. package/cjs/type/keyof/keyof-type.js +48 -0
  73. package/cjs/type/keyof/keyof.js +38 -0
  74. package/cjs/type/literal/index.js +44 -0
  75. package/cjs/type/literal/literal.js +41 -0
  76. package/cjs/type/mapped/index.js +44 -0
  77. package/cjs/type/mapped/mapped.js +47 -0
  78. package/cjs/type/modifiers/index.js +44 -0
  79. package/cjs/type/modifiers/modifiers.js +78 -0
  80. package/cjs/type/never/index.js +44 -0
  81. package/cjs/type/never/never.js +40 -0
  82. package/cjs/type/not/index.js +44 -0
  83. package/cjs/type/not/not.js +41 -0
  84. package/cjs/type/null/index.js +44 -0
  85. package/cjs/type/null/null.js +40 -0
  86. package/cjs/type/number/index.js +44 -0
  87. package/cjs/type/number/number.js +40 -0
  88. package/cjs/type/object/index.js +44 -0
  89. package/cjs/type/object/object.js +47 -0
  90. package/cjs/type/omit/index.js +44 -0
  91. package/cjs/type/omit/omit.js +75 -0
  92. package/cjs/type/operators/index.js +44 -0
  93. package/cjs/type/operators/operators.js +119 -0
  94. package/cjs/type/optional/index.js +44 -0
  95. package/cjs/type/optional/optional.js +37 -0
  96. package/cjs/type/parameters/index.js +44 -0
  97. package/cjs/type/parameters/parameters.js +37 -0
  98. package/cjs/type/partial/index.js +44 -0
  99. package/cjs/type/partial/partial.js +73 -0
  100. package/cjs/type/patterns/index.js +44 -0
  101. package/cjs/type/patterns/patterns.js +36 -0
  102. package/cjs/type/pick/index.js +44 -0
  103. package/cjs/type/pick/pick.js +66 -0
  104. package/cjs/type/promise/index.js +44 -0
  105. package/cjs/type/promise/promise.js +42 -0
  106. package/cjs/type/readonly/index.js +44 -0
  107. package/cjs/type/readonly/readonly.js +37 -0
  108. package/cjs/type/readonly-optional/index.js +44 -0
  109. package/cjs/type/readonly-optional/readonly-optional.js +37 -0
  110. package/cjs/type/record/index.js +44 -0
  111. package/cjs/type/record/record.js +97 -0
  112. package/cjs/type/recursive/index.js +44 -0
  113. package/cjs/type/recursive/recursive.js +48 -0
  114. package/cjs/type/ref/index.js +44 -0
  115. package/cjs/type/ref/ref.js +45 -0
  116. package/cjs/type/regexp/index.js +44 -0
  117. package/cjs/type/regexp/regexp.js +38 -0
  118. package/cjs/type/registry/format.js +62 -0
  119. package/cjs/type/registry/index.js +32 -0
  120. package/cjs/type/registry/type.js +62 -0
  121. package/cjs/type/required/index.js +44 -0
  122. package/cjs/type/required/required.js +72 -0
  123. package/cjs/type/rest/index.js +44 -0
  124. package/cjs/type/rest/rest.js +41 -0
  125. package/cjs/type/return-type/index.js +44 -0
  126. package/cjs/type/return-type/return-type.js +36 -0
  127. package/cjs/type/schema/anyschema.js +29 -0
  128. package/cjs/type/schema/index.js +45 -0
  129. package/cjs/type/schema/schema.js +30 -0
  130. package/cjs/type/static/index.js +44 -0
  131. package/cjs/type/static/static.js +29 -0
  132. package/cjs/type/strict/index.js +44 -0
  133. package/cjs/type/strict/strict.js +35 -0
  134. package/cjs/type/string/index.js +44 -0
  135. package/cjs/type/string/string.js +36 -0
  136. package/cjs/type/symbol/index.js +44 -0
  137. package/cjs/type/symbol/symbol.js +36 -0
  138. package/cjs/type/symbols/index.js +44 -0
  139. package/cjs/type/symbols/symbols.js +40 -0
  140. package/cjs/type/template-literal/finite.js +71 -0
  141. package/cjs/type/template-literal/generate.js +74 -0
  142. package/cjs/type/template-literal/index.js +50 -0
  143. package/cjs/type/template-literal/parser.js +175 -0
  144. package/cjs/type/template-literal/pattern.js +61 -0
  145. package/cjs/type/template-literal/syntax.js +87 -0
  146. package/cjs/type/template-literal/template-literal.js +43 -0
  147. package/cjs/type/template-literal/union.js +48 -0
  148. package/cjs/type/transform/index.js +44 -0
  149. package/cjs/type/transform/transform.js +72 -0
  150. package/cjs/type/tuple/index.js +44 -0
  151. package/cjs/type/tuple/tuple.js +42 -0
  152. package/cjs/type/type/index.js +44 -0
  153. package/cjs/type/type/javascript.js +120 -0
  154. package/cjs/type/type/json.js +255 -0
  155. package/cjs/type/type/type.js +153 -0
  156. package/cjs/type/uint8array/index.js +44 -0
  157. package/cjs/type/uint8array/uint8array.js +36 -0
  158. package/cjs/type/undefined/index.js +44 -0
  159. package/cjs/type/undefined/undefined.js +36 -0
  160. package/cjs/type/union/index.js +44 -0
  161. package/cjs/type/union/union.js +50 -0
  162. package/cjs/type/unknown/index.js +44 -0
  163. package/cjs/type/unknown/unknown.js +39 -0
  164. package/cjs/type/unsafe/index.js +44 -0
  165. package/cjs/type/unsafe/unsafe.js +39 -0
  166. package/cjs/type/void/index.js +44 -0
  167. package/cjs/type/void/void.js +40 -0
  168. package/{value → cjs/value/cast}/cast.js +62 -83
  169. package/cjs/value/cast/index.js +44 -0
  170. package/cjs/value/check/check.js +468 -0
  171. package/cjs/value/check/index.js +44 -0
  172. package/cjs/value/clean/clean.js +167 -0
  173. package/cjs/value/clean/index.js +44 -0
  174. package/{value → cjs/value/clone}/clone.js +6 -6
  175. package/cjs/value/clone/index.js +44 -0
  176. package/{value → cjs/value/convert}/convert.js +93 -116
  177. package/cjs/value/convert/index.js +44 -0
  178. package/{value → cjs/value/create}/create.js +69 -62
  179. package/cjs/value/create/index.js +44 -0
  180. package/cjs/value/default/default.js +175 -0
  181. package/cjs/value/default/index.js +44 -0
  182. package/{value → cjs/value/delta}/delta.js +57 -53
  183. package/cjs/value/delta/index.js +44 -0
  184. package/{value → cjs/value/deref}/deref.js +1 -2
  185. package/cjs/value/deref/index.js +44 -0
  186. package/{value → cjs/value/equal}/equal.js +14 -14
  187. package/cjs/value/equal/index.js +44 -0
  188. package/cjs/value/guard/index.js +44 -0
  189. package/{value → cjs/value/hash}/hash.js +26 -26
  190. package/cjs/value/hash/index.js +44 -0
  191. package/cjs/value/index.js +123 -0
  192. package/cjs/value/mutate/index.js +44 -0
  193. package/{value → cjs/value/mutate}/mutate.js +25 -25
  194. package/cjs/value/pointer/index.js +31 -0
  195. package/cjs/value/pointer/pointer.js +151 -0
  196. package/cjs/value/transform/decode.js +211 -0
  197. package/cjs/value/transform/encode.js +219 -0
  198. package/cjs/value/transform/has.js +146 -0
  199. package/cjs/value/transform/index.js +46 -0
  200. package/cjs/value/value/index.js +31 -0
  201. package/cjs/value/value/value.js +125 -0
  202. package/{compiler/compiler.d.ts → esm/compiler/compiler.d.mts} +25 -18
  203. package/esm/compiler/compiler.mjs +658 -0
  204. package/{compiler/index.d.ts → esm/compiler/index.d.mts} +2 -2
  205. package/esm/compiler/index.mjs +29 -0
  206. package/{errors/errors.d.ts → esm/errors/errors.d.mts} +7 -7
  207. package/esm/errors/errors.mjs +583 -0
  208. package/esm/errors/index.d.mts +1 -0
  209. package/esm/errors/index.mjs +28 -0
  210. package/esm/index.d.mts +71 -0
  211. package/esm/index.mjs +105 -0
  212. package/esm/system/errors.d.mts +14 -0
  213. package/esm/system/errors.mjs +188 -0
  214. package/esm/system/index.d.mts +4 -0
  215. package/esm/system/index.mjs +31 -0
  216. package/esm/system/policy.d.mts +21 -0
  217. package/esm/system/policy.mjs +71 -0
  218. package/esm/system/system.d.mts +13 -0
  219. package/esm/system/system.mjs +66 -0
  220. package/esm/type/any/any.d.mts +8 -0
  221. package/esm/type/any/any.mjs +32 -0
  222. package/esm/type/any/index.d.mts +1 -0
  223. package/esm/type/any/index.mjs +28 -0
  224. package/esm/type/array/array.d.mts +25 -0
  225. package/esm/type/array/array.mjs +38 -0
  226. package/esm/type/array/index.d.mts +1 -0
  227. package/esm/type/array/index.mjs +28 -0
  228. package/esm/type/async-iterator/async-iterator.d.mts +11 -0
  229. package/esm/type/async-iterator/async-iterator.mjs +38 -0
  230. package/esm/type/async-iterator/index.d.mts +1 -0
  231. package/esm/type/async-iterator/index.mjs +28 -0
  232. package/esm/type/awaited/awaited.d.mts +12 -0
  233. package/esm/type/awaited/awaited.mjs +61 -0
  234. package/esm/type/awaited/index.d.mts +1 -0
  235. package/esm/type/awaited/index.mjs +28 -0
  236. package/esm/type/bigint/bigint.d.mts +16 -0
  237. package/esm/type/bigint/bigint.mjs +36 -0
  238. package/esm/type/bigint/index.d.mts +1 -0
  239. package/esm/type/bigint/index.mjs +28 -0
  240. package/esm/type/boolean/boolean.d.mts +9 -0
  241. package/esm/type/boolean/boolean.mjs +36 -0
  242. package/esm/type/boolean/index.d.mts +1 -0
  243. package/esm/type/boolean/index.mjs +28 -0
  244. package/esm/type/clone/index.d.mts +2 -0
  245. package/esm/type/clone/index.mjs +29 -0
  246. package/esm/type/clone/type.d.mts +5 -0
  247. package/esm/type/clone/type.mjs +36 -0
  248. package/esm/type/clone/value.d.mts +2 -0
  249. package/esm/type/clone/value.mjs +54 -0
  250. package/esm/type/composite/composite.d.mts +15 -0
  251. package/esm/type/composite/composite.mjs +42 -0
  252. package/esm/type/composite/index.d.mts +1 -0
  253. package/esm/type/composite/index.mjs +28 -0
  254. package/esm/type/const/const.d.mts +30 -0
  255. package/esm/type/const/const.mjs +80 -0
  256. package/esm/type/const/index.d.mts +1 -0
  257. package/esm/type/const/index.mjs +28 -0
  258. package/esm/type/constructor/constructor.d.mts +17 -0
  259. package/esm/type/constructor/constructor.mjs +39 -0
  260. package/esm/type/constructor/index.d.mts +1 -0
  261. package/esm/type/constructor/index.mjs +28 -0
  262. package/esm/type/constructor-parameters/constructor-parameters.d.mts +7 -0
  263. package/esm/type/constructor-parameters/constructor-parameters.mjs +33 -0
  264. package/esm/type/constructor-parameters/index.d.mts +1 -0
  265. package/esm/type/constructor-parameters/index.mjs +28 -0
  266. package/esm/type/date/date.d.mts +21 -0
  267. package/esm/type/date/date.mjs +36 -0
  268. package/esm/type/date/index.d.mts +1 -0
  269. package/esm/type/date/index.mjs +28 -0
  270. package/esm/type/deref/deref.d.mts +24 -0
  271. package/esm/type/deref/deref.mjs +131 -0
  272. package/esm/type/deref/index.d.mts +1 -0
  273. package/esm/type/deref/index.mjs +28 -0
  274. package/esm/type/discard/discard.d.mts +1 -0
  275. package/esm/type/discard/discard.mjs +34 -0
  276. package/esm/type/discard/index.d.mts +1 -0
  277. package/esm/type/discard/index.mjs +28 -0
  278. package/esm/type/enum/enum.d.mts +14 -0
  279. package/esm/type/enum/enum.mjs +42 -0
  280. package/esm/type/enum/index.d.mts +1 -0
  281. package/esm/type/enum/index.mjs +28 -0
  282. package/esm/type/exclude/exclude.d.mts +21 -0
  283. package/esm/type/exclude/exclude.mjs +49 -0
  284. package/esm/type/exclude/index.d.mts +1 -0
  285. package/esm/type/exclude/index.mjs +28 -0
  286. package/esm/type/extends/extends-check.d.mts +9 -0
  287. package/esm/type/extends/extends-check.mjs +649 -0
  288. package/esm/type/extends/extends-undefined.d.mts +3 -0
  289. package/esm/type/extends/extends-undefined.mjs +47 -0
  290. package/esm/type/extends/extends.d.mts +9 -0
  291. package/esm/type/extends/extends.mjs +42 -0
  292. package/esm/type/extends/index.d.mts +3 -0
  293. package/esm/type/extends/index.mjs +30 -0
  294. package/esm/type/extract/extract.d.mts +20 -0
  295. package/esm/type/extract/extract.mjs +49 -0
  296. package/esm/type/extract/index.d.mts +1 -0
  297. package/esm/type/extract/index.mjs +28 -0
  298. package/esm/type/function/function.d.mts +17 -0
  299. package/esm/type/function/function.mjs +39 -0
  300. package/esm/type/function/index.d.mts +1 -0
  301. package/esm/type/function/index.mjs +28 -0
  302. package/esm/type/guard/index.d.mts +2 -0
  303. package/esm/type/guard/index.mjs +29 -0
  304. package/esm/type/guard/type.d.mts +130 -0
  305. package/esm/type/guard/type.mjs +469 -0
  306. package/esm/type/guard/value.d.mts +28 -0
  307. package/esm/type/guard/value.mjs +83 -0
  308. package/esm/type/helpers/helpers.d.mts +42 -0
  309. package/esm/type/helpers/helpers.mjs +31 -0
  310. package/esm/type/helpers/index.d.mts +1 -0
  311. package/esm/type/helpers/index.mjs +28 -0
  312. package/esm/type/index.d.mts +70 -0
  313. package/esm/type/index.mjs +97 -0
  314. package/esm/type/indexed/index.d.mts +3 -0
  315. package/esm/type/indexed/index.mjs +30 -0
  316. package/esm/type/indexed/indexed-key.d.mts +17 -0
  317. package/esm/type/indexed/indexed-key.mjs +61 -0
  318. package/esm/type/indexed/indexed-type.d.mts +33 -0
  319. package/esm/type/indexed/indexed-type.mjs +102 -0
  320. package/esm/type/indexed/indexed.d.mts +8 -0
  321. package/esm/type/indexed/indexed.mjs +37 -0
  322. package/esm/type/instance-type/index.d.mts +1 -0
  323. package/esm/type/instance-type/index.mjs +28 -0
  324. package/esm/type/instance-type/instance-type.d.mts +5 -0
  325. package/esm/type/instance-type/instance-type.mjs +32 -0
  326. package/esm/type/integer/index.d.mts +1 -0
  327. package/esm/type/integer/index.mjs +28 -0
  328. package/esm/type/integer/integer.d.mts +16 -0
  329. package/esm/type/integer/integer.mjs +36 -0
  330. package/esm/type/intersect/index.d.mts +1 -0
  331. package/esm/type/intersect/index.mjs +28 -0
  332. package/esm/type/intersect/intersect.d.mts +22 -0
  333. package/esm/type/intersect/intersect.mjs +54 -0
  334. package/esm/type/intrinsic/index.d.mts +1 -0
  335. package/esm/type/intrinsic/index.mjs +28 -0
  336. package/esm/type/intrinsic/intrinsic.d.mts +27 -0
  337. package/esm/type/intrinsic/intrinsic.mjs +98 -0
  338. package/esm/type/iterator/index.d.mts +1 -0
  339. package/esm/type/iterator/index.mjs +28 -0
  340. package/esm/type/iterator/iterator.d.mts +11 -0
  341. package/esm/type/iterator/iterator.mjs +38 -0
  342. package/esm/type/keyof/index.d.mts +3 -0
  343. package/esm/type/keyof/index.mjs +30 -0
  344. package/esm/type/keyof/keyof-string.d.mts +30 -0
  345. package/esm/type/keyof/keyof-string.mjs +98 -0
  346. package/esm/type/keyof/keyof-type.d.mts +11 -0
  347. package/esm/type/keyof/keyof-type.mjs +44 -0
  348. package/esm/type/keyof/keyof.d.mts +5 -0
  349. package/esm/type/keyof/keyof.mjs +34 -0
  350. package/esm/type/literal/index.d.mts +1 -0
  351. package/esm/type/literal/index.mjs +28 -0
  352. package/esm/type/literal/literal.d.mts +10 -0
  353. package/esm/type/literal/literal.mjs +37 -0
  354. package/esm/type/mapped/index.d.mts +1 -0
  355. package/esm/type/mapped/index.mjs +28 -0
  356. package/esm/type/mapped/mapped.d.mts +26 -0
  357. package/esm/type/mapped/mapped.mjs +43 -0
  358. package/esm/type/modifiers/index.d.mts +1 -0
  359. package/esm/type/modifiers/index.mjs +28 -0
  360. package/esm/type/modifiers/modifiers.d.mts +18 -0
  361. package/esm/type/modifiers/modifiers.mjs +73 -0
  362. package/esm/type/never/index.d.mts +1 -0
  363. package/esm/type/never/index.mjs +28 -0
  364. package/esm/type/never/never.d.mts +9 -0
  365. package/esm/type/never/never.mjs +36 -0
  366. package/esm/type/not/index.d.mts +1 -0
  367. package/esm/type/not/index.mjs +28 -0
  368. package/esm/type/not/not.d.mts +10 -0
  369. package/esm/type/not/not.mjs +37 -0
  370. package/esm/type/null/index.d.mts +1 -0
  371. package/esm/type/null/index.mjs +28 -0
  372. package/esm/type/null/null.d.mts +9 -0
  373. package/esm/type/null/null.mjs +36 -0
  374. package/esm/type/number/index.d.mts +1 -0
  375. package/esm/type/number/index.mjs +28 -0
  376. package/esm/type/number/number.d.mts +16 -0
  377. package/esm/type/number/number.mjs +36 -0
  378. package/esm/type/object/index.d.mts +1 -0
  379. package/esm/type/object/index.mjs +28 -0
  380. package/esm/type/object/object.d.mts +44 -0
  381. package/esm/type/object/object.mjs +43 -0
  382. package/esm/type/omit/index.d.mts +1 -0
  383. package/esm/type/omit/index.mjs +28 -0
  384. package/esm/type/omit/omit.d.mts +21 -0
  385. package/esm/type/omit/omit.mjs +70 -0
  386. package/esm/type/operators/index.d.mts +1 -0
  387. package/esm/type/operators/index.mjs +28 -0
  388. package/esm/type/operators/operators.d.mts +24 -0
  389. package/esm/type/operators/operators.mjs +108 -0
  390. package/esm/type/optional/index.d.mts +1 -0
  391. package/esm/type/optional/index.mjs +28 -0
  392. package/esm/type/optional/optional.d.mts +7 -0
  393. package/esm/type/optional/optional.mjs +33 -0
  394. package/esm/type/parameters/index.d.mts +1 -0
  395. package/esm/type/parameters/index.mjs +28 -0
  396. package/esm/type/parameters/parameters.d.mts +7 -0
  397. package/esm/type/parameters/parameters.mjs +33 -0
  398. package/esm/type/partial/index.d.mts +1 -0
  399. package/esm/type/partial/index.mjs +28 -0
  400. package/esm/type/partial/partial.d.mts +23 -0
  401. package/esm/type/partial/partial.mjs +68 -0
  402. package/esm/type/patterns/index.d.mts +1 -0
  403. package/esm/type/patterns/index.mjs +28 -0
  404. package/esm/type/patterns/patterns.d.mts +6 -0
  405. package/esm/type/patterns/patterns.mjs +33 -0
  406. package/esm/type/pick/index.d.mts +1 -0
  407. package/esm/type/pick/index.mjs +28 -0
  408. package/esm/type/pick/pick.d.mts +21 -0
  409. package/esm/type/pick/pick.mjs +61 -0
  410. package/esm/type/promise/index.d.mts +1 -0
  411. package/esm/type/promise/index.mjs +28 -0
  412. package/esm/type/promise/promise.d.mts +11 -0
  413. package/esm/type/promise/promise.mjs +38 -0
  414. package/esm/type/readonly/index.d.mts +1 -0
  415. package/esm/type/readonly/index.mjs +28 -0
  416. package/esm/type/readonly/readonly.d.mts +7 -0
  417. package/esm/type/readonly/readonly.mjs +33 -0
  418. package/esm/type/readonly-optional/index.d.mts +1 -0
  419. package/esm/type/readonly-optional/index.mjs +28 -0
  420. package/esm/type/readonly-optional/readonly-optional.d.mts +6 -0
  421. package/esm/type/readonly-optional/readonly-optional.mjs +33 -0
  422. package/esm/type/record/index.d.mts +1 -0
  423. package/esm/type/record/index.mjs +28 -0
  424. package/esm/type/record/record.d.mts +55 -0
  425. package/esm/type/record/record.mjs +92 -0
  426. package/esm/type/recursive/index.d.mts +1 -0
  427. package/esm/type/recursive/index.mjs +28 -0
  428. package/esm/type/recursive/recursive.d.mts +15 -0
  429. package/esm/type/recursive/recursive.mjs +44 -0
  430. package/esm/type/ref/index.d.mts +1 -0
  431. package/esm/type/ref/index.mjs +28 -0
  432. package/esm/type/ref/ref.d.mts +12 -0
  433. package/esm/type/ref/ref.mjs +41 -0
  434. package/esm/type/regexp/index.d.mts +1 -0
  435. package/esm/type/regexp/index.mjs +28 -0
  436. package/esm/type/regexp/regexp.d.mts +7 -0
  437. package/esm/type/regexp/regexp.mjs +34 -0
  438. package/esm/type/registry/format.d.mts +13 -0
  439. package/esm/type/registry/format.mjs +53 -0
  440. package/esm/type/registry/index.d.mts +2 -0
  441. package/esm/type/registry/index.mjs +29 -0
  442. package/esm/type/registry/type.d.mts +13 -0
  443. package/esm/type/registry/type.mjs +53 -0
  444. package/esm/type/required/index.d.mts +1 -0
  445. package/esm/type/required/index.mjs +28 -0
  446. package/esm/type/required/required.d.mts +23 -0
  447. package/esm/type/required/required.mjs +67 -0
  448. package/esm/type/rest/index.d.mts +1 -0
  449. package/esm/type/rest/index.mjs +28 -0
  450. package/esm/type/rest/rest.d.mts +10 -0
  451. package/esm/type/rest/rest.mjs +36 -0
  452. package/esm/type/return-type/index.d.mts +1 -0
  453. package/esm/type/return-type/index.mjs +28 -0
  454. package/esm/type/return-type/return-type.d.mts +5 -0
  455. package/esm/type/return-type/return-type.mjs +32 -0
  456. package/esm/type/schema/anyschema.d.mts +32 -0
  457. package/esm/type/schema/anyschema.mjs +28 -0
  458. package/esm/type/schema/index.d.mts +2 -0
  459. package/esm/type/schema/index.mjs +29 -0
  460. package/esm/type/schema/schema.d.mts +29 -0
  461. package/esm/type/schema/schema.mjs +28 -0
  462. package/esm/type/static/index.d.mts +1 -0
  463. package/esm/type/static/index.mjs +28 -0
  464. package/esm/type/static/static.d.mts +34 -0
  465. package/esm/type/static/static.mjs +28 -0
  466. package/esm/type/strict/index.d.mts +1 -0
  467. package/esm/type/strict/index.mjs +28 -0
  468. package/esm/type/strict/strict.d.mts +3 -0
  469. package/esm/type/strict/strict.mjs +31 -0
  470. package/esm/type/string/index.d.mts +1 -0
  471. package/esm/type/string/index.mjs +28 -0
  472. package/esm/type/string/string.d.mts +25 -0
  473. package/esm/type/string/string.mjs +32 -0
  474. package/esm/type/symbol/index.d.mts +1 -0
  475. package/esm/type/symbol/index.mjs +28 -0
  476. package/esm/type/symbol/symbol.d.mts +10 -0
  477. package/esm/type/symbol/symbol.mjs +32 -0
  478. package/esm/type/symbols/index.d.mts +1 -0
  479. package/esm/type/symbols/index.mjs +28 -0
  480. package/esm/type/symbols/symbols.d.mts +10 -0
  481. package/esm/type/symbols/symbols.mjs +37 -0
  482. package/esm/type/template-literal/finite.d.mts +16 -0
  483. package/esm/type/template-literal/finite.mjs +66 -0
  484. package/esm/type/template-literal/generate.d.mts +15 -0
  485. package/esm/type/template-literal/generate.mjs +69 -0
  486. package/esm/type/template-literal/index.d.mts +7 -0
  487. package/esm/type/template-literal/index.mjs +34 -0
  488. package/esm/type/template-literal/parser.d.mts +19 -0
  489. package/esm/type/template-literal/parser.mjs +169 -0
  490. package/esm/type/template-literal/pattern.d.mts +4 -0
  491. package/esm/type/template-literal/pattern.mjs +56 -0
  492. package/esm/type/template-literal/syntax.d.mts +20 -0
  493. package/esm/type/template-literal/syntax.mjs +83 -0
  494. package/esm/type/template-literal/template-literal.d.mts +30 -0
  495. package/esm/type/template-literal/template-literal.mjs +39 -0
  496. package/esm/type/template-literal/union.d.mts +7 -0
  497. package/esm/type/template-literal/union.mjs +44 -0
  498. package/esm/type/transform/index.d.mts +1 -0
  499. package/esm/type/transform/index.mjs +28 -0
  500. package/esm/type/transform/transform.d.mts +29 -0
  501. package/esm/type/transform/transform.mjs +69 -0
  502. package/esm/type/tuple/index.d.mts +1 -0
  503. package/esm/type/tuple/index.mjs +28 -0
  504. package/esm/type/tuple/tuple.d.mts +15 -0
  505. package/esm/type/tuple/tuple.mjs +38 -0
  506. package/esm/type/type/index.d.mts +6 -0
  507. package/esm/type/type/index.mjs +40 -0
  508. package/esm/type/type/javascript.d.mts +58 -0
  509. package/esm/type/type/javascript.mjs +116 -0
  510. package/esm/type/type/json.d.mts +139 -0
  511. package/esm/type/type/json.mjs +251 -0
  512. package/esm/type/type/type.d.mts +58 -0
  513. package/esm/type/type/type.mjs +88 -0
  514. package/esm/type/uint8array/index.d.mts +1 -0
  515. package/esm/type/uint8array/index.mjs +28 -0
  516. package/esm/type/uint8array/uint8array.d.mts +13 -0
  517. package/esm/type/uint8array/uint8array.mjs +32 -0
  518. package/esm/type/undefined/index.d.mts +1 -0
  519. package/esm/type/undefined/index.mjs +28 -0
  520. package/esm/type/undefined/undefined.d.mts +9 -0
  521. package/esm/type/undefined/undefined.mjs +32 -0
  522. package/esm/type/union/index.d.mts +1 -0
  523. package/esm/type/union/index.mjs +28 -0
  524. package/esm/type/union/union.d.mts +16 -0
  525. package/esm/type/union/union.mjs +45 -0
  526. package/esm/type/unknown/index.d.mts +1 -0
  527. package/esm/type/unknown/index.mjs +28 -0
  528. package/esm/type/unknown/unknown.d.mts +8 -0
  529. package/esm/type/unknown/unknown.mjs +35 -0
  530. package/esm/type/unsafe/index.d.mts +1 -0
  531. package/esm/type/unsafe/index.mjs +28 -0
  532. package/esm/type/unsafe/unsafe.d.mts +11 -0
  533. package/esm/type/unsafe/unsafe.mjs +35 -0
  534. package/esm/type/void/index.d.mts +1 -0
  535. package/esm/type/void/index.mjs +28 -0
  536. package/esm/type/void/void.d.mts +9 -0
  537. package/esm/type/void/void.mjs +36 -0
  538. package/esm/value/cast/cast.d.mts +23 -0
  539. package/esm/value/cast/cast.mjs +260 -0
  540. package/esm/value/cast/index.d.mts +1 -0
  541. package/esm/value/cast/index.mjs +28 -0
  542. package/esm/value/check/check.d.mts +10 -0
  543. package/{value/check.js → esm/value/check/check.mjs} +52 -51
  544. package/esm/value/check/index.d.mts +1 -0
  545. package/esm/value/check/index.mjs +28 -0
  546. package/esm/value/clean/clean.d.mts +5 -0
  547. package/esm/value/clean/clean.mjs +163 -0
  548. package/esm/value/clean/index.d.mts +1 -0
  549. package/esm/value/clean/index.mjs +28 -0
  550. package/esm/value/clone/clone.mjs +64 -0
  551. package/esm/value/clone/index.d.mts +1 -0
  552. package/esm/value/clone/index.mjs +28 -0
  553. package/esm/value/convert/convert.d.mts +9 -0
  554. package/esm/value/convert/convert.mjs +287 -0
  555. package/esm/value/convert/index.d.mts +1 -0
  556. package/esm/value/convert/index.mjs +28 -0
  557. package/esm/value/create/create.d.mts +31 -0
  558. package/esm/value/create/create.mjs +504 -0
  559. package/esm/value/create/index.d.mts +1 -0
  560. package/esm/value/create/index.mjs +28 -0
  561. package/esm/value/default/default.d.mts +5 -0
  562. package/esm/value/default/default.mjs +171 -0
  563. package/esm/value/default/index.d.mts +1 -0
  564. package/esm/value/default/index.mjs +28 -0
  565. package/esm/value/delta/delta.d.mts +41 -0
  566. package/esm/value/delta/delta.mjs +194 -0
  567. package/esm/value/delta/index.d.mts +1 -0
  568. package/esm/value/delta/index.mjs +28 -0
  569. package/{value/deref.d.ts → esm/value/deref/deref.d.mts} +4 -2
  570. package/esm/value/deref/deref.mjs +41 -0
  571. package/esm/value/deref/index.d.mts +1 -0
  572. package/esm/value/deref/index.mjs +28 -0
  573. package/esm/value/equal/equal.mjs +73 -0
  574. package/esm/value/equal/index.d.mts +1 -0
  575. package/esm/value/equal/index.mjs +28 -0
  576. package/esm/value/guard/guard.mjs +123 -0
  577. package/esm/value/guard/index.d.mts +1 -0
  578. package/esm/value/guard/index.mjs +28 -0
  579. package/{value/hash.d.ts → esm/value/hash/hash.d.mts} +0 -13
  580. package/esm/value/hash/hash.mjs +173 -0
  581. package/esm/value/hash/index.d.mts +1 -0
  582. package/esm/value/hash/index.mjs +28 -0
  583. package/esm/value/index.d.mts +18 -0
  584. package/esm/value/index.mjs +57 -0
  585. package/esm/value/mutate/index.d.mts +1 -0
  586. package/esm/value/mutate/index.mjs +28 -0
  587. package/{value/mutate.d.ts → esm/value/mutate/mutate.d.mts} +1 -1
  588. package/esm/value/mutate/mutate.mjs +123 -0
  589. package/esm/value/pointer/index.d.mts +1 -0
  590. package/esm/value/pointer/index.mjs +28 -0
  591. package/esm/value/pointer/pointer.d.mts +21 -0
  592. package/esm/value/pointer/pointer.mjs +146 -0
  593. package/esm/value/transform/decode.d.mts +19 -0
  594. package/esm/value/transform/decode.mjs +210 -0
  595. package/esm/value/transform/encode.d.mts +20 -0
  596. package/esm/value/transform/encode.mjs +218 -0
  597. package/esm/value/transform/has.d.mts +3 -0
  598. package/esm/value/transform/has.mjs +142 -0
  599. package/esm/value/transform/index.d.mts +3 -0
  600. package/esm/value/transform/index.mjs +30 -0
  601. package/esm/value/value/index.d.mts +1 -0
  602. package/esm/value/value/index.mjs +28 -0
  603. package/esm/value/value/value.d.mts +53 -0
  604. package/esm/value/value/value.mjs +107 -0
  605. package/package.json +37 -27
  606. package/readme.md +183 -155
  607. package/errors/index.d.ts +0 -1
  608. package/system/index.d.ts +0 -2
  609. package/system/system.d.ts +0 -48
  610. package/system/system.js +0 -274
  611. package/typebox.d.ts +0 -962
  612. package/typebox.js +0 -2364
  613. package/value/cast.d.ts +0 -24
  614. package/value/check.d.ts +0 -9
  615. package/value/convert.d.ts +0 -10
  616. package/value/create.d.ts +0 -30
  617. package/value/delta.d.ts +0 -41
  618. package/value/index.d.ts +0 -5
  619. package/value/pointer.d.ts +0 -24
  620. package/value/pointer.js +0 -148
  621. package/value/transform.d.ts +0 -37
  622. package/value/transform.js +0 -473
  623. package/value/value.d.ts +0 -47
  624. package/value/value.js +0 -117
  625. /package/{errors → cjs/errors}/index.js +0 -0
  626. /package/{value → cjs/value/guard}/guard.js +0 -0
  627. /package/{value/clone.d.ts → esm/value/clone/clone.d.mts} +0 -0
  628. /package/{value/equal.d.ts → esm/value/equal/equal.d.mts} +0 -0
  629. /package/{value/guard.d.ts → esm/value/guard/guard.d.mts} +0 -0
@@ -28,23 +28,28 @@ THE SOFTWARE.
28
28
  ---------------------------------------------------------------------------*/
29
29
  Object.defineProperty(exports, "__esModule", { value: true });
30
30
  exports.TypeCompiler = exports.Policy = exports.TypeCompilerTypeGuardError = exports.TypeCompilerUnknownTypeError = exports.TypeCheck = void 0;
31
- const transform_1 = require("../value/transform");
32
- const guard_1 = require("../value/guard");
33
- const errors_1 = require("../errors/errors");
34
- const index_1 = require("../system/index");
35
- const deref_1 = require("../value/deref");
36
- const hash_1 = require("../value/hash");
37
- const Types = require("../typebox");
38
- // -------------------------------------------------------------------
31
+ const index_mjs_1 = require("../value/transform/index");
32
+ const index_mjs_2 = require("../value/guard/index");
33
+ const index_mjs_3 = require("../errors/index");
34
+ const index_mjs_4 = require("../system/index");
35
+ const index_mjs_5 = require("../value/deref/index");
36
+ const index_mjs_6 = require("../value/hash/index");
37
+ const index_mjs_7 = require("../type/symbols/index");
38
+ const type_mjs_1 = require("../type/guard/type");
39
+ const index_mjs_8 = require("../type/registry/index");
40
+ const index_mjs_9 = require("../type/keyof/index");
41
+ const extends_undefined_mjs_1 = require("../type/extends/extends-undefined");
42
+ const index_mjs_10 = require("../type/never/index");
43
+ // ------------------------------------------------------------------
39
44
  // TypeCheck
40
- // -------------------------------------------------------------------
45
+ // ------------------------------------------------------------------
41
46
  class TypeCheck {
42
47
  constructor(schema, references, checkFunc, code) {
43
48
  this.schema = schema;
44
49
  this.references = references;
45
50
  this.checkFunc = checkFunc;
46
51
  this.code = code;
47
- this.hasTransform = transform_1.HasTransform.Has(schema, references);
52
+ this.hasTransform = (0, index_mjs_1.HasTransform)(schema, references);
48
53
  }
49
54
  /** Returns the generated assertion code used to validate this type. */
50
55
  Code() {
@@ -52,30 +57,36 @@ class TypeCheck {
52
57
  }
53
58
  /** Returns an iterator for each error in this value. */
54
59
  Errors(value) {
55
- return (0, errors_1.Errors)(this.schema, this.references, value);
60
+ return (0, index_mjs_3.Errors)(this.schema, this.references, value);
56
61
  }
57
62
  /** Returns true if the value matches the compiled type. */
58
63
  Check(value) {
59
64
  return this.checkFunc(value);
60
65
  }
61
- /** Decodes a value or throws if error */
66
+ /**
67
+ * Decodes a value or throws if error
68
+ * @deprecated Use raw `Decode` from `Value` module
69
+ */
62
70
  Decode(value) {
63
71
  if (!this.checkFunc(value))
64
- throw new transform_1.TransformDecodeCheckError(this.schema, value, this.Errors(value).First());
65
- return this.hasTransform ? transform_1.DecodeTransform.Decode(this.schema, this.references, value) : value;
72
+ throw new index_mjs_1.TransformDecodeCheckError(this.schema, value, this.Errors(value).First());
73
+ return this.hasTransform ? (0, index_mjs_1.Decode)(this.schema, this.references, value) : value;
66
74
  }
67
- /** Encodes a value or throws if error */
75
+ /**
76
+ * Encodes a value or throws if error
77
+ * @deprecated Use raw `Encode` from `Value` module
78
+ */
68
79
  Encode(value) {
69
- const encoded = this.hasTransform ? transform_1.EncodeTransform.Encode(this.schema, this.references, value) : value;
80
+ const encoded = this.hasTransform ? (0, index_mjs_1.Encode)(this.schema, this.references, value) : value;
70
81
  if (!this.checkFunc(encoded))
71
- throw new transform_1.TransformEncodeCheckError(this.schema, value, this.Errors(value).First());
82
+ throw new index_mjs_1.TransformEncodeCheckError(this.schema, value, this.Errors(value).First());
72
83
  return encoded;
73
84
  }
74
85
  }
75
86
  exports.TypeCheck = TypeCheck;
76
- // -------------------------------------------------------------------
87
+ // ------------------------------------------------------------------
77
88
  // Character
78
- // -------------------------------------------------------------------
89
+ // ------------------------------------------------------------------
79
90
  var Character;
80
91
  (function (Character) {
81
92
  function DollarSign(code) {
@@ -95,9 +106,9 @@ var Character;
95
106
  }
96
107
  Character.IsNumeric = IsNumeric;
97
108
  })(Character || (Character = {}));
98
- // -------------------------------------------------------------------
109
+ // ------------------------------------------------------------------
99
110
  // MemberExpression
100
- // -------------------------------------------------------------------
111
+ // ------------------------------------------------------------------
101
112
  var MemberExpression;
102
113
  (function (MemberExpression) {
103
114
  function IsFirstCharacterNumeric(value) {
@@ -124,9 +135,9 @@ var MemberExpression;
124
135
  }
125
136
  MemberExpression.Encode = Encode;
126
137
  })(MemberExpression || (MemberExpression = {}));
127
- // -------------------------------------------------------------------
138
+ // ------------------------------------------------------------------
128
139
  // Identifier
129
- // -------------------------------------------------------------------
140
+ // ------------------------------------------------------------------
130
141
  var Identifier;
131
142
  (function (Identifier) {
132
143
  function Encode($id) {
@@ -144,9 +155,9 @@ var Identifier;
144
155
  }
145
156
  Identifier.Encode = Encode;
146
157
  })(Identifier || (Identifier = {}));
147
- // -------------------------------------------------------------------
158
+ // ------------------------------------------------------------------
148
159
  // LiteralString
149
- // -------------------------------------------------------------------
160
+ // ------------------------------------------------------------------
150
161
  var LiteralString;
151
162
  (function (LiteralString) {
152
163
  function Escape(content) {
@@ -154,80 +165,80 @@ var LiteralString;
154
165
  }
155
166
  LiteralString.Escape = Escape;
156
167
  })(LiteralString || (LiteralString = {}));
157
- // -------------------------------------------------------------------
168
+ // ------------------------------------------------------------------
158
169
  // Errors
159
- // -------------------------------------------------------------------
160
- class TypeCompilerUnknownTypeError extends Types.TypeBoxError {
170
+ // ------------------------------------------------------------------
171
+ class TypeCompilerUnknownTypeError extends Error {
161
172
  constructor(schema) {
162
173
  super('Unknown type');
163
174
  this.schema = schema;
164
175
  }
165
176
  }
166
177
  exports.TypeCompilerUnknownTypeError = TypeCompilerUnknownTypeError;
167
- class TypeCompilerTypeGuardError extends Types.TypeBoxError {
178
+ class TypeCompilerTypeGuardError extends Error {
168
179
  constructor(schema) {
169
180
  super('Preflight validation check failed to guard for the given schema');
170
181
  this.schema = schema;
171
182
  }
172
183
  }
173
184
  exports.TypeCompilerTypeGuardError = TypeCompilerTypeGuardError;
174
- // -------------------------------------------------------------------
185
+ // ------------------------------------------------------------------
175
186
  // Policy
176
- // -------------------------------------------------------------------
187
+ // ------------------------------------------------------------------
177
188
  var Policy;
178
189
  (function (Policy) {
179
190
  function IsExactOptionalProperty(value, key, expression) {
180
- return index_1.TypeSystemPolicy.ExactOptionalPropertyTypes ? `('${key}' in ${value} ? ${expression} : true)` : `(${MemberExpression.Encode(value, key)} !== undefined ? ${expression} : true)`;
191
+ return index_mjs_4.TypeSystemPolicy.ExactOptionalPropertyTypes ? `('${key}' in ${value} ? ${expression} : true)` : `(${MemberExpression.Encode(value, key)} !== undefined ? ${expression} : true)`;
181
192
  }
182
193
  Policy.IsExactOptionalProperty = IsExactOptionalProperty;
183
194
  function IsObjectLike(value) {
184
- return !index_1.TypeSystemPolicy.AllowArrayObject ? `(typeof ${value} === 'object' && ${value} !== null && !Array.isArray(${value}))` : `(typeof ${value} === 'object' && ${value} !== null)`;
195
+ return !index_mjs_4.TypeSystemPolicy.AllowArrayObject ? `(typeof ${value} === 'object' && ${value} !== null && !Array.isArray(${value}))` : `(typeof ${value} === 'object' && ${value} !== null)`;
185
196
  }
186
197
  Policy.IsObjectLike = IsObjectLike;
187
198
  function IsRecordLike(value) {
188
- return !index_1.TypeSystemPolicy.AllowArrayObject
199
+ return !index_mjs_4.TypeSystemPolicy.AllowArrayObject
189
200
  ? `(typeof ${value} === 'object' && ${value} !== null && !Array.isArray(${value}) && !(${value} instanceof Date) && !(${value} instanceof Uint8Array))`
190
201
  : `(typeof ${value} === 'object' && ${value} !== null && !(${value} instanceof Date) && !(${value} instanceof Uint8Array))`;
191
202
  }
192
203
  Policy.IsRecordLike = IsRecordLike;
193
204
  function IsNumberLike(value) {
194
- return !index_1.TypeSystemPolicy.AllowNaN ? `(typeof ${value} === 'number' && Number.isFinite(${value}))` : `typeof ${value} === 'number'`;
205
+ return !index_mjs_4.TypeSystemPolicy.AllowNaN ? `(typeof ${value} === 'number' && Number.isFinite(${value}))` : `typeof ${value} === 'number'`;
195
206
  }
196
207
  Policy.IsNumberLike = IsNumberLike;
197
208
  function IsVoidLike(value) {
198
- return index_1.TypeSystemPolicy.AllowNullVoid ? `(${value} === undefined || ${value} === null)` : `${value} === undefined`;
209
+ return index_mjs_4.TypeSystemPolicy.AllowNullVoid ? `(${value} === undefined || ${value} === null)` : `${value} === undefined`;
199
210
  }
200
211
  Policy.IsVoidLike = IsVoidLike;
201
212
  })(Policy || (exports.Policy = Policy = {}));
202
213
  /** Compiles Types for Runtime Type Checking */
203
214
  var TypeCompiler;
204
215
  (function (TypeCompiler) {
205
- // ----------------------------------------------------------------------
216
+ // ----------------------------------------------------------------
206
217
  // Guards
207
- // ----------------------------------------------------------------------
218
+ // ----------------------------------------------------------------
208
219
  function IsAnyOrUnknown(schema) {
209
- return schema[Types.Kind] === 'Any' || schema[Types.Kind] === 'Unknown';
220
+ return schema[index_mjs_7.Kind] === 'Any' || schema[index_mjs_7.Kind] === 'Unknown';
210
221
  }
211
- // -------------------------------------------------------------------
222
+ // ----------------------------------------------------------------
212
223
  // Types
213
- // -------------------------------------------------------------------
224
+ // ----------------------------------------------------------------
214
225
  function* TAny(schema, references, value) {
215
226
  yield 'true';
216
227
  }
217
228
  function* TArray(schema, references, value) {
218
229
  yield `Array.isArray(${value})`;
219
230
  const [parameter, accumulator] = [CreateParameter('value', 'any'), CreateParameter('acc', 'number')];
220
- if ((0, guard_1.IsNumber)(schema.maxItems))
231
+ if ((0, index_mjs_2.IsNumber)(schema.maxItems))
221
232
  yield `${value}.length <= ${schema.maxItems}`;
222
- if ((0, guard_1.IsNumber)(schema.minItems))
233
+ if ((0, index_mjs_2.IsNumber)(schema.minItems))
223
234
  yield `${value}.length >= ${schema.minItems}`;
224
235
  const elementExpression = CreateExpression(schema.items, references, 'value');
225
236
  yield `${value}.every((${parameter}) => ${elementExpression})`;
226
- if (Types.TypeGuard.TSchema(schema.contains) || (0, guard_1.IsNumber)(schema.minContains) || (0, guard_1.IsNumber)(schema.maxContains)) {
227
- const containsSchema = Types.TypeGuard.TSchema(schema.contains) ? schema.contains : Types.Type.Never();
237
+ if ((0, type_mjs_1.TSchema)(schema.contains) || (0, index_mjs_2.IsNumber)(schema.minContains) || (0, index_mjs_2.IsNumber)(schema.maxContains)) {
238
+ const containsSchema = (0, type_mjs_1.TSchema)(schema.contains) ? schema.contains : (0, index_mjs_10.Never)();
228
239
  const checkExpression = CreateExpression(containsSchema, references, 'value');
229
- const checkMinContains = (0, guard_1.IsNumber)(schema.minContains) ? [`(count >= ${schema.minContains})`] : [];
230
- const checkMaxContains = (0, guard_1.IsNumber)(schema.maxContains) ? [`(count <= ${schema.maxContains})`] : [];
240
+ const checkMinContains = (0, index_mjs_2.IsNumber)(schema.minContains) ? [`(count >= ${schema.minContains})`] : [];
241
+ const checkMaxContains = (0, index_mjs_2.IsNumber)(schema.maxContains) ? [`(count <= ${schema.maxContains})`] : [];
231
242
  const checkCount = `const count = value.reduce((${accumulator}, ${parameter}) => ${checkExpression} ? acc + 1 : acc, 0)`;
232
243
  const check = [`(count > 0)`, ...checkMinContains, ...checkMaxContains].join(' && ');
233
244
  yield `((${parameter}) => { ${checkCount}; return ${check}})(${value})`;
@@ -243,15 +254,15 @@ var TypeCompiler;
243
254
  }
244
255
  function* TBigInt(schema, references, value) {
245
256
  yield `(typeof ${value} === 'bigint')`;
246
- if ((0, guard_1.IsBigInt)(schema.exclusiveMaximum))
257
+ if ((0, index_mjs_2.IsBigInt)(schema.exclusiveMaximum))
247
258
  yield `${value} < BigInt(${schema.exclusiveMaximum})`;
248
- if ((0, guard_1.IsBigInt)(schema.exclusiveMinimum))
259
+ if ((0, index_mjs_2.IsBigInt)(schema.exclusiveMinimum))
249
260
  yield `${value} > BigInt(${schema.exclusiveMinimum})`;
250
- if ((0, guard_1.IsBigInt)(schema.maximum))
261
+ if ((0, index_mjs_2.IsBigInt)(schema.maximum))
251
262
  yield `${value} <= BigInt(${schema.maximum})`;
252
- if ((0, guard_1.IsBigInt)(schema.minimum))
263
+ if ((0, index_mjs_2.IsBigInt)(schema.minimum))
253
264
  yield `${value} >= BigInt(${schema.minimum})`;
254
- if ((0, guard_1.IsBigInt)(schema.multipleOf))
265
+ if ((0, index_mjs_2.IsBigInt)(schema.multipleOf))
255
266
  yield `(${value} % BigInt(${schema.multipleOf})) === 0`;
256
267
  }
257
268
  function* TBoolean(schema, references, value) {
@@ -262,15 +273,15 @@ var TypeCompiler;
262
273
  }
263
274
  function* TDate(schema, references, value) {
264
275
  yield `(${value} instanceof Date) && Number.isFinite(${value}.getTime())`;
265
- if ((0, guard_1.IsNumber)(schema.exclusiveMaximumTimestamp))
276
+ if ((0, index_mjs_2.IsNumber)(schema.exclusiveMaximumTimestamp))
266
277
  yield `${value}.getTime() < ${schema.exclusiveMaximumTimestamp}`;
267
- if ((0, guard_1.IsNumber)(schema.exclusiveMinimumTimestamp))
278
+ if ((0, index_mjs_2.IsNumber)(schema.exclusiveMinimumTimestamp))
268
279
  yield `${value}.getTime() > ${schema.exclusiveMinimumTimestamp}`;
269
- if ((0, guard_1.IsNumber)(schema.maximumTimestamp))
280
+ if ((0, index_mjs_2.IsNumber)(schema.maximumTimestamp))
270
281
  yield `${value}.getTime() <= ${schema.maximumTimestamp}`;
271
- if ((0, guard_1.IsNumber)(schema.minimumTimestamp))
282
+ if ((0, index_mjs_2.IsNumber)(schema.minimumTimestamp))
272
283
  yield `${value}.getTime() >= ${schema.minimumTimestamp}`;
273
- if ((0, guard_1.IsNumber)(schema.multipleOfTimestamp))
284
+ if ((0, index_mjs_2.IsNumber)(schema.multipleOfTimestamp))
274
285
  yield `(${value}.getTime() % ${schema.multipleOfTimestamp}) === 0`;
275
286
  }
276
287
  function* TFunction(schema, references, value) {
@@ -278,26 +289,26 @@ var TypeCompiler;
278
289
  }
279
290
  function* TInteger(schema, references, value) {
280
291
  yield `(typeof ${value} === 'number' && Number.isInteger(${value}))`;
281
- if ((0, guard_1.IsNumber)(schema.exclusiveMaximum))
292
+ if ((0, index_mjs_2.IsNumber)(schema.exclusiveMaximum))
282
293
  yield `${value} < ${schema.exclusiveMaximum}`;
283
- if ((0, guard_1.IsNumber)(schema.exclusiveMinimum))
294
+ if ((0, index_mjs_2.IsNumber)(schema.exclusiveMinimum))
284
295
  yield `${value} > ${schema.exclusiveMinimum}`;
285
- if ((0, guard_1.IsNumber)(schema.maximum))
296
+ if ((0, index_mjs_2.IsNumber)(schema.maximum))
286
297
  yield `${value} <= ${schema.maximum}`;
287
- if ((0, guard_1.IsNumber)(schema.minimum))
298
+ if ((0, index_mjs_2.IsNumber)(schema.minimum))
288
299
  yield `${value} >= ${schema.minimum}`;
289
- if ((0, guard_1.IsNumber)(schema.multipleOf))
300
+ if ((0, index_mjs_2.IsNumber)(schema.multipleOf))
290
301
  yield `(${value} % ${schema.multipleOf}) === 0`;
291
302
  }
292
303
  function* TIntersect(schema, references, value) {
293
304
  const check1 = schema.allOf.map((schema) => CreateExpression(schema, references, value)).join(' && ');
294
305
  if (schema.unevaluatedProperties === false) {
295
- const keyCheck = CreateVariable(`${new RegExp(Types.KeyResolver.ResolvePattern(schema))};`);
306
+ const keyCheck = CreateVariable(`${new RegExp((0, index_mjs_9.KeyOfStringResolvePattern)(schema))};`);
296
307
  const check2 = `Object.getOwnPropertyNames(${value}).every(key => ${keyCheck}.test(key))`;
297
308
  yield `(${check1} && ${check2})`;
298
309
  }
299
- else if (Types.TypeGuard.TSchema(schema.unevaluatedProperties)) {
300
- const keyCheck = CreateVariable(`${new RegExp(Types.KeyResolver.ResolvePattern(schema))};`);
310
+ else if ((0, type_mjs_1.TSchema)(schema.unevaluatedProperties)) {
311
+ const keyCheck = CreateVariable(`${new RegExp((0, index_mjs_9.KeyOfStringResolvePattern)(schema))};`);
301
312
  const check2 = `Object.getOwnPropertyNames(${value}).every(key => ${keyCheck}.test(key) || ${CreateExpression(schema.unevaluatedProperties, references, `${value}[key]`)})`;
302
313
  yield `(${check1} && ${check2})`;
303
314
  }
@@ -328,22 +339,22 @@ var TypeCompiler;
328
339
  }
329
340
  function* TNumber(schema, references, value) {
330
341
  yield Policy.IsNumberLike(value);
331
- if ((0, guard_1.IsNumber)(schema.exclusiveMaximum))
342
+ if ((0, index_mjs_2.IsNumber)(schema.exclusiveMaximum))
332
343
  yield `${value} < ${schema.exclusiveMaximum}`;
333
- if ((0, guard_1.IsNumber)(schema.exclusiveMinimum))
344
+ if ((0, index_mjs_2.IsNumber)(schema.exclusiveMinimum))
334
345
  yield `${value} > ${schema.exclusiveMinimum}`;
335
- if ((0, guard_1.IsNumber)(schema.maximum))
346
+ if ((0, index_mjs_2.IsNumber)(schema.maximum))
336
347
  yield `${value} <= ${schema.maximum}`;
337
- if ((0, guard_1.IsNumber)(schema.minimum))
348
+ if ((0, index_mjs_2.IsNumber)(schema.minimum))
338
349
  yield `${value} >= ${schema.minimum}`;
339
- if ((0, guard_1.IsNumber)(schema.multipleOf))
350
+ if ((0, index_mjs_2.IsNumber)(schema.multipleOf))
340
351
  yield `(${value} % ${schema.multipleOf}) === 0`;
341
352
  }
342
353
  function* TObject(schema, references, value) {
343
354
  yield Policy.IsObjectLike(value);
344
- if ((0, guard_1.IsNumber)(schema.minProperties))
355
+ if ((0, index_mjs_2.IsNumber)(schema.minProperties))
345
356
  yield `Object.getOwnPropertyNames(${value}).length >= ${schema.minProperties}`;
346
- if ((0, guard_1.IsNumber)(schema.maxProperties))
357
+ if ((0, index_mjs_2.IsNumber)(schema.maxProperties))
347
358
  yield `Object.getOwnPropertyNames(${value}).length <= ${schema.maxProperties}`;
348
359
  const knownKeys = Object.getOwnPropertyNames(schema.properties);
349
360
  for (const knownKey of knownKeys) {
@@ -351,7 +362,7 @@ var TypeCompiler;
351
362
  const property = schema.properties[knownKey];
352
363
  if (schema.required && schema.required.includes(knownKey)) {
353
364
  yield* Visit(property, references, memberExpression);
354
- if (Types.ExtendsUndefined.Check(property) || IsAnyOrUnknown(property))
365
+ if ((0, extends_undefined_mjs_1.ExtendsUndefinedCheck)(property) || IsAnyOrUnknown(property))
355
366
  yield `('${knownKey}' in ${value})`;
356
367
  }
357
368
  else {
@@ -379,19 +390,19 @@ var TypeCompiler;
379
390
  }
380
391
  function* TRecord(schema, references, value) {
381
392
  yield Policy.IsRecordLike(value);
382
- if ((0, guard_1.IsNumber)(schema.minProperties))
393
+ if ((0, index_mjs_2.IsNumber)(schema.minProperties))
383
394
  yield `Object.getOwnPropertyNames(${value}).length >= ${schema.minProperties}`;
384
- if ((0, guard_1.IsNumber)(schema.maxProperties))
395
+ if ((0, index_mjs_2.IsNumber)(schema.maxProperties))
385
396
  yield `Object.getOwnPropertyNames(${value}).length <= ${schema.maxProperties}`;
386
397
  const [patternKey, patternSchema] = Object.entries(schema.patternProperties)[0];
387
398
  const variable = CreateVariable(`${new RegExp(patternKey)}`);
388
399
  const check1 = CreateExpression(patternSchema, references, 'value');
389
- const check2 = Types.TypeGuard.TSchema(schema.additionalProperties) ? CreateExpression(schema.additionalProperties, references, value) : schema.additionalProperties === false ? 'false' : 'true';
400
+ const check2 = (0, type_mjs_1.TSchema)(schema.additionalProperties) ? CreateExpression(schema.additionalProperties, references, value) : schema.additionalProperties === false ? 'false' : 'true';
390
401
  const expression = `(${variable}.test(key) ? ${check1} : ${check2})`;
391
402
  yield `(Object.entries(${value}).every(([key, value]) => ${expression}))`;
392
403
  }
393
404
  function* TRef(schema, references, value) {
394
- const target = (0, deref_1.Deref)(schema, references);
405
+ const target = (0, index_mjs_5.Deref)(schema, references);
395
406
  // Reference: If we have seen this reference before we can just yield and return the function call.
396
407
  // If this isn't the case we defer to visit to generate and set the function for subsequent passes.
397
408
  if (state.functions.has(schema.$ref))
@@ -400,9 +411,9 @@ var TypeCompiler;
400
411
  }
401
412
  function* TString(schema, references, value) {
402
413
  yield `(typeof ${value} === 'string')`;
403
- if ((0, guard_1.IsNumber)(schema.maxLength))
414
+ if ((0, index_mjs_2.IsNumber)(schema.maxLength))
404
415
  yield `${value}.length <= ${schema.maxLength}`;
405
- if ((0, guard_1.IsNumber)(schema.minLength))
416
+ if ((0, index_mjs_2.IsNumber)(schema.minLength))
406
417
  yield `${value}.length >= ${schema.minLength}`;
407
418
  if (schema.pattern !== undefined) {
408
419
  const variable = CreateVariable(`${new RegExp(schema.pattern)};`);
@@ -443,9 +454,9 @@ var TypeCompiler;
443
454
  }
444
455
  function* TUint8Array(schema, references, value) {
445
456
  yield `${value} instanceof Uint8Array`;
446
- if ((0, guard_1.IsNumber)(schema.maxByteLength))
457
+ if ((0, index_mjs_2.IsNumber)(schema.maxByteLength))
447
458
  yield `(${value}.length <= ${schema.maxByteLength})`;
448
- if ((0, guard_1.IsNumber)(schema.minByteLength))
459
+ if ((0, index_mjs_2.IsNumber)(schema.minByteLength))
449
460
  yield `(${value}.length >= ${schema.minByteLength})`;
450
461
  }
451
462
  function* TUnknown(schema, references, value) {
@@ -457,15 +468,15 @@ var TypeCompiler;
457
468
  function* TKind(schema, references, value) {
458
469
  const instance = state.instances.size;
459
470
  state.instances.set(instance, schema);
460
- yield `kind('${schema[Types.Kind]}', ${instance}, ${value})`;
471
+ yield `kind('${schema[index_mjs_7.Kind]}', ${instance}, ${value})`;
461
472
  }
462
473
  function* Visit(schema, references, value, useHoisting = true) {
463
- const references_ = (0, guard_1.IsString)(schema.$id) ? [...references, schema] : references;
474
+ const references_ = (0, index_mjs_2.IsString)(schema.$id) ? [...references, schema] : references;
464
475
  const schema_ = schema;
465
- // ----------------------------------------------------------------------------------
476
+ // --------------------------------------------------------------
466
477
  // Hoisting
467
- // ----------------------------------------------------------------------------------
468
- if (useHoisting && (0, guard_1.IsString)(schema.$id)) {
478
+ // --------------------------------------------------------------
479
+ if (useHoisting && (0, index_mjs_2.IsString)(schema.$id)) {
469
480
  const functionName = CreateFunctionName(schema.$id);
470
481
  if (state.functions.has(functionName)) {
471
482
  return yield `${functionName}(${value})`;
@@ -476,7 +487,7 @@ var TypeCompiler;
476
487
  return yield `${functionName}(${value})`;
477
488
  }
478
489
  }
479
- switch (schema_[Types.Kind]) {
490
+ switch (schema_[index_mjs_7.Kind]) {
480
491
  case 'Any':
481
492
  return yield* TAny(schema_, references_, value);
482
493
  case 'Array':
@@ -538,24 +549,24 @@ var TypeCompiler;
538
549
  case 'Void':
539
550
  return yield* TVoid(schema_, references_, value);
540
551
  default:
541
- if (!Types.TypeRegistry.Has(schema_[Types.Kind]))
552
+ if (!index_mjs_8.TypeRegistry.Has(schema_[index_mjs_7.Kind]))
542
553
  throw new TypeCompilerUnknownTypeError(schema);
543
554
  return yield* TKind(schema_, references_, value);
544
555
  }
545
556
  }
546
- // -------------------------------------------------------------------
557
+ // ----------------------------------------------------------------
547
558
  // Compiler State
548
- // -------------------------------------------------------------------
559
+ // ----------------------------------------------------------------
549
560
  // prettier-ignore
550
561
  const state = {
551
- language: 'javascript',
552
- functions: new Map(),
553
- variables: new Map(),
562
+ language: 'javascript', // target language
563
+ functions: new Map(), // local functions
564
+ variables: new Map(), // local variables
554
565
  instances: new Map() // exterior kind instances
555
566
  };
556
- // -------------------------------------------------------------------
567
+ // ----------------------------------------------------------------
557
568
  // Compiler Factory
558
- // -------------------------------------------------------------------
569
+ // ----------------------------------------------------------------
559
570
  function CreateExpression(schema, references, value, useHoisting = true) {
560
571
  return `(${[...Visit(schema, references, value, useHoisting)].join(' && ')})`;
561
572
  }
@@ -581,9 +592,9 @@ var TypeCompiler;
581
592
  function CreateReturns(type) {
582
593
  return state.language === 'typescript' ? `: ${type}` : '';
583
594
  }
584
- // -------------------------------------------------------------------
595
+ // ----------------------------------------------------------------
585
596
  // Compile
586
- // -------------------------------------------------------------------
597
+ // ----------------------------------------------------------------
587
598
  function Build(schema, references, options) {
588
599
  const functionCode = CreateFunction('check', schema, references, 'value'); // will populate functions and variables
589
600
  const parameter = CreateParameter('value', 'any');
@@ -591,7 +602,7 @@ var TypeCompiler;
591
602
  const functions = [...state.functions.values()];
592
603
  const variables = [...state.variables.values()];
593
604
  // prettier-ignore
594
- const checkFunction = (0, guard_1.IsString)(schema.$id) // ensure top level schemas with $id's are hoisted
605
+ const checkFunction = (0, index_mjs_2.IsString)(schema.$id) // ensure top level schemas with $id's are hoisted
595
606
  ? `return function check(${parameter})${returns} {\n return ${CreateFunctionName(schema.$id)}(value)\n}`
596
607
  : `return ${functionCode}`;
597
608
  return [...variables, ...functions, checkFunction].join('\n');
@@ -600,8 +611,8 @@ var TypeCompiler;
600
611
  function Code(...args) {
601
612
  const defaults = { language: 'javascript' };
602
613
  // prettier-ignore
603
- const [schema, references, options] = (args.length === 2 && (0, guard_1.IsArray)(args[1]) ? [args[0], args[1], defaults] :
604
- args.length === 2 && !(0, guard_1.IsArray)(args[1]) ? [args[0], [], args[1]] :
614
+ const [schema, references, options] = (args.length === 2 && (0, index_mjs_2.IsArray)(args[1]) ? [args[0], args[1], defaults] :
615
+ args.length === 2 && !(0, index_mjs_2.IsArray)(args[1]) ? [args[0], [], args[1]] :
605
616
  args.length === 3 ? [args[0], args[1], args[2]] :
606
617
  args.length === 1 ? [args[0], [], defaults] :
607
618
  [null, [], defaults]);
@@ -610,10 +621,10 @@ var TypeCompiler;
610
621
  state.variables.clear();
611
622
  state.functions.clear();
612
623
  state.instances.clear();
613
- if (!Types.TypeGuard.TSchema(schema))
624
+ if (!(0, type_mjs_1.TSchema)(schema))
614
625
  throw new TypeCompilerTypeGuardError(schema);
615
626
  for (const schema of references)
616
- if (!Types.TypeGuard.TSchema(schema))
627
+ if (!(0, type_mjs_1.TSchema)(schema))
617
628
  throw new TypeCompilerTypeGuardError(schema);
618
629
  return Build(schema, references, options);
619
630
  }
@@ -624,20 +635,20 @@ var TypeCompiler;
624
635
  const compiledFunction = globalThis.Function('kind', 'format', 'hash', generatedCode);
625
636
  const instances = new Map(state.instances);
626
637
  function typeRegistryFunction(kind, instance, value) {
627
- if (!Types.TypeRegistry.Has(kind) || !instances.has(instance))
638
+ if (!index_mjs_8.TypeRegistry.Has(kind) || !instances.has(instance))
628
639
  return false;
629
- const checkFunc = Types.TypeRegistry.Get(kind);
640
+ const checkFunc = index_mjs_8.TypeRegistry.Get(kind);
630
641
  const schema = instances.get(instance);
631
642
  return checkFunc(schema, value);
632
643
  }
633
644
  function formatRegistryFunction(format, value) {
634
- if (!Types.FormatRegistry.Has(format))
645
+ if (!index_mjs_8.FormatRegistry.Has(format))
635
646
  return false;
636
- const checkFunc = Types.FormatRegistry.Get(format);
647
+ const checkFunc = index_mjs_8.FormatRegistry.Get(format);
637
648
  return checkFunc(value);
638
649
  }
639
650
  function hashFunction(value) {
640
- return (0, hash_1.Hash)(value);
651
+ return (0, index_mjs_6.Hash)(value);
641
652
  }
642
653
  const checkFunction = compiledFunction(typeRegistryFunction, formatRegistryFunction, hashFunction);
643
654
  return new TypeCheck(schema, references, checkFunction, generatedCode);
@@ -42,7 +42,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
42
42
  };
43
43
  Object.defineProperty(exports, "__esModule", { value: true });
44
44
  exports.ValueErrorIterator = exports.ValueErrorType = void 0;
45
- var index_1 = require("../errors/index");
46
- Object.defineProperty(exports, "ValueErrorType", { enumerable: true, get: function () { return index_1.ValueErrorType; } });
47
- Object.defineProperty(exports, "ValueErrorIterator", { enumerable: true, get: function () { return index_1.ValueErrorIterator; } });
45
+ var index_mjs_1 = require("../errors/index");
46
+ Object.defineProperty(exports, "ValueErrorType", { enumerable: true, get: function () { return index_mjs_1.ValueErrorType; } });
47
+ Object.defineProperty(exports, "ValueErrorIterator", { enumerable: true, get: function () { return index_mjs_1.ValueErrorIterator; } });
48
48
  __exportStar(require("./compiler"), exports);