@sinclair/typebox 0.32.0-dev-13 → 0.32.0-dev-15

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 (174) hide show
  1. package/build/import/index.d.mts +10 -10
  2. package/build/import/index.mjs +3 -3
  3. package/build/import/type/exclude/exclude-from-mapped-result.d.mts +13 -0
  4. package/build/import/type/exclude/exclude-from-mapped-result.mjs +14 -0
  5. package/build/import/type/exclude/exclude.d.mts +4 -1
  6. package/build/import/type/exclude/exclude.mjs +10 -4
  7. package/build/import/type/exclude/index.d.mts +1 -0
  8. package/build/import/type/exclude/index.mjs +1 -0
  9. package/build/import/type/extends/extends-from-mapped-key.d.mts +17 -0
  10. package/build/import/type/extends/extends-from-mapped-key.mjs +21 -0
  11. package/build/import/type/extends/extends-from-mapped-result.d.mts +13 -0
  12. package/build/import/type/extends/extends-from-mapped-result.mjs +14 -0
  13. package/build/import/type/extends/extends.d.mts +4 -4
  14. package/build/import/type/extends/extends.mjs +4 -4
  15. package/build/import/type/extends/index.d.mts +2 -2
  16. package/build/import/type/extends/index.mjs +2 -2
  17. package/build/import/type/extract/extract-from-mapped-result.d.mts +13 -0
  18. package/build/import/type/extract/extract-from-mapped-result.mjs +14 -0
  19. package/build/import/type/extract/extract.d.mts +3 -0
  20. package/build/import/type/extract/extract.mjs +9 -3
  21. package/build/import/type/extract/index.d.mts +1 -0
  22. package/build/import/type/extract/index.mjs +1 -0
  23. package/build/import/type/guard/type.d.mts +47 -46
  24. package/build/import/type/guard/type.mjs +294 -293
  25. package/build/import/type/indexed/index.d.mts +1 -1
  26. package/build/import/type/indexed/index.mjs +1 -1
  27. package/build/import/type/indexed/{indexed-mapped-result.d.mts → indexed-from-mapped-key.d.mts} +6 -6
  28. package/build/import/type/indexed/indexed-from-mapped-key.mjs +18 -0
  29. package/build/import/type/indexed/indexed-result.d.mts +2 -2
  30. package/build/import/type/indexed/indexed-result.mjs +3 -2
  31. package/build/import/type/indexed/indexed.d.mts +2 -2
  32. package/build/import/type/indexed/indexed.mjs +4 -4
  33. package/build/import/type/intrinsic/capitalize.mjs +1 -2
  34. package/build/import/type/intrinsic/index.d.mts +1 -1
  35. package/build/import/type/intrinsic/index.mjs +1 -1
  36. package/build/import/type/intrinsic/{intrinsic-mapped-result.d.mts → intrinsic-from-mapped-key.d.mts} +6 -5
  37. package/build/import/type/intrinsic/intrinsic-from-mapped-key.mjs +21 -0
  38. package/build/import/type/intrinsic/intrinsic.d.mts +6 -6
  39. package/build/import/type/intrinsic/intrinsic.mjs +8 -8
  40. package/build/import/type/intrinsic/lowercase.mjs +1 -2
  41. package/build/import/type/intrinsic/uncapitalize.mjs +1 -2
  42. package/build/import/type/intrinsic/uppercase.mjs +1 -2
  43. package/build/import/type/keyof/index.d.mts +1 -0
  44. package/build/import/type/keyof/index.mjs +1 -0
  45. package/build/import/type/keyof/keyof-from-mapped-result.d.mts +13 -0
  46. package/build/import/type/keyof/keyof-from-mapped-result.mjs +14 -0
  47. package/build/import/type/keyof/keyof.d.mts +3 -0
  48. package/build/import/type/keyof/keyof.mjs +9 -2
  49. package/build/import/type/mapped/mapped.d.mts +9 -6
  50. package/build/import/type/mapped/mapped.mjs +11 -4
  51. package/build/import/type/omit/index.d.mts +1 -1
  52. package/build/import/type/omit/index.mjs +1 -1
  53. package/build/import/type/omit/omit-from-mapped-key.d.mts +15 -0
  54. package/build/import/type/omit/omit-from-mapped-key.mjs +20 -0
  55. package/build/import/type/omit/omit.d.mts +2 -2
  56. package/build/import/type/omit/omit.mjs +2 -2
  57. package/build/import/type/partial/index.d.mts +1 -0
  58. package/build/import/type/partial/index.mjs +1 -0
  59. package/build/import/type/partial/partial-from-mapped-result.d.mts +13 -0
  60. package/build/import/type/partial/partial-from-mapped-result.mjs +14 -0
  61. package/build/import/type/partial/partial.d.mts +5 -2
  62. package/build/import/type/partial/partial.mjs +11 -5
  63. package/build/import/type/pick/index.d.mts +1 -1
  64. package/build/import/type/pick/index.mjs +1 -1
  65. package/build/import/type/pick/pick-from-mapped-key.d.mts +15 -0
  66. package/build/import/type/pick/pick-from-mapped-key.mjs +20 -0
  67. package/build/import/type/pick/pick.d.mts +2 -2
  68. package/build/import/type/pick/pick.mjs +2 -2
  69. package/build/import/type/required/index.d.mts +1 -0
  70. package/build/import/type/required/index.mjs +1 -0
  71. package/build/import/type/required/required-from-mapped-result.d.mts +13 -0
  72. package/build/import/type/required/required-from-mapped-result.mjs +14 -0
  73. package/build/import/type/required/required.d.mts +5 -2
  74. package/build/import/type/required/required.mjs +11 -5
  75. package/build/import/type/type/json.d.mts +21 -16
  76. package/build/import/type/type/json.mjs +3 -3
  77. package/build/require/index.d.ts +10 -10
  78. package/build/require/index.js +5 -3
  79. package/build/require/type/exclude/exclude-from-mapped-result.d.ts +13 -0
  80. package/build/require/type/exclude/exclude-from-mapped-result.js +18 -0
  81. package/build/require/type/exclude/exclude.d.ts +4 -1
  82. package/build/require/type/exclude/exclude.js +9 -4
  83. package/build/require/type/exclude/index.d.ts +1 -0
  84. package/build/require/type/exclude/index.js +1 -0
  85. package/build/require/type/extends/extends-from-mapped-key.d.ts +17 -0
  86. package/build/require/type/extends/extends-from-mapped-key.js +25 -0
  87. package/build/require/type/extends/extends-from-mapped-result.d.ts +13 -0
  88. package/build/require/type/extends/extends-from-mapped-result.js +18 -0
  89. package/build/require/type/extends/extends.d.ts +4 -4
  90. package/build/require/type/extends/extends.js +4 -4
  91. package/build/require/type/extends/index.d.ts +2 -2
  92. package/build/require/type/extends/index.js +2 -2
  93. package/build/require/type/extract/extract-from-mapped-result.d.ts +13 -0
  94. package/build/require/type/extract/extract-from-mapped-result.js +18 -0
  95. package/build/require/type/extract/extract.d.ts +3 -0
  96. package/build/require/type/extract/extract.js +8 -2
  97. package/build/require/type/extract/index.d.ts +1 -0
  98. package/build/require/type/extract/index.js +1 -0
  99. package/build/require/type/guard/type.d.ts +47 -46
  100. package/build/require/type/guard/type.js +252 -250
  101. package/build/require/type/indexed/index.d.ts +1 -1
  102. package/build/require/type/indexed/index.js +1 -1
  103. package/build/require/type/indexed/{indexed-mapped-result.d.ts → indexed-from-mapped-key.d.ts} +6 -6
  104. package/build/require/type/indexed/indexed-from-mapped-key.js +22 -0
  105. package/build/require/type/indexed/indexed-result.d.ts +2 -2
  106. package/build/require/type/indexed/indexed-result.js +11 -10
  107. package/build/require/type/indexed/indexed.d.ts +2 -2
  108. package/build/require/type/indexed/indexed.js +4 -4
  109. package/build/require/type/intrinsic/capitalize.js +1 -2
  110. package/build/require/type/intrinsic/index.d.ts +1 -1
  111. package/build/require/type/intrinsic/index.js +1 -1
  112. package/build/require/type/intrinsic/{intrinsic-mapped-result.d.ts → intrinsic-from-mapped-key.d.ts} +6 -5
  113. package/build/require/type/intrinsic/intrinsic-from-mapped-key.js +25 -0
  114. package/build/require/type/intrinsic/intrinsic.d.ts +6 -6
  115. package/build/require/type/intrinsic/intrinsic.js +8 -8
  116. package/build/require/type/intrinsic/lowercase.js +1 -2
  117. package/build/require/type/intrinsic/uncapitalize.js +1 -2
  118. package/build/require/type/intrinsic/uppercase.js +1 -2
  119. package/build/require/type/keyof/index.d.ts +1 -0
  120. package/build/require/type/keyof/index.js +1 -0
  121. package/build/require/type/keyof/keyof-from-mapped-result.d.ts +13 -0
  122. package/build/require/type/keyof/keyof-from-mapped-result.js +18 -0
  123. package/build/require/type/keyof/keyof.d.ts +3 -0
  124. package/build/require/type/keyof/keyof.js +9 -2
  125. package/build/require/type/mapped/mapped.d.ts +9 -6
  126. package/build/require/type/mapped/mapped.js +24 -17
  127. package/build/require/type/omit/index.d.ts +1 -1
  128. package/build/require/type/omit/index.js +1 -1
  129. package/build/require/type/omit/omit-from-mapped-key.d.ts +15 -0
  130. package/build/require/type/omit/omit-from-mapped-key.js +24 -0
  131. package/build/require/type/omit/omit.d.ts +2 -2
  132. package/build/require/type/omit/omit.js +2 -2
  133. package/build/require/type/partial/index.d.ts +1 -0
  134. package/build/require/type/partial/index.js +1 -0
  135. package/build/require/type/partial/partial-from-mapped-result.d.ts +13 -0
  136. package/build/require/type/partial/partial-from-mapped-result.js +18 -0
  137. package/build/require/type/partial/partial.d.ts +5 -2
  138. package/build/require/type/partial/partial.js +10 -5
  139. package/build/require/type/pick/index.d.ts +1 -1
  140. package/build/require/type/pick/index.js +1 -1
  141. package/build/require/type/pick/pick-from-mapped-key.d.ts +15 -0
  142. package/build/require/type/pick/pick-from-mapped-key.js +24 -0
  143. package/build/require/type/pick/pick.d.ts +2 -2
  144. package/build/require/type/pick/pick.js +2 -2
  145. package/build/require/type/required/index.d.ts +1 -0
  146. package/build/require/type/required/index.js +1 -0
  147. package/build/require/type/required/required-from-mapped-result.d.ts +13 -0
  148. package/build/require/type/required/required-from-mapped-result.js +18 -0
  149. package/build/require/type/required/required.d.ts +5 -2
  150. package/build/require/type/required/required.js +10 -5
  151. package/build/require/type/type/json.d.ts +21 -16
  152. package/build/require/type/type/json.js +3 -3
  153. package/package.json +1 -1
  154. package/readme.md +79 -91
  155. package/build/import/type/extends/extends-mapped-result-from-result.d.mts +0 -13
  156. package/build/import/type/extends/extends-mapped-result-from-result.mjs +0 -14
  157. package/build/import/type/extends/extends-mapped-result.d.mts +0 -17
  158. package/build/import/type/extends/extends-mapped-result.mjs +0 -21
  159. package/build/import/type/indexed/indexed-mapped-result.mjs +0 -18
  160. package/build/import/type/intrinsic/intrinsic-mapped-result.mjs +0 -21
  161. package/build/import/type/omit/omit-mapped-result.d.mts +0 -15
  162. package/build/import/type/omit/omit-mapped-result.mjs +0 -20
  163. package/build/import/type/pick/pick-mapped-result.d.mts +0 -15
  164. package/build/import/type/pick/pick-mapped-result.mjs +0 -20
  165. package/build/require/type/extends/extends-mapped-result-from-result.d.ts +0 -13
  166. package/build/require/type/extends/extends-mapped-result-from-result.js +0 -18
  167. package/build/require/type/extends/extends-mapped-result.d.ts +0 -17
  168. package/build/require/type/extends/extends-mapped-result.js +0 -25
  169. package/build/require/type/indexed/indexed-mapped-result.js +0 -22
  170. package/build/require/type/intrinsic/intrinsic-mapped-result.js +0 -25
  171. package/build/require/type/omit/omit-mapped-result.d.ts +0 -15
  172. package/build/require/type/omit/omit-mapped-result.js +0 -24
  173. package/build/require/type/pick/pick-mapped-result.d.ts +0 -15
  174. package/build/require/type/pick/pick-mapped-result.js +0 -24
