@sinclair/typebox 0.32.0-dev-19 → 0.32.0-dev-21

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 (98) hide show
  1. package/build/import/compiler/compiler.mjs +62 -62
  2. package/build/import/errors/errors.mjs +62 -62
  3. package/build/import/index.d.mts +6 -6
  4. package/build/import/index.mjs +3 -3
  5. package/build/import/type/indexed/indexed-property-keys.d.mts +2 -2
  6. package/build/import/type/indexed/indexed-property-keys.mjs +6 -11
  7. package/build/import/type/intrinsic/intrinsic.mjs +3 -3
  8. package/build/import/type/optional/index.d.mts +1 -0
  9. package/build/import/type/optional/index.mjs +1 -0
  10. package/build/import/type/optional/optional-from-mapped-result.d.mts +12 -0
  11. package/build/import/type/optional/optional-from-mapped-result.mjs +17 -0
  12. package/build/import/type/optional/optional.d.mts +19 -2
  13. package/build/import/type/optional/optional.mjs +18 -2
  14. package/build/import/type/readonly/index.d.mts +1 -0
  15. package/build/import/type/readonly/index.mjs +1 -0
  16. package/build/import/type/readonly/readonly-from-mapped-result.d.mts +12 -0
  17. package/build/import/type/readonly/readonly-from-mapped-result.mjs +17 -0
  18. package/build/import/type/readonly/readonly.d.mts +18 -1
  19. package/build/import/type/readonly/readonly.mjs +18 -2
  20. package/build/import/type/record/record.d.mts +2 -2
  21. package/build/import/type/record/record.mjs +2 -3
  22. package/build/import/type/schema/schema.d.mts +1 -1
  23. package/build/import/type/symbol/symbol.d.mts +1 -1
  24. package/build/import/type/template-literal/finite.d.mts +7 -5
  25. package/build/import/type/template-literal/finite.mjs +14 -5
  26. package/build/import/type/template-literal/generate.d.mts +14 -8
  27. package/build/import/type/template-literal/generate.mjs +19 -9
  28. package/build/import/type/template-literal/index.d.mts +1 -1
  29. package/build/import/type/template-literal/index.mjs +1 -1
  30. package/build/import/type/template-literal/{parser.mjs → parse.mjs} +7 -2
  31. package/build/import/type/template-literal/syntax.d.mts +1 -1
  32. package/build/import/type/template-literal/syntax.mjs +0 -1
  33. package/build/import/type/template-literal/template-literal.d.mts +2 -2
  34. package/build/import/type/template-literal/template-literal.mjs +1 -1
  35. package/build/import/type/template-literal/union.d.mts +2 -2
  36. package/build/import/type/template-literal/union.mjs +5 -10
  37. package/build/import/type/type/json.d.mts +19 -7
  38. package/build/import/type/type/json.mjs +5 -5
  39. package/build/import/value/cast/cast.mjs +20 -20
  40. package/build/import/value/check/check.mjs +62 -62
  41. package/build/import/value/clean/clean.mjs +16 -16
  42. package/build/import/value/convert/convert.mjs +36 -36
  43. package/build/import/value/create/create.mjs +66 -67
  44. package/build/import/value/default/default.mjs +16 -16
  45. package/build/import/value/transform/decode.mjs +18 -18
  46. package/build/import/value/transform/encode.mjs +18 -18
  47. package/build/import/value/transform/has.mjs +28 -28
  48. package/build/require/compiler/compiler.js +62 -62
  49. package/build/require/errors/errors.js +62 -62
  50. package/build/require/index.d.ts +6 -6
  51. package/build/require/index.js +6 -2
  52. package/build/require/type/indexed/indexed-property-keys.d.ts +2 -2
  53. package/build/require/type/indexed/indexed-property-keys.js +4 -9
  54. package/build/require/type/intrinsic/intrinsic.js +2 -2
  55. package/build/require/type/optional/index.d.ts +1 -0
  56. package/build/require/type/optional/index.js +1 -0
  57. package/build/require/type/optional/optional-from-mapped-result.d.ts +12 -0
  58. package/build/require/type/optional/optional-from-mapped-result.js +22 -0
  59. package/build/require/type/optional/optional.d.ts +19 -2
  60. package/build/require/type/optional/optional.js +18 -2
  61. package/build/require/type/readonly/index.d.ts +1 -0
  62. package/build/require/type/readonly/index.js +1 -0
  63. package/build/require/type/readonly/readonly-from-mapped-result.d.ts +12 -0
  64. package/build/require/type/readonly/readonly-from-mapped-result.js +22 -0
  65. package/build/require/type/readonly/readonly.d.ts +18 -1
  66. package/build/require/type/readonly/readonly.js +18 -2
  67. package/build/require/type/record/record.d.ts +2 -2
  68. package/build/require/type/record/record.js +1 -2
  69. package/build/require/type/schema/schema.d.ts +1 -1
  70. package/build/require/type/symbol/symbol.d.ts +1 -1
  71. package/build/require/type/template-literal/finite.d.ts +7 -5
  72. package/build/require/type/template-literal/finite.js +16 -6
  73. package/build/require/type/template-literal/generate.d.ts +14 -8
  74. package/build/require/type/template-literal/generate.js +22 -11
  75. package/build/require/type/template-literal/index.d.ts +1 -1
  76. package/build/require/type/template-literal/index.js +1 -1
  77. package/build/require/type/template-literal/{parser.js → parse.js} +7 -2
  78. package/build/require/type/template-literal/syntax.d.ts +1 -1
  79. package/build/require/type/template-literal/syntax.js +0 -1
  80. package/build/require/type/template-literal/template-literal.d.ts +2 -2
  81. package/build/require/type/template-literal/template-literal.js +1 -1
  82. package/build/require/type/template-literal/union.d.ts +2 -2
  83. package/build/require/type/template-literal/union.js +5 -10
  84. package/build/require/type/type/json.d.ts +19 -7
  85. package/build/require/type/type/json.js +5 -5
  86. package/build/require/value/cast/cast.js +20 -20
  87. package/build/require/value/check/check.js +62 -62
  88. package/build/require/value/clean/clean.js +16 -16
  89. package/build/require/value/convert/convert.js +36 -36
  90. package/build/require/value/create/create.js +65 -66
  91. package/build/require/value/default/default.js +16 -16
  92. package/build/require/value/transform/decode.js +18 -18
  93. package/build/require/value/transform/encode.js +18 -18
  94. package/build/require/value/transform/has.js +28 -28
  95. package/package.json +1 -1
  96. package/readme.md +52 -52
  97. /package/build/import/type/template-literal/{parser.d.mts → parse.d.mts} +0 -0
  98. /package/build/require/type/template-literal/{parser.d.ts → parse.d.ts} +0 -0
