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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (575) hide show
  1. package/build/import/compiler/compiler.d.mts +9 -0
  2. package/build/import/compiler/compiler.mjs +60 -6
  3. package/build/import/errors/errors.d.mts +3 -0
  4. package/build/import/errors/errors.mjs +28 -3
  5. package/build/import/errors/function.d.mts +3 -0
  6. package/build/import/errors/function.mjs +4 -0
  7. package/build/import/index.mjs +9 -0
  8. package/build/import/system/policy.d.mts +10 -0
  9. package/build/import/system/policy.mjs +13 -0
  10. package/build/import/system/system.d.mts +3 -0
  11. package/build/import/system/system.mjs +9 -0
  12. package/build/import/type/any/any.d.mts +1 -0
  13. package/build/import/type/any/any.mjs +1 -0
  14. package/build/import/type/array/array.d.mts +7 -0
  15. package/build/import/type/array/array.mjs +1 -0
  16. package/build/import/type/async-iterator/async-iterator.d.mts +1 -0
  17. package/build/import/type/async-iterator/async-iterator.mjs +1 -0
  18. package/build/import/type/awaited/awaited.d.mts +7 -6
  19. package/build/import/type/awaited/awaited.mjs +23 -13
  20. package/build/import/type/bigint/bigint.d.mts +1 -0
  21. package/build/import/type/bigint/bigint.mjs +1 -0
  22. package/build/import/type/boolean/boolean.d.mts +1 -0
  23. package/build/import/type/boolean/boolean.mjs +1 -0
  24. package/build/import/type/clone/type.d.mts +2 -0
  25. package/build/import/type/clone/type.mjs +2 -0
  26. package/build/import/type/clone/value.d.mts +1 -0
  27. package/build/import/type/clone/value.mjs +2 -0
  28. package/build/import/type/composite/composite.d.mts +1 -0
  29. package/build/import/type/composite/composite.mjs +1 -0
  30. package/build/import/type/const/const.d.mts +2 -1
  31. package/build/import/type/const/const.mjs +5 -1
  32. package/build/import/type/constructor/constructor.d.mts +1 -0
  33. package/build/import/type/constructor/constructor.mjs +1 -0
  34. package/build/import/type/constructor-parameters/constructor-parameters.d.mts +1 -0
  35. package/build/import/type/constructor-parameters/constructor-parameters.mjs +1 -0
  36. package/build/import/type/date/date.d.mts +6 -0
  37. package/build/import/type/date/date.mjs +1 -0
  38. package/build/import/type/deref/deref.d.mts +1 -0
  39. package/build/import/type/deref/deref.mjs +18 -0
  40. package/build/import/type/enum/enum.d.mts +1 -0
  41. package/build/import/type/enum/enum.mjs +1 -0
  42. package/build/import/type/exclude/exclude-from-mapped-result.mjs +3 -0
  43. package/build/import/type/exclude/exclude.d.mts +2 -0
  44. package/build/import/type/exclude/exclude.mjs +3 -0
  45. package/build/import/type/extends/extends-check.mjs +173 -1
  46. package/build/import/type/extends/extends-from-mapped-key.mjs +4 -0
  47. package/build/import/type/extends/extends-from-mapped-result.mjs +3 -0
  48. package/build/import/type/extends/extends-undefined.d.mts +1 -0
  49. package/build/import/type/extends/extends-undefined.mjs +3 -0
  50. package/build/import/type/extends/extends.d.mts +3 -0
  51. package/build/import/type/extends/extends.mjs +7 -0
  52. package/build/import/type/extract/extract-from-mapped-result.mjs +3 -0
  53. package/build/import/type/extract/extract.d.mts +2 -0
  54. package/build/import/type/extract/extract.mjs +3 -0
  55. package/build/import/type/function/function.d.mts +1 -0
  56. package/build/import/type/function/function.mjs +1 -0
  57. package/build/import/type/guard/type.d.mts +46 -0
  58. package/build/import/type/guard/type.mjs +84 -1
  59. package/build/import/type/guard/value.d.mts +14 -0
  60. package/build/import/type/guard/value.mjs +14 -0
  61. package/build/import/type/helpers/helpers.d.mts +1 -0
  62. package/build/import/type/helpers/helpers.mjs +1 -0
  63. package/build/import/type/indexed/index.d.mts +0 -1
  64. package/build/import/type/indexed/index.mjs +0 -1
  65. package/build/import/type/indexed/indexed-from-mapped-key.d.mts +2 -2
  66. package/build/import/type/indexed/indexed-from-mapped-key.mjs +10 -3
  67. package/build/import/type/indexed/indexed-property-keys.d.mts +1 -0
  68. package/build/import/type/indexed/indexed-property-keys.mjs +9 -0
  69. package/build/import/type/indexed/indexed.d.mts +40 -4
  70. package/build/import/type/indexed/indexed.mjs +84 -5
  71. package/build/import/type/instance-type/instance-type.d.mts +1 -0
  72. package/build/import/type/instance-type/instance-type.mjs +1 -0
  73. package/build/import/type/integer/integer.d.mts +1 -0
  74. package/build/import/type/integer/integer.mjs +1 -0
  75. package/build/import/type/intersect/intersect-create.mjs +8 -0
  76. package/build/import/type/intersect/intersect-evaluated.d.mts +1 -0
  77. package/build/import/type/intersect/intersect-evaluated.mjs +9 -0
  78. package/build/import/type/intersect/intersect.d.mts +1 -0
  79. package/build/import/type/intersect/intersect.mjs +5 -0
  80. package/build/import/type/intrinsic/capitalize.d.mts +1 -0
  81. package/build/import/type/intrinsic/capitalize.mjs +1 -0
  82. package/build/import/type/intrinsic/intrinsic-from-mapped-key.mjs +4 -0
  83. package/build/import/type/intrinsic/intrinsic.d.mts +2 -0
  84. package/build/import/type/intrinsic/intrinsic.mjs +16 -1
  85. package/build/import/type/intrinsic/lowercase.d.mts +1 -0
  86. package/build/import/type/intrinsic/lowercase.mjs +1 -0
  87. package/build/import/type/intrinsic/uncapitalize.d.mts +1 -0
  88. package/build/import/type/intrinsic/uncapitalize.mjs +1 -0
  89. package/build/import/type/intrinsic/uppercase.d.mts +1 -0
  90. package/build/import/type/intrinsic/uppercase.mjs +1 -0
  91. package/build/import/type/iterator/iterator.d.mts +1 -0
  92. package/build/import/type/iterator/iterator.mjs +1 -0
  93. package/build/import/type/keyof/keyof-from-mapped-result.mjs +3 -0
  94. package/build/import/type/keyof/keyof-property-keys.d.mts +2 -0
  95. package/build/import/type/keyof/keyof-property-keys.mjs +20 -0
  96. package/build/import/type/keyof/keyof.d.mts +2 -0
  97. package/build/import/type/keyof/keyof.mjs +6 -0
  98. package/build/import/type/literal/literal.d.mts +1 -0
  99. package/build/import/type/literal/literal.mjs +1 -0
  100. package/build/import/type/mapped/mapped-key.mjs +1 -0
  101. package/build/import/type/mapped/mapped-result.mjs +1 -0
  102. package/build/import/type/mapped/mapped.d.mts +2 -0
  103. package/build/import/type/mapped/mapped.mjs +19 -1
  104. package/build/import/type/modifiers/modifiers.mjs +10 -0
  105. package/build/import/type/never/never.d.mts +1 -0
  106. package/build/import/type/never/never.mjs +1 -0
  107. package/build/import/type/not/not.d.mts +1 -0
  108. package/build/import/type/not/not.mjs +1 -0
  109. package/build/import/type/null/null.d.mts +1 -0
  110. package/build/import/type/null/null.mjs +1 -0
  111. package/build/import/type/number/number.d.mts +1 -0
  112. package/build/import/type/number/number.mjs +1 -0
  113. package/build/import/type/object/object.d.mts +5 -0
  114. package/build/import/type/object/object.mjs +6 -0
  115. package/build/import/type/omit/omit-from-mapped-key.mjs +4 -0
  116. package/build/import/type/omit/omit.d.mts +3 -0
  117. package/build/import/type/omit/omit.mjs +12 -0
  118. package/build/import/type/operators/operators.d.mts +8 -0
  119. package/build/import/type/operators/operators.mjs +15 -0
  120. package/build/import/type/optional/optional.d.mts +1 -0
  121. package/build/import/type/optional/optional.mjs +1 -0
  122. package/build/import/type/parameters/parameters.d.mts +1 -0
  123. package/build/import/type/parameters/parameters.mjs +1 -0
  124. package/build/import/type/partial/partial-from-mapped-result.mjs +3 -0
  125. package/build/import/type/partial/partial.d.mts +2 -0
  126. package/build/import/type/partial/partial.mjs +9 -0
  127. package/build/import/type/pick/pick-from-mapped-key.mjs +4 -0
  128. package/build/import/type/pick/pick.d.mts +3 -0
  129. package/build/import/type/pick/pick.mjs +7 -0
  130. package/build/import/type/promise/promise.d.mts +1 -0
  131. package/build/import/type/promise/promise.mjs +1 -0
  132. package/build/import/type/readonly/readonly.d.mts +1 -0
  133. package/build/import/type/readonly/readonly.mjs +1 -0
  134. package/build/import/type/readonly-optional/readonly-optional.d.mts +1 -0
  135. package/build/import/type/readonly-optional/readonly-optional.mjs +1 -0
  136. package/build/import/type/record/record.d.mts +11 -9
  137. package/build/import/type/record/record.mjs +53 -28
  138. package/build/import/type/recursive/recursive.d.mts +1 -0
  139. package/build/import/type/recursive/recursive.mjs +3 -0
  140. package/build/import/type/ref/ref.d.mts +2 -0
  141. package/build/import/type/ref/ref.mjs +1 -0
  142. package/build/import/type/regexp/regexp.d.mts +2 -0
  143. package/build/import/type/regexp/regexp.mjs +1 -0
  144. package/build/import/type/registry/format.d.mts +6 -0
  145. package/build/import/type/registry/format.mjs +7 -0
  146. package/build/import/type/registry/type.d.mts +6 -0
  147. package/build/import/type/registry/type.mjs +7 -0
  148. package/build/import/type/required/required-from-mapped-result.mjs +3 -0
  149. package/build/import/type/required/required.d.mts +2 -0
  150. package/build/import/type/required/required.mjs +9 -0
  151. package/build/import/type/rest/rest.d.mts +1 -0
  152. package/build/import/type/rest/rest.mjs +5 -0
  153. package/build/import/type/return-type/return-type.d.mts +1 -0
  154. package/build/import/type/return-type/return-type.mjs +1 -0
  155. package/build/import/type/schema/schema.d.mts +7 -0
  156. package/build/import/type/static/static.d.mts +3 -0
  157. package/build/import/type/strict/strict.d.mts +1 -0
  158. package/build/import/type/strict/strict.mjs +1 -0
  159. package/build/import/type/string/string.d.mts +7 -0
  160. package/build/import/type/string/string.mjs +1 -0
  161. package/build/import/type/symbol/symbol.d.mts +1 -0
  162. package/build/import/type/symbol/symbol.mjs +1 -0
  163. package/build/import/type/symbols/symbols.d.mts +5 -0
  164. package/build/import/type/symbols/symbols.mjs +5 -0
  165. package/build/import/type/template-literal/finite.mjs +10 -0
  166. package/build/import/type/template-literal/generate.mjs +10 -0
  167. package/build/import/type/template-literal/parser.d.mts +2 -0
  168. package/build/import/type/template-literal/parser.mjs +17 -0
  169. package/build/import/type/template-literal/pattern.mjs +11 -0
  170. package/build/import/type/template-literal/syntax.d.mts +1 -0
  171. package/build/import/type/template-literal/syntax.mjs +8 -0
  172. package/build/import/type/template-literal/template-literal.d.mts +2 -0
  173. package/build/import/type/template-literal/template-literal.mjs +2 -0
  174. package/build/import/type/template-literal/union.d.mts +1 -0
  175. package/build/import/type/template-literal/union.mjs +4 -0
  176. package/build/import/type/transform/transform.d.mts +1 -0
  177. package/build/import/type/transform/transform.mjs +9 -0
  178. package/build/import/type/tuple/tuple.d.mts +1 -0
  179. package/build/import/type/tuple/tuple.mjs +3 -0
  180. package/build/import/type/type/index.d.mts +1 -0
  181. package/build/import/type/type/index.mjs +7 -0
  182. package/build/import/type/type/javascript.d.mts +19 -0
  183. package/build/import/type/type/javascript.mjs +18 -0
  184. package/build/import/type/type/json.d.mts +64 -3
  185. package/build/import/type/type/json.mjs +55 -1
  186. package/build/import/type/type/type.mjs +3 -0
  187. package/build/import/type/uint8array/uint8array.d.mts +1 -0
  188. package/build/import/type/uint8array/uint8array.mjs +1 -0
  189. package/build/import/type/undefined/undefined.d.mts +1 -0
  190. package/build/import/type/undefined/undefined.mjs +1 -0
  191. package/build/import/type/union/union-evaluated.d.mts +1 -0
  192. package/build/import/type/union/union-evaluated.mjs +10 -0
  193. package/build/import/type/union/union.d.mts +1 -0
  194. package/build/import/type/union/union.mjs +2 -0
  195. package/build/import/type/unknown/unknown.d.mts +1 -0
  196. package/build/import/type/unknown/unknown.mjs +1 -0
  197. package/build/import/type/unsafe/unsafe.d.mts +1 -0
  198. package/build/import/type/unsafe/unsafe.mjs +1 -0
  199. package/build/import/type/void/void.d.mts +1 -0
  200. package/build/import/type/void/void.mjs +1 -0
  201. package/build/import/value/cast/cast.d.mts +2 -0
  202. package/build/import/value/cast/cast.mjs +28 -0
  203. package/build/import/value/check/check.d.mts +2 -0
  204. package/build/import/value/check/check.mjs +19 -1
  205. package/build/import/value/clean/clean.d.mts +2 -0
  206. package/build/import/value/clean/clean.mjs +12 -1
  207. package/build/import/value/clone/clone.d.mts +1 -0
  208. package/build/import/value/clone/clone.mjs +7 -0
  209. package/build/import/value/convert/convert.d.mts +2 -0
  210. package/build/import/value/convert/convert.mjs +30 -1
  211. package/build/import/value/create/create.d.mts +2 -0
  212. package/build/import/value/create/create.mjs +17 -0
  213. package/build/import/value/default/default.d.mts +2 -0
  214. package/build/import/value/default/default.mjs +19 -0
  215. package/build/import/value/delta/delta.mjs +15 -0
  216. package/build/import/value/deref/deref.d.mts +1 -0
  217. package/build/import/value/deref/deref.mjs +1 -0
  218. package/build/import/value/equal/equal.d.mts +1 -0
  219. package/build/import/value/equal/equal.mjs +7 -0
  220. package/build/import/value/guard/guard.d.mts +20 -0
  221. package/build/import/value/guard/guard.mjs +30 -0
  222. package/build/import/value/hash/hash.d.mts +1 -0
  223. package/build/import/value/hash/hash.mjs +19 -0
  224. package/build/import/value/index.mjs +12 -0
  225. package/build/import/value/mutate/mutate.d.mts +1 -0
  226. package/build/import/value/mutate/mutate.mjs +11 -0
  227. package/build/import/value/pointer/pointer.d.mts +5 -0
  228. package/build/import/value/pointer/pointer.mjs +18 -0
  229. package/build/import/value/transform/decode.d.mts +5 -0
  230. package/build/import/value/transform/decode.mjs +23 -0
  231. package/build/import/value/transform/encode.d.mts +6 -0
  232. package/build/import/value/transform/encode.mjs +25 -0
  233. package/build/import/value/transform/has.d.mts +1 -0
  234. package/build/import/value/transform/has.mjs +16 -0
  235. package/build/import/value/value/value.d.mts +24 -0
  236. package/build/import/value/value/value.mjs +15 -0
  237. package/build/require/compiler/compiler.d.ts +9 -0
  238. package/build/require/compiler/compiler.js +61 -6
  239. package/build/require/compiler/index.js +1 -0
  240. package/build/require/errors/errors.d.ts +3 -0
  241. package/build/require/errors/errors.js +29 -3
  242. package/build/require/errors/function.d.ts +3 -0
  243. package/build/require/errors/function.js +5 -0
  244. package/build/require/errors/index.js +1 -0
  245. package/build/require/index.js +10 -0
  246. package/build/require/system/index.js +1 -0
  247. package/build/require/system/policy.d.ts +10 -0
  248. package/build/require/system/policy.js +14 -0
  249. package/build/require/system/system.d.ts +3 -0
  250. package/build/require/system/system.js +10 -0
  251. package/build/require/type/any/any.d.ts +1 -0
  252. package/build/require/type/any/any.js +2 -0
  253. package/build/require/type/any/index.js +1 -0
  254. package/build/require/type/array/array.d.ts +7 -0
  255. package/build/require/type/array/array.js +2 -0
  256. package/build/require/type/array/index.js +1 -0
  257. package/build/require/type/async-iterator/async-iterator.d.ts +1 -0
  258. package/build/require/type/async-iterator/async-iterator.js +2 -0
  259. package/build/require/type/async-iterator/index.js +1 -0
  260. package/build/require/type/awaited/awaited.d.ts +7 -6
  261. package/build/require/type/awaited/awaited.js +25 -15
  262. package/build/require/type/awaited/index.js +1 -0
  263. package/build/require/type/bigint/bigint.d.ts +1 -0
  264. package/build/require/type/bigint/bigint.js +2 -0
  265. package/build/require/type/bigint/index.js +1 -0
  266. package/build/require/type/boolean/boolean.d.ts +1 -0
  267. package/build/require/type/boolean/boolean.js +2 -0
  268. package/build/require/type/boolean/index.js +1 -0
  269. package/build/require/type/clone/index.js +1 -0
  270. package/build/require/type/clone/type.d.ts +2 -0
  271. package/build/require/type/clone/type.js +3 -0
  272. package/build/require/type/clone/value.d.ts +1 -0
  273. package/build/require/type/clone/value.js +3 -0
  274. package/build/require/type/composite/composite.d.ts +1 -0
  275. package/build/require/type/composite/composite.js +2 -0
  276. package/build/require/type/composite/index.js +1 -0
  277. package/build/require/type/const/const.d.ts +2 -1
  278. package/build/require/type/const/const.js +6 -1
  279. package/build/require/type/const/index.js +1 -0
  280. package/build/require/type/constructor/constructor.d.ts +1 -0
  281. package/build/require/type/constructor/constructor.js +2 -0
  282. package/build/require/type/constructor/index.js +1 -0
  283. package/build/require/type/constructor-parameters/constructor-parameters.d.ts +1 -0
  284. package/build/require/type/constructor-parameters/constructor-parameters.js +2 -0
  285. package/build/require/type/constructor-parameters/index.js +1 -0
  286. package/build/require/type/date/date.d.ts +6 -0
  287. package/build/require/type/date/date.js +2 -0
  288. package/build/require/type/date/index.js +1 -0
  289. package/build/require/type/deref/deref.d.ts +1 -0
  290. package/build/require/type/deref/deref.js +19 -0
  291. package/build/require/type/deref/index.js +1 -0
  292. package/build/require/type/discard/discard.js +1 -0
  293. package/build/require/type/discard/index.js +1 -0
  294. package/build/require/type/enum/enum.d.ts +1 -0
  295. package/build/require/type/enum/enum.js +2 -0
  296. package/build/require/type/enum/index.js +1 -0
  297. package/build/require/type/exclude/exclude-from-mapped-result.js +4 -0
  298. package/build/require/type/exclude/exclude.d.ts +2 -0
  299. package/build/require/type/exclude/exclude.js +4 -0
  300. package/build/require/type/exclude/index.js +1 -0
  301. package/build/require/type/extends/extends-check.js +174 -1
  302. package/build/require/type/extends/extends-from-mapped-key.js +5 -0
  303. package/build/require/type/extends/extends-from-mapped-result.js +4 -0
  304. package/build/require/type/extends/extends-undefined.d.ts +1 -0
  305. package/build/require/type/extends/extends-undefined.js +4 -0
  306. package/build/require/type/extends/extends.d.ts +3 -0
  307. package/build/require/type/extends/extends.js +8 -0
  308. package/build/require/type/extends/index.js +1 -0
  309. package/build/require/type/extract/extract-from-mapped-result.js +4 -0
  310. package/build/require/type/extract/extract.d.ts +2 -0
  311. package/build/require/type/extract/extract.js +4 -0
  312. package/build/require/type/extract/index.js +1 -0
  313. package/build/require/type/function/function.d.ts +1 -0
  314. package/build/require/type/function/function.js +2 -0
  315. package/build/require/type/function/index.js +1 -0
  316. package/build/require/type/guard/index.js +1 -0
  317. package/build/require/type/guard/type.d.ts +46 -0
  318. package/build/require/type/guard/type.js +85 -1
  319. package/build/require/type/guard/value.d.ts +14 -0
  320. package/build/require/type/guard/value.js +15 -0
  321. package/build/require/type/helpers/helpers.d.ts +1 -0
  322. package/build/require/type/helpers/helpers.js +2 -0
  323. package/build/require/type/helpers/index.js +1 -0
  324. package/build/require/type/index.js +1 -0
  325. package/build/require/type/indexed/index.d.ts +0 -1
  326. package/build/require/type/indexed/index.js +1 -1
  327. package/build/require/type/indexed/indexed-from-mapped-key.d.ts +2 -2
  328. package/build/require/type/indexed/indexed-from-mapped-key.js +11 -3
  329. package/build/require/type/indexed/indexed-property-keys.d.ts +1 -0
  330. package/build/require/type/indexed/indexed-property-keys.js +10 -0
  331. package/build/require/type/indexed/indexed.d.ts +40 -4
  332. package/build/require/type/indexed/indexed.js +84 -4
  333. package/build/require/type/instance-type/index.js +1 -0
  334. package/build/require/type/instance-type/instance-type.d.ts +1 -0
  335. package/build/require/type/instance-type/instance-type.js +2 -0
  336. package/build/require/type/integer/index.js +1 -0
  337. package/build/require/type/integer/integer.d.ts +1 -0
  338. package/build/require/type/integer/integer.js +2 -0
  339. package/build/require/type/intersect/index.js +1 -0
  340. package/build/require/type/intersect/intersect-create.js +9 -0
  341. package/build/require/type/intersect/intersect-evaluated.d.ts +1 -0
  342. package/build/require/type/intersect/intersect-evaluated.js +10 -0
  343. package/build/require/type/intersect/intersect-type.js +1 -0
  344. package/build/require/type/intersect/intersect.d.ts +1 -0
  345. package/build/require/type/intersect/intersect.js +6 -0
  346. package/build/require/type/intrinsic/capitalize.d.ts +1 -0
  347. package/build/require/type/intrinsic/capitalize.js +2 -0
  348. package/build/require/type/intrinsic/index.js +1 -0
  349. package/build/require/type/intrinsic/intrinsic-from-mapped-key.js +5 -0
  350. package/build/require/type/intrinsic/intrinsic.d.ts +2 -0
  351. package/build/require/type/intrinsic/intrinsic.js +17 -1
  352. package/build/require/type/intrinsic/lowercase.d.ts +1 -0
  353. package/build/require/type/intrinsic/lowercase.js +2 -0
  354. package/build/require/type/intrinsic/uncapitalize.d.ts +1 -0
  355. package/build/require/type/intrinsic/uncapitalize.js +2 -0
  356. package/build/require/type/intrinsic/uppercase.d.ts +1 -0
  357. package/build/require/type/intrinsic/uppercase.js +2 -0
  358. package/build/require/type/iterator/index.js +1 -0
  359. package/build/require/type/iterator/iterator.d.ts +1 -0
  360. package/build/require/type/iterator/iterator.js +2 -0
  361. package/build/require/type/keyof/index.js +1 -0
  362. package/build/require/type/keyof/keyof-from-mapped-result.js +4 -0
  363. package/build/require/type/keyof/keyof-property-keys.d.ts +2 -0
  364. package/build/require/type/keyof/keyof-property-keys.js +21 -0
  365. package/build/require/type/keyof/keyof.d.ts +2 -0
  366. package/build/require/type/keyof/keyof.js +7 -0
  367. package/build/require/type/literal/index.js +1 -0
  368. package/build/require/type/literal/literal.d.ts +1 -0
  369. package/build/require/type/literal/literal.js +2 -0
  370. package/build/require/type/mapped/index.js +1 -0
  371. package/build/require/type/mapped/mapped-key.js +2 -0
  372. package/build/require/type/mapped/mapped-result.js +2 -0
  373. package/build/require/type/mapped/mapped.d.ts +2 -0
  374. package/build/require/type/mapped/mapped.js +20 -1
  375. package/build/require/type/modifiers/index.js +1 -0
  376. package/build/require/type/modifiers/modifiers.js +11 -0
  377. package/build/require/type/never/index.js +1 -0
  378. package/build/require/type/never/never.d.ts +1 -0
  379. package/build/require/type/never/never.js +2 -0
  380. package/build/require/type/not/index.js +1 -0
  381. package/build/require/type/not/not.d.ts +1 -0
  382. package/build/require/type/not/not.js +2 -0
  383. package/build/require/type/null/index.js +1 -0
  384. package/build/require/type/null/null.d.ts +1 -0
  385. package/build/require/type/null/null.js +2 -0
  386. package/build/require/type/number/index.js +1 -0
  387. package/build/require/type/number/number.d.ts +1 -0
  388. package/build/require/type/number/number.js +2 -0
  389. package/build/require/type/object/index.js +1 -0
  390. package/build/require/type/object/object.d.ts +5 -0
  391. package/build/require/type/object/object.js +7 -0
  392. package/build/require/type/omit/index.js +1 -0
  393. package/build/require/type/omit/omit-from-mapped-key.js +5 -0
  394. package/build/require/type/omit/omit.d.ts +3 -0
  395. package/build/require/type/omit/omit.js +13 -0
  396. package/build/require/type/operators/index.js +1 -0
  397. package/build/require/type/operators/operators.d.ts +8 -0
  398. package/build/require/type/operators/operators.js +16 -0
  399. package/build/require/type/optional/index.js +1 -0
  400. package/build/require/type/optional/optional.d.ts +1 -0
  401. package/build/require/type/optional/optional.js +2 -0
  402. package/build/require/type/parameters/index.js +1 -0
  403. package/build/require/type/parameters/parameters.d.ts +1 -0
  404. package/build/require/type/parameters/parameters.js +2 -0
  405. package/build/require/type/partial/index.js +1 -0
  406. package/build/require/type/partial/partial-from-mapped-result.js +4 -0
  407. package/build/require/type/partial/partial.d.ts +2 -0
  408. package/build/require/type/partial/partial.js +10 -0
  409. package/build/require/type/patterns/index.js +1 -0
  410. package/build/require/type/patterns/patterns.js +1 -0
  411. package/build/require/type/pick/index.js +1 -0
  412. package/build/require/type/pick/pick-from-mapped-key.js +5 -0
  413. package/build/require/type/pick/pick.d.ts +3 -0
  414. package/build/require/type/pick/pick.js +8 -0
  415. package/build/require/type/promise/index.js +1 -0
  416. package/build/require/type/promise/promise.d.ts +1 -0
  417. package/build/require/type/promise/promise.js +2 -0
  418. package/build/require/type/readonly/index.js +1 -0
  419. package/build/require/type/readonly/readonly.d.ts +1 -0
  420. package/build/require/type/readonly/readonly.js +2 -0
  421. package/build/require/type/readonly-optional/index.js +1 -0
  422. package/build/require/type/readonly-optional/readonly-optional.d.ts +1 -0
  423. package/build/require/type/readonly-optional/readonly-optional.js +2 -0
  424. package/build/require/type/record/index.js +1 -0
  425. package/build/require/type/record/record.d.ts +11 -9
  426. package/build/require/type/record/record.js +54 -28
  427. package/build/require/type/recursive/index.js +1 -0
  428. package/build/require/type/recursive/recursive.d.ts +1 -0
  429. package/build/require/type/recursive/recursive.js +4 -0
  430. package/build/require/type/ref/index.js +1 -0
  431. package/build/require/type/ref/ref.d.ts +2 -0
  432. package/build/require/type/ref/ref.js +2 -0
  433. package/build/require/type/regexp/index.js +1 -0
  434. package/build/require/type/regexp/regexp.d.ts +2 -0
  435. package/build/require/type/regexp/regexp.js +2 -0
  436. package/build/require/type/registry/format.d.ts +6 -0
  437. package/build/require/type/registry/format.js +8 -0
  438. package/build/require/type/registry/index.js +1 -0
  439. package/build/require/type/registry/type.d.ts +6 -0
  440. package/build/require/type/registry/type.js +8 -0
  441. package/build/require/type/required/index.js +1 -0
  442. package/build/require/type/required/required-from-mapped-result.js +4 -0
  443. package/build/require/type/required/required.d.ts +2 -0
  444. package/build/require/type/required/required.js +10 -0
  445. package/build/require/type/rest/index.js +1 -0
  446. package/build/require/type/rest/rest.d.ts +1 -0
  447. package/build/require/type/rest/rest.js +6 -0
  448. package/build/require/type/return-type/index.js +1 -0
  449. package/build/require/type/return-type/return-type.d.ts +1 -0
  450. package/build/require/type/return-type/return-type.js +2 -0
  451. package/build/require/type/schema/anyschema.js +1 -0
  452. package/build/require/type/schema/index.js +1 -0
  453. package/build/require/type/schema/schema.d.ts +7 -0
  454. package/build/require/type/schema/schema.js +1 -0
  455. package/build/require/type/static/index.js +1 -0
  456. package/build/require/type/static/static.d.ts +3 -0
  457. package/build/require/type/static/static.js +1 -0
  458. package/build/require/type/strict/index.js +1 -0
  459. package/build/require/type/strict/strict.d.ts +1 -0
  460. package/build/require/type/strict/strict.js +2 -0
  461. package/build/require/type/string/index.js +1 -0
  462. package/build/require/type/string/string.d.ts +7 -0
  463. package/build/require/type/string/string.js +2 -0
  464. package/build/require/type/symbol/index.js +1 -0
  465. package/build/require/type/symbol/symbol.d.ts +1 -0
  466. package/build/require/type/symbol/symbol.js +2 -0
  467. package/build/require/type/symbols/index.js +1 -0
  468. package/build/require/type/symbols/symbols.d.ts +5 -0
  469. package/build/require/type/symbols/symbols.js +6 -0
  470. package/build/require/type/template-literal/finite.js +11 -0
  471. package/build/require/type/template-literal/generate.js +11 -0
  472. package/build/require/type/template-literal/index.js +1 -0
  473. package/build/require/type/template-literal/parser.d.ts +2 -0
  474. package/build/require/type/template-literal/parser.js +18 -0
  475. package/build/require/type/template-literal/pattern.js +12 -0
  476. package/build/require/type/template-literal/syntax.d.ts +1 -0
  477. package/build/require/type/template-literal/syntax.js +9 -0
  478. package/build/require/type/template-literal/template-literal.d.ts +2 -0
  479. package/build/require/type/template-literal/template-literal.js +3 -0
  480. package/build/require/type/template-literal/union.d.ts +1 -0
  481. package/build/require/type/template-literal/union.js +5 -0
  482. package/build/require/type/transform/index.js +1 -0
  483. package/build/require/type/transform/transform.d.ts +1 -0
  484. package/build/require/type/transform/transform.js +10 -0
  485. package/build/require/type/tuple/index.js +1 -0
  486. package/build/require/type/tuple/tuple.d.ts +1 -0
  487. package/build/require/type/tuple/tuple.js +4 -0
  488. package/build/require/type/type/index.d.ts +1 -0
  489. package/build/require/type/type/index.js +8 -0
  490. package/build/require/type/type/javascript.d.ts +19 -0
  491. package/build/require/type/type/javascript.js +19 -0
  492. package/build/require/type/type/json.d.ts +64 -3
  493. package/build/require/type/type/json.js +56 -1
  494. package/build/require/type/type/type.js +4 -0
  495. package/build/require/type/uint8array/index.js +1 -0
  496. package/build/require/type/uint8array/uint8array.d.ts +1 -0
  497. package/build/require/type/uint8array/uint8array.js +2 -0
  498. package/build/require/type/undefined/index.js +1 -0
  499. package/build/require/type/undefined/undefined.d.ts +1 -0
  500. package/build/require/type/undefined/undefined.js +2 -0
  501. package/build/require/type/union/index.js +1 -0
  502. package/build/require/type/union/union-create.js +1 -0
  503. package/build/require/type/union/union-evaluated.d.ts +1 -0
  504. package/build/require/type/union/union-evaluated.js +11 -0
  505. package/build/require/type/union/union-type.js +1 -0
  506. package/build/require/type/union/union.d.ts +1 -0
  507. package/build/require/type/union/union.js +3 -0
  508. package/build/require/type/unknown/index.js +1 -0
  509. package/build/require/type/unknown/unknown.d.ts +1 -0
  510. package/build/require/type/unknown/unknown.js +2 -0
  511. package/build/require/type/unsafe/index.js +1 -0
  512. package/build/require/type/unsafe/unsafe.d.ts +1 -0
  513. package/build/require/type/unsafe/unsafe.js +2 -0
  514. package/build/require/type/void/index.js +1 -0
  515. package/build/require/type/void/void.d.ts +1 -0
  516. package/build/require/type/void/void.js +2 -0
  517. package/build/require/value/cast/cast.d.ts +2 -0
  518. package/build/require/value/cast/cast.js +29 -0
  519. package/build/require/value/cast/index.js +1 -0
  520. package/build/require/value/check/check.d.ts +2 -0
  521. package/build/require/value/check/check.js +20 -1
  522. package/build/require/value/check/index.js +1 -0
  523. package/build/require/value/clean/clean.d.ts +2 -0
  524. package/build/require/value/clean/clean.js +13 -1
  525. package/build/require/value/clean/index.js +1 -0
  526. package/build/require/value/clone/clone.d.ts +1 -0
  527. package/build/require/value/clone/clone.js +8 -0
  528. package/build/require/value/clone/index.js +1 -0
  529. package/build/require/value/convert/convert.d.ts +2 -0
  530. package/build/require/value/convert/convert.js +31 -1
  531. package/build/require/value/convert/index.js +1 -0
  532. package/build/require/value/create/create.d.ts +2 -0
  533. package/build/require/value/create/create.js +18 -0
  534. package/build/require/value/create/index.js +1 -0
  535. package/build/require/value/default/default.d.ts +2 -0
  536. package/build/require/value/default/default.js +20 -0
  537. package/build/require/value/default/index.js +1 -0
  538. package/build/require/value/delta/delta.js +16 -0
  539. package/build/require/value/delta/index.js +1 -0
  540. package/build/require/value/deref/deref.d.ts +1 -0
  541. package/build/require/value/deref/deref.js +2 -0
  542. package/build/require/value/deref/index.js +1 -0
  543. package/build/require/value/equal/equal.d.ts +1 -0
  544. package/build/require/value/equal/equal.js +8 -0
  545. package/build/require/value/equal/index.js +1 -0
  546. package/build/require/value/guard/guard.d.ts +20 -0
  547. package/build/require/value/guard/guard.js +31 -0
  548. package/build/require/value/guard/index.js +1 -0
  549. package/build/require/value/hash/hash.d.ts +1 -0
  550. package/build/require/value/hash/hash.js +20 -0
  551. package/build/require/value/hash/index.js +1 -0
  552. package/build/require/value/index.js +13 -0
  553. package/build/require/value/mutate/index.js +1 -0
  554. package/build/require/value/mutate/mutate.d.ts +1 -0
  555. package/build/require/value/mutate/mutate.js +12 -0
  556. package/build/require/value/pointer/index.js +1 -0
  557. package/build/require/value/pointer/pointer.d.ts +5 -0
  558. package/build/require/value/pointer/pointer.js +19 -0
  559. package/build/require/value/transform/decode.d.ts +5 -0
  560. package/build/require/value/transform/decode.js +24 -0
  561. package/build/require/value/transform/encode.d.ts +6 -0
  562. package/build/require/value/transform/encode.js +26 -0
  563. package/build/require/value/transform/has.d.ts +1 -0
  564. package/build/require/value/transform/has.js +17 -0
  565. package/build/require/value/transform/index.js +1 -0
  566. package/build/require/value/value/index.js +1 -0
  567. package/build/require/value/value/value.d.ts +24 -0
  568. package/build/require/value/value/value.js +16 -0
  569. package/license +3 -1
  570. package/package.json +1 -1
  571. package/readme.md +4 -5
  572. package/build/import/type/indexed/indexed-result.d.mts +0 -33
  573. package/build/import/type/indexed/indexed-result.mjs +0 -65
  574. package/build/require/type/indexed/indexed-result.d.ts +0 -33
  575. package/build/require/type/indexed/indexed-result.js +0 -69
