@sinclair/typebox 0.31.0-dev-1 → 0.31.0
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/compiler/compiler.d.ts +1 -1
- package/compiler/compiler.js +3 -17
- package/package.json +1 -1
- package/readme.md +424 -433
- package/typebox.d.ts +66 -64
- package/typebox.js +43 -43
package/compiler/compiler.d.ts
CHANGED
|
@@ -2,11 +2,11 @@ import { ValueErrorIterator } from '../errors/errors';
|
|
|
2
2
|
import * as Types from '../typebox';
|
|
3
3
|
export type CheckFunction = (value: unknown) => boolean;
|
|
4
4
|
export declare class TypeCheck<T extends Types.TSchema> {
|
|
5
|
-
#private;
|
|
6
5
|
private readonly schema;
|
|
7
6
|
private readonly references;
|
|
8
7
|
private readonly checkFunc;
|
|
9
8
|
private readonly code;
|
|
9
|
+
private readonly hasTransform;
|
|
10
10
|
constructor(schema: T, references: Types.TSchema[], checkFunc: CheckFunction, code: string);
|
|
11
11
|
/** Returns the generated assertion code used to validate this type. */
|
|
12
12
|
Code(): string;
|
package/compiler/compiler.js
CHANGED
|
@@ -26,18 +26,6 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
|
26
26
|
THE SOFTWARE.
|
|
27
27
|
|
|
28
28
|
---------------------------------------------------------------------------*/
|
|
29
|
-
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
|
|
30
|
-
if (kind === "m") throw new TypeError("Private method is not writable");
|
|
31
|
-
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
|
32
|
-
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
33
|
-
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
34
|
-
};
|
|
35
|
-
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
36
|
-
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
37
|
-
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
38
|
-
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
39
|
-
};
|
|
40
|
-
var _TypeCheck_hasTransform;
|
|
41
29
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
42
30
|
exports.TypeCompiler = exports.Policy = exports.TypeCompilerTypeGuardError = exports.TypeCompilerUnknownTypeError = exports.TypeCheck = void 0;
|
|
43
31
|
const transform_1 = require("../value/transform");
|
|
@@ -56,8 +44,7 @@ class TypeCheck {
|
|
|
56
44
|
this.references = references;
|
|
57
45
|
this.checkFunc = checkFunc;
|
|
58
46
|
this.code = code;
|
|
59
|
-
|
|
60
|
-
__classPrivateFieldSet(this, _TypeCheck_hasTransform, transform_1.HasTransform.Has(schema, references), "f");
|
|
47
|
+
this.hasTransform = transform_1.HasTransform.Has(schema, references);
|
|
61
48
|
}
|
|
62
49
|
/** Returns the generated assertion code used to validate this type. */
|
|
63
50
|
Code() {
|
|
@@ -75,18 +62,17 @@ class TypeCheck {
|
|
|
75
62
|
Decode(value) {
|
|
76
63
|
if (!this.checkFunc(value))
|
|
77
64
|
throw new transform_1.TransformDecodeCheckError(this.schema, value, this.Errors(value).First());
|
|
78
|
-
return
|
|
65
|
+
return this.hasTransform ? transform_1.DecodeTransform.Decode(this.schema, this.references, value, (_, __, value) => this.Check(value)) : value;
|
|
79
66
|
}
|
|
80
67
|
/** Encodes a value or throws if error */
|
|
81
68
|
Encode(value) {
|
|
82
|
-
const encoded =
|
|
69
|
+
const encoded = this.hasTransform ? transform_1.EncodeTransform.Encode(this.schema, this.references, value, (_, __, value) => this.Check(value)) : value;
|
|
83
70
|
if (!this.checkFunc(encoded))
|
|
84
71
|
throw new transform_1.TransformEncodeCheckError(this.schema, value, this.Errors(value).First());
|
|
85
72
|
return encoded;
|
|
86
73
|
}
|
|
87
74
|
}
|
|
88
75
|
exports.TypeCheck = TypeCheck;
|
|
89
|
-
_TypeCheck_hasTransform = new WeakMap();
|
|
90
76
|
// -------------------------------------------------------------------
|
|
91
77
|
// Character
|
|
92
78
|
// -------------------------------------------------------------------
|