justus 0.1.6 → 0.2.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/dist/{dts-generator.js → dts-generator.cjs} +3 -3
- package/dist/{dts-generator.js.map → dts-generator.cjs.map} +1 -1
- package/{dts-generator.d.ts → dist/dts-generator.d.ts} +1 -1
- package/dist/dts-generator.mjs +1 -1
- package/dist/dts-generator.mjs.map +1 -1
- package/dist/errors.cjs +113 -0
- package/dist/errors.cjs.map +6 -0
- package/dist/errors.d.ts +55 -0
- package/dist/errors.mjs +85 -0
- package/dist/errors.mjs.map +6 -0
- package/dist/index.cjs +133 -0
- package/dist/index.cjs.map +6 -0
- package/dist/index.d.ts +47 -0
- package/dist/index.mjs +23 -817
- package/dist/index.mjs.map +3 -3
- package/dist/schema.cjs +44 -0
- package/dist/schema.cjs.map +6 -0
- package/dist/schema.d.ts +16 -0
- package/dist/schema.mjs +18 -0
- package/dist/schema.mjs.map +6 -0
- package/dist/types.cjs +67 -0
- package/dist/types.cjs.map +6 -0
- package/dist/types.d.ts +136 -0
- package/dist/types.mjs +36 -0
- package/dist/types.mjs.map +6 -0
- package/dist/utilities.cjs +54 -0
- package/dist/utilities.cjs.map +6 -0
- package/dist/utilities.d.ts +7 -0
- package/dist/utilities.mjs +29 -0
- package/dist/utilities.mjs.map +6 -0
- package/dist/validators/any.cjs +39 -0
- package/dist/validators/any.cjs.map +6 -0
- package/dist/validators/any.d.ts +7 -0
- package/dist/validators/any.mjs +13 -0
- package/dist/validators/any.mjs.map +6 -0
- package/dist/validators/array.cjs +104 -0
- package/dist/validators/array.cjs.map +6 -0
- package/dist/validators/array.d.ts +32 -0
- package/dist/validators/array.mjs +76 -0
- package/dist/validators/array.mjs.map +6 -0
- package/dist/validators/boolean.cjs +56 -0
- package/dist/validators/boolean.cjs.map +6 -0
- package/dist/validators/boolean.d.ts +21 -0
- package/dist/validators/boolean.mjs +30 -0
- package/dist/validators/boolean.mjs.map +6 -0
- package/dist/validators/constant.cjs +51 -0
- package/dist/validators/constant.cjs.map +6 -0
- package/dist/validators/constant.d.ts +12 -0
- package/dist/validators/constant.mjs +24 -0
- package/dist/validators/constant.mjs.map +6 -0
- package/dist/validators/date.cjs +80 -0
- package/dist/validators/date.cjs.map +6 -0
- package/dist/validators/date.d.ts +22 -0
- package/dist/validators/date.mjs +54 -0
- package/dist/validators/date.mjs.map +6 -0
- package/dist/validators/never.cjs +44 -0
- package/dist/validators/never.cjs.map +6 -0
- package/dist/validators/never.d.ts +9 -0
- package/dist/validators/never.mjs +18 -0
- package/dist/validators/never.mjs.map +6 -0
- package/dist/validators/number.cjs +153 -0
- package/dist/validators/number.cjs.map +6 -0
- package/dist/validators/number.d.ts +48 -0
- package/dist/validators/number.mjs +126 -0
- package/dist/validators/number.mjs.map +6 -0
- package/dist/validators/object.cjs +129 -0
- package/dist/validators/object.cjs.map +6 -0
- package/dist/validators/object.d.ts +22 -0
- package/dist/validators/object.mjs +108 -0
- package/dist/validators/object.mjs.map +6 -0
- package/dist/validators/optional.cjs +61 -0
- package/dist/validators/optional.cjs.map +6 -0
- package/dist/validators/optional.d.ts +21 -0
- package/dist/validators/optional.mjs +35 -0
- package/dist/validators/optional.mjs.map +6 -0
- package/dist/validators/string.cjs +84 -0
- package/dist/validators/string.cjs.map +6 -0
- package/dist/validators/string.d.ts +35 -0
- package/dist/validators/string.mjs +57 -0
- package/dist/validators/string.mjs.map +6 -0
- package/dist/validators/tuple.cjs +95 -0
- package/dist/validators/tuple.cjs.map +6 -0
- package/dist/validators/tuple.d.ts +15 -0
- package/dist/validators/tuple.mjs +69 -0
- package/dist/validators/tuple.mjs.map +6 -0
- package/dist/validators/union.cjs +78 -0
- package/dist/validators/union.cjs.map +6 -0
- package/dist/validators/union.d.ts +22 -0
- package/dist/validators/union.mjs +50 -0
- package/dist/validators/union.mjs.map +6 -0
- package/dist/validators/url.cjs +117 -0
- package/dist/validators/url.cjs.map +6 -0
- package/dist/validators/url.d.ts +57 -0
- package/dist/validators/url.mjs +91 -0
- package/dist/validators/url.mjs.map +6 -0
- package/package.json +33 -23
- package/src/dts-generator.ts +4 -0
- package/src/index.ts +23 -23
- package/src/schema.ts +7 -5
- package/src/types.ts +19 -9
- package/src/utilities.ts +6 -2
- package/src/validators/array.ts +6 -5
- package/src/validators/boolean.ts +2 -2
- package/src/validators/constant.ts +3 -1
- package/src/validators/date.ts +1 -1
- package/src/validators/never.ts +4 -2
- package/src/validators/number.ts +8 -7
- package/src/validators/object.ts +12 -12
- package/src/validators/optional.ts +5 -7
- package/src/validators/string.ts +8 -6
- package/src/validators/tuple.ts +5 -3
- package/src/validators/union.ts +7 -5
- package/src/validators/url.ts +8 -7
- package/dist/index.js +0 -948
- package/dist/index.js.map +0 -6
- package/index.d.ts +0 -618
package/dist/index.js.map
DELETED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../src/index.ts", "../src/errors.ts", "../src/types.ts", "../src/validators/any.ts", "../src/validators/constant.ts", "../src/validators/tuple.ts", "../src/validators/object.ts", "../src/utilities.ts", "../src/schema.ts", "../src/validators/union.ts", "../src/validators/array.ts", "../src/validators/boolean.ts", "../src/validators/date.ts", "../src/validators/never.ts", "../src/validators/number.ts", "../src/validators/optional.ts", "../src/validators/string.ts", "../src/validators/url.ts"],
|
|
4
|
-
"mappings": "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",
|
|
5
|
-
"names": ["string", "message", "constant", "tuple", "optional", "string", "date", "url"]
|
|
6
|
-
}
|
package/index.d.ts
DELETED
|
@@ -1,618 +0,0 @@
|
|
|
1
|
-
/// <reference types="node" />
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* A `Validator` is an object capable of validating a given _value_ and
|
|
5
|
-
* (possibly) converting it the required type `T`.
|
|
6
|
-
*/
|
|
7
|
-
export declare abstract class AbstractValidator<T = any> implements Iterable<TupleRestParameter<T>> {
|
|
8
|
-
[isValidator]: true;
|
|
9
|
-
optional?: boolean;
|
|
10
|
-
/** Validate a _value_ and optionally convert it to the required `Type` */
|
|
11
|
-
abstract validate(value: unknown, options: ValidationOptions): T;
|
|
12
|
-
/** Allow any `Validator` to be used as a rest parameter in `Tuple`s */
|
|
13
|
-
[Symbol.iterator](): Generator<TupleRestParameter<T>>;
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
/**
|
|
17
|
-
* An interface defining whether a `Schema` should include additional
|
|
18
|
-
* properties, and the `Validator` used to validate them.
|
|
19
|
-
*/
|
|
20
|
-
export declare interface AdditionalProperties<V extends Validator | false> {
|
|
21
|
-
[additionalValidator]: V;
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
/** A symbol indicating the `Validator` for a `Schema`'s additional properties. */
|
|
25
|
-
export declare const additionalValidator: unique symbol;
|
|
26
|
-
|
|
27
|
-
/** Validate a value as _all of_ the specified arguments */
|
|
28
|
-
export declare function allOf<A extends AllOfArguments>(...args: A): AllOfValidator<A>;
|
|
29
|
-
|
|
30
|
-
export declare type AllOfArguments = readonly [Validation, ...Validation[]];
|
|
31
|
-
|
|
32
|
-
/** A `Validator` validating a value as _all of_ the specified arguments. */
|
|
33
|
-
export declare class AllOfValidator<A extends AllOfArguments> extends AbstractValidator<InferAllOfValidationType<A>> {
|
|
34
|
-
readonly validators: readonly Validator[];
|
|
35
|
-
constructor(args: A);
|
|
36
|
-
validate(value: unknown, options: ValidationOptions): InferAllOfValidationType<A>;
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
/**
|
|
40
|
-
* Allow additional properties in `Schema`s.
|
|
41
|
-
*
|
|
42
|
-
* This function can be called with a `boolean` argument (`true` allow _any_
|
|
43
|
-
* additional property, `false` do not allow additional properties) or with a
|
|
44
|
-
* `Validation` that will be used to validate additional properties.
|
|
45
|
-
*
|
|
46
|
-
* @param allow - A `boolean` or a `Validator` instance
|
|
47
|
-
*/
|
|
48
|
-
export declare const allowAdditionalProperties: typeof _allowAdditionalProperties & AdditionalProperties<Validator<any>>;
|
|
49
|
-
|
|
50
|
-
/** Internal definition of `allowAdditionalProperties(...)` */
|
|
51
|
-
export declare function _allowAdditionalProperties(): AdditionalProperties<Validator<any>>;
|
|
52
|
-
|
|
53
|
-
export declare function _allowAdditionalProperties(allow: true): AdditionalProperties<Validator<any>>;
|
|
54
|
-
|
|
55
|
-
export declare function _allowAdditionalProperties(allow: false): AdditionalProperties<false>;
|
|
56
|
-
|
|
57
|
-
export declare function _allowAdditionalProperties<V extends Validation>(validation: V): AdditionalProperties<Validator<InferValidation<V>>>;
|
|
58
|
-
|
|
59
|
-
/** The `Validator` validating _anything_. */
|
|
60
|
-
export declare const any: AnyValidator;
|
|
61
|
-
|
|
62
|
-
/** Basic validator for `Array` instances. */
|
|
63
|
-
export declare class AnyArrayValidator<T = any> extends AbstractValidator<T[]> {
|
|
64
|
-
validate(value: unknown, options: ValidationOptions): T[];
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
/** A `Validator` validating any `number`. */
|
|
68
|
-
export declare class AnyNumberValidator extends AbstractValidator<number> {
|
|
69
|
-
validate(value: unknown): number;
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
/** A `Validator` validating any `object`. */
|
|
73
|
-
export declare class AnyObjectValidator extends AbstractValidator<Record<string, any>> {
|
|
74
|
-
validate(value: unknown): Record<string, any>;
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
/** A `Validator` validating any `string`. */
|
|
78
|
-
export declare class AnyStringValidator extends AbstractValidator<string> {
|
|
79
|
-
validate(value: unknown): string;
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
/** A `Validator` validating _anything_. */
|
|
83
|
-
export declare class AnyValidator extends AbstractValidator<any> {
|
|
84
|
-
validate(value: unknown): any;
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
/** Validate `Array`s. */
|
|
88
|
-
export declare const array: typeof _array & AnyArrayValidator<any>;
|
|
89
|
-
|
|
90
|
-
export declare function _array<V extends Validation>(constraints: ArrayConstraints<V>): ArrayValidator<InferValidation<V>>;
|
|
91
|
-
|
|
92
|
-
/** Constraints to validate an `Array` with. */
|
|
93
|
-
export declare interface ArrayConstraints<V extends Validation> {
|
|
94
|
-
/** The _maximum_ number of elements a valid `Array`: `value.length <= maxItems` */
|
|
95
|
-
maxItems?: number;
|
|
96
|
-
/** The _minimum_ number of elements a valid `Array`: `value.length >= minItems` */
|
|
97
|
-
minItems?: number;
|
|
98
|
-
/** A flag indicating whether an `Array`'s elements must be unique */
|
|
99
|
-
uniqueItems?: boolean;
|
|
100
|
-
/** A `Validator` validating each individual item in an `Array` */
|
|
101
|
-
items?: V;
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
/** Validate `Array`s containing only the specified elements. */
|
|
105
|
-
export declare function arrayOf<V extends Validation>(validation: V): Validator<InferValidation<V>[]>;
|
|
106
|
-
|
|
107
|
-
/** A validator for `Array` instances with constraints. */
|
|
108
|
-
export declare class ArrayValidator<T> extends AbstractValidator<T[]> {
|
|
109
|
-
readonly maxItems: number;
|
|
110
|
-
readonly minItems: number;
|
|
111
|
-
readonly uniqueItems: boolean;
|
|
112
|
-
readonly items: Validator<T>;
|
|
113
|
-
constructor(options?: ArrayConstraints<Validator<T>>);
|
|
114
|
-
validate(value: unknown, options: ValidationOptions): T[];
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
/**
|
|
118
|
-
* Simple assertion function throwing `TypeError`(s) to be used when
|
|
119
|
-
* constructing a `Validator` from a `Schema` or validation constraints.
|
|
120
|
-
*/
|
|
121
|
-
export declare function assertSchema(what: boolean | undefined, message: string): asserts what;
|
|
122
|
-
|
|
123
|
-
/**
|
|
124
|
-
* Simple assertion function throwing `ValidationError`(s) with an empty path
|
|
125
|
-
*/
|
|
126
|
-
export declare function assertValidation(what: boolean | undefined, message: string): asserts what;
|
|
127
|
-
|
|
128
|
-
/** The `Validator` for `boolean`s. */
|
|
129
|
-
export declare const boolean: typeof _boolean & BooleanValidator;
|
|
130
|
-
|
|
131
|
-
export declare function _boolean(constraints: BooleanConstraints): BooleanValidator;
|
|
132
|
-
|
|
133
|
-
/** Constraints to validate a `boolean` with. */
|
|
134
|
-
export declare interface BooleanConstraints {
|
|
135
|
-
/**
|
|
136
|
-
* Allow booleans to be parsed from strings (default: `false`).
|
|
137
|
-
*
|
|
138
|
-
* The string in question _MUST_ be either `true` or `false`, and will be
|
|
139
|
-
* compared regardless of case.
|
|
140
|
-
*/
|
|
141
|
-
fromString?: boolean;
|
|
142
|
-
}
|
|
143
|
-
|
|
144
|
-
/** A `Validator` validating `boolean`s. */
|
|
145
|
-
export declare class BooleanValidator extends AbstractValidator<boolean> {
|
|
146
|
-
readonly fromString: boolean;
|
|
147
|
-
constructor(constraints?: BooleanConstraints);
|
|
148
|
-
validate(value: unknown): boolean;
|
|
149
|
-
}
|
|
150
|
-
|
|
151
|
-
/** Constraints to validate a `number` with extra branding information. */
|
|
152
|
-
export declare interface BrandedNumberConstraints<B extends string> extends NumberConstraints {
|
|
153
|
-
/** The _brand_ of the string (will generate a `__brand_${B}` type property */
|
|
154
|
-
brand: B;
|
|
155
|
-
}
|
|
156
|
-
|
|
157
|
-
/** Constraints to validate a `string` with extra branding information. */
|
|
158
|
-
export declare interface BrandedStringConstraints<B extends string> extends StringConstraints {
|
|
159
|
-
/** The _brand_ of the string (will generate a `__brand_${B}` type property */
|
|
160
|
-
brand: B;
|
|
161
|
-
}
|
|
162
|
-
|
|
163
|
-
/** Utility type to infer primitive branding according to a string */
|
|
164
|
-
export declare type Branding<S extends string> = {
|
|
165
|
-
[key in keyof {
|
|
166
|
-
__brand: never;
|
|
167
|
-
} as `__brand_${S}`]: never;
|
|
168
|
-
};
|
|
169
|
-
|
|
170
|
-
/** Validate _constants_. */
|
|
171
|
-
export declare function constant<T extends string | number | boolean | null>(constant: T): Validator<T>;
|
|
172
|
-
|
|
173
|
-
/** A `Validator` for _constants_. */
|
|
174
|
-
export declare class ConstantValidator<T extends string | number | boolean | null> extends AbstractValidator<T> {
|
|
175
|
-
readonly constant: T;
|
|
176
|
-
constructor(constant: T);
|
|
177
|
-
validate(value: unknown): T;
|
|
178
|
-
}
|
|
179
|
-
|
|
180
|
-
/** Validate dates and convert them to `Date` instances. */
|
|
181
|
-
export declare const date: typeof _date & DateValidator;
|
|
182
|
-
|
|
183
|
-
export declare function _date(constraints: DateConstraints): DateValidator;
|
|
184
|
-
|
|
185
|
-
/** Constraints to validate a `Date` with. */
|
|
186
|
-
export declare interface DateConstraints {
|
|
187
|
-
/** The format for dates, an _ISO date_ (RFC 3339) or a numeric timestamp */
|
|
188
|
-
format?: 'iso' | 'timestamp';
|
|
189
|
-
/** The earliest value a date can have */
|
|
190
|
-
from?: Date;
|
|
191
|
-
/** The latest value a date can have */
|
|
192
|
-
until?: Date;
|
|
193
|
-
}
|
|
194
|
-
|
|
195
|
-
/** A `Validator` validating dates and converting them to `Date` instances. */
|
|
196
|
-
export declare class DateValidator extends AbstractValidator<Date> {
|
|
197
|
-
readonly format?: 'iso' | 'timestamp';
|
|
198
|
-
readonly from?: Date;
|
|
199
|
-
readonly until?: Date;
|
|
200
|
-
constructor(constraints?: DateConstraints);
|
|
201
|
-
validate(value: unknown): Date;
|
|
202
|
-
}
|
|
203
|
-
|
|
204
|
-
/**
|
|
205
|
-
* Return the `Validator` for the given `Validation`.
|
|
206
|
-
*
|
|
207
|
-
* When `validation` is `undefined` it will return a `Validator<any>`,
|
|
208
|
-
*/
|
|
209
|
-
export declare function getValidator(validation: Validation): Validator;
|
|
210
|
-
|
|
211
|
-
export declare type InferAllOfValidationType<A extends AllOfArguments> = A extends readonly [infer First, ...infer Rest] ? First extends Validation ? Rest extends AllOfArguments ? InferValidation<First> & InferAllOfValidationType<Rest> : InferValidation<First> : never : never;
|
|
212
|
-
|
|
213
|
-
export declare type InferOneOfValidationType<A extends OneOfArguments> = A extends readonly [infer First, ...infer Rest] ? First extends Validation ? Rest extends OneOfArguments ? InferValidation<First> | InferOneOfValidationType<Rest> : InferValidation<First> : never : A extends readonly (infer Type)[] ? Type extends Validation ? InferValidation<Type> : never : never;
|
|
214
|
-
|
|
215
|
-
/** Infer the type validated by a `Schema` */
|
|
216
|
-
export declare type InferSchema<S> = S extends AdditionalProperties<Validator<infer V>> ? {
|
|
217
|
-
[key in string]: V;
|
|
218
|
-
} & InferSchema2<S> : InferSchema2<S>;
|
|
219
|
-
|
|
220
|
-
/** Infer the property types described by a `Schema` */
|
|
221
|
-
export declare type InferSchema2<S> = {
|
|
222
|
-
[key in keyof S as key extends string ? key : never]?: InferValidation<S[key]>;
|
|
223
|
-
} & {
|
|
224
|
-
[key in keyof S as key extends string ? undefined extends InferValidation<S[key]> ? never : key : never]-?: InferValidation<S[key]>;
|
|
225
|
-
};
|
|
226
|
-
|
|
227
|
-
/**
|
|
228
|
-
* Infer the type returned by a `TupleValidator` when validating an array.
|
|
229
|
-
*/
|
|
230
|
-
export declare type InferTuple<T> = T extends Tuple ? T extends readonly [] ? [] : T extends readonly [Validation, ...any[]] ? T extends readonly [infer V, ...infer Rest] ? [
|
|
231
|
-
InferValidation<V>,
|
|
232
|
-
...InferTuple<Rest>
|
|
233
|
-
] : never : T extends readonly [...any[], Validation] ? T extends readonly [...infer Rest, infer V] ? [
|
|
234
|
-
...InferTuple<Rest>,
|
|
235
|
-
InferValidation<V>
|
|
236
|
-
] : never : T extends readonly (infer V)[] ? [
|
|
237
|
-
...InferValidationOrTupleRest<V>[]
|
|
238
|
-
] : never : never;
|
|
239
|
-
|
|
240
|
-
/**
|
|
241
|
-
* Infer the type returned by a `Validation` when validating.
|
|
242
|
-
*/
|
|
243
|
-
export declare type InferValidation<V> = V extends Validator<infer T> ? T : V extends undefined ? V : V extends boolean ? V : V extends number ? V : V extends string ? V : V extends null ? V : V extends Tuple ? InferTuple<V> : InferSchema<V>;
|
|
244
|
-
|
|
245
|
-
/** Infer the type validated by a `Validation` or `TupleRestParameter` */
|
|
246
|
-
export declare type InferValidationOrTupleRest<T> = T extends TupleRestParameter<infer X> ? X : T extends Validation ? InferValidation<T> : never;
|
|
247
|
-
|
|
248
|
-
/** A symbol indicating that an instance is (in fact) a `Validator`. */
|
|
249
|
-
export declare const isValidator: unique symbol;
|
|
250
|
-
|
|
251
|
-
/**
|
|
252
|
-
* Create a validator "factory", that is a function that when invoked will
|
|
253
|
-
* create a new `Validator` according to the parameters specified. This function
|
|
254
|
-
* will also implement the `Validator` interface itself, using the `Validator`
|
|
255
|
-
* supplied as the first parameter.
|
|
256
|
-
*/
|
|
257
|
-
export declare function makeValidatorFactory<V extends Validator, F extends (...args: any[]) => Validator>(validator: V, factory: F): F & V;
|
|
258
|
-
|
|
259
|
-
/** The `Validator` validating _nothing_. */
|
|
260
|
-
export declare const never: NeverValidator;
|
|
261
|
-
|
|
262
|
-
/** A `Validator` validating _nothing_. */
|
|
263
|
-
export declare class NeverValidator extends AbstractValidator<never> {
|
|
264
|
-
optional: true;
|
|
265
|
-
validate(value: unknown, options: ValidationOptions): never;
|
|
266
|
-
}
|
|
267
|
-
|
|
268
|
-
/** Validate `number`s. */
|
|
269
|
-
export declare const number: typeof _number & AnyNumberValidator;
|
|
270
|
-
|
|
271
|
-
export declare function _number(constraints: NumberConstraints): NumberValidator<number>;
|
|
272
|
-
|
|
273
|
-
export declare function _number<N extends number>(constraints: NumberConstraints): NumberValidator<N>;
|
|
274
|
-
|
|
275
|
-
export declare function _number<B extends string>(constraints: BrandedNumberConstraints<B>): NumberValidator<number & Branding<B>>;
|
|
276
|
-
|
|
277
|
-
/** Constraints to validate a `number` with. */
|
|
278
|
-
export declare interface NumberConstraints {
|
|
279
|
-
/** The value for which a `number` must be multiple of for it to be valid */
|
|
280
|
-
multipleOf?: number;
|
|
281
|
-
/** The _inclusive_ maximum value for a valid `number`: `value <= maximum` */
|
|
282
|
-
maximum?: number;
|
|
283
|
-
/** The _inclusive_ minimum value for a valid `number`: `value >= minimum` */
|
|
284
|
-
minimum?: number;
|
|
285
|
-
/** The _exclusive_ maximum value for a valid `number`: `value < exclusiveMaximum` */
|
|
286
|
-
exclusiveMaximum?: number;
|
|
287
|
-
/** The _exclusive_ minimum value for a valid `number`: `value > exclusiveMaximum` */
|
|
288
|
-
exclusiveMinimum?: number;
|
|
289
|
-
/** Allow numbers to be parsed from strings (e.g. `123.456` or `0x0CAFE`, default: `false`) */
|
|
290
|
-
fromString?: boolean;
|
|
291
|
-
/** Whether to allow `NaN` or not (default: `false`) */
|
|
292
|
-
allowNaN?: boolean;
|
|
293
|
-
}
|
|
294
|
-
|
|
295
|
-
/** A `Validator` validating `number`s with constaints. */
|
|
296
|
-
export declare class NumberValidator<N extends number = number> extends AbstractValidator<N> {
|
|
297
|
-
#private;
|
|
298
|
-
readonly allowNaN: boolean;
|
|
299
|
-
readonly exclusiveMaximum?: number;
|
|
300
|
-
readonly exclusiveMinimum?: number;
|
|
301
|
-
readonly fromString: boolean;
|
|
302
|
-
readonly maximum: number;
|
|
303
|
-
readonly minimum: number;
|
|
304
|
-
readonly multipleOf?: number;
|
|
305
|
-
readonly brand?: string;
|
|
306
|
-
constructor(constraints?: NumberConstraints);
|
|
307
|
-
validate(value: unknown): N;
|
|
308
|
-
}
|
|
309
|
-
|
|
310
|
-
/** Validate `object`s. */
|
|
311
|
-
export declare const object: typeof _object & AnyObjectValidator;
|
|
312
|
-
|
|
313
|
-
export declare function _object<S extends Schema>(schema: S): S & {
|
|
314
|
-
[Symbol.iterator](): Generator<TupleRestParameter<InferSchema<S>>>;
|
|
315
|
-
};
|
|
316
|
-
|
|
317
|
-
/** Validate `Object`s containing only the specified elements. */
|
|
318
|
-
export declare function objectOf<V extends Validation>(validation: V): Validator<Record<string, InferValidation<V>>>;
|
|
319
|
-
|
|
320
|
-
/** A `Validator` validating `object`s according to a `Schema`. */
|
|
321
|
-
export declare class ObjectValidator<S extends Schema> extends AbstractValidator<InferSchema<S>> {
|
|
322
|
-
readonly schema: Readonly<S>;
|
|
323
|
-
validators: Map<string, Validator<any>>;
|
|
324
|
-
additionalProperties?: Validator;
|
|
325
|
-
constructor(schema: S);
|
|
326
|
-
validate(value: unknown, options: ValidationOptions): InferSchema<S>;
|
|
327
|
-
}
|
|
328
|
-
|
|
329
|
-
/** Validate a value as _one of_ the specified arguments */
|
|
330
|
-
export declare function oneOf<A extends OneOfArguments>(...args: A): OneOfValidator<A>;
|
|
331
|
-
|
|
332
|
-
export declare type OneOfArguments = readonly Validation[];
|
|
333
|
-
|
|
334
|
-
/** A `Validator` validating a value as _one of_ the specified arguments. */
|
|
335
|
-
export declare class OneOfValidator<A extends OneOfArguments> extends AbstractValidator<InferOneOfValidationType<A>> {
|
|
336
|
-
readonly validators: readonly Validator[];
|
|
337
|
-
constructor(args: A);
|
|
338
|
-
validate(value: unknown, options: ValidationOptions): InferOneOfValidationType<A>;
|
|
339
|
-
}
|
|
340
|
-
|
|
341
|
-
/**
|
|
342
|
-
* Ensure that the property is marked as _optional_ in the `Schema`.
|
|
343
|
-
*
|
|
344
|
-
* @param validation - A `Validation` to be marked as _optional_.
|
|
345
|
-
*/
|
|
346
|
-
export declare function optional<V extends Validation>(validation: V): OptionalValidator<InferValidation<V>, undefined>;
|
|
347
|
-
|
|
348
|
-
export declare function optional<V extends Validation, D>(validation: V, defaultValue: D): OptionalValidator<InferValidation<V>, D>;
|
|
349
|
-
|
|
350
|
-
/**
|
|
351
|
-
* A `Validator` for _optional_ properties (that is `type | undefined`).
|
|
352
|
-
*/
|
|
353
|
-
export declare class OptionalValidator<T = any, // the type of the "validation", that is the optional type to validate
|
|
354
|
-
D = undefined> extends AbstractValidator<D extends undefined ? T | undefined : T> {
|
|
355
|
-
validator: Validator<T>;
|
|
356
|
-
defaultValue: T | undefined;
|
|
357
|
-
constructor(validator: Validator<T>);
|
|
358
|
-
constructor(validator: Validator<T>, defaultValue: D);
|
|
359
|
-
constructor(validator: Validator<T>, defaultValue?: void);
|
|
360
|
-
validate(value: unknown, options: ValidationOptions): D extends undefined ? T | undefined : T;
|
|
361
|
-
}
|
|
362
|
-
|
|
363
|
-
/** A symbol indicating the `Validator` for a `Tuple`'s rest parameter. */
|
|
364
|
-
export declare const restValidator: unique symbol;
|
|
365
|
-
|
|
366
|
-
/**
|
|
367
|
-
* The `Schema` interface defines what properties are defined for objects and
|
|
368
|
-
* how they should be validated.
|
|
369
|
-
*/
|
|
370
|
-
export declare interface Schema {
|
|
371
|
-
[key: string]: Validation;
|
|
372
|
-
[additionalValidator]?: Validator | false;
|
|
373
|
-
}
|
|
374
|
-
|
|
375
|
-
/** A symbol indicating the `Validator` for a `Schema`. */
|
|
376
|
-
export declare const schemaValidator: unique symbol;
|
|
377
|
-
|
|
378
|
-
/** Validate `string`s. */
|
|
379
|
-
export declare const string: typeof _string & AnyStringValidator;
|
|
380
|
-
|
|
381
|
-
export declare function _string(constraints: StringConstraints): StringValidator<string>;
|
|
382
|
-
|
|
383
|
-
export declare function _string<S extends string>(constraints: StringConstraints): StringValidator<S>;
|
|
384
|
-
|
|
385
|
-
export declare function _string<B extends string>(constraints: BrandedStringConstraints<B>): StringValidator<string & Branding<B>>;
|
|
386
|
-
|
|
387
|
-
/** Constraints to validate a `string` with. */
|
|
388
|
-
export declare interface StringConstraints {
|
|
389
|
-
/** The _maximum_ length of a valid `string`: `value.length <= maxLength` */
|
|
390
|
-
maxLength?: number;
|
|
391
|
-
/** The _minimum_ length of a valid `string`: `value.length >= minLength` */
|
|
392
|
-
minLength?: number;
|
|
393
|
-
/** A `RegExp` enforcing a particular pattern for a valid `string`: `pattern.test(value)` */
|
|
394
|
-
pattern?: RegExp;
|
|
395
|
-
}
|
|
396
|
-
|
|
397
|
-
/** A `Validator` validating `string`s with constraints. */
|
|
398
|
-
export declare class StringValidator<S extends string = string> extends AbstractValidator<S> {
|
|
399
|
-
readonly maxLength: number;
|
|
400
|
-
readonly minLength: number;
|
|
401
|
-
readonly pattern?: RegExp;
|
|
402
|
-
readonly brand?: string;
|
|
403
|
-
constructor(constraints?: StringConstraints);
|
|
404
|
-
validate(value: unknown): S;
|
|
405
|
-
}
|
|
406
|
-
|
|
407
|
-
/**
|
|
408
|
-
* Validate a _value_ using the specified `Validation`, automatically stripping
|
|
409
|
-
* additional properties and optional `null`s (but not forbidden ones).
|
|
410
|
-
*
|
|
411
|
-
* This is equivalent to:
|
|
412
|
-
*
|
|
413
|
-
* ```
|
|
414
|
-
* validate(validation, value, {
|
|
415
|
-
* stripAdditionalProperties: true,
|
|
416
|
-
* stripForbiddenProperties: false,
|
|
417
|
-
* stripOptionalNulls: true,
|
|
418
|
-
* })
|
|
419
|
-
* ```
|
|
420
|
-
*/
|
|
421
|
-
export declare function strip<V extends Validation>(validation: V, value: any, options?: ValidateOptions): InferValidation<V>;
|
|
422
|
-
|
|
423
|
-
/**
|
|
424
|
-
* A `Tuple` is defined to be an array of `Validation` or `TupleRest`
|
|
425
|
-
*/
|
|
426
|
-
export declare type Tuple = readonly (Validation | TupleRestParameter)[];
|
|
427
|
-
|
|
428
|
-
/** Validate _tuples_. */
|
|
429
|
-
export declare function tuple<T extends Tuple>(tuple: T): Validator<InferTuple<T>>;
|
|
430
|
-
|
|
431
|
-
export declare interface TupleMember {
|
|
432
|
-
single: boolean;
|
|
433
|
-
validator: Validator;
|
|
434
|
-
}
|
|
435
|
-
|
|
436
|
-
/**
|
|
437
|
-
* The `TupleRestParameter` defines a tuple member that can occur several
|
|
438
|
-
* times while validating an array.
|
|
439
|
-
*
|
|
440
|
-
* Every `Validator` is an `Iterable` of `TupleRestParameters` so that it can
|
|
441
|
-
* be used in tuples. For example, to indicate a tuple composed by a number,
|
|
442
|
-
* followed by zero or more non-empty strings we can write:
|
|
443
|
-
*
|
|
444
|
-
* ```
|
|
445
|
-
* const nonEmptyString = string({ minLength: 1 })
|
|
446
|
-
* const myTuple = tuple([ number, ...nonEmptyString ])
|
|
447
|
-
* ```
|
|
448
|
-
*/
|
|
449
|
-
export declare type TupleRestParameter<T = any> = {
|
|
450
|
-
[restValidator]: Validator<T>;
|
|
451
|
-
};
|
|
452
|
-
|
|
453
|
-
/** A `Validator` for _tuples_. */
|
|
454
|
-
export declare class TupleValidator<T extends Tuple> extends AbstractValidator<InferTuple<T>> {
|
|
455
|
-
readonly members: readonly TupleMember[];
|
|
456
|
-
readonly tuple: T;
|
|
457
|
-
constructor(tuple: T);
|
|
458
|
-
validate(value: unknown, options: ValidationOptions): InferTuple<T>;
|
|
459
|
-
}
|
|
460
|
-
|
|
461
|
-
/** Validate URLs and convert them to `URL` instances. */
|
|
462
|
-
export declare const url: typeof _url & URLValidator;
|
|
463
|
-
|
|
464
|
-
export declare function _url(constraints: URLConstraints): URLValidator;
|
|
465
|
-
|
|
466
|
-
/** Constraints to validate a `URL` with. */
|
|
467
|
-
export declare interface URLConstraints {
|
|
468
|
-
/** Constraint to validate the `href` component of the `URL`. */
|
|
469
|
-
href?: string | Validator<string>;
|
|
470
|
-
/** Constraint to validate the `origin` component of the `URL`. */
|
|
471
|
-
origin?: string | Validator<string>;
|
|
472
|
-
/** Constraint to validate the `protocol` component of the `URL`. */
|
|
473
|
-
protocol?: string | Validator<string>;
|
|
474
|
-
/** Constraint to validate the `username` component of the `URL`. */
|
|
475
|
-
username?: string | Validator<string>;
|
|
476
|
-
/** Constraint to validate the `password` component of the `URL`. */
|
|
477
|
-
password?: string | Validator<string>;
|
|
478
|
-
/** Constraint to validate the `host` (`hostname:port`) component of the `URL`. */
|
|
479
|
-
host?: string | Validator<string>;
|
|
480
|
-
/** Constraint to validate the `hostname` component of the `URL`. */
|
|
481
|
-
hostname?: string | Validator<string>;
|
|
482
|
-
/** Constraint to validate the `port` component of the `URL`. */
|
|
483
|
-
port?: string | Validator<string>;
|
|
484
|
-
/** Constraint to validate the `pathname` component of the `URL`. */
|
|
485
|
-
pathname?: string | Validator<string>;
|
|
486
|
-
/** Constraint to validate the `search` component of the `URL` as a string. */
|
|
487
|
-
search?: string | Validator<string>;
|
|
488
|
-
/** Constraint to validate the `hash` component of the `URL`. */
|
|
489
|
-
hash?: string | Validator<string>;
|
|
490
|
-
/**
|
|
491
|
-
* Schema used to validate the `searchParams` component of the `URL`.
|
|
492
|
-
*
|
|
493
|
-
* The `searchParams` will be normalized in a `Record<string, string>`, where
|
|
494
|
-
* only the _first_ value associated with a search parameter will be checked.
|
|
495
|
-
*/
|
|
496
|
-
searchParams?: Schema;
|
|
497
|
-
}
|
|
498
|
-
|
|
499
|
-
/** A `Validator` validating URLs and converting them to `URL` instances. */
|
|
500
|
-
export declare class URLValidator extends AbstractValidator<URL> {
|
|
501
|
-
readonly href?: Validator<string>;
|
|
502
|
-
readonly origin?: Validator<string>;
|
|
503
|
-
readonly protocol?: Validator<string>;
|
|
504
|
-
readonly username?: Validator<string>;
|
|
505
|
-
readonly password?: Validator<string>;
|
|
506
|
-
readonly host?: Validator<string>;
|
|
507
|
-
readonly hostname?: Validator<string>;
|
|
508
|
-
readonly port?: Validator<string>;
|
|
509
|
-
readonly pathname?: Validator<string>;
|
|
510
|
-
readonly search?: Validator<string>;
|
|
511
|
-
readonly hash?: Validator<string>;
|
|
512
|
-
readonly searchParams?: ObjectValidator<Schema>;
|
|
513
|
-
constructor(constraints?: URLConstraints);
|
|
514
|
-
validate(value: unknown): URL;
|
|
515
|
-
}
|
|
516
|
-
|
|
517
|
-
/**
|
|
518
|
-
* Validate a _value_ using the specified `Validation`.
|
|
519
|
-
*
|
|
520
|
-
* By default additional and forbidden properties will _not_ be stripped and
|
|
521
|
-
* reported as an error.
|
|
522
|
-
*/
|
|
523
|
-
export declare function validate<V extends Validation>(validation: V, value: any, options?: ValidateOptions): InferValidation<V>;
|
|
524
|
-
|
|
525
|
-
/** Options for `validate` */
|
|
526
|
-
export declare type ValidateOptions = {
|
|
527
|
-
-readonly [key in keyof ValidationOptions]?: ValidationOptions[key] | undefined;
|
|
528
|
-
};
|
|
529
|
-
|
|
530
|
-
/**
|
|
531
|
-
* The `Validation` type indicates all potential types which could be used
|
|
532
|
-
* as _sources_ for validation.
|
|
533
|
-
*
|
|
534
|
-
* Those are:
|
|
535
|
-
*
|
|
536
|
-
* * A `Validator` instance or a _zero-arguments_ function returning one
|
|
537
|
-
* * A `Tuple` or a `Schema`, validated as arrays or object
|
|
538
|
-
* * Either `null`, a `boolean`, a `number` or a `string` for constants
|
|
539
|
-
*/
|
|
540
|
-
export declare type Validation = Validator | // Validator instances
|
|
541
|
-
Tuple | Schema | // Tuples or schemas (arrays, objects)
|
|
542
|
-
null | boolean | number | string;
|
|
543
|
-
|
|
544
|
-
/**
|
|
545
|
-
* A `ValidationError` wraps one or more errors encountered during validation.
|
|
546
|
-
*/
|
|
547
|
-
export declare class ValidationError extends Error {
|
|
548
|
-
/** An `Array` of validation errors encountered while validating */
|
|
549
|
-
readonly errors: ValidationErrors;
|
|
550
|
-
/** Our stack, always present as we enforce it in the constructor */
|
|
551
|
-
readonly stack: string;
|
|
552
|
-
/**
|
|
553
|
-
* Create a new `ValidationError` instance from a `ValidationErrorBuilder`
|
|
554
|
-
* or with a `cause` (a string, or another error) and optional path.
|
|
555
|
-
*
|
|
556
|
-
* The `constructor` (optional last parameter) will restrict creation of
|
|
557
|
-
* this instance's stack up to the specified function.
|
|
558
|
-
*/
|
|
559
|
-
constructor(builder: ValidationErrorBuilder);
|
|
560
|
-
constructor(cause: any, constructor?: Function);
|
|
561
|
-
constructor(cause: any, path: (string | number)[], constructor?: Function);
|
|
562
|
-
}
|
|
563
|
-
|
|
564
|
-
/**
|
|
565
|
-
* Helper class to build a `ValidationError` associated p
|
|
566
|
-
*/
|
|
567
|
-
export declare class ValidationErrorBuilder {
|
|
568
|
-
/** The current list of validation errors */
|
|
569
|
-
readonly errors: ValidationErrors;
|
|
570
|
-
/**
|
|
571
|
-
* Record a validation error associated with the specified key.
|
|
572
|
-
*
|
|
573
|
-
* @param error - The error (normally a `string` or a `ValidationError`)
|
|
574
|
-
* to record and associate with the given key
|
|
575
|
-
* @param key - The key in an object, or index in an array where the
|
|
576
|
-
* vaildation error was encountered
|
|
577
|
-
*/
|
|
578
|
-
record(error: any, ...key: (string | number)[]): this;
|
|
579
|
-
/**
|
|
580
|
-
* Assert there are no validation errors and return the specified value, or
|
|
581
|
-
* throw a `ValidationError` combining all errors
|
|
582
|
-
*
|
|
583
|
-
* @param value - The value to return if no errors have been recorded
|
|
584
|
-
*/
|
|
585
|
-
assert<T>(value: T): T;
|
|
586
|
-
}
|
|
587
|
-
|
|
588
|
-
export declare type ValidationErrors = {
|
|
589
|
-
path: (string | number)[];
|
|
590
|
-
message: string;
|
|
591
|
-
}[];
|
|
592
|
-
|
|
593
|
-
/**
|
|
594
|
-
* Options to be using while validating.
|
|
595
|
-
*/
|
|
596
|
-
export declare interface ValidationOptions {
|
|
597
|
-
/** Strip additional, undeclared properties from objects */
|
|
598
|
-
readonly stripAdditionalProperties: boolean;
|
|
599
|
-
/** Strip `null`s from an object when associated with an optional key */
|
|
600
|
-
readonly stripOptionalNulls: boolean;
|
|
601
|
-
/** Ignore and strip forbidden (`never`) properties from objects */
|
|
602
|
-
readonly stripForbiddenProperties: boolean;
|
|
603
|
-
}
|
|
604
|
-
|
|
605
|
-
/**
|
|
606
|
-
* A `Validator` is an object capable of validating a given _value_ and
|
|
607
|
-
* (possibly) converting it the required type `T`.
|
|
608
|
-
*/
|
|
609
|
-
export declare interface Validator<T = any> extends Iterable<TupleRestParameter<T>> {
|
|
610
|
-
[isValidator]: true;
|
|
611
|
-
optional?: boolean;
|
|
612
|
-
/** Validate a _value_ and optionally convert it to the required `Type` */
|
|
613
|
-
validate(value: unknown, options: ValidationOptions): T;
|
|
614
|
-
/** Allow any `Validator` to be used as a rest parameter in `Tuple`s */
|
|
615
|
-
[Symbol.iterator](): Generator<TupleRestParameter<T>>;
|
|
616
|
-
}
|
|
617
|
-
|
|
618
|
-
export { }
|