@@ -17,6 +17,8 @@ type FromArray<T extends TSchema[], U extends TSchema> = AssertRest<UnionToTuple
17
17
  export type ExtractResolve<T extends TSchema, U extends TSchema> = (T extends TTemplateLiteral ? FromTemplateLiteral<T, U> : T extends TUnion<infer S> ? FromArray<S, U> : T extends U ? T : T);
18
18
  export declare function ExtractResolve<L extends TSchema, R extends TSchema>(L: L, R: R): ExtractResolve<L, R>;
19
19
  export type TExtract<T extends TSchema, U extends TSchema> = ExtractResolve<T, U>;
20
+ /** `[Json]` Constructs a type by extracting from type all union members that are assignable to union */
20
21
  export declare function Extract<L extends TMappedResult, R extends TSchema>(type: L, union: R, options?: SchemaOptions): TExtractFromMappedResult<L, R>;
22
+ /** `[Json]` Constructs a type by extracting from type all union members that are assignable to union */
21
23
  export declare function Extract<L extends TSchema, R extends TSchema>(type: L, union: R, options?: SchemaOptions): TExtract<L, R>;
22
24
  export {};
@@ -1,4 +1,5 @@
1
1
  "use strict";
2
+
2
3
  Object.defineProperty(exports, "__esModule", { value: true });
