@sinclair/typebox 0.31.27 → 0.32.0-dev-1

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 (417) hide show
  1. package/compiler/compiler.d.ts +25 -18
  2. package/compiler/compiler.js +118 -107
  3. package/errors/errors.d.ts +7 -7
  4. package/errors/errors.js +48 -44
  5. package/index.d.ts +71 -0
  6. package/index.js +205 -0
  7. package/package.json +8 -19
  8. package/readme.md +188 -160
  9. package/system/errors.d.ts +14 -0
  10. package/system/errors.js +192 -0
  11. package/system/index.d.ts +3 -1
  12. package/system/index.js +10 -16
  13. package/system/policy.d.ts +21 -0
  14. package/system/policy.js +74 -0
  15. package/system/system.d.ts +3 -38
  16. package/system/system.js +15 -218
  17. package/type/any/any.d.ts +8 -0
  18. package/type/any/any.js +36 -0
  19. package/type/any/index.d.ts +1 -0
  20. package/type/any/index.js +44 -0
  21. package/type/array/array.d.ts +25 -0
  22. package/type/array/array.js +42 -0
  23. package/type/array/index.d.ts +1 -0
  24. package/type/array/index.js +44 -0
  25. package/type/async-iterator/async-iterator.d.ts +11 -0
  26. package/type/async-iterator/async-iterator.js +42 -0
  27. package/type/async-iterator/index.d.ts +1 -0
  28. package/type/async-iterator/index.js +44 -0
  29. package/type/awaited/awaited.d.ts +12 -0
  30. package/type/awaited/awaited.js +66 -0
  31. package/type/awaited/index.d.ts +1 -0
  32. package/type/awaited/index.js +44 -0
  33. package/type/bigint/bigint.d.ts +16 -0
  34. package/type/bigint/bigint.js +40 -0
  35. package/type/bigint/index.d.ts +1 -0
  36. package/type/bigint/index.js +44 -0
  37. package/type/boolean/boolean.d.ts +9 -0
  38. package/type/boolean/boolean.js +40 -0
  39. package/type/boolean/index.d.ts +1 -0
  40. package/type/boolean/index.js +44 -0
  41. package/type/clone/index.d.ts +2 -0
  42. package/type/clone/index.js +32 -0
  43. package/type/clone/type.d.ts +5 -0
  44. package/type/clone/type.js +41 -0
  45. package/type/clone/value.d.ts +2 -0
  46. package/type/clone/value.js +58 -0
  47. package/type/composite/composite.d.ts +15 -0
  48. package/type/composite/composite.js +47 -0
  49. package/type/composite/index.d.ts +1 -0
  50. package/type/composite/index.js +44 -0
  51. package/type/const/const.d.ts +30 -0
  52. package/type/const/const.js +84 -0
  53. package/type/const/index.d.ts +1 -0
  54. package/type/const/index.js +44 -0
  55. package/type/constructor/constructor.d.ts +17 -0
  56. package/type/constructor/constructor.js +43 -0
  57. package/type/constructor/index.d.ts +1 -0
  58. package/type/constructor/index.js +44 -0
  59. package/type/constructor-parameters/constructor-parameters.d.ts +7 -0
  60. package/type/constructor-parameters/constructor-parameters.js +37 -0
  61. package/type/constructor-parameters/index.d.ts +1 -0
  62. package/type/constructor-parameters/index.js +44 -0
  63. package/type/date/date.d.ts +21 -0
  64. package/type/date/date.js +40 -0
  65. package/type/date/index.d.ts +1 -0
  66. package/type/date/index.js +44 -0
  67. package/type/deref/deref.d.ts +24 -0
  68. package/type/deref/deref.js +136 -0
  69. package/type/deref/index.d.ts +1 -0
  70. package/type/deref/index.js +44 -0
  71. package/type/discard/discard.d.ts +1 -0
  72. package/type/discard/discard.js +38 -0
  73. package/type/discard/index.d.ts +1 -0
  74. package/type/discard/index.js +44 -0
  75. package/type/enum/enum.d.ts +14 -0
  76. package/type/enum/enum.js +46 -0
  77. package/type/enum/index.d.ts +1 -0
  78. package/type/enum/index.js +44 -0
  79. package/type/exclude/exclude.d.ts +21 -0
  80. package/type/exclude/exclude.js +54 -0
  81. package/type/exclude/index.d.ts +1 -0
  82. package/type/exclude/index.js +44 -0
  83. package/type/extends/extends-check.d.ts +9 -0
  84. package/type/extends/extends-check.js +654 -0
  85. package/type/extends/extends-undefined.d.ts +3 -0
  86. package/type/extends/extends-undefined.js +51 -0
  87. package/type/extends/extends.d.ts +9 -0
  88. package/type/extends/extends.js +47 -0
  89. package/type/extends/index.d.ts +3 -0
  90. package/type/extends/index.js +46 -0
  91. package/type/extract/extract.d.ts +20 -0
  92. package/type/extract/extract.js +54 -0
  93. package/type/extract/index.d.ts +1 -0
  94. package/type/extract/index.js +44 -0
  95. package/type/function/function.d.ts +17 -0
  96. package/type/function/function.js +43 -0
  97. package/type/function/index.d.ts +1 -0
  98. package/type/function/index.js +44 -0
  99. package/type/guard/index.d.ts +2 -0
  100. package/type/guard/index.js +32 -0
  101. package/type/guard/type.d.ts +130 -0
  102. package/type/guard/type.js +515 -0
  103. package/type/guard/value.d.ts +28 -0
  104. package/type/guard/value.js +100 -0
  105. package/type/helpers/helpers.d.ts +42 -0
  106. package/type/helpers/helpers.js +35 -0
  107. package/type/helpers/index.d.ts +1 -0
  108. package/type/helpers/index.js +44 -0
  109. package/type/index.d.ts +70 -0
  110. package/type/index.js +113 -0
  111. package/type/indexed/index.d.ts +3 -0
  112. package/type/indexed/index.js +46 -0
  113. package/type/indexed/indexed-key.d.ts +17 -0
  114. package/type/indexed/indexed-key.js +65 -0
  115. package/type/indexed/indexed-type.d.ts +33 -0
  116. package/type/indexed/indexed-type.js +106 -0
  117. package/type/indexed/indexed.d.ts +8 -0
  118. package/type/indexed/indexed.js +41 -0
  119. package/type/instance-type/index.d.ts +1 -0
  120. package/type/instance-type/index.js +44 -0
  121. package/type/instance-type/instance-type.d.ts +5 -0
  122. package/type/instance-type/instance-type.js +36 -0
  123. package/type/integer/index.d.ts +1 -0
  124. package/type/integer/index.js +44 -0
  125. package/type/integer/integer.d.ts +16 -0
  126. package/type/integer/integer.js +40 -0
  127. package/type/intersect/index.d.ts +1 -0
  128. package/type/intersect/index.js +44 -0
  129. package/type/intersect/intersect.d.ts +22 -0
  130. package/type/intersect/intersect.js +59 -0
  131. package/type/intrinsic/index.d.ts +1 -0
  132. package/type/intrinsic/index.js +44 -0
  133. package/type/intrinsic/intrinsic.d.ts +27 -0
  134. package/type/intrinsic/intrinsic.js +106 -0
  135. package/type/iterator/index.d.ts +1 -0
  136. package/type/iterator/index.js +44 -0
  137. package/type/iterator/iterator.d.ts +11 -0
  138. package/type/iterator/iterator.js +42 -0
  139. package/type/keyof/index.d.ts +3 -0
  140. package/type/keyof/index.js +46 -0
  141. package/type/keyof/keyof-string.d.ts +30 -0
  142. package/type/keyof/keyof-string.js +103 -0
  143. package/type/keyof/keyof-type.d.ts +11 -0
  144. package/type/keyof/keyof-type.js +48 -0
  145. package/type/keyof/keyof.d.ts +5 -0
  146. package/type/keyof/keyof.js +38 -0
  147. package/type/literal/index.d.ts +1 -0
  148. package/type/literal/index.js +44 -0
  149. package/type/literal/literal.d.ts +10 -0
  150. package/type/literal/literal.js +41 -0
  151. package/type/mapped/index.d.ts +1 -0
  152. package/type/mapped/index.js +44 -0
  153. package/type/mapped/mapped.d.ts +26 -0
  154. package/type/mapped/mapped.js +47 -0
  155. package/type/modifiers/index.d.ts +1 -0
  156. package/type/modifiers/index.js +44 -0
  157. package/type/modifiers/modifiers.d.ts +18 -0
  158. package/type/modifiers/modifiers.js +78 -0
  159. package/type/never/index.d.ts +1 -0
  160. package/type/never/index.js +44 -0
  161. package/type/never/never.d.ts +9 -0
  162. package/type/never/never.js +40 -0
  163. package/type/not/index.d.ts +1 -0
  164. package/type/not/index.js +44 -0
  165. package/type/not/not.d.ts +10 -0
  166. package/type/not/not.js +41 -0
  167. package/type/null/index.d.ts +1 -0
  168. package/type/null/index.js +44 -0
  169. package/type/null/null.d.ts +9 -0
  170. package/type/null/null.js +40 -0
  171. package/type/number/index.d.ts +1 -0
  172. package/type/number/index.js +44 -0
  173. package/type/number/number.d.ts +16 -0
  174. package/type/number/number.js +40 -0
  175. package/type/object/index.d.ts +1 -0
  176. package/type/object/index.js +44 -0
  177. package/type/object/object.d.ts +44 -0
  178. package/type/object/object.js +47 -0
  179. package/type/omit/index.d.ts +1 -0
  180. package/type/omit/index.js +44 -0
  181. package/type/omit/omit.d.ts +21 -0
  182. package/type/omit/omit.js +75 -0
  183. package/type/operators/index.d.ts +1 -0
  184. package/type/operators/index.js +44 -0
  185. package/type/operators/operators.d.ts +24 -0
  186. package/type/operators/operators.js +119 -0
  187. package/type/optional/index.d.ts +1 -0
  188. package/type/optional/index.js +44 -0
  189. package/type/optional/optional.d.ts +7 -0
  190. package/type/optional/optional.js +37 -0
  191. package/type/parameters/index.d.ts +1 -0
  192. package/type/parameters/index.js +44 -0
  193. package/type/parameters/parameters.d.ts +7 -0
  194. package/type/parameters/parameters.js +37 -0
  195. package/type/partial/index.d.ts +1 -0
  196. package/type/partial/index.js +44 -0
  197. package/type/partial/partial.d.ts +23 -0
  198. package/type/partial/partial.js +73 -0
  199. package/type/patterns/index.d.ts +1 -0
  200. package/type/patterns/index.js +44 -0
  201. package/type/patterns/patterns.d.ts +6 -0
  202. package/type/patterns/patterns.js +36 -0
  203. package/type/pick/index.d.ts +1 -0
  204. package/type/pick/index.js +44 -0
  205. package/type/pick/pick.d.ts +21 -0
  206. package/type/pick/pick.js +66 -0
  207. package/type/promise/index.d.ts +1 -0
  208. package/type/promise/index.js +44 -0
  209. package/type/promise/promise.d.ts +11 -0
  210. package/type/promise/promise.js +42 -0
  211. package/type/readonly/index.d.ts +1 -0
  212. package/type/readonly/index.js +44 -0
  213. package/type/readonly/readonly.d.ts +7 -0
  214. package/type/readonly/readonly.js +37 -0
  215. package/type/readonly-optional/index.d.ts +1 -0
  216. package/type/readonly-optional/index.js +44 -0
  217. package/type/readonly-optional/readonly-optional.d.ts +6 -0
  218. package/type/readonly-optional/readonly-optional.js +37 -0
  219. package/type/record/index.d.ts +1 -0
  220. package/type/record/index.js +44 -0
  221. package/type/record/record.d.ts +55 -0
  222. package/type/record/record.js +97 -0
  223. package/type/recursive/index.d.ts +1 -0
  224. package/type/recursive/index.js +44 -0
  225. package/type/recursive/recursive.d.ts +15 -0
  226. package/type/recursive/recursive.js +48 -0
  227. package/type/ref/index.d.ts +1 -0
  228. package/type/ref/index.js +44 -0
  229. package/type/ref/ref.d.ts +12 -0
  230. package/type/ref/ref.js +45 -0
  231. package/type/regexp/index.d.ts +1 -0
  232. package/type/regexp/index.js +44 -0
  233. package/type/regexp/regexp.d.ts +7 -0
  234. package/type/regexp/regexp.js +38 -0
  235. package/type/registry/format.d.ts +13 -0
  236. package/type/registry/format.js +62 -0
  237. package/type/registry/index.d.ts +2 -0
  238. package/type/registry/index.js +32 -0
  239. package/type/registry/type.d.ts +13 -0
  240. package/type/registry/type.js +62 -0
  241. package/type/required/index.d.ts +1 -0
  242. package/type/required/index.js +44 -0
  243. package/type/required/required.d.ts +23 -0
  244. package/type/required/required.js +72 -0
  245. package/type/rest/index.d.ts +1 -0
  246. package/type/rest/index.js +44 -0
  247. package/type/rest/rest.d.ts +10 -0
  248. package/type/rest/rest.js +41 -0
  249. package/type/return-type/index.d.ts +1 -0
  250. package/type/return-type/index.js +44 -0
  251. package/type/return-type/return-type.d.ts +5 -0
  252. package/type/return-type/return-type.js +36 -0
  253. package/type/schema/anyschema.d.ts +32 -0
  254. package/type/schema/anyschema.js +29 -0
  255. package/type/schema/index.d.ts +2 -0
  256. package/type/schema/index.js +45 -0
  257. package/type/schema/schema.d.ts +29 -0
  258. package/type/schema/schema.js +30 -0
  259. package/type/static/index.d.ts +1 -0
  260. package/type/static/index.js +44 -0
  261. package/type/static/static.d.ts +34 -0
  262. package/type/static/static.js +29 -0
  263. package/type/strict/index.d.ts +1 -0
  264. package/type/strict/index.js +44 -0
  265. package/type/strict/strict.d.ts +3 -0
  266. package/type/strict/strict.js +35 -0
  267. package/type/string/index.d.ts +1 -0
  268. package/type/string/index.js +44 -0
  269. package/type/string/string.d.ts +25 -0
  270. package/type/string/string.js +36 -0
  271. package/type/symbol/index.d.ts +1 -0
  272. package/type/symbol/index.js +44 -0
  273. package/type/symbol/symbol.d.ts +10 -0
  274. package/type/symbol/symbol.js +36 -0
  275. package/type/symbols/index.d.ts +1 -0
  276. package/type/symbols/index.js +44 -0
  277. package/type/symbols/symbols.d.ts +10 -0
  278. package/type/symbols/symbols.js +40 -0
  279. package/type/template-literal/finite.d.ts +16 -0
  280. package/type/template-literal/finite.js +71 -0
  281. package/type/template-literal/generate.d.ts +15 -0
  282. package/type/template-literal/generate.js +74 -0
  283. package/type/template-literal/index.d.ts +7 -0
  284. package/type/template-literal/index.js +50 -0
  285. package/type/template-literal/parser.d.ts +19 -0
  286. package/type/template-literal/parser.js +175 -0
  287. package/type/template-literal/pattern.d.ts +4 -0
  288. package/type/template-literal/pattern.js +61 -0
  289. package/type/template-literal/syntax.d.ts +20 -0
  290. package/type/template-literal/syntax.js +87 -0
  291. package/type/template-literal/template-literal.d.ts +30 -0
  292. package/type/template-literal/template-literal.js +43 -0
  293. package/type/template-literal/union.d.ts +7 -0
  294. package/type/template-literal/union.js +48 -0
  295. package/type/transform/index.d.ts +1 -0
  296. package/type/transform/index.js +44 -0
  297. package/type/transform/transform.d.ts +29 -0
  298. package/type/transform/transform.js +72 -0
  299. package/type/tuple/index.d.ts +1 -0
  300. package/type/tuple/index.js +44 -0
  301. package/type/tuple/tuple.d.ts +15 -0
  302. package/type/tuple/tuple.js +42 -0
  303. package/type/type/index.d.ts +6 -0
  304. package/type/type/index.js +44 -0
  305. package/type/type/javascript.d.ts +58 -0
  306. package/type/type/javascript.js +120 -0
  307. package/type/type/json.d.ts +139 -0
  308. package/type/type/json.js +255 -0
  309. package/type/type/type.d.ts +58 -0
  310. package/type/type/type.js +153 -0
  311. package/type/uint8array/index.d.ts +1 -0
  312. package/type/uint8array/index.js +44 -0
  313. package/type/uint8array/uint8array.d.ts +13 -0
  314. package/type/uint8array/uint8array.js +36 -0
  315. package/type/undefined/index.d.ts +1 -0
  316. package/type/undefined/index.js +44 -0
  317. package/type/undefined/undefined.d.ts +9 -0
  318. package/type/undefined/undefined.js +36 -0
  319. package/type/union/index.d.ts +1 -0
  320. package/type/union/index.js +44 -0
  321. package/type/union/union.d.ts +16 -0
  322. package/type/union/union.js +50 -0
  323. package/type/unknown/index.d.ts +1 -0
  324. package/type/unknown/index.js +44 -0
  325. package/type/unknown/unknown.d.ts +8 -0
  326. package/type/unknown/unknown.js +39 -0
  327. package/type/unsafe/index.d.ts +1 -0
  328. package/type/unsafe/index.js +44 -0
  329. package/type/unsafe/unsafe.d.ts +11 -0
  330. package/type/unsafe/unsafe.js +39 -0
  331. package/type/void/index.d.ts +1 -0
  332. package/type/void/index.js +44 -0
  333. package/type/void/void.d.ts +9 -0
  334. package/type/void/void.js +40 -0
  335. package/value/cast/cast.d.ts +23 -0
  336. package/value/{cast.js → cast/cast.js} +62 -83
  337. package/value/cast/index.d.ts +1 -0
  338. package/value/cast/index.js +44 -0
  339. package/value/check/check.d.ts +10 -0
  340. package/value/{check.js → check/check.js} +50 -45
  341. package/value/check/index.d.ts +1 -0
  342. package/value/check/index.js +44 -0
  343. package/value/clean/clean.d.ts +5 -0
  344. package/value/clean/clean.js +167 -0
  345. package/value/clean/index.d.ts +1 -0
  346. package/value/clean/index.js +44 -0
  347. package/value/{clone.js → clone/clone.js} +6 -6
  348. package/value/clone/index.d.ts +1 -0
  349. package/value/clone/index.js +44 -0
  350. package/value/convert/convert.d.ts +9 -0
  351. package/value/{convert.js → convert/convert.js} +93 -116
  352. package/value/convert/index.d.ts +1 -0
  353. package/value/convert/index.js +44 -0
  354. package/value/create/create.d.ts +31 -0
  355. package/value/{create.js → create/create.js} +69 -62
  356. package/value/create/index.d.ts +1 -0
  357. package/value/create/index.js +44 -0
  358. package/value/default/default.d.ts +5 -0
  359. package/value/default/default.js +175 -0
  360. package/value/default/index.d.ts +1 -0
  361. package/value/default/index.js +44 -0
  362. package/value/delta/delta.d.ts +41 -0
  363. package/value/{delta.js → delta/delta.js} +57 -53
  364. package/value/delta/index.d.ts +1 -0
  365. package/value/delta/index.js +44 -0
  366. package/value/{deref.d.ts → deref/deref.d.ts} +4 -2
  367. package/value/{deref.js → deref/deref.js} +1 -2
  368. package/value/deref/index.d.ts +1 -0
  369. package/value/deref/index.js +44 -0
  370. package/value/{equal.js → equal/equal.js} +14 -14
  371. package/value/equal/index.d.ts +1 -0
  372. package/value/equal/index.js +44 -0
  373. package/value/guard/index.d.ts +1 -0
  374. package/value/guard/index.js +44 -0
  375. package/value/{hash.d.ts → hash/hash.d.ts} +0 -13
  376. package/value/{hash.js → hash/hash.js} +26 -26
  377. package/value/hash/index.d.ts +1 -0
  378. package/value/hash/index.js +44 -0
  379. package/value/index.d.ts +17 -4
  380. package/value/index.js +91 -10
  381. package/value/mutate/index.d.ts +1 -0
  382. package/value/mutate/index.js +44 -0
  383. package/value/{mutate.d.ts → mutate/mutate.d.ts} +1 -1
  384. package/value/{mutate.js → mutate/mutate.js} +25 -25
  385. package/value/pointer/index.d.ts +1 -0
  386. package/value/pointer/index.js +31 -0
  387. package/value/pointer/pointer.d.ts +21 -0
  388. package/value/pointer/pointer.js +151 -0
  389. package/value/transform/decode.d.ts +19 -0
  390. package/value/transform/decode.js +211 -0
  391. package/value/transform/encode.d.ts +20 -0
  392. package/value/transform/encode.js +219 -0
  393. package/value/transform/has.d.ts +3 -0
  394. package/value/transform/has.js +146 -0
  395. package/value/transform/index.d.ts +3 -0
  396. package/value/transform/index.js +46 -0
  397. package/value/value/index.d.ts +1 -0
  398. package/value/value/index.js +31 -0
  399. package/value/value/value.d.ts +53 -0
  400. package/value/value/value.js +125 -0
  401. package/typebox.d.ts +0 -962
  402. package/typebox.js +0 -2364
  403. package/value/cast.d.ts +0 -24
  404. package/value/check.d.ts +0 -9
  405. package/value/convert.d.ts +0 -10
  406. package/value/create.d.ts +0 -30
  407. package/value/delta.d.ts +0 -41
  408. package/value/pointer.d.ts +0 -24
  409. package/value/pointer.js +0 -148
  410. package/value/transform.d.ts +0 -42
  411. package/value/transform.js +0 -517
  412. package/value/value.d.ts +0 -47
  413. package/value/value.js +0 -117
  414. /package/value/{clone.d.ts → clone/clone.d.ts} +0 -0
  415. /package/value/{equal.d.ts → equal/equal.d.ts} +0 -0
  416. /package/value/{guard.d.ts → guard/guard.d.ts} +0 -0
  417. /package/value/{guard.js → guard/guard.js} +0 -0