@@ -16,18 +16,18 @@ export { ConstructorParameters, type TConstructorParameters } from './type/const
16
16
  export { Date, type TDate, type DateOptions } from './type/date/index.mjs';
17
17
  export { Deref, type TDeref } from './type/deref/index.mjs';
18
18
  export { Enum, type TEnum } from './type/enum/index.mjs';
19
- export { Exclude, type TExclude } from './type/exclude/index.mjs';
20
- export { Extends, type TExtends, ExtendsCheck, ExtendsResult, ExtendsUndefinedCheck } from './type/extends/index.mjs';
21
- export { Extract, type TExtract } from './type/extract/index.mjs';
19
+ export { Exclude, type TExclude, type TExcludeFromMappedResult } from './type/exclude/index.mjs';
20
+ export { Extends, type TExtends, type ExtendsFromMappedResult, type ExtendsFromMappedKey, ExtendsCheck, ExtendsResult, ExtendsUndefinedCheck } from './type/extends/index.mjs';
21
+ export { Extract, type TExtract, type TExtractFromMappedResult } from './type/extract/index.mjs';
22
22
  export { Function, type TFunction } from './type/function/index.mjs';
23
23
  export { Increment, type Assert, type AssertType, type AssertRest, type AssertProperties, type Ensure, type Evaluate, type TupleToIntersect, type TupleToUnion, type UnionToTuple } from './type/helpers/index.mjs';