@@ -22,10 +22,10 @@ import { type TMappedKey } from '../mapped/index.mjs';
22
22
  import { type TNumber, type NumberOptions } from '../number/index.mjs';
23
23
  import { type TObject, type TProperties, type ObjectOptions } from '../object/index.mjs';
24
24
  import { type TOmit, type TOmitFromMappedKey } from '../omit/index.mjs';
25
- import { type TOptional } from '../optional/index.mjs';
25
+ import { type TOptionalWithFlag, type TOptionalFromMappedResult } from '../optional/index.mjs';
26
26
  import { type TPartial, type TPartialFromMappedResult } from '../partial/index.mjs';
27
27
  import { type TPick, type TPickFromMappedKey } from '../pick/index.mjs';
28
- import { type TReadonly } from '../readonly/index.mjs';
28
+ import { type TReadonlyWithFlag, type TReadonlyFromMappedResult } from '../readonly/index.mjs';
29
29
  import { type TReadonlyOptional } from '../readonly-optional/index.mjs';
30
30
  import { type TRecordOrObject } from '../record/index.mjs';
31
31
  import { type TRecursive, type TThis } from '../recursive/index.mjs';
@@ -34,7 +34,7 @@ import { type TRequired, type TRequiredFromMappedResult } from '../required/inde
34
34
  import { type TRest } from '../rest/index.mjs';
35
35
  import { type TSchema, type SchemaOptions } from '../schema/index.mjs';
36
36
  import { type TString, type StringOptions } from '../string/index.mjs';
