@cleverbrush/schema 1.0.0-beta.5 → 1.1.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/README.md +118 -320
- package/dist/builders/AnySchemaBuilder.d.ts +76 -0
- package/dist/builders/AnySchemaBuilder.js +112 -0
- package/dist/builders/ArraySchemaBuilder.d.ts +112 -14
- package/dist/builders/ArraySchemaBuilder.js +254 -111
- package/dist/builders/BooleanSchemaBuilder.d.ts +69 -29
- package/dist/builders/BooleanSchemaBuilder.js +134 -74
- package/dist/builders/DateSchemaBuilder.d.ts +179 -0
- package/dist/builders/DateSchemaBuilder.js +433 -0
- package/dist/builders/FunctionSchemaBuilder.d.ts +59 -25
- package/dist/builders/FunctionSchemaBuilder.js +102 -58
- package/dist/builders/NumberSchemaBuilder.d.ts +159 -59
- package/dist/builders/NumberSchemaBuilder.js +345 -165
- package/dist/builders/ObjectSchemaBuilder.d.ts +310 -81
- package/dist/builders/ObjectSchemaBuilder.js +528 -283
- package/dist/builders/SchemaBuilder.d.ts +157 -34
- package/dist/builders/SchemaBuilder.js +258 -71
- package/dist/builders/StringSchemaBuilder.d.ts +138 -13
- package/dist/builders/StringSchemaBuilder.js +261 -115
- package/dist/builders/UnionSchemaBuilder.d.ts +132 -9
- package/dist/builders/UnionSchemaBuilder.js +196 -75
- package/dist/index.d.ts +20 -40
- package/dist/index.js +19 -32
- package/dist/utils/transaction.d.ts +46 -0
- package/dist/utils/transaction.js +178 -0
- package/package.json +27 -14
- package/dist/defaultSchemas.d.ts +0 -4
- package/dist/defaultSchemas.js +0 -45
- package/dist/schema.d.ts +0 -231
- package/dist/schema.js +0 -2
- package/dist/schemaRegistry.d.ts +0 -49
- package/dist/schemaRegistry.js +0 -278
- 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/ArraySchemaBuilder.test.ts +0 -270
- package/src/builders/ArraySchemaBuilder.ts +0 -381
- package/src/builders/BooleanSchemaBuilder.test.ts +0 -196
- package/src/builders/BooleanSchemaBuilder.ts +0 -155
- package/src/builders/FunctionSchemaBuilder.test.ts +0 -145
- package/src/builders/FunctionSchemaBuilder.ts +0 -117
- package/src/builders/NumberSchemaBuilder.test.ts +0 -493
- package/src/builders/NumberSchemaBuilder.ts +0 -789
- package/src/builders/ObjectSchemaBuilder.test.ts +0 -657
- package/src/builders/ObjectSchemaBuilder.ts +0 -794
- package/src/builders/SchemaBuilder.test.ts +0 -73
- package/src/builders/SchemaBuilder.ts +0 -135
- package/src/builders/StringSchemaBuilder.test.ts +0 -318
- package/src/builders/StringSchemaBuilder.ts +0 -392
- package/src/builders/UnionSchemaBuilder.test.ts +0 -162
- package/src/builders/UnionSchemaBuilder.ts +0 -154
- package/src/defaultSchemas.ts +0 -44
- package/src/index.ts +0 -66
- package/src/schema.ts +0 -849
- package/src/schemaRegistry.builders.test.ts +0 -1393
- package/src/schemaRegistry.test.ts +0 -118
- package/src/schemaRegistry.ts +0 -461
- package/src/validators/validateArray.ts +0 -76
- package/src/validators/validateBoolean.ts +0 -36
- package/src/validators/validateFunction.ts +0 -25
- package/src/validators/validateNumber.ts +0 -82
- package/src/validators/validateObject.ts +0 -119
- package/src/validators/validateString.ts +0 -59
- package/src/validators/validateUnion.ts +0 -36
- package/tsconfig.json +0 -16
|
@@ -1,789 +0,0 @@
|
|
|
1
|
-
import { ISchemaBuilder, SchemaBuilder } from './SchemaBuilder.js';
|
|
2
|
-
import { defaultSchemas } from '../defaultSchemas.js';
|
|
3
|
-
import { Schema, Validator } from '../schema.js';
|
|
4
|
-
|
|
5
|
-
export interface INumberSchemaBuilder<
|
|
6
|
-
TRequired extends boolean = true,
|
|
7
|
-
TNullable extends boolean = false,
|
|
8
|
-
TMin extends number | undefined = undefined,
|
|
9
|
-
TMax extends number | undefined = undefined,
|
|
10
|
-
TIsInteger extends boolean | undefined = undefined,
|
|
11
|
-
TEnsureNotNaN extends boolean = true,
|
|
12
|
-
TEnsureIsFinite extends boolean = true,
|
|
13
|
-
TEqualsTo extends number | undefined = undefined
|
|
14
|
-
> extends ISchemaBuilder<TRequired, TNullable> {
|
|
15
|
-
min<K extends number>(
|
|
16
|
-
val: K
|
|
17
|
-
): INumberSchemaBuilder<
|
|
18
|
-
TRequired,
|
|
19
|
-
TNullable,
|
|
20
|
-
K,
|
|
21
|
-
TMax,
|
|
22
|
-
TIsInteger,
|
|
23
|
-
TEnsureNotNaN,
|
|
24
|
-
TEnsureIsFinite,
|
|
25
|
-
TEqualsTo
|
|
26
|
-
>;
|
|
27
|
-
clearMin(): INumberSchemaBuilder<
|
|
28
|
-
TRequired,
|
|
29
|
-
TNullable,
|
|
30
|
-
undefined,
|
|
31
|
-
TMax,
|
|
32
|
-
TIsInteger,
|
|
33
|
-
TEnsureNotNaN,
|
|
34
|
-
TEnsureIsFinite,
|
|
35
|
-
TEqualsTo
|
|
36
|
-
>;
|
|
37
|
-
max<K extends number>(
|
|
38
|
-
val: K
|
|
39
|
-
): INumberSchemaBuilder<
|
|
40
|
-
TRequired,
|
|
41
|
-
TNullable,
|
|
42
|
-
TMin,
|
|
43
|
-
K,
|
|
44
|
-
TIsInteger,
|
|
45
|
-
TEnsureNotNaN,
|
|
46
|
-
TEnsureIsFinite,
|
|
47
|
-
TEqualsTo
|
|
48
|
-
>;
|
|
49
|
-
clearMax(): INumberSchemaBuilder<
|
|
50
|
-
TRequired,
|
|
51
|
-
TNullable,
|
|
52
|
-
TMin,
|
|
53
|
-
undefined,
|
|
54
|
-
TIsInteger,
|
|
55
|
-
TEnsureNotNaN,
|
|
56
|
-
TEnsureIsFinite,
|
|
57
|
-
TEqualsTo
|
|
58
|
-
>;
|
|
59
|
-
optional(): INumberSchemaBuilder<
|
|
60
|
-
false,
|
|
61
|
-
TNullable,
|
|
62
|
-
TMin,
|
|
63
|
-
TMax,
|
|
64
|
-
TIsInteger,
|
|
65
|
-
TEnsureNotNaN,
|
|
66
|
-
TEnsureIsFinite,
|
|
67
|
-
TEqualsTo
|
|
68
|
-
>;
|
|
69
|
-
required(): INumberSchemaBuilder<
|
|
70
|
-
true,
|
|
71
|
-
TNullable,
|
|
72
|
-
TMin,
|
|
73
|
-
TMax,
|
|
74
|
-
TIsInteger,
|
|
75
|
-
TEnsureNotNaN,
|
|
76
|
-
TEnsureIsFinite,
|
|
77
|
-
TEqualsTo
|
|
78
|
-
>;
|
|
79
|
-
nullable(): INumberSchemaBuilder<
|
|
80
|
-
TRequired,
|
|
81
|
-
true,
|
|
82
|
-
TMin,
|
|
83
|
-
TMax,
|
|
84
|
-
TIsInteger,
|
|
85
|
-
TEnsureNotNaN,
|
|
86
|
-
TEnsureIsFinite,
|
|
87
|
-
TEqualsTo
|
|
88
|
-
>;
|
|
89
|
-
notNullable(): INumberSchemaBuilder<
|
|
90
|
-
TRequired,
|
|
91
|
-
false,
|
|
92
|
-
TMin,
|
|
93
|
-
TMax,
|
|
94
|
-
TIsInteger,
|
|
95
|
-
TEnsureNotNaN,
|
|
96
|
-
TEnsureIsFinite,
|
|
97
|
-
TEqualsTo
|
|
98
|
-
>;
|
|
99
|
-
equals<T extends number>(
|
|
100
|
-
val: T
|
|
101
|
-
): INumberSchemaBuilder<
|
|
102
|
-
TRequired,
|
|
103
|
-
TNullable,
|
|
104
|
-
TMin,
|
|
105
|
-
TMax,
|
|
106
|
-
TIsInteger,
|
|
107
|
-
TEnsureNotNaN,
|
|
108
|
-
TEnsureIsFinite,
|
|
109
|
-
T
|
|
110
|
-
>;
|
|
111
|
-
clearEquals(): INumberSchemaBuilder<
|
|
112
|
-
TRequired,
|
|
113
|
-
TNullable,
|
|
114
|
-
TMin,
|
|
115
|
-
TMax,
|
|
116
|
-
TIsInteger,
|
|
117
|
-
TEnsureNotNaN,
|
|
118
|
-
TEnsureIsFinite,
|
|
119
|
-
undefined
|
|
120
|
-
>;
|
|
121
|
-
isInteger(): INumberSchemaBuilder<
|
|
122
|
-
TRequired,
|
|
123
|
-
TNullable,
|
|
124
|
-
TMin,
|
|
125
|
-
TMax,
|
|
126
|
-
true,
|
|
127
|
-
TEnsureNotNaN,
|
|
128
|
-
TEnsureIsFinite,
|
|
129
|
-
TEqualsTo
|
|
130
|
-
>;
|
|
131
|
-
canBeNotInteger(): INumberSchemaBuilder<
|
|
132
|
-
TRequired,
|
|
133
|
-
TNullable,
|
|
134
|
-
TMin,
|
|
135
|
-
TMax,
|
|
136
|
-
undefined,
|
|
137
|
-
TEnsureNotNaN,
|
|
138
|
-
TEnsureIsFinite,
|
|
139
|
-
TEqualsTo
|
|
140
|
-
>;
|
|
141
|
-
notNaN(): INumberSchemaBuilder<
|
|
142
|
-
TRequired,
|
|
143
|
-
TNullable,
|
|
144
|
-
TMin,
|
|
145
|
-
TMax,
|
|
146
|
-
TIsInteger,
|
|
147
|
-
true,
|
|
148
|
-
TEnsureIsFinite,
|
|
149
|
-
TEqualsTo
|
|
150
|
-
>;
|
|
151
|
-
canBeNaN(): INumberSchemaBuilder<
|
|
152
|
-
TRequired,
|
|
153
|
-
TNullable,
|
|
154
|
-
TMin,
|
|
155
|
-
TMax,
|
|
156
|
-
TIsInteger,
|
|
157
|
-
false,
|
|
158
|
-
TEnsureIsFinite,
|
|
159
|
-
TEqualsTo
|
|
160
|
-
>;
|
|
161
|
-
|
|
162
|
-
isFinite(): INumberSchemaBuilder<
|
|
163
|
-
TRequired,
|
|
164
|
-
TNullable,
|
|
165
|
-
TMin,
|
|
166
|
-
TMax,
|
|
167
|
-
TIsInteger,
|
|
168
|
-
TEnsureNotNaN,
|
|
169
|
-
true,
|
|
170
|
-
TEqualsTo
|
|
171
|
-
>;
|
|
172
|
-
canBeInfinite(): INumberSchemaBuilder<
|
|
173
|
-
TRequired,
|
|
174
|
-
TNullable,
|
|
175
|
-
TMin,
|
|
176
|
-
TMax,
|
|
177
|
-
TIsInteger,
|
|
178
|
-
TEnsureNotNaN,
|
|
179
|
-
false,
|
|
180
|
-
TEqualsTo
|
|
181
|
-
>;
|
|
182
|
-
}
|
|
183
|
-
|
|
184
|
-
export class NumberSchemaBuilder<
|
|
185
|
-
TRequired extends boolean = true,
|
|
186
|
-
TNullable extends boolean = false,
|
|
187
|
-
TMin extends number | undefined = undefined,
|
|
188
|
-
TMax extends number | undefined = undefined,
|
|
189
|
-
TIsInteger extends boolean | undefined = undefined,
|
|
190
|
-
TEnsureNotNaN extends boolean = true,
|
|
191
|
-
TEnsureIsFinite extends boolean = true,
|
|
192
|
-
TEqualsTo extends number | undefined = undefined
|
|
193
|
-
>
|
|
194
|
-
extends SchemaBuilder<TRequired, TNullable>
|
|
195
|
-
implements
|
|
196
|
-
INumberSchemaBuilder<
|
|
197
|
-
TRequired,
|
|
198
|
-
TNullable,
|
|
199
|
-
TMin,
|
|
200
|
-
TMax,
|
|
201
|
-
TIsInteger,
|
|
202
|
-
TEnsureNotNaN,
|
|
203
|
-
TEnsureIsFinite,
|
|
204
|
-
TEqualsTo
|
|
205
|
-
>
|
|
206
|
-
{
|
|
207
|
-
public clone(): this {
|
|
208
|
-
return NumberSchemaBuilder.create(this._schema as any) as this;
|
|
209
|
-
}
|
|
210
|
-
|
|
211
|
-
public get _schema(): Schema {
|
|
212
|
-
return Object.assign(
|
|
213
|
-
{
|
|
214
|
-
type: this.type,
|
|
215
|
-
ensureNotNaN: this._ensureNotNaN,
|
|
216
|
-
ensureIsFinite: this._ensureIsFinite
|
|
217
|
-
},
|
|
218
|
-
this.getCommonSchema(),
|
|
219
|
-
typeof this._min !== 'undefined' ? { min: this._min } : {},
|
|
220
|
-
typeof this._max !== 'undefined' ? { max: this._max } : {},
|
|
221
|
-
typeof this._isInteger !== 'undefined'
|
|
222
|
-
? { isInteger: this._isInteger }
|
|
223
|
-
: {},
|
|
224
|
-
typeof this._equals !== 'undefined' ? { equals: this._equals } : {}
|
|
225
|
-
);
|
|
226
|
-
}
|
|
227
|
-
|
|
228
|
-
public static create<
|
|
229
|
-
TRequired extends boolean = true,
|
|
230
|
-
TNullable extends boolean = false,
|
|
231
|
-
TMin extends number | undefined = undefined,
|
|
232
|
-
TMax extends number | undefined = undefined,
|
|
233
|
-
TIsInteger extends boolean | undefined = undefined,
|
|
234
|
-
TEnsureNotNaN extends boolean = true,
|
|
235
|
-
TEnsureIsFinite extends boolean = true,
|
|
236
|
-
TEqualsTo extends number | undefined = undefined
|
|
237
|
-
>(obj?: {
|
|
238
|
-
isRequired: TRequired;
|
|
239
|
-
isNullable: TNullable;
|
|
240
|
-
min: TMin;
|
|
241
|
-
max: TMax;
|
|
242
|
-
isInteger: TIsInteger;
|
|
243
|
-
ensureNotNaN: TEnsureNotNaN;
|
|
244
|
-
ensureIsFinite: TEnsureIsFinite;
|
|
245
|
-
equals: TEqualsTo;
|
|
246
|
-
validators?: Validator[];
|
|
247
|
-
preprocessor?:
|
|
248
|
-
| ((value: unknown) => unknown | Promise<unknown>)
|
|
249
|
-
| string;
|
|
250
|
-
}): INumberSchemaBuilder<
|
|
251
|
-
TRequired,
|
|
252
|
-
TNullable,
|
|
253
|
-
TMin,
|
|
254
|
-
TMax,
|
|
255
|
-
TIsInteger,
|
|
256
|
-
TEnsureNotNaN,
|
|
257
|
-
TEnsureIsFinite,
|
|
258
|
-
TEqualsTo
|
|
259
|
-
> {
|
|
260
|
-
return new NumberSchemaBuilder(obj as any);
|
|
261
|
-
}
|
|
262
|
-
|
|
263
|
-
private constructor(obj: {
|
|
264
|
-
isRequired: TRequired;
|
|
265
|
-
isNullable: TNullable;
|
|
266
|
-
min: TMin;
|
|
267
|
-
max: TMax;
|
|
268
|
-
isInteger: TIsInteger;
|
|
269
|
-
ensureNotNaN: TEnsureNotNaN;
|
|
270
|
-
ensureIsFinite: TEnsureIsFinite;
|
|
271
|
-
equals: TEqualsTo;
|
|
272
|
-
validators?: Validator[];
|
|
273
|
-
preprocessor?:
|
|
274
|
-
| ((value: unknown) => unknown | Promise<unknown>)
|
|
275
|
-
| string;
|
|
276
|
-
}) {
|
|
277
|
-
super(obj);
|
|
278
|
-
if (typeof obj === 'object' && obj) {
|
|
279
|
-
if (typeof obj.min !== 'undefined') {
|
|
280
|
-
this._min = obj.min;
|
|
281
|
-
}
|
|
282
|
-
if (typeof obj.max !== 'undefined') {
|
|
283
|
-
this._max = obj.max;
|
|
284
|
-
}
|
|
285
|
-
if (typeof obj.isInteger !== 'undefined') {
|
|
286
|
-
this._isInteger = obj.isInteger;
|
|
287
|
-
}
|
|
288
|
-
if (typeof obj.ensureNotNaN !== 'undefined') {
|
|
289
|
-
this._ensureNotNaN = obj.ensureNotNaN;
|
|
290
|
-
}
|
|
291
|
-
if (typeof obj.ensureIsFinite !== 'undefined') {
|
|
292
|
-
this._ensureIsFinite = obj.ensureIsFinite;
|
|
293
|
-
}
|
|
294
|
-
if (typeof obj.equals !== 'undefined') {
|
|
295
|
-
this._equals = obj.equals;
|
|
296
|
-
}
|
|
297
|
-
} else {
|
|
298
|
-
const defaultSchema = defaultSchemas['number'] as any;
|
|
299
|
-
this.isRequired = defaultSchema.isRequired;
|
|
300
|
-
this.isNullable = defaultSchema.isNullable;
|
|
301
|
-
this._ensureNotNaN = defaultSchema.ensureNotNaN;
|
|
302
|
-
this._ensureIsFinite = defaultSchema.ensureIsFinite;
|
|
303
|
-
}
|
|
304
|
-
}
|
|
305
|
-
|
|
306
|
-
protected readonly type = 'number';
|
|
307
|
-
|
|
308
|
-
_min?: TMin;
|
|
309
|
-
_max?: TMax;
|
|
310
|
-
_isInteger?: TIsInteger;
|
|
311
|
-
_ensureNotNaN: TEnsureNotNaN = true as TEnsureNotNaN;
|
|
312
|
-
_ensureIsFinite: TEnsureIsFinite = true as TEnsureIsFinite;
|
|
313
|
-
_equals?: TEqualsTo;
|
|
314
|
-
|
|
315
|
-
min<K extends number>(
|
|
316
|
-
val: K
|
|
317
|
-
): INumberSchemaBuilder<
|
|
318
|
-
TRequired,
|
|
319
|
-
TNullable,
|
|
320
|
-
K,
|
|
321
|
-
TMax,
|
|
322
|
-
TIsInteger,
|
|
323
|
-
TEnsureNotNaN,
|
|
324
|
-
TEnsureIsFinite,
|
|
325
|
-
TEqualsTo
|
|
326
|
-
> {
|
|
327
|
-
if ((this._min as any) === val) {
|
|
328
|
-
return this as any as INumberSchemaBuilder<
|
|
329
|
-
TRequired,
|
|
330
|
-
TNullable,
|
|
331
|
-
K,
|
|
332
|
-
TMax,
|
|
333
|
-
TIsInteger,
|
|
334
|
-
TEnsureNotNaN,
|
|
335
|
-
TEnsureIsFinite,
|
|
336
|
-
TEqualsTo
|
|
337
|
-
>;
|
|
338
|
-
}
|
|
339
|
-
return NumberSchemaBuilder.create({
|
|
340
|
-
...(this._schema as any),
|
|
341
|
-
min: val
|
|
342
|
-
});
|
|
343
|
-
}
|
|
344
|
-
|
|
345
|
-
clearMin(): INumberSchemaBuilder<
|
|
346
|
-
TRequired,
|
|
347
|
-
TNullable,
|
|
348
|
-
undefined,
|
|
349
|
-
TMax,
|
|
350
|
-
TIsInteger,
|
|
351
|
-
TEnsureNotNaN,
|
|
352
|
-
TEnsureIsFinite,
|
|
353
|
-
TEqualsTo
|
|
354
|
-
> {
|
|
355
|
-
if (typeof this._min === 'undefined') {
|
|
356
|
-
return this as any as INumberSchemaBuilder<
|
|
357
|
-
TRequired,
|
|
358
|
-
TNullable,
|
|
359
|
-
undefined,
|
|
360
|
-
TMax,
|
|
361
|
-
TIsInteger,
|
|
362
|
-
TEnsureNotNaN,
|
|
363
|
-
TEnsureIsFinite,
|
|
364
|
-
TEqualsTo
|
|
365
|
-
>;
|
|
366
|
-
}
|
|
367
|
-
return NumberSchemaBuilder.create({
|
|
368
|
-
...(this._schema as any),
|
|
369
|
-
min: undefined
|
|
370
|
-
});
|
|
371
|
-
}
|
|
372
|
-
|
|
373
|
-
max<K extends number>(
|
|
374
|
-
val: K
|
|
375
|
-
): INumberSchemaBuilder<
|
|
376
|
-
TRequired,
|
|
377
|
-
TNullable,
|
|
378
|
-
TMin,
|
|
379
|
-
K,
|
|
380
|
-
TIsInteger,
|
|
381
|
-
TEnsureNotNaN,
|
|
382
|
-
TEnsureIsFinite,
|
|
383
|
-
TEqualsTo
|
|
384
|
-
> {
|
|
385
|
-
if ((this._max as any) === val) {
|
|
386
|
-
return this as any as INumberSchemaBuilder<
|
|
387
|
-
TRequired,
|
|
388
|
-
TNullable,
|
|
389
|
-
TMin,
|
|
390
|
-
K,
|
|
391
|
-
TIsInteger,
|
|
392
|
-
TEnsureNotNaN,
|
|
393
|
-
TEnsureIsFinite,
|
|
394
|
-
TEqualsTo
|
|
395
|
-
>;
|
|
396
|
-
}
|
|
397
|
-
return NumberSchemaBuilder.create({
|
|
398
|
-
...(this._schema as any),
|
|
399
|
-
max: val
|
|
400
|
-
});
|
|
401
|
-
}
|
|
402
|
-
|
|
403
|
-
clearMax(): INumberSchemaBuilder<
|
|
404
|
-
TRequired,
|
|
405
|
-
TNullable,
|
|
406
|
-
TMin,
|
|
407
|
-
undefined,
|
|
408
|
-
TIsInteger,
|
|
409
|
-
TEnsureNotNaN,
|
|
410
|
-
TEnsureIsFinite,
|
|
411
|
-
TEqualsTo
|
|
412
|
-
> {
|
|
413
|
-
if (typeof this._max === 'undefined') {
|
|
414
|
-
return this as INumberSchemaBuilder<
|
|
415
|
-
TRequired,
|
|
416
|
-
TNullable,
|
|
417
|
-
TMin,
|
|
418
|
-
undefined,
|
|
419
|
-
TIsInteger,
|
|
420
|
-
TEnsureNotNaN,
|
|
421
|
-
TEnsureIsFinite,
|
|
422
|
-
TEqualsTo
|
|
423
|
-
>;
|
|
424
|
-
}
|
|
425
|
-
return NumberSchemaBuilder.create({
|
|
426
|
-
...(this._schema as any),
|
|
427
|
-
max: undefined
|
|
428
|
-
});
|
|
429
|
-
}
|
|
430
|
-
|
|
431
|
-
optional(): INumberSchemaBuilder<
|
|
432
|
-
false,
|
|
433
|
-
TNullable,
|
|
434
|
-
TMin,
|
|
435
|
-
TMax,
|
|
436
|
-
TIsInteger,
|
|
437
|
-
TEnsureNotNaN,
|
|
438
|
-
TEnsureIsFinite,
|
|
439
|
-
TEqualsTo
|
|
440
|
-
> {
|
|
441
|
-
if (this.isRequired === false) {
|
|
442
|
-
return this as INumberSchemaBuilder<
|
|
443
|
-
false,
|
|
444
|
-
TNullable,
|
|
445
|
-
TMin,
|
|
446
|
-
TMax,
|
|
447
|
-
TIsInteger,
|
|
448
|
-
TEnsureNotNaN,
|
|
449
|
-
TEnsureIsFinite,
|
|
450
|
-
TEqualsTo
|
|
451
|
-
>;
|
|
452
|
-
}
|
|
453
|
-
return NumberSchemaBuilder.create({
|
|
454
|
-
...(this._schema as any),
|
|
455
|
-
isRequired: false
|
|
456
|
-
}) as INumberSchemaBuilder<
|
|
457
|
-
false,
|
|
458
|
-
TNullable,
|
|
459
|
-
TMin,
|
|
460
|
-
TMax,
|
|
461
|
-
TIsInteger,
|
|
462
|
-
TEnsureNotNaN,
|
|
463
|
-
TEnsureIsFinite,
|
|
464
|
-
TEqualsTo
|
|
465
|
-
>;
|
|
466
|
-
}
|
|
467
|
-
|
|
468
|
-
required(): INumberSchemaBuilder<
|
|
469
|
-
true,
|
|
470
|
-
TNullable,
|
|
471
|
-
TMin,
|
|
472
|
-
TMax,
|
|
473
|
-
TIsInteger,
|
|
474
|
-
TEnsureNotNaN,
|
|
475
|
-
TEnsureIsFinite,
|
|
476
|
-
TEqualsTo
|
|
477
|
-
> {
|
|
478
|
-
if (this.isRequired === true) {
|
|
479
|
-
return this as INumberSchemaBuilder<
|
|
480
|
-
true,
|
|
481
|
-
TNullable,
|
|
482
|
-
TMin,
|
|
483
|
-
TMax,
|
|
484
|
-
TIsInteger,
|
|
485
|
-
TEnsureNotNaN,
|
|
486
|
-
TEnsureIsFinite,
|
|
487
|
-
TEqualsTo
|
|
488
|
-
>;
|
|
489
|
-
}
|
|
490
|
-
return NumberSchemaBuilder.create({
|
|
491
|
-
...(this._schema as any),
|
|
492
|
-
isRequired: true
|
|
493
|
-
});
|
|
494
|
-
}
|
|
495
|
-
|
|
496
|
-
nullable(): INumberSchemaBuilder<
|
|
497
|
-
TRequired,
|
|
498
|
-
true,
|
|
499
|
-
TMin,
|
|
500
|
-
TMax,
|
|
501
|
-
TIsInteger,
|
|
502
|
-
TEnsureNotNaN,
|
|
503
|
-
TEnsureIsFinite,
|
|
504
|
-
TEqualsTo
|
|
505
|
-
> {
|
|
506
|
-
if (this.isNullable === true) {
|
|
507
|
-
return this as INumberSchemaBuilder<
|
|
508
|
-
TRequired,
|
|
509
|
-
true,
|
|
510
|
-
TMin,
|
|
511
|
-
TMax,
|
|
512
|
-
TIsInteger,
|
|
513
|
-
TEnsureNotNaN,
|
|
514
|
-
TEnsureIsFinite,
|
|
515
|
-
TEqualsTo
|
|
516
|
-
>;
|
|
517
|
-
}
|
|
518
|
-
return NumberSchemaBuilder.create({
|
|
519
|
-
...(this._schema as any),
|
|
520
|
-
isNullable: true
|
|
521
|
-
});
|
|
522
|
-
}
|
|
523
|
-
|
|
524
|
-
notNullable(): INumberSchemaBuilder<
|
|
525
|
-
TRequired,
|
|
526
|
-
false,
|
|
527
|
-
TMin,
|
|
528
|
-
TMax,
|
|
529
|
-
TIsInteger,
|
|
530
|
-
TEnsureNotNaN,
|
|
531
|
-
TEnsureIsFinite,
|
|
532
|
-
TEqualsTo
|
|
533
|
-
> {
|
|
534
|
-
if (this.isNullable === false) {
|
|
535
|
-
return this as INumberSchemaBuilder<
|
|
536
|
-
TRequired,
|
|
537
|
-
false,
|
|
538
|
-
TMin,
|
|
539
|
-
TMax,
|
|
540
|
-
TIsInteger,
|
|
541
|
-
TEnsureNotNaN,
|
|
542
|
-
TEnsureIsFinite,
|
|
543
|
-
TEqualsTo
|
|
544
|
-
>;
|
|
545
|
-
}
|
|
546
|
-
return NumberSchemaBuilder.create({
|
|
547
|
-
...(this._schema as any),
|
|
548
|
-
isNullable: false
|
|
549
|
-
}) as INumberSchemaBuilder<
|
|
550
|
-
TRequired,
|
|
551
|
-
false,
|
|
552
|
-
TMin,
|
|
553
|
-
TMax,
|
|
554
|
-
TIsInteger,
|
|
555
|
-
TEnsureNotNaN,
|
|
556
|
-
TEnsureIsFinite,
|
|
557
|
-
TEqualsTo
|
|
558
|
-
>;
|
|
559
|
-
}
|
|
560
|
-
|
|
561
|
-
equals<T extends number>(
|
|
562
|
-
val: T
|
|
563
|
-
): INumberSchemaBuilder<
|
|
564
|
-
TRequired,
|
|
565
|
-
TNullable,
|
|
566
|
-
TMin,
|
|
567
|
-
TMax,
|
|
568
|
-
TIsInteger,
|
|
569
|
-
TEnsureNotNaN,
|
|
570
|
-
TEnsureIsFinite,
|
|
571
|
-
T
|
|
572
|
-
> {
|
|
573
|
-
if ((this._equals as any) === val) {
|
|
574
|
-
return this as any as INumberSchemaBuilder<
|
|
575
|
-
TRequired,
|
|
576
|
-
TNullable,
|
|
577
|
-
TMin,
|
|
578
|
-
TMax,
|
|
579
|
-
TIsInteger,
|
|
580
|
-
TEnsureNotNaN,
|
|
581
|
-
TEnsureIsFinite,
|
|
582
|
-
T
|
|
583
|
-
>;
|
|
584
|
-
}
|
|
585
|
-
|
|
586
|
-
return NumberSchemaBuilder.create({
|
|
587
|
-
...(this._schema as any),
|
|
588
|
-
equals: val as T
|
|
589
|
-
});
|
|
590
|
-
}
|
|
591
|
-
|
|
592
|
-
clearEquals(): INumberSchemaBuilder<
|
|
593
|
-
TRequired,
|
|
594
|
-
TNullable,
|
|
595
|
-
TMin,
|
|
596
|
-
TMax,
|
|
597
|
-
TIsInteger,
|
|
598
|
-
TEnsureNotNaN,
|
|
599
|
-
TEnsureIsFinite,
|
|
600
|
-
undefined
|
|
601
|
-
> {
|
|
602
|
-
if (typeof this._equals === 'undefined') {
|
|
603
|
-
return this as INumberSchemaBuilder<
|
|
604
|
-
TRequired,
|
|
605
|
-
TNullable,
|
|
606
|
-
TMin,
|
|
607
|
-
TMax,
|
|
608
|
-
TIsInteger,
|
|
609
|
-
TEnsureNotNaN,
|
|
610
|
-
TEnsureIsFinite,
|
|
611
|
-
undefined
|
|
612
|
-
>;
|
|
613
|
-
}
|
|
614
|
-
return NumberSchemaBuilder.create({
|
|
615
|
-
...(this._schema as any),
|
|
616
|
-
equals: undefined
|
|
617
|
-
});
|
|
618
|
-
}
|
|
619
|
-
|
|
620
|
-
isInteger(): INumberSchemaBuilder<
|
|
621
|
-
TRequired,
|
|
622
|
-
TNullable,
|
|
623
|
-
TMin,
|
|
624
|
-
TMax,
|
|
625
|
-
true,
|
|
626
|
-
TEnsureNotNaN,
|
|
627
|
-
TEnsureIsFinite,
|
|
628
|
-
TEqualsTo
|
|
629
|
-
> {
|
|
630
|
-
if (this._isInteger === true) {
|
|
631
|
-
return this as INumberSchemaBuilder<
|
|
632
|
-
TRequired,
|
|
633
|
-
TNullable,
|
|
634
|
-
TMin,
|
|
635
|
-
TMax,
|
|
636
|
-
true,
|
|
637
|
-
TEnsureNotNaN,
|
|
638
|
-
TEnsureIsFinite,
|
|
639
|
-
TEqualsTo
|
|
640
|
-
>;
|
|
641
|
-
}
|
|
642
|
-
return NumberSchemaBuilder.create({
|
|
643
|
-
...(this._schema as any),
|
|
644
|
-
isInteger: true
|
|
645
|
-
});
|
|
646
|
-
}
|
|
647
|
-
|
|
648
|
-
canBeNotInteger(): INumberSchemaBuilder<
|
|
649
|
-
TRequired,
|
|
650
|
-
TNullable,
|
|
651
|
-
TMin,
|
|
652
|
-
TMax,
|
|
653
|
-
undefined,
|
|
654
|
-
TEnsureNotNaN,
|
|
655
|
-
TEnsureIsFinite,
|
|
656
|
-
TEqualsTo
|
|
657
|
-
> {
|
|
658
|
-
if (typeof this._isInteger === 'undefined') {
|
|
659
|
-
return this as INumberSchemaBuilder<
|
|
660
|
-
TRequired,
|
|
661
|
-
TNullable,
|
|
662
|
-
TMin,
|
|
663
|
-
TMax,
|
|
664
|
-
undefined,
|
|
665
|
-
TEnsureNotNaN,
|
|
666
|
-
TEnsureIsFinite,
|
|
667
|
-
TEqualsTo
|
|
668
|
-
>;
|
|
669
|
-
}
|
|
670
|
-
return NumberSchemaBuilder.create({
|
|
671
|
-
...(this._schema as any),
|
|
672
|
-
isInteger: undefined
|
|
673
|
-
});
|
|
674
|
-
}
|
|
675
|
-
|
|
676
|
-
notNaN(): INumberSchemaBuilder<
|
|
677
|
-
TRequired,
|
|
678
|
-
TNullable,
|
|
679
|
-
TMin,
|
|
680
|
-
TMax,
|
|
681
|
-
TIsInteger,
|
|
682
|
-
true,
|
|
683
|
-
TEnsureIsFinite,
|
|
684
|
-
TEqualsTo
|
|
685
|
-
> {
|
|
686
|
-
if (this._ensureNotNaN === true) {
|
|
687
|
-
return this as INumberSchemaBuilder<
|
|
688
|
-
TRequired,
|
|
689
|
-
TNullable,
|
|
690
|
-
TMin,
|
|
691
|
-
TMax,
|
|
692
|
-
TIsInteger,
|
|
693
|
-
true,
|
|
694
|
-
TEnsureIsFinite,
|
|
695
|
-
TEqualsTo
|
|
696
|
-
>;
|
|
697
|
-
}
|
|
698
|
-
return NumberSchemaBuilder.create({
|
|
699
|
-
...(this._schema as any),
|
|
700
|
-
ensureNotNaN: true
|
|
701
|
-
});
|
|
702
|
-
}
|
|
703
|
-
|
|
704
|
-
canBeNaN(): INumberSchemaBuilder<
|
|
705
|
-
TRequired,
|
|
706
|
-
TNullable,
|
|
707
|
-
TMin,
|
|
708
|
-
TMax,
|
|
709
|
-
TIsInteger,
|
|
710
|
-
false,
|
|
711
|
-
TEnsureIsFinite,
|
|
712
|
-
TEqualsTo
|
|
713
|
-
> {
|
|
714
|
-
if (this._ensureNotNaN === false) {
|
|
715
|
-
return this as INumberSchemaBuilder<
|
|
716
|
-
TRequired,
|
|
717
|
-
TNullable,
|
|
718
|
-
TMin,
|
|
719
|
-
TMax,
|
|
720
|
-
TIsInteger,
|
|
721
|
-
false,
|
|
722
|
-
TEnsureIsFinite,
|
|
723
|
-
TEqualsTo
|
|
724
|
-
>;
|
|
725
|
-
}
|
|
726
|
-
return NumberSchemaBuilder.create({
|
|
727
|
-
...(this._schema as any),
|
|
728
|
-
ensureNotNaN: false
|
|
729
|
-
});
|
|
730
|
-
}
|
|
731
|
-
|
|
732
|
-
isFinite(): INumberSchemaBuilder<
|
|
733
|
-
TRequired,
|
|
734
|
-
TNullable,
|
|
735
|
-
TMin,
|
|
736
|
-
TMax,
|
|
737
|
-
TIsInteger,
|
|
738
|
-
TEnsureNotNaN,
|
|
739
|
-
true,
|
|
740
|
-
TEqualsTo
|
|
741
|
-
> {
|
|
742
|
-
if (this._ensureIsFinite === true) {
|
|
743
|
-
return this as INumberSchemaBuilder<
|
|
744
|
-
TRequired,
|
|
745
|
-
TNullable,
|
|
746
|
-
TMin,
|
|
747
|
-
TMax,
|
|
748
|
-
TIsInteger,
|
|
749
|
-
TEnsureNotNaN,
|
|
750
|
-
true,
|
|
751
|
-
TEqualsTo
|
|
752
|
-
>;
|
|
753
|
-
}
|
|
754
|
-
return NumberSchemaBuilder.create({
|
|
755
|
-
...(this._schema as any),
|
|
756
|
-
ensureIsFinite: true
|
|
757
|
-
});
|
|
758
|
-
}
|
|
759
|
-
|
|
760
|
-
canBeInfinite(): INumberSchemaBuilder<
|
|
761
|
-
TRequired,
|
|
762
|
-
TNullable,
|
|
763
|
-
TMin,
|
|
764
|
-
TMax,
|
|
765
|
-
TIsInteger,
|
|
766
|
-
TEnsureNotNaN,
|
|
767
|
-
false,
|
|
768
|
-
TEqualsTo
|
|
769
|
-
> {
|
|
770
|
-
if (this._ensureIsFinite === false) {
|
|
771
|
-
return this as INumberSchemaBuilder<
|
|
772
|
-
TRequired,
|
|
773
|
-
TNullable,
|
|
774
|
-
TMin,
|
|
775
|
-
TMax,
|
|
776
|
-
TIsInteger,
|
|
777
|
-
TEnsureNotNaN,
|
|
778
|
-
false,
|
|
779
|
-
TEqualsTo
|
|
780
|
-
>;
|
|
781
|
-
}
|
|
782
|
-
return NumberSchemaBuilder.create({
|
|
783
|
-
...(this._schema as any),
|
|
784
|
-
ensureIsFinite: false
|
|
785
|
-
});
|
|
786
|
-
}
|
|
787
|
-
}
|
|
788
|
-
|
|
789
|
-
export const number = () => NumberSchemaBuilder.create();
|