3
4
  exports.Extract = exports.ExtractResolve = void 0;
4
5
  const index_1 = require("../template-literal/index");
@@ -7,7 +8,9 @@ const index_3 = require("../never/index");
7
8
  const index_4 = require("../extends/index");
8
9
  const type_1 = require("../clone/type");
9
10
  const extract_from_mapped_result_1 = require("./extract-from-mapped-result");
11
+ // prettier-ignore
10
12
  const type_2 = require("../guard/type");
13
+ // prettier-ignore
11
14
  function ExtractResolve(L, R) {
12
15
  return ((0, type_2.TTemplateLiteral)(L) ? ExtractResolve((0, index_1.TemplateLiteralToUnion)(L), R) :
13
16
  (0, type_2.TTemplateLiteral)(R) ? ExtractResolve(L, (0, index_1.TemplateLiteralToUnion)(R)) :
@@ -19,6 +22,7 @@ function ExtractResolve(L, R) {
19
22
  (0, index_3.Never)());
20
23
  }
21
24
  exports.ExtractResolve = ExtractResolve;
25
+ /** `[Json]` Constructs a type by extracting from type all union members that are assignable to union */
22
26
  function Extract(type, union, options = {}) {
23
27
  if ((0, type_2.TMappedResult)(type)) {
24
28
  return (0, extract_from_mapped_result_1.ExtractFromMappedResult)(type, union, options);
@@ -1,4 +1,5 @@
1
1
  "use strict";
2
+
2
3
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
4
  if (k2 === undefined) k2 = k;
4
5
  var desc = Object.getOwnPropertyDescriptor(m, k);
@@ -12,5 +12,6 @@ export interface TFunction<T extends TSchema[] = TSchema[], U extends TSchema =
12
12
  parameters: T;
13
13
  returns: U;
14
14
  }
15
+ /** `[JavaScript]` Creates a Function type */
15
16
  export declare function Function<T extends TSchema[], U extends TSchema>(parameters: [...T], returns: U, options?: SchemaOptions): TFunction<T, U>;
16
17
  export {};
@@ -1,8 +1,10 @@
1
1
  "use strict";
2
+
2
3
  Object.defineProperty(exports, "__esModule", { value: true });
3
4
  exports.Function = void 0;
4
5
  const type_1 = require("../clone/type");
5
6
  const index_1 = require("../symbols/index");
7
+ /** `[JavaScript]` Creates a Function type */
6
8
  function Function(parameters, returns, options) {
7
9
  return {
8
10
  ...options,
@@ -1,4 +1,5 @@
1
1
  "use strict";
2
+
2
3
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
4
  if (k2 === undefined) k2 = k;
4
5
  var desc = Object.getOwnPropertyDescriptor(m, k);
@@ -1,4 +1,5 @@
1
1
  "use strict";
2
+
2
3
  Object.defineProperty(exports, "__esModule", { value: true });
3
4
  exports.ValueGuard = exports.TypeGuard = void 0;
4
5
  exports.TypeGuard = require("./type");
@@ -37,57 +37,103 @@ import type { TDate } from '../date/index';
37
37
  import type { TThis } from '../recursive/index';
38
38
  export declare class TypeGuardUnknownTypeError extends Error {
39
39
  }
40
+ /** Returns true if this value has a Readonly symbol */
40
41
  export declare function TReadonly<T extends TSchema>(value: T): value is TReadonly<T>;
42
+ /** Returns true if this value has a Optional symbol */
41
43
  export declare function TOptional<T extends TSchema>(value: T): value is TOptional<T>;
44
+ /** Returns true if the given value is TAny */
42
45
  export declare function TAny(value: unknown): value is TAny;
46
+ /** Returns true if the given value is TArray */
43
47
  export declare function TArray(value: unknown): value is TArray;
48
+ /** Returns true if the given value is TAsyncIterator */
44
49
  export declare function TAsyncIterator(value: unknown): value is TAsyncIterator;
50
+ /** Returns true if the given value is TBigInt */
45
51
  export declare function TBigInt(value: unknown): value is TBigInt;
52
+ /** Returns true if the given value is TBoolean */
46
53
  export declare function TBoolean(value: unknown): value is TBoolean;
54
+ /** Returns true if the given value is TConstructor */
47
55
  export declare function TConstructor(value: unknown): value is TConstructor;
56
+ /** Returns true if the given value is TDate */
48
57
  export declare function TDate(value: unknown): value is TDate;
58
+ /** Returns true if the given value is TFunction */
49
59
  export declare function TFunction(value: unknown): value is TFunction;
60
+ /** Returns true if the given value is TInteger */
50
61
  export declare function TInteger(value: unknown): value is TInteger;
62
+ /** Returns true if the given schema is TProperties */
51
63
  export declare function TProperties(value: unknown): value is TProperties;
64
+ /** Returns true if the given value is TIntersect */
52
65
  export declare function TIntersect(value: unknown): value is TIntersect;
66
+ /** Returns true if the given value is TIterator */
53
67
  export declare function TIterator(value: unknown): value is TIterator;
68
+ /** Returns true if the given value is a TKind with the given name. */
54
69
  export declare function TKindOf<T extends string>(value: unknown, kind: T): value is Record<PropertyKey, unknown> & {
55
70
  [Kind]: T;
56
71
  };
72
+ /** Returns true if the given value is TLiteral<string> */
57
73
  export declare function TLiteralString(value: unknown): value is TLiteral<string>;
74
+ /** Returns true if the given value is TLiteral<number> */
58
75
  export declare function TLiteralNumber(value: unknown): value is TLiteral<number>;
76
+ /** Returns true if the given value is TLiteral<boolean> */
59
77
  export declare function TLiteralBoolean(value: unknown): value is TLiteral<boolean>;
78
+ /** Returns true if the given value is TLiteral */
60
79
  export declare function TLiteral(value: unknown): value is TLiteral;
80
+ /** Returns true if the given value is a TLiteralValue */
61
81
  export declare function TLiteralValue(value: unknown): value is TLiteralValue;
82
+ /** Returns true if the given value is a TMappedKey */
62
83
  export declare function TMappedKey(value: unknown): value is TMappedKey;
84
+ /** Returns true if the given value is TMappedResult */
63
85
  export declare function TMappedResult(value: unknown): value is TMappedResult;
86
+ /** Returns true if the given value is TNever */
64
87
  export declare function TNever(value: unknown): value is TNever;
88
+ /** Returns true if the given value is TNot */
65
89
  export declare function TNot(value: unknown): value is TNot;
90
+ /** Returns true if the given value is TNull */
66
91
  export declare function TNull(value: unknown): value is TNull;
92
+ /** Returns true if the given value is TNumber */
67
93
  export declare function TNumber(value: unknown): value is TNumber;
94
+ /** Returns true if the given value is TObject */
68
95
  export declare function TObject(value: unknown): value is TObject;
96
+ /** Returns true if the given value is TPromise */
69
97
  export declare function TPromise(value: unknown): value is TPromise;
98
+ /** Returns true if the given value is TRecord */
70
99
  export declare function TRecord(value: unknown): value is TRecord;
100
+ /** Returns true if this value is TRecursive */
71
101
  export declare function TRecursive(value: unknown): value is {
72
102
  [Hint]: 'Recursive';
73
103
  };
104
+ /** Returns true if the given value is TRef */
74
105
  export declare function TRef(value: unknown): value is TRef;
106
+ /** Returns true if the given value is TString */
75
107
  export declare function TString(value: unknown): value is TString;
108
+ /** Returns true if the given value is TSymbol */
76
109
  export declare function TSymbol(value: unknown): value is TSymbol;
110
+ /** Returns true if the given value is TTemplateLiteral */
77
111
  export declare function TTemplateLiteral(value: unknown): value is TTemplateLiteral<TTemplateLiteralKind[]>;
112
+ /** Returns true if the given value is TThis */
78
113
  export declare function TThis(value: unknown): value is TThis;
114
+ /** Returns true of this value is TTransform */
79
115
  export declare function TTransform(value: unknown): value is {
80
116
  [TransformKind]: TransformOptions;
81
117
  };
118
+ /** Returns true if the given value is TTuple */
82
119
  export declare function TTuple(value: unknown): value is TTuple;
120
+ /** Returns true if the given value is TUndefined */
83
121
  export declare function TUndefined(value: unknown): value is TUndefined;
122
+ /** Returns true if the given value is TUnion<Literal<string | number>[]> */
84
123
  export declare function TUnionLiteral(value: unknown): value is TUnion<TLiteral[]>;
124
+ /** Returns true if the given value is TUnion */
85
125
  export declare function TUnion(value: unknown): value is TUnion;
126
+ /** Returns true if the given value is TUint8Array */
86
127
  export declare function TUint8Array(value: unknown): value is TUint8Array;
128
+ /** Returns true if the given value is TUnknown */
87
129
  export declare function TUnknown(value: unknown): value is TUnknown;
130
+ /** Returns true if the given value is a raw TUnsafe */
88
131
  export declare function TUnsafe(value: unknown): value is TUnsafe<unknown>;
132
+ /** Returns true if the given value is TVoid */
89
133
  export declare function TVoid(value: unknown): value is TVoid;
134
+ /** Returns true if the given value is TKind */
90
135
  export declare function TKind(value: unknown): value is Record<PropertyKey, unknown> & {
91
136
  [Kind]: string;
92
137
  };
138
+ /** Returns true if the given value is TSchema */
93
139
  export declare function TSchema(value: unknown): value is TSchema;
@@ -1,4 +1,5 @@
1
1
  "use strict";
2
+
2
3
  Object.defineProperty(exports, "__esModule", { value: true });
3
4
  exports.TSchema = exports.TKind = exports.TVoid = exports.TUnsafe = exports.TUnknown = exports.TUint8Array = exports.TUnion = exports.TUnionLiteral = exports.TUndefined = exports.TTuple = exports.TTransform = exports.TThis = exports.TTemplateLiteral = exports.TSymbol = exports.TString = exports.TRef = exports.TRecursive = exports.TRecord = exports.TPromise = exports.TObject = exports.TNumber = exports.TNull = exports.TNot = exports.TNever = exports.TMappedResult = exports.TMappedKey = exports.TLiteralValue = exports.TLiteral = exports.TLiteralBoolean = exports.TLiteralNumber = exports.TLiteralString = exports.TKindOf = exports.TIterator = exports.TIntersect = exports.TProperties = exports.TInteger = exports.TFunction = exports.TDate = exports.TConstructor = exports.TBoolean = exports.TBigInt = exports.TAsyncIterator = exports.TArray = exports.TAny = exports.TOptional = exports.TReadonly = exports.TypeGuardUnknownTypeError = void 0;
4
5
  const ValueGuard = require("./value");
@@ -84,19 +85,30 @@ function IsOptionalFormat(value) {
84
85
  function IsOptionalSchema(value) {
85
86
  return ValueGuard.IsUndefined(value) || (0, index_2.TSchema)(value);
86
87
  }
88
+ // ------------------------------------------------------------------
89
+ // Modifiers
90
+ // ------------------------------------------------------------------
91
+ /** Returns true if this value has a Readonly symbol */
87
92
  function TReadonly(value) {
88
93
  return ValueGuard.IsObject(value) && value[index_1.ReadonlyKind] === 'Readonly';
89
94
  }
90
95
  exports.TReadonly = TReadonly;
96
+ /** Returns true if this value has a Optional symbol */
91
97
  function TOptional(value) {
92
98
  return ValueGuard.IsObject(value) && value[index_1.OptionalKind] === 'Optional';
93
99
  }
94
100
  exports.TOptional = TOptional;
101
+ // ------------------------------------------------------------------
102
+ // Types
103
+ // ------------------------------------------------------------------
104
+ /** Returns true if the given value is TAny */
95
105
  function TAny(value) {
106
+ // prettier-ignore
96
107
  return (TKindOf(value, 'Any') &&
97
108
  IsOptionalString(value.$id));
98
109
  }
99
110
  exports.TAny = TAny;
111
+ /** Returns true if the given value is TArray */
100
112
  function TArray(value) {
101
113
  return (TKindOf(value, 'Array') &&
102
114
  value.type === 'array' &&
@@ -110,14 +122,18 @@ function TArray(value) {
110
122
  IsOptionalNumber(value.maxContains));
111
123
  }
112
124
  exports.TArray = TArray;
125
+ /** Returns true if the given value is TAsyncIterator */
113
126
  function TAsyncIterator(value) {
127
+ // prettier-ignore
114
128
  return (TKindOf(value, 'AsyncIterator') &&
115
129
  value.type === 'AsyncIterator' &&
116
130
  IsOptionalString(value.$id) &&
117
131
  (0, index_2.TSchema)(value.items));
118
132
  }
119
133
  exports.TAsyncIterator = TAsyncIterator;
134
+ /** Returns true if the given value is TBigInt */
120
135
  function TBigInt(value) {
136
+ // prettier-ignore
121
137
  return (TKindOf(value, 'BigInt') &&
122
138
  value.type === 'bigint' &&
123
139
  IsOptionalString(value.$id) &&
@@ -128,13 +144,17 @@ function TBigInt(value) {
128
144
  IsOptionalBigInt(value.multipleOf));
129
145
  }
130
146
  exports.TBigInt = TBigInt;
147
+ /** Returns true if the given value is TBoolean */
131
148
  function TBoolean(value) {
149
+ // prettier-ignore
132
150
  return (TKindOf(value, 'Boolean') &&
133
151
  value.type === 'boolean' &&
134
152
  IsOptionalString(value.$id));
135
153
  }
136
154
  exports.TBoolean = TBoolean;
155
+ /** Returns true if the given value is TConstructor */
137
156
  function TConstructor(value) {
157
+ // prettier-ignore
138
158
  return (TKindOf(value, 'Constructor') &&
139
159
  value.type === 'Constructor' &&
140
160
  IsOptionalString(value.$id) &&
@@ -143,6 +163,7 @@ function TConstructor(value) {
143
163
  (0, index_2.TSchema)(value.returns));
144
164
  }
145
165
  exports.TConstructor = TConstructor;
166
+ /** Returns true if the given value is TDate */
146
167
  function TDate(value) {
147
168
  return (TKindOf(value, 'Date') &&
148
169
  value.type === 'Date' &&
@@ -154,7 +175,9 @@ function TDate(value) {
154
175
  IsOptionalNumber(value.multipleOfTimestamp));
155
176
  }
156
177
  exports.TDate = TDate;
178
+ /** Returns true if the given value is TFunction */
157
179
  function TFunction(value) {
180
+ // prettier-ignore
158
181
  return (TKindOf(value, 'Function') &&
159
182
  value.type === 'Function' &&
160
183
  IsOptionalString(value.$id) &&
@@ -163,6 +186,7 @@ function TFunction(value) {
163
186
  (0, index_2.TSchema)(value.returns));
164
187
  }
165
188
  exports.TFunction = TFunction;
189
+ /** Returns true if the given value is TInteger */
166
190
  function TInteger(value) {
167
191
  return (TKindOf(value, 'Integer') &&
168
192
  value.type === 'integer' &&
@@ -174,12 +198,16 @@ function TInteger(value) {
174
198
  IsOptionalNumber(value.multipleOf));
175
199
  }
176
200
  exports.TInteger = TInteger;
201
+ /** Returns true if the given schema is TProperties */
177
202
  function TProperties(value) {
203
+ // prettier-ignore
178
204
  return (ValueGuard.IsObject(value) &&
179
205
  Object.entries(value).every(([key, schema]) => IsControlCharacterFree(key) && (0, index_2.TSchema)(schema)));
180
206
  }
181
207
  exports.TProperties = TProperties;
208
+ /** Returns true if the given value is TIntersect */
182
209
  function TIntersect(value) {
210
+ // prettier-ignore
183
211
  return (TKindOf(value, 'Intersect') &&
184
212
  (ValueGuard.IsString(value.type) && value.type !== 'object' ? false : true) &&
185
213
  ValueGuard.IsArray(value.allOf) &&
@@ -189,66 +217,86 @@ function TIntersect(value) {
189
217
  IsOptionalString(value.$id));
190
218
  }
191
219
  exports.TIntersect = TIntersect;
220
+ /** Returns true if the given value is TIterator */
192
221
  function TIterator(value) {
222
+ // prettier-ignore
193
223
  return (TKindOf(value, 'Iterator') &&
194
224
  value.type === 'Iterator' &&
195
225
  IsOptionalString(value.$id) &&
196
226
  (0, index_2.TSchema)(value.items));
197
227
  }
198
228
  exports.TIterator = TIterator;
229
+ /** Returns true if the given value is a TKind with the given name. */
199
230
  function TKindOf(value, kind) {
200
231
  return ValueGuard.IsObject(value) && index_1.Kind in value && value[index_1.Kind] === kind;
201
232
  }
202
233
  exports.TKindOf = TKindOf;
234
+ /** Returns true if the given value is TLiteral<string> */
203
235
  function TLiteralString(value) {
204
236
  return (0, index_3.TLiteral)(value) && ValueGuard.IsString(value.const);
205
237
  }
206
238
  exports.TLiteralString = TLiteralString;
239
+ /** Returns true if the given value is TLiteral<number> */
207
240
  function TLiteralNumber(value) {
208
241
  return (0, index_3.TLiteral)(value) && ValueGuard.IsNumber(value.const);
209
242
  }
210
243
  exports.TLiteralNumber = TLiteralNumber;
244
+ /** Returns true if the given value is TLiteral<boolean> */
211
245
  function TLiteralBoolean(value) {
212
246
  return (0, index_3.TLiteral)(value) && ValueGuard.IsBoolean(value.const);
213
247
  }
214
248
  exports.TLiteralBoolean = TLiteralBoolean;
249
+ /** Returns true if the given value is TLiteral */
215
250
  function TLiteral(value) {
251
+ // prettier-ignore
216
252
  return (TKindOf(value, 'Literal') &&
217
253
  IsOptionalString(value.$id) && (0, index_3.TLiteralValue)(value.const));
218
254
  }
219
255
  exports.TLiteral = TLiteral;
256
+ /** Returns true if the given value is a TLiteralValue */
220
257
  function TLiteralValue(value) {
221
258
  return ValueGuard.IsBoolean(value) || ValueGuard.IsNumber(value) || ValueGuard.IsString(value);
222
259
  }
223
260
  exports.TLiteralValue = TLiteralValue;
261
+ /** Returns true if the given value is a TMappedKey */
224
262
  function TMappedKey(value) {
263
+ // prettier-ignore
225
264
  return (TKindOf(value, 'MappedKey') &&
226
265
  ValueGuard.IsArray(value.keys) &&
227
266
  value.keys.every(key => ValueGuard.IsNumber(key) || ValueGuard.IsString(key)));
228
267
  }
229
268
  exports.TMappedKey = TMappedKey;
269
+ /** Returns true if the given value is TMappedResult */
230
270
  function TMappedResult(value) {
271
+ // prettier-ignore
231
272
  return (TKindOf(value, 'MappedResult') &&
232
273
  (0, index_4.TProperties)(value.properties));
233
274
  }
234
275
  exports.TMappedResult = TMappedResult;
276
+ /** Returns true if the given value is TNever */
235
277
  function TNever(value) {
278
+ // prettier-ignore
236
279
  return (TKindOf(value, 'Never') &&
237
280
  ValueGuard.IsObject(value.not) &&
238
281
  Object.getOwnPropertyNames(value.not).length === 0);
239
282
  }
240
283
  exports.TNever = TNever;
284
+ /** Returns true if the given value is TNot */
241
285
  function TNot(value) {
286
+ // prettier-ignore
242
287
  return (TKindOf(value, 'Not') &&
243
288
  (0, index_2.TSchema)(value.not));
244
289
  }
245
290
  exports.TNot = TNot;
291
+ /** Returns true if the given value is TNull */
246
292
  function TNull(value) {
293
+ // prettier-ignore
247
294
  return (TKindOf(value, 'Null') &&
248
295
  value.type === 'null' &&
249
296
  IsOptionalString(value.$id));
250
297
  }
251
298
  exports.TNull = TNull;
299
+ /** Returns true if the given value is TNumber */
252
300
  function TNumber(value) {
253
301
  return (TKindOf(value, 'Number') &&
254
302
  value.type === 'number' &&
@@ -260,7 +308,9 @@ function TNumber(value) {
260
308
  IsOptionalNumber(value.multipleOf));
261
309
  }
262
310
  exports.TNumber = TNumber;
311
+ /** Returns true if the given value is TObject */
263
312
  function TObject(value) {
313
+ // prettier-ignore
264
314
  return (TKindOf(value, 'Object') &&
265
315
  value.type === 'object' &&
266
316
  IsOptionalString(value.$id) &&
@@ -270,14 +320,18 @@ function TObject(value) {
270
320
  IsOptionalNumber(value.maxProperties));
271
321
  }
272
322
  exports.TObject = TObject;
323
+ /** Returns true if the given value is TPromise */
273
324
  function TPromise(value) {
325
+ // prettier-ignore
274
326
  return (TKindOf(value, 'Promise') &&
275
327
  value.type === 'Promise' &&
276
328
  IsOptionalString(value.$id) &&
277
329
  (0, index_2.TSchema)(value.item));
278
330
  }
279
331
  exports.TPromise = TPromise;
332
+ /** Returns true if the given value is TRecord */
280
333
  function TRecord(value) {
334
+ // prettier-ignore
281
335
  return (TKindOf(value, 'Record') &&
282
336
  value.type === 'object' &&
283
337
  IsOptionalString(value.$id) &&
@@ -292,17 +346,22 @@ function TRecord(value) {
292
346
  })(value));
293
347
  }
294
348
  exports.TRecord = TRecord;
349
+ /** Returns true if this value is TRecursive */
295
350
  function TRecursive(value) {
296
351
  return ValueGuard.IsObject(value) && index_1.Hint in value && value[index_1.Hint] === 'Recursive';
297
352
  }
298
353
  exports.TRecursive = TRecursive;
354
+ /** Returns true if the given value is TRef */
299
355
  function TRef(value) {
356
+ // prettier-ignore
300
357
  return (TKindOf(value, 'Ref') &&
301
358
  IsOptionalString(value.$id) &&
302
359
  ValueGuard.IsString(value.$ref));
303
360
  }
304
361
  exports.TRef = TRef;
362
+ /** Returns true if the given value is TString */
305
363
  function TString(value) {
364
+ // prettier-ignore
306
365
  return (TKindOf(value, 'String') &&
307
366
  value.type === 'string' &&
308
367
  IsOptionalString(value.$id) &&
@@ -312,13 +371,17 @@ function TString(value) {
312
371
  IsOptionalFormat(value.format));
313
372
  }
314
373
  exports.TString = TString;
374
+ /** Returns true if the given value is TSymbol */
315
375
  function TSymbol(value) {
376
+ // prettier-ignore
316
377
  return (TKindOf(value, 'Symbol') &&
317
378
  value.type === 'symbol' &&
318
379
  IsOptionalString(value.$id));
319
380
  }
320
381
  exports.TSymbol = TSymbol;
382
+ /** Returns true if the given value is TTemplateLiteral */
321
383
  function TTemplateLiteral(value) {
384
+ // prettier-ignore
322
385
  return (TKindOf(value, 'TemplateLiteral') &&
323
386
  value.type === 'string' &&
324
387
  ValueGuard.IsString(value.pattern) &&
@@ -326,40 +389,51 @@ function TTemplateLiteral(value) {
326
389
  value.pattern[value.pattern.length - 1] === '$');
327
390
  }
328
391
  exports.TTemplateLiteral = TTemplateLiteral;
392
+ /** Returns true if the given value is TThis */
329
393
  function TThis(value) {
394
+ // prettier-ignore
330
395
  return (TKindOf(value, 'This') &&
331
396
  IsOptionalString(value.$id) &&
332
397
  ValueGuard.IsString(value.$ref));
333
398
  }
334
399
  exports.TThis = TThis;
400
+ /** Returns true of this value is TTransform */
335
401
  function TTransform(value) {
336
402
  return ValueGuard.IsObject(value) && index_1.TransformKind in value;
337
403
  }
338
404
  exports.TTransform = TTransform;
405
+ /** Returns true if the given value is TTuple */
339
406
  function TTuple(value) {
407
+ // prettier-ignore
340
408
  return (TKindOf(value, 'Tuple') &&
341
409
  value.type === 'array' &&
342
410
  IsOptionalString(value.$id) &&
343
411
  ValueGuard.IsNumber(value.minItems) &&
344
412
  ValueGuard.IsNumber(value.maxItems) &&
345
413
  value.minItems === value.maxItems &&
346
- ((ValueGuard.IsUndefined(value.items) &&
414
+ (( // empty
415
+ ValueGuard.IsUndefined(value.items) &&
347
416
  ValueGuard.IsUndefined(value.additionalItems) &&
348
417
  value.minItems === 0) || (ValueGuard.IsArray(value.items) &&
349
418
  value.items.every(schema => (0, index_2.TSchema)(schema)))));
350
419
  }
351
420
  exports.TTuple = TTuple;
421
+ /** Returns true if the given value is TUndefined */
352
422
  function TUndefined(value) {
423
+ // prettier-ignore
353
424
  return (TKindOf(value, 'Undefined') &&
354
425
  value.type === 'undefined' &&
355
426
  IsOptionalString(value.$id));
356
427
  }
357
428
  exports.TUndefined = TUndefined;
429
+ /** Returns true if the given value is TUnion<Literal<string | number>[]> */
358
430
  function TUnionLiteral(value) {
359
431
  return (0, index_5.TUnion)(value) && value.anyOf.every((schema) => TLiteralString(schema) || TLiteralNumber(schema));
360
432
  }
361
433
  exports.TUnionLiteral = TUnionLiteral;
434
+ /** Returns true if the given value is TUnion */
362
435
  function TUnion(value) {
436
+ // prettier-ignore
363
437
  return (TKindOf(value, 'Union') &&
364
438
  IsOptionalString(value.$id) &&
365
439
  ValueGuard.IsObject(value) &&
@@ -367,7 +441,9 @@ function TUnion(value) {
367
441
  value.anyOf.every(schema => (0, index_2.TSchema)(schema)));
368
442
  }
369
443
  exports.TUnion = TUnion;
444
+ /** Returns true if the given value is TUint8Array */
370
445
  function TUint8Array(value) {
446
+ // prettier-ignore
371
447
  return (TKindOf(value, 'Uint8Array') &&
372
448
  value.type === 'Uint8Array' &&
373
449
  IsOptionalString(value.$id) &&
@@ -375,26 +451,34 @@ function TUint8Array(value) {
375
451
  IsOptionalNumber(value.maxByteLength));
376
452
  }
377
453
  exports.TUint8Array = TUint8Array;
454
+ /** Returns true if the given value is TUnknown */
378
455
  function TUnknown(value) {
456
+ // prettier-ignore
379
457
  return (TKindOf(value, 'Unknown') &&
380
458
  IsOptionalString(value.$id));
381
459
  }
382
460
  exports.TUnknown = TUnknown;
461
+ /** Returns true if the given value is a raw TUnsafe */
383
462
  function TUnsafe(value) {
384
463
  return TKindOf(value, 'Unsafe');
385
464
  }
386
465
  exports.TUnsafe = TUnsafe;
466
+ /** Returns true if the given value is TVoid */
387
467
  function TVoid(value) {
468
+ // prettier-ignore
388
469
  return (TKindOf(value, 'Void') &&
389
470
  value.type === 'void' &&
390
471
  IsOptionalString(value.$id));
391
472
  }
392
473
  exports.TVoid = TVoid;
474
+ /** Returns true if the given value is TKind */
393
475
  function TKind(value) {
394
476
  return ValueGuard.IsObject(value) && index_1.Kind in value && ValueGuard.IsString(value[index_1.Kind]) && !KnownTypes.includes(value[index_1.Kind]);
395
477
  }
396
478
  exports.TKind = TKind;
479
+ /** Returns true if the given value is TSchema */
397
480
  function TSchema(value) {
481
+ // prettier-ignore
398
482
  return (ValueGuard.IsObject(value)) && ((0, index_6.TAny)(value) ||
399
483
  (0, index_7.TArray)(value) ||
400
484
  (0, index_8.TBoolean)(value) ||
@@ -1,14 +1,28 @@
1
+ /** Returns true if this value is an async iterator */
1
2
  export declare function IsAsyncIterator(value: unknown): value is AsyncIterableIterator<unknown>;
3
+ /** Returns true if this value is an array */
2
4
  export declare function IsArray(value: unknown): value is unknown[];
5
+ /** Returns true if this value is bigint */
3
6
  export declare function IsBigInt(value: unknown): value is bigint;
7
+ /** Returns true if this value is a boolean */
4
8
  export declare function IsBoolean(value: unknown): value is boolean;
9
+ /** Returns true if this value is a Date object */
5
10
  export declare function IsDate(value: unknown): value is Date;
11
+ /** Returns true if this value is a function */
6
12
  export declare function IsFunction(value: unknown): value is Function;
13
+ /** Returns true if this value is an iterator */
7
14
  export declare function IsIterator(value: unknown): value is IterableIterator<unknown>;
15
+ /** Returns true if this value is null */
8
16
  export declare function IsNull(value: unknown): value is null;
17
+ /** Returns true if this value is number */
9
18
  export declare function IsNumber(value: unknown): value is number;
19
+ /** Returns true if this value is an object */
10
20
  export declare function IsObject(value: unknown): value is Record<PropertyKey, unknown>;
21
+ /** Returns true if this value is string */
11
22
  export declare function IsString(value: unknown): value is string;
23
+ /** Returns true if this value is symbol */
12
24
  export declare function IsSymbol(value: unknown): value is symbol;
25
+ /** Returns true if this value is a Uint8Array */
13
26
  export declare function IsUint8Array(value: unknown): value is Uint8Array;
27
+ /** Returns true if this value is undefined */
14
28
  export declare function IsUndefined(value: unknown): value is undefined;
@@ -1,58 +1,73 @@
1
1
  "use strict";
2
+
2
3
  Object.defineProperty(exports, "__esModule", { value: true });
3
4
  exports.IsUndefined = exports.IsUint8Array = exports.IsSymbol = exports.IsString = exports.IsObject = exports.IsNumber = exports.IsNull = exports.IsIterator = exports.IsFunction = exports.IsDate = exports.IsBoolean = exports.IsBigInt = exports.IsArray = exports.IsAsyncIterator = void 0;
5
+ /** Returns true if this value is an async iterator */
4
6
  function IsAsyncIterator(value) {
5
7
  return IsObject(value) && !IsArray(value) && !IsUint8Array(value) && Symbol.asyncIterator in value;
6
8
  }
7
9
  exports.IsAsyncIterator = IsAsyncIterator;
10
+ /** Returns true if this value is an array */
8
11
  function IsArray(value) {
9
12
  return Array.isArray(value);
10
13
  }
11
14
  exports.IsArray = IsArray;
15
+ /** Returns true if this value is bigint */
12
16
  function IsBigInt(value) {
13
17
  return typeof value === 'bigint';
14
18
  }
15
19
  exports.IsBigInt = IsBigInt;
20
+ /** Returns true if this value is a boolean */
16
21
  function IsBoolean(value) {
17
22
  return typeof value === 'boolean';
18
23
  }
19
24
  exports.IsBoolean = IsBoolean;
25
+ /** Returns true if this value is a Date object */
20
26
  function IsDate(value) {
21
27
  return value instanceof globalThis.Date;
22
28
  }
23
29
  exports.IsDate = IsDate;
30
+ /** Returns true if this value is a function */
24
31
  function IsFunction(value) {
25
32
  return typeof value === 'function';
26
33
  }
27
34
  exports.IsFunction = IsFunction;
35
+ /** Returns true if this value is an iterator */
28
36
  function IsIterator(value) {
29
37
  return IsObject(value) && !IsArray(value) && !IsUint8Array(value) && Symbol.iterator in value;
30
38
  }
31
39
  exports.IsIterator = IsIterator;
40
+ /** Returns true if this value is null */
32
41
  function IsNull(value) {
33
42
  return value === null;
34
43
  }
35
44
  exports.IsNull = IsNull;
45
+ /** Returns true if this value is number */
36
46
  function IsNumber(value) {
37
47
  return typeof value === 'number';
38
48
  }
39
49
  exports.IsNumber = IsNumber;
50
+ /** Returns true if this value is an object */
40
51
  function IsObject(value) {
41
52
  return typeof value === 'object' && value !== null;
42
53
  }
43
54
  exports.IsObject = IsObject;
55
+ /** Returns true if this value is string */
44
56
  function IsString(value) {
45
57
  return typeof value === 'string';
46
58
  }
47
59
  exports.IsString = IsString;
60
+ /** Returns true if this value is symbol */
48
61
  function IsSymbol(value) {
49
62
  return typeof value === 'symbol';
50
63
  }
51
64
  exports.IsSymbol = IsSymbol;
65
+ /** Returns true if this value is a Uint8Array */
52
66
  function IsUint8Array(value) {
53
67
  return value instanceof globalThis.Uint8Array;
54
68
  }
55
69
  exports.IsUint8Array = IsUint8Array;
70
+ /** Returns true if this value is undefined */
56
71
  function IsUndefined(value) {
57
72
  return value === undefined;
58
73
  }
@@ -34,6 +34,7 @@ type IncrementTake<T extends keyof IncrementBase> = IncrementBase[T];
34
34
  type IncrementStep<T extends string> = T extends IncrementBase['m'] ? IncrementBase['t'] : T extends `${infer L extends keyof IncrementBase}${infer R}` ? L extends IncrementBase['m'] ? `${IncrementTake<L>}${IncrementStep<R>}` : `${IncrementTake<L>}${R}` : never;
35
35
  type IncrementReverse<T extends string> = T extends `${infer L}${infer R}` ? `${IncrementReverse<R>}${L}` : T;
36
36
  export type Increment<T extends string> = IncrementReverse<IncrementStep<IncrementReverse<T>>>;
37
+ /** Increments the given string value + 1 */
37
38
  export declare function Increment<T extends string>(T: T): Increment<T>;
38
39
  export type AssertProperties<T> = T extends TProperties ? T : TProperties;
39
40
  export type AssertRest<T, E extends TSchema[] = TSchema[]> = T extends E ? T : [];