@sinclair/typebox 0.32.0-dev-20 → 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 (72) 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 +4 -4
  4. package/build/import/index.mjs +1 -1
  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/record/record.d.mts +2 -2
  9. package/build/import/type/record/record.mjs +2 -3
  10. package/build/import/type/schema/schema.d.mts +1 -1
  11. package/build/import/type/symbol/symbol.d.mts +1 -1
  12. package/build/import/type/template-literal/finite.d.mts +7 -5
  13. package/build/import/type/template-literal/finite.mjs +14 -5
  14. package/build/import/type/template-literal/generate.d.mts +14 -8
  15. package/build/import/type/template-literal/generate.mjs +19 -9
  16. package/build/import/type/template-literal/index.d.mts +1 -1
  17. package/build/import/type/template-literal/index.mjs +1 -1
  18. package/build/import/type/template-literal/{parser.mjs → parse.mjs} +7 -2
  19. package/build/import/type/template-literal/syntax.d.mts +1 -1
  20. package/build/import/type/template-literal/syntax.mjs +0 -1
  21. package/build/import/type/template-literal/template-literal.d.mts +2 -2
  22. package/build/import/type/template-literal/template-literal.mjs +1 -1
  23. package/build/import/type/template-literal/union.d.mts +2 -2
  24. package/build/import/type/template-literal/union.mjs +5 -10
  25. package/build/import/type/type/json.d.mts +2 -2
  26. package/build/import/value/cast/cast.mjs +20 -20
  27. package/build/import/value/check/check.mjs +62 -62
  28. package/build/import/value/clean/clean.mjs +16 -16
  29. package/build/import/value/convert/convert.mjs +36 -36
  30. package/build/import/value/create/create.mjs +66 -67
  31. package/build/import/value/default/default.mjs +16 -16
  32. package/build/import/value/transform/decode.mjs +18 -18
  33. package/build/import/value/transform/encode.mjs +18 -18
  34. package/build/import/value/transform/has.mjs +28 -28
  35. package/build/require/compiler/compiler.js +62 -62
  36. package/build/require/errors/errors.js +62 -62
  37. package/build/require/index.d.ts +4 -4
  38. package/build/require/index.js +4 -2
  39. package/build/require/type/indexed/indexed-property-keys.d.ts +2 -2
  40. package/build/require/type/indexed/indexed-property-keys.js +4 -9
  41. package/build/require/type/intrinsic/intrinsic.js +2 -2
  42. package/build/require/type/record/record.d.ts +2 -2
  43. package/build/require/type/record/record.js +1 -2
  44. package/build/require/type/schema/schema.d.ts +1 -1
  45. package/build/require/type/symbol/symbol.d.ts +1 -1
  46. package/build/require/type/template-literal/finite.d.ts +7 -5
  47. package/build/require/type/template-literal/finite.js +16 -6
  48. package/build/require/type/template-literal/generate.d.ts +14 -8
  49. package/build/require/type/template-literal/generate.js +22 -11
  50. package/build/require/type/template-literal/index.d.ts +1 -1
  51. package/build/require/type/template-literal/index.js +1 -1
  52. package/build/require/type/template-literal/{parser.js → parse.js} +7 -2
  53. package/build/require/type/template-literal/syntax.d.ts +1 -1
  54. package/build/require/type/template-literal/syntax.js +0 -1
  55. package/build/require/type/template-literal/template-literal.d.ts +2 -2
  56. package/build/require/type/template-literal/template-literal.js +1 -1
  57. package/build/require/type/template-literal/union.d.ts +2 -2
  58. package/build/require/type/template-literal/union.js +5 -10
  59. package/build/require/type/type/json.d.ts +2 -2
  60. package/build/require/value/cast/cast.js +20 -20
  61. package/build/require/value/check/check.js +62 -62
  62. package/build/require/value/clean/clean.js +16 -16
  63. package/build/require/value/convert/convert.js +36 -36
  64. package/build/require/value/create/create.js +65 -66
  65. package/build/require/value/default/default.js +16 -16
  66. package/build/require/value/transform/decode.js +18 -18
  67. package/build/require/value/transform/encode.js +18 -18
  68. package/build/require/value/transform/has.js +28 -28
  69. package/package.json +1 -1
  70. package/readme.md +47 -47
  71. /package/build/import/type/template-literal/{parser.d.mts → parse.d.mts} +0 -0
  72. /package/build/require/type/template-literal/{parser.d.ts → parse.d.ts} +0 -0
