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

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 (664) hide show
  1. package/build/import/compiler/compiler.d.mts +9 -0
  2. package/build/import/compiler/compiler.mjs +87 -6
  3. package/build/import/compiler/index.mjs +27 -0
  4. package/build/import/errors/errors.d.mts +3 -0
  5. package/build/import/errors/errors.mjs +55 -3
  6. package/build/import/errors/function.d.mts +3 -0
  7. package/build/import/errors/function.mjs +31 -0
  8. package/build/import/errors/index.mjs +27 -0
  9. package/build/import/index.mjs +36 -0
  10. package/build/import/system/index.mjs +27 -0
  11. package/build/import/system/policy.d.mts +10 -0
  12. package/build/import/system/policy.mjs +40 -0
  13. package/build/import/system/system.d.mts +3 -0
  14. package/build/import/system/system.mjs +36 -0
  15. package/build/import/type/any/any.d.mts +1 -0
  16. package/build/import/type/any/any.mjs +28 -0
  17. package/build/import/type/any/index.mjs +27 -0
  18. package/build/import/type/array/array.d.mts +7 -0
  19. package/build/import/type/array/array.mjs +28 -0
  20. package/build/import/type/array/index.mjs +27 -0
  21. package/build/import/type/async-iterator/async-iterator.d.mts +1 -0
  22. package/build/import/type/async-iterator/async-iterator.mjs +28 -0
  23. package/build/import/type/async-iterator/index.mjs +27 -0
  24. package/build/import/type/awaited/awaited.d.mts +1 -0
  25. package/build/import/type/awaited/awaited.mjs +37 -0
  26. package/build/import/type/awaited/index.mjs +27 -0
  27. package/build/import/type/bigint/bigint.d.mts +1 -0
  28. package/build/import/type/bigint/bigint.mjs +28 -0
  29. package/build/import/type/bigint/index.mjs +27 -0
  30. package/build/import/type/boolean/boolean.d.mts +1 -0
  31. package/build/import/type/boolean/boolean.mjs +28 -0
  32. package/build/import/type/boolean/index.mjs +27 -0
  33. package/build/import/type/clone/index.mjs +27 -0
  34. package/build/import/type/clone/type.d.mts +2 -0
  35. package/build/import/type/clone/type.mjs +29 -0
  36. package/build/import/type/clone/value.d.mts +1 -0
  37. package/build/import/type/clone/value.mjs +29 -0
  38. package/build/import/type/composite/composite.d.mts +1 -0
  39. package/build/import/type/composite/composite.mjs +28 -0
  40. package/build/import/type/composite/index.mjs +27 -0
  41. package/build/import/type/const/const.d.mts +2 -1
  42. package/build/import/type/const/const.mjs +32 -1
  43. package/build/import/type/const/index.mjs +27 -0
  44. package/build/import/type/constructor/constructor.d.mts +1 -0
  45. package/build/import/type/constructor/constructor.mjs +28 -0
  46. package/build/import/type/constructor/index.mjs +27 -0
  47. package/build/import/type/constructor-parameters/constructor-parameters.d.mts +1 -0
  48. package/build/import/type/constructor-parameters/constructor-parameters.mjs +28 -0
  49. package/build/import/type/constructor-parameters/index.mjs +27 -0
  50. package/build/import/type/date/date.d.mts +6 -0
  51. package/build/import/type/date/date.mjs +28 -0
  52. package/build/import/type/date/index.mjs +27 -0
  53. package/build/import/type/deref/deref.d.mts +1 -0
  54. package/build/import/type/deref/deref.mjs +45 -0
  55. package/build/import/type/deref/index.mjs +27 -0
  56. package/build/import/type/discard/discard.mjs +27 -0
  57. package/build/import/type/discard/index.mjs +27 -0
  58. package/build/import/type/enum/enum.d.mts +1 -0
  59. package/build/import/type/enum/enum.mjs +28 -0
  60. package/build/import/type/enum/index.mjs +27 -0
  61. package/build/import/type/exclude/exclude-from-mapped-result.mjs +30 -0
  62. package/build/import/type/exclude/exclude.d.mts +2 -0
  63. package/build/import/type/exclude/exclude.mjs +30 -0
  64. package/build/import/type/exclude/index.mjs +27 -0
  65. package/build/import/type/extends/extends-check.mjs +200 -1
  66. package/build/import/type/extends/extends-from-mapped-key.mjs +31 -0
  67. package/build/import/type/extends/extends-from-mapped-result.mjs +30 -0
  68. package/build/import/type/extends/extends-undefined.d.mts +1 -0
  69. package/build/import/type/extends/extends-undefined.mjs +30 -0
  70. package/build/import/type/extends/extends.d.mts +3 -0
  71. package/build/import/type/extends/extends.mjs +34 -0
  72. package/build/import/type/extends/index.mjs +27 -0
  73. package/build/import/type/extract/extract-from-mapped-result.mjs +30 -0
  74. package/build/import/type/extract/extract.d.mts +2 -0
  75. package/build/import/type/extract/extract.mjs +30 -0
  76. package/build/import/type/extract/index.mjs +27 -0
  77. package/build/import/type/function/function.d.mts +1 -0
  78. package/build/import/type/function/function.mjs +28 -0
  79. package/build/import/type/function/index.mjs +27 -0
  80. package/build/import/type/guard/index.mjs +27 -0
  81. package/build/import/type/guard/type.d.mts +46 -0
  82. package/build/import/type/guard/type.mjs +111 -1
  83. package/build/import/type/guard/value.d.mts +14 -0
  84. package/build/import/type/guard/value.mjs +41 -0
  85. package/build/import/type/helpers/helpers.d.mts +1 -0
  86. package/build/import/type/helpers/helpers.mjs +28 -0
  87. package/build/import/type/helpers/index.mjs +27 -0
  88. package/build/import/type/index.mjs +27 -0
  89. package/build/import/type/indexed/index.mjs +27 -0
  90. package/build/import/type/indexed/indexed-from-mapped-key.mjs +35 -1
  91. package/build/import/type/indexed/indexed-property-keys.d.mts +1 -0
  92. package/build/import/type/indexed/indexed-property-keys.mjs +36 -0
  93. package/build/import/type/indexed/indexed-result.mjs +42 -0
  94. package/build/import/type/indexed/indexed.d.mts +3 -0
  95. package/build/import/type/indexed/indexed.mjs +33 -0
  96. package/build/import/type/instance-type/index.mjs +27 -0
  97. package/build/import/type/instance-type/instance-type.d.mts +1 -0
  98. package/build/import/type/instance-type/instance-type.mjs +28 -0
  99. package/build/import/type/integer/index.mjs +27 -0
  100. package/build/import/type/integer/integer.d.mts +1 -0
  101. package/build/import/type/integer/integer.mjs +28 -0
  102. package/build/import/type/intersect/index.mjs +27 -0
  103. package/build/import/type/intersect/intersect-create.mjs +35 -0
  104. package/build/import/type/intersect/intersect-evaluated.d.mts +1 -0
  105. package/build/import/type/intersect/intersect-evaluated.mjs +36 -0
  106. package/build/import/type/intersect/intersect-type.mjs +27 -0
  107. package/build/import/type/intersect/intersect.d.mts +1 -0
  108. package/build/import/type/intersect/intersect.mjs +32 -0
  109. package/build/import/type/intrinsic/capitalize.d.mts +1 -0
  110. package/build/import/type/intrinsic/capitalize.mjs +28 -0
  111. package/build/import/type/intrinsic/index.mjs +27 -0
  112. package/build/import/type/intrinsic/intrinsic-from-mapped-key.mjs +31 -0
  113. package/build/import/type/intrinsic/intrinsic.d.mts +2 -0
  114. package/build/import/type/intrinsic/intrinsic.mjs +43 -1
  115. package/build/import/type/intrinsic/lowercase.d.mts +1 -0
  116. package/build/import/type/intrinsic/lowercase.mjs +28 -0
  117. package/build/import/type/intrinsic/uncapitalize.d.mts +1 -0
  118. package/build/import/type/intrinsic/uncapitalize.mjs +28 -0
  119. package/build/import/type/intrinsic/uppercase.d.mts +1 -0
  120. package/build/import/type/intrinsic/uppercase.mjs +28 -0
  121. package/build/import/type/iterator/index.mjs +27 -0
  122. package/build/import/type/iterator/iterator.d.mts +1 -0
  123. package/build/import/type/iterator/iterator.mjs +28 -0
  124. package/build/import/type/keyof/index.mjs +27 -0
  125. package/build/import/type/keyof/keyof-from-mapped-result.mjs +30 -0
  126. package/build/import/type/keyof/keyof-property-keys.d.mts +2 -0
  127. package/build/import/type/keyof/keyof-property-keys.mjs +47 -0
  128. package/build/import/type/keyof/keyof.d.mts +2 -0
  129. package/build/import/type/keyof/keyof.mjs +33 -0
  130. package/build/import/type/literal/index.mjs +27 -0
  131. package/build/import/type/literal/literal.d.mts +1 -0
  132. package/build/import/type/literal/literal.mjs +28 -0
  133. package/build/import/type/mapped/index.mjs +27 -0
  134. package/build/import/type/mapped/mapped-key.mjs +28 -0
  135. package/build/import/type/mapped/mapped-result.mjs +28 -0
  136. package/build/import/type/mapped/mapped.d.mts +2 -0
  137. package/build/import/type/mapped/mapped.mjs +46 -1
  138. package/build/import/type/modifiers/index.mjs +27 -0
  139. package/build/import/type/modifiers/modifiers.mjs +37 -0
  140. package/build/import/type/never/index.mjs +27 -0
  141. package/build/import/type/never/never.d.mts +1 -0
  142. package/build/import/type/never/never.mjs +28 -0
  143. package/build/import/type/not/index.mjs +27 -0
  144. package/build/import/type/not/not.d.mts +1 -0
  145. package/build/import/type/not/not.mjs +28 -0
  146. package/build/import/type/null/index.mjs +27 -0
  147. package/build/import/type/null/null.d.mts +1 -0
  148. package/build/import/type/null/null.mjs +28 -0
  149. package/build/import/type/number/index.mjs +27 -0
  150. package/build/import/type/number/number.d.mts +1 -0
  151. package/build/import/type/number/number.mjs +28 -0
  152. package/build/import/type/object/index.mjs +27 -0
  153. package/build/import/type/object/object.d.mts +5 -0
  154. package/build/import/type/object/object.mjs +33 -0
  155. package/build/import/type/omit/index.mjs +27 -0
  156. package/build/import/type/omit/omit-from-mapped-key.mjs +31 -0
  157. package/build/import/type/omit/omit.d.mts +3 -0
  158. package/build/import/type/omit/omit.mjs +39 -0
  159. package/build/import/type/operators/index.mjs +27 -0
  160. package/build/import/type/operators/operators.d.mts +8 -0
  161. package/build/import/type/operators/operators.mjs +42 -0
  162. package/build/import/type/optional/index.mjs +27 -0
  163. package/build/import/type/optional/optional.d.mts +1 -0
  164. package/build/import/type/optional/optional.mjs +28 -0
  165. package/build/import/type/parameters/index.mjs +27 -0
  166. package/build/import/type/parameters/parameters.d.mts +1 -0
  167. package/build/import/type/parameters/parameters.mjs +28 -0
  168. package/build/import/type/partial/index.mjs +27 -0
  169. package/build/import/type/partial/partial-from-mapped-result.mjs +30 -0
  170. package/build/import/type/partial/partial.d.mts +2 -0
  171. package/build/import/type/partial/partial.mjs +36 -0
  172. package/build/import/type/patterns/index.mjs +27 -0
  173. package/build/import/type/patterns/patterns.mjs +27 -0
  174. package/build/import/type/pick/index.mjs +27 -0
  175. package/build/import/type/pick/pick-from-mapped-key.mjs +31 -0
  176. package/build/import/type/pick/pick.d.mts +3 -0
  177. package/build/import/type/pick/pick.mjs +34 -0
  178. package/build/import/type/promise/index.mjs +27 -0
  179. package/build/import/type/promise/promise.d.mts +1 -0
  180. package/build/import/type/promise/promise.mjs +28 -0
  181. package/build/import/type/readonly/index.mjs +27 -0
  182. package/build/import/type/readonly/readonly.d.mts +1 -0
  183. package/build/import/type/readonly/readonly.mjs +28 -0
  184. package/build/import/type/readonly-optional/index.mjs +27 -0
  185. package/build/import/type/readonly-optional/readonly-optional.d.mts +1 -0
  186. package/build/import/type/readonly-optional/readonly-optional.mjs +28 -0
  187. package/build/import/type/record/index.mjs +27 -0
  188. package/build/import/type/record/record.d.mts +1 -0
  189. package/build/import/type/record/record.mjs +48 -0
  190. package/build/import/type/recursive/index.mjs +27 -0
  191. package/build/import/type/recursive/recursive.d.mts +1 -0
  192. package/build/import/type/recursive/recursive.mjs +30 -0
  193. package/build/import/type/ref/index.mjs +27 -0
  194. package/build/import/type/ref/ref.d.mts +2 -0
  195. package/build/import/type/ref/ref.mjs +28 -0
  196. package/build/import/type/regexp/index.mjs +27 -0
  197. package/build/import/type/regexp/regexp.d.mts +2 -0
  198. package/build/import/type/regexp/regexp.mjs +28 -0
  199. package/build/import/type/registry/format.d.mts +6 -0
  200. package/build/import/type/registry/format.mjs +34 -0
  201. package/build/import/type/registry/index.mjs +27 -0
  202. package/build/import/type/registry/type.d.mts +6 -0
  203. package/build/import/type/registry/type.mjs +34 -0
  204. package/build/import/type/required/index.mjs +27 -0
  205. package/build/import/type/required/required-from-mapped-result.mjs +30 -0
  206. package/build/import/type/required/required.d.mts +2 -0
  207. package/build/import/type/required/required.mjs +36 -0
  208. package/build/import/type/rest/index.mjs +27 -0
  209. package/build/import/type/rest/rest.d.mts +1 -0
  210. package/build/import/type/rest/rest.mjs +32 -0
  211. package/build/import/type/return-type/index.mjs +27 -0
  212. package/build/import/type/return-type/return-type.d.mts +1 -0
  213. package/build/import/type/return-type/return-type.mjs +28 -0
  214. package/build/import/type/schema/anyschema.mjs +27 -0
  215. package/build/import/type/schema/index.mjs +27 -0
  216. package/build/import/type/schema/schema.d.mts +7 -0
  217. package/build/import/type/schema/schema.mjs +27 -0
  218. package/build/import/type/static/index.mjs +27 -0
  219. package/build/import/type/static/static.d.mts +3 -0
  220. package/build/import/type/static/static.mjs +27 -0
  221. package/build/import/type/strict/index.mjs +27 -0
  222. package/build/import/type/strict/strict.d.mts +1 -0
  223. package/build/import/type/strict/strict.mjs +28 -0
  224. package/build/import/type/string/index.mjs +27 -0
  225. package/build/import/type/string/string.d.mts +7 -0
  226. package/build/import/type/string/string.mjs +28 -0
  227. package/build/import/type/symbol/index.mjs +27 -0
  228. package/build/import/type/symbol/symbol.d.mts +1 -0
  229. package/build/import/type/symbol/symbol.mjs +28 -0
  230. package/build/import/type/symbols/index.mjs +27 -0
  231. package/build/import/type/symbols/symbols.d.mts +5 -0
  232. package/build/import/type/symbols/symbols.mjs +32 -0
  233. package/build/import/type/template-literal/finite.mjs +37 -0
  234. package/build/import/type/template-literal/generate.mjs +37 -0
  235. package/build/import/type/template-literal/index.mjs +27 -0
  236. package/build/import/type/template-literal/parser.d.mts +2 -0
  237. package/build/import/type/template-literal/parser.mjs +44 -0
  238. package/build/import/type/template-literal/pattern.mjs +38 -0
  239. package/build/import/type/template-literal/syntax.d.mts +1 -0
  240. package/build/import/type/template-literal/syntax.mjs +35 -0
  241. package/build/import/type/template-literal/template-literal.d.mts +2 -0
  242. package/build/import/type/template-literal/template-literal.mjs +29 -0
  243. package/build/import/type/template-literal/union.d.mts +1 -0
  244. package/build/import/type/template-literal/union.mjs +31 -0
  245. package/build/import/type/transform/index.mjs +27 -0
  246. package/build/import/type/transform/transform.d.mts +1 -0
  247. package/build/import/type/transform/transform.mjs +36 -0
  248. package/build/import/type/tuple/index.mjs +27 -0
  249. package/build/import/type/tuple/tuple.d.mts +1 -0
  250. package/build/import/type/tuple/tuple.mjs +30 -0
  251. package/build/import/type/type/index.d.mts +1 -0
  252. package/build/import/type/type/index.mjs +34 -0
  253. package/build/import/type/type/javascript.d.mts +19 -0
  254. package/build/import/type/type/javascript.mjs +45 -0
  255. package/build/import/type/type/json.d.mts +62 -1
  256. package/build/import/type/type/json.mjs +82 -1
  257. package/build/import/type/type/type.mjs +30 -0
  258. package/build/import/type/uint8array/index.mjs +27 -0
  259. package/build/import/type/uint8array/uint8array.d.mts +1 -0
  260. package/build/import/type/uint8array/uint8array.mjs +28 -0
  261. package/build/import/type/undefined/index.mjs +27 -0
  262. package/build/import/type/undefined/undefined.d.mts +1 -0
  263. package/build/import/type/undefined/undefined.mjs +28 -0
  264. package/build/import/type/union/index.mjs +27 -0
  265. package/build/import/type/union/union-create.mjs +27 -0
  266. package/build/import/type/union/union-evaluated.d.mts +1 -0
  267. package/build/import/type/union/union-evaluated.mjs +37 -0
  268. package/build/import/type/union/union-type.mjs +27 -0
  269. package/build/import/type/union/union.d.mts +1 -0
  270. package/build/import/type/union/union.mjs +29 -0
  271. package/build/import/type/unknown/index.mjs +27 -0
  272. package/build/import/type/unknown/unknown.d.mts +1 -0
  273. package/build/import/type/unknown/unknown.mjs +28 -0
  274. package/build/import/type/unsafe/index.mjs +27 -0
  275. package/build/import/type/unsafe/unsafe.d.mts +1 -0
  276. package/build/import/type/unsafe/unsafe.mjs +28 -0
  277. package/build/import/type/void/index.mjs +27 -0
  278. package/build/import/type/void/void.d.mts +1 -0
  279. package/build/import/type/void/void.mjs +28 -0
  280. package/build/import/value/cast/cast.d.mts +2 -0
  281. package/build/import/value/cast/cast.mjs +55 -0
  282. package/build/import/value/cast/index.mjs +27 -0
  283. package/build/import/value/check/check.d.mts +2 -0
  284. package/build/import/value/check/check.mjs +46 -1
  285. package/build/import/value/check/index.mjs +27 -0
  286. package/build/import/value/clean/clean.d.mts +2 -0
  287. package/build/import/value/clean/clean.mjs +39 -1
  288. package/build/import/value/clean/index.mjs +27 -0
  289. package/build/import/value/clone/clone.d.mts +1 -0
  290. package/build/import/value/clone/clone.mjs +34 -0
  291. package/build/import/value/clone/index.mjs +27 -0
  292. package/build/import/value/convert/convert.d.mts +2 -0
  293. package/build/import/value/convert/convert.mjs +57 -1
  294. package/build/import/value/convert/index.mjs +27 -0
  295. package/build/import/value/create/create.d.mts +2 -0
  296. package/build/import/value/create/create.mjs +44 -0
  297. package/build/import/value/create/index.mjs +27 -0
  298. package/build/import/value/default/default.d.mts +2 -0
  299. package/build/import/value/default/default.mjs +46 -0
  300. package/build/import/value/default/index.mjs +27 -0
  301. package/build/import/value/delta/delta.mjs +42 -0
  302. package/build/import/value/delta/index.mjs +27 -0
  303. package/build/import/value/deref/deref.d.mts +1 -0
  304. package/build/import/value/deref/deref.mjs +28 -0
  305. package/build/import/value/deref/index.mjs +27 -0
  306. package/build/import/value/equal/equal.d.mts +1 -0
  307. package/build/import/value/equal/equal.mjs +34 -0
  308. package/build/import/value/equal/index.mjs +27 -0
  309. package/build/import/value/guard/guard.d.mts +20 -0
  310. package/build/import/value/guard/guard.mjs +57 -0
  311. package/build/import/value/guard/index.mjs +27 -0
  312. package/build/import/value/hash/hash.d.mts +1 -0
  313. package/build/import/value/hash/hash.mjs +46 -0
  314. package/build/import/value/hash/index.mjs +27 -0
  315. package/build/import/value/index.mjs +39 -0
  316. package/build/import/value/mutate/index.mjs +27 -0
  317. package/build/import/value/mutate/mutate.d.mts +1 -0
  318. package/build/import/value/mutate/mutate.mjs +38 -0
  319. package/build/import/value/pointer/index.mjs +27 -0
  320. package/build/import/value/pointer/pointer.d.mts +5 -0
  321. package/build/import/value/pointer/pointer.mjs +45 -0
  322. package/build/import/value/transform/decode.d.mts +5 -0
  323. package/build/import/value/transform/decode.mjs +50 -0
  324. package/build/import/value/transform/encode.d.mts +6 -0
  325. package/build/import/value/transform/encode.mjs +52 -0
  326. package/build/import/value/transform/has.d.mts +1 -0
  327. package/build/import/value/transform/has.mjs +43 -0
  328. package/build/import/value/transform/index.mjs +27 -0
  329. package/build/import/value/value/index.mjs +27 -0
  330. package/build/import/value/value/value.d.mts +24 -0
  331. package/build/import/value/value/value.mjs +42 -0
  332. package/build/require/compiler/compiler.d.ts +9 -0
  333. package/build/require/compiler/compiler.js +87 -6
  334. package/build/require/compiler/index.js +27 -0
  335. package/build/require/errors/errors.d.ts +3 -0
  336. package/build/require/errors/errors.js +55 -3
  337. package/build/require/errors/function.d.ts +3 -0
  338. package/build/require/errors/function.js +31 -0
  339. package/build/require/errors/index.js +27 -0
  340. package/build/require/index.js +36 -0
  341. package/build/require/system/index.js +27 -0
  342. package/build/require/system/policy.d.ts +10 -0
  343. package/build/require/system/policy.js +40 -0
  344. package/build/require/system/system.d.ts +3 -0
  345. package/build/require/system/system.js +36 -0
  346. package/build/require/type/any/any.d.ts +1 -0
  347. package/build/require/type/any/any.js +28 -0
  348. package/build/require/type/any/index.js +27 -0
  349. package/build/require/type/array/array.d.ts +7 -0
  350. package/build/require/type/array/array.js +28 -0
  351. package/build/require/type/array/index.js +27 -0
  352. package/build/require/type/async-iterator/async-iterator.d.ts +1 -0
  353. package/build/require/type/async-iterator/async-iterator.js +28 -0
  354. package/build/require/type/async-iterator/index.js +27 -0
  355. package/build/require/type/awaited/awaited.d.ts +1 -0
  356. package/build/require/type/awaited/awaited.js +37 -0
  357. package/build/require/type/awaited/index.js +27 -0
  358. package/build/require/type/bigint/bigint.d.ts +1 -0
  359. package/build/require/type/bigint/bigint.js +28 -0
  360. package/build/require/type/bigint/index.js +27 -0
  361. package/build/require/type/boolean/boolean.d.ts +1 -0
  362. package/build/require/type/boolean/boolean.js +28 -0
  363. package/build/require/type/boolean/index.js +27 -0
  364. package/build/require/type/clone/index.js +27 -0
  365. package/build/require/type/clone/type.d.ts +2 -0
  366. package/build/require/type/clone/type.js +29 -0
  367. package/build/require/type/clone/value.d.ts +1 -0
  368. package/build/require/type/clone/value.js +29 -0
  369. package/build/require/type/composite/composite.d.ts +1 -0
  370. package/build/require/type/composite/composite.js +28 -0
  371. package/build/require/type/composite/index.js +27 -0
  372. package/build/require/type/const/const.d.ts +2 -1
  373. package/build/require/type/const/const.js +32 -1
  374. package/build/require/type/const/index.js +27 -0
  375. package/build/require/type/constructor/constructor.d.ts +1 -0
  376. package/build/require/type/constructor/constructor.js +28 -0
  377. package/build/require/type/constructor/index.js +27 -0
  378. package/build/require/type/constructor-parameters/constructor-parameters.d.ts +1 -0
  379. package/build/require/type/constructor-parameters/constructor-parameters.js +28 -0
  380. package/build/require/type/constructor-parameters/index.js +27 -0
  381. package/build/require/type/date/date.d.ts +6 -0
  382. package/build/require/type/date/date.js +28 -0
  383. package/build/require/type/date/index.js +27 -0
  384. package/build/require/type/deref/deref.d.ts +1 -0
  385. package/build/require/type/deref/deref.js +45 -0
  386. package/build/require/type/deref/index.js +27 -0
  387. package/build/require/type/discard/discard.js +27 -0
  388. package/build/require/type/discard/index.js +27 -0
  389. package/build/require/type/enum/enum.d.ts +1 -0
  390. package/build/require/type/enum/enum.js +28 -0
  391. package/build/require/type/enum/index.js +27 -0
  392. package/build/require/type/exclude/exclude-from-mapped-result.js +30 -0
  393. package/build/require/type/exclude/exclude.d.ts +2 -0
  394. package/build/require/type/exclude/exclude.js +30 -0
  395. package/build/require/type/exclude/index.js +27 -0
  396. package/build/require/type/extends/extends-check.js +200 -1
  397. package/build/require/type/extends/extends-from-mapped-key.js +31 -0
  398. package/build/require/type/extends/extends-from-mapped-result.js +30 -0
  399. package/build/require/type/extends/extends-undefined.d.ts +1 -0
  400. package/build/require/type/extends/extends-undefined.js +30 -0
  401. package/build/require/type/extends/extends.d.ts +3 -0
  402. package/build/require/type/extends/extends.js +34 -0
  403. package/build/require/type/extends/index.js +27 -0
  404. package/build/require/type/extract/extract-from-mapped-result.js +30 -0
  405. package/build/require/type/extract/extract.d.ts +2 -0
  406. package/build/require/type/extract/extract.js +30 -0
  407. package/build/require/type/extract/index.js +27 -0
  408. package/build/require/type/function/function.d.ts +1 -0
  409. package/build/require/type/function/function.js +28 -0
  410. package/build/require/type/function/index.js +27 -0
  411. package/build/require/type/guard/index.js +27 -0
  412. package/build/require/type/guard/type.d.ts +46 -0
  413. package/build/require/type/guard/type.js +111 -1
  414. package/build/require/type/guard/value.d.ts +14 -0
  415. package/build/require/type/guard/value.js +41 -0
  416. package/build/require/type/helpers/helpers.d.ts +1 -0
  417. package/build/require/type/helpers/helpers.js +28 -0
  418. package/build/require/type/helpers/index.js +27 -0
  419. package/build/require/type/index.js +27 -0
  420. package/build/require/type/indexed/index.js +27 -0
  421. package/build/require/type/indexed/indexed-from-mapped-key.js +35 -1
  422. package/build/require/type/indexed/indexed-property-keys.d.ts +1 -0
  423. package/build/require/type/indexed/indexed-property-keys.js +36 -0
  424. package/build/require/type/indexed/indexed-result.js +42 -0
  425. package/build/require/type/indexed/indexed.d.ts +3 -0
  426. package/build/require/type/indexed/indexed.js +33 -0
  427. package/build/require/type/instance-type/index.js +27 -0
  428. package/build/require/type/instance-type/instance-type.d.ts +1 -0
  429. package/build/require/type/instance-type/instance-type.js +28 -0
  430. package/build/require/type/integer/index.js +27 -0
  431. package/build/require/type/integer/integer.d.ts +1 -0
  432. package/build/require/type/integer/integer.js +28 -0
  433. package/build/require/type/intersect/index.js +27 -0
  434. package/build/require/type/intersect/intersect-create.js +35 -0
  435. package/build/require/type/intersect/intersect-evaluated.d.ts +1 -0
  436. package/build/require/type/intersect/intersect-evaluated.js +36 -0
  437. package/build/require/type/intersect/intersect-type.js +27 -0
  438. package/build/require/type/intersect/intersect.d.ts +1 -0
  439. package/build/require/type/intersect/intersect.js +32 -0
  440. package/build/require/type/intrinsic/capitalize.d.ts +1 -0
  441. package/build/require/type/intrinsic/capitalize.js +28 -0
  442. package/build/require/type/intrinsic/index.js +27 -0
  443. package/build/require/type/intrinsic/intrinsic-from-mapped-key.js +31 -0
  444. package/build/require/type/intrinsic/intrinsic.d.ts +2 -0
  445. package/build/require/type/intrinsic/intrinsic.js +43 -1
  446. package/build/require/type/intrinsic/lowercase.d.ts +1 -0
  447. package/build/require/type/intrinsic/lowercase.js +28 -0
  448. package/build/require/type/intrinsic/uncapitalize.d.ts +1 -0
  449. package/build/require/type/intrinsic/uncapitalize.js +28 -0
  450. package/build/require/type/intrinsic/uppercase.d.ts +1 -0
  451. package/build/require/type/intrinsic/uppercase.js +28 -0
  452. package/build/require/type/iterator/index.js +27 -0
  453. package/build/require/type/iterator/iterator.d.ts +1 -0
  454. package/build/require/type/iterator/iterator.js +28 -0
  455. package/build/require/type/keyof/index.js +27 -0
  456. package/build/require/type/keyof/keyof-from-mapped-result.js +30 -0
  457. package/build/require/type/keyof/keyof-property-keys.d.ts +2 -0
  458. package/build/require/type/keyof/keyof-property-keys.js +47 -0
  459. package/build/require/type/keyof/keyof.d.ts +2 -0
  460. package/build/require/type/keyof/keyof.js +33 -0
  461. package/build/require/type/literal/index.js +27 -0
  462. package/build/require/type/literal/literal.d.ts +1 -0
  463. package/build/require/type/literal/literal.js +28 -0
  464. package/build/require/type/mapped/index.js +27 -0
  465. package/build/require/type/mapped/mapped-key.js +28 -0
  466. package/build/require/type/mapped/mapped-result.js +28 -0
  467. package/build/require/type/mapped/mapped.d.ts +2 -0
  468. package/build/require/type/mapped/mapped.js +46 -1
  469. package/build/require/type/modifiers/index.js +27 -0
  470. package/build/require/type/modifiers/modifiers.js +37 -0
  471. package/build/require/type/never/index.js +27 -0
  472. package/build/require/type/never/never.d.ts +1 -0
  473. package/build/require/type/never/never.js +28 -0
  474. package/build/require/type/not/index.js +27 -0
  475. package/build/require/type/not/not.d.ts +1 -0
  476. package/build/require/type/not/not.js +28 -0
  477. package/build/require/type/null/index.js +27 -0
  478. package/build/require/type/null/null.d.ts +1 -0
  479. package/build/require/type/null/null.js +28 -0
  480. package/build/require/type/number/index.js +27 -0
  481. package/build/require/type/number/number.d.ts +1 -0
  482. package/build/require/type/number/number.js +28 -0
  483. package/build/require/type/object/index.js +27 -0
  484. package/build/require/type/object/object.d.ts +5 -0
  485. package/build/require/type/object/object.js +33 -0
  486. package/build/require/type/omit/index.js +27 -0
  487. package/build/require/type/omit/omit-from-mapped-key.js +31 -0
  488. package/build/require/type/omit/omit.d.ts +3 -0
  489. package/build/require/type/omit/omit.js +39 -0
  490. package/build/require/type/operators/index.js +27 -0
  491. package/build/require/type/operators/operators.d.ts +8 -0
  492. package/build/require/type/operators/operators.js +42 -0
  493. package/build/require/type/optional/index.js +27 -0
  494. package/build/require/type/optional/optional.d.ts +1 -0
  495. package/build/require/type/optional/optional.js +28 -0
  496. package/build/require/type/parameters/index.js +27 -0
  497. package/build/require/type/parameters/parameters.d.ts +1 -0
  498. package/build/require/type/parameters/parameters.js +28 -0
  499. package/build/require/type/partial/index.js +27 -0
  500. package/build/require/type/partial/partial-from-mapped-result.js +30 -0
  501. package/build/require/type/partial/partial.d.ts +2 -0
  502. package/build/require/type/partial/partial.js +36 -0
  503. package/build/require/type/patterns/index.js +27 -0
  504. package/build/require/type/patterns/patterns.js +27 -0
  505. package/build/require/type/pick/index.js +27 -0
  506. package/build/require/type/pick/pick-from-mapped-key.js +31 -0
  507. package/build/require/type/pick/pick.d.ts +3 -0
  508. package/build/require/type/pick/pick.js +34 -0
  509. package/build/require/type/promise/index.js +27 -0
  510. package/build/require/type/promise/promise.d.ts +1 -0
  511. package/build/require/type/promise/promise.js +28 -0
  512. package/build/require/type/readonly/index.js +27 -0
  513. package/build/require/type/readonly/readonly.d.ts +1 -0
  514. package/build/require/type/readonly/readonly.js +28 -0
  515. package/build/require/type/readonly-optional/index.js +27 -0
  516. package/build/require/type/readonly-optional/readonly-optional.d.ts +1 -0
  517. package/build/require/type/readonly-optional/readonly-optional.js +28 -0
  518. package/build/require/type/record/index.js +27 -0
  519. package/build/require/type/record/record.d.ts +1 -0
  520. package/build/require/type/record/record.js +48 -0
  521. package/build/require/type/recursive/index.js +27 -0
  522. package/build/require/type/recursive/recursive.d.ts +1 -0
  523. package/build/require/type/recursive/recursive.js +30 -0
  524. package/build/require/type/ref/index.js +27 -0
  525. package/build/require/type/ref/ref.d.ts +2 -0
  526. package/build/require/type/ref/ref.js +28 -0
  527. package/build/require/type/regexp/index.js +27 -0
  528. package/build/require/type/regexp/regexp.d.ts +2 -0
  529. package/build/require/type/regexp/regexp.js +28 -0
  530. package/build/require/type/registry/format.d.ts +6 -0
  531. package/build/require/type/registry/format.js +34 -0
  532. package/build/require/type/registry/index.js +27 -0
  533. package/build/require/type/registry/type.d.ts +6 -0
  534. package/build/require/type/registry/type.js +34 -0
  535. package/build/require/type/required/index.js +27 -0
  536. package/build/require/type/required/required-from-mapped-result.js +30 -0
  537. package/build/require/type/required/required.d.ts +2 -0
  538. package/build/require/type/required/required.js +36 -0
  539. package/build/require/type/rest/index.js +27 -0
  540. package/build/require/type/rest/rest.d.ts +1 -0
  541. package/build/require/type/rest/rest.js +32 -0
  542. package/build/require/type/return-type/index.js +27 -0
  543. package/build/require/type/return-type/return-type.d.ts +1 -0
  544. package/build/require/type/return-type/return-type.js +28 -0
  545. package/build/require/type/schema/anyschema.js +27 -0
  546. package/build/require/type/schema/index.js +27 -0
  547. package/build/require/type/schema/schema.d.ts +7 -0
  548. package/build/require/type/schema/schema.js +27 -0
  549. package/build/require/type/static/index.js +27 -0
  550. package/build/require/type/static/static.d.ts +3 -0
  551. package/build/require/type/static/static.js +27 -0
  552. package/build/require/type/strict/index.js +27 -0
  553. package/build/require/type/strict/strict.d.ts +1 -0
  554. package/build/require/type/strict/strict.js +28 -0
  555. package/build/require/type/string/index.js +27 -0
  556. package/build/require/type/string/string.d.ts +7 -0
  557. package/build/require/type/string/string.js +28 -0
  558. package/build/require/type/symbol/index.js +27 -0
  559. package/build/require/type/symbol/symbol.d.ts +1 -0
  560. package/build/require/type/symbol/symbol.js +28 -0
  561. package/build/require/type/symbols/index.js +27 -0
  562. package/build/require/type/symbols/symbols.d.ts +5 -0
  563. package/build/require/type/symbols/symbols.js +32 -0
  564. package/build/require/type/template-literal/finite.js +37 -0
  565. package/build/require/type/template-literal/generate.js +37 -0
  566. package/build/require/type/template-literal/index.js +27 -0
  567. package/build/require/type/template-literal/parser.d.ts +2 -0
  568. package/build/require/type/template-literal/parser.js +44 -0
  569. package/build/require/type/template-literal/pattern.js +38 -0
  570. package/build/require/type/template-literal/syntax.d.ts +1 -0
  571. package/build/require/type/template-literal/syntax.js +35 -0
  572. package/build/require/type/template-literal/template-literal.d.ts +2 -0
  573. package/build/require/type/template-literal/template-literal.js +29 -0
  574. package/build/require/type/template-literal/union.d.ts +1 -0
  575. package/build/require/type/template-literal/union.js +31 -0
  576. package/build/require/type/transform/index.js +27 -0
  577. package/build/require/type/transform/transform.d.ts +1 -0
  578. package/build/require/type/transform/transform.js +36 -0
  579. package/build/require/type/tuple/index.js +27 -0
  580. package/build/require/type/tuple/tuple.d.ts +1 -0
  581. package/build/require/type/tuple/tuple.js +30 -0
  582. package/build/require/type/type/index.d.ts +1 -0
  583. package/build/require/type/type/index.js +34 -0
  584. package/build/require/type/type/javascript.d.ts +19 -0
  585. package/build/require/type/type/javascript.js +45 -0
  586. package/build/require/type/type/json.d.ts +62 -1
  587. package/build/require/type/type/json.js +82 -1
  588. package/build/require/type/type/type.js +30 -0
  589. package/build/require/type/uint8array/index.js +27 -0
  590. package/build/require/type/uint8array/uint8array.d.ts +1 -0
  591. package/build/require/type/uint8array/uint8array.js +28 -0
  592. package/build/require/type/undefined/index.js +27 -0
  593. package/build/require/type/undefined/undefined.d.ts +1 -0
  594. package/build/require/type/undefined/undefined.js +28 -0
  595. package/build/require/type/union/index.js +27 -0
  596. package/build/require/type/union/union-create.js +27 -0
  597. package/build/require/type/union/union-evaluated.d.ts +1 -0
  598. package/build/require/type/union/union-evaluated.js +37 -0
  599. package/build/require/type/union/union-type.js +27 -0
  600. package/build/require/type/union/union.d.ts +1 -0
  601. package/build/require/type/union/union.js +29 -0
  602. package/build/require/type/unknown/index.js +27 -0
  603. package/build/require/type/unknown/unknown.d.ts +1 -0
  604. package/build/require/type/unknown/unknown.js +28 -0
  605. package/build/require/type/unsafe/index.js +27 -0
  606. package/build/require/type/unsafe/unsafe.d.ts +1 -0
  607. package/build/require/type/unsafe/unsafe.js +28 -0
  608. package/build/require/type/void/index.js +27 -0
  609. package/build/require/type/void/void.d.ts +1 -0
  610. package/build/require/type/void/void.js +28 -0
  611. package/build/require/value/cast/cast.d.ts +2 -0
  612. package/build/require/value/cast/cast.js +55 -0
  613. package/build/require/value/cast/index.js +27 -0
  614. package/build/require/value/check/check.d.ts +2 -0
  615. package/build/require/value/check/check.js +46 -1
  616. package/build/require/value/check/index.js +27 -0
  617. package/build/require/value/clean/clean.d.ts +2 -0
  618. package/build/require/value/clean/clean.js +39 -1
  619. package/build/require/value/clean/index.js +27 -0
  620. package/build/require/value/clone/clone.d.ts +1 -0
  621. package/build/require/value/clone/clone.js +34 -0
  622. package/build/require/value/clone/index.js +27 -0
  623. package/build/require/value/convert/convert.d.ts +2 -0
  624. package/build/require/value/convert/convert.js +57 -1
  625. package/build/require/value/convert/index.js +27 -0
  626. package/build/require/value/create/create.d.ts +2 -0
  627. package/build/require/value/create/create.js +44 -0
  628. package/build/require/value/create/index.js +27 -0
  629. package/build/require/value/default/default.d.ts +2 -0
  630. package/build/require/value/default/default.js +46 -0
  631. package/build/require/value/default/index.js +27 -0
  632. package/build/require/value/delta/delta.js +42 -0
  633. package/build/require/value/delta/index.js +27 -0
  634. package/build/require/value/deref/deref.d.ts +1 -0
  635. package/build/require/value/deref/deref.js +28 -0
  636. package/build/require/value/deref/index.js +27 -0
  637. package/build/require/value/equal/equal.d.ts +1 -0
  638. package/build/require/value/equal/equal.js +34 -0
  639. package/build/require/value/equal/index.js +27 -0
  640. package/build/require/value/guard/guard.d.ts +20 -0
  641. package/build/require/value/guard/guard.js +57 -0
  642. package/build/require/value/guard/index.js +27 -0
  643. package/build/require/value/hash/hash.d.ts +1 -0
  644. package/build/require/value/hash/hash.js +46 -0
  645. package/build/require/value/hash/index.js +27 -0
  646. package/build/require/value/index.js +39 -0
  647. package/build/require/value/mutate/index.js +27 -0
  648. package/build/require/value/mutate/mutate.d.ts +1 -0
  649. package/build/require/value/mutate/mutate.js +38 -0
  650. package/build/require/value/pointer/index.js +27 -0
  651. package/build/require/value/pointer/pointer.d.ts +5 -0
  652. package/build/require/value/pointer/pointer.js +45 -0
  653. package/build/require/value/transform/decode.d.ts +5 -0
  654. package/build/require/value/transform/decode.js +50 -0
  655. package/build/require/value/transform/encode.d.ts +6 -0
  656. package/build/require/value/transform/encode.js +52 -0
  657. package/build/require/value/transform/has.d.ts +1 -0
  658. package/build/require/value/transform/has.js +43 -0
  659. package/build/require/value/transform/index.js +27 -0
  660. package/build/require/value/value/index.js +27 -0
  661. package/build/require/value/value/value.d.ts +24 -0
  662. package/build/require/value/value/value.js +42 -0
  663. package/package.json +1 -1
  664. package/readme.md +2 -3
