justus 0.1.6 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{dts-generator.js → dts-generator.cjs} +3 -3
- package/dist/{dts-generator.js.map → dts-generator.cjs.map} +1 -1
- package/{dts-generator.d.ts → dist/dts-generator.d.ts} +1 -1
- package/dist/dts-generator.mjs +1 -1
- package/dist/dts-generator.mjs.map +1 -1
- package/dist/errors.cjs +113 -0
- package/dist/errors.cjs.map +6 -0
- package/dist/errors.d.ts +55 -0
- package/dist/errors.mjs +85 -0
- package/dist/errors.mjs.map +6 -0
- package/dist/index.cjs +133 -0
- package/dist/index.cjs.map +6 -0
- package/dist/index.d.ts +47 -0
- package/dist/index.mjs +23 -817
- package/dist/index.mjs.map +3 -3
- package/dist/schema.cjs +44 -0
- package/dist/schema.cjs.map +6 -0
- package/dist/schema.d.ts +16 -0
- package/dist/schema.mjs +18 -0
- package/dist/schema.mjs.map +6 -0
- package/dist/types.cjs +67 -0
- package/dist/types.cjs.map +6 -0
- package/dist/types.d.ts +136 -0
- package/dist/types.mjs +36 -0
- package/dist/types.mjs.map +6 -0
- package/dist/utilities.cjs +54 -0
- package/dist/utilities.cjs.map +6 -0
- package/dist/utilities.d.ts +7 -0
- package/dist/utilities.mjs +29 -0
- package/dist/utilities.mjs.map +6 -0
- package/dist/validators/any.cjs +39 -0
- package/dist/validators/any.cjs.map +6 -0
- package/dist/validators/any.d.ts +7 -0
- package/dist/validators/any.mjs +13 -0
- package/dist/validators/any.mjs.map +6 -0
- package/dist/validators/array.cjs +104 -0
- package/dist/validators/array.cjs.map +6 -0
- package/dist/validators/array.d.ts +32 -0
- package/dist/validators/array.mjs +76 -0
- package/dist/validators/array.mjs.map +6 -0
- package/dist/validators/boolean.cjs +56 -0
- package/dist/validators/boolean.cjs.map +6 -0
- package/dist/validators/boolean.d.ts +21 -0
- package/dist/validators/boolean.mjs +30 -0
- package/dist/validators/boolean.mjs.map +6 -0
- package/dist/validators/constant.cjs +51 -0
- package/dist/validators/constant.cjs.map +6 -0
- package/dist/validators/constant.d.ts +12 -0
- package/dist/validators/constant.mjs +24 -0
- package/dist/validators/constant.mjs.map +6 -0
- package/dist/validators/date.cjs +80 -0
- package/dist/validators/date.cjs.map +6 -0
- package/dist/validators/date.d.ts +22 -0
- package/dist/validators/date.mjs +54 -0
- package/dist/validators/date.mjs.map +6 -0
- package/dist/validators/never.cjs +44 -0
- package/dist/validators/never.cjs.map +6 -0
- package/dist/validators/never.d.ts +9 -0
- package/dist/validators/never.mjs +18 -0
- package/dist/validators/never.mjs.map +6 -0
- package/dist/validators/number.cjs +153 -0
- package/dist/validators/number.cjs.map +6 -0
- package/dist/validators/number.d.ts +48 -0
- package/dist/validators/number.mjs +126 -0
- package/dist/validators/number.mjs.map +6 -0
- package/dist/validators/object.cjs +129 -0
- package/dist/validators/object.cjs.map +6 -0
- package/dist/validators/object.d.ts +22 -0
- package/dist/validators/object.mjs +108 -0
- package/dist/validators/object.mjs.map +6 -0
- package/dist/validators/optional.cjs +61 -0
- package/dist/validators/optional.cjs.map +6 -0
- package/dist/validators/optional.d.ts +21 -0
- package/dist/validators/optional.mjs +35 -0
- package/dist/validators/optional.mjs.map +6 -0
- package/dist/validators/string.cjs +84 -0
- package/dist/validators/string.cjs.map +6 -0
- package/dist/validators/string.d.ts +35 -0
- package/dist/validators/string.mjs +57 -0
- package/dist/validators/string.mjs.map +6 -0
- package/dist/validators/tuple.cjs +95 -0
- package/dist/validators/tuple.cjs.map +6 -0
- package/dist/validators/tuple.d.ts +15 -0
- package/dist/validators/tuple.mjs +69 -0
- package/dist/validators/tuple.mjs.map +6 -0
- package/dist/validators/union.cjs +78 -0
- package/dist/validators/union.cjs.map +6 -0
- package/dist/validators/union.d.ts +22 -0
- package/dist/validators/union.mjs +50 -0
- package/dist/validators/union.mjs.map +6 -0
- package/dist/validators/url.cjs +117 -0
- package/dist/validators/url.cjs.map +6 -0
- package/dist/validators/url.d.ts +57 -0
- package/dist/validators/url.mjs +91 -0
- package/dist/validators/url.mjs.map +6 -0
- package/package.json +33 -23
- package/src/dts-generator.ts +4 -0
- package/src/index.ts +23 -23
- package/src/schema.ts +7 -5
- package/src/types.ts +19 -9
- package/src/utilities.ts +6 -2
- package/src/validators/array.ts +6 -5
- package/src/validators/boolean.ts +2 -2
- package/src/validators/constant.ts +3 -1
- package/src/validators/date.ts +1 -1
- package/src/validators/never.ts +4 -2
- package/src/validators/number.ts +8 -7
- package/src/validators/object.ts +12 -12
- package/src/validators/optional.ts +5 -7
- package/src/validators/string.ts +8 -6
- package/src/validators/tuple.ts +5 -3
- package/src/validators/union.ts +7 -5
- package/src/validators/url.ts +8 -7
- package/dist/index.js +0 -948
- package/dist/index.js.map +0 -6
- package/index.d.ts +0 -618
|
@@ -27,7 +27,7 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
27
27
|
));
|
|
28
28
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
29
|
|
|
30
|
-
//
|
|
30
|
+
// dts-generator.ts
|
|
31
31
|
var dts_generator_exports = {};
|
|
32
32
|
__export(dts_generator_exports, {
|
|
33
33
|
generateTypes: () => generateTypes,
|
|
@@ -35,7 +35,7 @@ __export(dts_generator_exports, {
|
|
|
35
35
|
});
|
|
36
36
|
module.exports = __toCommonJS(dts_generator_exports);
|
|
37
37
|
var import_typescript = __toESM(require("typescript"));
|
|
38
|
-
var import_index = require("./index.
|
|
38
|
+
var import_index = require("./index.cjs");
|
|
39
39
|
var generators = /* @__PURE__ */ new Map();
|
|
40
40
|
function registerTypeGenerator(validator, generator) {
|
|
41
41
|
generators.set(validator, generator);
|
|
@@ -223,4 +223,4 @@ registerTypeGenerator(import_index.ObjectValidator, (validator, references) => {
|
|
|
223
223
|
generateTypes,
|
|
224
224
|
registerTypeGenerator
|
|
225
225
|
});
|
|
226
|
-
//# sourceMappingURL=dts-generator.
|
|
226
|
+
//# sourceMappingURL=dts-generator.cjs.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/dts-generator.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAAoC;
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["ts", "count", "first", "next", "types", "validator", "array"]
|
|
6
6
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import ts from 'typescript';
|
|
2
|
-
import { Validation, Validator } from './index';
|
|
2
|
+
import type { Validation, Validator } from './index';
|
|
3
3
|
/** A function taking a `Validator` and producing its `TypeNode`. */
|
|
4
4
|
type TypeGenerator<V extends Validator = Validator> = (validator: V, references: ReadonlyMap<Validator, string>) => ts.TypeNode;
|
|
5
5
|
/** The generic constructor of a `Validator` instance. */
|
package/dist/dts-generator.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/dts-generator.ts"],
|
|
4
|
-
"mappings": ";AAAA,OAAO,MAAM,uBAAuB;
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["count", "first", "next", "types", "validator", "array"]
|
|
6
6
|
}
|
package/dist/errors.cjs
ADDED
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
|
|
20
|
+
// errors.ts
|
|
21
|
+
var errors_exports = {};
|
|
22
|
+
__export(errors_exports, {
|
|
23
|
+
ValidationError: () => ValidationError,
|
|
24
|
+
ValidationErrorBuilder: () => ValidationErrorBuilder,
|
|
25
|
+
assertSchema: () => assertSchema,
|
|
26
|
+
assertValidation: () => assertValidation
|
|
27
|
+
});
|
|
28
|
+
module.exports = __toCommonJS(errors_exports);
|
|
29
|
+
function pathToString(path) {
|
|
30
|
+
return path.reduce((string, key, index) => {
|
|
31
|
+
if (typeof key === "number")
|
|
32
|
+
return `${string}[${key}]`;
|
|
33
|
+
return index === 0 ? key : `${string}.${key}`;
|
|
34
|
+
}, "");
|
|
35
|
+
}
|
|
36
|
+
var ValidationError = class extends Error {
|
|
37
|
+
/** An `Array` of validation errors encountered while validating */
|
|
38
|
+
errors;
|
|
39
|
+
/** Our stack, always present as we enforce it in the constructor */
|
|
40
|
+
stack;
|
|
41
|
+
constructor(builderOrCause, constructorOrPath, maybeConstructor) {
|
|
42
|
+
let constructor;
|
|
43
|
+
let errors;
|
|
44
|
+
if (builderOrCause instanceof ValidationErrorBuilder) {
|
|
45
|
+
errors = builderOrCause.errors;
|
|
46
|
+
constructor = builderOrCause.assert;
|
|
47
|
+
} else {
|
|
48
|
+
const path = Array.isArray(constructorOrPath) ? constructorOrPath : [];
|
|
49
|
+
if (builderOrCause instanceof ValidationError) {
|
|
50
|
+
errors = builderOrCause.errors.map(({ path: subpath, message: message2 }) => ({ path: [...path, ...subpath], message: message2 }));
|
|
51
|
+
} else {
|
|
52
|
+
errors = [{ path, message: `${builderOrCause}` }];
|
|
53
|
+
}
|
|
54
|
+
constructor = typeof maybeConstructor === "function" ? maybeConstructor : typeof constructorOrPath === "function" ? constructorOrPath : ValidationError;
|
|
55
|
+
}
|
|
56
|
+
const details = errors.map(({ path, message: message2 }) => ({ key: pathToString(path), message: message2 })).map(({ key, message: message2 }) => key ? `${key}: ${message2}` : message2).join("\n ");
|
|
57
|
+
const message = errors.length !== 1 ? `Found ${errors.length} validation errors` : "Found 1 validation error";
|
|
58
|
+
super(`${message}
|
|
59
|
+
${details}`);
|
|
60
|
+
Error.captureStackTrace(this, constructor);
|
|
61
|
+
Object.defineProperty(this, "errors", { value: errors });
|
|
62
|
+
}
|
|
63
|
+
};
|
|
64
|
+
var ValidationErrorBuilder = class {
|
|
65
|
+
/** The current list of validation errors */
|
|
66
|
+
errors = [];
|
|
67
|
+
/**
|
|
68
|
+
* Record a validation error associated with the specified key.
|
|
69
|
+
*
|
|
70
|
+
* @param error - The error (normally a `string` or a `ValidationError`)
|
|
71
|
+
* to record and associate with the given key
|
|
72
|
+
* @param key - The key in an object, or index in an array where the
|
|
73
|
+
* vaildation error was encountered
|
|
74
|
+
*/
|
|
75
|
+
record(error, ...key) {
|
|
76
|
+
const path = [...key];
|
|
77
|
+
if (error instanceof ValidationError) {
|
|
78
|
+
error.errors.forEach(({ path: subpath, message }) => {
|
|
79
|
+
this.errors.push({ path: [...path, ...subpath], message });
|
|
80
|
+
});
|
|
81
|
+
} else {
|
|
82
|
+
this.errors.push({ path, message: `${error}` });
|
|
83
|
+
}
|
|
84
|
+
return this;
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Assert there are no validation errors and return the specified value, or
|
|
88
|
+
* throw a `ValidationError` combining all errors
|
|
89
|
+
*
|
|
90
|
+
* @param value - The value to return if no errors have been recorded
|
|
91
|
+
*/
|
|
92
|
+
assert(value) {
|
|
93
|
+
if (this.errors.length > 0)
|
|
94
|
+
throw new ValidationError(this);
|
|
95
|
+
return value;
|
|
96
|
+
}
|
|
97
|
+
};
|
|
98
|
+
function assertValidation(what, message) {
|
|
99
|
+
if (!what)
|
|
100
|
+
throw new ValidationError(message, assertValidation);
|
|
101
|
+
}
|
|
102
|
+
function assertSchema(what, message) {
|
|
103
|
+
if (!what)
|
|
104
|
+
throw new TypeError(message);
|
|
105
|
+
}
|
|
106
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
107
|
+
0 && (module.exports = {
|
|
108
|
+
ValidationError,
|
|
109
|
+
ValidationErrorBuilder,
|
|
110
|
+
assertSchema,
|
|
111
|
+
assertValidation
|
|
112
|
+
});
|
|
113
|
+
//# sourceMappingURL=errors.cjs.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/errors.ts"],
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,SAAS,aAAa,MAAmC;AACvD,SAAO,KAAK,OAAO,CAAC,QAAgB,KAAK,UAAkB;AACzD,QAAI,OAAO,QAAQ;AAAU,aAAO,GAAG,UAAU;AACjD,WAAO,UAAU,IAAI,MAAM,GAAG,UAAU;AAAA,EAC1C,GAAG,EAAE;AACP;AAKO,IAAM,kBAAN,cAA8B,MAAM;AAAA;AAAA,EAEhC;AAAA;AAAA,EAEA;AAAA,EAaT,YACI,gBACA,mBACA,kBACF;AACA,QAAI;AACJ,QAAI;AAEJ,QAAI,0BAA0B,wBAAwB;AACpD,eAAS,eAAe;AACxB,oBAAc,eAAe;AAAA,IAC/B,OAAO;AACL,YAAM,OAAO,MAAM,QAAQ,iBAAiB,IAAI,oBAAoB,CAAC;AAErE,UAAI,0BAA0B,iBAAiB;AAC7C,iBAAS,eAAe,OAAO,IAAI,CAAC,EAAE,MAAM,SAAS,SAAAA,SAAQ,OAC1D,EAAE,MAAM,CAAE,GAAG,MAAM,GAAG,OAAQ,GAAG,SAAAA,SAAQ,EAAE;AAAA,MAChD,OAAO;AACL,iBAAS,CAAE,EAAE,MAAM,SAAS,GAAG,iBAAiB,CAAE;AAAA,MACpD;AAEA,oBACE,OAAO,qBAAqB,aAAa,mBACzC,OAAO,sBAAsB,aAAa,oBAC1C;AAAA,IACJ;AAEA,UAAM,UAAU,OACX,IAAI,CAAC,EAAE,MAAM,SAAAA,SAAQ,OAAO,EAAE,KAAK,aAAa,IAAI,GAAG,SAAAA,SAAQ,EAAE,EACjE,IAAI,CAAC,EAAE,KAAK,SAAAA,SAAQ,MAAM,MAAM,GAAG,QAAQA,aAAYA,QAAO,EAC9D,KAAK,MAAM;AAEhB,UAAM,UAAU,OAAO,WAAW,IAChC,SAAS,OAAO,6BAChB;AAEF,UAAM,GAAG;AAAA,IAAc,SAAS;AAEhC,UAAM,kBAAkB,MAAM,WAAW;AACzC,WAAO,eAAe,MAAM,UAAU,EAAE,OAAO,OAAO,CAAC;AAAA,EACzD;AACF;AAKO,IAAM,yBAAN,MAA6B;AAAA;AAAA,EAEzB,SAA2B,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUrC,OAAO,UAAe,KAAgC;AACpD,UAAM,OAAO,CAAE,GAAG,GAAI;AACtB,QAAI,iBAAiB,iBAAiB;AACpC,YAAM,OAAO,QAAQ,CAAC,EAAE,MAAM,SAAS,QAAQ,MAAM;AACnD,aAAK,OAAO,KAAK,EAAE,MAAM,CAAE,GAAG,MAAM,GAAG,OAAQ,GAAG,QAAQ,CAAC;AAAA,MAC7D,CAAC;AAAA,IACH,OAAO;AACL,WAAK,OAAO,KAAK,EAAE,MAAM,SAAS,GAAG,QAAQ,CAAC;AAAA,IAChD;AACA,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,OAAU,OAAa;AACrB,QAAI,KAAK,OAAO,SAAS;AAAG,YAAM,IAAI,gBAAgB,IAAI;AAC1D,WAAO;AAAA,EACT;AACF;AAKO,SAAS,iBAAiB,MAA2B,SAA+B;AACzF,MAAI,CAAE;AAAM,UAAM,IAAI,gBAAgB,SAAS,gBAAgB;AACjE;AAMO,SAAS,aAAa,MAA2B,SAA+B;AACrF,MAAI,CAAE;AAAM,UAAM,IAAI,UAAU,OAAO;AACzC;",
|
|
5
|
+
"names": ["message"]
|
|
6
|
+
}
|
package/dist/errors.d.ts
ADDED
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
export type ValidationErrors = {
|
|
2
|
+
path: (string | number)[];
|
|
3
|
+
message: string;
|
|
4
|
+
}[];
|
|
5
|
+
/**
|
|
6
|
+
* A `ValidationError` wraps one or more errors encountered during validation.
|
|
7
|
+
*/
|
|
8
|
+
export declare class ValidationError extends Error {
|
|
9
|
+
/** An `Array` of validation errors encountered while validating */
|
|
10
|
+
readonly errors: ValidationErrors;
|
|
11
|
+
/** Our stack, always present as we enforce it in the constructor */
|
|
12
|
+
readonly stack: string;
|
|
13
|
+
/**
|
|
14
|
+
* Create a new `ValidationError` instance from a `ValidationErrorBuilder`
|
|
15
|
+
* or with a `cause` (a string, or another error) and optional path.
|
|
16
|
+
*
|
|
17
|
+
* The `constructor` (optional last parameter) will restrict creation of
|
|
18
|
+
* this instance's stack up to the specified function.
|
|
19
|
+
*/
|
|
20
|
+
constructor(builder: ValidationErrorBuilder);
|
|
21
|
+
constructor(cause: any, constructor?: Function);
|
|
22
|
+
constructor(cause: any, path: (string | number)[], constructor?: Function);
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Helper class to build a `ValidationError` associated p
|
|
26
|
+
*/
|
|
27
|
+
export declare class ValidationErrorBuilder {
|
|
28
|
+
/** The current list of validation errors */
|
|
29
|
+
readonly errors: ValidationErrors;
|
|
30
|
+
/**
|
|
31
|
+
* Record a validation error associated with the specified key.
|
|
32
|
+
*
|
|
33
|
+
* @param error - The error (normally a `string` or a `ValidationError`)
|
|
34
|
+
* to record and associate with the given key
|
|
35
|
+
* @param key - The key in an object, or index in an array where the
|
|
36
|
+
* vaildation error was encountered
|
|
37
|
+
*/
|
|
38
|
+
record(error: any, ...key: (string | number)[]): this;
|
|
39
|
+
/**
|
|
40
|
+
* Assert there are no validation errors and return the specified value, or
|
|
41
|
+
* throw a `ValidationError` combining all errors
|
|
42
|
+
*
|
|
43
|
+
* @param value - The value to return if no errors have been recorded
|
|
44
|
+
*/
|
|
45
|
+
assert<T>(value: T): T;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Simple assertion function throwing `ValidationError`(s) with an empty path
|
|
49
|
+
*/
|
|
50
|
+
export declare function assertValidation(what: boolean | undefined, message: string): asserts what;
|
|
51
|
+
/**
|
|
52
|
+
* Simple assertion function throwing `TypeError`(s) to be used when
|
|
53
|
+
* constructing a `Validator` from a `Schema` or validation constraints.
|
|
54
|
+
*/
|
|
55
|
+
export declare function assertSchema(what: boolean | undefined, message: string): asserts what;
|
package/dist/errors.mjs
ADDED
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
// errors.ts
|
|
2
|
+
function pathToString(path) {
|
|
3
|
+
return path.reduce((string, key, index) => {
|
|
4
|
+
if (typeof key === "number")
|
|
5
|
+
return `${string}[${key}]`;
|
|
6
|
+
return index === 0 ? key : `${string}.${key}`;
|
|
7
|
+
}, "");
|
|
8
|
+
}
|
|
9
|
+
var ValidationError = class extends Error {
|
|
10
|
+
/** An `Array` of validation errors encountered while validating */
|
|
11
|
+
errors;
|
|
12
|
+
/** Our stack, always present as we enforce it in the constructor */
|
|
13
|
+
stack;
|
|
14
|
+
constructor(builderOrCause, constructorOrPath, maybeConstructor) {
|
|
15
|
+
let constructor;
|
|
16
|
+
let errors;
|
|
17
|
+
if (builderOrCause instanceof ValidationErrorBuilder) {
|
|
18
|
+
errors = builderOrCause.errors;
|
|
19
|
+
constructor = builderOrCause.assert;
|
|
20
|
+
} else {
|
|
21
|
+
const path = Array.isArray(constructorOrPath) ? constructorOrPath : [];
|
|
22
|
+
if (builderOrCause instanceof ValidationError) {
|
|
23
|
+
errors = builderOrCause.errors.map(({ path: subpath, message: message2 }) => ({ path: [...path, ...subpath], message: message2 }));
|
|
24
|
+
} else {
|
|
25
|
+
errors = [{ path, message: `${builderOrCause}` }];
|
|
26
|
+
}
|
|
27
|
+
constructor = typeof maybeConstructor === "function" ? maybeConstructor : typeof constructorOrPath === "function" ? constructorOrPath : ValidationError;
|
|
28
|
+
}
|
|
29
|
+
const details = errors.map(({ path, message: message2 }) => ({ key: pathToString(path), message: message2 })).map(({ key, message: message2 }) => key ? `${key}: ${message2}` : message2).join("\n ");
|
|
30
|
+
const message = errors.length !== 1 ? `Found ${errors.length} validation errors` : "Found 1 validation error";
|
|
31
|
+
super(`${message}
|
|
32
|
+
${details}`);
|
|
33
|
+
Error.captureStackTrace(this, constructor);
|
|
34
|
+
Object.defineProperty(this, "errors", { value: errors });
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
var ValidationErrorBuilder = class {
|
|
38
|
+
/** The current list of validation errors */
|
|
39
|
+
errors = [];
|
|
40
|
+
/**
|
|
41
|
+
* Record a validation error associated with the specified key.
|
|
42
|
+
*
|
|
43
|
+
* @param error - The error (normally a `string` or a `ValidationError`)
|
|
44
|
+
* to record and associate with the given key
|
|
45
|
+
* @param key - The key in an object, or index in an array where the
|
|
46
|
+
* vaildation error was encountered
|
|
47
|
+
*/
|
|
48
|
+
record(error, ...key) {
|
|
49
|
+
const path = [...key];
|
|
50
|
+
if (error instanceof ValidationError) {
|
|
51
|
+
error.errors.forEach(({ path: subpath, message }) => {
|
|
52
|
+
this.errors.push({ path: [...path, ...subpath], message });
|
|
53
|
+
});
|
|
54
|
+
} else {
|
|
55
|
+
this.errors.push({ path, message: `${error}` });
|
|
56
|
+
}
|
|
57
|
+
return this;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Assert there are no validation errors and return the specified value, or
|
|
61
|
+
* throw a `ValidationError` combining all errors
|
|
62
|
+
*
|
|
63
|
+
* @param value - The value to return if no errors have been recorded
|
|
64
|
+
*/
|
|
65
|
+
assert(value) {
|
|
66
|
+
if (this.errors.length > 0)
|
|
67
|
+
throw new ValidationError(this);
|
|
68
|
+
return value;
|
|
69
|
+
}
|
|
70
|
+
};
|
|
71
|
+
function assertValidation(what, message) {
|
|
72
|
+
if (!what)
|
|
73
|
+
throw new ValidationError(message, assertValidation);
|
|
74
|
+
}
|
|
75
|
+
function assertSchema(what, message) {
|
|
76
|
+
if (!what)
|
|
77
|
+
throw new TypeError(message);
|
|
78
|
+
}
|
|
79
|
+
export {
|
|
80
|
+
ValidationError,
|
|
81
|
+
ValidationErrorBuilder,
|
|
82
|
+
assertSchema,
|
|
83
|
+
assertValidation
|
|
84
|
+
};
|
|
85
|
+
//# sourceMappingURL=errors.mjs.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/errors.ts"],
|
|
4
|
+
"mappings": ";AAGA,SAAS,aAAa,MAAmC;AACvD,SAAO,KAAK,OAAO,CAAC,QAAgB,KAAK,UAAkB;AACzD,QAAI,OAAO,QAAQ;AAAU,aAAO,GAAG,UAAU;AACjD,WAAO,UAAU,IAAI,MAAM,GAAG,UAAU;AAAA,EAC1C,GAAG,EAAE;AACP;AAKO,IAAM,kBAAN,cAA8B,MAAM;AAAA;AAAA,EAEhC;AAAA;AAAA,EAEA;AAAA,EAaT,YACI,gBACA,mBACA,kBACF;AACA,QAAI;AACJ,QAAI;AAEJ,QAAI,0BAA0B,wBAAwB;AACpD,eAAS,eAAe;AACxB,oBAAc,eAAe;AAAA,IAC/B,OAAO;AACL,YAAM,OAAO,MAAM,QAAQ,iBAAiB,IAAI,oBAAoB,CAAC;AAErE,UAAI,0BAA0B,iBAAiB;AAC7C,iBAAS,eAAe,OAAO,IAAI,CAAC,EAAE,MAAM,SAAS,SAAAA,SAAQ,OAC1D,EAAE,MAAM,CAAE,GAAG,MAAM,GAAG,OAAQ,GAAG,SAAAA,SAAQ,EAAE;AAAA,MAChD,OAAO;AACL,iBAAS,CAAE,EAAE,MAAM,SAAS,GAAG,iBAAiB,CAAE;AAAA,MACpD;AAEA,oBACE,OAAO,qBAAqB,aAAa,mBACzC,OAAO,sBAAsB,aAAa,oBAC1C;AAAA,IACJ;AAEA,UAAM,UAAU,OACX,IAAI,CAAC,EAAE,MAAM,SAAAA,SAAQ,OAAO,EAAE,KAAK,aAAa,IAAI,GAAG,SAAAA,SAAQ,EAAE,EACjE,IAAI,CAAC,EAAE,KAAK,SAAAA,SAAQ,MAAM,MAAM,GAAG,QAAQA,aAAYA,QAAO,EAC9D,KAAK,MAAM;AAEhB,UAAM,UAAU,OAAO,WAAW,IAChC,SAAS,OAAO,6BAChB;AAEF,UAAM,GAAG;AAAA,IAAc,SAAS;AAEhC,UAAM,kBAAkB,MAAM,WAAW;AACzC,WAAO,eAAe,MAAM,UAAU,EAAE,OAAO,OAAO,CAAC;AAAA,EACzD;AACF;AAKO,IAAM,yBAAN,MAA6B;AAAA;AAAA,EAEzB,SAA2B,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUrC,OAAO,UAAe,KAAgC;AACpD,UAAM,OAAO,CAAE,GAAG,GAAI;AACtB,QAAI,iBAAiB,iBAAiB;AACpC,YAAM,OAAO,QAAQ,CAAC,EAAE,MAAM,SAAS,QAAQ,MAAM;AACnD,aAAK,OAAO,KAAK,EAAE,MAAM,CAAE,GAAG,MAAM,GAAG,OAAQ,GAAG,QAAQ,CAAC;AAAA,MAC7D,CAAC;AAAA,IACH,OAAO;AACL,WAAK,OAAO,KAAK,EAAE,MAAM,SAAS,GAAG,QAAQ,CAAC;AAAA,IAChD;AACA,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,OAAU,OAAa;AACrB,QAAI,KAAK,OAAO,SAAS;AAAG,YAAM,IAAI,gBAAgB,IAAI;AAC1D,WAAO;AAAA,EACT;AACF;AAKO,SAAS,iBAAiB,MAA2B,SAA+B;AACzF,MAAI,CAAE;AAAM,UAAM,IAAI,gBAAgB,SAAS,gBAAgB;AACjE;AAMO,SAAS,aAAa,MAA2B,SAA+B;AACrF,MAAI,CAAE;AAAM,UAAM,IAAI,UAAU,OAAO;AACzC;",
|
|
5
|
+
"names": ["message"]
|
|
6
|
+
}
|
package/dist/index.cjs
ADDED
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
|
|
19
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
20
|
+
|
|
21
|
+
// index.ts
|
|
22
|
+
var src_exports = {};
|
|
23
|
+
__export(src_exports, {
|
|
24
|
+
AllOfValidator: () => import_union.AllOfValidator,
|
|
25
|
+
AnyArrayValidator: () => import_array.AnyArrayValidator,
|
|
26
|
+
AnyNumberValidator: () => import_number.AnyNumberValidator,
|
|
27
|
+
AnyObjectValidator: () => import_object.AnyObjectValidator,
|
|
28
|
+
AnyStringValidator: () => import_string.AnyStringValidator,
|
|
29
|
+
AnyValidator: () => import_any.AnyValidator,
|
|
30
|
+
ArrayValidator: () => import_array.ArrayValidator,
|
|
31
|
+
BooleanValidator: () => import_boolean.BooleanValidator,
|
|
32
|
+
ConstantValidator: () => import_constant.ConstantValidator,
|
|
33
|
+
DateValidator: () => import_date.DateValidator,
|
|
34
|
+
NeverValidator: () => import_never.NeverValidator,
|
|
35
|
+
NumberValidator: () => import_number.NumberValidator,
|
|
36
|
+
ObjectValidator: () => import_object.ObjectValidator,
|
|
37
|
+
OneOfValidator: () => import_union.OneOfValidator,
|
|
38
|
+
OptionalValidator: () => import_optional.OptionalValidator,
|
|
39
|
+
StringValidator: () => import_string.StringValidator,
|
|
40
|
+
TupleValidator: () => import_tuple.TupleValidator,
|
|
41
|
+
URLValidator: () => import_url.URLValidator,
|
|
42
|
+
allOf: () => import_union.allOf,
|
|
43
|
+
any: () => import_any.any,
|
|
44
|
+
array: () => import_array.array,
|
|
45
|
+
arrayOf: () => import_array.arrayOf,
|
|
46
|
+
boolean: () => import_boolean.boolean,
|
|
47
|
+
constant: () => import_constant.constant,
|
|
48
|
+
date: () => import_date.date,
|
|
49
|
+
never: () => import_never.never,
|
|
50
|
+
number: () => import_number.number,
|
|
51
|
+
object: () => import_object.object,
|
|
52
|
+
objectOf: () => import_object.objectOf,
|
|
53
|
+
oneOf: () => import_union.oneOf,
|
|
54
|
+
optional: () => import_optional.optional,
|
|
55
|
+
string: () => import_string.string,
|
|
56
|
+
strip: () => strip,
|
|
57
|
+
tuple: () => import_tuple.tuple,
|
|
58
|
+
url: () => import_url.url,
|
|
59
|
+
validate: () => validate
|
|
60
|
+
});
|
|
61
|
+
module.exports = __toCommonJS(src_exports);
|
|
62
|
+
__reExport(src_exports, require("./errors.cjs"), module.exports);
|
|
63
|
+
__reExport(src_exports, require("./schema.cjs"), module.exports);
|
|
64
|
+
__reExport(src_exports, require("./types.cjs"), module.exports);
|
|
65
|
+
__reExport(src_exports, require("./utilities.cjs"), module.exports);
|
|
66
|
+
var import_any = require("./validators/any.cjs");
|
|
67
|
+
var import_array = require("./validators/array.cjs");
|
|
68
|
+
var import_boolean = require("./validators/boolean.cjs");
|
|
69
|
+
var import_constant = require("./validators/constant.cjs");
|
|
70
|
+
var import_date = require("./validators/date.cjs");
|
|
71
|
+
var import_never = require("./validators/never.cjs");
|
|
72
|
+
var import_number = require("./validators/number.cjs");
|
|
73
|
+
var import_object = require("./validators/object.cjs");
|
|
74
|
+
var import_optional = require("./validators/optional.cjs");
|
|
75
|
+
var import_string = require("./validators/string.cjs");
|
|
76
|
+
var import_tuple = require("./validators/tuple.cjs");
|
|
77
|
+
var import_union = require("./validators/union.cjs");
|
|
78
|
+
var import_url = require("./validators/url.cjs");
|
|
79
|
+
var import_types = require("./types.cjs");
|
|
80
|
+
var import_utilities = require("./utilities.cjs");
|
|
81
|
+
function validate(validation, value, options) {
|
|
82
|
+
const opts = { ...import_types.defaultValidationOptions, ...options };
|
|
83
|
+
return (0, import_utilities.getValidator)(validation).validate(value, opts);
|
|
84
|
+
}
|
|
85
|
+
function strip(validation, value, options) {
|
|
86
|
+
const opts = {
|
|
87
|
+
stripAdditionalProperties: true,
|
|
88
|
+
stripForbiddenProperties: false,
|
|
89
|
+
stripOptionalNulls: true,
|
|
90
|
+
...options
|
|
91
|
+
};
|
|
92
|
+
return (0, import_utilities.getValidator)(validation).validate(value, opts);
|
|
93
|
+
}
|
|
94
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
95
|
+
0 && (module.exports = {
|
|
96
|
+
AllOfValidator,
|
|
97
|
+
AnyArrayValidator,
|
|
98
|
+
AnyNumberValidator,
|
|
99
|
+
AnyObjectValidator,
|
|
100
|
+
AnyStringValidator,
|
|
101
|
+
AnyValidator,
|
|
102
|
+
ArrayValidator,
|
|
103
|
+
BooleanValidator,
|
|
104
|
+
ConstantValidator,
|
|
105
|
+
DateValidator,
|
|
106
|
+
NeverValidator,
|
|
107
|
+
NumberValidator,
|
|
108
|
+
ObjectValidator,
|
|
109
|
+
OneOfValidator,
|
|
110
|
+
OptionalValidator,
|
|
111
|
+
StringValidator,
|
|
112
|
+
TupleValidator,
|
|
113
|
+
URLValidator,
|
|
114
|
+
allOf,
|
|
115
|
+
any,
|
|
116
|
+
array,
|
|
117
|
+
arrayOf,
|
|
118
|
+
boolean,
|
|
119
|
+
constant,
|
|
120
|
+
date,
|
|
121
|
+
never,
|
|
122
|
+
number,
|
|
123
|
+
object,
|
|
124
|
+
objectOf,
|
|
125
|
+
oneOf,
|
|
126
|
+
optional,
|
|
127
|
+
string,
|
|
128
|
+
strip,
|
|
129
|
+
tuple,
|
|
130
|
+
url,
|
|
131
|
+
validate
|
|
132
|
+
});
|
|
133
|
+
//# sourceMappingURL=index.cjs.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/index.ts"],
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAKA,wBAAc,yBALd;AAMA,wBAAc,yBANd;AAOA,wBAAc,wBAPd;AAQA,wBAAc,4BARd;AAWA,iBAAkC;AAClC,mBAAkE;AAClE,qBAA0C;AAC1C,sBAA4C;AAC5C,kBAAoC;AACpC,mBAAsC;AACtC,oBAA4D;AAC5D,oBAAsE;AACtE,sBAA4C;AAC5C,oBAA4D;AAC5D,mBAAsC;AACtC,mBAA6D;AAC7D,iBAAkC;AAelC,mBAAyC;AACzC,uBAA6B;AAUtB,SAAS,SACZ,YACA,OACA,SACkB;AACpB,QAAM,OAA0B,EAAE,GAAG,uCAA0B,GAAG,QAAQ;AAC1E,aAAO,+BAAa,UAAU,EAAE,SAAS,OAAO,IAAI;AACtD;AAgBO,SAAS,MACZ,YACA,OACA,SACkB;AACpB,QAAM,OAA0B;AAAA,IAC9B,2BAA2B;AAAA,IAC3B,0BAA0B;AAAA,IAC1B,oBAAoB;AAAA,IACpB,GAAG;AAAA,EACL;AAEA,aAAO,+BAAa,UAAU,EAAE,SAAS,OAAO,IAAI;AACtD;",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
export * from './errors';
|
|
2
|
+
export * from './schema';
|
|
3
|
+
export * from './types';
|
|
4
|
+
export * from './utilities';
|
|
5
|
+
export { any, AnyValidator } from './validators/any';
|
|
6
|
+
export { array, arrayOf, ArrayValidator, AnyArrayValidator } from './validators/array';
|
|
7
|
+
export { boolean, BooleanValidator } from './validators/boolean';
|
|
8
|
+
export { constant, ConstantValidator } from './validators/constant';
|
|
9
|
+
export { date, DateValidator } from './validators/date';
|
|
10
|
+
export { never, NeverValidator } from './validators/never';
|
|
11
|
+
export { AnyNumberValidator, number, NumberValidator } from './validators/number';
|
|
12
|
+
export { AnyObjectValidator, object, objectOf, ObjectValidator } from './validators/object';
|
|
13
|
+
export { optional, OptionalValidator } from './validators/optional';
|
|
14
|
+
export { AnyStringValidator, string, StringValidator } from './validators/string';
|
|
15
|
+
export { tuple, TupleValidator } from './validators/tuple';
|
|
16
|
+
export { allOf, AllOfValidator, oneOf, OneOfValidator } from './validators/union';
|
|
17
|
+
export { url, URLValidator } from './validators/url';
|
|
18
|
+
export type { ArrayConstraints } from './validators/array';
|
|
19
|
+
export type { BooleanConstraints } from './validators/boolean';
|
|
20
|
+
export type { DateConstraints } from './validators/date';
|
|
21
|
+
export type { BrandedNumberConstraints } from './validators/number';
|
|
22
|
+
export type { BrandedStringConstraints, StringConstraints } from './validators/string';
|
|
23
|
+
export type { TupleMember } from './validators/tuple';
|
|
24
|
+
export type { URLConstraints } from './validators/url';
|
|
25
|
+
import type { InferValidation, Validation, ValidationOptions } from './types';
|
|
26
|
+
/**
|
|
27
|
+
* Validate a _value_ using the specified `Validation`.
|
|
28
|
+
*
|
|
29
|
+
* By default additional and forbidden properties will _not_ be stripped and
|
|
30
|
+
* reported as an error.
|
|
31
|
+
*/
|
|
32
|
+
export declare function validate<V extends Validation>(validation: V, value: any, options?: ValidationOptions): InferValidation<V>;
|
|
33
|
+
/**
|
|
34
|
+
* Validate a _value_ using the specified `Validation`, automatically stripping
|
|
35
|
+
* additional properties and optional `null`s (but not forbidden ones).
|
|
36
|
+
*
|
|
37
|
+
* This is equivalent to:
|
|
38
|
+
*
|
|
39
|
+
* ```
|
|
40
|
+
* validate(validation, value, {
|
|
41
|
+
* stripAdditionalProperties: true,
|
|
42
|
+
* stripForbiddenProperties: false,
|
|
43
|
+
* stripOptionalNulls: true,
|
|
44
|
+
* })
|
|
45
|
+
* ```
|
|
46
|
+
*/
|
|
47
|
+
export declare function strip<V extends Validation>(validation: V, value: any, options?: ValidationOptions): InferValidation<V>;
|