package/errors/errors.js CHANGED
@@ -28,11 +28,15 @@ THE SOFTWARE.
28
28
  ---------------------------------------------------------------------------*/
29
29
  Object.defineProperty(exports, "__esModule", { value: true });
30
30
  exports.Errors = exports.ValueErrorIterator = exports.EscapeKey = exports.ValueErrorsUnknownTypeError = exports.ValueErrorType = void 0;
31
- const guard_1 = require("../value/guard");
32
- const system_1 = require("../system/system");
33
- const deref_1 = require("../value/deref");
34
- const hash_1 = require("../value/hash");
35
- const Types = require("../typebox");
31
+ const index_1 = require("../value/guard/index");
32
+ const index_2 = require("../system/index");
33
+ const index_3 = require("../type/keyof/index");
34
+ const index_4 = require("../type/registry/index");
35
+ const extends_undefined_1 = require("../type/extends/extends-undefined");
36
+ const index_5 = require("../value/deref/index");
37
+ const index_6 = require("../value/hash/index");
38
+ const index_7 = require("../type/symbols/index");
39
+ const index_8 = require("../type/never/index");
36
40
  // --------------------------------------------------------------------------
37
41
  // ValueErrorType
38
42
  // --------------------------------------------------------------------------
@@ -105,7 +109,7 @@ var ValueErrorType;
105
109
  // --------------------------------------------------------------------------
