@cleverbrush/schema 1.0.0-beta.0 → 1.0.0-beta.1
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/package.json +2 -2
- package/src/builders/UnionSchemaBuilder.ts +1 -6
- package/src/index.ts +1 -13
- package/src/schema.ts +9 -104
- package/src/schemaRegistry.builders.test.ts +35 -80
- package/src/schemaRegistry.test.ts +2 -1916
- package/src/schemaRegistry.ts +55 -126
- package/dist/builders/AliasSchemaBuilder.d.ts +0 -14
- package/dist/builders/AliasSchemaBuilder.js +0 -91
- package/dist/builders/ArraySchemaBuilder.d.ts +0 -15
- package/dist/builders/ArraySchemaBuilder.js +0 -141
- package/dist/builders/BooleanSchemaBuilder.d.ts +0 -31
- package/dist/builders/BooleanSchemaBuilder.js +0 -90
- package/dist/builders/FunctionSchemaBuilder.d.ts +0 -25
- package/dist/builders/FunctionSchemaBuilder.js +0 -66
- package/dist/builders/NumberSchemaBuilder.d.ts +0 -61
- package/dist/builders/NumberSchemaBuilder.js +0 -206
- package/dist/builders/ObjectSchemaBuilder.d.ts +0 -83
- package/dist/builders/ObjectSchemaBuilder.js +0 -344
- package/dist/builders/SchemaBuilder.d.ts +0 -36
- package/dist/builders/SchemaBuilder.js +0 -88
- package/dist/builders/StringSchemaBuilder.d.ts +0 -14
- package/dist/builders/StringSchemaBuilder.js +0 -140
- package/dist/builders/UnionSchemaBuilder.d.ts +0 -10
- package/dist/builders/UnionSchemaBuilder.js +0 -100
- package/dist/defaultSchemas.d.ts +0 -4
- package/dist/defaultSchemas.js +0 -45
- package/dist/index.d.ts +0 -42
- package/dist/index.js +0 -35
- package/dist/schema.d.ts +0 -242
- package/dist/schema.js +0 -2
- package/dist/schemaRegistry.d.ts +0 -54
- package/dist/schemaRegistry.js +0 -301
- package/dist/validators/validateArray.d.ts +0 -3
- package/dist/validators/validateArray.js +0 -60
- package/dist/validators/validateBoolean.d.ts +0 -2
- package/dist/validators/validateBoolean.js +0 -30
- package/dist/validators/validateFunction.d.ts +0 -2
- package/dist/validators/validateFunction.js +0 -21
- package/dist/validators/validateNumber.d.ts +0 -2
- package/dist/validators/validateNumber.js +0 -69
- package/dist/validators/validateObject.d.ts +0 -3
- package/dist/validators/validateObject.js +0 -95
- package/dist/validators/validateString.d.ts +0 -2
- package/dist/validators/validateString.js +0 -50
- package/dist/validators/validateUnion.d.ts +0 -3
- package/dist/validators/validateUnion.js +0 -30
- package/src/builders/AliasSchemaBuilder.test.ts +0 -124
- package/src/builders/AliasSchemaBuilder.ts +0 -250
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.func = exports.FunctionSchemaBuilder = void 0;
|
|
4
|
-
const SchemaBuilder_js_1 = require("./SchemaBuilder.js");
|
|
5
|
-
const defaultSchemas_js_1 = require("../defaultSchemas.js");
|
|
6
|
-
class FunctionSchemaBuilder extends SchemaBuilder_js_1.SchemaBuilder {
|
|
7
|
-
type = 'function';
|
|
8
|
-
get _schema() {
|
|
9
|
-
return Object.assign({
|
|
10
|
-
type: this.type
|
|
11
|
-
}, this.getCommonSchema());
|
|
12
|
-
}
|
|
13
|
-
clone() {
|
|
14
|
-
return FunctionSchemaBuilder.create(this._schema);
|
|
15
|
-
}
|
|
16
|
-
static create(obj) {
|
|
17
|
-
return new FunctionSchemaBuilder(obj);
|
|
18
|
-
}
|
|
19
|
-
constructor(obj) {
|
|
20
|
-
super(obj);
|
|
21
|
-
if (typeof obj !== 'object' || !obj) {
|
|
22
|
-
const defaultSchema = defaultSchemas_js_1.defaultSchemas['function'];
|
|
23
|
-
this.isRequired = defaultSchema.isRequired;
|
|
24
|
-
this.isNullable = defaultSchema.isNullable;
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
optional() {
|
|
28
|
-
if (this.isRequired === false) {
|
|
29
|
-
return this;
|
|
30
|
-
}
|
|
31
|
-
return FunctionSchemaBuilder.create({
|
|
32
|
-
...this._schema,
|
|
33
|
-
isRequired: false
|
|
34
|
-
});
|
|
35
|
-
}
|
|
36
|
-
required() {
|
|
37
|
-
if (this.isRequired === true) {
|
|
38
|
-
return this;
|
|
39
|
-
}
|
|
40
|
-
return FunctionSchemaBuilder.create({
|
|
41
|
-
...this._schema,
|
|
42
|
-
isRequired: true
|
|
43
|
-
});
|
|
44
|
-
}
|
|
45
|
-
nullable() {
|
|
46
|
-
if (this.isNullable === true) {
|
|
47
|
-
return this;
|
|
48
|
-
}
|
|
49
|
-
return FunctionSchemaBuilder.create({
|
|
50
|
-
...this._schema,
|
|
51
|
-
isNullable: true
|
|
52
|
-
});
|
|
53
|
-
}
|
|
54
|
-
notNullable() {
|
|
55
|
-
if (this.isNullable === false) {
|
|
56
|
-
return this;
|
|
57
|
-
}
|
|
58
|
-
return FunctionSchemaBuilder.create({
|
|
59
|
-
...this._schema,
|
|
60
|
-
isNullable: false
|
|
61
|
-
});
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
exports.FunctionSchemaBuilder = FunctionSchemaBuilder;
|
|
65
|
-
const func = () => FunctionSchemaBuilder.create();
|
|
66
|
-
exports.func = func;
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
import { ISchemaBuilder, SchemaBuilder } from './SchemaBuilder.js';
|
|
2
|
-
import { Schema, Validator } from '../schema.js';
|
|
3
|
-
export interface INumberSchemaBuilder<TRequired extends boolean = true, TNullable extends boolean = false, TMin extends number | undefined = undefined, TMax extends number | undefined = undefined, TIsInteger extends boolean | undefined = undefined, TEnsureNotNaN extends boolean = true, TEnsureIsFinite extends boolean = true, TEqualsTo extends number | undefined = undefined> extends ISchemaBuilder<TRequired, TNullable> {
|
|
4
|
-
min<K extends number>(val: K): INumberSchemaBuilder<TRequired, TNullable, K, TMax, TIsInteger, TEnsureNotNaN, TEnsureIsFinite, TEqualsTo>;
|
|
5
|
-
clearMin(): INumberSchemaBuilder<TRequired, TNullable, undefined, TMax, TIsInteger, TEnsureNotNaN, TEnsureIsFinite, TEqualsTo>;
|
|
6
|
-
max<K extends number>(val: K): INumberSchemaBuilder<TRequired, TNullable, TMin, K, TIsInteger, TEnsureNotNaN, TEnsureIsFinite, TEqualsTo>;
|
|
7
|
-
clearMax(): INumberSchemaBuilder<TRequired, TNullable, TMin, undefined, TIsInteger, TEnsureNotNaN, TEnsureIsFinite, TEqualsTo>;
|
|
8
|
-
optional(): INumberSchemaBuilder<false, TNullable, TMin, TMax, TIsInteger, TEnsureNotNaN, TEnsureIsFinite, TEqualsTo>;
|
|
9
|
-
required(): INumberSchemaBuilder<true, TNullable, TMin, TMax, TIsInteger, TEnsureNotNaN, TEnsureIsFinite, TEqualsTo>;
|
|
10
|
-
nullable(): INumberSchemaBuilder<TRequired, true, TMin, TMax, TIsInteger, TEnsureNotNaN, TEnsureIsFinite, TEqualsTo>;
|
|
11
|
-
notNullable(): INumberSchemaBuilder<TRequired, false, TMin, TMax, TIsInteger, TEnsureNotNaN, TEnsureIsFinite, TEqualsTo>;
|
|
12
|
-
equals<T extends number>(val: T): INumberSchemaBuilder<TRequired, TNullable, TMin, TMax, TIsInteger, TEnsureNotNaN, TEnsureIsFinite, T>;
|
|
13
|
-
clearEquals(): INumberSchemaBuilder<TRequired, TNullable, TMin, TMax, TIsInteger, TEnsureNotNaN, TEnsureIsFinite, undefined>;
|
|
14
|
-
isInteger(): INumberSchemaBuilder<TRequired, TNullable, TMin, TMax, true, TEnsureNotNaN, TEnsureIsFinite, TEqualsTo>;
|
|
15
|
-
canBeNotInteger(): INumberSchemaBuilder<TRequired, TNullable, TMin, TMax, undefined, TEnsureNotNaN, TEnsureIsFinite, TEqualsTo>;
|
|
16
|
-
notNaN(): INumberSchemaBuilder<TRequired, TNullable, TMin, TMax, TIsInteger, true, TEnsureIsFinite, TEqualsTo>;
|
|
17
|
-
canBeNaN(): INumberSchemaBuilder<TRequired, TNullable, TMin, TMax, TIsInteger, false, TEnsureIsFinite, TEqualsTo>;
|
|
18
|
-
isFinite(): INumberSchemaBuilder<TRequired, TNullable, TMin, TMax, TIsInteger, TEnsureNotNaN, true, TEqualsTo>;
|
|
19
|
-
canBeInfinite(): INumberSchemaBuilder<TRequired, TNullable, TMin, TMax, TIsInteger, TEnsureNotNaN, false, TEqualsTo>;
|
|
20
|
-
}
|
|
21
|
-
export declare class NumberSchemaBuilder<TRequired extends boolean = true, TNullable extends boolean = false, TMin extends number | undefined = undefined, TMax extends number | undefined = undefined, TIsInteger extends boolean | undefined = undefined, TEnsureNotNaN extends boolean = true, TEnsureIsFinite extends boolean = true, TEqualsTo extends number | undefined = undefined> extends SchemaBuilder<TRequired, TNullable> implements INumberSchemaBuilder<TRequired, TNullable, TMin, TMax, TIsInteger, TEnsureNotNaN, TEnsureIsFinite, TEqualsTo> {
|
|
22
|
-
clone(): this;
|
|
23
|
-
get _schema(): Schema;
|
|
24
|
-
static create<TRequired extends boolean = true, TNullable extends boolean = false, TMin extends number | undefined = undefined, TMax extends number | undefined = undefined, TIsInteger extends boolean | undefined = undefined, TEnsureNotNaN extends boolean = true, TEnsureIsFinite extends boolean = true, TEqualsTo extends number | undefined = undefined>(obj?: {
|
|
25
|
-
isRequired: TRequired;
|
|
26
|
-
isNullable: TNullable;
|
|
27
|
-
min: TMin;
|
|
28
|
-
max: TMax;
|
|
29
|
-
isInteger: TIsInteger;
|
|
30
|
-
ensureNotNaN: TEnsureNotNaN;
|
|
31
|
-
ensureIsFinite: TEnsureIsFinite;
|
|
32
|
-
equals: TEqualsTo;
|
|
33
|
-
validators?: Validator[];
|
|
34
|
-
preprocessor?: ((value: unknown) => unknown | Promise<unknown>) | string;
|
|
35
|
-
}): INumberSchemaBuilder<TRequired, TNullable, TMin, TMax, TIsInteger, TEnsureNotNaN, TEnsureIsFinite, TEqualsTo>;
|
|
36
|
-
private constructor();
|
|
37
|
-
protected readonly type = "number";
|
|
38
|
-
_min?: TMin;
|
|
39
|
-
_max?: TMax;
|
|
40
|
-
_isInteger?: TIsInteger;
|
|
41
|
-
_ensureNotNaN: TEnsureNotNaN;
|
|
42
|
-
_ensureIsFinite: TEnsureIsFinite;
|
|
43
|
-
_equals?: TEqualsTo;
|
|
44
|
-
min<K extends number>(val: K): INumberSchemaBuilder<TRequired, TNullable, K, TMax, TIsInteger, TEnsureNotNaN, TEnsureIsFinite, TEqualsTo>;
|
|
45
|
-
clearMin(): INumberSchemaBuilder<TRequired, TNullable, undefined, TMax, TIsInteger, TEnsureNotNaN, TEnsureIsFinite, TEqualsTo>;
|
|
46
|
-
max<K extends number>(val: K): INumberSchemaBuilder<TRequired, TNullable, TMin, K, TIsInteger, TEnsureNotNaN, TEnsureIsFinite, TEqualsTo>;
|
|
47
|
-
clearMax(): INumberSchemaBuilder<TRequired, TNullable, TMin, undefined, TIsInteger, TEnsureNotNaN, TEnsureIsFinite, TEqualsTo>;
|
|
48
|
-
optional(): INumberSchemaBuilder<false, TNullable, TMin, TMax, TIsInteger, TEnsureNotNaN, TEnsureIsFinite, TEqualsTo>;
|
|
49
|
-
required(): INumberSchemaBuilder<true, TNullable, TMin, TMax, TIsInteger, TEnsureNotNaN, TEnsureIsFinite, TEqualsTo>;
|
|
50
|
-
nullable(): INumberSchemaBuilder<TRequired, true, TMin, TMax, TIsInteger, TEnsureNotNaN, TEnsureIsFinite, TEqualsTo>;
|
|
51
|
-
notNullable(): INumberSchemaBuilder<TRequired, false, TMin, TMax, TIsInteger, TEnsureNotNaN, TEnsureIsFinite, TEqualsTo>;
|
|
52
|
-
equals<T extends number>(val: T): INumberSchemaBuilder<TRequired, TNullable, TMin, TMax, TIsInteger, TEnsureNotNaN, TEnsureIsFinite, T>;
|
|
53
|
-
clearEquals(): INumberSchemaBuilder<TRequired, TNullable, TMin, TMax, TIsInteger, TEnsureNotNaN, TEnsureIsFinite, undefined>;
|
|
54
|
-
isInteger(): INumberSchemaBuilder<TRequired, TNullable, TMin, TMax, true, TEnsureNotNaN, TEnsureIsFinite, TEqualsTo>;
|
|
55
|
-
canBeNotInteger(): INumberSchemaBuilder<TRequired, TNullable, TMin, TMax, undefined, TEnsureNotNaN, TEnsureIsFinite, TEqualsTo>;
|
|
56
|
-
notNaN(): INumberSchemaBuilder<TRequired, TNullable, TMin, TMax, TIsInteger, true, TEnsureIsFinite, TEqualsTo>;
|
|
57
|
-
canBeNaN(): INumberSchemaBuilder<TRequired, TNullable, TMin, TMax, TIsInteger, false, TEnsureIsFinite, TEqualsTo>;
|
|
58
|
-
isFinite(): INumberSchemaBuilder<TRequired, TNullable, TMin, TMax, TIsInteger, TEnsureNotNaN, true, TEqualsTo>;
|
|
59
|
-
canBeInfinite(): INumberSchemaBuilder<TRequired, TNullable, TMin, TMax, TIsInteger, TEnsureNotNaN, false, TEqualsTo>;
|
|
60
|
-
}
|
|
61
|
-
export declare const number: () => INumberSchemaBuilder<true, false, undefined, undefined, undefined, true, true, undefined>;
|
|
@@ -1,206 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.number = exports.NumberSchemaBuilder = void 0;
|
|
4
|
-
const SchemaBuilder_js_1 = require("./SchemaBuilder.js");
|
|
5
|
-
const defaultSchemas_js_1 = require("../defaultSchemas.js");
|
|
6
|
-
class NumberSchemaBuilder extends SchemaBuilder_js_1.SchemaBuilder {
|
|
7
|
-
clone() {
|
|
8
|
-
return NumberSchemaBuilder.create(this._schema);
|
|
9
|
-
}
|
|
10
|
-
get _schema() {
|
|
11
|
-
return Object.assign({
|
|
12
|
-
type: this.type,
|
|
13
|
-
ensureNotNaN: this._ensureNotNaN,
|
|
14
|
-
ensureIsFinite: this._ensureIsFinite
|
|
15
|
-
}, this.getCommonSchema(), typeof this._min !== 'undefined' ? { min: this._min } : {}, typeof this._max !== 'undefined' ? { max: this._max } : {}, typeof this._isInteger !== 'undefined'
|
|
16
|
-
? { isInteger: this._isInteger }
|
|
17
|
-
: {}, typeof this._equals !== 'undefined' ? { equals: this._equals } : {});
|
|
18
|
-
}
|
|
19
|
-
static create(obj) {
|
|
20
|
-
return new NumberSchemaBuilder(obj);
|
|
21
|
-
}
|
|
22
|
-
constructor(obj) {
|
|
23
|
-
super(obj);
|
|
24
|
-
if (typeof obj === 'object' && obj) {
|
|
25
|
-
if (typeof obj.min !== 'undefined') {
|
|
26
|
-
this._min = obj.min;
|
|
27
|
-
}
|
|
28
|
-
if (typeof obj.max !== 'undefined') {
|
|
29
|
-
this._max = obj.max;
|
|
30
|
-
}
|
|
31
|
-
if (typeof obj.isInteger !== 'undefined') {
|
|
32
|
-
this._isInteger = obj.isInteger;
|
|
33
|
-
}
|
|
34
|
-
if (typeof obj.ensureNotNaN !== 'undefined') {
|
|
35
|
-
this._ensureNotNaN = obj.ensureNotNaN;
|
|
36
|
-
}
|
|
37
|
-
if (typeof obj.ensureIsFinite !== 'undefined') {
|
|
38
|
-
this._ensureIsFinite = obj.ensureIsFinite;
|
|
39
|
-
}
|
|
40
|
-
if (typeof obj.equals !== 'undefined') {
|
|
41
|
-
this._equals = obj.equals;
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
else {
|
|
45
|
-
const defaultSchema = defaultSchemas_js_1.defaultSchemas['number'];
|
|
46
|
-
this.isRequired = defaultSchema.isRequired;
|
|
47
|
-
this.isNullable = defaultSchema.isNullable;
|
|
48
|
-
this._ensureNotNaN = defaultSchema.ensureNotNaN;
|
|
49
|
-
this._ensureIsFinite = defaultSchema.ensureIsFinite;
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
type = 'number';
|
|
53
|
-
_min;
|
|
54
|
-
_max;
|
|
55
|
-
_isInteger;
|
|
56
|
-
_ensureNotNaN = true;
|
|
57
|
-
_ensureIsFinite = true;
|
|
58
|
-
_equals;
|
|
59
|
-
min(val) {
|
|
60
|
-
if (this._min === val) {
|
|
61
|
-
return this;
|
|
62
|
-
}
|
|
63
|
-
return NumberSchemaBuilder.create({
|
|
64
|
-
...this._schema,
|
|
65
|
-
min: val
|
|
66
|
-
});
|
|
67
|
-
}
|
|
68
|
-
clearMin() {
|
|
69
|
-
if (typeof this._min === 'undefined') {
|
|
70
|
-
return this;
|
|
71
|
-
}
|
|
72
|
-
return NumberSchemaBuilder.create({
|
|
73
|
-
...this._schema,
|
|
74
|
-
min: undefined
|
|
75
|
-
});
|
|
76
|
-
}
|
|
77
|
-
max(val) {
|
|
78
|
-
if (this._max === val) {
|
|
79
|
-
return this;
|
|
80
|
-
}
|
|
81
|
-
return NumberSchemaBuilder.create({
|
|
82
|
-
...this._schema,
|
|
83
|
-
max: val
|
|
84
|
-
});
|
|
85
|
-
}
|
|
86
|
-
clearMax() {
|
|
87
|
-
if (typeof this._max === 'undefined') {
|
|
88
|
-
return this;
|
|
89
|
-
}
|
|
90
|
-
return NumberSchemaBuilder.create({
|
|
91
|
-
...this._schema,
|
|
92
|
-
max: undefined
|
|
93
|
-
});
|
|
94
|
-
}
|
|
95
|
-
optional() {
|
|
96
|
-
if (this.isRequired === false) {
|
|
97
|
-
return this;
|
|
98
|
-
}
|
|
99
|
-
return NumberSchemaBuilder.create({
|
|
100
|
-
...this._schema,
|
|
101
|
-
isRequired: false
|
|
102
|
-
});
|
|
103
|
-
}
|
|
104
|
-
required() {
|
|
105
|
-
if (this.isRequired === true) {
|
|
106
|
-
return this;
|
|
107
|
-
}
|
|
108
|
-
return NumberSchemaBuilder.create({
|
|
109
|
-
...this._schema,
|
|
110
|
-
isRequired: true
|
|
111
|
-
});
|
|
112
|
-
}
|
|
113
|
-
nullable() {
|
|
114
|
-
if (this.isNullable === true) {
|
|
115
|
-
return this;
|
|
116
|
-
}
|
|
117
|
-
return NumberSchemaBuilder.create({
|
|
118
|
-
...this._schema,
|
|
119
|
-
isNullable: true
|
|
120
|
-
});
|
|
121
|
-
}
|
|
122
|
-
notNullable() {
|
|
123
|
-
if (this.isNullable === false) {
|
|
124
|
-
return this;
|
|
125
|
-
}
|
|
126
|
-
return NumberSchemaBuilder.create({
|
|
127
|
-
...this._schema,
|
|
128
|
-
isNullable: false
|
|
129
|
-
});
|
|
130
|
-
}
|
|
131
|
-
equals(val) {
|
|
132
|
-
if (this._equals === val) {
|
|
133
|
-
return this;
|
|
134
|
-
}
|
|
135
|
-
return NumberSchemaBuilder.create({
|
|
136
|
-
...this._schema,
|
|
137
|
-
equals: val
|
|
138
|
-
});
|
|
139
|
-
}
|
|
140
|
-
clearEquals() {
|
|
141
|
-
if (typeof this._equals === 'undefined') {
|
|
142
|
-
return this;
|
|
143
|
-
}
|
|
144
|
-
return NumberSchemaBuilder.create({
|
|
145
|
-
...this._schema,
|
|
146
|
-
equals: undefined
|
|
147
|
-
});
|
|
148
|
-
}
|
|
149
|
-
isInteger() {
|
|
150
|
-
if (this._isInteger === true) {
|
|
151
|
-
return this;
|
|
152
|
-
}
|
|
153
|
-
return NumberSchemaBuilder.create({
|
|
154
|
-
...this._schema,
|
|
155
|
-
isInteger: true
|
|
156
|
-
});
|
|
157
|
-
}
|
|
158
|
-
canBeNotInteger() {
|
|
159
|
-
if (typeof this._isInteger === 'undefined') {
|
|
160
|
-
return this;
|
|
161
|
-
}
|
|
162
|
-
return NumberSchemaBuilder.create({
|
|
163
|
-
...this._schema,
|
|
164
|
-
isInteger: undefined
|
|
165
|
-
});
|
|
166
|
-
}
|
|
167
|
-
notNaN() {
|
|
168
|
-
if (this._ensureNotNaN === true) {
|
|
169
|
-
return this;
|
|
170
|
-
}
|
|
171
|
-
return NumberSchemaBuilder.create({
|
|
172
|
-
...this._schema,
|
|
173
|
-
ensureNotNaN: true
|
|
174
|
-
});
|
|
175
|
-
}
|
|
176
|
-
canBeNaN() {
|
|
177
|
-
if (this._ensureNotNaN === false) {
|
|
178
|
-
return this;
|
|
179
|
-
}
|
|
180
|
-
return NumberSchemaBuilder.create({
|
|
181
|
-
...this._schema,
|
|
182
|
-
ensureNotNaN: false
|
|
183
|
-
});
|
|
184
|
-
}
|
|
185
|
-
isFinite() {
|
|
186
|
-
if (this._ensureIsFinite === true) {
|
|
187
|
-
return this;
|
|
188
|
-
}
|
|
189
|
-
return NumberSchemaBuilder.create({
|
|
190
|
-
...this._schema,
|
|
191
|
-
ensureIsFinite: true
|
|
192
|
-
});
|
|
193
|
-
}
|
|
194
|
-
canBeInfinite() {
|
|
195
|
-
if (this._ensureIsFinite === false) {
|
|
196
|
-
return this;
|
|
197
|
-
}
|
|
198
|
-
return NumberSchemaBuilder.create({
|
|
199
|
-
...this._schema,
|
|
200
|
-
ensureIsFinite: false
|
|
201
|
-
});
|
|
202
|
-
}
|
|
203
|
-
}
|
|
204
|
-
exports.NumberSchemaBuilder = NumberSchemaBuilder;
|
|
205
|
-
const number = () => NumberSchemaBuilder.create();
|
|
206
|
-
exports.number = number;
|
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
import { ISchemaBuilder, SchemaBuilder } from './SchemaBuilder.js';
|
|
2
|
-
import { Schema, Validator, InferType, MakeOptional, MakeRequired, MakeNullable, MakeNotNullable } from '../schema.js';
|
|
3
|
-
export interface IObjectSchemaBuilder<TRequired extends boolean = true, TNullable extends boolean = false, TNoUnknownProperties extends boolean = true, TProperties = {}, TMapToType = undefined> extends ISchemaBuilder<TRequired, TNullable> {
|
|
4
|
-
optional(): IObjectSchemaBuilder<false, TNullable, TNoUnknownProperties, TProperties, TMapToType>;
|
|
5
|
-
required(): IObjectSchemaBuilder<true, TNullable, TNoUnknownProperties, TProperties, TMapToType>;
|
|
6
|
-
nullable(): IObjectSchemaBuilder<TRequired, true, TNoUnknownProperties, TProperties, TMapToType>;
|
|
7
|
-
notNullable(): IObjectSchemaBuilder<TRequired, false, TNoUnknownProperties, TProperties, TMapToType>;
|
|
8
|
-
addProps<T extends Record<string, any>>(val?: T): IObjectSchemaBuilder<TRequired, TNullable, TNoUnknownProperties, TProperties & T, TMapToType>;
|
|
9
|
-
removeProp<T extends keyof TProperties>(property: T): IObjectSchemaBuilder<TRequired, TNullable, TNoUnknownProperties, Omit<TProperties, T>, TMapToType>;
|
|
10
|
-
canHaveUnknownProps(): IObjectSchemaBuilder<TRequired, TNullable, false, TProperties, TMapToType>;
|
|
11
|
-
noUnknownProps(): IObjectSchemaBuilder<TRequired, TNullable, true, TProperties, TMapToType>;
|
|
12
|
-
setPropPreprocessor<T extends keyof TProperties | '*', S = T extends keyof TProperties ? ((value: any) => undefined | InferType<TProperties[T]> | Promise<InferType<TProperties[T]>>) | string : (value: InferType<this>) => void | Promise<void>>(property: T, validator: S): IObjectSchemaBuilder<TRequired, TNullable, TNoUnknownProperties, TProperties, TMapToType>;
|
|
13
|
-
unsetPropPreprocessor<T extends keyof TProperties | '*'>(property: T): IObjectSchemaBuilder<TRequired, TNullable, TNoUnknownProperties, TProperties, TMapToType>;
|
|
14
|
-
clearPropsPreprocessors(): IObjectSchemaBuilder<TRequired, TNullable, TNoUnknownProperties, TProperties, TMapToType>;
|
|
15
|
-
makeAllPropsOptional<T extends keyof TProperties>(): IObjectSchemaBuilder<TRequired, TNullable, TNoUnknownProperties, {
|
|
16
|
-
[k in T]: MakeOptional<TProperties[k]>;
|
|
17
|
-
}, TMapToType>;
|
|
18
|
-
makePropOptional<T extends keyof TProperties>(property: T): IObjectSchemaBuilder<TRequired, TNullable, TNoUnknownProperties, Omit<TProperties, T> & {
|
|
19
|
-
[k in T]: MakeOptional<TProperties[k]>;
|
|
20
|
-
}, TMapToType>;
|
|
21
|
-
makePropRequired<T extends keyof TProperties>(property: T): IObjectSchemaBuilder<TRequired, TNullable, TNoUnknownProperties, Omit<TProperties, T> & {
|
|
22
|
-
[k in T]: MakeRequired<TProperties[k]>;
|
|
23
|
-
}, TMapToType>;
|
|
24
|
-
makePropNullable<T extends keyof TProperties>(property: T): IObjectSchemaBuilder<TRequired, TNullable, TNoUnknownProperties, Omit<TProperties, T> & {
|
|
25
|
-
[k in T]: MakeNullable<TProperties[k]>;
|
|
26
|
-
}, TMapToType>;
|
|
27
|
-
makePropNotNullable<T extends keyof TProperties>(property: T): IObjectSchemaBuilder<TRequired, TNullable, TNoUnknownProperties, Omit<TProperties, T> & {
|
|
28
|
-
[k in T]: MakeNotNullable<TProperties[k]>;
|
|
29
|
-
}, TMapToType>;
|
|
30
|
-
mapToType<T>(): IObjectSchemaBuilder<TRequired, TNullable, TNoUnknownProperties, TProperties, T>;
|
|
31
|
-
clearMapToType(): IObjectSchemaBuilder<TRequired, TNullable, TNoUnknownProperties, TProperties, undefined>;
|
|
32
|
-
}
|
|
33
|
-
export declare class ObjectSchemaBuilder<TRequired extends boolean = true, TNullable extends boolean = false, TNoUnknownProperties extends boolean = true, TProperties = {}, TMapToType = undefined> extends SchemaBuilder<TRequired, TNullable> implements IObjectSchemaBuilder<TRequired, TNullable, TNoUnknownProperties, TProperties, TMapToType> {
|
|
34
|
-
protected readonly type = "object";
|
|
35
|
-
protected noUnknownProperties?: TNoUnknownProperties;
|
|
36
|
-
protected properties?: TProperties;
|
|
37
|
-
protected preprocessors?: {
|
|
38
|
-
[S in keyof TProperties | '*']?: S extends keyof TProperties ? ((value: any) => undefined | InferType<TProperties[S]> | Promise<InferType<TProperties[S]>>) | string : (value: InferType<TProperties>) => void | Promise<void>;
|
|
39
|
-
};
|
|
40
|
-
clone(): this;
|
|
41
|
-
get _schema(): Schema;
|
|
42
|
-
private constructor();
|
|
43
|
-
static create<TCRequired extends boolean = true, TCNullable extends boolean = false, TCNoUnknownProperties extends boolean = false, TCProperties = {}, TMapToType = undefined>(obj?: {
|
|
44
|
-
isRequired: TCRequired;
|
|
45
|
-
isNullable: TCNullable;
|
|
46
|
-
properties: TCProperties;
|
|
47
|
-
noUnknownProperties: TCNoUnknownProperties;
|
|
48
|
-
validators?: Validator[];
|
|
49
|
-
preprocessor?: ((value: unknown) => unknown | Promise<unknown>) | string;
|
|
50
|
-
preprocessors?: {
|
|
51
|
-
[S in keyof TCProperties | '*']?: S extends keyof TCProperties ? ((value: any) => undefined | InferType<TCProperties[S]> | Promise<InferType<TCProperties[S]>>) | string : (value: InferType<TCProperties>) => void | Promise<void>;
|
|
52
|
-
};
|
|
53
|
-
}): IObjectSchemaBuilder<TCRequired, TCNullable, TCNoUnknownProperties, TCProperties, TMapToType>;
|
|
54
|
-
canHaveUnknownProps(): IObjectSchemaBuilder<TRequired, TNullable, false, TProperties, TMapToType>;
|
|
55
|
-
noUnknownProps(): IObjectSchemaBuilder<TRequired, TNullable, true, TProperties, TMapToType>;
|
|
56
|
-
optional(): IObjectSchemaBuilder<false, TNullable, TNoUnknownProperties, TProperties, TMapToType>;
|
|
57
|
-
required(): IObjectSchemaBuilder<true, TNullable, TNoUnknownProperties, TProperties, TMapToType>;
|
|
58
|
-
nullable(): IObjectSchemaBuilder<TRequired, true, TNoUnknownProperties, TProperties, TMapToType>;
|
|
59
|
-
notNullable(): IObjectSchemaBuilder<TRequired, false, TNoUnknownProperties, TProperties, TMapToType>;
|
|
60
|
-
addProps<T extends Record<string, any>>(val?: T): IObjectSchemaBuilder<TRequired, TNullable, TNoUnknownProperties, TProperties & T, TMapToType>;
|
|
61
|
-
removeProp<T extends keyof TProperties>(property: T): IObjectSchemaBuilder<TRequired, TNullable, TNoUnknownProperties, Omit<TProperties, T>, TMapToType>;
|
|
62
|
-
setPropPreprocessor<T extends keyof TProperties | '*', S = T extends keyof TProperties ? ((value: any) => undefined | InferType<TProperties[T]> | Promise<InferType<TProperties[T]>>) | string : (value: InferType<T>) => void | Promise<void>>(property: T, validator: S): IObjectSchemaBuilder<TRequired, TNullable, TNoUnknownProperties, TProperties, TMapToType>;
|
|
63
|
-
unsetPropPreprocessor<T extends keyof TProperties | '*'>(property: T): IObjectSchemaBuilder<TRequired, TNullable, TNoUnknownProperties, TProperties, TMapToType>;
|
|
64
|
-
clearPropsPreprocessors(): IObjectSchemaBuilder<TRequired, TNullable, TNoUnknownProperties, TProperties, TMapToType>;
|
|
65
|
-
mapToType<T>(): IObjectSchemaBuilder<TRequired, TNullable, TNoUnknownProperties, TProperties, T>;
|
|
66
|
-
clearMapToType(): IObjectSchemaBuilder<TRequired, TNullable, TNoUnknownProperties, TProperties, undefined>;
|
|
67
|
-
makeAllPropsOptional<T extends keyof TProperties>(): IObjectSchemaBuilder<TRequired, TNullable, TNoUnknownProperties, {
|
|
68
|
-
[k in T]: MakeOptional<TProperties[k]>;
|
|
69
|
-
}, TMapToType>;
|
|
70
|
-
makePropOptional<T extends keyof TProperties>(property: T): IObjectSchemaBuilder<TRequired, TNullable, TNoUnknownProperties, Omit<TProperties, T> & {
|
|
71
|
-
[k in T]: MakeOptional<TProperties[k]>;
|
|
72
|
-
}, TMapToType>;
|
|
73
|
-
makePropRequired<T extends keyof TProperties>(property: T): IObjectSchemaBuilder<TRequired, TNullable, TNoUnknownProperties, Omit<TProperties, T> & {
|
|
74
|
-
[k in T]: MakeRequired<TProperties[k]>;
|
|
75
|
-
}, TMapToType>;
|
|
76
|
-
makePropNullable<T extends keyof TProperties>(property: T): IObjectSchemaBuilder<TRequired, TNullable, TNoUnknownProperties, Omit<TProperties, T> & {
|
|
77
|
-
[k in T]: MakeNullable<TProperties[k]>;
|
|
78
|
-
}, TMapToType>;
|
|
79
|
-
makePropNotNullable<T extends keyof TProperties>(property: T): IObjectSchemaBuilder<TRequired, TNullable, TNoUnknownProperties, Omit<TProperties, T> & {
|
|
80
|
-
[k in T]: MakeNotNullable<TProperties[k]>;
|
|
81
|
-
}, TMapToType>;
|
|
82
|
-
}
|
|
83
|
-
export declare const object: <T>(properties?: T) => IObjectSchemaBuilder<true, false, true, T extends undefined ? {} : T, undefined>;
|