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.
Files changed (61) hide show
  1. package/README.md +601 -6
  2. package/dist/index.cjs +747 -0
  3. package/dist/index.cjs.map +6 -0
  4. package/dist/index.d.ts +504 -7
  5. package/dist/index.mjs +697 -0
  6. package/dist/index.mjs.map +6 -0
  7. package/package.json +19 -7
  8. package/src/errors.ts +126 -0
  9. package/src/index.ts +48 -6
  10. package/src/schema.ts +112 -0
  11. package/src/types.ts +298 -0
  12. package/src/utilities.ts +49 -0
  13. package/src/validators/any.ts +11 -0
  14. package/src/validators/array.ts +108 -0
  15. package/src/validators/boolean.ts +13 -0
  16. package/src/validators/constant.ts +25 -0
  17. package/src/validators/date.ts +78 -0
  18. package/src/validators/number.ts +131 -0
  19. package/src/validators/object.ts +126 -0
  20. package/src/validators/string.ts +70 -0
  21. package/src/validators/tuple.ts +86 -0
  22. package/src/validators/union.ts +81 -0
  23. package/dist/arrays.d.ts +0 -30
  24. package/dist/arrays.d.ts.map +0 -1
  25. package/dist/arrays.js +0 -39
  26. package/dist/arrays.js.map +0 -1
  27. package/dist/basics.d.ts +0 -32
  28. package/dist/basics.d.ts.map +0 -1
  29. package/dist/basics.js +0 -58
  30. package/dist/basics.js.map +0 -1
  31. package/dist/index.d.ts.map +0 -1
  32. package/dist/index.js +0 -29
  33. package/dist/index.js.map +0 -1
  34. package/dist/objects.d.ts +0 -4
  35. package/dist/objects.d.ts.map +0 -1
  36. package/dist/objects.js +0 -13
  37. package/dist/objects.js.map +0 -1
  38. package/dist/primitives.d.ts +0 -41
  39. package/dist/primitives.d.ts.map +0 -1
  40. package/dist/primitives.js +0 -16
  41. package/dist/primitives.js.map +0 -1
  42. package/dist/schemas.d.ts +0 -60
  43. package/dist/schemas.d.ts.map +0 -1
  44. package/dist/schemas.js +0 -24
  45. package/dist/schemas.js.map +0 -1
  46. package/dist/unions.d.ts +0 -19
  47. package/dist/unions.d.ts.map +0 -1
  48. package/dist/unions.js +0 -24
  49. package/dist/unions.js.map +0 -1
  50. package/dist/utils.d.ts +0 -5
  51. package/dist/utils.d.ts.map +0 -1
  52. package/dist/utils.js +0 -28
  53. package/dist/utils.js.map +0 -1
  54. package/src/arrays.ts +0 -55
  55. package/src/basics.ts +0 -89
  56. package/src/objects.ts +0 -16
  57. package/src/primitives.ts +0 -62
  58. package/src/schemas.ts +0 -166
  59. package/src/unions.ts +0 -112
  60. package/src/utils.ts +0 -24
  61. 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
@@ -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
@@ -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
@@ -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
@@ -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"}
@@ -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
@@ -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
@@ -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"}
@@ -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
@@ -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"}
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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