@sinclair/typebox 0.24.25 → 0.24.28

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.
package/value/cast.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import * as Types from '../typebox';
2
- export declare class ValueCastInvalidTypeError extends Error {
2
+ export declare class ValueCastUnknownTypeError extends Error {
3
3
  readonly schema: Types.TSchema;
4
4
  constructor(schema: Types.TSchema);
5
5
  }
package/value/cast.js CHANGED
@@ -27,9 +27,8 @@ THE SOFTWARE.
27
27
 
28
28
  ---------------------------------------------------------------------------*/
29
29
  Object.defineProperty(exports, "__esModule", { value: true });
30
- exports.ValueCast = exports.ValueCastInvalidTypeError = void 0;
30
+ exports.ValueCast = exports.ValueCastUnknownTypeError = void 0;
31
31
  const Types = require("../typebox");
32
- const index_1 = require("../guard/index");
33
32
  const create_1 = require("./create");
34
33
  const check_1 = require("./check");
35
34
  // --------------------------------------------------------------------------
@@ -72,13 +71,13 @@ var UnionValueCast;
72
71
  }
73
72
  UnionValueCast.Create = Create;
74
73
  })(UnionValueCast || (UnionValueCast = {}));
75
- class ValueCastInvalidTypeError extends Error {
74
+ class ValueCastUnknownTypeError extends Error {
76
75
  constructor(schema) {
77
- super('ValueCast: Invalid type');
76
+ super('ValueCast: Unknown type');
78
77
  this.schema = schema;
79
78
  }
80
79
  }
81
- exports.ValueCastInvalidTypeError = ValueCastInvalidTypeError;
80
+ exports.ValueCastUnknownTypeError = ValueCastUnknownTypeError;
82
81
  var ValueCast;
83
82
  (function (ValueCast) {
84
83
  function Any(schema, references, value) {
@@ -197,72 +196,57 @@ var ValueCast;
197
196
  return check_1.ValueCheck.Check(schema, references, value) ? value : create_1.ValueCreate.Create(schema, references);
198
197
  }
199
198
  function Visit(schema, references, value) {
200
- const refs = schema.$id === undefined ? references : [schema, ...references];
201
- if (index_1.TypeGuard.TAny(schema)) {
202
- return Any(schema, refs, value);
203
- }
204
- else if (index_1.TypeGuard.TArray(schema)) {
205
- return Array(schema, refs, value);
206
- }
207
- else if (index_1.TypeGuard.TBoolean(schema)) {
208
- return Boolean(schema, refs, value);
209
- }
210
- else if (index_1.TypeGuard.TConstructor(schema)) {
211
- return Constructor(schema, refs, value);
212
- }
213
- else if (index_1.TypeGuard.TFunction(schema)) {
214
- return Function(schema, refs, value);
215
- }
216
- else if (index_1.TypeGuard.TInteger(schema)) {
217
- return Integer(schema, refs, value);
218
- }
219
- else if (index_1.TypeGuard.TLiteral(schema)) {
220
- return Literal(schema, refs, value);
221
- }
222
- else if (index_1.TypeGuard.TNull(schema)) {
223
- return Null(schema, refs, value);
224
- }
225
- else if (index_1.TypeGuard.TNumber(schema)) {
226
- return Number(schema, refs, value);
227
- }
228
- else if (index_1.TypeGuard.TObject(schema)) {
229
- return Object(schema, refs, value);
230
- }
231
- else if (index_1.TypeGuard.TPromise(schema)) {
232
- return Promise(schema, refs, value);
233
- }
234
- else if (index_1.TypeGuard.TRecord(schema)) {
235
- return Record(schema, refs, value);
236
- }
237
- else if (index_1.TypeGuard.TRef(schema)) {
238
- return Ref(schema, refs, value);
239
- }
240
- else if (index_1.TypeGuard.TSelf(schema)) {
241
- return Self(schema, refs, value);
242
- }
243
- else if (index_1.TypeGuard.TString(schema)) {
244
- return String(schema, refs, value);
245
- }
246
- else if (index_1.TypeGuard.TTuple(schema)) {
247
- return Tuple(schema, refs, value);
248
- }
249
- else if (index_1.TypeGuard.TUndefined(schema)) {
250
- return Undefined(schema, refs, value);
251
- }
252
- else if (index_1.TypeGuard.TUnion(schema)) {
253
- return Union(schema, refs, value);
254
- }
255
- else if (index_1.TypeGuard.TUint8Array(schema)) {
256
- return Uint8Array(schema, refs, value);
257
- }
258
- else if (index_1.TypeGuard.TUnknown(schema)) {
259
- return Unknown(schema, refs, value);
260
- }
261
- else if (index_1.TypeGuard.TVoid(schema)) {
262
- return Void(schema, refs, value);
263
- }
264
- else {
265
- throw new ValueCastInvalidTypeError(schema);
199
+ const anyReferences = schema.$id === undefined ? references : [schema, ...references];
200
+ const anySchema = schema;
201
+ switch (schema[Types.Kind]) {
202
+ case 'Any':
203
+ return Any(anySchema, anyReferences, value);
204
+ case 'Array':
205
+ return Array(anySchema, anyReferences, value);
206
+ case 'Boolean':
207
+ return Boolean(anySchema, anyReferences, value);
208
+ case 'Constructor':
209
+ return Constructor(anySchema, anyReferences, value);
210
+ case 'Enum':
211
+ return Enum(anySchema, anyReferences, value);
212
+ case 'Function':
213
+ return Function(anySchema, anyReferences, value);
214
+ case 'Integer':
215
+ return Integer(anySchema, anyReferences, value);
216
+ case 'Literal':
217
+ return Literal(anySchema, anyReferences, value);
218
+ case 'Null':
219
+ return Null(anySchema, anyReferences, value);
220
+ case 'Number':
221
+ return Number(anySchema, anyReferences, value);
222
+ case 'Object':
223
+ return Object(anySchema, anyReferences, value);
224
+ case 'Promise':
225
+ return Promise(anySchema, anyReferences, value);
226
+ case 'Record':
227
+ return Record(anySchema, anyReferences, value);
228
+ case 'Rec':
229
+ return Recursive(anySchema, anyReferences, value);
230
+ case 'Ref':
231
+ return Ref(anySchema, anyReferences, value);
232
+ case 'Self':
233
+ return Self(anySchema, anyReferences, value);
234
+ case 'String':
235
+ return String(anySchema, anyReferences, value);
236
+ case 'Tuple':
237
+ return Tuple(anySchema, anyReferences, value);
238
+ case 'Undefined':
239
+ return Undefined(anySchema, anyReferences, value);
240
+ case 'Union':
241
+ return Union(anySchema, anyReferences, value);
242
+ case 'Uint8Array':
243
+ return Uint8Array(anySchema, anyReferences, value);
244
+ case 'Unknown':
245
+ return Unknown(anySchema, anyReferences, value);
246
+ case 'Void':
247
+ return Void(anySchema, anyReferences, value);
248
+ default:
249
+ throw new ValueCastUnknownTypeError(anySchema);
266
250
  }
267
251
  }
268
252
  ValueCast.Visit = Visit;
package/value/check.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import * as Types from '../typebox';
2
- export declare class ValueCheckInvalidTypeError extends Error {
2
+ export declare class ValueCheckUnknownTypeError extends Error {
3
3
  readonly schema: Types.TSchema;
4
4
  constructor(schema: Types.TSchema);
5
5
  }
package/value/check.js CHANGED
@@ -27,15 +27,15 @@ THE SOFTWARE.
27
27
 
28
28
  ---------------------------------------------------------------------------*/
29
29
  Object.defineProperty(exports, "__esModule", { value: true });
30
- exports.ValueCheck = exports.ValueCheckInvalidTypeError = void 0;
31
- const index_1 = require("../guard/index");
32
- class ValueCheckInvalidTypeError extends Error {
30
+ exports.ValueCheck = exports.ValueCheckUnknownTypeError = void 0;
31
+ const Types = require("../typebox");
32
+ class ValueCheckUnknownTypeError extends Error {
33
33
  constructor(schema) {
34
- super('ValueCheck: Invalid type');
34
+ super('ValueCheck: Unknown type');
35
35
  this.schema = schema;
36
36
  }
37
37
  }
38
- exports.ValueCheckInvalidTypeError = ValueCheckInvalidTypeError;
38
+ exports.ValueCheckUnknownTypeError = ValueCheckUnknownTypeError;
39
39
  var ValueCheck;
40
40
  (function (ValueCheck) {
41
41
  function Any(schema, references, value) {
@@ -60,7 +60,7 @@ var ValueCheck;
60
60
  return typeof value === 'boolean';
61
61
  }
62
62
  function Constructor(schema, references, value) {
63
- return Visit(schema.returns, references, value);
63
+ return Visit(schema.returns, references, value.prototype);
64
64
  }
65
65
  function Function(schema, references, value) {
66
66
  return typeof value === 'function';
@@ -251,72 +251,53 @@ var ValueCheck;
251
251
  return value === null;
252
252
  }
253
253
  function Visit(schema, references, value) {
254
- const refs = schema.$id === undefined ? references : [schema, ...references];
255
- if (index_1.TypeGuard.TAny(schema)) {
256
- return Any(schema, refs, value);
257
- }
258
- else if (index_1.TypeGuard.TArray(schema)) {
259
- return Array(schema, refs, value);
260
- }
261
- else if (index_1.TypeGuard.TBoolean(schema)) {
262
- return Boolean(schema, refs, value);
263
- }
264
- else if (index_1.TypeGuard.TConstructor(schema)) {
265
- return Constructor(schema, refs, value);
266
- }
267
- else if (index_1.TypeGuard.TFunction(schema)) {
268
- return Function(schema, refs, value);
269
- }
270
- else if (index_1.TypeGuard.TInteger(schema)) {
271
- return Integer(schema, refs, value);
272
- }
273
- else if (index_1.TypeGuard.TLiteral(schema)) {
274
- return Literal(schema, refs, value);
275
- }
276
- else if (index_1.TypeGuard.TNull(schema)) {
277
- return Null(schema, refs, value);
278
- }
279
- else if (index_1.TypeGuard.TNumber(schema)) {
280
- return Number(schema, refs, value);
281
- }
282
- else if (index_1.TypeGuard.TObject(schema)) {
283
- return Object(schema, refs, value);
284
- }
285
- else if (index_1.TypeGuard.TPromise(schema)) {
286
- return Promise(schema, refs, value);
287
- }
288
- else if (index_1.TypeGuard.TRecord(schema)) {
289
- return Record(schema, refs, value);
290
- }
291
- else if (index_1.TypeGuard.TRef(schema)) {
292
- return Ref(schema, refs, value);
293
- }
294
- else if (index_1.TypeGuard.TSelf(schema)) {
295
- return Self(schema, refs, value);
296
- }
297
- else if (index_1.TypeGuard.TString(schema)) {
298
- return String(schema, refs, value);
299
- }
300
- else if (index_1.TypeGuard.TTuple(schema)) {
301
- return Tuple(schema, refs, value);
302
- }
303
- else if (index_1.TypeGuard.TUndefined(schema)) {
304
- return Undefined(schema, refs, value);
305
- }
306
- else if (index_1.TypeGuard.TUnion(schema)) {
307
- return Union(schema, refs, value);
308
- }
309
- else if (index_1.TypeGuard.TUint8Array(schema)) {
310
- return Uint8Array(schema, refs, value);
311
- }
312
- else if (index_1.TypeGuard.TUnknown(schema)) {
313
- return Unknown(schema, refs, value);
314
- }
315
- else if (index_1.TypeGuard.TVoid(schema)) {
316
- return Void(schema, refs, value);
317
- }
318
- else {
319
- throw new ValueCheckInvalidTypeError(schema);
254
+ const anyReferences = schema.$id === undefined ? references : [schema, ...references];
255
+ const anySchema = schema;
256
+ switch (anySchema[Types.Kind]) {
257
+ case 'Any':
258
+ return Any(anySchema, anyReferences, value);
259
+ case 'Array':
260
+ return Array(anySchema, anyReferences, value);
261
+ case 'Boolean':
262
+ return Boolean(anySchema, anyReferences, value);
263
+ case 'Constructor':
264
+ return Constructor(anySchema, anyReferences, value);
265
+ case 'Function':
266
+ return Function(anySchema, anyReferences, value);
267
+ case 'Integer':
268
+ return Integer(anySchema, anyReferences, value);
269
+ case 'Literal':
270
+ return Literal(anySchema, anyReferences, value);
271
+ case 'Null':
272
+ return Null(anySchema, anyReferences, value);
273
+ case 'Number':
274
+ return Number(anySchema, anyReferences, value);
275
+ case 'Object':
276
+ return Object(anySchema, anyReferences, value);
277
+ case 'Promise':
278
+ return Promise(anySchema, anyReferences, value);
279
+ case 'Record':
280
+ return Record(anySchema, anyReferences, value);
281
+ case 'Ref':
282
+ return Ref(anySchema, anyReferences, value);
283
+ case 'Self':
284
+ return Self(anySchema, anyReferences, value);
285
+ case 'String':
286
+ return String(anySchema, anyReferences, value);
287
+ case 'Tuple':
288
+ return Tuple(anySchema, anyReferences, value);
289
+ case 'Undefined':
290
+ return Undefined(anySchema, anyReferences, value);
291
+ case 'Union':
292
+ return Union(anySchema, anyReferences, value);
293
+ case 'Uint8Array':
294
+ return Uint8Array(anySchema, anyReferences, value);
295
+ case 'Unknown':
296
+ return Unknown(anySchema, anyReferences, value);
297
+ case 'Void':
298
+ return Void(anySchema, anyReferences, value);
299
+ default:
300
+ throw new ValueCheckUnknownTypeError(anySchema);
320
301
  }
321
302
  }
322
303
  // -------------------------------------------------------------------------
package/value/create.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import * as Types from '../typebox';
2
- export declare class ValueCreateInvalidTypeError extends Error {
2
+ export declare class ValueCreateUnknownTypeError extends Error {
3
3
  readonly schema: Types.TSchema;
4
4
  constructor(schema: Types.TSchema);
5
5
  }
package/value/create.js CHANGED
@@ -27,15 +27,15 @@ THE SOFTWARE.
27
27
 
28
28
  ---------------------------------------------------------------------------*/
29
29
  Object.defineProperty(exports, "__esModule", { value: true });
30
- exports.ValueCreate = exports.ValueCreateInvalidTypeError = void 0;
31
- const index_1 = require("../guard/index");
32
- class ValueCreateInvalidTypeError extends Error {
30
+ exports.ValueCreate = exports.ValueCreateUnknownTypeError = void 0;
31
+ const Types = require("../typebox");
32
+ class ValueCreateUnknownTypeError extends Error {
33
33
  constructor(schema) {
34
- super('ValueCreate: Invalid type');
34
+ super('ValueCreate: Unknown type');
35
35
  this.schema = schema;
36
36
  }
37
37
  }
38
- exports.ValueCreateInvalidTypeError = ValueCreateInvalidTypeError;
38
+ exports.ValueCreateUnknownTypeError = ValueCreateUnknownTypeError;
39
39
  var ValueCreate;
40
40
  (function (ValueCreate) {
41
41
  function Any(schema, references) {
@@ -276,72 +276,57 @@ var ValueCreate;
276
276
  }
277
277
  /** Creates a value from the given schema. If the schema specifies a default value, then that value is returned. */
278
278
  function Visit(schema, references) {
279
- const refs = schema.$id === undefined ? references : [schema, ...references];
280
- if (index_1.TypeGuard.TAny(schema)) {
281
- return Any(schema, refs);
282
- }
283
- else if (index_1.TypeGuard.TArray(schema)) {
284
- return Array(schema, refs);
285
- }
286
- else if (index_1.TypeGuard.TBoolean(schema)) {
287
- return Boolean(schema, refs);
288
- }
289
- else if (index_1.TypeGuard.TConstructor(schema)) {
290
- return Constructor(schema, refs);
291
- }
292
- else if (index_1.TypeGuard.TFunction(schema)) {
293
- return Function(schema, refs);
294
- }
295
- else if (index_1.TypeGuard.TInteger(schema)) {
296
- return Integer(schema, refs);
297
- }
298
- else if (index_1.TypeGuard.TLiteral(schema)) {
299
- return Literal(schema, refs);
300
- }
301
- else if (index_1.TypeGuard.TNull(schema)) {
302
- return Null(schema, refs);
303
- }
304
- else if (index_1.TypeGuard.TNumber(schema)) {
305
- return Number(schema, refs);
306
- }
307
- else if (index_1.TypeGuard.TObject(schema)) {
308
- return Object(schema, refs);
309
- }
310
- else if (index_1.TypeGuard.TPromise(schema)) {
311
- return Promise(schema, refs);
312
- }
313
- else if (index_1.TypeGuard.TRecord(schema)) {
314
- return Record(schema, refs);
315
- }
316
- else if (index_1.TypeGuard.TRef(schema)) {
317
- return Ref(schema, refs);
318
- }
319
- else if (index_1.TypeGuard.TSelf(schema)) {
320
- return Self(schema, refs);
321
- }
322
- else if (index_1.TypeGuard.TString(schema)) {
323
- return String(schema, refs);
324
- }
325
- else if (index_1.TypeGuard.TTuple(schema)) {
326
- return Tuple(schema, refs);
327
- }
328
- else if (index_1.TypeGuard.TUndefined(schema)) {
329
- return Undefined(schema, refs);
330
- }
331
- else if (index_1.TypeGuard.TUnion(schema)) {
332
- return Union(schema, refs);
333
- }
334
- else if (index_1.TypeGuard.TUint8Array(schema)) {
335
- return Uint8Array(schema, refs);
336
- }
337
- else if (index_1.TypeGuard.TUnknown(schema)) {
338
- return Unknown(schema, refs);
339
- }
340
- else if (index_1.TypeGuard.TVoid(schema)) {
341
- return Void(schema, refs);
342
- }
343
- else {
344
- throw new ValueCreateInvalidTypeError(schema);
279
+ const anyReferences = schema.$id === undefined ? references : [schema, ...references];
280
+ const anySchema = schema;
281
+ switch (anySchema[Types.Kind]) {
282
+ case 'Any':
283
+ return Any(anySchema, anyReferences);
284
+ case 'Array':
285
+ return Array(anySchema, anyReferences);
286
+ case 'Boolean':
287
+ return Boolean(anySchema, anyReferences);
288
+ case 'Constructor':
289
+ return Constructor(anySchema, anyReferences);
290
+ case 'Enum':
291
+ return Enum(anySchema, anyReferences);
292
+ case 'Function':
293
+ return Function(anySchema, anyReferences);
294
+ case 'Integer':
295
+ return Integer(anySchema, anyReferences);
296
+ case 'Literal':
297
+ return Literal(anySchema, anyReferences);
298
+ case 'Null':
299
+ return Null(anySchema, anyReferences);
300
+ case 'Number':
301
+ return Number(anySchema, anyReferences);
302
+ case 'Object':
303
+ return Object(anySchema, anyReferences);
304
+ case 'Promise':
305
+ return Promise(anySchema, anyReferences);
306
+ case 'Record':
307
+ return Record(anySchema, anyReferences);
308
+ case 'Rec':
309
+ return Recursive(anySchema, anyReferences);
310
+ case 'Ref':
311
+ return Ref(anySchema, anyReferences);
312
+ case 'Self':
313
+ return Self(anySchema, anyReferences);
314
+ case 'String':
315
+ return String(anySchema, anyReferences);
316
+ case 'Tuple':
317
+ return Tuple(anySchema, anyReferences);
318
+ case 'Undefined':
319
+ return Undefined(anySchema, anyReferences);
320
+ case 'Union':
321
+ return Union(anySchema, anyReferences);
322
+ case 'Uint8Array':
323
+ return Uint8Array(anySchema, anyReferences);
324
+ case 'Unknown':
325
+ return Unknown(anySchema, anyReferences);
326
+ case 'Void':
327
+ return Void(anySchema, anyReferences);
328
+ default:
329
+ throw new ValueCreateUnknownTypeError(anySchema);
345
330
  }
346
331
  }
347
332
  ValueCreate.Visit = Visit;