106
110
  // ValueErrors
107
111
  // --------------------------------------------------------------------------
108
- class ValueErrorsUnknownTypeError extends Types.TypeBoxError {
112
+ class ValueErrorsUnknownTypeError extends Error {
109
113
  constructor(schema) {
110
114
  super('Unknown type');
111
115
  this.schema = schema;
@@ -146,14 +150,14 @@ exports.ValueErrorIterator = ValueErrorIterator;
146
150
  // Create
147
151
  // --------------------------------------------------------------------------
148
152
  function Create(type, schema, path, value) {
149
- return { type, schema, path, value, message: system_1.TypeSystemErrorFunction.Get()(schema, type) };
153
+ return { type, schema, path, value, message: index_2.TypeSystemErrorFunction.Get()(schema, type) };
150
154
  }
151
155
  // --------------------------------------------------------------------------
152
156
  // Types
153
157
  // --------------------------------------------------------------------------
154
158
  function* TAny(schema, references, path, value) { }
155
159
  function* TArray(schema, references, path, value) {
156
- if (!(0, guard_1.IsArray)(value)) {
160
+ if (!(0, index_1.IsArray)(value)) {
157
161
  return yield Create(ValueErrorType.Array, schema, path, value);
158
162
  }
159
163
  if (IsDefined(schema.minItems) && !(value.length >= schema.minItems)) {
@@ -167,7 +171,7 @@ function* TArray(schema, references, path, value) {
167
171
  }
168
172
  // prettier-ignore
169
173
  if (schema.uniqueItems === true && !((function () { const set = new Set(); for (const element of value) {
170
- const hashed = (0, hash_1.Hash)(element);
174
+ const hashed = (0, index_6.Hash)(element);
171
175
  if (set.has(hashed)) {
172
176
  return false;
173
177
  }
@@ -181,24 +185,24 @@ function* TArray(schema, references, path, value) {
181
185
  if (!(IsDefined(schema.contains) || IsDefined(schema.minContains) || IsDefined(schema.maxContains))) {
182
186
  return;
183
187
  }
184
- const containsSchema = IsDefined(schema.contains) ? schema.contains : Types.Type.Never();
188
+ const containsSchema = IsDefined(schema.contains) ? schema.contains : (0, index_8.Never)();
185
189
  const containsCount = value.reduce((acc, value, index) => (Visit(containsSchema, references, `${path}${index}`, value).next().done === true ? acc + 1 : acc), 0);
186
190
  if (containsCount === 0) {
187
191
  yield Create(ValueErrorType.ArrayContains, schema, path, value);
188
192
  }
189
- if ((0, guard_1.IsNumber)(schema.minContains) && containsCount < schema.minContains) {
193
+ if ((0, index_1.IsNumber)(schema.minContains) && containsCount < schema.minContains) {
190
194
  yield Create(ValueErrorType.ArrayMinContains, schema, path, value);
191
195
  }
192
- if ((0, guard_1.IsNumber)(schema.maxContains) && containsCount > schema.maxContains) {
196
+ if ((0, index_1.IsNumber)(schema.maxContains) && containsCount > schema.maxContains) {
193
197
  yield Create(ValueErrorType.ArrayMaxContains, schema, path, value);
194
198
  }
195
199
  }
196
200
  function* TAsyncIterator(schema, references, path, value) {
197
- if (!(0, guard_1.IsAsyncIterator)(value))
201
+ if (!(0, index_1.IsAsyncIterator)(value))
198
202
  yield Create(ValueErrorType.AsyncIterator, schema, path, value);
199
203
  }
200
204
  function* TBigInt(schema, references, path, value) {
201
- if (!(0, guard_1.IsBigInt)(value))
205
+ if (!(0, index_1.IsBigInt)(value))
202
206
  return yield Create(ValueErrorType.BigInt, schema, path, value);
203
207
  if (IsDefined(schema.exclusiveMaximum) && !(value < schema.exclusiveMaximum)) {
204
208
  yield Create(ValueErrorType.BigIntExclusiveMaximum, schema, path, value);
@@ -217,14 +221,14 @@ function* TBigInt(schema, references, path, value) {
217
221
  }
218
222
  }
219
223
  function* TBoolean(schema, references, path, value) {
220
- if (!(0, guard_1.IsBoolean)(value))
224
+ if (!(0, index_1.IsBoolean)(value))
221
225
  yield Create(ValueErrorType.Boolean, schema, path, value);
222
226
  }
223
227
  function* TConstructor(schema, references, path, value) {
224
228
  yield* Visit(schema.returns, references, path, value.prototype);
225
229
  }
226
230
  function* TDate(schema, references, path, value) {
227
- if (!(0, guard_1.IsDate)(value))
231
+ if (!(0, index_1.IsDate)(value))
228
232
  return yield Create(ValueErrorType.Date, schema, path, value);
229
233
  if (IsDefined(schema.exclusiveMaximumTimestamp) && !(value.getTime() < schema.exclusiveMaximumTimestamp)) {
230
234
  yield Create(ValueErrorType.DateExclusiveMaximumTimestamp, schema, path, value);
@@ -243,11 +247,11 @@ function* TDate(schema, references, path, value) {
243
247
  }
244
248
  }
245
249
  function* TFunction(schema, references, path, value) {
246
- if (!(0, guard_1.IsFunction)(value))
250
+ if (!(0, index_1.IsFunction)(value))
247
251
  yield Create(ValueErrorType.Function, schema, path, value);
248
252
  }
249
253
  function* TInteger(schema, references, path, value) {
250
- if (!(0, guard_1.IsInteger)(value))
254
+ if (!(0, index_1.IsInteger)(value))
251
255
  return yield Create(ValueErrorType.Integer, schema, path, value);
252
256
  if (IsDefined(schema.exclusiveMaximum) && !(value < schema.exclusiveMaximum)) {
253
257
  yield Create(ValueErrorType.IntegerExclusiveMaximum, schema, path, value);
@@ -274,7 +278,7 @@ function* TIntersect(schema, references, path, value) {
274
278
  }
275
279
  }
276
280
  if (schema.unevaluatedProperties === false) {
277
- const keyCheck = new RegExp(Types.KeyResolver.ResolvePattern(schema));
281
+ const keyCheck = new RegExp((0, index_3.KeyOfStringResolvePattern)(schema));
278
282
  for (const valueKey of Object.getOwnPropertyNames(value)) {
279
283
  if (!keyCheck.test(valueKey)) {
280
284
  yield Create(ValueErrorType.IntersectUnevaluatedProperties, schema, `${path}/${valueKey}`, value);
@@ -282,7 +286,7 @@ function* TIntersect(schema, references, path, value) {
282
286
  }
283
287
  }
284
288
  if (typeof schema.unevaluatedProperties === 'object') {
285
- const keyCheck = new RegExp(Types.KeyResolver.ResolvePattern(schema));
289
+ const keyCheck = new RegExp((0, index_3.KeyOfStringResolvePattern)(schema));
286
290
  for (const valueKey of Object.getOwnPropertyNames(value)) {
287
291
  if (!keyCheck.test(valueKey)) {
288
292
  const next = Visit(schema.unevaluatedProperties, references, `${path}/${valueKey}`, value[valueKey]).next();
@@ -293,7 +297,7 @@ function* TIntersect(schema, references, path, value) {
293
297
  }
294
298
  }
295
299
  function* TIterator(schema, references, path, value) {
296
- if (!(0, guard_1.IsIterator)(value))
300
+ if (!(0, index_1.IsIterator)(value))
297
301
  yield Create(ValueErrorType.Iterator, schema, path, value);
298
302
  }
299
303
  function* TLiteral(schema, references, path, value) {
@@ -308,11 +312,11 @@ function* TNot(schema, references, path, value) {
308
312
  yield Create(ValueErrorType.Not, schema, path, value);
309
313
  }
310
314
  function* TNull(schema, references, path, value) {
311
- if (!(0, guard_1.IsNull)(value))
315
+ if (!(0, index_1.IsNull)(value))
312
316
  yield Create(ValueErrorType.Null, schema, path, value);
313
317
  }
314
318
  function* TNumber(schema, references, path, value) {
315
- if (!system_1.TypeSystemPolicy.IsNumberLike(value))
319
+ if (!index_2.TypeSystemPolicy.IsNumberLike(value))
316
320
  return yield Create(ValueErrorType.Number, schema, path, value);
317
321
  if (IsDefined(schema.exclusiveMaximum) && !(value < schema.exclusiveMaximum)) {
318
322
  yield Create(ValueErrorType.NumberExclusiveMaximum, schema, path, value);
@@ -331,7 +335,7 @@ function* TNumber(schema, references, path, value) {
331
335
  }
332
336
  }
333
337
  function* TObject(schema, references, path, value) {
334
- if (!system_1.TypeSystemPolicy.IsObjectLike(value))
338
+ if (!index_2.TypeSystemPolicy.IsObjectLike(value))
335
339
  return yield Create(ValueErrorType.Object, schema, path, value);
336
340
  if (IsDefined(schema.minProperties) && !(Object.getOwnPropertyNames(value).length >= schema.minProperties)) {
337
341
  yield Create(ValueErrorType.ObjectMinProperties, schema, path, value);
@@ -365,23 +369,23 @@ function* TObject(schema, references, path, value) {
365
369
  const property = schema.properties[knownKey];
366
370
  if (schema.required && schema.required.includes(knownKey)) {
367
371
  yield* Visit(property, references, `${path}/${EscapeKey(knownKey)}`, value[knownKey]);
368
- if (Types.ExtendsUndefined.Check(schema) && !(knownKey in value)) {
372
+ if ((0, extends_undefined_1.ExtendsUndefinedCheck)(schema) && !(knownKey in value)) {
369
373
  yield Create(ValueErrorType.ObjectRequiredProperty, property, `${path}/${EscapeKey(knownKey)}`, undefined);
370
374
  }
371
375
  }
372
376
  else {
373
- if (system_1.TypeSystemPolicy.IsExactOptionalProperty(value, knownKey)) {
377
+ if (index_2.TypeSystemPolicy.IsExactOptionalProperty(value, knownKey)) {
374
378
  yield* Visit(property, references, `${path}/${EscapeKey(knownKey)}`, value[knownKey]);
375
379
  }
376
380
  }
377
381
  }
378
382
  }
379
383
  function* TPromise(schema, references, path, value) {
380
- if (!(0, guard_1.IsPromise)(value))
384
+ if (!(0, index_1.IsPromise)(value))
381
385
  yield Create(ValueErrorType.Promise, schema, path, value);
382
386
  }
383
387
  function* TRecord(schema, references, path, value) {
384
- if (!system_1.TypeSystemPolicy.IsRecordLike(value))
388
+ if (!index_2.TypeSystemPolicy.IsRecordLike(value))
385
389
  return yield Create(ValueErrorType.Object, schema, path, value);
386
390
  if (IsDefined(schema.minProperties) && !(Object.getOwnPropertyNames(value).length >= schema.minProperties)) {
387
391
  yield Create(ValueErrorType.ObjectMinProperties, schema, path, value);
@@ -410,10 +414,10 @@ function* TRecord(schema, references, path, value) {
410
414
  }
411
415
  }
412
416
  function* TRef(schema, references, path, value) {
413
- yield* Visit((0, deref_1.Deref)(schema, references), references, path, value);
417
+ yield* Visit((0, index_5.Deref)(schema, references), references, path, value);
414
418
  }
415
419
  function* TString(schema, references, path, value) {
416
- if (!(0, guard_1.IsString)(value))
420
+ if (!(0, index_1.IsString)(value))
417
421
  return yield Create(ValueErrorType.String, schema, path, value);
418
422
  if (IsDefined(schema.minLength) && !(value.length >= schema.minLength)) {
419
423
  yield Create(ValueErrorType.StringMinLength, schema, path, value);
@@ -421,18 +425,18 @@ function* TString(schema, references, path, value) {
421
425
  if (IsDefined(schema.maxLength) && !(value.length <= schema.maxLength)) {
422
426
  yield Create(ValueErrorType.StringMaxLength, schema, path, value);
423
427
  }
424
- if ((0, guard_1.IsString)(schema.pattern)) {
428
+ if ((0, index_1.IsString)(schema.pattern)) {
425
429
  const regex = new RegExp(schema.pattern);
426
430
  if (!regex.test(value)) {
427
431
  yield Create(ValueErrorType.StringPattern, schema, path, value);
428
432
  }
429
433
  }
430
- if ((0, guard_1.IsString)(schema.format)) {
431
- if (!Types.FormatRegistry.Has(schema.format)) {
434
+ if ((0, index_1.IsString)(schema.format)) {
435
+ if (!index_4.FormatRegistry.Has(schema.format)) {
432
436
  yield Create(ValueErrorType.StringFormatUnknown, schema, path, value);
433
437
  }
434
438
  else {
435
- const format = Types.FormatRegistry.Get(schema.format);
439
+ const format = index_4.FormatRegistry.Get(schema.format);
436
440
  if (!format(value)) {
437
441
  yield Create(ValueErrorType.StringFormat, schema, path, value);
438
442
  }
@@ -440,11 +444,11 @@ function* TString(schema, references, path, value) {
440
444
  }
441
445
  }
442
446
  function* TSymbol(schema, references, path, value) {
443
- if (!(0, guard_1.IsSymbol)(value))
447
+ if (!(0, index_1.IsSymbol)(value))
444
448
  yield Create(ValueErrorType.Symbol, schema, path, value);
445
449
  }
446
450
  function* TTemplateLiteral(schema, references, path, value) {
447
- if (!(0, guard_1.IsString)(value))
451
+ if (!(0, index_1.IsString)(value))
448
452
  return yield Create(ValueErrorType.String, schema, path, value);
449
453
  const regex = new RegExp(schema.pattern);
450
454
  if (!regex.test(value)) {
@@ -452,10 +456,10 @@ function* TTemplateLiteral(schema, references, path, value) {
452
456
  }
453
457
  }
454
458
  function* TThis(schema, references, path, value) {
455
- yield* Visit((0, deref_1.Deref)(schema, references), references, path, value);
459
+ yield* Visit((0, index_5.Deref)(schema, references), references, path, value);
456
460
  }
457
461
  function* TTuple(schema, references, path, value) {
458
- if (!(0, guard_1.IsArray)(value))
462
+ if (!(0, index_1.IsArray)(value))
459
463
  return yield Create(ValueErrorType.Tuple, schema, path, value);
460
464
  if (schema.items === undefined && !(value.length === 0)) {
461
465
  return yield Create(ValueErrorType.TupleLength, schema, path, value);
@@ -471,7 +475,7 @@ function* TTuple(schema, references, path, value) {
471
475
  }
472
476
  }
473
477
  function* TUndefined(schema, references, path, value) {
474
- if (!(0, guard_1.IsUndefined)(value))
478
+ if (!(0, index_1.IsUndefined)(value))
475
479
  yield Create(ValueErrorType.Undefined, schema, path, value);
476
480
  }
477
481
  function* TUnion(schema, references, path, value) {
@@ -487,7 +491,7 @@ function* TUnion(schema, references, path, value) {
487
491
  }
488
492
  }
489
493
  function* TUint8Array(schema, references, path, value) {
490
- if (!(0, guard_1.IsUint8Array)(value))
494
+ if (!(0, index_1.IsUint8Array)(value))
491
495
  return yield Create(ValueErrorType.Uint8Array, schema, path, value);
492
496
  if (IsDefined(schema.maxByteLength) && !(value.length <= schema.maxByteLength)) {
493
497
  yield Create(ValueErrorType.Uint8ArrayMaxByteLength, schema, path, value);
@@ -498,18 +502,18 @@ function* TUint8Array(schema, references, path, value) {
498
502
  }
499
503
  function* TUnknown(schema, references, path, value) { }
500
504
  function* TVoid(schema, references, path, value) {
501
- if (!system_1.TypeSystemPolicy.IsVoidLike(value))
505
+ if (!index_2.TypeSystemPolicy.IsVoidLike(value))
502
506
  yield Create(ValueErrorType.Void, schema, path, value);
503
507
  }
504
508
  function* TKind(schema, references, path, value) {
505
- const check = Types.TypeRegistry.Get(schema[Types.Kind]);
509
+ const check = index_4.TypeRegistry.Get(schema[index_7.Kind]);
506
510
  if (!check(schema, value))
507
511
  yield Create(ValueErrorType.Kind, schema, path, value);
508
512
  }
509
513
  function* Visit(schema, references, path, value) {
510
514
  const references_ = IsDefined(schema.$id) ? [...references, schema] : references;
511
515
  const schema_ = schema;
512
- switch (schema_[Types.Kind]) {
516
+ switch (schema_[index_7.Kind]) {
513
517
  case 'Any':
514
518
  return yield* TAny(schema_, references_, path, value);
515
519
  case 'Array':
@@ -571,7 +575,7 @@ function* Visit(schema, references, path, value) {
571
575
  case 'Void':
572
576
  return yield* TVoid(schema_, references_, path, value);
573
577
  default:
574
- if (!Types.TypeRegistry.Has(schema_[Types.Kind]))
578
+ if (!index_4.TypeRegistry.Has(schema_[index_7.Kind]))
575
579
  throw new ValueErrorsUnknownTypeError(schema);
576
580
  return yield* TKind(schema_, references_, path, value);
577
581
  }
package/index.d.ts ADDED
@@ -0,0 +1,71 @@
1
+ export { Kind, Hint, ReadonlyKind, OptionalKind, TransformKind } from './type/symbols/index';
2
+ export { PatternBoolean, PatternBooleanExact, PatternNumber, PatternNumberExact, PatternString, PatternStringExact } from './type/patterns/index';
3
+ export { TypeRegistry, FormatRegistry } from './type/registry/index';
4
+ export { TypeGuard, ValueGuard } from './type/guard/index';
5
+ export { CloneType, CloneRest } from './type/clone/type';
6
+ export { Clone } from './type/clone/value';
7
+ export { Any, type TAny } from './type/any/index';
8
+ export { Array, type TArray, type ArrayOptions } from './type/array/index';
9
+ export { AsyncIterator, type TAsyncIterator } from './type/async-iterator/index';
10
+ export { Awaited, type TAwaited } from './type/awaited/index';
11
+ export { BigInt, type TBigInt, BigIntOptions } from './type/bigint/index';
12
+ export { Boolean, type TBoolean } from './type/boolean/index';
13
+ export { Composite, type TComposite } from './type/composite/index';
14
+ export { Const, type TConst } from './type/const/index';
15
+ export { Constructor, type TConstructor } from './type/constructor/index';
16
+ export { ConstructorParameters, type TConstructorParameters } from './type/constructor-parameters/index';
17
+ export { Date, type TDate, type DateOptions } from './type/date/index';
18
+ export { Deref, type TDeref } from './type/deref/index';
19
+ export { Enum, type TEnum } from './type/enum/index';
20
+ export { Exclude, type TExclude } from './type/exclude/index';
21
+ export { Extends, type TExtends, ExtendsCheck, ExtendsResult, ExtendsUndefinedCheck } from './type/extends/index';
22
+ export { Extract, type TExtract } from './type/extract/index';
23
+ export { Function, type TFunction } from './type/function/index';
24
+ export { Increment, type Assert, type AssertType, type AssertRest, type AssertProperties, type Ensure, type Evaluate, type TupleToIntersect, type TupleToUnion, type UnionToTuple } from './type/helpers/index';
25
+ export { Index, type TIndex, IndexedKeyResolve, IndexedTypeResolve } from './type/indexed/index';
26
+ export { InstanceType, type TInstanceType } from './type/instance-type/index';
27
+ export { Integer, type TInteger, type IntegerOptions } from './type/integer/index';
28
+ export { Intersect, type TIntersect, type IntersectOptions } from './type/intersect/index';
29
+ export { Iterator, type TIterator } from './type/iterator/index';
30
+ export { Capitalize, type TCapitalize, Lowercase, type TLowercase, Uncapitalize, type TUncapitalize, Uppercase, type TUppercase, IntrinsicResolve } from './type/intrinsic/index';
31
+ export { KeyOf, type TKeyOf, KeyOfStringResolve, KeyOfStringResolvePattern, KeyOfTypeResolve } from './type/keyof/index';
32
+ export { Literal, type TLiteral } from './type/literal/index';
33
+ export { Mapped, type TMappedKey, type MappedFunction, type TMappedResult } from './type/mapped/index';
34
+ export { Never, type TNever } from './type/never/index';
35
+ export { Not, type TNot } from './type/not/index';
36
+ export { Null, type TNull } from './type/null/index';
37
+ export { Number, type TNumber, type NumberOptions } from './type/number/index';
38
+ export { Object, type TObject, type TProperties, type ObjectOptions } from './type/object/index';
39
+ export { Omit, type TOmit } from './type/omit/index';
40
+ export { Optional, type TOptional } from './type/optional/index';
41
+ export { Parameters, type TParameters } from './type/parameters/index';
42
+ export { Partial, type TPartial } from './type/partial/index';
43
+ export { Pick, type TPick } from './type/pick/index';
44
+ export { Promise, type TPromise } from './type/promise/index';
45
+ export { Readonly, type TReadonly } from './type/readonly/index';
46
+ export { ReadonlyOptional, type TReadonlyOptional } from './type/readonly-optional/index';
47
+ export { Record, type TRecord } from './type/record/index';
48
+ export { Recursive, type TRecursive, type TThis } from './type/recursive/index';
49
+ export { Ref, type TRef } from './type/ref/index';
50
+ export { RegExp, type TRegExp } from './type/regexp/index';
51
+ export { Required, type TRequired } from './type/required/index';
52
+ export { Rest, type TRest } from './type/rest/index';
53
+ export { ReturnType, type TReturnType } from './type/return-type/index';
54
+ export { type TSchema, type TKind, type SchemaOptions, type TAnySchema } from './type/schema/index';
55
+ export { type Static, type StaticDecode, type StaticEncode } from './type/static/index';
56
+ export { Strict } from './type/strict/index';
57
+ export { String, type TString, type StringOptions, type StringFormatOption, type StringContentEncodingOption } from './type/string/index';
58
+ export { Symbol, type TSymbol, type SymbolValue } from './type/symbol/index';
59
+ export { TemplateLiteral, IsTemplateLiteralFinite, TemplateLiteralParse, TemplateLiteralGenerate, type TTemplateLiteral, type TTemplateLiteralKind } from './type/template-literal/index';
60
+ export { Transform, type TTransform, type TransformOptions, type TransformFunction, TransformDecodeBuilder, TransformEncodeBuilder } from './type/transform/index';
61
+ export { Tuple, type TTuple } from './type/tuple/index';
62
+ export { Uint8Array, type TUint8Array, type Uint8ArrayOptions } from './type/uint8array/index';
63
+ export { Undefined, type TUndefined } from './type/undefined/index';
64
+ export { Union, type TUnion } from './type/union/index';
65
+ export { Unknown, type TUnknown } from './type/unknown/index';
66
+ export { Unsafe, type TUnsafe } from './type/unsafe/index';
67
+ export { Void, type TVoid } from './type/void/index';
68
+ export { JsonTypeBuilder, JavaScriptTypeBuilder } from './type/type/index';
69
+ import { Type } from './type/type/index';
70
+ export { Type };
71
+ export default Type;
package/index.js ADDED
@@ -0,0 +1,205 @@
1
+ "use strict";
2
+ /*--------------------------------------------------------------------------
3
+
4
+ @sinclair/typebox
5
+
6
+ The MIT License (MIT)
7
+
8
+ Copyright (c) 2017-2023 Haydn Paterson (sinclair) <haydn.developer@gmail.com>
9
+
10
+ Permission is hereby granted, free of charge, to any person obtaining a copy
11
+ of this software and associated documentation files (the "Software"), to deal
12
+ in the Software without restriction, including without limitation the rights
13
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
14
+ copies of the Software, and to permit persons to whom the Software is
15
+ furnished to do so, subject to the following conditions:
16
+
17
+ The above copyright notice and this permission notice shall be included in
18
+ all copies or substantial portions of the Software.
19
+
20
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
21
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
22
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
23
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
24
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
25
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
26
+ THE SOFTWARE.
27
+
28
+ ---------------------------------------------------------------------------*/
29
+ Object.defineProperty(exports, "__esModule", { value: true });
30
+ exports.Uppercase = exports.Uncapitalize = exports.Lowercase = exports.Capitalize = exports.Iterator = exports.Intersect = exports.Integer = exports.InstanceType = exports.IndexedTypeResolve = exports.IndexedKeyResolve = exports.Index = exports.Increment = exports.Function = exports.Extract = exports.ExtendsUndefinedCheck = exports.ExtendsResult = exports.ExtendsCheck = exports.Extends = exports.Exclude = exports.Enum = exports.Deref = exports.Date = exports.ConstructorParameters = exports.Constructor = exports.Const = exports.Composite = exports.Boolean = exports.BigInt = exports.Awaited = exports.AsyncIterator = exports.Array = exports.Any = exports.Clone = exports.CloneRest = exports.CloneType = exports.ValueGuard = exports.TypeGuard = exports.FormatRegistry = exports.TypeRegistry = exports.PatternStringExact = exports.PatternString = exports.PatternNumberExact = exports.PatternNumber = exports.PatternBooleanExact = exports.PatternBoolean = exports.TransformKind = exports.OptionalKind = exports.ReadonlyKind = exports.Hint = exports.Kind = void 0;
31
+ exports.Type = exports.JavaScriptTypeBuilder = exports.JsonTypeBuilder = exports.Void = exports.Unsafe = exports.Unknown = exports.Union = exports.Undefined = exports.Uint8Array = exports.Tuple = exports.TransformEncodeBuilder = exports.TransformDecodeBuilder = exports.Transform = exports.TemplateLiteralGenerate = exports.TemplateLiteralParse = exports.IsTemplateLiteralFinite = exports.TemplateLiteral = exports.Symbol = exports.String = exports.Strict = exports.ReturnType = exports.Rest = exports.Required = exports.RegExp = exports.Ref = exports.Recursive = exports.Record = exports.ReadonlyOptional = exports.Readonly = exports.Promise = exports.Pick = exports.Partial = exports.Parameters = exports.Optional = exports.Omit = exports.Object = exports.Number = exports.Null = exports.Not = exports.Never = exports.Mapped = exports.Literal = exports.KeyOfTypeResolve = exports.KeyOfStringResolvePattern = exports.KeyOfStringResolve = exports.KeyOf = exports.IntrinsicResolve = void 0;
32
+ // ------------------------------------------------------------------
33
+ // Infrastructure
34
+ // ------------------------------------------------------------------
35
+ var index_1 = require("./type/symbols/index");
36
+ Object.defineProperty(exports, "Kind", { enumerable: true, get: function () { return index_1.Kind; } });
37
+ Object.defineProperty(exports, "Hint", { enumerable: true, get: function () { return index_1.Hint; } });
38
+ Object.defineProperty(exports, "ReadonlyKind", { enumerable: true, get: function () { return index_1.ReadonlyKind; } });
39
+ Object.defineProperty(exports, "OptionalKind", { enumerable: true, get: function () { return index_1.OptionalKind; } });
40
+ Object.defineProperty(exports, "TransformKind", { enumerable: true, get: function () { return index_1.TransformKind; } });
41
+ var index_2 = require("./type/patterns/index");
42
+ Object.defineProperty(exports, "PatternBoolean", { enumerable: true, get: function () { return index_2.PatternBoolean; } });
43
+ Object.defineProperty(exports, "PatternBooleanExact", { enumerable: true, get: function () { return index_2.PatternBooleanExact; } });
44
+ Object.defineProperty(exports, "PatternNumber", { enumerable: true, get: function () { return index_2.PatternNumber; } });
45
+ Object.defineProperty(exports, "PatternNumberExact", { enumerable: true, get: function () { return index_2.PatternNumberExact; } });
46
+ Object.defineProperty(exports, "PatternString", { enumerable: true, get: function () { return index_2.PatternString; } });
47
+ Object.defineProperty(exports, "PatternStringExact", { enumerable: true, get: function () { return index_2.PatternStringExact; } });
48
+ var index_3 = require("./type/registry/index");
49
+ Object.defineProperty(exports, "TypeRegistry", { enumerable: true, get: function () { return index_3.TypeRegistry; } });
50
+ Object.defineProperty(exports, "FormatRegistry", { enumerable: true, get: function () { return index_3.FormatRegistry; } });
51
+ var index_4 = require("./type/guard/index");
52
+ Object.defineProperty(exports, "TypeGuard", { enumerable: true, get: function () { return index_4.TypeGuard; } });
53
+ Object.defineProperty(exports, "ValueGuard", { enumerable: true, get: function () { return index_4.ValueGuard; } });
54
+ var type_1 = require("./type/clone/type");
55
+ Object.defineProperty(exports, "CloneType", { enumerable: true, get: function () { return type_1.CloneType; } });
56
+ Object.defineProperty(exports, "CloneRest", { enumerable: true, get: function () { return type_1.CloneRest; } });
57
+ var value_1 = require("./type/clone/value");
58
+ Object.defineProperty(exports, "Clone", { enumerable: true, get: function () { return value_1.Clone; } });
59
+ // ------------------------------------------------------------------
60
+ // Type
61
+ // ------------------------------------------------------------------
62
+ var index_5 = require("./type/any/index");
63
+ Object.defineProperty(exports, "Any", { enumerable: true, get: function () { return index_5.Any; } });
64
+ var index_6 = require("./type/array/index");
65
+ Object.defineProperty(exports, "Array", { enumerable: true, get: function () { return index_6.Array; } });
66
+ var index_7 = require("./type/async-iterator/index");
67
+ Object.defineProperty(exports, "AsyncIterator", { enumerable: true, get: function () { return index_7.AsyncIterator; } });
68
+ var index_8 = require("./type/awaited/index");
69
+ Object.defineProperty(exports, "Awaited", { enumerable: true, get: function () { return index_8.Awaited; } });
70
+ var index_9 = require("./type/bigint/index");
71
+ Object.defineProperty(exports, "BigInt", { enumerable: true, get: function () { return index_9.BigInt; } });
72
+ var index_10 = require("./type/boolean/index");
73
+ Object.defineProperty(exports, "Boolean", { enumerable: true, get: function () { return index_10.Boolean; } });
74
+ var index_11 = require("./type/composite/index");
75
+ Object.defineProperty(exports, "Composite", { enumerable: true, get: function () { return index_11.Composite; } });
76
+ var index_12 = require("./type/const/index");
77
+ Object.defineProperty(exports, "Const", { enumerable: true, get: function () { return index_12.Const; } });
78
+ var index_13 = require("./type/constructor/index");
79
+ Object.defineProperty(exports, "Constructor", { enumerable: true, get: function () { return index_13.Constructor; } });
80
+ var index_14 = require("./type/constructor-parameters/index");
81
+ Object.defineProperty(exports, "ConstructorParameters", { enumerable: true, get: function () { return index_14.ConstructorParameters; } });
82
+ var index_15 = require("./type/date/index");
83
+ Object.defineProperty(exports, "Date", { enumerable: true, get: function () { return index_15.Date; } });
84
+ var index_16 = require("./type/deref/index");
85
+ Object.defineProperty(exports, "Deref", { enumerable: true, get: function () { return index_16.Deref; } });
86
+ var index_17 = require("./type/enum/index");
87
+ Object.defineProperty(exports, "Enum", { enumerable: true, get: function () { return index_17.Enum; } });
88
+ var index_18 = require("./type/exclude/index");
89
+ Object.defineProperty(exports, "Exclude", { enumerable: true, get: function () { return index_18.Exclude; } });
90
+ var index_19 = require("./type/extends/index");
91
+ Object.defineProperty(exports, "Extends", { enumerable: true, get: function () { return index_19.Extends; } });
92
+ Object.defineProperty(exports, "ExtendsCheck", { enumerable: true, get: function () { return index_19.ExtendsCheck; } });
93
+ Object.defineProperty(exports, "ExtendsResult", { enumerable: true, get: function () { return index_19.ExtendsResult; } });
94
+ Object.defineProperty(exports, "ExtendsUndefinedCheck", { enumerable: true, get: function () { return index_19.ExtendsUndefinedCheck; } });
95
+ var index_20 = require("./type/extract/index");
96
+ Object.defineProperty(exports, "Extract", { enumerable: true, get: function () { return index_20.Extract; } });
97
+ var index_21 = require("./type/function/index");
98
+ Object.defineProperty(exports, "Function", { enumerable: true, get: function () { return index_21.Function; } });
99
+ var index_22 = require("./type/helpers/index");
100
+ Object.defineProperty(exports, "Increment", { enumerable: true, get: function () { return index_22.Increment; } });
101
+ var index_23 = require("./type/indexed/index");
102
+ Object.defineProperty(exports, "Index", { enumerable: true, get: function () { return index_23.Index; } });
103
+ Object.defineProperty(exports, "IndexedKeyResolve", { enumerable: true, get: function () { return index_23.IndexedKeyResolve; } });
104
+ Object.defineProperty(exports, "IndexedTypeResolve", { enumerable: true, get: function () { return index_23.IndexedTypeResolve; } });
105
+ var index_24 = require("./type/instance-type/index");
106
+ Object.defineProperty(exports, "InstanceType", { enumerable: true, get: function () { return index_24.InstanceType; } });
107
+ var index_25 = require("./type/integer/index");
108
+ Object.defineProperty(exports, "Integer", { enumerable: true, get: function () { return index_25.Integer; } });
109
+ var index_26 = require("./type/intersect/index");
110
+ Object.defineProperty(exports, "Intersect", { enumerable: true, get: function () { return index_26.Intersect; } });
111
+ var index_27 = require("./type/iterator/index");
112
+ Object.defineProperty(exports, "Iterator", { enumerable: true, get: function () { return index_27.Iterator; } });
113
+ var index_28 = require("./type/intrinsic/index");
114
+ Object.defineProperty(exports, "Capitalize", { enumerable: true, get: function () { return index_28.Capitalize; } });
115
+ Object.defineProperty(exports, "Lowercase", { enumerable: true, get: function () { return index_28.Lowercase; } });
116
+ Object.defineProperty(exports, "Uncapitalize", { enumerable: true, get: function () { return index_28.Uncapitalize; } });
117
+ Object.defineProperty(exports, "Uppercase", { enumerable: true, get: function () { return index_28.Uppercase; } });
118
+ Object.defineProperty(exports, "IntrinsicResolve", { enumerable: true, get: function () { return index_28.IntrinsicResolve; } });
119
+ var index_29 = require("./type/keyof/index");
120
+ Object.defineProperty(exports, "KeyOf", { enumerable: true, get: function () { return index_29.KeyOf; } });
121
+ Object.defineProperty(exports, "KeyOfStringResolve", { enumerable: true, get: function () { return index_29.KeyOfStringResolve; } });
122
+ Object.defineProperty(exports, "KeyOfStringResolvePattern", { enumerable: true, get: function () { return index_29.KeyOfStringResolvePattern; } });
123
+ Object.defineProperty(exports, "KeyOfTypeResolve", { enumerable: true, get: function () { return index_29.KeyOfTypeResolve; } });
124
+ var index_30 = require("./type/literal/index");
125
+ Object.defineProperty(exports, "Literal", { enumerable: true, get: function () { return index_30.Literal; } });
126
+ var index_31 = require("./type/mapped/index");
127
+ Object.defineProperty(exports, "Mapped", { enumerable: true, get: function () { return index_31.Mapped; } });
128
+ var index_32 = require("./type/never/index");
129
+ Object.defineProperty(exports, "Never", { enumerable: true, get: function () { return index_32.Never; } });
130
+ var index_33 = require("./type/not/index");
131
+ Object.defineProperty(exports, "Not", { enumerable: true, get: function () { return index_33.Not; } });
132
+ var index_34 = require("./type/null/index");
133
+ Object.defineProperty(exports, "Null", { enumerable: true, get: function () { return index_34.Null; } });
134
+ var index_35 = require("./type/number/index");
135
+ Object.defineProperty(exports, "Number", { enumerable: true, get: function () { return index_35.Number; } });
136
+ var index_36 = require("./type/object/index");
137
+ Object.defineProperty(exports, "Object", { enumerable: true, get: function () { return index_36.Object; } });
138
+ var index_37 = require("./type/omit/index");
139
+ Object.defineProperty(exports, "Omit", { enumerable: true, get: function () { return index_37.Omit; } });
140
+ var index_38 = require("./type/optional/index");
141
+ Object.defineProperty(exports, "Optional", { enumerable: true, get: function () { return index_38.Optional; } });
142
+ var index_39 = require("./type/parameters/index");
143
+ Object.defineProperty(exports, "Parameters", { enumerable: true, get: function () { return index_39.Parameters; } });
144
+ var index_40 = require("./type/partial/index");
145
+ Object.defineProperty(exports, "Partial", { enumerable: true, get: function () { return index_40.Partial; } });
146
+ var index_41 = require("./type/pick/index");
147
+ Object.defineProperty(exports, "Pick", { enumerable: true, get: function () { return index_41.Pick; } });
148
+ var index_42 = require("./type/promise/index");
149
+ Object.defineProperty(exports, "Promise", { enumerable: true, get: function () { return index_42.Promise; } });
150
+ var index_43 = require("./type/readonly/index");
151
+ Object.defineProperty(exports, "Readonly", { enumerable: true, get: function () { return index_43.Readonly; } });
152
+ var index_44 = require("./type/readonly-optional/index");
153
+ Object.defineProperty(exports, "ReadonlyOptional", { enumerable: true, get: function () { return index_44.ReadonlyOptional; } });
154
+ var index_45 = require("./type/record/index");
155
+ Object.defineProperty(exports, "Record", { enumerable: true, get: function () { return index_45.Record; } });
156
+ var index_46 = require("./type/recursive/index");
157
+ Object.defineProperty(exports, "Recursive", { enumerable: true, get: function () { return index_46.Recursive; } });
158
+ var index_47 = require("./type/ref/index");
159
+ Object.defineProperty(exports, "Ref", { enumerable: true, get: function () { return index_47.Ref; } });
160
+ var index_48 = require("./type/regexp/index");
161
+ Object.defineProperty(exports, "RegExp", { enumerable: true, get: function () { return index_48.RegExp; } });
162
+ var index_49 = require("./type/required/index");
163
+ Object.defineProperty(exports, "Required", { enumerable: true, get: function () { return index_49.Required; } });
164
+ var index_50 = require("./type/rest/index");
165
+ Object.defineProperty(exports, "Rest", { enumerable: true, get: function () { return index_50.Rest; } });
166
+ var index_51 = require("./type/return-type/index");
167
+ Object.defineProperty(exports, "ReturnType", { enumerable: true, get: function () { return index_51.ReturnType; } });
168
+ var index_52 = require("./type/strict/index");
169
+ Object.defineProperty(exports, "Strict", { enumerable: true, get: function () { return index_52.Strict; } });
170
+ var index_53 = require("./type/string/index");
171
+ Object.defineProperty(exports, "String", { enumerable: true, get: function () { return index_53.String; } });
172
+ var index_54 = require("./type/symbol/index");
173
+ Object.defineProperty(exports, "Symbol", { enumerable: true, get: function () { return index_54.Symbol; } });
174
+ var index_55 = require("./type/template-literal/index");
175
+ Object.defineProperty(exports, "TemplateLiteral", { enumerable: true, get: function () { return index_55.TemplateLiteral; } });
176
+ Object.defineProperty(exports, "IsTemplateLiteralFinite", { enumerable: true, get: function () { return index_55.IsTemplateLiteralFinite; } });
177
+ Object.defineProperty(exports, "TemplateLiteralParse", { enumerable: true, get: function () { return index_55.TemplateLiteralParse; } });
178
+ Object.defineProperty(exports, "TemplateLiteralGenerate", { enumerable: true, get: function () { return index_55.TemplateLiteralGenerate; } });
179
+ var index_56 = require("./type/transform/index");
180
+ Object.defineProperty(exports, "Transform", { enumerable: true, get: function () { return index_56.Transform; } });
181
+ Object.defineProperty(exports, "TransformDecodeBuilder", { enumerable: true, get: function () { return index_56.TransformDecodeBuilder; } });
182
+ Object.defineProperty(exports, "TransformEncodeBuilder", { enumerable: true, get: function () { return index_56.TransformEncodeBuilder; } });
183
+ var index_57 = require("./type/tuple/index");
184
+ Object.defineProperty(exports, "Tuple", { enumerable: true, get: function () { return index_57.Tuple; } });
185
+ var index_58 = require("./type/uint8array/index");
186
+ Object.defineProperty(exports, "Uint8Array", { enumerable: true, get: function () { return index_58.Uint8Array; } });
187
+ var index_59 = require("./type/undefined/index");
188
+ Object.defineProperty(exports, "Undefined", { enumerable: true, get: function () { return index_59.Undefined; } });
189
+ var index_60 = require("./type/union/index");
190
+ Object.defineProperty(exports, "Union", { enumerable: true, get: function () { return index_60.Union; } });
191
+ var index_61 = require("./type/unknown/index");
192
+ Object.defineProperty(exports, "Unknown", { enumerable: true, get: function () { return index_61.Unknown; } });
193
+ var index_62 = require("./type/unsafe/index");
194
+ Object.defineProperty(exports, "Unsafe", { enumerable: true, get: function () { return index_62.Unsafe; } });
195
+ var index_63 = require("./type/void/index");
196
+ Object.defineProperty(exports, "Void", { enumerable: true, get: function () { return index_63.Void; } });
197
+ // ------------------------------------------------------------------
198
+ // Namespace
199
+ // ------------------------------------------------------------------
200
+ var index_64 = require("./type/type/index");
201
+ Object.defineProperty(exports, "JsonTypeBuilder", { enumerable: true, get: function () { return index_64.JsonTypeBuilder; } });
202
+ Object.defineProperty(exports, "JavaScriptTypeBuilder", { enumerable: true, get: function () { return index_64.JavaScriptTypeBuilder; } });
203
+ const index_65 = require("./type/type/index");
204
+ Object.defineProperty(exports, "Type", { enumerable: true, get: function () { return index_65.Type; } });
205
+ exports.default = index_65.Type;