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

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 (78) hide show
  1. package/build/import/compiler/compiler.mjs +14 -8
  2. package/build/import/errors/errors.mjs +15 -11
  3. package/build/import/type/awaited/awaited.mjs +4 -4
  4. package/build/import/type/deref/deref.mjs +12 -12
  5. package/build/import/type/exclude/exclude.mjs +8 -5
  6. package/build/import/type/extends/extends-check.mjs +167 -167
  7. package/build/import/type/extends/extends.mjs +3 -3
  8. package/build/import/type/extract/extract.mjs +5 -5
  9. package/build/import/type/guard/type.d.mts +50 -50
  10. package/build/import/type/guard/type.mjs +136 -136
  11. package/build/import/type/indexed/indexed-property-keys.mjs +7 -7
  12. package/build/import/type/indexed/indexed.mjs +9 -9
  13. package/build/import/type/intersect/intersect-create.mjs +4 -4
  14. package/build/import/type/intersect/intersect-evaluated.mjs +1 -1
  15. package/build/import/type/intersect/intersect.mjs +2 -2
  16. package/build/import/type/intrinsic/intrinsic.mjs +5 -5
  17. package/build/import/type/keyof/keyof-property-keys.mjs +7 -7
  18. package/build/import/type/keyof/keyof.mjs +2 -2
  19. package/build/import/type/mapped/mapped.mjs +16 -16
  20. package/build/import/type/modifiers/modifiers.mjs +3 -3
  21. package/build/import/type/object/object.mjs +3 -3
  22. package/build/import/type/omit/omit.mjs +6 -6
  23. package/build/import/type/partial/partial.mjs +5 -5
  24. package/build/import/type/pick/pick.mjs +6 -6
  25. package/build/import/type/record/record.mjs +7 -7
  26. package/build/import/type/required/required.mjs +5 -5
  27. package/build/import/type/rest/rest.mjs +6 -2
  28. package/build/import/type/template-literal/pattern.mjs +9 -9
  29. package/build/import/type/transform/transform.mjs +1 -1
  30. package/build/import/type/union/union-evaluated.mjs +2 -2
  31. package/build/import/value/check/check.mjs +18 -11
  32. package/build/import/value/clean/clean.mjs +9 -7
  33. package/build/import/value/clone/clone.mjs +7 -4
  34. package/build/import/value/convert/convert.mjs +6 -2
  35. package/build/import/value/default/default.mjs +12 -4
  36. package/build/import/value/transform/decode.mjs +12 -6
  37. package/build/import/value/transform/encode.mjs +12 -6
  38. package/build/import/value/transform/has.mjs +24 -18
  39. package/build/require/compiler/compiler.js +77 -71
  40. package/build/require/errors/errors.js +58 -54
  41. package/build/require/type/awaited/awaited.js +3 -3
  42. package/build/require/type/deref/deref.js +11 -11
  43. package/build/require/type/exclude/exclude.js +7 -4
  44. package/build/require/type/extends/extends-check.js +167 -167
  45. package/build/require/type/extends/extends.js +2 -2
  46. package/build/require/type/extract/extract.js +4 -4
  47. package/build/require/type/guard/type.d.ts +50 -50
  48. package/build/require/type/guard/type.js +184 -184
  49. package/build/require/type/indexed/indexed-property-keys.js +6 -6
  50. package/build/require/type/indexed/indexed.js +9 -9
  51. package/build/require/type/intersect/intersect-create.js +3 -3
  52. package/build/require/type/intersect/intersect-evaluated.js +2 -2
  53. package/build/require/type/intersect/intersect.js +1 -1
  54. package/build/require/type/intrinsic/intrinsic.js +4 -4
  55. package/build/require/type/keyof/keyof-property-keys.js +6 -6
  56. package/build/require/type/keyof/keyof.js +1 -1
  57. package/build/require/type/mapped/mapped.js +15 -15
  58. package/build/require/type/modifiers/modifiers.js +2 -2
  59. package/build/require/type/object/object.js +2 -2
  60. package/build/require/type/omit/omit.js +5 -5
  61. package/build/require/type/partial/partial.js +4 -4
  62. package/build/require/type/pick/pick.js +5 -5
  63. package/build/require/type/record/record.js +6 -6
  64. package/build/require/type/required/required.js +4 -4
  65. package/build/require/type/rest/rest.js +5 -1
  66. package/build/require/type/template-literal/pattern.js +8 -8
  67. package/build/require/type/transform/transform.js +1 -1
  68. package/build/require/type/union/union-evaluated.js +1 -1
  69. package/build/require/value/check/check.js +63 -56
  70. package/build/require/value/clean/clean.js +31 -29
  71. package/build/require/value/clone/clone.js +7 -4
  72. package/build/require/value/convert/convert.js +42 -38
  73. package/build/require/value/default/default.js +24 -16
  74. package/build/require/value/transform/decode.js +27 -21
  75. package/build/require/value/transform/encode.js +28 -22
  76. package/build/require/value/transform/has.js +29 -23
  77. package/package.json +1 -1
  78. package/readme.md +5 -5