24
- export { Index, IndexPropertyKeys, IndexMappedResult, type TIndex, type TIndexPropertyKeys, type TIndexMappedResult } from './type/indexed/index.mjs';
24
+ export { Index, IndexPropertyKeys, IndexFromMappedKey, type TIndex, type TIndexPropertyKeys, type TIndexFromMappedKey } from './type/indexed/index.mjs';
25
25
  export { InstanceType, type TInstanceType } from './type/instance-type/index.mjs';
26
26
  export { Integer, type TInteger, type IntegerOptions } from './type/integer/index.mjs';
27
27
  export { Intersect, type TIntersect, type IntersectOptions } from './type/intersect/index.mjs';
28
28
  export { Iterator, type TIterator } from './type/iterator/index.mjs';
29
- export { Intrinsic, type TIntrinsic, Capitalize, type TCapitalize, Lowercase, type TLowercase, Uncapitalize, type TUncapitalize, Uppercase, type TUppercase } from './type/intrinsic/index.mjs';
30
- export { KeyOf, type TKeyOf, KeyOfPropertyKeys, KeyOfPattern } from './type/keyof/index.mjs';
29
+ export { Intrinsic, IntrinsicFromMappedKey, type TIntrinsic, Capitalize, type TCapitalize, Lowercase, type TLowercase, Uncapitalize, type TUncapitalize, Uppercase, type TUppercase } from './type/intrinsic/index.mjs';
30
+ export { KeyOf, type TKeyOf, type KeyOfFromMappedResult, KeyOfPropertyKeys, KeyOfPattern } from './type/keyof/index.mjs';
31
31
  export { Literal, type TLiteral } from './type/literal/index.mjs';
32
32
  export { Mapped, MappedKey, MappedResult, type TMapped, type TMappedKey, type TMappedResult, type TMappedFunction } from './type/mapped/index.mjs';
33
33
  export { Never, type TNever } from './type/never/index.mjs';
@@ -35,11 +35,11 @@ export { Not, type TNot } from './type/not/index.mjs';
35
35
  export { Null, type TNull } from './type/null/index.mjs';
36
36
  export { Number, type TNumber, type NumberOptions } from './type/number/index.mjs';
37
37
  export { Object, type TObject, type TProperties, type ObjectOptions } from './type/object/index.mjs';
38
- export { Omit, type TOmit, type TOmitMappedResult } from './type/omit/index.mjs';
38
+ export { Omit, type TOmit, type TOmitFromMappedKey } from './type/omit/index.mjs';
39
39
  export { Optional, type TOptional } from './type/optional/index.mjs';
40
40
  export { Parameters, type TParameters } from './type/parameters/index.mjs';
41
- export { Partial, type TPartial } from './type/partial/index.mjs';
42
- export { Pick, type TPick, type TPickMappedResult } from './type/pick/index.mjs';
41
+ export { Partial, PartialFromMappedResult, type TPartial, type TPartialFromMappedResult } from './type/partial/index.mjs';
42
+ export { Pick, type TPick, type TPickFromMappedKey } from './type/pick/index.mjs';
43
43
  export { Promise, type TPromise } from './type/promise/index.mjs';
44
44
  export { Readonly, type TReadonly } from './type/readonly/index.mjs';
45
45
  export { ReadonlyOptional, type TReadonlyOptional } from './type/readonly-optional/index.mjs';
@@ -47,7 +47,7 @@ export { Record, type TRecord } from './type/record/index.mjs';
47
47
  export { Recursive, type TRecursive, type TThis } from './type/recursive/index.mjs';
48
48
  export { Ref, type TRef } from './type/ref/index.mjs';
49
49
  export { RegExp, type TRegExp } from './type/regexp/index.mjs';
50
- export { Required, type TRequired } from './type/required/index.mjs';
50
+ export { Required, type TRequired, type TRequiredFromMappedResult } from './type/required/index.mjs';
51
51
  export { Rest, type TRest } from './type/rest/index.mjs';
52
52
  export { ReturnType, type TReturnType } from './type/return-type/index.mjs';
53
53
  export { type TSchema, type TKind, type SchemaOptions, type TAnySchema } from './type/schema/index.mjs';
@@ -21,12 +21,12 @@ export { Extends, ExtendsCheck, ExtendsResult, ExtendsUndefinedCheck } from './t
21
21
  export { Extract } from './type/extract/index.mjs';
22
22
  export { Function } from './type/function/index.mjs';
23
23
  export { Increment } from './type/helpers/index.mjs';
24
- export { Index, IndexPropertyKeys, IndexMappedResult } from './type/indexed/index.mjs';
24
+ export { Index, IndexPropertyKeys, IndexFromMappedKey } from './type/indexed/index.mjs';
25
25
  export { InstanceType } from './type/instance-type/index.mjs';
26
26
  export { Integer } from './type/integer/index.mjs';
27
27
  export { Intersect } from './type/intersect/index.mjs';
28
28
  export { Iterator } from './type/iterator/index.mjs';