@@ -1,5 +1,37 @@
1
+ /*--------------------------------------------------------------------------
2
+
3
+ @sinclair/typebox/type
4
+
5
+ The MIT License (MIT)
6
+
7
+ Copyright (c) 2017-2023 Haydn Paterson (sinclair) <haydn.developer@gmail.com>
8
+
9
+ Permission is hereby granted, free of charge, to any person obtaining a copy
10
+ of this software and associated documentation files (the "Software"), to deal
11
+ in the Software without restriction, including without limitation the rights
12
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
13
+ copies of the Software, and to permit persons to whom the Software is
14
+ furnished to do so, subject to the following conditions:
15
+
16
+ The above copyright notice and this permission notice shall be included in
17
+ all copies or substantial portions of the Software.
18
+
19
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
22
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
24
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
25
+ THE SOFTWARE.
26
+
27
+ ---------------------------------------------------------------------------*/
1
28
  import { TemplateLiteralParseExact, IsTemplateLiteralFinite, TemplateLiteralToUnion } from '../template-literal/index.mjs';
29
+ // ------------------------------------------------------------------
30
+ // TypeGuard
31
+ // ------------------------------------------------------------------
32
+ // prettier-ignore
2
33
  import { TTemplateLiteral as IsTemplateLiteralType, TUnionLiteral as IsUnionLiteralType, TUnion as IsUnionType, TLiteral as IsLiteralType, TNumber as IsNumberType, TInteger as IsIntegerType } from '../guard/type.mjs';