@@ -2,83 +2,89 @@
2
2
 
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  exports.HasTransform = void 0;
5
+ const index_1 = require("../deref/index");
6
+ const index_2 = require("../../type/symbols/index");
7
+ // ------------------------------------------------------------------
8
+ // TypeGuard
9
+ // ------------------------------------------------------------------
5
10
  const type_1 = require("../../type/guard/type");
6
- const index_1 = require("../guard/index");
7
- const index_2 = require("../deref/index");
8
- const index_3 = require("../../type/symbols/index");
11
+ // ------------------------------------------------------------------
12
+ // ValueGuard
13
+ // ------------------------------------------------------------------
14
+ const index_3 = require("../guard/index");
9
15
  // prettier-ignore
10
16
  function TArray(schema, references) {
11
- return (0, type_1.TTransform)(schema) || Visit(schema.items, references);
17
+ return (0, type_1.IsTransform)(schema) || Visit(schema.items, references);
12
18
  }
13
19
  // prettier-ignore
14
20
  function TAsyncIterator(schema, references) {
15
- return (0, type_1.TTransform)(schema) || Visit(schema.items, references);
21
+ return (0, type_1.IsTransform)(schema) || Visit(schema.items, references);
16
22
  }
17
23
  // prettier-ignore
18
24
  function TConstructor(schema, references) {
19
- return (0, type_1.TTransform)(schema) || Visit(schema.returns, references) || schema.parameters.some((schema) => Visit(schema, references));
25
+ return (0, type_1.IsTransform)(schema) || Visit(schema.returns, references) || schema.parameters.some((schema) => Visit(schema, references));
20
26
  }
21
27
  // prettier-ignore
22
28
  function TFunction(schema, references) {
23
- return (0, type_1.TTransform)(schema) || Visit(schema.returns, references) || schema.parameters.some((schema) => Visit(schema, references));
29
+ return (0, type_1.IsTransform)(schema) || Visit(schema.returns, references) || schema.parameters.some((schema) => Visit(schema, references));
24
30
  }
25
31
  // prettier-ignore
26
32
  function TIntersect(schema, references) {
27
- return (0, type_1.TTransform)(schema) || (0, type_1.TTransform)(schema.unevaluatedProperties) || schema.allOf.some((schema) => Visit(schema, references));
33
+ return (0, type_1.IsTransform)(schema) || (0, type_1.IsTransform)(schema.unevaluatedProperties) || schema.allOf.some((schema) => Visit(schema, references));
28
34
  }
29
35
  // prettier-ignore
30
36
  function TIterator(schema, references) {
31
- return (0, type_1.TTransform)(schema) || Visit(schema.items, references);
37
+ return (0, type_1.IsTransform)(schema) || Visit(schema.items, references);
32
38
  }
33
39
  // prettier-ignore
34
40
  function TNot(schema, references) {
35
- return (0, type_1.TTransform)(schema) || Visit(schema.not, references);
41
+ return (0, type_1.IsTransform)(schema) || Visit(schema.not, references);
36
42
  }
37
43
  // prettier-ignore
38
44
  function TObject(schema, references) {
39
- return ((0, type_1.TTransform)(schema) ||
45
+ return ((0, type_1.IsTransform)(schema) ||
40
46
  Object.values(schema.properties).some((schema) => Visit(schema, references)) ||
41
- ((0, type_1.TSchema)(schema.additionalProperties) && Visit(schema.additionalProperties, references)));
47
+ ((0, type_1.IsSchema)(schema.additionalProperties) && Visit(schema.additionalProperties, references)));
42
48
  }
43
49
  // prettier-ignore
44
50
  function TPromise(schema, references) {
45
- return (0, type_1.TTransform)(schema) || Visit(schema.item, references);
51
+ return (0, type_1.IsTransform)(schema) || Visit(schema.item, references);
46
52
  }
47
53
  // prettier-ignore