29
- export { Intrinsic, Capitalize, Lowercase, Uncapitalize, Uppercase } from './type/intrinsic/index.mjs';
29
+ export { Intrinsic, IntrinsicFromMappedKey, Capitalize, Lowercase, Uncapitalize, Uppercase } from './type/intrinsic/index.mjs';
30
30
  export { KeyOf, KeyOfPropertyKeys, KeyOfPattern } from './type/keyof/index.mjs';
31
31
  export { Literal } from './type/literal/index.mjs';
32
32
  export { Mapped, MappedKey, MappedResult } from './type/mapped/index.mjs';
@@ -38,7 +38,7 @@ export { Object } from './type/object/index.mjs';
38
38
  export { Omit } from './type/omit/index.mjs';
39
39
  export { Optional } from './type/optional/index.mjs';
40
40
  export { Parameters } from './type/parameters/index.mjs';
41
- export { Partial } from './type/partial/index.mjs';
41
+ export { Partial, PartialFromMappedResult } from './type/partial/index.mjs';
42
42
  export { Pick } from './type/pick/index.mjs';
43
43
  export { Promise } from './type/promise/index.mjs';
44
44
  export { Readonly } from './type/readonly/index.mjs';
@@ -0,0 +1,13 @@
1
+ import type { TSchema, SchemaOptions } from '../schema/index.mjs';
2
+ import type { TProperties } from '../object/index.mjs';
3
+ import { type TMappedResult } from '../mapped/index.mjs';
4
+ import { type TExclude } from './exclude.mjs';
5
+ type FromProperties<K extends TProperties, U extends TSchema> = ({
6
+ [K2 in keyof K]: TExclude<K[K2], U>;
7
+ });
8
+ declare function FromProperties<K extends TProperties, U extends TSchema>(K: K, U: U, options: SchemaOptions): FromProperties<K, U>;
9
+ type FromMappedResult<K extends TMappedResult, U extends TSchema> = (FromProperties<K['properties'], U>);
10
+ declare function FromMappedResult<K extends TMappedResult, U extends TSchema>(K: K, U: U, options: SchemaOptions): FromMappedResult<K, U>;
11
+ export type TExcludeFromMappedResult<T extends TMappedResult, U extends TSchema, P extends TProperties = FromMappedResult<T, U>> = (TMappedResult<P>);
12
+ export declare function ExcludeFromMappedResult<T extends TMappedResult, U extends TSchema, P extends TProperties = FromMappedResult<T, U>>(T: T, U: U, options: SchemaOptions): TMappedResult<P>;
13
+ export {};
@@ -0,0 +1,14 @@
1
+ import { MappedResult } from '../mapped/index.mjs';
2
+ import { Exclude } from './exclude.mjs';
3
+ function FromProperties(K, U, options) {
4
+ return globalThis.Object.getOwnPropertyNames(K).reduce((Acc, K2) => {
5
+ return { ...Acc, [K2]: Exclude(K[K2], U, options) };
6
+ }, {});
7
+ }
8
+ function FromMappedResult(K, U, options) {
9
+ return FromProperties(K.properties, U, options);
10
+ }
11
+ export function ExcludeFromMappedResult(T, U, options) {
12
+ const P = FromMappedResult(T, U, options);
13
+ return MappedResult(P);
14
+ }
@@ -1,11 +1,13 @@
1
1
  import type { TSchema, SchemaOptions } from '../schema/index.mjs';
2
2
  import type { UnionToTuple, AssertRest, AssertType, Assert } from '../helpers/index.mjs';
3
+ import type { TMappedResult } from '../mapped/index.mjs';
3
4
  import { type TTemplateLiteral } from '../template-literal/index.mjs';
4
5
  import { type TUnion } from '../union/index.mjs';
5
6
  import { type TNever } from '../never/index.mjs';
6
7
  import { type TLiteral } from '../literal/index.mjs';
7
8
  import { type Static } from '../static/index.mjs';
8
9
  import { UnionResolve } from '../union/index.mjs';
10
+ import { type TExcludeFromMappedResult } from './exclude-from-mapped-result.mjs';
9
11
  type ExcludeTemplateLiteralResult<T extends string> = UnionResolve<AssertRest<UnionToTuple<{
10
12
  [K in T]: TLiteral<K>;
11
13
  }[T]>>>;
@@ -14,7 +16,8 @@ type ExcludeArray<T extends TSchema[], U extends TSchema> = AssertRest<UnionToTu
14
16
  [K in keyof T]: Static<AssertType<T[K]>> extends Static<U> ? never : T[K];
15
17
  }[number]>> extends infer R extends TSchema[] ? UnionResolve<R> : never;
16
18
  type ExcludeResolve<T extends TSchema, U extends TSchema> = T extends TTemplateLiteral ? ExcludeTemplateLiteral<T, U> : T extends TUnion<infer S> ? ExcludeArray<S, U> : T extends U ? TNever : T;
17
- export declare function ExcludeResolve<L extends TSchema, R extends TSchema>(L: L, R: R): ExcludeResolve<L, R>;
19
+ declare function ExcludeResolve<L extends TSchema, R extends TSchema>(L: L, R: R): ExcludeResolve<L, R>;
18
20
  export type TExclude<T extends TSchema, U extends TSchema> = ExcludeResolve<T, U>;
21
+ export declare function Exclude<L extends TMappedResult, R extends TSchema>(unionType: L, excludedMembers: R, options?: SchemaOptions): TExcludeFromMappedResult<L, R>;
19
22
  export declare function Exclude<L extends TSchema, R extends TSchema>(unionType: L, excludedMembers: R, options?: SchemaOptions): TExclude<L, R>;
20
23
  export {};
@@ -3,8 +3,9 @@ import { Union } from '../union/index.mjs';
3
3
  import { Never } from '../never/index.mjs';
4
4
  import { ExtendsCheck, ExtendsResult } from '../extends/index.mjs';
5
5
  import { CloneType } from '../clone/type.mjs';
