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.
Files changed (116) hide show
  1. package/dist/{dts-generator.js → dts-generator.cjs} +3 -3
  2. package/dist/{dts-generator.js.map → dts-generator.cjs.map} +1 -1
  3. package/{dts-generator.d.ts → dist/dts-generator.d.ts} +1 -1
  4. package/dist/dts-generator.mjs +1 -1
  5. package/dist/dts-generator.mjs.map +1 -1
  6. package/dist/errors.cjs +113 -0
  7. package/dist/errors.cjs.map +6 -0
  8. package/dist/errors.d.ts +55 -0
  9. package/dist/errors.mjs +85 -0
  10. package/dist/errors.mjs.map +6 -0
  11. package/dist/index.cjs +133 -0
  12. package/dist/index.cjs.map +6 -0
  13. package/dist/index.d.ts +47 -0
  14. package/dist/index.mjs +23 -817
  15. package/dist/index.mjs.map +3 -3
  16. package/dist/schema.cjs +44 -0
  17. package/dist/schema.cjs.map +6 -0
  18. package/dist/schema.d.ts +16 -0
  19. package/dist/schema.mjs +18 -0
  20. package/dist/schema.mjs.map +6 -0
  21. package/dist/types.cjs +67 -0
  22. package/dist/types.cjs.map +6 -0
  23. package/dist/types.d.ts +136 -0
  24. package/dist/types.mjs +36 -0
  25. package/dist/types.mjs.map +6 -0
  26. package/dist/utilities.cjs +54 -0
  27. package/dist/utilities.cjs.map +6 -0
  28. package/dist/utilities.d.ts +7 -0
  29. package/dist/utilities.mjs +29 -0
  30. package/dist/utilities.mjs.map +6 -0
  31. package/dist/validators/any.cjs +39 -0
  32. package/dist/validators/any.cjs.map +6 -0
  33. package/dist/validators/any.d.ts +7 -0
  34. package/dist/validators/any.mjs +13 -0
  35. package/dist/validators/any.mjs.map +6 -0
  36. package/dist/validators/array.cjs +104 -0
  37. package/dist/validators/array.cjs.map +6 -0
  38. package/dist/validators/array.d.ts +32 -0
  39. package/dist/validators/array.mjs +76 -0
  40. package/dist/validators/array.mjs.map +6 -0
  41. package/dist/validators/boolean.cjs +56 -0
  42. package/dist/validators/boolean.cjs.map +6 -0
  43. package/dist/validators/boolean.d.ts +21 -0
  44. package/dist/validators/boolean.mjs +30 -0
  45. package/dist/validators/boolean.mjs.map +6 -0
  46. package/dist/validators/constant.cjs +51 -0
  47. package/dist/validators/constant.cjs.map +6 -0
  48. package/dist/validators/constant.d.ts +12 -0
  49. package/dist/validators/constant.mjs +24 -0
  50. package/dist/validators/constant.mjs.map +6 -0
  51. package/dist/validators/date.cjs +80 -0
  52. package/dist/validators/date.cjs.map +6 -0
  53. package/dist/validators/date.d.ts +22 -0
  54. package/dist/validators/date.mjs +54 -0
  55. package/dist/validators/date.mjs.map +6 -0
  56. package/dist/validators/never.cjs +44 -0
  57. package/dist/validators/never.cjs.map +6 -0
  58. package/dist/validators/never.d.ts +9 -0
  59. package/dist/validators/never.mjs +18 -0
  60. package/dist/validators/never.mjs.map +6 -0
  61. package/dist/validators/number.cjs +153 -0
  62. package/dist/validators/number.cjs.map +6 -0
  63. package/dist/validators/number.d.ts +48 -0
  64. package/dist/validators/number.mjs +126 -0
  65. package/dist/validators/number.mjs.map +6 -0
  66. package/dist/validators/object.cjs +129 -0
  67. package/dist/validators/object.cjs.map +6 -0
  68. package/dist/validators/object.d.ts +22 -0
  69. package/dist/validators/object.mjs +108 -0
  70. package/dist/validators/object.mjs.map +6 -0
  71. package/dist/validators/optional.cjs +61 -0
  72. package/dist/validators/optional.cjs.map +6 -0
  73. package/dist/validators/optional.d.ts +21 -0
  74. package/dist/validators/optional.mjs +35 -0
  75. package/dist/validators/optional.mjs.map +6 -0
  76. package/dist/validators/string.cjs +84 -0
  77. package/dist/validators/string.cjs.map +6 -0
  78. package/dist/validators/string.d.ts +35 -0
  79. package/dist/validators/string.mjs +57 -0
  80. package/dist/validators/string.mjs.map +6 -0
  81. package/dist/validators/tuple.cjs +95 -0
  82. package/dist/validators/tuple.cjs.map +6 -0
  83. package/dist/validators/tuple.d.ts +15 -0
  84. package/dist/validators/tuple.mjs +69 -0
  85. package/dist/validators/tuple.mjs.map +6 -0
  86. package/dist/validators/union.cjs +78 -0
  87. package/dist/validators/union.cjs.map +6 -0
  88. package/dist/validators/union.d.ts +22 -0
  89. package/dist/validators/union.mjs +50 -0
  90. package/dist/validators/union.mjs.map +6 -0
  91. package/dist/validators/url.cjs +117 -0
  92. package/dist/validators/url.cjs.map +6 -0
  93. package/dist/validators/url.d.ts +57 -0
  94. package/dist/validators/url.mjs +91 -0
  95. package/dist/validators/url.mjs.map +6 -0
  96. package/package.json +33 -23
  97. package/src/dts-generator.ts +4 -0
  98. package/src/index.ts +23 -23
  99. package/src/schema.ts +7 -5
  100. package/src/types.ts +19 -9
  101. package/src/utilities.ts +6 -2
  102. package/src/validators/array.ts +6 -5
  103. package/src/validators/boolean.ts +2 -2
  104. package/src/validators/constant.ts +3 -1
  105. package/src/validators/date.ts +1 -1
  106. package/src/validators/never.ts +4 -2
  107. package/src/validators/number.ts +8 -7
  108. package/src/validators/object.ts +12 -12
  109. package/src/validators/optional.ts +5 -7
  110. package/src/validators/string.ts +8 -6
  111. package/src/validators/tuple.ts +5 -3
  112. package/src/validators/union.ts +7 -5
  113. package/src/validators/url.ts +8 -7
  114. package/dist/index.js +0 -948
  115. package/dist/index.js.map +0 -6
  116. 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 { }