@@ -1,7 +1,7 @@
1
1
  import { HasPropertyKey, IsString } from '../guard/index.mjs';
2
2
  import { Check } from '../check/index.mjs';
3
3
  import { Deref } from '../deref/index.mjs';
4
- import { TemplateLiteralParseExact, IsTemplateLiteralFinite, TemplateLiteralGenerate } from '../../type/template-literal/index.mjs';
4
+ import { TemplateLiteralGenerate, IsTemplateLiteralFinite } from '../../type/template-literal/index.mjs';
5
5
  import { PatternStringExact, PatternNumberExact } from '../../type/patterns/index.mjs';
6
6
  import { TypeRegistry } from '../../type/registry/index.mjs';
7
7
  import { Kind } from '../../type/symbols/index.mjs';
@@ -55,7 +55,7 @@ export class ValueCreateRecursiveInstantiationError extends Error {
55
55
  // ------------------------------------------------------------------
56
56
  // Create
57
57
  // ------------------------------------------------------------------
58
- function TAny(schema, references) {
58
+ function FromAny(schema, references) {
59
59
  if (HasPropertyKey(schema, 'default')) {
60
60
  return schema.default;
61
61
  }
@@ -63,7 +63,7 @@ function TAny(schema, references) {
63
63
  return {};
64
64
  }
65
65
  }
66
- function TArray(schema, references) {
66
+ function FromArray(schema, references) {
67
67
  if (schema.uniqueItems === true && !HasPropertyKey(schema, 'default')) {
68
68
  throw new Error('ValueCreate.Array: Array with the uniqueItems constraint requires a default value');
69
69
  }
@@ -82,7 +82,7 @@ function TArray(schema, references) {
82
82
  return [];
83
83
  }
84
84
  }
85
- function TAsyncIterator(schema, references) {
85
+ function FromAsyncIterator(schema, references) {
86
86
  if (HasPropertyKey(schema, 'default')) {
87
87
  return schema.default;
88
88
  }
@@ -90,7 +90,7 @@ function TAsyncIterator(schema, references) {
90
90
  return (async function* () { })();
91
91
  }
92
92
  }
93
- function TBigInt(schema, references) {
93
+ function FromBigInt(schema, references) {
94
94
  if (HasPropertyKey(schema, 'default')) {
95
95
  return schema.default;
96
96
  }
@@ -98,7 +98,7 @@ function TBigInt(schema, references) {
98
98
  return BigInt(0);
99
99
  }
100
100
  }
101
- function TBoolean(schema, references) {
101
+ function FromBoolean(schema, references) {
102
102
  if (HasPropertyKey(schema, 'default')) {
103
103
  return schema.default;
104
104
  }
@@ -106,7 +106,7 @@ function TBoolean(schema, references) {
106
106
  return false;
107
107
  }
108
108
  }
109
- function TConstructor(schema, references) {
109
+ function FromConstructor(schema, references) {
110
110
  if (HasPropertyKey(schema, 'default')) {
111
111
  return schema.default;
112
112
  }
@@ -128,7 +128,7 @@ function TConstructor(schema, references) {
128
128
  }
129
129
  }
130
130
  }
131
- function TDate(schema, references) {
131
+ function FromDate(schema, references) {
132
132
  if (HasPropertyKey(schema, 'default')) {
133
133
  return schema.default;
134
134
  }
@@ -139,7 +139,7 @@ function TDate(schema, references) {
139
139
  return new Date();
140
140
  }
141
141
  }
142
- function TFunction(schema, references) {
142
+ function FromFunction(schema, references) {
143
143
  if (HasPropertyKey(schema, 'default')) {
144
144
  return schema.default;
145
145
  }
@@ -147,7 +147,7 @@ function TFunction(schema, references) {
147
147
  return () => Visit(schema.returns, references);
148
148
  }
149
149
  }
150
- function TInteger(schema, references) {
150
+ function FromInteger(schema, references) {
151
151
  if (HasPropertyKey(schema, 'default')) {
152
152
  return schema.default;
153
153
  }
@@ -158,7 +158,7 @@ function TInteger(schema, references) {
158
158
  return 0;
159
159
  }
160
160
  }
161
- function TIntersect(schema, references) {
161
+ function FromIntersect(schema, references) {
162
162
  if (HasPropertyKey(schema, 'default')) {
163
163
  return schema.default;
164
164
  }
@@ -179,7 +179,7 @@ function TIntersect(schema, references) {
179
179
  return value;
180
180
  }
181
181
  }
182
- function TIterator(schema, references) {
182
+ function FromIterator(schema, references) {
183
183
  if (HasPropertyKey(schema, 'default')) {
184
184
  return schema.default;
185
185
  }
@@ -187,7 +187,7 @@ function TIterator(schema, references) {
187
187
  return (function* () { })();
188
188
  }
189
189
  }
190
- function TLiteral(schema, references) {
190
+ function FromLiteral(schema, references) {
191
191
  if (HasPropertyKey(schema, 'default')) {
192
192
  return schema.default;
193
193
  }
@@ -195,10 +195,10 @@ function TLiteral(schema, references) {
195
195
  return schema.const;
196
196
  }
197
197
  }
198
- function TNever(schema, references) {
198
+ function FromNever(schema, references) {
199
199
  throw new ValueCreateNeverTypeError(schema);
200
200
  }
201
- function TNot(schema, references) {
201
+ function FromNot(schema, references) {
202
202
  if (HasPropertyKey(schema, 'default')) {
203
203
  return schema.default;
204
204
  }
@@ -206,7 +206,7 @@ function TNot(schema, references) {
206
206
  throw new ValueCreateNotTypeError(schema);
207
207
  }
208
208
  }
209
- function TNull(schema, references) {
209
+ function FromNull(schema, references) {
210
210
  if (HasPropertyKey(schema, 'default')) {
211
211
  return schema.default;
212
212
  }
@@ -214,7 +214,7 @@ function TNull(schema, references) {
214
214
  return null;
215
215
  }
216
216
  }
217
- function TNumber(schema, references) {
217
+ function FromNumber(schema, references) {
218
218
  if (HasPropertyKey(schema, 'default')) {
219
219
  return schema.default;
220
220
  }
@@ -225,7 +225,7 @@ function TNumber(schema, references) {
225
225
  return 0;
226
226
  }
227
227
  }
228
- function TObject(schema, references) {
228
+ function FromObject(schema, references) {
229
229
  if (HasPropertyKey(schema, 'default')) {
230
230
  return schema.default;
231
231
  }
@@ -237,7 +237,7 @@ function TObject(schema, references) {
237
237
  }, {}));
238
238
  }
239
239
  }
240
- function TPromise(schema, references) {
240
+ function FromPromise(schema, references) {
241
241
  if (HasPropertyKey(schema, 'default')) {
242
242
  return schema.default;
243
243
  }
@@ -245,7 +245,7 @@ function TPromise(schema, references) {
245
245
  return Promise.resolve(Visit(schema.item, references));
246
246
  }
247
247
  }
248
- function TRecord(schema, references) {
248
+ function FromRecord(schema, references) {
249
249
  const [keyPattern, valueSchema] = Object.entries(schema.patternProperties)[0];
250
250
  if (HasPropertyKey(schema, 'default')) {
251
251
  return schema.default;
@@ -260,7 +260,7 @@ function TRecord(schema, references) {
260
260
  return {};
261
261
  }
262
262
  }
263
- function TRef(schema, references) {
263
+ function FromRef(schema, references) {
264
264
  if (HasPropertyKey(schema, 'default')) {
265
265
  return schema.default;
266
266
  }
@@ -268,7 +268,7 @@ function TRef(schema, references) {
268
268
  return Visit(Deref(schema, references), references);
269
269
  }
270
270
  }
271
- function TString(schema, references) {
271
+ function FromString(schema, references) {
272
272
  if (schema.pattern !== undefined) {
273
273
  if (!HasPropertyKey(schema, 'default')) {
274
274
  throw new Error('ValueCreate.String: String types with patterns must specify a default value');
@@ -299,7 +299,7 @@ function TString(schema, references) {
299
299
  }
300
300
  }
301
301
  }
302
- function TSymbol(schema, references) {
302
+ function FromSymbol(schema, references) {
303
303
  if (HasPropertyKey(schema, 'default')) {
304
304
  return schema.default;
305
305
  }
@@ -310,17 +310,16 @@ function TSymbol(schema, references) {
310
310
  return Symbol();
311
311
  }
312
312
  }
313
- function TTemplateLiteral(schema, references) {
313
+ function FromTemplateLiteral(schema, references) {
314
314
  if (HasPropertyKey(schema, 'default')) {
315
315
  return schema.default;
316
316
  }
317
- const expression = TemplateLiteralParseExact(schema.pattern);
318
- if (!IsTemplateLiteralFinite(expression))
317
+ if (!IsTemplateLiteralFinite(schema))
319
318
  throw new ValueCreateTempateLiteralTypeError(schema);
320
- const sequence = TemplateLiteralGenerate(expression);
321
- return sequence.next().value;
319
+ const generated = TemplateLiteralGenerate(schema);
320
+ return generated[0];
322
321
  }
323
- function TThis(schema, references) {
322
+ function FromThis(schema, references) {
324
323
  if (recursiveDepth++ > recursiveMaxDepth)
325
324
  throw new ValueCreateRecursiveInstantiationError(schema, recursiveMaxDepth);
326
325
  if (HasPropertyKey(schema, 'default')) {
@@ -330,7 +329,7 @@ function TThis(schema, references) {
330
329
  return Visit(Deref(schema, references), references);
331
330
  }
332
331
  }
333
- function TTuple(schema, references) {
332
+ function FromTuple(schema, references) {
334
333
  if (HasPropertyKey(schema, 'default')) {
335
334
  return schema.default;
336
335
  }
@@ -341,7 +340,7 @@ function TTuple(schema, references) {
341
340
  return Array.from({ length: schema.minItems }).map((_, index) => Visit(schema.items[index], references));
342
341
  }
343
342
  }
344
- function TUndefined(schema, references) {
343
+ function FromUndefined(schema, references) {
345
344
  if (HasPropertyKey(schema, 'default')) {
346
345
  return schema.default;
347
346
  }
@@ -349,7 +348,7 @@ function TUndefined(schema, references) {
349
348
  return undefined;
350
349
  }
351
350
  }
352
- function TUnion(schema, references) {
351
+ function FromUnion(schema, references) {
353
352
  if (HasPropertyKey(schema, 'default')) {
354
353
  return schema.default;
355
354
  }
@@ -360,7 +359,7 @@ function TUnion(schema, references) {
360
359
  return Visit(schema.anyOf[0], references);
361
360
  }
362
361
  }
363
- function TUint8Array(schema, references) {
362
+ function FromUint8Array(schema, references) {
364
363
  if (HasPropertyKey(schema, 'default')) {
365
364
  return schema.default;
366
365
  }
@@ -371,7 +370,7 @@ function TUint8Array(schema, references) {
371
370
  return new Uint8Array(0);
372
371
  }
373
372
  }
374
- function TUnknown(schema, references) {
373
+ function FromUnknown(schema, references) {
375
374
  if (HasPropertyKey(schema, 'default')) {
376
375
  return schema.default;
377
376
  }
@@ -379,7 +378,7 @@ function TUnknown(schema, references) {
379
378
  return {};
380
379
  }
381
380
  }
382
- function TVoid(schema, references) {
381
+ function FromVoid(schema, references) {
383
382
  if (HasPropertyKey(schema, 'default')) {
384
383
  return schema.default;
385
384
  }
@@ -387,7 +386,7 @@ function TVoid(schema, references) {
387
386
  return void 0;
388
387
  }
389
388
  }
390
- function TKind(schema, references) {
389
+ function FromKind(schema, references) {
391
390
  if (HasPropertyKey(schema, 'default')) {
392
391
  return schema.default;
393
392
  }
@@ -400,69 +399,69 @@ function Visit(schema, references) {
400
399
  const schema_ = schema;
401
400
  switch (schema_[Kind]) {
402
401
  case 'Any':
403
- return TAny(schema_, references_);
402
+ return FromAny(schema_, references_);
404
403
  case 'Array':
405
- return TArray(schema_, references_);
404
+ return FromArray(schema_, references_);
406
405
  case 'AsyncIterator':
407
- return TAsyncIterator(schema_, references_);
406
+ return FromAsyncIterator(schema_, references_);
408
407
  case 'BigInt':
409
- return TBigInt(schema_, references_);
408
+ return FromBigInt(schema_, references_);
410
409
  case 'Boolean':
411
- return TBoolean(schema_, references_);
410
+ return FromBoolean(schema_, references_);
412
411
  case 'Constructor':
413
- return TConstructor(schema_, references_);
412
+ return FromConstructor(schema_, references_);
414
413
  case 'Date':
415
- return TDate(schema_, references_);
414
+ return FromDate(schema_, references_);
416
415
  case 'Function':
417
- return TFunction(schema_, references_);
416
+ return FromFunction(schema_, references_);
418
417
  case 'Integer':
419
- return TInteger(schema_, references_);
418
+ return FromInteger(schema_, references_);
420
419
  case 'Intersect':
421
- return TIntersect(schema_, references_);
420
+ return FromIntersect(schema_, references_);
422
421
  case 'Iterator':
423
- return TIterator(schema_, references_);
422
+ return FromIterator(schema_, references_);
424
423
  case 'Literal':
425
- return TLiteral(schema_, references_);
424
+ return FromLiteral(schema_, references_);
426
425
  case 'Never':
427
- return TNever(schema_, references_);
426
+ return FromNever(schema_, references_);
428
427
  case 'Not':
429
- return TNot(schema_, references_);
428
+ return FromNot(schema_, references_);
430
429
  case 'Null':
431
- return TNull(schema_, references_);
430
+ return FromNull(schema_, references_);
432
431
  case 'Number':
433
- return TNumber(schema_, references_);
432
+ return FromNumber(schema_, references_);
434
433
  case 'Object':
435
- return TObject(schema_, references_);
434
+ return FromObject(schema_, references_);
436
435
  case 'Promise':
437
- return TPromise(schema_, references_);
436
+ return FromPromise(schema_, references_);
438
437
  case 'Record':
439
- return TRecord(schema_, references_);
438
+ return FromRecord(schema_, references_);
440
439
  case 'Ref':
441
- return TRef(schema_, references_);
440
+ return FromRef(schema_, references_);
442
441
  case 'String':
443
- return TString(schema_, references_);
442
+ return FromString(schema_, references_);
444
443
  case 'Symbol':
445
- return TSymbol(schema_, references_);
444
+ return FromSymbol(schema_, references_);
446
445
  case 'TemplateLiteral':
447
- return TTemplateLiteral(schema_, references_);
446
+ return FromTemplateLiteral(schema_, references_);
448
447
  case 'This':
449
- return TThis(schema_, references_);
448
+ return FromThis(schema_, references_);
450
449
  case 'Tuple':
451
- return TTuple(schema_, references_);
450
+ return FromTuple(schema_, references_);
452
451
  case 'Undefined':
453
- return TUndefined(schema_, references_);
452
+ return FromUndefined(schema_, references_);
454
453
  case 'Union':
455
- return TUnion(schema_, references_);
454
+ return FromUnion(schema_, references_);
456
455
  case 'Uint8Array':
457
- return TUint8Array(schema_, references_);
456
+ return FromUint8Array(schema_, references_);
458
457
  case 'Unknown':
459
- return TUnknown(schema_, references_);
458
+ return FromUnknown(schema_, references_);
460
459
  case 'Void':
461
- return TVoid(schema_, references_);
460
+ return FromVoid(schema_, references_);
462
461
  default:
463
462
  if (!TypeRegistry.Has(schema_[Kind]))
464
463
  throw new ValueCreateUnknownTypeError(schema_);
465
- return TKind(schema_, references_);
464
+ return FromKind(schema_, references_);
466
465
  }
467
466
  }
468
467
  // ------------------------------------------------------------------
@@ -32,7 +32,7 @@ function IsDefaultSchema(value) {
32
32
  // ------------------------------------------------------------------
33
33
  // Types
34
34
  // ------------------------------------------------------------------
35
- function TArray(schema, references, value) {
35
+ function FromArray(schema, references, value) {
36
36
  const defaulted = ValueOrDefault(schema, value);
37
37
  if (!IsArray(defaulted))
38
38
  return defaulted;
@@ -41,14 +41,14 @@ function TArray(schema, references, value) {
41
41
  }
42
42
  return defaulted;
43
43
  }
44
- function TIntersect(schema, references, value) {
44
+ function FromIntersect(schema, references, value) {
45
45
  const defaulted = ValueOrDefault(schema, value);
46
46
  return schema.allOf.reduce((acc, schema) => {
47
47
  const next = Visit(schema, references, defaulted);
48
48
  return IsObject(next) ? { ...acc, ...next } : next;
49
49
  }, {});
50
50
  }
51
- function TObject(schema, references, value) {
51
+ function FromObject(schema, references, value) {
52
52
  const defaulted = ValueOrDefault(schema, value);
53
53
  if (!IsObject(defaulted))
54
54
  return defaulted;
@@ -71,7 +71,7 @@ function TObject(schema, references, value) {
71
71
  }
72
72
  return defaulted;
73
73
  }
74
- function TRecord(schema, references, value) {
74
+ function FromRecord(schema, references, value) {
75
75
  const defaulted = ValueOrDefault(schema, value);
76
76
  if (!IsObject(defaulted))
77
77
  return defaulted;
@@ -95,13 +95,13 @@ function TRecord(schema, references, value) {
95
95
  }
96
96
  return defaulted;
97
97
  }
98
- function TRef(schema, references, value) {
98
+ function FromRef(schema, references, value) {
99
99
  return Visit(Deref(schema, references), references, ValueOrDefault(schema, value));
100
100
  }
101
- function TThis(schema, references, value) {
101
+ function FromThis(schema, references, value) {
102
102
  return Visit(Deref(schema, references), references, value);
103
103
  }
104
- function TTuple(schema, references, value) {
104
+ function FromTuple(schema, references, value) {
105
105
  const defaulted = ValueOrDefault(schema, value);
106
106
  if (!IsArray(defaulted) || IsUndefined(schema.items))
107
107
  return defaulted;
@@ -112,7 +112,7 @@ function TTuple(schema, references, value) {
112
112
  }
113
113
  return defaulted;
114
114
  }
115
- function TUnion(schema, references, value) {
115
+ function FromUnion(schema, references, value) {
116
116
  const defaulted = ValueOrDefault(schema, value);
117
117
  for (const inner of schema.anyOf) {
118
118
  const result = Visit(inner, references, defaulted);
@@ -127,21 +127,21 @@ function Visit(schema, references, value) {
127
127
  const schema_ = schema;
128
128
  switch (schema_[Kind]) {
129
129
  case 'Array':
130
- return TArray(schema_, references_, value);
130
+ return FromArray(schema_, references_, value);
131
131
  case 'Intersect':
132
- return TIntersect(schema_, references_, value);
132
+ return FromIntersect(schema_, references_, value);
133
133
  case 'Object':
134
- return TObject(schema_, references_, value);
134
+ return FromObject(schema_, references_, value);
135
135
  case 'Record':
136
- return TRecord(schema_, references_, value);
136
+ return FromRecord(schema_, references_, value);
137
137
  case 'Ref':
138
- return TRef(schema_, references_, value);
138
+ return FromRef(schema_, references_, value);
139
139
  case 'This':
140
- return TThis(schema_, references_, value);
140
+ return FromThis(schema_, references_, value);
141
141
  case 'Tuple':
142
- return TTuple(schema_, references_, value);
142
+ return FromTuple(schema_, references_, value);
143
143
  case 'Union':
144
- return TUnion(schema_, references_, value);
144
+ return FromUnion(schema_, references_, value);
145
145
  default:
146
146
  return ValueOrDefault(schema_, value);
147
147
  }
@@ -48,13 +48,13 @@ function Default(schema, value) {
48
48
  }
49
49
  }
50
50
  // prettier-ignore
51
- function TArray(schema, references, value) {
51
+ function FromArray(schema, references, value) {
52
52
  return (IsArray(value))
53
53
  ? Default(schema, value.map((value) => Visit(schema.items, references, value)))
54
54
  : Default(schema, value);
55
55
  }
56
56
  // prettier-ignore
57
- function TIntersect(schema, references, value) {
57
+ function FromIntersect(schema, references, value) {
58
58
  if (!IsPlainObject(value) || IsValueType(value))
59
59
  return Default(schema, value);
60
60
  const knownKeys = KeyOfPropertyKeys(schema);
@@ -75,11 +75,11 @@ function TIntersect(schema, references, value) {
75
75
  }, knownProperties);
76
76
  return Default(schema, unknownProperties);
77
77
  }
78
- function TNot(schema, references, value) {
78
+ function FromNot(schema, references, value) {
79
79
  return Default(schema, Visit(schema.not, references, value));
80
80
  }
81
81
  // prettier-ignore
82
- function TObject(schema, references, value) {
82
+ function FromObject(schema, references, value) {
83
83
  if (!IsPlainObject(value))
84
84
  return Default(schema, value);
85
85
  const knownKeys = KeyOfPropertyKeys(schema);
@@ -101,7 +101,7 @@ function TObject(schema, references, value) {
101
101
  return Default(schema, unknownProperties);
102
102
  }
103
103
  // prettier-ignore
104
- function TRecord(schema, references, value) {
104
+ function FromRecord(schema, references, value) {
105
105
  if (!IsPlainObject(value))
106
106
  return Default(schema, value);
107
107
  const pattern = Object.getOwnPropertyNames(schema.patternProperties)[0];
@@ -124,23 +124,23 @@ function TRecord(schema, references, value) {
124
124
  return Default(schema, unknownProperties);
125
125
  }
126
126
  // prettier-ignore
127
- function TRef(schema, references, value) {
127
+ function FromRef(schema, references, value) {
128
128
  const target = Deref(schema, references);
129
129
  return Default(schema, Visit(target, references, value));
130
130
  }
131
131
  // prettier-ignore
132
- function TThis(schema, references, value) {
132
+ function FromThis(schema, references, value) {
133
133
  const target = Deref(schema, references);
134
134
  return Default(schema, Visit(target, references, value));
135
135
  }
136
136
  // prettier-ignore
137
- function TTuple(schema, references, value) {
137
+ function FromTuple(schema, references, value) {
138
138
  return (IsArray(value) && IsArray(schema.items))
139
139
  ? Default(schema, schema.items.map((schema, index) => Visit(schema, references, value[index])))
140
140
  : Default(schema, value);
141
141
  }
142
142
  // prettier-ignore
143
- function TUnion(schema, references, value) {
143
+ function FromUnion(schema, references, value) {
144
144
  for (const subschema of schema.anyOf) {
145
145
  if (!Check(subschema, references, value))
146
146
  continue;
@@ -156,25 +156,25 @@ function Visit(schema, references, value) {
156
156
  const schema_ = schema;
157
157
  switch (schema[Kind]) {
158
158
  case 'Array':
159
- return TArray(schema_, references_, value);
159
+ return FromArray(schema_, references_, value);
160
160
  case 'Intersect':
161
- return TIntersect(schema_, references_, value);
161
+ return FromIntersect(schema_, references_, value);
162
162
  case 'Not':
163
- return TNot(schema_, references_, value);
163
+ return FromNot(schema_, references_, value);
164
164
  case 'Object':
165
- return TObject(schema_, references_, value);
165
+ return FromObject(schema_, references_, value);
166
166
  case 'Record':
167
- return TRecord(schema_, references_, value);
167
+ return FromRecord(schema_, references_, value);
168
168
  case 'Ref':
169
- return TRef(schema_, references_, value);
169
+ return FromRef(schema_, references_, value);
170
170
  case 'Symbol':
171
171
  return Default(schema_, value);
172
172
  case 'This':
173
- return TThis(schema_, references_, value);
173
+ return FromThis(schema_, references_, value);
174
174
  case 'Tuple':
175
- return TTuple(schema_, references_, value);
175
+ return FromTuple(schema_, references_, value);
176
176
  case 'Union':
177
- return TUnion(schema_, references_, value);
177
+ return FromUnion(schema_, references_, value);
178
178
  default:
179
179
  return Default(schema_, value);
180
180
  }
@@ -47,14 +47,14 @@ function Default(schema, value) {
47
47
  }
48
48
  }
49
49
  // prettier-ignore
50
- function TArray(schema, references, value) {
50
+ function FromArray(schema, references, value) {
51
51
  const defaulted = Default(schema, value);
52
52
  return IsArray(defaulted)
53
53
  ? defaulted.map((value) => Visit(schema.items, references, value))
54
54
  : defaulted;
55
55
  }
56
56
  // prettier-ignore
57
- function TIntersect(schema, references, value) {
57
+ function FromIntersect(schema, references, value) {
58
58
  const defaulted = Default(schema, value);
59
59
  if (!IsPlainObject(value) || IsValueType(value))
60
60
  return defaulted;
@@ -76,11 +76,11 @@ function TIntersect(schema, references, value) {
76
76
  }, knownProperties);
77
77
  }
78
78
  // prettier-ignore
79
- function TNot(schema, references, value) {
79
+ function FromNot(schema, references, value) {
80
80
  return Default(schema.not, Default(schema, value));
81
81
  }
82
82
  // prettier-ignore
83
- function TObject(schema, references, value) {
83
+ function FromObject(schema, references, value) {
84
84
  const defaulted = Default(schema, value);
85
85
  if (!IsPlainObject(value))
86
86
  return defaulted;
@@ -102,7 +102,7 @@ function TObject(schema, references, value) {
102
102
  }, knownProperties);
103
103
  }
104
104
  // prettier-ignore
105
- function TRecord(schema, references, value) {
105
+ function FromRecord(schema, references, value) {
106
106
  const defaulted = Default(schema, value);
107
107
  if (!IsPlainObject(value))
108
108
  return defaulted;
@@ -125,24 +125,24 @@ function TRecord(schema, references, value) {
125
125
  }, knownProperties);
126
126
  }
127
127
  // prettier-ignore
128
- function TRef(schema, references, value) {
128
+ function FromRef(schema, references, value) {
129
129
  const target = Deref(schema, references);
130
130
  const resolved = Visit(target, references, value);
131
131
  return Default(schema, resolved);
132
132
  }
133
133
  // prettier-ignore
134
- function TThis(schema, references, value) {
134
+ function FromThis(schema, references, value) {
135
135
  const target = Deref(schema, references);
136
136
  const resolved = Visit(target, references, value);
137
137
  return Default(schema, resolved);
138
138
  }
139
139
  // prettier-ignore
140
- function TTuple(schema, references, value) {
140
+ function FromTuple(schema, references, value) {
141
141
  const value1 = Default(schema, value);
142
142
  return IsArray(schema.items) ? schema.items.map((schema, index) => Visit(schema, references, value1[index])) : [];
143
143
  }
144
144
  // prettier-ignore
145
- function TUnion(schema, references, value) {
145
+ function FromUnion(schema, references, value) {
146
146
  // test value against union variants
147
147
  for (const subschema of schema.anyOf) {
148
148
  if (!Check(subschema, references, value))
@@ -165,23 +165,23 @@ function Visit(schema, references, value) {
165
165
  const schema_ = schema;
166
166
  switch (schema[Kind]) {
167
167
  case 'Array':
168
- return TArray(schema_, references_, value);
168
+ return FromArray(schema_, references_, value);
169
169
  case 'Intersect':
170
- return TIntersect(schema_, references_, value);
170
+ return FromIntersect(schema_, references_, value);
171
171
  case 'Not':
172
- return TNot(schema_, references_, value);
172
+ return FromNot(schema_, references_, value);
173
173
  case 'Object':
174
- return TObject(schema_, references_, value);
174
+ return FromObject(schema_, references_, value);
175
175
  case 'Record':
176
- return TRecord(schema_, references_, value);
176
+ return FromRecord(schema_, references_, value);
177
177
  case 'Ref':
178
- return TRef(schema_, references_, value);
178
+ return FromRef(schema_, references_, value);
179
179
  case 'This':
180
- return TThis(schema_, references_, value);
180
+ return FromThis(schema_, references_, value);
181
181
  case 'Tuple':
182
- return TTuple(schema_, references_, value);
182
+ return FromTuple(schema_, references_, value);
183
183
  case 'Union':
184
- return TUnion(schema_, references_, value);
184
+ return FromUnion(schema_, references_, value);
185
185
  default:
186
186
  return Default(schema_, value);
187
187
  }