@sinclair/typebox 0.32.0-dev-22 → 0.32.0-dev-24
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/build/import/compiler/compiler.d.mts +3 -2
- package/build/import/compiler/compiler.mjs +3 -2
- package/build/import/errors/errors.d.mts +2 -1
- package/build/import/errors/errors.mjs +2 -1
- package/build/import/index.d.mts +1 -0
- package/build/import/index.mjs +1 -0
- package/build/import/system/system.d.mts +3 -2
- package/build/import/system/system.mjs +3 -2
- package/build/import/type/error/error.d.mts +4 -0
- package/build/import/type/error/error.mjs +6 -0
- package/build/import/type/error/index.d.mts +1 -0
- package/build/import/type/error/index.mjs +1 -0
- package/build/import/type/extends/extends-check.d.mts +2 -1
- package/build/import/type/extends/extends-check.mjs +2 -1
- package/build/import/type/guard/type.d.mts +2 -1
- package/build/import/type/guard/type.mjs +2 -1
- package/build/import/type/index.d.mts +1 -0
- package/build/import/type/index.mjs +1 -0
- package/build/import/type/record/record.d.mts +1 -1
- package/build/import/type/template-literal/finite.d.mts +2 -1
- package/build/import/type/template-literal/finite.mjs +2 -1
- package/build/import/type/template-literal/generate.d.mts +3 -2
- package/build/import/type/template-literal/generate.mjs +2 -1
- package/build/import/type/template-literal/parse.d.mts +2 -1
- package/build/import/type/template-literal/parse.mjs +2 -1
- package/build/import/type/template-literal/pattern.d.mts +2 -1
- package/build/import/type/template-literal/pattern.mjs +2 -1
- package/build/import/value/cast/cast.d.mts +5 -4
- package/build/import/value/cast/cast.mjs +5 -4
- package/build/import/value/check/check.d.mts +2 -1
- package/build/import/value/check/check.mjs +2 -1
- package/build/import/value/convert/convert.d.mts +2 -1
- package/build/import/value/convert/convert.mjs +2 -1
- package/build/import/value/create/create.d.mts +7 -6
- package/build/import/value/create/create.mjs +7 -6
- package/build/import/value/delta/delta.d.mts +3 -2
- package/build/import/value/delta/delta.mjs +3 -2
- package/build/import/value/deref/deref.d.mts +2 -1
- package/build/import/value/deref/deref.mjs +2 -1
- package/build/import/value/hash/hash.d.mts +2 -1
- package/build/import/value/hash/hash.mjs +2 -1
- package/build/import/value/mutate/mutate.d.mts +3 -2
- package/build/import/value/mutate/mutate.mjs +3 -2
- package/build/import/value/pointer/pointer.d.mts +3 -2
- package/build/import/value/pointer/pointer.mjs +3 -2
- package/build/import/value/transform/decode.d.mts +3 -2
- package/build/import/value/transform/decode.mjs +3 -2
- package/build/import/value/transform/encode.d.mts +3 -2
- package/build/import/value/transform/encode.mjs +3 -2
- package/build/require/compiler/compiler.d.ts +3 -2
- package/build/require/compiler/compiler.js +61 -60
- package/build/require/errors/errors.d.ts +2 -1
- package/build/require/errors/errors.js +34 -33
- package/build/require/index.d.ts +1 -0
- package/build/require/index.js +154 -152
- package/build/require/system/system.d.ts +3 -2
- package/build/require/system/system.js +3 -2
- package/build/require/type/error/error.d.ts +4 -0
- package/build/require/type/error/error.js +11 -0
- package/build/require/type/error/index.d.ts +1 -0
- package/build/require/type/error/index.js +18 -0
- package/build/require/type/extends/extends-check.d.ts +2 -1
- package/build/require/type/extends/extends-check.js +172 -171
- package/build/require/type/guard/type.d.ts +2 -1
- package/build/require/type/guard/type.js +2 -1
- package/build/require/type/index.d.ts +1 -0
- package/build/require/type/index.js +1 -0
- package/build/require/type/record/record.d.ts +1 -1
- package/build/require/type/template-literal/finite.d.ts +2 -1
- package/build/require/type/template-literal/finite.js +2 -1
- package/build/require/type/template-literal/generate.d.ts +3 -2
- package/build/require/type/template-literal/generate.js +2 -1
- package/build/require/type/template-literal/parse.d.ts +2 -1
- package/build/require/type/template-literal/parse.js +3 -2
- package/build/require/type/template-literal/pattern.d.ts +2 -1
- package/build/require/type/template-literal/pattern.js +2 -1
- package/build/require/value/cast/cast.d.ts +5 -4
- package/build/require/value/cast/cast.js +36 -35
- package/build/require/value/check/check.d.ts +2 -1
- package/build/require/value/check/check.js +24 -23
- package/build/require/value/convert/convert.d.ts +2 -1
- package/build/require/value/convert/convert.js +32 -31
- package/build/require/value/create/create.d.ts +7 -6
- package/build/require/value/create/create.js +7 -6
- package/build/require/value/delta/delta.d.ts +3 -2
- package/build/require/value/delta/delta.js +20 -19
- package/build/require/value/deref/deref.d.ts +2 -1
- package/build/require/value/deref/deref.js +2 -1
- package/build/require/value/hash/hash.d.ts +2 -1
- package/build/require/value/hash/hash.js +2 -1
- package/build/require/value/mutate/mutate.d.ts +3 -2
- package/build/require/value/mutate/mutate.js +3 -2
- package/build/require/value/pointer/pointer.d.ts +3 -2
- package/build/require/value/pointer/pointer.js +3 -2
- package/build/require/value/transform/decode.d.ts +3 -2
- package/build/require/value/transform/decode.js +19 -18
- package/build/require/value/transform/encode.d.ts +3 -2
- package/build/require/value/transform/encode.js +20 -19
- package/package.json +1 -1
- package/readme.md +117 -137
|
@@ -3,14 +3,15 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
4
|
exports.TransformEncode = exports.TransformEncodeError = exports.TransformEncodeCheckError = void 0;
|
|
5
5
|
const index_1 = require("../../type/symbols/index");
|
|
6
|
-
const index_2 = require("../../type/
|
|
7
|
-
const index_3 = require("../../type/
|
|
8
|
-
const index_4 = require("
|
|
9
|
-
const index_5 = require("../
|
|
6
|
+
const index_2 = require("../../type/error/index");
|
|
7
|
+
const index_3 = require("../../type/keyof/index");
|
|
8
|
+
const index_4 = require("../../type/indexed/index");
|
|
9
|
+
const index_5 = require("../deref/index");
|
|
10
|
+
const index_6 = require("../check/index");
|
|
10
11
|
// ------------------------------------------------------------------
|
|
11
12
|
// ValueGuard
|
|
12
13
|
// ------------------------------------------------------------------
|
|
13
|
-
const
|
|
14
|
+
const index_7 = require("../guard/index");
|
|
14
15
|
// ------------------------------------------------------------------
|
|
15
16
|
// TypeGuard
|
|
16
17
|
// ------------------------------------------------------------------
|
|
@@ -18,7 +19,7 @@ const type_1 = require("../../type/guard/type");
|
|
|
18
19
|
// ------------------------------------------------------------------
|
|
19
20
|
// Errors
|
|
20
21
|
// ------------------------------------------------------------------
|
|
21
|
-
class TransformEncodeCheckError extends
|
|
22
|
+
class TransformEncodeCheckError extends index_2.TypeBoxError {
|
|
22
23
|
constructor(schema, value, error) {
|
|
23
24
|
super(`Unable to encode due to invalid value`);
|
|
24
25
|
this.schema = schema;
|
|
@@ -27,7 +28,7 @@ class TransformEncodeCheckError extends Error {
|
|
|
27
28
|
}
|
|
28
29
|
}
|
|
29
30
|
exports.TransformEncodeCheckError = TransformEncodeCheckError;
|
|
30
|
-
class TransformEncodeError extends
|
|
31
|
+
class TransformEncodeError extends index_2.TypeBoxError {
|
|
31
32
|
constructor(schema, value, error) {
|
|
32
33
|
super(`${error instanceof Error ? error.message : 'Unknown error'}`);
|
|
33
34
|
this.schema = schema;
|
|
@@ -50,19 +51,19 @@ function Default(schema, value) {
|
|
|
50
51
|
// prettier-ignore
|
|
51
52
|
function FromArray(schema, references, value) {
|
|
52
53
|
const defaulted = Default(schema, value);
|
|
53
|
-
return (0,
|
|
54
|
+
return (0, index_7.IsArray)(defaulted)
|
|
54
55
|
? defaulted.map((value) => Visit(schema.items, references, value))
|
|
55
56
|
: defaulted;
|
|
56
57
|
}
|
|
57
58
|
// prettier-ignore
|
|
58
59
|
function FromIntersect(schema, references, value) {
|
|
59
60
|
const defaulted = Default(schema, value);
|
|
60
|
-
if (!(0,
|
|
61
|
+
if (!(0, index_7.IsPlainObject)(value) || (0, index_7.IsValueType)(value))
|
|
61
62
|
return defaulted;
|
|
62
|
-
const knownKeys = (0,
|
|
63
|
+
const knownKeys = (0, index_3.KeyOfPropertyKeys)(schema);
|
|
63
64
|
const knownProperties = knownKeys.reduce((value, key) => {
|
|
64
65
|
return key in defaulted
|
|
65
|
-
? { ...value, [key]: Visit((0,
|
|
66
|
+
? { ...value, [key]: Visit((0, index_4.Index)(schema, [key]), references, value[key]) }
|
|
66
67
|
: value;
|
|
67
68
|
}, defaulted);
|
|
68
69
|
if (!(0, type_1.IsTransform)(schema.unevaluatedProperties)) {
|
|
@@ -83,9 +84,9 @@ function FromNot(schema, references, value) {
|
|
|
83
84
|
// prettier-ignore
|
|
84
85
|
function FromObject(schema, references, value) {
|
|
85
86
|
const defaulted = Default(schema, value);
|
|
86
|
-
if (!(0,
|
|
87
|
+
if (!(0, index_7.IsPlainObject)(value))
|
|
87
88
|
return defaulted;
|
|
88
|
-
const knownKeys = (0,
|
|
89
|
+
const knownKeys = (0, index_3.KeyOfPropertyKeys)(schema);
|
|
89
90
|
const knownProperties = knownKeys.reduce((value, key) => {
|
|
90
91
|
return key in value
|
|
91
92
|
? { ...value, [key]: Visit(schema.properties[key], references, value[key]) }
|
|
@@ -105,7 +106,7 @@ function FromObject(schema, references, value) {
|
|
|
105
106
|
// prettier-ignore
|
|
106
107
|
function FromRecord(schema, references, value) {
|
|
107
108
|
const defaulted = Default(schema, value);
|
|
108
|
-
if (!(0,
|
|
109
|
+
if (!(0, index_7.IsPlainObject)(value))
|
|
109
110
|
return defaulted;
|
|
110
111
|
const pattern = Object.getOwnPropertyNames(schema.patternProperties)[0];
|
|
111
112
|
const knownKeys = new RegExp(pattern);
|
|
@@ -127,26 +128,26 @@ function FromRecord(schema, references, value) {
|
|
|
127
128
|
}
|
|
128
129
|
// prettier-ignore
|
|
129
130
|
function FromRef(schema, references, value) {
|
|
130
|
-
const target = (0,
|
|
131
|
+
const target = (0, index_5.Deref)(schema, references);
|
|
131
132
|
const resolved = Visit(target, references, value);
|
|
132
133
|
return Default(schema, resolved);
|
|
133
134
|
}
|
|
134
135
|
// prettier-ignore
|
|
135
136
|
function FromThis(schema, references, value) {
|
|
136
|
-
const target = (0,
|
|
137
|
+
const target = (0, index_5.Deref)(schema, references);
|
|
137
138
|
const resolved = Visit(target, references, value);
|
|
138
139
|
return Default(schema, resolved);
|
|
139
140
|
}
|
|
140
141
|
// prettier-ignore
|
|
141
142
|
function FromTuple(schema, references, value) {
|
|
142
143
|
const value1 = Default(schema, value);
|
|
143
|
-
return (0,
|
|
144
|
+
return (0, index_7.IsArray)(schema.items) ? schema.items.map((schema, index) => Visit(schema, references, value1[index])) : [];
|
|
144
145
|
}
|
|
145
146
|
// prettier-ignore
|
|
146
147
|
function FromUnion(schema, references, value) {
|
|
147
148
|
// test value against union variants
|
|
148
149
|
for (const subschema of schema.anyOf) {
|
|
149
|
-
if (!(0,
|
|
150
|
+
if (!(0, index_6.Check)(subschema, references, value))
|
|
150
151
|
continue;
|
|
151
152
|
const value1 = Visit(subschema, references, value);
|
|
152
153
|
return Default(schema, value1);
|
|
@@ -154,7 +155,7 @@ function FromUnion(schema, references, value) {
|
|
|
154
155
|
// test transformed value against union variants
|
|
155
156
|
for (const subschema of schema.anyOf) {
|
|
156
157
|
const value1 = Visit(subschema, references, value);
|
|
157
|
-
if (!(0,
|
|
158
|
+
if (!(0, index_6.Check)(schema, references, value1))
|
|
158
159
|
continue;
|
|
159
160
|
return Default(schema, value1);
|
|
160
161
|
}
|