@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
@@ -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
  }
@@ -9,67 +9,67 @@ import { IsTransform, IsSchema } from '../../type/guard/type.mjs';
9
9
  // ------------------------------------------------------------------
10
10
  import { IsString, IsUndefined } from '../guard/index.mjs';
11
11
  // prettier-ignore
12
- function TArray(schema, references) {
12
+ function FromArray(schema, references) {
13
13
  return IsTransform(schema) || Visit(schema.items, references);
14
14
  }
15
15
  // prettier-ignore
16
- function TAsyncIterator(schema, references) {
16
+ function FromAsyncIterator(schema, references) {
17
17
  return IsTransform(schema) || Visit(schema.items, references);
18
18
  }
19
19
  // prettier-ignore
20
- function TConstructor(schema, references) {
20
+ function FromConstructor(schema, references) {
21
21
  return IsTransform(schema) || Visit(schema.returns, references) || schema.parameters.some((schema) => Visit(schema, references));
22
22
  }
23
23
  // prettier-ignore
24
- function TFunction(schema, references) {
24
+ function FromFunction(schema, references) {
25
25
  return IsTransform(schema) || Visit(schema.returns, references) || schema.parameters.some((schema) => Visit(schema, references));
26
26
  }
27
27
  // prettier-ignore
28
- function TIntersect(schema, references) {
28
+ function FromIntersect(schema, references) {
29
29
  return IsTransform(schema) || IsTransform(schema.unevaluatedProperties) || schema.allOf.some((schema) => Visit(schema, references));
30
30
  }
31
31
  // prettier-ignore
32
- function TIterator(schema, references) {
32
+ function FromIterator(schema, references) {
33
33
  return IsTransform(schema) || Visit(schema.items, references);
34
34
  }
35
35
  // prettier-ignore
36
- function TNot(schema, references) {
36
+ function FromNot(schema, references) {
37
37
  return IsTransform(schema) || Visit(schema.not, references);
38
38
  }
39
39
  // prettier-ignore
40
- function TObject(schema, references) {
40
+ function FromObject(schema, references) {
41
41
  return (IsTransform(schema) ||
42
42
  Object.values(schema.properties).some((schema) => Visit(schema, references)) ||
43
43
  (IsSchema(schema.additionalProperties) && Visit(schema.additionalProperties, references)));
44
44
  }
45
45
  // prettier-ignore
46
- function TPromise(schema, references) {
46
+ function FromPromise(schema, references) {
47
47
  return IsTransform(schema) || Visit(schema.item, references);
48
48
  }
49
49
  // prettier-ignore
50
- function TRecord(schema, references) {
50
+ function FromRecord(schema, references) {
51
51
  const pattern = Object.getOwnPropertyNames(schema.patternProperties)[0];
52
52
  const property = schema.patternProperties[pattern];
53
53
  return IsTransform(schema) || Visit(property, references) || (IsSchema(schema.additionalProperties) && IsTransform(schema.additionalProperties));
54
54
  }
55
55
  // prettier-ignore
56
- function TRef(schema, references) {
56
+ function FromRef(schema, references) {
57
57
  if (IsTransform(schema))
58
58
  return true;
59
59
  return Visit(Deref(schema, references), references);
60
60
  }
61
61
  // prettier-ignore
62
- function TThis(schema, references) {
62
+ function FromThis(schema, references) {
63
63
  if (IsTransform(schema))
64
64
  return true;
65
65
  return Visit(Deref(schema, references), references);
66
66
  }
67
67
  // prettier-ignore
68
- function TTuple(schema, references) {
68
+ function FromTuple(schema, references) {
69
69
  return IsTransform(schema) || (!IsUndefined(schema.items) && schema.items.some((schema) => Visit(schema, references)));
70
70
  }
71
71
  // prettier-ignore
72
- function TUnion(schema, references) {
72
+ function FromUnion(schema, references) {
73
73
  return IsTransform(schema) || schema.anyOf.some((schema) => Visit(schema, references));
74
74
  }
75
75
  // prettier-ignore
@@ -82,33 +82,33 @@ function Visit(schema, references) {
82
82
  visited.add(schema.$id);
83
83
  switch (schema[Kind]) {
84
84
  case 'Array':
85
- return TArray(schema_, references_);
85
+ return FromArray(schema_, references_);
86
86
  case 'AsyncIterator':
87
- return TAsyncIterator(schema_, references_);
87
+ return FromAsyncIterator(schema_, references_);
88
88
  case 'Constructor':
89
- return TConstructor(schema_, references_);
89
+ return FromConstructor(schema_, references_);
90
90
  case 'Function':
91
- return TFunction(schema_, references_);
91
+ return FromFunction(schema_, references_);
92
92
  case 'Intersect':
93
- return TIntersect(schema_, references_);
93
+ return FromIntersect(schema_, references_);
94
94
  case 'Iterator':
95
- return TIterator(schema_, references_);
95
+ return FromIterator(schema_, references_);
96
96
  case 'Not':
97
- return TNot(schema_, references_);
97
+ return FromNot(schema_, references_);
98
98
  case 'Object':
99
- return TObject(schema_, references_);
99
+ return FromObject(schema_, references_);
100
100
  case 'Promise':
101
- return TPromise(schema_, references_);
101
+ return FromPromise(schema_, references_);
102
102
  case 'Record':
103
- return TRecord(schema_, references_);
103
+ return FromRecord(schema_, references_);
104
104
  case 'Ref':
105
- return TRef(schema_, references_);
105
+ return FromRef(schema_, references_);
106
106
  case 'This':
107
- return TThis(schema_, references_);
107
+ return FromThis(schema_, references_);
108
108
  case 'Tuple':
109
- return TTuple(schema_, references_);
109
+ return FromTuple(schema_, references_);
110
110
  case 'Union':
111
- return TUnion(schema_, references_);
111
+ return FromUnion(schema_, references_);
112
112
  default:
113
113
  return IsTransform(schema);
114
114
  }
@@ -196,10 +196,10 @@ var TypeCompiler;
196
196
  // ----------------------------------------------------------------
197
197
  // Types
198
198
  // ----------------------------------------------------------------
199
- function* TAny(schema, references, value) {
199
+ function* FromAny(schema, references, value) {
200
200
  yield 'true';
201
201
  }
202
- function* TArray(schema, references, value) {
202
+ function* FromArray(schema, references, value) {
203
203
  yield `Array.isArray(${value})`;
204
204
  const [parameter, accumulator] = [CreateParameter('value', 'any'), CreateParameter('acc', 'number')];
205
205
  if ((0, index_10.IsNumber)(schema.maxItems))
@@ -223,10 +223,10 @@ var TypeCompiler;
223
223
  yield `((${parameter}) => { ${block} )(${value})`;
224
224
  }
225
225
  }
226
- function* TAsyncIterator(schema, references, value) {
226
+ function* FromAsyncIterator(schema, references, value) {
227
227
  yield `(typeof value === 'object' && Symbol.asyncIterator in ${value})`;
228
228
  }
229
- function* TBigInt(schema, references, value) {
229
+ function* FromBigInt(schema, references, value) {
230
230
  yield `(typeof ${value} === 'bigint')`;
231
231
  if ((0, index_10.IsBigInt)(schema.exclusiveMaximum))
232
232
  yield `${value} < BigInt(${schema.exclusiveMaximum})`;
@@ -239,13 +239,13 @@ var TypeCompiler;
239
239
  if ((0, index_10.IsBigInt)(schema.multipleOf))
240
240
  yield `(${value} % BigInt(${schema.multipleOf})) === 0`;
241
241
  }
242
- function* TBoolean(schema, references, value) {
242
+ function* FromBoolean(schema, references, value) {
243
243
  yield `(typeof ${value} === 'boolean')`;
244
244
  }
245
- function* TConstructor(schema, references, value) {
245
+ function* FromConstructor(schema, references, value) {
246
246
  yield* Visit(schema.returns, references, `${value}.prototype`);
247
247
  }
248
- function* TDate(schema, references, value) {
248
+ function* FromDate(schema, references, value) {
249
249
  yield `(${value} instanceof Date) && Number.isFinite(${value}.getTime())`;
250
250
  if ((0, index_10.IsNumber)(schema.exclusiveMaximumTimestamp))
251
251
  yield `${value}.getTime() < ${schema.exclusiveMaximumTimestamp}`;
@@ -258,10 +258,10 @@ var TypeCompiler;
258
258
  if ((0, index_10.IsNumber)(schema.multipleOfTimestamp))
259
259
  yield `(${value}.getTime() % ${schema.multipleOfTimestamp}) === 0`;
260
260
  }
261
- function* TFunction(schema, references, value) {
261
+ function* FromFunction(schema, references, value) {
262
262
  yield `(typeof ${value} === 'function')`;
263
263
  }
264
- function* TInteger(schema, references, value) {
264
+ function* FromInteger(schema, references, value) {
265
265
  yield `(typeof ${value} === 'number' && Number.isInteger(${value}))`;
266
266
  if ((0, index_10.IsNumber)(schema.exclusiveMaximum))
267
267
  yield `${value} < ${schema.exclusiveMaximum}`;
@@ -274,7 +274,7 @@ var TypeCompiler;
274
274
  if ((0, index_10.IsNumber)(schema.multipleOf))
275
275
  yield `(${value} % ${schema.multipleOf}) === 0`;
276
276
  }
277
- function* TIntersect(schema, references, value) {
277
+ function* FromIntersect(schema, references, value) {
278
278
  const check1 = schema.allOf.map((schema) => CreateExpression(schema, references, value)).join(' && ');
279
279
  if (schema.unevaluatedProperties === false) {
280
280
  const keyCheck = CreateVariable(`${new RegExp((0, index_8.KeyOfPattern)(schema))};`);
@@ -290,10 +290,10 @@ var TypeCompiler;
290
290
  yield `(${check1})`;
291
291
  }
292
292
  }
293
- function* TIterator(schema, references, value) {
293
+ function* FromIterator(schema, references, value) {
294
294
  yield `(typeof value === 'object' && Symbol.iterator in ${value})`;
295
295
  }
296
- function* TLiteral(schema, references, value) {
296
+ function* FromLiteral(schema, references, value) {
297
297
  if (typeof schema.const === 'number' || typeof schema.const === 'boolean') {
298
298
  yield `(${value} === ${schema.const})`;
299
299
  }
@@ -301,17 +301,17 @@ var TypeCompiler;
301
301
  yield `(${value} === '${LiteralString.Escape(schema.const)}')`;
302
302
  }
303
303
  }
304
- function* TNever(schema, references, value) {
304
+ function* FromNever(schema, references, value) {
305
305
  yield `false`;
306
306
  }
307
- function* TNot(schema, references, value) {
307
+ function* FromNot(schema, references, value) {
308
308
  const expression = CreateExpression(schema.not, references, value);
309
309
  yield `(!${expression})`;
310
310
  }
311
- function* TNull(schema, references, value) {
311
+ function* FromNull(schema, references, value) {
312
312
  yield `(${value} === null)`;
313
313
  }
314
- function* TNumber(schema, references, value) {
314
+ function* FromNumber(schema, references, value) {
315
315
  yield Policy.IsNumberLike(value);
316
316
  if ((0, index_10.IsNumber)(schema.exclusiveMaximum))
317
317
  yield `${value} < ${schema.exclusiveMaximum}`;
@@ -324,7 +324,7 @@ var TypeCompiler;
324
324
  if ((0, index_10.IsNumber)(schema.multipleOf))
325
325
  yield `(${value} % ${schema.multipleOf}) === 0`;
326
326
  }
327
- function* TObject(schema, references, value) {
327
+ function* FromObject(schema, references, value) {
328
328
  yield Policy.IsObjectLike(value);
329
329
  if ((0, index_10.IsNumber)(schema.minProperties))
330
330
  yield `Object.getOwnPropertyNames(${value}).length >= ${schema.minProperties}`;
@@ -359,10 +359,10 @@ var TypeCompiler;
359
359
  yield `(Object.getOwnPropertyNames(${value}).every(key => ${keys}.includes(key) || ${expression}))`;
360
360
  }
361
361
  }
362
- function* TPromise(schema, references, value) {
362
+ function* FromPromise(schema, references, value) {
363
363
  yield `(typeof value === 'object' && typeof ${value}.then === 'function')`;
364
364
  }
365
- function* TRecord(schema, references, value) {
365
+ function* FromRecord(schema, references, value) {
366
366
  yield Policy.IsRecordLike(value);
367
367
  if ((0, index_10.IsNumber)(schema.minProperties))
368
368
  yield `Object.getOwnPropertyNames(${value}).length >= ${schema.minProperties}`;
@@ -375,7 +375,7 @@ var TypeCompiler;
375
375
  const expression = `(${variable}.test(key) ? ${check1} : ${check2})`;
376
376
  yield `(Object.entries(${value}).every(([key, value]) => ${expression}))`;
377
377
  }
378
- function* TRef(schema, references, value) {
378
+ function* FromRef(schema, references, value) {
379
379
  const target = (0, index_4.Deref)(schema, references);
380
380
  // Reference: If we have seen this reference before we can just yield and return the function call.
381
381
  // If this isn't the case we defer to visit to generate and set the function for subsequent passes.
@@ -383,7 +383,7 @@ var TypeCompiler;
383
383
  return yield `${CreateFunctionName(schema.$ref)}(${value})`;
384
384
  yield* Visit(target, references, value);
385
385
  }
386
- function* TString(schema, references, value) {
386
+ function* FromString(schema, references, value) {
387
387
  yield `(typeof ${value} === 'string')`;
388
388
  if ((0, index_10.IsNumber)(schema.maxLength))
389
389
  yield `${value}.length <= ${schema.maxLength}`;
@@ -397,19 +397,19 @@ var TypeCompiler;
397
397
  yield `format('${schema.format}', ${value})`;
398
398
  }
399
399
  }
400
- function* TSymbol(schema, references, value) {
400
+ function* FromSymbol(schema, references, value) {
401
401
  yield `(typeof ${value} === 'symbol')`;
402
402
  }
403
- function* TTemplateLiteral(schema, references, value) {
403
+ function* FromTemplateLiteral(schema, references, value) {
404
404
  yield `(typeof ${value} === 'string')`;
405
405
  const variable = CreateVariable(`${new RegExp(schema.pattern)};`);
406
406
  yield `${variable}.test(${value})`;
407
407
  }
408
- function* TThis(schema, references, value) {
408
+ function* FromThis(schema, references, value) {
409
409
  // Note: This types are assured to be hoisted prior to this call. Just yield the function.
410
410
  yield `${CreateFunctionName(schema.$ref)}(${value})`;
411
411
  }
412
- function* TTuple(schema, references, value) {
412
+ function* FromTuple(schema, references, value) {
413
413
  yield `Array.isArray(${value})`;
414
414
  if (schema.items === undefined)
415
415
  return yield `${value}.length === 0`;
@@ -419,27 +419,27 @@ var TypeCompiler;
419
419
  yield `${expression}`;
420
420
  }
421
421
  }
422
- function* TUndefined(schema, references, value) {
422
+ function* FromUndefined(schema, references, value) {
423
423
  yield `${value} === undefined`;
424
424
  }
425
- function* TUnion(schema, references, value) {
425
+ function* FromUnion(schema, references, value) {
426
426
  const expressions = schema.anyOf.map((schema) => CreateExpression(schema, references, value));
427
427
  yield `(${expressions.join(' || ')})`;
428
428
  }
429
- function* TUint8Array(schema, references, value) {
429
+ function* FromUint8Array(schema, references, value) {
430
430
  yield `${value} instanceof Uint8Array`;
431
431
  if ((0, index_10.IsNumber)(schema.maxByteLength))
432
432
  yield `(${value}.length <= ${schema.maxByteLength})`;
433
433
  if ((0, index_10.IsNumber)(schema.minByteLength))
434
434
  yield `(${value}.length >= ${schema.minByteLength})`;
435
435
  }
436
- function* TUnknown(schema, references, value) {
436
+ function* FromUnknown(schema, references, value) {
437
437
  yield 'true';
438
438
  }
439
- function* TVoid(schema, references, value) {
439
+ function* FromVoid(schema, references, value) {
440
440
  yield Policy.IsVoidLike(value);
441
441
  }
442
- function* TKind(schema, references, value) {
442
+ function* FromKind(schema, references, value) {
443
443
  const instance = state.instances.size;
444
444
  state.instances.set(instance, schema);
445
445
  yield `kind('${schema[index_6.Kind]}', ${instance}, ${value})`;
@@ -463,69 +463,69 @@ var TypeCompiler;
463
463
  }
464
464
  switch (schema_[index_6.Kind]) {
465
465
  case 'Any':
466
- return yield* TAny(schema_, references_, value);
466
+ return yield* FromAny(schema_, references_, value);
467
467
  case 'Array':
468
- return yield* TArray(schema_, references_, value);
468
+ return yield* FromArray(schema_, references_, value);
469
469
  case 'AsyncIterator':
470
- return yield* TAsyncIterator(schema_, references_, value);
470
+ return yield* FromAsyncIterator(schema_, references_, value);
471
471
  case 'BigInt':
472
- return yield* TBigInt(schema_, references_, value);
472
+ return yield* FromBigInt(schema_, references_, value);
473
473
  case 'Boolean':
474
- return yield* TBoolean(schema_, references_, value);
474
+ return yield* FromBoolean(schema_, references_, value);
475
475
  case 'Constructor':
476
- return yield* TConstructor(schema_, references_, value);
476
+ return yield* FromConstructor(schema_, references_, value);
477
477
  case 'Date':
478
- return yield* TDate(schema_, references_, value);
478
+ return yield* FromDate(schema_, references_, value);
479
479
  case 'Function':
480
- return yield* TFunction(schema_, references_, value);
480
+ return yield* FromFunction(schema_, references_, value);
481
481
  case 'Integer':
482
- return yield* TInteger(schema_, references_, value);
482
+ return yield* FromInteger(schema_, references_, value);
483
483
  case 'Intersect':
484
- return yield* TIntersect(schema_, references_, value);
484
+ return yield* FromIntersect(schema_, references_, value);
485
485
  case 'Iterator':
486
- return yield* TIterator(schema_, references_, value);
486
+ return yield* FromIterator(schema_, references_, value);
487
487
  case 'Literal':
488
- return yield* TLiteral(schema_, references_, value);
488
+ return yield* FromLiteral(schema_, references_, value);
489
489
  case 'Never':
490
- return yield* TNever(schema_, references_, value);
490
+ return yield* FromNever(schema_, references_, value);
491
491
  case 'Not':
492
- return yield* TNot(schema_, references_, value);
492
+ return yield* FromNot(schema_, references_, value);
493
493
  case 'Null':
494
- return yield* TNull(schema_, references_, value);
494
+ return yield* FromNull(schema_, references_, value);
495
495
  case 'Number':
496
- return yield* TNumber(schema_, references_, value);
496
+ return yield* FromNumber(schema_, references_, value);
497
497
  case 'Object':
498
- return yield* TObject(schema_, references_, value);
498
+ return yield* FromObject(schema_, references_, value);
499
499
  case 'Promise':
500
- return yield* TPromise(schema_, references_, value);
500
+ return yield* FromPromise(schema_, references_, value);
501
501
  case 'Record':
502
- return yield* TRecord(schema_, references_, value);
502
+ return yield* FromRecord(schema_, references_, value);
503
503
  case 'Ref':
504
- return yield* TRef(schema_, references_, value);
504
+ return yield* FromRef(schema_, references_, value);
505
505
  case 'String':
506
- return yield* TString(schema_, references_, value);
506
+ return yield* FromString(schema_, references_, value);
507
507
  case 'Symbol':
508
- return yield* TSymbol(schema_, references_, value);
508
+ return yield* FromSymbol(schema_, references_, value);
509
509
  case 'TemplateLiteral':
510
- return yield* TTemplateLiteral(schema_, references_, value);
510
+ return yield* FromTemplateLiteral(schema_, references_, value);
511
511
  case 'This':
512
- return yield* TThis(schema_, references_, value);
512
+ return yield* FromThis(schema_, references_, value);
513
513
  case 'Tuple':
514
- return yield* TTuple(schema_, references_, value);
514
+ return yield* FromTuple(schema_, references_, value);
515
515
  case 'Undefined':
516
- return yield* TUndefined(schema_, references_, value);
516
+ return yield* FromUndefined(schema_, references_, value);
517
517
  case 'Union':
518
- return yield* TUnion(schema_, references_, value);
518
+ return yield* FromUnion(schema_, references_, value);
519
519
  case 'Uint8Array':
520
- return yield* TUint8Array(schema_, references_, value);
520
+ return yield* FromUint8Array(schema_, references_, value);
521
521
  case 'Unknown':
522
- return yield* TUnknown(schema_, references_, value);
522
+ return yield* FromUnknown(schema_, references_, value);
523
523
  case 'Void':
524
- return yield* TVoid(schema_, references_, value);
524
+ return yield* FromVoid(schema_, references_, value);
525
525
  default:
526
526
  if (!index_7.TypeRegistry.Has(schema_[index_6.Kind]))
527
527
  throw new TypeCompilerUnknownTypeError(schema);
528
- return yield* TKind(schema_, references_, value);
528
+ return yield* FromKind(schema_, references_, value);
529
529
  }
530
530
  }
531
531
  // ----------------------------------------------------------------