justus 0.0.0-alpha.0 → 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +601 -6
- package/dist/index.cjs +747 -0
- package/dist/index.cjs.map +6 -0
- package/dist/index.d.ts +504 -7
- package/dist/index.mjs +697 -0
- package/dist/index.mjs.map +6 -0
- package/package.json +19 -7
- package/src/errors.ts +126 -0
- package/src/index.ts +48 -6
- package/src/schema.ts +112 -0
- package/src/types.ts +298 -0
- package/src/utilities.ts +49 -0
- package/src/validators/any.ts +11 -0
- package/src/validators/array.ts +108 -0
- package/src/validators/boolean.ts +13 -0
- package/src/validators/constant.ts +25 -0
- package/src/validators/date.ts +78 -0
- package/src/validators/number.ts +131 -0
- package/src/validators/object.ts +126 -0
- package/src/validators/string.ts +70 -0
- package/src/validators/tuple.ts +86 -0
- package/src/validators/union.ts +81 -0
- package/dist/arrays.d.ts +0 -30
- package/dist/arrays.d.ts.map +0 -1
- package/dist/arrays.js +0 -39
- package/dist/arrays.js.map +0 -1
- package/dist/basics.d.ts +0 -32
- package/dist/basics.d.ts.map +0 -1
- package/dist/basics.js +0 -58
- package/dist/basics.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -29
- package/dist/index.js.map +0 -1
- package/dist/objects.d.ts +0 -4
- package/dist/objects.d.ts.map +0 -1
- package/dist/objects.js +0 -13
- package/dist/objects.js.map +0 -1
- package/dist/primitives.d.ts +0 -41
- package/dist/primitives.d.ts.map +0 -1
- package/dist/primitives.js +0 -16
- package/dist/primitives.js.map +0 -1
- package/dist/schemas.d.ts +0 -60
- package/dist/schemas.d.ts.map +0 -1
- package/dist/schemas.js +0 -24
- package/dist/schemas.js.map +0 -1
- package/dist/unions.d.ts +0 -19
- package/dist/unions.d.ts.map +0 -1
- package/dist/unions.js +0 -24
- package/dist/unions.js.map +0 -1
- package/dist/utils.d.ts +0 -5
- package/dist/utils.d.ts.map +0 -1
- package/dist/utils.js +0 -28
- package/dist/utils.js.map +0 -1
- package/src/arrays.ts +0 -55
- package/src/basics.ts +0 -89
- package/src/objects.ts +0 -16
- package/src/primitives.ts +0 -62
- package/src/schemas.ts +0 -166
- package/src/unions.ts +0 -112
- package/src/utils.ts +0 -24
- package/tsconfig.json +0 -17
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { Tuple, InferTuple, Validator, TupleRestParameter, InferValidation, restValidator } from '../types'
|
|
2
|
+
import { ValidationOptions } from '../types'
|
|
3
|
+
import { assertValidation, ValidationError } from '../errors'
|
|
4
|
+
import { getValidator } from '../utilities'
|
|
5
|
+
import { nullValidator } from './constant'
|
|
6
|
+
|
|
7
|
+
/** A `Validator` for _tuples_. */
|
|
8
|
+
export class TupleValidator<T extends Tuple> extends Validator<InferTuple<T>> {
|
|
9
|
+
readonly tuple: T
|
|
10
|
+
|
|
11
|
+
#validators: ({ single: boolean, validator: Validator })[] = []
|
|
12
|
+
|
|
13
|
+
constructor(tuple: T) {
|
|
14
|
+
super()
|
|
15
|
+
|
|
16
|
+
this.tuple = tuple
|
|
17
|
+
for (const item of tuple) {
|
|
18
|
+
if (item === null) { // god knows why typeof null === "object"
|
|
19
|
+
this.#validators.push({ single: true, validator: nullValidator })
|
|
20
|
+
} else if ((typeof item === 'object') && (restValidator in item)) {
|
|
21
|
+
this.#validators.push({ single: false, validator: (<any>item)[restValidator] })
|
|
22
|
+
} else {
|
|
23
|
+
this.#validators.push({ single: true, validator: getValidator(item) })
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
validate(value: unknown, options: ValidationOptions): InferTuple<T> {
|
|
29
|
+
assertValidation(Array.isArray(value), 'Value is not an "array"')
|
|
30
|
+
|
|
31
|
+
// Empty tuples
|
|
32
|
+
if (this.#validators.length === 0) {
|
|
33
|
+
const size = value.length
|
|
34
|
+
assertValidation(size === 0, `Found ${size} element${size === 1 ? '' : 's'} validating empty tuple`)
|
|
35
|
+
return value as InferTuple<T>
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
// Validate iterating...
|
|
39
|
+
const clone = new Array(value.length)
|
|
40
|
+
let needle = 0
|
|
41
|
+
let haystack = 0
|
|
42
|
+
let { single, validator } = this.#validators[needle]
|
|
43
|
+
|
|
44
|
+
while ((needle < this.#validators.length) && (haystack < value.length)) {
|
|
45
|
+
try {
|
|
46
|
+
clone[haystack] = validator.validate(value[haystack], options)
|
|
47
|
+
if (single) ({ single, validator } = this.#validators[++ needle] || {})
|
|
48
|
+
haystack ++
|
|
49
|
+
} catch (error) {
|
|
50
|
+
if (single) throw new ValidationError(error, [ haystack ])
|
|
51
|
+
else ({ single, validator } = this.#validators[++ needle] || {})
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
while ((needle < this.#validators.length) && (this.#validators[needle].single === false)) {
|
|
56
|
+
needle ++
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
const missing = this.#validators.length - needle
|
|
60
|
+
if ((missing === 1) && single) {
|
|
61
|
+
throw new ValidationError('Tuple defines 1 missing validation')
|
|
62
|
+
} else if (missing > 1) {
|
|
63
|
+
throw new ValidationError(`Tuple defines ${missing} missing validations`)
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
const extra = value.length - haystack
|
|
67
|
+
assertValidation(extra === 0, `Found ${extra} extra element${extra === 1 ? '' : 's'} in tuple`)
|
|
68
|
+
|
|
69
|
+
return clone as InferTuple<T>
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
/** Validate _tuples_. */
|
|
74
|
+
export function tuple<T extends Tuple>(tuple: T): Validator<InferTuple<T>> {
|
|
75
|
+
return new TupleValidator(tuple)
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
export function makeTupleRestIterable<
|
|
79
|
+
F extends () => Validator,
|
|
80
|
+
>(create: F): F & Iterable<TupleRestParameter<InferValidation<F>>> {
|
|
81
|
+
const validator = create()
|
|
82
|
+
;(<any>create)[Symbol.iterator] = function* (): Generator<TupleRestParameter<InferValidation<F>>> {
|
|
83
|
+
yield { [restValidator]: validator }
|
|
84
|
+
}
|
|
85
|
+
return create as any
|
|
86
|
+
}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { ValidationErrorBuilder } from '../errors'
|
|
2
|
+
import { getValidator } from '../utilities'
|
|
3
|
+
import {
|
|
4
|
+
InferValidation,
|
|
5
|
+
Validation,
|
|
6
|
+
ValidationOptions,
|
|
7
|
+
Validator,
|
|
8
|
+
} from '../types'
|
|
9
|
+
|
|
10
|
+
type UnionArguments = readonly [ Validation, ...Validation[] ]
|
|
11
|
+
|
|
12
|
+
/* -------------------------------------------------------------------------- */
|
|
13
|
+
|
|
14
|
+
type InferOneOfValidationType<A extends UnionArguments> =
|
|
15
|
+
A extends readonly [ infer First, ...infer Rest ] ?
|
|
16
|
+
First extends Validation ?
|
|
17
|
+
Rest extends UnionArguments ?
|
|
18
|
+
InferValidation<First> | InferOneOfValidationType<Rest> :
|
|
19
|
+
InferValidation<First> :
|
|
20
|
+
never :
|
|
21
|
+
never
|
|
22
|
+
|
|
23
|
+
/** A `Validator` validating a value as _one of_ the specified arguments. */
|
|
24
|
+
export class OneOfValidator<A extends UnionArguments> extends Validator<InferOneOfValidationType<A>> {
|
|
25
|
+
readonly validators: readonly Validator[]
|
|
26
|
+
|
|
27
|
+
constructor(args: A) {
|
|
28
|
+
super()
|
|
29
|
+
this.validators = args.map((validation) => getValidator(validation))
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
validate(value: unknown, options: ValidationOptions): InferOneOfValidationType<A> {
|
|
33
|
+
const builder = new ValidationErrorBuilder()
|
|
34
|
+
for (const validator of this.validators) {
|
|
35
|
+
try {
|
|
36
|
+
return validator.validate(value, options)
|
|
37
|
+
} catch (error) {
|
|
38
|
+
builder.record(error)
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
return builder.assert(value as InferOneOfValidationType<A>)
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
/** Validate a value as _one of_ the specified arguments */
|
|
46
|
+
export function oneOf<A extends UnionArguments>(...args: A): OneOfValidator<A> {
|
|
47
|
+
return new OneOfValidator(args)
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
/* -------------------------------------------------------------------------- */
|
|
51
|
+
|
|
52
|
+
type InferAllOfValidationType<A extends UnionArguments> =
|
|
53
|
+
A extends readonly [ infer First, ...infer Rest ] ?
|
|
54
|
+
First extends Validation ?
|
|
55
|
+
Rest extends UnionArguments ?
|
|
56
|
+
InferValidation<First> & InferOneOfValidationType<Rest> :
|
|
57
|
+
InferValidation<First> :
|
|
58
|
+
never :
|
|
59
|
+
never
|
|
60
|
+
|
|
61
|
+
/** A `Validator` validating a value as _all of_ the specified arguments. */
|
|
62
|
+
export class AllOfValidator<A extends UnionArguments> extends Validator<InferAllOfValidationType<A>> {
|
|
63
|
+
readonly validators: readonly Validator[]
|
|
64
|
+
|
|
65
|
+
constructor(args: A) {
|
|
66
|
+
super()
|
|
67
|
+
this.validators = args.map((validation) => getValidator(validation))
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
validate(value: unknown, options: ValidationOptions): InferAllOfValidationType<A> {
|
|
71
|
+
for (const validator of this.validators) {
|
|
72
|
+
value = validator.validate(value, options)
|
|
73
|
+
}
|
|
74
|
+
return value as InferAllOfValidationType<A>
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
/** Validate a value as _all of_ the specified arguments */
|
|
79
|
+
export function allOf<A extends UnionArguments>(...args: A): AllOfValidator<A> {
|
|
80
|
+
return new AllOfValidator(args)
|
|
81
|
+
}
|
package/dist/arrays.d.ts
DELETED
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import { Validation, Validator, InferValidationType } from './basics';
|
|
2
|
-
/** Constraints to validate an `Array` with. */
|
|
3
|
-
export interface ArrayConstraints<V extends Validation> {
|
|
4
|
-
/** The _maximum_ number of elements a valid `Array`: `value.length <= maxItems` */
|
|
5
|
-
maxItems?: number;
|
|
6
|
-
/** The _minimum_ number of elements a valid `Array`: `value.length >= minItems` */
|
|
7
|
-
minItems?: number;
|
|
8
|
-
/** A flag indicating whether an `Array`'s elements must be unique */
|
|
9
|
-
uniqueItems?: boolean;
|
|
10
|
-
/** A `Validator` validating each individual item in an `Array` */
|
|
11
|
-
items?: V;
|
|
12
|
-
}
|
|
13
|
-
/**
|
|
14
|
-
* A function returning a `Validator` for an `Array` containing `any` item.
|
|
15
|
-
*/
|
|
16
|
-
export declare function array(): Validator<any[]>;
|
|
17
|
-
/**
|
|
18
|
-
* A function returning a `Validator` for an `Array`.
|
|
19
|
-
*
|
|
20
|
-
* @param validation - A `Validator` (or generator thereof) validating each
|
|
21
|
-
* of the _items_ in the `Array`
|
|
22
|
-
*/
|
|
23
|
-
export declare function array<V extends Validation>(validation: V): Validator<InferValidationType<V>[]>;
|
|
24
|
-
/**
|
|
25
|
-
* A function returning a `Validator` for an `Array`.
|
|
26
|
-
*
|
|
27
|
-
* @param constraints - Optional constraints to validate the `Array` with.
|
|
28
|
-
*/
|
|
29
|
-
export declare function array<V extends Validation>(constraints: ArrayConstraints<V>): Validator<InferValidationType<V>[]>;
|
|
30
|
-
//# sourceMappingURL=arrays.d.ts.map
|
package/dist/arrays.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"arrays.d.ts","sourceRoot":"","sources":["../../src/arrays.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,mBAAmB,EAAa,MAAM,UAAU,CAAA;AAOhF,+CAA+C;AAC/C,MAAM,WAAW,gBAAgB,CAAC,CAAC,SAAS,UAAU;IACpD,mFAAmF;IACnF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,mFAAmF;IACnF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,qEAAqE;IACrE,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,kEAAkE;IAClE,KAAK,CAAC,EAAE,CAAC,CAAC;CACX;AAID;;GAEG;AACH,wBAAgB,KAAK,IAAI,SAAS,CAAC,GAAG,EAAE,CAAC,CAAA;AAEzC;;;;;GAKG;AACH,wBAAgB,KAAK,CAAC,CAAC,SAAS,UAAU,EAAE,UAAU,EAAE,CAAC,GAAG,SAAS,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;AAE/F;;;;GAIG;AACH,wBAAgB,KAAK,CAAC,CAAC,SAAS,UAAU,EAAE,WAAW,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA"}
|
package/dist/arrays.js
DELETED
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __assign = (this && this.__assign) || function () {
|
|
3
|
-
__assign = Object.assign || function(t) {
|
|
4
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
-
s = arguments[i];
|
|
6
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
-
t[p] = s[p];
|
|
8
|
-
}
|
|
9
|
-
return t;
|
|
10
|
-
};
|
|
11
|
-
return __assign.apply(this, arguments);
|
|
12
|
-
};
|
|
13
|
-
var __rest = (this && this.__rest) || function (s, e) {
|
|
14
|
-
var t = {};
|
|
15
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
16
|
-
t[p] = s[p];
|
|
17
|
-
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
18
|
-
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
19
|
-
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
20
|
-
t[p[i]] = s[p[i]];
|
|
21
|
-
}
|
|
22
|
-
return t;
|
|
23
|
-
};
|
|
24
|
-
exports.__esModule = true;
|
|
25
|
-
exports.array = void 0;
|
|
26
|
-
var basics_1 = require("./basics");
|
|
27
|
-
var utils_1 = require("./utils");
|
|
28
|
-
/* -------------------------------------------------------------------------- */
|
|
29
|
-
function array(options) {
|
|
30
|
-
if (options === void 0) { options = {}; }
|
|
31
|
-
var _a = (0, utils_1.isFunction)(options) ? { items: (0, basics_1.validator)(options) } :
|
|
32
|
-
(0, utils_1.isPrimitive)(options) ? { items: (0, basics_1.validator)(options) } :
|
|
33
|
-
(0, utils_1.isValidator)(options) ? { items: (0, basics_1.validator)(options) } : __assign(__assign({}, options), { items: (0, basics_1.validator)(options.items) }), items = _a.items, constraints = __rest(_a, ["items"]);
|
|
34
|
-
void items, constraints;
|
|
35
|
-
// TODO: implement me!
|
|
36
|
-
return null;
|
|
37
|
-
}
|
|
38
|
-
exports.array = array;
|
|
39
|
-
//# sourceMappingURL=arrays.js.map
|
package/dist/arrays.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"arrays.js","sourceRoot":"","sources":["../../src/arrays.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mCAAgF;AAChF,iCAA8D;AAwC9D,gFAAgF;AAEhF,SAAgB,KAAK,CAAC,OAAuD;IAAvD,wBAAA,EAAA,YAAuD;IAC3E,IAAM,KACJ,IAAA,kBAAU,EAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAA,kBAAS,EAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACrD,IAAA,mBAAW,EAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAA,kBAAS,EAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACtD,IAAA,mBAAW,EAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAA,kBAAS,EAAC,OAAO,CAAC,EAAE,CAAC,CAAC,uBACjD,OAAO,KAAE,KAAK,EAAE,IAAA,kBAAS,EAAC,OAAO,CAAC,KAAK,CAAC,GAAE,EAJzC,KAAK,WAAA,EAAK,WAAW,cAAvB,SAAyB,CAIkB,CAAA;IAEjD,KAAK,KAAK,EAAE,WAAW,CAAA;IAEvB,sBAAsB;IACtB,OAAa,IAAI,CAAA;AACnB,CAAC;AAXD,sBAWC"}
|
package/dist/basics.d.ts
DELETED
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import type { ObjectValidator } from './schemas';
|
|
2
|
-
/**
|
|
3
|
-
* The `Validator` interface defines an object capable of validating a given
|
|
4
|
-
* _value_ and (possibly) converting it the required `Type`.
|
|
5
|
-
*/
|
|
6
|
-
export interface Validator<T = any> {
|
|
7
|
-
/**
|
|
8
|
-
* Validate a _value_ and optionally convert it to the required `Type`.
|
|
9
|
-
*
|
|
10
|
-
* @param value - The _value_ to validate
|
|
11
|
-
* @returns The validated _value_, optionally converted to the reqired `Type`
|
|
12
|
-
*/
|
|
13
|
-
validate: (value: any) => T;
|
|
14
|
-
}
|
|
15
|
-
/** The `Validation` type defines a `Validator` or a function creating one. */
|
|
16
|
-
export declare type Validation<V extends Validator = Validator> = (() => V) | V | // a `Validator` or a zero parameter function returning one
|
|
17
|
-
null | boolean | number | string;
|
|
18
|
-
/** Infer the type returned by a `Validator`'s own `validate` function. */
|
|
19
|
-
export declare type InferValidationType<V extends Validation> = V extends () => ObjectValidator ? Record<string, any> : V extends ObjectValidator ? Record<string, any> : V extends () => Validator<infer T> ? T : V extends Validator<infer T> ? T : V;
|
|
20
|
-
/**
|
|
21
|
-
* Return the `Validator` for the given `Validation`.
|
|
22
|
-
*
|
|
23
|
-
* @param validation - When `undefined` it will return a `Validator<any>`,
|
|
24
|
-
*/
|
|
25
|
-
export declare function validator(validation?: Validation): Validator;
|
|
26
|
-
/** The utility `Validator` for `any` type. */
|
|
27
|
-
export declare const any: Validator<any>;
|
|
28
|
-
/** The utility `Validator` for the `boolean` type. */
|
|
29
|
-
export declare const boolean: Validator<boolean>;
|
|
30
|
-
/** Create a `Validator` validating the specified constant */
|
|
31
|
-
export declare function constant<T extends string | number | boolean | null>(constant: T): Validator<T>;
|
|
32
|
-
//# sourceMappingURL=basics.d.ts.map
|
package/dist/basics.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"basics.d.ts","sourceRoot":"","sources":["../../src/basics.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,WAAW,CAAA;AAOhD;;;GAGG;AACH,MAAM,WAAW,SAAS,CAAC,CAAC,GAAG,GAAG;IAChC;;;;;OAKG;IACH,QAAQ,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,CAAC,CAAC;CAC7B;AAED,8EAA8E;AAC9E,oBAAY,UAAU,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS,IACpD,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,2DAA2D;AAC3E,IAAI,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,CAAA;AAElC,0EAA0E;AAC1E,oBAAY,mBAAmB,CAAC,CAAC,SAAS,UAAU,IAClD,CAAC,SAAS,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACrD,CAAC,SAAS,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC/C,CAAC,SAAS,MAAM,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GACtC,CAAC,SAAS,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAChC,CAAC,CAAA;AAIH;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,UAAU,CAAC,EAAE,UAAU,GAAG,SAAS,CAa5D;AAOD,8CAA8C;AAC9C,eAAO,MAAM,GAAG,EAAE,SAAS,CAAC,GAAG,CAI9B,CAAA;AAED,sDAAsD;AACtD,eAAO,MAAM,OAAO,EAAE,SAAS,CAAC,OAAO,CAKtC,CAAA;AAMD,6DAA6D;AAC7D,wBAAgB,QAAQ,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,EAAE,QAAQ,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAO9F"}
|
package/dist/basics.js
DELETED
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
exports.__esModule = true;
|
|
3
|
-
exports.constant = exports.boolean = exports.any = exports.validator = void 0;
|
|
4
|
-
var utils_1 = require("./utils");
|
|
5
|
-
/* -------------------------------------------------------------------------- */
|
|
6
|
-
/**
|
|
7
|
-
* Return the `Validator` for the given `Validation`.
|
|
8
|
-
*
|
|
9
|
-
* @param validation - When `undefined` it will return a `Validator<any>`,
|
|
10
|
-
*/
|
|
11
|
-
function validator(validation) {
|
|
12
|
-
// Undefined maps to `any`
|
|
13
|
-
if (validation === undefined)
|
|
14
|
-
return exports.any;
|
|
15
|
-
// Constant values
|
|
16
|
-
if ((0, utils_1.isPrimitive)(validation))
|
|
17
|
-
return constant(validation);
|
|
18
|
-
// Validator instances (or function creating one)
|
|
19
|
-
if ((0, utils_1.isFunction)(validation))
|
|
20
|
-
validation = validation();
|
|
21
|
-
if ((0, utils_1.isValidator)(validation))
|
|
22
|
-
return validation;
|
|
23
|
-
// Something bad happened!
|
|
24
|
-
throw new TypeError('Invalid validation (no validator???)');
|
|
25
|
-
}
|
|
26
|
-
exports.validator = validator;
|
|
27
|
-
/* ========================================================================== *
|
|
28
|
-
* BASIC VALIDATION (ANY, BOOLEANS) *
|
|
29
|
-
* ========================================================================== */
|
|
30
|
-
/** The utility `Validator` for `any` type. */
|
|
31
|
-
exports.any = {
|
|
32
|
-
validate: function (value) {
|
|
33
|
-
return value;
|
|
34
|
-
}
|
|
35
|
-
};
|
|
36
|
-
/** The utility `Validator` for the `boolean` type. */
|
|
37
|
-
exports.boolean = {
|
|
38
|
-
validate: function (value) {
|
|
39
|
-
if (typeof value === 'boolean')
|
|
40
|
-
return value;
|
|
41
|
-
throw new TypeError('Not a "boolean"');
|
|
42
|
-
}
|
|
43
|
-
};
|
|
44
|
-
/* ========================================================================== *
|
|
45
|
-
* CONSTANTS VALIDATION *
|
|
46
|
-
* ========================================================================== */
|
|
47
|
-
/** Create a `Validator` validating the specified constant */
|
|
48
|
-
function constant(constant) {
|
|
49
|
-
return {
|
|
50
|
-
validate: function (value) {
|
|
51
|
-
if (constant === value)
|
|
52
|
-
return value;
|
|
53
|
-
throw new TypeError('Not a "boolean"');
|
|
54
|
-
}
|
|
55
|
-
};
|
|
56
|
-
}
|
|
57
|
-
exports.constant = constant;
|
|
58
|
-
//# sourceMappingURL=basics.js.map
|
package/dist/basics.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"basics.js","sourceRoot":"","sources":["../../src/basics.ts"],"names":[],"mappings":";;;AACA,iCAA8D;AAiC9D,gFAAgF;AAEhF;;;;GAIG;AACH,SAAgB,SAAS,CAAC,UAAuB;IAC/C,0BAA0B;IAC1B,IAAI,UAAU,KAAK,SAAS;QAAE,OAAO,WAAG,CAAA;IAExC,kBAAkB;IAClB,IAAI,IAAA,mBAAW,EAAC,UAAU,CAAC;QAAE,OAAO,QAAQ,CAAC,UAAU,CAAC,CAAA;IAExD,iDAAiD;IACjD,IAAI,IAAA,kBAAU,EAAC,UAAU,CAAC;QAAE,UAAU,GAAG,UAAU,EAAE,CAAA;IACrD,IAAI,IAAA,mBAAW,EAAC,UAAU,CAAC;QAAE,OAAO,UAAU,CAAA;IAE9C,0BAA0B;IAC1B,MAAM,IAAI,SAAS,CAAC,sCAAsC,CAAC,CAAA;AAC7D,CAAC;AAbD,8BAaC;AAGD;;gFAEgF;AAEhF,8CAA8C;AACjC,QAAA,GAAG,GAAmB;IACjC,QAAQ,EAAR,UAAS,KAAU;QACjB,OAAO,KAAK,CAAA;IACd,CAAC;CACF,CAAA;AAED,sDAAsD;AACzC,QAAA,OAAO,GAAuB;IACzC,QAAQ,EAAE,UAAC,KAAU;QACnB,IAAI,OAAO,KAAK,KAAK,SAAS;YAAE,OAAO,KAAK,CAAA;QAC5C,MAAM,IAAI,SAAS,CAAC,iBAAiB,CAAC,CAAA;IACxC,CAAC;CACF,CAAA;AAED;;gFAEgF;AAEhF,6DAA6D;AAC7D,SAAgB,QAAQ,CAA6C,QAAW;IAC9E,OAAO;QACL,QAAQ,EAAE,UAAC,KAAU;YACnB,IAAI,QAAQ,KAAK,KAAK;gBAAE,OAAO,KAAK,CAAA;YACpC,MAAM,IAAI,SAAS,CAAC,iBAAiB,CAAC,CAAA;QACxC,CAAC;KACF,CAAA;AACH,CAAC;AAPD,4BAOC"}
|
package/dist/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAA;AAC5D,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAC7C,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAA;AAChC,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAClC,OAAO,EAAE,oBAAoB,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AACpE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,UAAU,CAAA"}
|
package/dist/index.js
DELETED
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
-
}) : (function(o, m, k, k2) {
|
|
6
|
-
if (k2 === undefined) k2 = k;
|
|
7
|
-
o[k2] = m[k];
|
|
8
|
-
}));
|
|
9
|
-
exports.__esModule = true;
|
|
10
|
-
exports.oneOf = exports.allOf = exports.optional = exports.readonly = exports.additionalProperties = exports.object = exports.array = exports.number = exports.string = exports.constant = exports.boolean = exports.any = void 0;
|
|
11
|
-
var basics_1 = require("./basics");
|
|
12
|
-
__createBinding(exports, basics_1, "any");
|
|
13
|
-
__createBinding(exports, basics_1, "boolean");
|
|
14
|
-
__createBinding(exports, basics_1, "constant");
|
|
15
|
-
var primitives_1 = require("./primitives");
|
|
16
|
-
__createBinding(exports, primitives_1, "string");
|
|
17
|
-
__createBinding(exports, primitives_1, "number");
|
|
18
|
-
var arrays_1 = require("./arrays");
|
|
19
|
-
__createBinding(exports, arrays_1, "array");
|
|
20
|
-
var objects_1 = require("./objects");
|
|
21
|
-
__createBinding(exports, objects_1, "object");
|
|
22
|
-
var schemas_1 = require("./schemas");
|
|
23
|
-
__createBinding(exports, schemas_1, "additionalProperties");
|
|
24
|
-
__createBinding(exports, schemas_1, "readonly");
|
|
25
|
-
__createBinding(exports, schemas_1, "optional");
|
|
26
|
-
var unions_1 = require("./unions");
|
|
27
|
-
__createBinding(exports, unions_1, "allOf");
|
|
28
|
-
__createBinding(exports, unions_1, "oneOf");
|
|
29
|
-
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,mCAA4D;AAAxC,0CAAG;AAAE,8CAAO;AAAE,+CAAQ;AAC1C,2CAA6C;AAApC,iDAAM;AAAE,iDAAM;AACvB,mCAAgC;AAAvB,4CAAK;AACd,qCAAkC;AAAzB,8CAAM;AACf,qCAAoE;AAA3D,4DAAoB;AAAE,gDAAQ;AAAE,gDAAQ;AACjD,mCAAuC;AAA9B,4CAAK;AAAE,4CAAK"}
|
package/dist/objects.d.ts
DELETED
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import type { ObjectValidator, SchemaValidator, Schema, InferSchema } from './schemas';
|
|
2
|
-
export declare function object(): ObjectValidator;
|
|
3
|
-
export declare function object<S extends Schema>(schema: S): SchemaValidator<InferSchema<S>, S>;
|
|
4
|
-
//# sourceMappingURL=objects.d.ts.map
|
package/dist/objects.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"objects.d.ts","sourceRoot":"","sources":["../../src/objects.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAMtF,wBAAgB,MAAM,IAAI,eAAe,CAAA;AACzC,wBAAgB,MAAM,CAAC,CAAC,SAAS,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,eAAe,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA"}
|
package/dist/objects.js
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
exports.__esModule = true;
|
|
3
|
-
exports.object = void 0;
|
|
4
|
-
function object(schema) {
|
|
5
|
-
return {
|
|
6
|
-
schema: schema,
|
|
7
|
-
validate: function (value) {
|
|
8
|
-
return value;
|
|
9
|
-
}
|
|
10
|
-
};
|
|
11
|
-
}
|
|
12
|
-
exports.object = object;
|
|
13
|
-
//# sourceMappingURL=objects.js.map
|
package/dist/objects.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"objects.js","sourceRoot":"","sources":["../../src/objects.ts"],"names":[],"mappings":";;;AAQA,SAAgB,MAAM,CAAmB,MAAU;IACjD,OAAO;QACL,MAAM,EAAM,MAAM;QAClB,QAAQ,EAAE,UAAC,KAAU;YACnB,OAAO,KAAK,CAAA;QACd,CAAC;KACF,CAAA;AACH,CAAC;AAPD,wBAOC"}
|
package/dist/primitives.d.ts
DELETED
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import type { Validator } from './basics';
|
|
2
|
-
/**
|
|
3
|
-
* Constraints to validate a `number` with.
|
|
4
|
-
* @internal
|
|
5
|
-
*/
|
|
6
|
-
export interface NumberConstraints {
|
|
7
|
-
/** The value for which a `number` must be multiple of for it to be valid */
|
|
8
|
-
multipleOf?: number;
|
|
9
|
-
/** The _inclusive_ maximum value for a valid `number`: `value <= maximum` */
|
|
10
|
-
maximum?: number;
|
|
11
|
-
/** The _inclusive_ minimum value for a valid `number`: `value >= minimum` */
|
|
12
|
-
minimum?: number;
|
|
13
|
-
/** The _exclusive_ maximum value for a valid `number`: `value < exclusiveMaximum` */
|
|
14
|
-
exclusiveMaximum?: number;
|
|
15
|
-
/** The _exclusive_ minimum value for a valid `number`: `value > exclusiveMaximum` */
|
|
16
|
-
exclusiveMinumum?: number;
|
|
17
|
-
}
|
|
18
|
-
/**
|
|
19
|
-
* A function returning a `Validator` for `number`s.
|
|
20
|
-
*
|
|
21
|
-
* @param constraints - Optional constraints to validate the `number` with.
|
|
22
|
-
*/
|
|
23
|
-
export declare function number(constraints?: NumberConstraints): Validator<number>;
|
|
24
|
-
export declare function number<N extends number>(constraints?: NumberConstraints): Validator<N>;
|
|
25
|
-
/** Constraints to validate a `string` with. */
|
|
26
|
-
export interface StringConstraints {
|
|
27
|
-
/** The _maximum_ length of a valid `string`: `value.length <= maxLength` */
|
|
28
|
-
maxLength?: number;
|
|
29
|
-
/** The _minimum_ length of a valid `string`: `value.length >= minLength` */
|
|
30
|
-
minLength?: number;
|
|
31
|
-
/** A `RegExp` enforcing a particular pattern for a valid `string`: `pattern.test(value)` */
|
|
32
|
-
pattern?: RegExp;
|
|
33
|
-
}
|
|
34
|
-
/**
|
|
35
|
-
* A function returning a `Validator` for the `string` type.
|
|
36
|
-
*
|
|
37
|
-
* @param constraints - Optional constraints to validate the `string` with.
|
|
38
|
-
*/
|
|
39
|
-
export declare function string(constraints?: StringConstraints): Validator<string>;
|
|
40
|
-
export declare function string<S extends string>(constraints?: StringConstraints): Validator<S>;
|
|
41
|
-
//# sourceMappingURL=primitives.d.ts.map
|
package/dist/primitives.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"primitives.d.ts","sourceRoot":"","sources":["../../src/primitives.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAMzC;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,4EAA4E;IAC5E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,6EAA6E;IAC7E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,6EAA6E;IAC7E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,qFAAqF;IACrF,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,qFAAqF;IACrF,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;;;GAIG;AACH,wBAAgB,MAAM,CAAC,WAAW,CAAC,EAAE,iBAAiB,GAAG,SAAS,CAAC,MAAM,CAAC,CAAA;AAC1E,wBAAgB,MAAM,CAAC,CAAC,SAAS,MAAM,EAAE,WAAW,CAAC,EAAE,iBAAiB,GAAG,SAAS,CAAC,CAAC,CAAC,CAAA;AAWvF,+CAA+C;AAC/C,MAAM,WAAW,iBAAiB;IAChC,4EAA4E;IAC5E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,4EAA4E;IAC5E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,4FAA4F;IAC5F,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;GAIG;AACH,wBAAgB,MAAM,CAAC,WAAW,CAAC,EAAE,iBAAiB,GAAG,SAAS,CAAC,MAAM,CAAC,CAAA;AAC1E,wBAAgB,MAAM,CAAC,CAAC,SAAS,MAAM,EAAE,WAAW,CAAC,EAAE,iBAAiB,GAAG,SAAS,CAAC,CAAC,CAAC,CAAA"}
|
package/dist/primitives.js
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
exports.__esModule = true;
|
|
3
|
-
exports.string = exports.number = void 0;
|
|
4
|
-
function number(constraints) {
|
|
5
|
-
// TODO: implement me!
|
|
6
|
-
void constraints;
|
|
7
|
-
return null;
|
|
8
|
-
}
|
|
9
|
-
exports.number = number;
|
|
10
|
-
function string(constraints) {
|
|
11
|
-
// TODO: implement me!
|
|
12
|
-
void constraints;
|
|
13
|
-
return null;
|
|
14
|
-
}
|
|
15
|
-
exports.string = string;
|
|
16
|
-
//# sourceMappingURL=primitives.js.map
|
package/dist/primitives.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"primitives.js","sourceRoot":"","sources":["../../src/primitives.ts"],"names":[],"mappings":";;;AA8BA,SAAgB,MAAM,CAAC,WAA+B;IACpD,sBAAsB;IACtB,KAAK,WAAW,CAAA;IAChB,OAAa,IAAI,CAAA;AACnB,CAAC;AAJD,wBAIC;AAuBD,SAAgB,MAAM,CAAC,WAA+B;IACpD,sBAAsB;IACtB,KAAK,WAAW,CAAA;IAChB,OAAa,IAAI,CAAA;AACnB,CAAC;AAJD,wBAIC"}
|
package/dist/schemas.d.ts
DELETED
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
import type { InferValidationType, Validation, Validator } from './basics';
|
|
2
|
-
declare const allowAdditionalProperties: unique symbol;
|
|
3
|
-
declare type allowAdditionalProperties = typeof allowAdditionalProperties;
|
|
4
|
-
export interface Schema {
|
|
5
|
-
[key: string]: Validation | Modifier | string;
|
|
6
|
-
[allowAdditionalProperties]?: Validator | boolean;
|
|
7
|
-
}
|
|
8
|
-
export interface SchemaValidator<T, S extends Schema> extends Validator<T> {
|
|
9
|
-
schema: S;
|
|
10
|
-
}
|
|
11
|
-
export interface ObjectValidator extends SchemaValidator<Record<string, any>, {}> {
|
|
12
|
-
[allowAdditionalProperties]: true;
|
|
13
|
-
}
|
|
14
|
-
export interface AdditionalProperties<V extends Validator | boolean> {
|
|
15
|
-
[allowAdditionalProperties]: V;
|
|
16
|
-
}
|
|
17
|
-
export declare function additionalProperties(): AdditionalProperties<true>;
|
|
18
|
-
export declare function additionalProperties(allow: true): AdditionalProperties<true>;
|
|
19
|
-
export declare function additionalProperties(allow: false): AdditionalProperties<false>;
|
|
20
|
-
export declare function additionalProperties<V extends Validation>(validation: V): AdditionalProperties<Validator<InferValidationType<V>>>;
|
|
21
|
-
interface Modifier<V extends Validator = Validator> {
|
|
22
|
-
validator: V;
|
|
23
|
-
readonly?: true;
|
|
24
|
-
optional?: true;
|
|
25
|
-
}
|
|
26
|
-
interface ReadonlyModifier<V extends Validator = Validator> extends Modifier<V> {
|
|
27
|
-
readonly: true;
|
|
28
|
-
}
|
|
29
|
-
interface OptionalModifier<V extends Validator = Validator> extends Modifier<V> {
|
|
30
|
-
optional: true;
|
|
31
|
-
}
|
|
32
|
-
interface CombinedModifier<V extends Validator = Validator> extends ReadonlyModifier<V>, OptionalModifier<V>, Modifier<V> {
|
|
33
|
-
readonly: true;
|
|
34
|
-
optional: true;
|
|
35
|
-
}
|
|
36
|
-
declare type CombineModifiers<M1 extends Modifier, M2 extends Modifier> = M1 extends ReadonlyModifier ? M2 extends ReadonlyModifier<infer V> ? ReadonlyModifier<V> : M2 extends OptionalModifier<infer V> ? CombinedModifier<V> : never : M1 extends OptionalModifier ? M2 extends ReadonlyModifier<infer V> ? CombinedModifier<V> : M2 extends OptionalModifier<infer V> ? OptionalModifier<V> : never : never;
|
|
37
|
-
export declare function readonly(): ReadonlyModifier<any>;
|
|
38
|
-
export declare function readonly<V extends Validation>(validation: V): ReadonlyModifier<Validator<InferValidationType<V>>>;
|
|
39
|
-
export declare function readonly<M extends Modifier>(modifier: M): CombineModifiers<ReadonlyModifier, M>;
|
|
40
|
-
export declare function optional(): OptionalModifier<any>;
|
|
41
|
-
export declare function optional<V extends Validation>(validation: V): OptionalModifier<Validator<InferValidationType<V>>>;
|
|
42
|
-
export declare function optional<M extends Modifier>(modifier: M): CombineModifiers<OptionalModifier, M>;
|
|
43
|
-
/** Infer the type validated by a `Schema` */
|
|
44
|
-
export declare type InferSchema<S extends Schema> = InferValidators<S> & InferReadonlyModifiers<S> & InferOptionalModifiers<S> & InferCombinedModifiers<S> & InferAdditionalProperties<S>;
|
|
45
|
-
/** Infer the type of keys associated with `Validator`s */
|
|
46
|
-
declare type InferValidators<S extends Schema> = {
|
|
47
|
-
[key in keyof S as key extends string ? S[key] extends Validation ? key : never : never]: S[key] extends Validation ? InferValidationType<S[key]> : never;
|
|
48
|
-
};
|
|
49
|
-
declare type InferAdditionalProperties<S extends Schema> = S extends AdditionalProperties<Validator<infer V>> ? Record<string, V> : S extends AdditionalProperties<true> ? Record<string, any> : {};
|
|
50
|
-
declare type InferReadonlyModifiers<S extends Schema> = {
|
|
51
|
-
readonly [key in keyof S as key extends string ? S[key] extends OptionalModifier<Validator> ? never : S[key] extends ReadonlyModifier<Validator> ? key : never : never]: S[key] extends ReadonlyModifier<infer V> ? InferValidationType<V> : never;
|
|
52
|
-
};
|
|
53
|
-
declare type InferOptionalModifiers<S extends Schema> = {
|
|
54
|
-
[key in keyof S as key extends string ? S[key] extends ReadonlyModifier<Validator> ? never : S[key] extends OptionalModifier<Validator> ? key : never : never]?: S[key] extends OptionalModifier<infer V> ? InferValidationType<V> : never;
|
|
55
|
-
};
|
|
56
|
-
declare type InferCombinedModifiers<S extends Schema> = {
|
|
57
|
-
readonly [key in keyof S as key extends string ? S[key] extends CombinedModifier ? key : never : never]?: S[key] extends CombinedModifier<infer V> ? InferValidationType<V> : never;
|
|
58
|
-
};
|
|
59
|
-
export {};
|
|
60
|
-
//# sourceMappingURL=schemas.d.ts.map
|
package/dist/schemas.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../src/schemas.ts"],"names":[],"mappings":"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"}
|
package/dist/schemas.js
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
exports.__esModule = true;
|
|
3
|
-
exports.optional = exports.readonly = exports.additionalProperties = void 0;
|
|
4
|
-
var basics_1 = require("./basics");
|
|
5
|
-
var allowAdditionalProperties = Symbol('additionalProperties');
|
|
6
|
-
function additionalProperties(options) {
|
|
7
|
-
var _a;
|
|
8
|
-
var allow = typeof options === 'boolean' ? options :
|
|
9
|
-
options === undefined ? true :
|
|
10
|
-
(0, basics_1.validator)(options);
|
|
11
|
-
return _a = {}, _a[allowAdditionalProperties] = allow, _a;
|
|
12
|
-
}
|
|
13
|
-
exports.additionalProperties = additionalProperties;
|
|
14
|
-
function readonly(modifier) {
|
|
15
|
-
void modifier;
|
|
16
|
-
return null;
|
|
17
|
-
}
|
|
18
|
-
exports.readonly = readonly;
|
|
19
|
-
function optional(modifier) {
|
|
20
|
-
void modifier;
|
|
21
|
-
return null;
|
|
22
|
-
}
|
|
23
|
-
exports.optional = optional;
|
|
24
|
-
//# sourceMappingURL=schemas.js.map
|
package/dist/schemas.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../src/schemas.ts"],"names":[],"mappings":";;;AACA,mCAAoC;AAEpC,IAAM,yBAAyB,GAAG,MAAM,CAAC,sBAAsB,CAAC,CAAA;AAgChE,SAAgB,oBAAoB,CAAC,OAA8B;;IACjE,IAAM,KAAK,GACT,OAAO,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QACxC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAC9B,IAAA,kBAAS,EAAC,OAAO,CAAC,CAAA;IAEpB,gBAAS,GAAC,yBAAyB,IAAG,KAAK,KAAE;AAC/C,CAAC;AAPD,oDAOC;AA8CD,SAAgB,QAAQ,CAAC,QAAqC;IAC5D,KAAK,QAAQ,CAAA;IACb,OAAa,IAAI,CAAA;AACnB,CAAC;AAHD,4BAGC;AAMD,SAAgB,QAAQ,CAAC,QAAqC;IAC5D,KAAK,QAAQ,CAAA;IACb,OAAa,IAAI,CAAA;AACnB,CAAC;AAHD,4BAGC"}
|
package/dist/unions.d.ts
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import type { InferValidationType, Validation, Validator } from './basics';
|
|
2
|
-
declare type CompoundType = Validation | string | number;
|
|
3
|
-
declare type InferCompoundValidator<T extends CompoundType> = T extends Validation ? Validator<InferValidationType<T>> : T extends string ? Validator<T> : T extends number ? Validator<T> : never;
|
|
4
|
-
export declare function oneOf<A extends CompoundType>(a: A): InferCompoundValidator<A>;
|
|
5
|
-
export declare function oneOf<A extends CompoundType, B extends CompoundType>(a: A, b: B): InferCompoundValidator<A | B>;
|
|
6
|
-
export declare function oneOf<A extends CompoundType, B extends CompoundType, C extends CompoundType>(a: A, b: B, c: C): InferCompoundValidator<A | B | C>;
|
|
7
|
-
export declare function oneOf<A extends CompoundType, B extends CompoundType, C extends CompoundType, D extends CompoundType>(a: A, b: B, c: C, d: D): InferCompoundValidator<A | B | C | D>;
|
|
8
|
-
export declare function oneOf<A extends CompoundType, B extends CompoundType, C extends CompoundType, D extends CompoundType, E extends CompoundType>(a: A, b: B, c: C, d: D, e: E): InferCompoundValidator<A | B | C | D | E>;
|
|
9
|
-
export declare function oneOf<A extends CompoundType, B extends CompoundType, C extends CompoundType, D extends CompoundType, E extends CompoundType, F extends CompoundType>(a: A, b: B, c: C, d: D, e: E, f: F): InferCompoundValidator<A | B | C | D | E | F>;
|
|
10
|
-
export declare function oneOf<A extends readonly any[]>(...args: A): Validator<A>;
|
|
11
|
-
export declare function allOf<A extends CompoundType>(a: A): InferCompoundValidator<A>;
|
|
12
|
-
export declare function allOf<A extends CompoundType, B extends CompoundType>(a: A, b: B): InferCompoundValidator<A & B>;
|
|
13
|
-
export declare function allOf<A extends CompoundType, B extends CompoundType, C extends CompoundType>(a: A, b: B, c: C): InferCompoundValidator<A & B & C>;
|
|
14
|
-
export declare function allOf<A extends CompoundType, B extends CompoundType, C extends CompoundType, D extends CompoundType>(a: A, b: B, c: C, d: D): InferCompoundValidator<A & B & C & D>;
|
|
15
|
-
export declare function allOf<A extends CompoundType, B extends CompoundType, C extends CompoundType, D extends CompoundType, E extends CompoundType>(a: A, b: B, c: C, d: D, e: E): InferCompoundValidator<A & B & C & D & E>;
|
|
16
|
-
export declare function allOf<A extends CompoundType, B extends CompoundType, C extends CompoundType, D extends CompoundType, E extends CompoundType, F extends CompoundType>(a: A, b: B, c: C, d: D, e: E, f: F): InferCompoundValidator<A & B & C & D & E & F>;
|
|
17
|
-
export declare function allOf<A extends readonly any[]>(...args: A): Validator<A>;
|
|
18
|
-
export {};
|
|
19
|
-
//# sourceMappingURL=unions.d.ts.map
|
package/dist/unions.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"unions.d.ts","sourceRoot":"","sources":["../../src/unions.ts"],"names":[],"mappings":"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"}
|
package/dist/unions.js
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
exports.__esModule = true;
|
|
3
|
-
exports.allOf = exports.oneOf = void 0;
|
|
4
|
-
function oneOf() {
|
|
5
|
-
var args = [];
|
|
6
|
-
for (var _i = 0; _i < arguments.length; _i++) {
|
|
7
|
-
args[_i] = arguments[_i];
|
|
8
|
-
}
|
|
9
|
-
// TODO
|
|
10
|
-
void args;
|
|
11
|
-
return null;
|
|
12
|
-
}
|
|
13
|
-
exports.oneOf = oneOf;
|
|
14
|
-
function allOf() {
|
|
15
|
-
var args = [];
|
|
16
|
-
for (var _i = 0; _i < arguments.length; _i++) {
|
|
17
|
-
args[_i] = arguments[_i];
|
|
18
|
-
}
|
|
19
|
-
// TODO
|
|
20
|
-
void args;
|
|
21
|
-
return null;
|
|
22
|
-
}
|
|
23
|
-
exports.allOf = allOf;
|
|
24
|
-
//# sourceMappingURL=unions.js.map
|