6
- import { TTemplateLiteral as IsTemplateLiteralType, TUnion as IsUnionType } from '../guard/type.mjs';
7
- export function ExcludeResolve(L, R) {
6
+ import { ExcludeFromMappedResult } from './exclude-from-mapped-result.mjs';
7
+ import { TMappedResult as IsMappedResultType, TTemplateLiteral as IsTemplateLiteralType, TUnion as IsUnionType } from '../guard/type.mjs';
8
+ function ExcludeResolve(L, R) {
8
9
  return (IsTemplateLiteralType(L) ? ExcludeResolve(TemplateLiteralToUnion(L), R) :
9
10
  IsTemplateLiteralType(R) ? ExcludeResolve(L, TemplateLiteralToUnion(R)) :
10
11
  IsUnionType(L) ? (() => {
@@ -15,6 +16,11 @@ export function ExcludeResolve(L, R) {
15
16
  L);
16
17
  }
17
18
  export function Exclude(unionType, excludedMembers, options = {}) {
18
- const E = ExcludeResolve(unionType, excludedMembers);
19
- return CloneType(E, options);
19
+ if (IsMappedResultType(unionType)) {
20
+ return ExcludeFromMappedResult(unionType, excludedMembers, options);
21
+ }
22
+ else {
23
+ const E = ExcludeResolve(unionType, excludedMembers);
24
+ return CloneType(E, options);
25
+ }
20
26
  }
@@ -1 +1,2 @@
1
+ export * from './exclude-from-mapped-result.mjs';
1
2
  export * from './exclude.mjs';
@@ -1 +1,2 @@
1
+ export * from './exclude-from-mapped-result.mjs';
1
2
  export * from './exclude.mjs';
@@ -0,0 +1,17 @@
1
+ import type { TSchema, SchemaOptions } from '../schema/index.mjs';
2
+ import type { TProperties } from '../object/index.mjs';
3
+ import type { Assert } from '../helpers/index.mjs';
4
+ import { type TMappedResult, type TMappedKey } from '../mapped/index.mjs';
5
+ import { TLiteral, TLiteralValue } from '../literal/index.mjs';
6
+ import { type TExtends } from './extends.mjs';
7
+ type FromPropertyKey<K extends PropertyKey, U extends TSchema, L extends TSchema, R extends TSchema> = {
8
+ [_ in K]: TExtends<TLiteral<Assert<K, TLiteralValue>>, U, L, R>;
9
+ };
10
+ declare function FromPropertyKey<K extends PropertyKey, U extends TSchema, L extends TSchema, R extends TSchema>(K: K, U: U, L: L, R: R, options: SchemaOptions): FromPropertyKey<K, U, L, R>;
11
+ type FromPropertyKeys<K extends PropertyKey[], U extends TSchema, L extends TSchema, R extends TSchema> = (K extends [infer LK extends PropertyKey, ...infer RK extends PropertyKey[]] ? FromPropertyKey<LK, U, L, R> & FromPropertyKeys<RK, U, L, R> : {});
12
+ declare function FromPropertyKeys<K extends PropertyKey[], U extends TSchema, L extends TSchema, R extends TSchema>(K: [...K], U: U, L: L, R: R, options: SchemaOptions): FromPropertyKeys<K, U, L, R>;
13
+ type FromMappedKey<K extends TMappedKey, U extends TSchema, L extends TSchema, R extends TSchema> = (FromPropertyKeys<K['keys'], U, L, R>);
14
+ declare function FromMappedKey<K extends TMappedKey, U extends TSchema, L extends TSchema, R extends TSchema>(K: K, U: U, L: L, R: R, options: SchemaOptions): FromMappedKey<K, U, L, R>;
15
+ export type TExtendsFromMappedKey<T extends TMappedKey, U extends TSchema, L extends TSchema, R extends TSchema, P extends TProperties = FromMappedKey<T, U, L, R>> = (TMappedResult<P>);
16
+ export declare function ExtendsFromMappedKey<T extends TMappedKey, U extends TSchema, L extends TSchema, R extends TSchema, P extends TProperties = FromMappedKey<T, U, L, R>>(T: T, U: U, L: L, R: R, options: SchemaOptions): TMappedResult<P>;
17
+ export {};
@@ -0,0 +1,21 @@
1
+ import { MappedResult } from '../mapped/index.mjs';
2
+ import { Literal } from '../literal/index.mjs';
3
+ import { Extends } from './extends.mjs';
4
+ function FromPropertyKey(K, U, L, R, options) {
5
+ return {
6
+ [K]: Extends(Literal(K), U, L, R, options)
7
+ };
8
+ }
9
+ function FromPropertyKeys(K, U, L, R, options) {
10
+ const [LK, ...RK] = K;
11
+ return (K.length > 0
12
+ ? { ...FromPropertyKey(LK, U, L, R, options), ...FromPropertyKeys(RK, U, L, R, options) }
13
+ : {});
14
+ }
15
+ function FromMappedKey(K, U, L, R, options) {
16
+ return FromPropertyKeys(K.keys, U, L, R, options);
17
+ }
18
+ export function ExtendsFromMappedKey(T, U, L, R, options) {
19
+ const P = FromMappedKey(T, U, L, R, options);
20
+ return MappedResult(P);
21
+ }
@@ -0,0 +1,13 @@
1
+ import type { TSchema, SchemaOptions } from '../schema/index.mjs';
2
+ import type { TProperties } from '../object/index.mjs';
3
+ import { type TMappedResult } from '../mapped/index.mjs';
4
+ import { type TExtends } from './extends.mjs';
5
+ type FromProperties<K extends TProperties, U extends TSchema, L extends TSchema, R extends TSchema> = ({
6
+ [K2 in keyof K]: TExtends<K[K2], U, L, R>;
7
+ });
8
+ declare function FromProperties<K extends TProperties, U extends TSchema, L extends TSchema, R extends TSchema>(K: K, U: U, L: L, R: R, options: SchemaOptions): FromProperties<K, U, L, R>;
9
+ type FromMappedResult<K extends TMappedResult, U extends TSchema, L extends TSchema, R extends TSchema> = (FromProperties<K['properties'], U, L, R>);
10
+ declare function FromMappedResult<K extends TMappedResult, U extends TSchema, L extends TSchema, R extends TSchema>(K: K, U: U, L: L, R: R, options: SchemaOptions): FromMappedResult<K, U, L, R>;
11
+ export type TExtendsFromMappedResult<T extends TMappedResult, U extends TSchema, L extends TSchema, R extends TSchema, P extends TProperties = FromMappedResult<T, U, L, R>> = (TMappedResult<P>);
12
+ export declare function ExtendsFromMappedResult<T extends TMappedResult, U extends TSchema, L extends TSchema, R extends TSchema, P extends TProperties = FromMappedResult<T, U, L, R>>(T: T, U: U, L: L, R: R, options: SchemaOptions): TMappedResult<P>;
13
+ export {};
@@ -0,0 +1,14 @@
1
+ import { MappedResult } from '../mapped/index.mjs';
2
+ import { Extends } from './extends.mjs';
3
+ function FromProperties(K, U, L, R, options) {
4
+ return globalThis.Object.getOwnPropertyNames(K).reduce((Acc, K2) => {
5
+ return { ...Acc, [K2]: Extends(K[K2], U, L, R, options) };
6
+ }, {});
7
+ }
8
+ function FromMappedResult(K, U, L, R, options) {
9
+ return FromProperties(K.properties, U, L, R, options);
10
+ }
11
+ export function ExtendsFromMappedResult(T, U, L, R, options) {
12
+ const P = FromMappedResult(T, U, L, R, options);
13
+ return MappedResult(P);
14
+ }
@@ -3,12 +3,12 @@ import type { Static } from '../static/index.mjs';
3
3
  import { type TUnion } from '../union/index.mjs';
4
4
  import { TMappedKey, TMappedResult } from '../mapped/index.mjs';
5
5
  import { UnionToTuple } from '../helpers/index.mjs';
6
- import { type TExtendsMappedResult } from './extends-mapped-result.mjs';
7
- import { type TExtendsMappedResultFromResult } from './extends-mapped-result-from-result.mjs';
6
+ import { type TExtendsFromMappedKey } from './extends-from-mapped-key.mjs';
7
+ import { type TExtendsFromMappedResult } from './extends-from-mapped-result.mjs';
8
8
  type ExtendsResolve<L extends TSchema, R extends TSchema, T extends TSchema, U extends TSchema> = ((Static<L> extends Static<R> ? T : U) extends infer O extends TSchema ? UnionToTuple<O> extends [infer X extends TSchema, infer Y extends TSchema] ? TUnion<[X, Y]> : O : never);
9
9
  declare function ExtendsResolve<L extends TSchema, R extends TSchema, T extends TSchema, U extends TSchema>(left: L, right: R, trueType: T, falseType: U): ExtendsResolve<L, R, T, U>;
10
10
  export type TExtends<L extends TSchema, R extends TSchema, T extends TSchema, F extends TSchema> = ExtendsResolve<L, R, T, F>;
11
- export declare function Extends<L extends TMappedResult, R extends TSchema, T extends TSchema, F extends TSchema>(L: L, R: R, T: T, F: F, options?: SchemaOptions): TExtendsMappedResultFromResult<L, R, T, F>;
12
- export declare function Extends<L extends TMappedKey, R extends TSchema, T extends TSchema, F extends TSchema>(L: L, R: R, T: T, F: F, options?: SchemaOptions): TExtendsMappedResult<L, R, T, F>;
11
+ export declare function Extends<L extends TMappedResult, R extends TSchema, T extends TSchema, F extends TSchema>(L: L, R: R, T: T, F: F, options?: SchemaOptions): TExtendsFromMappedResult<L, R, T, F>;
12
+ export declare function Extends<L extends TMappedKey, R extends TSchema, T extends TSchema, F extends TSchema>(L: L, R: R, T: T, F: F, options?: SchemaOptions): TExtendsFromMappedKey<L, R, T, F>;
13
13
  export declare function Extends<L extends TSchema, R extends TSchema, T extends TSchema, F extends TSchema>(L: L, R: R, T: T, F: F, options?: SchemaOptions): TExtends<L, R, T, F>;
14
14
  export {};
@@ -2,8 +2,8 @@ import { TMappedKey as IsMappedKeyType, TMappedResult as IsMappedResultType } fr
2
2
  import { Union } from '../union/index.mjs';
3
3
  import { ExtendsCheck, ExtendsResult } from './extends-check.mjs';
4
4
  import { CloneType } from '../clone/type.mjs';
5
- import { ExtendsMappedResult } from './extends-mapped-result.mjs';
6
- import { ExtendsMappedResultFromResult } from './extends-mapped-result-from-result.mjs';
5
+ import { ExtendsFromMappedKey } from './extends-from-mapped-key.mjs';
6
+ import { ExtendsFromMappedResult } from './extends-from-mapped-result.mjs';
7
7
  function ExtendsResolve(left, right, trueType, falseType) {
8
8
  const R = ExtendsCheck(left, right);
9
9
  return (R === ExtendsResult.Union ? Union([trueType, falseType]) :
@@ -11,7 +11,7 @@ function ExtendsResolve(left, right, trueType, falseType) {
11
11
  falseType);
12
12
  }
13
13
  export function Extends(L, R, T, F, options = {}) {
14
- return (IsMappedResultType(L) ? CloneType(ExtendsMappedResultFromResult(L, R, T, F), options) :
15
- IsMappedKeyType(L) ? CloneType(ExtendsMappedResult(L, R, T, F), options) :
14
+ return (IsMappedResultType(L) ? ExtendsFromMappedResult(L, R, T, F, options) :
15
+ IsMappedKeyType(L) ? CloneType(ExtendsFromMappedKey(L, R, T, F, options)) :
16
16
  CloneType(ExtendsResolve(L, R, T, F), options));
17
17
  }
@@ -1,5 +1,5 @@
1
1
  export * from './extends-check.mjs';
2
- export * from './extends-mapped-result-from-result.mjs';
3
- export * from './extends-mapped-result.mjs';
2
+ export * from './extends-from-mapped-key.mjs';
3
+ export * from './extends-from-mapped-result.mjs';
4
4
  export * from './extends-undefined.mjs';
5
5
  export * from './extends.mjs';
@@ -1,5 +1,5 @@
1
1
  export * from './extends-check.mjs';
2
- export * from './extends-mapped-result-from-result.mjs';
3
- export * from './extends-mapped-result.mjs';
2
+ export * from './extends-from-mapped-key.mjs';
3
+ export * from './extends-from-mapped-result.mjs';
4
4
  export * from './extends-undefined.mjs';
5
5
  export * from './extends.mjs';
@@ -0,0 +1,13 @@
1
+ import type { TSchema, SchemaOptions } from '../schema/index.mjs';
2
+ import type { TProperties } from '../object/index.mjs';
3
+ import { type TMappedResult } from '../mapped/index.mjs';
4
+ import { type TExtract } from './extract.mjs';
5
+ type FromProperties<K extends TProperties, U extends TSchema> = ({
6
+ [K2 in keyof K]: TExtract<K[K2], U>;
7
+ });
8
+ declare function FromProperties<K extends TProperties, U extends TSchema>(K: K, U: U, options: SchemaOptions): FromProperties<K, U>;
9
+ type FromMappedResult<K extends TMappedResult, U extends TSchema> = (FromProperties<K['properties'], U>);
10
+ declare function FromMappedResult<K extends TMappedResult, U extends TSchema>(K: K, U: U, options: SchemaOptions): FromMappedResult<K, U>;
11
+ export type TExtractFromMappedResult<T extends TMappedResult, U extends TSchema, P extends TProperties = FromMappedResult<T, U>> = (TMappedResult<P>);
12
+ export declare function ExtractFromMappedResult<T extends TMappedResult, U extends TSchema, P extends TProperties = FromMappedResult<T, U>>(T: T, U: U, options: SchemaOptions): TMappedResult<P>;
13
+ export {};
@@ -0,0 +1,14 @@
1
+ import { MappedResult } from '../mapped/index.mjs';
2
+ import { Extract } from './extract.mjs';
3
+ function FromProperties(K, U, options) {
4
+ return globalThis.Object.getOwnPropertyNames(K).reduce((Acc, K2) => {
5
+ return { ...Acc, [K2]: Extract(K[K2], U, options) };
6
+ }, {});
7
+ }
8
+ function FromMappedResult(K, U, options) {
9
+ return FromProperties(K.properties, U, options);
10
+ }
11
+ export function ExtractFromMappedResult(T, U, options) {
12
+ const P = FromMappedResult(T, U, options);
13
+ return MappedResult(P);
14
+ }
@@ -1,10 +1,12 @@
1
1
  import type { TSchema, SchemaOptions } from '../schema/index.mjs';
2
2
  import type { Assert, AssertRest, AssertType, UnionToTuple } from '../helpers/index.mjs';
3
+ import type { TMappedResult } from '../mapped/index.mjs';
3
4
  import { type TTemplateLiteral } from '../template-literal/index.mjs';
4
5
  import { type TLiteral } from '../literal/index.mjs';
5
6
  import { type TUnion } from '../union/index.mjs';
6
7
  import { type Static } from '../static/index.mjs';
7
8
  import { UnionResolve } from '../union/index.mjs';
9
+ import { type TExtractFromMappedResult } from './extract-from-mapped-result.mjs';
8
10
  type FromTemplateLiteralResult<T extends string> = UnionResolve<AssertRest<UnionToTuple<{
9
11
  [K in T]: TLiteral<K>;
10
12
  }[T]>>>;
@@ -15,5 +17,6 @@ type FromArray<T extends TSchema[], U extends TSchema> = AssertRest<UnionToTuple
15
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);
16
18
  export declare function ExtractResolve<L extends TSchema, R extends TSchema>(L: L, R: R): ExtractResolve<L, R>;
17
19
  export type TExtract<T extends TSchema, U extends TSchema> = ExtractResolve<T, U>;
20
+ export declare function Extract<L extends TMappedResult, R extends TSchema>(type: L, union: R, options?: SchemaOptions): TExtractFromMappedResult<L, R>;
18
21
  export declare function Extract<L extends TSchema, R extends TSchema>(type: L, union: R, options?: SchemaOptions): TExtract<L, R>;
19
22
  export {};
@@ -3,7 +3,8 @@ import { Union } from '../union/index.mjs';
3
3
  import { Never } from '../never/index.mjs';
4
4
  import { ExtendsCheck, ExtendsResult } from '../extends/index.mjs';
5
5
  import { CloneType } from '../clone/type.mjs';
6
- import { TTemplateLiteral as IsTemplateLiteralType, TUnion as IsUnionType } from '../guard/type.mjs';
6
+ import { ExtractFromMappedResult } from './extract-from-mapped-result.mjs';
7
+ import { TMappedResult as IsMappedResultType, TTemplateLiteral as IsTemplateLiteralType, TUnion as IsUnionType } from '../guard/type.mjs';
7
8
  export function ExtractResolve(L, R) {
8
9
  return (IsTemplateLiteralType(L) ? ExtractResolve(TemplateLiteralToUnion(L), R) :
9
10
  IsTemplateLiteralType(R) ? ExtractResolve(L, TemplateLiteralToUnion(R)) :
@@ -15,6 +16,11 @@ export function ExtractResolve(L, R) {
15
16
  Never());
16
17
  }
17
18
  export function Extract(type, union, options = {}) {
18
- const E = ExtractResolve(type, union);
19
- return CloneType(E, options);
19
+ if (IsMappedResultType(type)) {
20
+ return ExtractFromMappedResult(type, union, options);
21
+ }
22
+ else {
23
+ const E = ExtractResolve(type, union);
24
+ return CloneType(E, options);
25
+ }
20
26
  }
@@ -1 +1,2 @@
1
+ export * from './extract-from-mapped-result.mjs';
1
2
  export * from './extract.mjs';
@@ -1 +1,2 @@
1
+ export * from './extract-from-mapped-result.mjs';
1
2
  export * from './extract.mjs';
@@ -14,7 +14,7 @@ import type { TFunction } from '../function/index.mjs';
14
14
  import type { TInteger } from '../integer/index.mjs';
15
15
  import type { TIntersect } from '../intersect/index.mjs';
16
16
  import type { TIterator } from '../iterator/index.mjs';
17
- import type { TLiteral } from '../literal/index.mjs';
17
+ import type { TLiteral, TLiteralValue } from '../literal/index.mjs';
18
18
  import type { TMappedKey, TMappedResult } from '../mapped/index.mjs';
19
19
  import type { TNever } from '../never/index.mjs';
20
20
  import type { TNot } from '../not/index.mjs';
@@ -37,56 +37,57 @@ import type { TDate } from '../date/index.mjs';
37
37
  import type { TThis } from '../recursive/index.mjs';
38
38
  export declare class TypeGuardUnknownTypeError extends Error {
39
39
  }
40
- export declare function TReadonly<T extends TSchema>(schema: T): schema is TReadonly<T>;
41
- export declare function TOptional<T extends TSchema>(schema: T): schema is TOptional<T>;
42
- export declare function TAny(schema: unknown): schema is TAny;
43
- export declare function TArray(schema: unknown): schema is TArray;
44
- export declare function TAsyncIterator(schema: unknown): schema is TAsyncIterator;
45
- export declare function TBigInt(schema: unknown): schema is TBigInt;
46
- export declare function TBoolean(schema: unknown): schema is TBoolean;
47
- export declare function TConstructor(schema: unknown): schema is TConstructor;
48
- export declare function TDate(schema: unknown): schema is TDate;
49
- export declare function TFunction(schema: unknown): schema is TFunction;
50
- export declare function TInteger(schema: unknown): schema is TInteger;
51
- export declare function TProperties(schema: unknown): schema is TProperties;
52
- export declare function TIntersect(schema: unknown): schema is TIntersect;
53
- export declare function TIterator(schema: unknown): schema is TIterator;
54
- export declare function TKindOf<T extends string>(schema: unknown, kind: T): schema is Record<PropertyKey, unknown> & {
40
+ export declare function TReadonly<T extends TSchema>(value: T): value is TReadonly<T>;
41
+ export declare function TOptional<T extends TSchema>(value: T): value is TOptional<T>;
42
+ export declare function TAny(value: unknown): value is TAny;
43
+ export declare function TArray(value: unknown): value is TArray;
44
+ export declare function TAsyncIterator(value: unknown): value is TAsyncIterator;
45
+ export declare function TBigInt(value: unknown): value is TBigInt;
46
+ export declare function TBoolean(value: unknown): value is TBoolean;
47
+ export declare function TConstructor(value: unknown): value is TConstructor;
48
+ export declare function TDate(value: unknown): value is TDate;
49
+ export declare function TFunction(value: unknown): value is TFunction;
50
+ export declare function TInteger(value: unknown): value is TInteger;
51
+ export declare function TProperties(value: unknown): value is TProperties;
52
+ export declare function TIntersect(value: unknown): value is TIntersect;
53
+ export declare function TIterator(value: unknown): value is TIterator;
54
+ export declare function TKindOf<T extends string>(value: unknown, kind: T): value is Record<PropertyKey, unknown> & {
55
55
  [Kind]: T;
56
56
  };
57
- export declare function TLiteralString(schema: unknown): schema is TLiteral<string>;
58
- export declare function TLiteralNumber(schema: unknown): schema is TLiteral<number>;
59
- export declare function TLiteralBoolean(schema: unknown): schema is TLiteral<boolean>;
60
- export declare function TLiteral(schema: unknown): schema is TLiteral;
61
- export declare function TMappedKey(schema: unknown): schema is TMappedKey;
62
- export declare function TMappedResult(schema: unknown): schema is TMappedResult;
63
- export declare function TNever(schema: unknown): schema is TNever;
64
- export declare function TNot(schema: unknown): schema is TNot;
65
- export declare function TNull(schema: unknown): schema is TNull;
66
- export declare function TNumber(schema: unknown): schema is TNumber;
67
- export declare function TObject(schema: unknown): schema is TObject;
68
- export declare function TPromise(schema: unknown): schema is TPromise;
69
- export declare function TRecord(schema: unknown): schema is TRecord;
70
- export declare function TRecursive(schema: unknown): schema is {
57
+ export declare function TLiteralString(value: unknown): value is TLiteral<string>;
58
+ export declare function TLiteralNumber(value: unknown): value is TLiteral<number>;
59
+ export declare function TLiteralBoolean(value: unknown): value is TLiteral<boolean>;
60
+ export declare function TLiteral(value: unknown): value is TLiteral;
61
+ export declare function TLiteralValue(value: unknown): value is TLiteralValue;
62
+ export declare function TMappedKey(value: unknown): value is TMappedKey;
63
+ export declare function TMappedResult(value: unknown): value is TMappedResult;
64
+ export declare function TNever(value: unknown): value is TNever;
65
+ export declare function TNot(value: unknown): value is TNot;
66
+ export declare function TNull(value: unknown): value is TNull;
67
+ export declare function TNumber(value: unknown): value is TNumber;
68
+ export declare function TObject(value: unknown): value is TObject;
69
+ export declare function TPromise(value: unknown): value is TPromise;
70
+ export declare function TRecord(value: unknown): value is TRecord;
71
+ export declare function TRecursive(value: unknown): value is {
71
72
  [Hint]: 'Recursive';
72
73
  };
73
- export declare function TRef(schema: unknown): schema is TRef;
74
- export declare function TString(schema: unknown): schema is TString;
75
- export declare function TSymbol(schema: unknown): schema is TSymbol;
76
- export declare function TTemplateLiteral(schema: unknown): schema is TTemplateLiteral<TTemplateLiteralKind[]>;
77
- export declare function TThis(schema: unknown): schema is TThis;
78
- export declare function TTransform(schema: unknown): schema is {
74
+ export declare function TRef(value: unknown): value is TRef;
75
+ export declare function TString(value: unknown): value is TString;
76
+ export declare function TSymbol(value: unknown): value is TSymbol;
77
+ export declare function TTemplateLiteral(value: unknown): value is TTemplateLiteral<TTemplateLiteralKind[]>;
78
+ export declare function TThis(value: unknown): value is TThis;
79
+ export declare function TTransform(value: unknown): value is {
79
80
  [TransformKind]: TransformOptions;
80
81
  };
81
- export declare function TTuple(schema: unknown): schema is TTuple;
82
- export declare function TUndefined(schema: unknown): schema is TUndefined;
83
- export declare function TUnionLiteral(schema: unknown): schema is TUnion<TLiteral[]>;
84
- export declare function TUnion(schema: unknown): schema is TUnion;
85
- export declare function TUint8Array(schema: unknown): schema is TUint8Array;
86
- export declare function TUnknown(schema: unknown): schema is TUnknown;
87
- export declare function TUnsafe(schema: unknown): schema is TUnsafe<unknown>;
88
- export declare function TVoid(schema: unknown): schema is TVoid;
89
- export declare function TKind(schema: unknown): schema is Record<PropertyKey, unknown> & {
82
+ export declare function TTuple(value: unknown): value is TTuple;
83
+ export declare function TUndefined(value: unknown): value is TUndefined;
84
+ export declare function TUnionLiteral(value: unknown): value is TUnion<TLiteral[]>;
85
+ export declare function TUnion(value: unknown): value is TUnion;
86
+ export declare function TUint8Array(value: unknown): value is TUint8Array;
87
+ export declare function TUnknown(value: unknown): value is TUnknown;
88
+ export declare function TUnsafe(value: unknown): value is TUnsafe<unknown>;
89
+ export declare function TVoid(value: unknown): value is TVoid;
90
+ export declare function TKind(value: unknown): value is Record<PropertyKey, unknown> & {
90
91
  [Kind]: string;
91
92
  };
92
- export declare function TSchema(schema: unknown): schema is TSchema;
93
+ export declare function TSchema(value: unknown): value is TSchema;