48
54
  function TRecord(schema, references) {
49
55
  const pattern = Object.getOwnPropertyNames(schema.patternProperties)[0];
50
56
  const property = schema.patternProperties[pattern];
51
- return (0, type_1.TTransform)(schema) || Visit(property, references) || ((0, type_1.TSchema)(schema.additionalProperties) && (0, type_1.TTransform)(schema.additionalProperties));
57
+ return (0, type_1.IsTransform)(schema) || Visit(property, references) || ((0, type_1.IsSchema)(schema.additionalProperties) && (0, type_1.IsTransform)(schema.additionalProperties));
52
58
  }
53
59
  // prettier-ignore
54
60
  function TRef(schema, references) {
55
- if ((0, type_1.TTransform)(schema))
61
+ if ((0, type_1.IsTransform)(schema))
56
62
  return true;
57
- return Visit((0, index_2.Deref)(schema, references), references);
63
+ return Visit((0, index_1.Deref)(schema, references), references);
58
64
  }
59
65
  // prettier-ignore
60
66
  function TThis(schema, references) {
61
- if ((0, type_1.TTransform)(schema))
67
+ if ((0, type_1.IsTransform)(schema))
62
68
  return true;
63
- return Visit((0, index_2.Deref)(schema, references), references);
69
+ return Visit((0, index_1.Deref)(schema, references), references);
64
70
  }
65
71
  // prettier-ignore
66
72
  function TTuple(schema, references) {
67
- return (0, type_1.TTransform)(schema) || (!(0, index_1.IsUndefined)(schema.items) && schema.items.some((schema) => Visit(schema, references)));
73
+ return (0, type_1.IsTransform)(schema) || (!(0, index_3.IsUndefined)(schema.items) && schema.items.some((schema) => Visit(schema, references)));
68
74
  }
69
75
  // prettier-ignore
70
76
  function TUnion(schema, references) {
71
- return (0, type_1.TTransform)(schema) || schema.anyOf.some((schema) => Visit(schema, references));
77
+ return (0, type_1.IsTransform)(schema) || schema.anyOf.some((schema) => Visit(schema, references));
72
78
  }
73
79
  // prettier-ignore
74
80
  function Visit(schema, references) {
75
- const references_ = (0, index_1.IsString)(schema.$id) ? [...references, schema] : references;
81
+ const references_ = (0, index_3.IsString)(schema.$id) ? [...references, schema] : references;
76
82
  const schema_ = schema;
77
83
  if (schema.$id && visited.has(schema.$id))
78
84
  return false;
79
85
  if (schema.$id)
80
86
  visited.add(schema.$id);
81
- switch (schema[index_3.Kind]) {
87
+ switch (schema[index_2.Kind]) {
82
88
  case 'Array':
83
89
  return TArray(schema_, references_);
84
90
  case 'AsyncIterator':
@@ -108,7 +114,7 @@ function Visit(schema, references) {
108
114
  case 'Union':
109
115
  return TUnion(schema_, references_);
110
116
  default:
111
- return (0, type_1.TTransform)(schema);
117
+ return (0, type_1.IsTransform)(schema);
112
118
  }
113
119
  }
114
120
  const visited = new Set();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sinclair/typebox",
3
- "version": "0.32.0-dev-18",
3
+ "version": "0.32.0-dev-19",
4
4
  "description": "Json Schema Type Builder with Static Type Resolution for TypeScript",
5
5
  "keywords": [
6
6
  "typescript",
package/readme.md CHANGED
@@ -1136,16 +1136,16 @@ type S = Static<typeof T> // type S = 'A' | 'B' | 'C'
1136
1136
 
1137
1137
  ### TypeGuard
1138
1138
 
1139
- TypeBox can type check its own types with the TypeGuard module. This module is written for reflection and provides structural tests for every built-in TypeBox type. Functions of this module return `is` guards which can be used with TypeScript control flow assertions to obtain schema inference. The following guards that the value A is TString.
1139
+ TypeBox can type check its own types with the TypeGuard module. This module is written for reflection and provides structural tests for every built-in TypeBox type. Functions of this module return `is` guards which can be used with TypeScript control flow assertions to obtain schema inference. The following guards that the value `T` is TString.
1140
1140
 
1141
1141
  ```typescript
1142
- import { Type, TypeGuard } from '@sinclair/typebox'
1142
+ import { TypeGuard, Kind } from '@sinclair/typebox'
1143
1143
 
1144
- const A: unknown = { ... }
1144
+ const T: unknown = { [Kind]: 'String', type: 'string' }
1145
1145
 
1146
- if(TypeGuard.TString(A)) {
1146
+ if(TypeGuard.IsString(T)) {
1147
1147
 
1148
- A.type // A.type = 'string'
1148
+ // T is TString
1149
1149
  }
1150
1150
  ```
1151
1151