34
+ // prettier-ignore
3
35
  function FromTemplateLiteral(T) {
4
36
  const E = TemplateLiteralParseExact(T.pattern);
5
37
  const F = IsTemplateLiteralFinite(E);
@@ -10,15 +42,19 @@ function FromTemplateLiteral(T) {
10
42
  : []
11
43
  : []);
12
44
  }
45
+ // prettier-ignore
13
46
  function FromUnion(T) {
14
47
  const [L, ...R] = T;
15
48
  return (T.length > 0
16
49
  ? [...IndexPropertyKeys(L), ...FromUnion(R)]
17
50
  : []);
18
51
  }
52
+ // prettier-ignore
19
53
  function FromLiteral(T) {
20
54
  return ([T.toString()]);
21
55
  }
56
+ /** Returns a tuple of PropertyKeys derived from the given TSchema */
57
+ // prettier-ignore
22
58
  export function IndexPropertyKeys(T) {
23
59
  return [...new Set((IsTemplateLiteralType(T) ? FromTemplateLiteral(T) :
24
60
  IsUnionType(T) ? FromUnion(T.anyOf) :
@@ -1,14 +1,47 @@
1
+ /*--------------------------------------------------------------------------
2
+
3
+ @sinclair/typebox/type
4
+
5
+ The MIT License (MIT)
6
+
7
+ Copyright (c) 2017-2023 Haydn Paterson (sinclair) <haydn.developer@gmail.com>
8
+
9
+ Permission is hereby granted, free of charge, to any person obtaining a copy
10
+ of this software and associated documentation files (the "Software"), to deal
11
+ in the Software without restriction, including without limitation the rights
12
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
13
+ copies of the Software, and to permit persons to whom the Software is
14
+ furnished to do so, subject to the following conditions:
15
+
16
+ The above copyright notice and this permission notice shall be included in
17
+ all copies or substantial portions of the Software.
18
+
19
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
22
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
24
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
25
+ THE SOFTWARE.
26
+
27
+ ---------------------------------------------------------------------------*/
1
28
  import { Never } from '../never/index.mjs';
2
29
  import { IntersectEvaluated } from '../intersect/index.mjs';
3
30
  import { UnionEvaluated } from '../union/index.mjs';
4
31
  import { CloneType } from '../clone/type.mjs';
32
+ // ------------------------------------------------------------------
33
+ // TypeGuard
34
+ // ------------------------------------------------------------------
35
+ // prettier-ignore
5
36
  import { TArray as IsArrayType, TIntersect as IsIntersectType, TObject as IsObjectType, TNever as IsNeverType, TTuple as IsTupleType, TUnion as IsUnionType } from '../guard/type.mjs';
37
+ // prettier-ignore
6
38
  function FromRest(T, K) {
7
39
  const [L, ...R] = T;
8
40
  return (T.length > 0
9
41
  ? [FromKey(L, K), ...FromRest(R, K)]
10
42
  : []);
11
43
  }
44
+ // prettier-ignore
12
45
  function FromIntersectRest(T) {
13
46
  const [L, ...R] = T;
14
47
  return (T.length > 0
@@ -17,9 +50,11 @@ function FromIntersectRest(T) {
17
50
  : [L, ...FromIntersectRest(R)]
18
51
  : []);
19
52
  }
53
+ // prettier-ignore
20
54
  function FromIntersect(T, K) {
21
55
  return (IntersectEvaluated(FromIntersectRest(FromRest(T, K))));
22
56
  }
57
+ // prettier-ignore
23
58
  function FromUnionRest(T, S = T) {
24
59
  const [L, ...R] = T;
25
60
  return (T.length > 0
@@ -28,24 +63,29 @@ function FromUnionRest(T, S = T) {
28
63
  : FromUnionRest(R, S)
29
64
  : S);
30
65
  }
66
+ // prettier-ignore
31
67
  function FromUnion(T, K) {
32
68
  return (UnionEvaluated(FromUnionRest(FromRest(T, K))));
33
69
  }
70
+ // prettier-ignore
34
71
  function FromTuple(T, K) {
35
72
  return (K in T ? T[K] :
36
73
  K === '[number]' ? UnionEvaluated(T) :
37
74
  Never());
38
75
  }
76
+ // prettier-ignore
39
77
  function FromArray(T, K) {
40
78
  return (K === '[number]'
41
79
  ? T
42
80
  : Never());
43
81
  }
82
+ // prettier-ignore
44
83
  function FromProperty(T, K) {
45
84
  return (K in T
46
85
  ? T[K]
47
86
  : Never());
48
87
  }
88
+ // prettier-ignore
49
89
  function FromKey(T, K) {
50
90
  return (IsIntersectType(T) ? FromIntersect(T.allOf, K) :
51
91
  IsUnionType(T) ? FromUnion(T.anyOf, K) :
@@ -54,12 +94,14 @@ function FromKey(T, K) {
54
94
  IsObjectType(T) ? FromProperty(T.properties, K) :
55
95
  Never());
56
96
  }
97
+ // prettier-ignore
57
98
  function FromKeys(T, K) {
58
99
  const [L, ...R] = K;
59
100
  return (K.length > 0
60
101
  ? [FromKey(T, L), ...FromKeys(T, R)]
61
102
  : []);
62
103
  }
104
+ // prettier-ignore
63
105
  export function IndexResult(T, K, options) {
64
106
  return (CloneType(UnionEvaluated(FromKeys(T, K)), options));
65
107
  }
@@ -4,6 +4,9 @@ import { type TIndexPropertyKeys } from './indexed-property-keys.mjs';
4
4
  import { type TIndexFromMappedKey } from './indexed-from-mapped-key.mjs';
5
5
  import { TMappedKey } from '../mapped/index.mjs';
6
6
  export type TIndex<T extends TSchema, K extends PropertyKey[]> = TIndexResult<T, K>;
7
+ /** `[Json]` Returns an indexed mapped key result */
7
8
  export declare function Index<T extends TSchema, K extends TMappedKey>(T: T, K: K, options?: SchemaOptions): TIndexFromMappedKey<T, K>;
9
+ /** `[Json]` Returns an Indexed property type for the given keys */
8
10
  export declare function Index<T extends TSchema, K extends TSchema, I extends PropertyKey[] = TIndexPropertyKeys<K>>(T: T, K: K, options?: SchemaOptions): TIndex<T, I>;
11
+ /** `[Json]` Returns an Indexed property type for the given keys */
9
12
  export declare function Index<T extends TSchema, K extends PropertyKey[]>(T: T, K: readonly [...K], options?: SchemaOptions): TIndex<T, K>;
@@ -1,9 +1,42 @@
1
+ /*--------------------------------------------------------------------------
2
+
3
+ @sinclair/typebox/type
4
+
5
+ The MIT License (MIT)
6
+
7
+ Copyright (c) 2017-2023 Haydn Paterson (sinclair) <haydn.developer@gmail.com>
8
+
9
+ Permission is hereby granted, free of charge, to any person obtaining a copy
10
+ of this software and associated documentation files (the "Software"), to deal
11
+ in the Software without restriction, including without limitation the rights
12
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
13
+ copies of the Software, and to permit persons to whom the Software is
14
+ furnished to do so, subject to the following conditions:
15
+
16
+ The above copyright notice and this permission notice shall be included in
17
+ all copies or substantial portions of the Software.
18
+
19
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
22
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
24
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
25
+ THE SOFTWARE.
26
+
27
+ ---------------------------------------------------------------------------*/
1
28
  import { IndexResult } from './indexed-result.mjs';
2
29
  import { IndexPropertyKeys } from './indexed-property-keys.mjs';
3
30
  import { IndexFromMappedKey } from './indexed-from-mapped-key.mjs';
4
31
  import { CloneType } from '../clone/type.mjs';
32
+ // ------------------------------------------------------------------
33
+ // TypeGuard
34
+ // ------------------------------------------------------------------
35
+ // prettier-ignore
5
36
  import { TMappedKey as IsMappedKey, TSchema as IsSchemaType } from '../guard/type.mjs';
37
+ /** `[Json]` Returns an Indexed property type for the given keys */
6
38
  export function Index(T, K, options = {}) {
39
+ // prettier-ignore
7
40
  return (IsMappedKey(K) ? CloneType(IndexFromMappedKey(T, K, options)) :
8
41
  IsSchemaType(K) ? IndexResult(T, IndexPropertyKeys(K), options) :
9
42
  IndexResult(T, K, options));
@@ -1 +1,28 @@
1
+ /*--------------------------------------------------------------------------
2
+
3
+ @sinclair/typebox/type
4
+
5
+ The MIT License (MIT)
6
+
7
+ Copyright (c) 2017-2023 Haydn Paterson (sinclair) <haydn.developer@gmail.com>
8
+
9
+ Permission is hereby granted, free of charge, to any person obtaining a copy
10
+ of this software and associated documentation files (the "Software"), to deal
11
+ in the Software without restriction, including without limitation the rights
12
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
13
+ copies of the Software, and to permit persons to whom the Software is
14
+ furnished to do so, subject to the following conditions:
15
+
16
+ The above copyright notice and this permission notice shall be included in
17
+ all copies or substantial portions of the Software.
18
+
19
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
22
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
24
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
25
+ THE SOFTWARE.
26
+
27
+ ---------------------------------------------------------------------------*/
1
28
  export * from './instance-type.mjs';
@@ -1,4 +1,5 @@
1
1
  import type { TSchema, SchemaOptions } from '../schema/index.mjs';
2
2
  import type { TConstructor } from '../constructor/index.mjs';
3
3
  export type TInstanceType<T extends TConstructor<TSchema[], TSchema>> = T['returns'];
4
+ /** `[JavaScript]` Extracts the InstanceType from the given Constructor type */
4
5
  export declare function InstanceType<T extends TConstructor<any[], any>>(schema: T, options?: SchemaOptions): TInstanceType<T>;
@@ -1,4 +1,32 @@
1
+ /*--------------------------------------------------------------------------
2
+
3
+ @sinclair/typebox/type
4
+
5
+ The MIT License (MIT)
6
+
7
+ Copyright (c) 2017-2023 Haydn Paterson (sinclair) <haydn.developer@gmail.com>
8
+
9
+ Permission is hereby granted, free of charge, to any person obtaining a copy
10
+ of this software and associated documentation files (the "Software"), to deal
11
+ in the Software without restriction, including without limitation the rights
12
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
13
+ copies of the Software, and to permit persons to whom the Software is
14
+ furnished to do so, subject to the following conditions:
15
+
16
+ The above copyright notice and this permission notice shall be included in
17
+ all copies or substantial portions of the Software.
18
+
19
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
22
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
24
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
25
+ THE SOFTWARE.
26
+
27
+ ---------------------------------------------------------------------------*/
1
28
  import { CloneType } from '../clone/type.mjs';
29
+ /** `[JavaScript]` Extracts the InstanceType from the given Constructor type */
2
30
  export function InstanceType(schema, options = {}) {
3
31
  return CloneType(schema.returns, options);
4
32
  }
@@ -1 +1,28 @@
1
+ /*--------------------------------------------------------------------------
2
+
3
+ @sinclair/typebox/type
4
+
5
+ The MIT License (MIT)
6
+
7
+ Copyright (c) 2017-2023 Haydn Paterson (sinclair) <haydn.developer@gmail.com>
8
+
9
+ Permission is hereby granted, free of charge, to any person obtaining a copy
10
+ of this software and associated documentation files (the "Software"), to deal
11
+ in the Software without restriction, including without limitation the rights
12
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
13
+ copies of the Software, and to permit persons to whom the Software is
14
+ furnished to do so, subject to the following conditions:
15
+
16
+ The above copyright notice and this permission notice shall be included in
17
+ all copies or substantial portions of the Software.
18
+
19
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
22
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
24
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
25
+ THE SOFTWARE.
26
+
27
+ ---------------------------------------------------------------------------*/
1
28
  export * from './integer.mjs';
@@ -12,4 +12,5 @@ export interface TInteger extends TSchema, IntegerOptions {
12
12
  static: number;
13
13
  type: 'integer';
14
14
  }
15
+ /** `[Json]` Creates an Integer type */
15
16
  export declare function Integer(options?: IntegerOptions): TInteger;
@@ -1,4 +1,32 @@
1
+ /*--------------------------------------------------------------------------
2
+
3
+ @sinclair/typebox/type
4
+
5
+ The MIT License (MIT)
6
+
7
+ Copyright (c) 2017-2023 Haydn Paterson (sinclair) <haydn.developer@gmail.com>
8
+
9
+ Permission is hereby granted, free of charge, to any person obtaining a copy
10
+ of this software and associated documentation files (the "Software"), to deal
11
+ in the Software without restriction, including without limitation the rights
12
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
13
+ copies of the Software, and to permit persons to whom the Software is
14
+ furnished to do so, subject to the following conditions:
15
+
16
+ The above copyright notice and this permission notice shall be included in
17
+ all copies or substantial portions of the Software.
18
+
19
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
22
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
24
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
25
+ THE SOFTWARE.
26
+
27
+ ---------------------------------------------------------------------------*/
1
28
  import { Kind } from '../symbols/index.mjs';
29
+ /** `[Json]` Creates an Integer type */
2
30
  export function Integer(options = {}) {
3
31
  return {
4
32
  ...options,
@@ -1,3 +1,30 @@
1
+ /*--------------------------------------------------------------------------
2
+
3
+ @sinclair/typebox/type
4
+
5
+ The MIT License (MIT)
6
+
7
+ Copyright (c) 2017-2023 Haydn Paterson (sinclair) <haydn.developer@gmail.com>
8
+
9
+ Permission is hereby granted, free of charge, to any person obtaining a copy
10
+ of this software and associated documentation files (the "Software"), to deal
11
+ in the Software without restriction, including without limitation the rights
12
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
13
+ copies of the Software, and to permit persons to whom the Software is
14
+ furnished to do so, subject to the following conditions:
15
+
16
+ The above copyright notice and this permission notice shall be included in
17
+ all copies or substantial portions of the Software.
18
+
19
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
22
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
24
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
25
+ THE SOFTWARE.
26
+
27
+ ---------------------------------------------------------------------------*/
1
28
  export * from './intersect-evaluated.mjs';
2
29
  export * from './intersect-type.mjs';
3
30
  export * from './intersect.mjs';
@@ -1,6 +1,41 @@
1
+ /*--------------------------------------------------------------------------
2
+
3
+ @sinclair/typebox/type
4
+
5
+ The MIT License (MIT)
6
+
7
+ Copyright (c) 2017-2023 Haydn Paterson (sinclair) <haydn.developer@gmail.com>
8
+
9
+ Permission is hereby granted, free of charge, to any person obtaining a copy
10
+ of this software and associated documentation files (the "Software"), to deal
11
+ in the Software without restriction, including without limitation the rights
12
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
13
+ copies of the Software, and to permit persons to whom the Software is
14
+ furnished to do so, subject to the following conditions:
15
+
16
+ The above copyright notice and this permission notice shall be included in
17
+ all copies or substantial portions of the Software.
18
+
19
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
22
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
24
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
25
+ THE SOFTWARE.
26
+
27
+ ---------------------------------------------------------------------------*/
1
28
  import { Kind } from '../symbols/index.mjs';
2
29
  import { CloneType, CloneRest } from '../clone/type.mjs';
30
+ // ------------------------------------------------------------------
31
+ // TypeGuard
32
+ // ------------------------------------------------------------------
33
+ // prettier-ignore
3
34
  import { TObject as IsObjectType, TSchema as IsSchemaType } from '../guard/type.mjs';
35
+ // ------------------------------------------------------------------
36
+ // IntersectCreate
37
+ // ------------------------------------------------------------------
38
+ // prettier-ignore
4
39
  export function IntersectCreate(T, options) {
5
40
  const allObjects = T.every((schema) => IsObjectType(schema));
6
41
  const clonedUnevaluatedProperties = IsSchemaType(options.unevaluatedProperties)
@@ -12,5 +12,6 @@ declare function RemoveOptionalFromType<T extends TSchema>(T: T): RemoveOptional
12
12
  type ResolveIntersect<T extends TSchema[]> = (IsIntersectOptional<T> extends true ? TOptional<TIntersect<RemoveOptionalFromRest<T>>> : TIntersect<RemoveOptionalFromRest<T>>);
13
13
  declare function ResolveIntersect<T extends TSchema[]>(T: [...T], options: SchemaOptions): ResolveIntersect<T>;
14
14
  export type IntersectEvaluated<T extends TSchema[]> = (T extends [] ? TNever : T extends [TSchema] ? T[0] : ResolveIntersect<T>);
15
+ /** `[Json]` Creates an evaluated Intersect type */
15
16
  export declare function IntersectEvaluated<T extends TSchema[], R = IntersectEvaluated<T>>(T: [...T], options?: IntersectOptions): R;
16
17
  export {};
@@ -1,10 +1,42 @@
1
+ /*--------------------------------------------------------------------------
2
+
3
+ @sinclair/typebox/type
4
+
5
+ The MIT License (MIT)
6
+
7
+ Copyright (c) 2017-2023 Haydn Paterson (sinclair) <haydn.developer@gmail.com>
8
+
9
+ Permission is hereby granted, free of charge, to any person obtaining a copy
10
+ of this software and associated documentation files (the "Software"), to deal
11
+ in the Software without restriction, including without limitation the rights
12
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
13
+ copies of the Software, and to permit persons to whom the Software is
14
+ furnished to do so, subject to the following conditions:
15
+
16
+ The above copyright notice and this permission notice shall be included in
17
+ all copies or substantial portions of the Software.
18
+
19
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
22
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
24
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
25
+ THE SOFTWARE.
26
+
27
+ ---------------------------------------------------------------------------*/
1
28
  import { OptionalKind } from '../symbols/index.mjs';
2
29
  import { CloneType } from '../clone/type.mjs';
3
30
  import { Discard } from '../discard/index.mjs';
4
31
  import { Never } from '../never/index.mjs';
5
32
  import { Optional } from '../optional/index.mjs';
6
33
  import { IntersectCreate } from './intersect-create.mjs';
34
+ // ------------------------------------------------------------------
35
+ // TypeGuard
36
+ // ------------------------------------------------------------------
37
+ // prettier-ignore
7
38
  import { TOptional as IsOptionalType, TTransform as IsTransformType, } from '../guard/type.mjs';
39
+ // prettier-ignore
8
40
  function IsIntersectOptional(T) {
9
41
  const [L, ...R] = T;
10
42
  return (T.length > 0
@@ -13,17 +45,21 @@ function IsIntersectOptional(T) {
13
45
  : false
14
46
  : true);
15
47
  }
48
+ // prettier-ignore
16
49
  function RemoveOptionalFromRest(T) {
17
50
  return (T.map(T => RemoveOptionalFromType(T)));
18
51
  }
52
+ // prettier-ignore
19
53
  function RemoveOptionalFromType(T) {
20
54
  return (Discard(T, [OptionalKind]));
21
55
  }
56
+ // prettier-ignore
22
57
  function ResolveIntersect(T, options) {
23
58
  return (IsIntersectOptional(T)
24
59
  ? Optional(IntersectCreate(RemoveOptionalFromRest(T), options))
25
60
  : IntersectCreate(RemoveOptionalFromRest(T), options));
26
61
  }
62
+ /** `[Json]` Creates an evaluated Intersect type */
27
63
  export function IntersectEvaluated(T, options = {}) {
28
64
  if (T.length === 0)
29
65
  return Never(options);
@@ -1 +1,28 @@
1
+ /*--------------------------------------------------------------------------
2
+
3
+ @sinclair/typebox/type
4
+
5
+ The MIT License (MIT)
6
+
7
+ Copyright (c) 2017-2023 Haydn Paterson (sinclair) <haydn.developer@gmail.com>
8
+
9
+ Permission is hereby granted, free of charge, to any person obtaining a copy
10
+ of this software and associated documentation files (the "Software"), to deal
11
+ in the Software without restriction, including without limitation the rights
12
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
13
+ copies of the Software, and to permit persons to whom the Software is
14
+ furnished to do so, subject to the following conditions:
15
+
16
+ The above copyright notice and this permission notice shall be included in
17
+ all copies or substantial portions of the Software.
18
+
19
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
22
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
24
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
25
+ THE SOFTWARE.
26
+
27
+ ---------------------------------------------------------------------------*/
1
28
  import { Kind } from '../symbols/index.mjs';
@@ -2,4 +2,5 @@ import type { TSchema } from '../schema/index.mjs';
2
2
  import { type TNever } from '../never/index.mjs';
3
3
  import { TIntersect, IntersectOptions } from './intersect-type.mjs';
4
4
  export type Intersect<T extends TSchema[]> = (T extends [] ? TNever : T extends [TSchema] ? T[0] : TIntersect<T>);
5
+ /** `[Json]` Creates an evaluated Intersect type */
5
6
  export declare function Intersect<T extends TSchema[]>(T: [...T], options?: IntersectOptions): Intersect<T>;
@@ -1,7 +1,39 @@
1
+ /*--------------------------------------------------------------------------
2
+
3
+ @sinclair/typebox/type
4
+
5
+ The MIT License (MIT)
6
+
7
+ Copyright (c) 2017-2023 Haydn Paterson (sinclair) <haydn.developer@gmail.com>
8
+
9
+ Permission is hereby granted, free of charge, to any person obtaining a copy
10
+ of this software and associated documentation files (the "Software"), to deal
11
+ in the Software without restriction, including without limitation the rights
12
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
13
+ copies of the Software, and to permit persons to whom the Software is
14
+ furnished to do so, subject to the following conditions:
15
+
16
+ The above copyright notice and this permission notice shall be included in
17
+ all copies or substantial portions of the Software.
18
+
19
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
22
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
24
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
25
+ THE SOFTWARE.
26
+
27
+ ---------------------------------------------------------------------------*/
1
28
  import { CloneType } from '../clone/type.mjs';
2
29
  import { Never } from '../never/index.mjs';
3
30
  import { IntersectCreate } from './intersect-create.mjs';
31
+ // ------------------------------------------------------------------
32
+ // TypeGuard
33
+ // ------------------------------------------------------------------
34
+ // prettier-ignore
4
35
  import { TTransform as IsTransformType, } from '../guard/type.mjs';
36
+ /** `[Json]` Creates an evaluated Intersect type */
5
37
  export function Intersect(T, options = {}) {
6
38
  if (T.length === 0)
7
39
  return Never(options);
@@ -1,4 +1,5 @@
1
1
  import { TSchema, SchemaOptions } from '../schema/index.mjs';
2
2
  import { TIntrinsic } from './intrinsic.mjs';
3
3
  export type TCapitalize<T extends TSchema> = TIntrinsic<T, 'Capitalize'>;
4
+ /** `[Json]` Intrinsic function to Capitalize LiteralString types */
4
5
  export declare function Capitalize<T extends TSchema>(T: T, options?: SchemaOptions): TCapitalize<T>;
@@ -1,4 +1,32 @@
1
+ /*--------------------------------------------------------------------------
2
+
3
+ @sinclair/typebox/type
4
+
5
+ The MIT License (MIT)
6
+
7
+ Copyright (c) 2017-2023 Haydn Paterson (sinclair) <haydn.developer@gmail.com>
8
+
9
+ Permission is hereby granted, free of charge, to any person obtaining a copy
10
+ of this software and associated documentation files (the "Software"), to deal
11
+ in the Software without restriction, including without limitation the rights
12
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
13
+ copies of the Software, and to permit persons to whom the Software is
14
+ furnished to do so, subject to the following conditions:
15
+
16
+ The above copyright notice and this permission notice shall be included in
17
+ all copies or substantial portions of the Software.
18
+
19
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
22
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
24
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
25
+ THE SOFTWARE.
26
+
27
+ ---------------------------------------------------------------------------*/
1
28
  import { Intrinsic } from './intrinsic.mjs';
29
+ /** `[Json]` Intrinsic function to Capitalize LiteralString types */
2
30
  export function Capitalize(T, options = {}) {
3
31
  return Intrinsic(T, 'Capitalize', options);
4
32
  }
@@ -1,3 +1,30 @@
1
+ /*--------------------------------------------------------------------------
2
+
3
+ @sinclair/typebox/type
4
+
5
+ The MIT License (MIT)
6
+
7
+ Copyright (c) 2017-2023 Haydn Paterson (sinclair) <haydn.developer@gmail.com>
8
+
9
+ Permission is hereby granted, free of charge, to any person obtaining a copy
10
+ of this software and associated documentation files (the "Software"), to deal
11
+ in the Software without restriction, including without limitation the rights
12
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
13
+ copies of the Software, and to permit persons to whom the Software is
14
+ furnished to do so, subject to the following conditions:
15
+
16
+ The above copyright notice and this permission notice shall be included in
17
+ all copies or substantial portions of the Software.
18
+
19
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
22
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
24
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
25
+ THE SOFTWARE.
26
+
27
+ ---------------------------------------------------------------------------*/
1
28
  export * from './capitalize.mjs';
2
29
  export * from './intrinsic-from-mapped-key.mjs';
3
30
  export * from './intrinsic.mjs';