37
- import { type TTemplateLiteral, type TTemplateLiteralKind, type TemplateLiteralSyntax } from '../template-literal/index.mjs';
37
+ import { type TTemplateLiteral, type TTemplateLiteralKind, type TTemplateLiteralSyntax } from '../template-literal/index.mjs';
38
38
  import { TransformDecodeBuilder } from '../transform/index.mjs';
39
39
  import { type TTuple } from '../tuple/index.mjs';
40
40
  import { Union } from '../union/index.mjs';
@@ -47,9 +47,21 @@ export declare class JsonTypeBuilder {
47
47
  /** `[Json]` Creates a Readonly and Optional property */
48
48
  ReadonlyOptional<T extends TSchema>(schema: T): TReadonlyOptional<T>;
49
49
  /** `[Json]` Creates a Readonly property */
50
- Readonly<T extends TSchema>(schema: T): TReadonly<T>;
51
- /** `[Json]` Creates an Optional property */
52
- Optional<T extends TSchema>(schema: T): TOptional<T>;
50
+ Readonly<T extends TMappedResult, F extends boolean>(schema: T, enable: F): TReadonlyFromMappedResult<T, F>;
51
+ /** `[Json]` Creates a Readonly property */
52
+ Readonly<T extends TSchema, F extends boolean>(schema: T, enable: F): TReadonlyWithFlag<T, F>;
53
+ /** `[Json]` Creates a Optional property */
54
+ Readonly<T extends TMappedResult>(schema: T): TReadonlyFromMappedResult<T, true>;
55
+ /** `[Json]` Creates a Readonly property */
56
+ Readonly<T extends TSchema>(schema: T): TReadonlyWithFlag<T, true>;
57
+ /** `[Json]` Creates a Optional property */
58
+ Optional<T extends TMappedResult, F extends boolean>(schema: T, enable: F): TOptionalFromMappedResult<T, F>;
59
+ /** `[Json]` Creates a Optional property */
60
+ Optional<T extends TSchema, F extends boolean>(schema: T, enable: F): TOptionalWithFlag<T, F>;
61
+ /** `[Json]` Creates a Optional property */
62
+ Optional<T extends TMappedResult>(schema: T): TOptionalFromMappedResult<T, true>;
63
+ /** `[Json]` Creates a Optional property */
64
+ Optional<T extends TSchema>(schema: T): TOptionalWithFlag<T, true>;
53
65
  /** `[Json]` Creates an Any type */
54
66
  Any(options?: SchemaOptions): TAny;
55
67
  /** `[Json]` Creates an Array type */
@@ -145,7 +157,7 @@ export declare class JsonTypeBuilder {
145
157
  /** `[Json]` Creates a String type */
146
158
  String(options?: StringOptions): TString;
147
159
  /** `[Json]` Creates a TemplateLiteral type from template dsl string */
148
- TemplateLiteral<T extends string>(syntax: T, options?: SchemaOptions): TemplateLiteralSyntax<T>;
160
+ TemplateLiteral<T extends string>(syntax: T, options?: SchemaOptions): TTemplateLiteralSyntax<T>;
149
161
  /** `[Json]` Creates a TemplateLiteral type */
150
162
  TemplateLiteral<T extends TTemplateLiteralKind[]>(kinds: [...T], options?: SchemaOptions): TTemplateLiteral<T>;
151
163
  /** `[Json]` Creates a Transform type */
@@ -56,12 +56,12 @@ export class JsonTypeBuilder {
56
56
  return ReadonlyOptional(schema);
57
57
  }
58
58
  /** `[Json]` Creates a Readonly property */
59
- Readonly(schema) {
60
- return Readonly(schema);
59
+ Readonly(schema, enable) {
60
+ return Readonly(schema, enable ?? true);
61
61
  }
62
- /** `[Json]` Creates an Optional property */
63
- Optional(schema) {
64
- return Optional(schema);
62
+ /** `[Json]` Creates a Optional property */
63
+ Optional(schema, enable) {
64
+ return Optional(schema, enable ?? true);
65
65
  }
66
66
  // ------------------------------------------------------------------------
67
67
  // Types
@@ -94,7 +94,7 @@ function Default(schema, references, value) {
94
94
  // ------------------------------------------------------------------
95
95
  // Cast
96
96
  // ------------------------------------------------------------------
97
- function TArray(schema, references, value) {
97
+ function FromArray(schema, references, value) {
98
98
  if (Check(schema, references, value))
99
99
  return Clone(value);
100
100
  const created = IsArray(value) ? Clone(value) : Create(schema, references);
@@ -108,7 +108,7 @@ function TArray(schema, references, value) {
108
108
  throw new ValueCastArrayUniqueItemsTypeError(schema, unique);
109
109
  return unique;
110
110
  }
111
- function TConstructor(schema, references, value) {
111
+ function FromConstructor(schema, references, value) {
112
112
  if (Check(schema, references, value))
113
113
  return Create(schema, references);
114
114
  const required = new Set(schema.returns.required || []);
@@ -120,15 +120,15 @@ function TConstructor(schema, references, value) {
120
120
  }
121
121
  return result;
122
122
  }
123
- function TIntersect(schema, references, value) {
123
+ function FromIntersect(schema, references, value) {
124
124
  const created = Create(schema, references);
125
125
  const mapped = IsPlainObject(created) && IsPlainObject(value) ? { ...created, ...value } : value;
126
126
  return Check(schema, references, mapped) ? mapped : Create(schema, references);
127
127
  }
128
- function TNever(schema, references, value) {
128
+ function FromNever(schema, references, value) {
129
129
  throw new ValueCastNeverTypeError(schema);
130
130
  }
131
- function TObject(schema, references, value) {
131
+ function FromObject(schema, references, value) {
132
132
  if (Check(schema, references, value))
133
133
  return value;
134
134
  if (value === null || typeof value !== 'object')
@@ -151,7 +151,7 @@ function TObject(schema, references, value) {
151
151
  }
152
152
  return result;
153
153
  }
154
- function TRecord(schema, references, value) {
154
+ function FromRecord(schema, references, value) {
155
155
  if (Check(schema, references, value))
156
156
  return Clone(value);
157
157
  if (value === null || typeof value !== 'object' || Array.isArray(value) || value instanceof Date)
@@ -164,13 +164,13 @@ function TRecord(schema, references, value) {
164
164
  }
165
165
  return result;
166
166
  }
167
- function TRef(schema, references, value) {
167
+ function FromRef(schema, references, value) {
168
168
  return Visit(Deref(schema, references), references, value);
169
169
  }
170
- function TThis(schema, references, value) {
170
+ function FromThis(schema, references, value) {
171
171
  return Visit(Deref(schema, references), references, value);
172
172
  }
173
- function TTuple(schema, references, value) {
173
+ function FromTuple(schema, references, value) {
174
174
  if (Check(schema, references, value))
175
175
  return Clone(value);
176
176
  if (!IsArray(value))
@@ -179,7 +179,7 @@ function TTuple(schema, references, value) {
179
179
  return [];
180
180
  return schema.items.map((schema, index) => Visit(schema, references, value[index]));
181
181
  }
182
- function TUnion(schema, references, value) {
182
+ function FromUnion(schema, references, value) {
183
183
  return Check(schema, references, value) ? Clone(value) : CastUnion(schema, references, value);
184
184
  }
185
185
  function Visit(schema, references, value) {
@@ -190,25 +190,25 @@ function Visit(schema, references, value) {
190
190
  // Structural
191
191
  // --------------------------------------------------------------
192
192
  case 'Array':
193
- return TArray(schema_, references_, value);
193
+ return FromArray(schema_, references_, value);
194
194
  case 'Constructor':
195
- return TConstructor(schema_, references_, value);
195
+ return FromConstructor(schema_, references_, value);
196
196
  case 'Intersect':
197
- return TIntersect(schema_, references_, value);
197
+ return FromIntersect(schema_, references_, value);
198
198
  case 'Never':
199
- return TNever(schema_, references_, value);
199
+ return FromNever(schema_, references_, value);
200
200
  case 'Object':
201
- return TObject(schema_, references_, value);
201
+ return FromObject(schema_, references_, value);
202
202
  case 'Record':
203
- return TRecord(schema_, references_, value);
203
+ return FromRecord(schema_, references_, value);
204
204
  case 'Ref':
205
- return TRef(schema_, references_, value);
205
+ return FromRef(schema_, references_, value);
206
206
  case 'This':
207
- return TThis(schema_, references_, value);
207
+ return FromThis(schema_, references_, value);
208
208
  case 'Tuple':
209
- return TTuple(schema_, references_, value);
209
+ return FromTuple(schema_, references_, value);
210
210
  case 'Union':
211
- return TUnion(schema_, references_, value);
211
+ return FromUnion(schema_, references_, value);
212
212
  // --------------------------------------------------------------
213
213
  // DefaultClone
214
214
  // --------------------------------------------------------------
@@ -40,10 +40,10 @@ function IsDefined(value) {
40
40
  // ------------------------------------------------------------------
41
41
  // Types
42
42
  // ------------------------------------------------------------------
43
- function TAny(schema, references, value) {
43
+ function FromAny(schema, references, value) {
44
44
  return true;
45
45
  }
46
- function TArray(schema, references, value) {
46
+ function FromArray(schema, references, value) {
47
47
  if (!IsArray(value))
48
48
  return false;
49
49
  if (IsDefined(schema.minItems) && !(value.length >= schema.minItems)) {
@@ -84,10 +84,10 @@ function TArray(schema, references, value) {
84
84
  }
85
85
  return true;
86
86
  }
87
- function TAsyncIterator(schema, references, value) {
87
+ function FromAsyncIterator(schema, references, value) {
88
88
  return IsAsyncIterator(value);
89
89
  }
90
- function TBigInt(schema, references, value) {
90
+ function FromBigInt(schema, references, value) {
91
91
  if (!IsBigInt(value))
92
92
  return false;
93
93
  if (IsDefined(schema.exclusiveMaximum) && !(value < schema.exclusiveMaximum)) {
@@ -107,13 +107,13 @@ function TBigInt(schema, references, value) {
107
107
  }
108
108
  return true;
109
109
  }
110
- function TBoolean(schema, references, value) {
110
+ function FromBoolean(schema, references, value) {
111
111
  return IsBoolean(value);
112
112
  }
113
- function TConstructor(schema, references, value) {
113
+ function FromConstructor(schema, references, value) {
114
114
  return Visit(schema.returns, references, value.prototype);
115
115
  }
116
- function TDate(schema, references, value) {
116
+ function FromDate(schema, references, value) {
117
117
  if (!IsDate(value))
118
118
  return false;
119
119
  if (IsDefined(schema.exclusiveMaximumTimestamp) && !(value.getTime() < schema.exclusiveMaximumTimestamp)) {
@@ -133,10 +133,10 @@ function TDate(schema, references, value) {
133
133
  }
134
134
  return true;
135
135
  }
136
- function TFunction(schema, references, value) {
136
+ function FromFunction(schema, references, value) {
137
137
  return IsFunction(value);
138
138
  }
139
- function TInteger(schema, references, value) {
139
+ function FromInteger(schema, references, value) {
140
140
  if (!IsInteger(value)) {
141
141
  return false;
142
142
  }
@@ -157,7 +157,7 @@ function TInteger(schema, references, value) {
157
157
  }
158
158
  return true;
159
159
  }
160
- function TIntersect(schema, references, value) {
160
+ function FromIntersect(schema, references, value) {
161
161
  const check1 = schema.allOf.every((schema) => Visit(schema, references, value));
162
162
  if (schema.unevaluatedProperties === false) {
163
163
  const keyPattern = new RegExp(KeyOfPattern(schema));
@@ -173,22 +173,22 @@ function TIntersect(schema, references, value) {
173
173
  return check1;
174
174
  }
175
175
  }
176
- function TIterator(schema, references, value) {
176
+ function FromIterator(schema, references, value) {
177
177
  return IsIterator(value);
178
178
  }
179
- function TLiteral(schema, references, value) {
179
+ function FromLiteral(schema, references, value) {
180
180
  return value === schema.const;
181
181
  }
182
- function TNever(schema, references, value) {
182
+ function FromNever(schema, references, value) {
183
183
  return false;
184
184
  }
185
- function TNot(schema, references, value) {
185
+ function FromNot(schema, references, value) {
186
186
  return !Visit(schema.not, references, value);
187
187
  }
188
- function TNull(schema, references, value) {
188
+ function FromNull(schema, references, value) {
189
189
  return IsNull(value);
190
190
  }
191
- function TNumber(schema, references, value) {
191
+ function FromNumber(schema, references, value) {
192
192
  if (!TypeSystemPolicy.IsNumberLike(value))
193
193
  return false;
194
194
  if (IsDefined(schema.exclusiveMaximum) && !(value < schema.exclusiveMaximum)) {
@@ -208,7 +208,7 @@ function TNumber(schema, references, value) {
208
208
  }
209
209
  return true;
210
210
  }
211
- function TObject(schema, references, value) {
211
+ function FromObject(schema, references, value) {
212
212
  if (!TypeSystemPolicy.IsObjectLike(value))
213
213
  return false;
214
214
  if (IsDefined(schema.minProperties) && !(Object.getOwnPropertyNames(value).length >= schema.minProperties)) {
@@ -252,10 +252,10 @@ function TObject(schema, references, value) {
252
252
  return true;
253
253
  }
254
254
  }
255
- function TPromise(schema, references, value) {
255
+ function FromPromise(schema, references, value) {
256
256
  return IsPromise(value);
257
257
  }
258
- function TRecord(schema, references, value) {
258
+ function FromRecord(schema, references, value) {
259
259
  if (!TypeSystemPolicy.IsRecordLike(value)) {
260
260
  return false;
261
261
  }
@@ -282,10 +282,10 @@ function TRecord(schema, references, value) {
282
282
  : true;
283
283
  return check1 && check2 && check3;
284
284
  }
285
- function TRef(schema, references, value) {
285
+ function FromRef(schema, references, value) {
286
286
  return Visit(Deref(schema, references), references, value);
287
287
  }
288
- function TString(schema, references, value) {
288
+ function FromString(schema, references, value) {
289
289
  if (!IsString(value)) {
290
290
  return false;
291
291
  }
@@ -310,16 +310,16 @@ function TString(schema, references, value) {
310
310
  }
311
311
  return true;
312
312
  }
313
- function TSymbol(schema, references, value) {
313
+ function FromSymbol(schema, references, value) {
314
314
  return IsSymbol(value);
315
315
  }
316
- function TTemplateLiteral(schema, references, value) {
316
+ function FromTemplateLiteral(schema, references, value) {
317
317
  return IsString(value) && new RegExp(schema.pattern).test(value);
318
318
  }
319
- function TThis(schema, references, value) {
319
+ function FromThis(schema, references, value) {
320
320
  return Visit(Deref(schema, references), references, value);
321
321
  }
322
- function TTuple(schema, references, value) {
322
+ function FromTuple(schema, references, value) {
323
323
  if (!IsArray(value)) {
324
324
  return false;
325
325
  }
@@ -338,13 +338,13 @@ function TTuple(schema, references, value) {
338
338
  }
339
339
  return true;
340
340
  }
341
- function TUndefined(schema, references, value) {
341
+ function FromUndefined(schema, references, value) {
342
342
  return IsUndefined(value);
343
343
  }
344
- function TUnion(schema, references, value) {
344
+ function FromUnion(schema, references, value) {
345
345
  return schema.anyOf.some((inner) => Visit(inner, references, value));
346
346
  }
347
- function TUint8Array(schema, references, value) {
347
+ function FromUint8Array(schema, references, value) {
348
348
  if (!IsUint8Array(value)) {
349
349
  return false;
350
350
  }
@@ -356,13 +356,13 @@ function TUint8Array(schema, references, value) {
356
356
  }
357
357
  return true;
358
358
  }
359
- function TUnknown(schema, references, value) {
359
+ function FromUnknown(schema, references, value) {
360
360
  return true;
361
361
  }
362
- function TVoid(schema, references, value) {
362
+ function FromVoid(schema, references, value) {
363
363
  return TypeSystemPolicy.IsVoidLike(value);
364
364
  }
365
- function TKind(schema, references, value) {
365
+ function FromKind(schema, references, value) {
366
366
  if (!TypeRegistry.Has(schema[Kind]))
367
367
  return false;
368
368
  const func = TypeRegistry.Get(schema[Kind]);
@@ -373,69 +373,69 @@ function Visit(schema, references, value) {
373
373
  const schema_ = schema;
374
374
  switch (schema_[Kind]) {
375
375
  case 'Any':
376
- return TAny(schema_, references_, value);
376
+ return FromAny(schema_, references_, value);
377
377
  case 'Array':
378
- return TArray(schema_, references_, value);
378
+ return FromArray(schema_, references_, value);
379
379
  case 'AsyncIterator':
380
- return TAsyncIterator(schema_, references_, value);
380
+ return FromAsyncIterator(schema_, references_, value);
381
381
  case 'BigInt':
382
- return TBigInt(schema_, references_, value);
382
+ return FromBigInt(schema_, references_, value);
383
383
  case 'Boolean':
384
- return TBoolean(schema_, references_, value);
384
+ return FromBoolean(schema_, references_, value);
385
385
  case 'Constructor':
386
- return TConstructor(schema_, references_, value);
386
+ return FromConstructor(schema_, references_, value);
387
387
  case 'Date':
388
- return TDate(schema_, references_, value);
388
+ return FromDate(schema_, references_, value);
389
389
  case 'Function':
390
- return TFunction(schema_, references_, value);
390
+ return FromFunction(schema_, references_, value);
391
391
  case 'Integer':
392
- return TInteger(schema_, references_, value);
392
+ return FromInteger(schema_, references_, value);
393
393
  case 'Intersect':
394
- return TIntersect(schema_, references_, value);
394
+ return FromIntersect(schema_, references_, value);
395
395
  case 'Iterator':
396
- return TIterator(schema_, references_, value);
396
+ return FromIterator(schema_, references_, value);
397
397
  case 'Literal':
398
- return TLiteral(schema_, references_, value);
398
+ return FromLiteral(schema_, references_, value);
399
399
  case 'Never':
400
- return TNever(schema_, references_, value);
400
+ return FromNever(schema_, references_, value);
401
401
  case 'Not':
402
- return TNot(schema_, references_, value);
402
+ return FromNot(schema_, references_, value);
403
403
  case 'Null':
404
- return TNull(schema_, references_, value);
404
+ return FromNull(schema_, references_, value);
405
405
  case 'Number':
406
- return TNumber(schema_, references_, value);
406
+ return FromNumber(schema_, references_, value);
407
407
  case 'Object':
408
- return TObject(schema_, references_, value);
408
+ return FromObject(schema_, references_, value);
409
409
  case 'Promise':
410
- return TPromise(schema_, references_, value);
410
+ return FromPromise(schema_, references_, value);
411
411
  case 'Record':
412
- return TRecord(schema_, references_, value);
412
+ return FromRecord(schema_, references_, value);
413
413
  case 'Ref':
414
- return TRef(schema_, references_, value);
414
+ return FromRef(schema_, references_, value);
415
415
  case 'String':
416
- return TString(schema_, references_, value);
416
+ return FromString(schema_, references_, value);
417
417
  case 'Symbol':
418
- return TSymbol(schema_, references_, value);
418
+ return FromSymbol(schema_, references_, value);
419
419
  case 'TemplateLiteral':
420
- return TTemplateLiteral(schema_, references_, value);
420
+ return FromTemplateLiteral(schema_, references_, value);
421
421
  case 'This':
422
- return TThis(schema_, references_, value);
422
+ return FromThis(schema_, references_, value);
423
423
  case 'Tuple':
424
- return TTuple(schema_, references_, value);
424
+ return FromTuple(schema_, references_, value);
425
425
  case 'Undefined':
426
- return TUndefined(schema_, references_, value);
426
+ return FromUndefined(schema_, references_, value);
427
427
  case 'Union':
428
- return TUnion(schema_, references_, value);
428
+ return FromUnion(schema_, references_, value);
429
429
  case 'Uint8Array':
430
- return TUint8Array(schema_, references_, value);
430
+ return FromUint8Array(schema_, references_, value);
431
431
  case 'Unknown':
432
- return TUnknown(schema_, references_, value);
432
+ return FromUnknown(schema_, references_, value);
433
433
  case 'Void':
434
- return TVoid(schema_, references_, value);
434
+ return FromVoid(schema_, references_, value);
435
435
  default:
436
436
  if (!TypeRegistry.Has(schema_[Kind]))
437
437
  throw new ValueCheckUnknownTypeError(schema_);
438
- return TKind(schema_, references_, value);
438
+ return FromKind(schema_, references_, value);
439
439
  }
440
440
  }
441
441
  /** Returns true if the value matches the given type. */
@@ -22,12 +22,12 @@ function IsCheckable(schema) {
22
22
  // ------------------------------------------------------------------
23
23
  // Types
24
24
  // ------------------------------------------------------------------
25
- function TArray(schema, references, value) {
25
+ function FromArray(schema, references, value) {
26
26
  if (!IsArray(value))
27
27
  return value;
28
28
  return value.map((value) => Visit(schema.items, references, value));
29
29
  }
30
- function TIntersect(schema, references, value) {
30
+ function FromIntersect(schema, references, value) {
31
31
  const unevaluatedProperties = schema.unevaluatedProperties;
32
32
  const intersections = schema.allOf.map((schema) => Visit(schema, references, Clone(value)));
33
33
  const composite = intersections.reduce((acc, value) => (IsObject(value) ? { ...acc, ...value } : value), {});
@@ -43,7 +43,7 @@ function TIntersect(schema, references, value) {
43
43
  }
44
44
  return composite;
45
45
  }
46
- function TObject(schema, references, value) {
46
+ function FromObject(schema, references, value) {
47
47
  if (!IsObject(value) || IsArray(value))
48
48
  return value; // Check IsArray for AllowArrayObject configuration
49
49
  const additionalProperties = schema.additionalProperties;
@@ -60,7 +60,7 @@ function TObject(schema, references, value) {
60
60
  }
61
61
  return value;
62
62
  }
63
- function TRecord(schema, references, value) {
63
+ function FromRecord(schema, references, value) {
64
64
  if (!IsObject(value))
65
65
  return value;
66
66
  const additionalProperties = schema.additionalProperties;
@@ -80,13 +80,13 @@ function TRecord(schema, references, value) {
80
80
  }
81
81
  return value;
82
82
  }
83
- function TRef(schema, references, value) {
83
+ function FromRef(schema, references, value) {
84
84
  return Visit(Deref(schema, references), references, value);
85
85
  }
86
- function TThis(schema, references, value) {
86
+ function FromThis(schema, references, value) {
87
87
  return Visit(Deref(schema, references), references, value);
88
88
  }
89
- function TTuple(schema, references, value) {
89
+ function FromTuple(schema, references, value) {
90
90
  if (!IsArray(value))
91
91
  return value;
92
92
  if (IsUndefined(schema.items))
@@ -100,7 +100,7 @@ function TTuple(schema, references, value) {
100
100
  ? value.slice(0, length)
101
101
  : value;
102
102
  }
103
- function TUnion(schema, references, value) {
103
+ function FromUnion(schema, references, value) {
104
104
  for (const inner of schema.anyOf) {
105
105
  if (IsCheckable(inner) && Check(inner, value)) {
106
106
  return Visit(inner, references, value);
@@ -113,21 +113,21 @@ function Visit(schema, references, value) {
113
113
  const schema_ = schema;
114
114
  switch (schema_[Kind]) {
115
115
  case 'Array':
116
- return TArray(schema_, references_, value);
116
+ return FromArray(schema_, references_, value);
117
117
  case 'Intersect':
118
- return TIntersect(schema_, references_, value);
118
+ return FromIntersect(schema_, references_, value);
119
119
  case 'Object':
120
- return TObject(schema_, references_, value);
120
+ return FromObject(schema_, references_, value);
121
121
  case 'Record':
122
- return TRecord(schema_, references_, value);
122
+ return FromRecord(schema_, references_, value);
123
123
  case 'Ref':
124
- return TRef(schema_, references_, value);
124
+ return FromRef(schema_, references_, value);
125
125
  case 'This':
126
- return TThis(schema_, references_, value);
126
+ return FromThis(schema_, references_, value);
127
127
  case 'Tuple':
128
- return TTuple(schema_, references_, value);
128
+ return FromTuple(schema_, references_, value);
129
129
  case 'Union':
130
- return TUnion(schema_, references_, value);
130
+ return FromUnion(schema_, references_, value);
131
131
  default:
132
132
  return value;
133
133
  }