@tsed/ajv 8.0.0-alpha.4 → 8.0.0-alpha.6
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/lib/esm/services/Ajv.js +5 -1
- package/lib/esm/services/Ajv.js.map +1 -1
- package/lib/esm/services/AjvService.js +2 -2
- package/lib/esm/services/AjvService.js.map +1 -1
- package/lib/types/services/AjvService.d.ts +2 -2
- package/package.json +14 -15
- package/lib/cjs/decorators/formats.js +0 -22
- package/lib/cjs/decorators/formats.js.map +0 -1
- package/lib/cjs/decorators/keyword.js +0 -21
- package/lib/cjs/decorators/keyword.js.map +0 -1
- package/lib/cjs/errors/AjvValidationError.js +0 -13
- package/lib/cjs/errors/AjvValidationError.js.map +0 -1
- package/lib/cjs/index.js +0 -18
- package/lib/cjs/index.js.map +0 -1
- package/lib/cjs/interfaces/FormatsMethods.js +0 -3
- package/lib/cjs/interfaces/FormatsMethods.js.map +0 -1
- package/lib/cjs/interfaces/IAjvSettings.js +0 -3
- package/lib/cjs/interfaces/IAjvSettings.js.map +0 -1
- package/lib/cjs/interfaces/KeywordMethods.js +0 -3
- package/lib/cjs/interfaces/KeywordMethods.js.map +0 -1
- package/lib/cjs/interfaces/interfaces.js +0 -3
- package/lib/cjs/interfaces/interfaces.js.map +0 -1
- package/lib/cjs/package.json +0 -3
- package/lib/cjs/services/Ajv.js +0 -73
- package/lib/cjs/services/Ajv.js.map +0 -1
- package/lib/cjs/services/AjvService.js +0 -102
- package/lib/cjs/services/AjvService.js.map +0 -1
- package/lib/cjs/utils/defaultErrorFormatter.js +0 -31
- package/lib/cjs/utils/defaultErrorFormatter.js.map +0 -1
- package/lib/cjs/utils/getPath.js +0 -16
- package/lib/cjs/utils/getPath.js.map +0 -1
- package/lib/esm/package.json +0 -3
- package/lib/types-esm/decorators/formats.d.ts +0 -10
- package/lib/types-esm/decorators/keyword.d.ts +0 -12
- package/lib/types-esm/errors/AjvValidationError.d.ts +0 -6
- package/lib/types-esm/index.d.ts +0 -14
- package/lib/types-esm/interfaces/FormatsMethods.d.ts +0 -4
- package/lib/types-esm/interfaces/IAjvSettings.d.ts +0 -20
- package/lib/types-esm/interfaces/KeywordMethods.d.ts +0 -23
- package/lib/types-esm/interfaces/interfaces.d.ts +0 -8
- package/lib/types-esm/services/Ajv.d.ts +0 -1
- package/lib/types-esm/services/AjvService.d.ts +0 -20
- package/lib/types-esm/utils/defaultErrorFormatter.d.ts +0 -4
- package/lib/types-esm/utils/getPath.d.ts +0 -2
package/lib/esm/services/Ajv.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { cleanObject } from "@tsed/core";
|
|
2
2
|
import { Configuration, InjectorService, ProviderScope, registerProvider } from "@tsed/di";
|
|
3
|
-
import Ajv from "ajv";
|
|
3
|
+
import { Ajv } from "ajv";
|
|
4
4
|
import AjvErrors from "ajv-errors";
|
|
5
5
|
import AjvFormats from "ajv-formats";
|
|
6
6
|
function getHandler(key, service) {
|
|
@@ -43,6 +43,7 @@ function getFormats(injector) {
|
|
|
43
43
|
});
|
|
44
44
|
}
|
|
45
45
|
registerProvider({
|
|
46
|
+
// @ts-ignore
|
|
46
47
|
provide: Ajv,
|
|
47
48
|
deps: [Configuration, InjectorService],
|
|
48
49
|
scope: ProviderScope.SINGLETON,
|
|
@@ -57,9 +58,12 @@ registerProvider({
|
|
|
57
58
|
allErrors: true,
|
|
58
59
|
...props
|
|
59
60
|
};
|
|
61
|
+
// @ts-ignore
|
|
60
62
|
const ajv = new Ajv(options);
|
|
61
63
|
// add support for custom error messages
|
|
64
|
+
// @ts-ignore
|
|
62
65
|
AjvErrors(ajv);
|
|
66
|
+
// @ts-ignore
|
|
63
67
|
AjvFormats(ajv);
|
|
64
68
|
getFormats(injector).forEach(({ name, options }) => {
|
|
65
69
|
ajv.addFormat(name, options);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Ajv.js","sourceRoot":"","sources":["../../../src/services/Ajv.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAC,MAAM,YAAY,CAAC;AACvC,OAAO,EAAC,aAAa,EAAE,eAAe,EAAE,aAAa,EAAE,gBAAgB,EAAC,MAAM,UAAU,CAAC;AACzF,OAAO,
|
|
1
|
+
{"version":3,"file":"Ajv.js","sourceRoot":"","sources":["../../../src/services/Ajv.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@ import { __decorate, __metadata } from "tslib";
|
|
|
2
2
|
import { deepClone, getValue, nameOf, prototypeOf, setValue } from "@tsed/core";
|
|
3
3
|
import { Constant, Inject, Injectable } from "@tsed/di";
|
|
4
4
|
import { getJsonSchema, JsonEntityStore, JsonSchema } from "@tsed/schema";
|
|
5
|
-
import Ajv from "ajv";
|
|
5
|
+
import { Ajv } from "ajv";
|
|
6
6
|
import { AjvValidationError } from "../errors/AjvValidationError.js";
|
|
7
7
|
import { defaultErrorFormatter } from "../utils/defaultErrorFormatter.js";
|
|
8
8
|
import { getPath } from "../utils/getPath.js";
|
|
@@ -87,7 +87,7 @@ __decorate([
|
|
|
87
87
|
__metadata("design:type", Boolean)
|
|
88
88
|
], AjvService.prototype, "returnsCoercedValues", void 0);
|
|
89
89
|
__decorate([
|
|
90
|
-
Inject(),
|
|
90
|
+
Inject(Ajv),
|
|
91
91
|
__metadata("design:type", Ajv)
|
|
92
92
|
], AjvService.prototype, "ajv", void 0);
|
|
93
93
|
AjvService = __decorate([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AjvService.js","sourceRoot":"","sources":["../../../src/services/AjvService.ts"],"names":[],"mappings":";AAAA,OAAO,EAAC,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAO,MAAM,YAAY,CAAC;AACpF,OAAO,EAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAC,MAAM,UAAU,CAAC;AACtD,OAAO,EAAC,aAAa,EAAE,eAAe,EAAE,UAAU,EAAmB,MAAM,cAAc,CAAC;AAC1F,OAAO,
|
|
1
|
+
{"version":3,"file":"AjvService.js","sourceRoot":"","sources":["../../../src/services/AjvService.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { Type } from "@tsed/core";
|
|
2
2
|
import { JsonSchema, JsonSchemaObject } from "@tsed/schema";
|
|
3
|
-
import Ajv,
|
|
3
|
+
import { Ajv, ErrorObject } from "ajv";
|
|
4
4
|
import { AjvValidationError } from "../errors/AjvValidationError.js";
|
|
5
5
|
import { AjvErrorObject, ErrorFormatter } from "../interfaces/IAjvSettings.js";
|
|
6
|
-
import "./Ajv";
|
|
6
|
+
import "./Ajv.js";
|
|
7
7
|
export interface AjvValidateOptions extends Record<string, any> {
|
|
8
8
|
schema?: JsonSchema | Partial<JsonSchemaObject>;
|
|
9
9
|
type?: Type<any> | any;
|
package/package.json
CHANGED
|
@@ -1,17 +1,16 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tsed/ajv",
|
|
3
3
|
"description": "AJV package for Ts.ED framework",
|
|
4
|
-
"type": "
|
|
5
|
-
"version": "8.0.0-alpha.
|
|
4
|
+
"type": "module",
|
|
5
|
+
"version": "8.0.0-alpha.6",
|
|
6
6
|
"source": "./src/index.ts",
|
|
7
|
-
"main": "./lib/
|
|
7
|
+
"main": "./lib/esm/index.js",
|
|
8
8
|
"module": "./lib/esm/index.js",
|
|
9
9
|
"typings": "./lib/types/index.d.ts",
|
|
10
10
|
"exports": {
|
|
11
11
|
".": {
|
|
12
12
|
"types": "./lib/types/index.d.ts",
|
|
13
13
|
"import": "./lib/esm/index.js",
|
|
14
|
-
"require": "./lib/cjs/index.js",
|
|
15
14
|
"default": "./lib/cjs/index.js"
|
|
16
15
|
}
|
|
17
16
|
},
|
|
@@ -28,22 +27,22 @@
|
|
|
28
27
|
"tslib": "2.6.1"
|
|
29
28
|
},
|
|
30
29
|
"devDependencies": {
|
|
31
|
-
"@tsed/barrels": "8.0.0-alpha.
|
|
32
|
-
"@tsed/core": "8.0.0-alpha.
|
|
33
|
-
"@tsed/di": "8.0.0-alpha.
|
|
34
|
-
"@tsed/exceptions": "8.0.0-alpha.
|
|
35
|
-
"@tsed/schema": "8.0.0-alpha.
|
|
36
|
-
"@tsed/typescript": "8.0.0-alpha.
|
|
37
|
-
"ajv": "8.
|
|
30
|
+
"@tsed/barrels": "8.0.0-alpha.6",
|
|
31
|
+
"@tsed/core": "8.0.0-alpha.6",
|
|
32
|
+
"@tsed/di": "8.0.0-alpha.6",
|
|
33
|
+
"@tsed/exceptions": "8.0.0-alpha.6",
|
|
34
|
+
"@tsed/schema": "8.0.0-alpha.6",
|
|
35
|
+
"@tsed/typescript": "8.0.0-alpha.6",
|
|
36
|
+
"ajv": "^8.17.1",
|
|
38
37
|
"eslint": "^8.57.0",
|
|
39
38
|
"typescript": "4.9.5",
|
|
40
39
|
"vitest": "2.0.4"
|
|
41
40
|
},
|
|
42
41
|
"peerDependencies": {
|
|
43
|
-
"@tsed/core": "8.0.0-alpha.
|
|
44
|
-
"@tsed/di": "8.0.0-alpha.
|
|
45
|
-
"@tsed/exceptions": "8.0.0-alpha.
|
|
46
|
-
"@tsed/schema": "8.0.0-alpha.
|
|
42
|
+
"@tsed/core": "8.0.0-alpha.6",
|
|
43
|
+
"@tsed/di": "8.0.0-alpha.6",
|
|
44
|
+
"@tsed/exceptions": "8.0.0-alpha.6",
|
|
45
|
+
"@tsed/schema": "8.0.0-alpha.6",
|
|
47
46
|
"ajv": ">=8.9.0",
|
|
48
47
|
"ajv-errors": ">=3.0.0"
|
|
49
48
|
},
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Formats = void 0;
|
|
4
|
-
const core_1 = require("@tsed/core");
|
|
5
|
-
const di_1 = require("@tsed/di");
|
|
6
|
-
/**
|
|
7
|
-
* Create a new custom formats validator
|
|
8
|
-
* @param name
|
|
9
|
-
* @param options
|
|
10
|
-
* @decorator
|
|
11
|
-
* @ajv
|
|
12
|
-
*/
|
|
13
|
-
function Formats(name, options = {}) {
|
|
14
|
-
return (0, core_1.useDecorators)((0, di_1.Injectable)({
|
|
15
|
-
type: "ajv:formats"
|
|
16
|
-
}), (0, core_1.StoreSet)("ajv:formats", {
|
|
17
|
-
name,
|
|
18
|
-
options
|
|
19
|
-
}));
|
|
20
|
-
}
|
|
21
|
-
exports.Formats = Formats;
|
|
22
|
-
//# sourceMappingURL=formats.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"formats.js","sourceRoot":"","sources":["../../../src/decorators/formats.ts"],"names":[],"mappings":";;;AAAA,qCAAmD;AACnD,iCAAoC;AAKpC;;;;;;GAMG;AACH,SAAgB,OAAO,CAAC,IAAY,EAAE,UAA0B,EAAE;IAChE,OAAO,IAAA,oBAAa,EAClB,IAAA,eAAU,EAAC;QACT,IAAI,EAAE,aAAa;KACpB,CAAC,EACF,IAAA,eAAQ,EAAC,aAAa,EAAE;QACtB,IAAI;QACJ,OAAO;KACR,CAAC,CACH,CAAC;AACJ,CAAC;AAVD,0BAUC"}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Keyword = void 0;
|
|
4
|
-
const core_1 = require("@tsed/core");
|
|
5
|
-
const di_1 = require("@tsed/di");
|
|
6
|
-
/**
|
|
7
|
-
* Create new keyword custom validator
|
|
8
|
-
* @param options
|
|
9
|
-
* @decorator
|
|
10
|
-
* @ajv
|
|
11
|
-
*/
|
|
12
|
-
function Keyword(options) {
|
|
13
|
-
return (0, core_1.useDecorators)((0, di_1.Injectable)({
|
|
14
|
-
type: "ajv:keyword"
|
|
15
|
-
}), (0, core_1.StoreSet)("ajv:keyword", {
|
|
16
|
-
...options,
|
|
17
|
-
metaSchema: options.metaSchema && options.metaSchema.toJSON ? options.metaSchema.toJSON() : options.metaSchema
|
|
18
|
-
}));
|
|
19
|
-
}
|
|
20
|
-
exports.Keyword = Keyword;
|
|
21
|
-
//# sourceMappingURL=keyword.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"keyword.js","sourceRoot":"","sources":["../../../src/decorators/keyword.ts"],"names":[],"mappings":";;;AAAA,qCAAmD;AACnD,iCAAoC;AAQpC;;;;;GAKG;AACH,SAAgB,OAAO,CAAC,OAAuB;IAC7C,OAAO,IAAA,oBAAa,EAClB,IAAA,eAAU,EAAC;QACT,IAAI,EAAE,aAAa;KACpB,CAAC,EACF,IAAA,eAAQ,EAAC,aAAa,EAAE;QACtB,GAAG,OAAO;QACV,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU;KAC/G,CAAC,CACH,CAAC;AACJ,CAAC;AAVD,0BAUC"}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.AjvValidationError = void 0;
|
|
4
|
-
const exceptions_1 = require("@tsed/exceptions");
|
|
5
|
-
class AjvValidationError extends exceptions_1.BadRequest {
|
|
6
|
-
constructor(message, errors = []) {
|
|
7
|
-
super(message);
|
|
8
|
-
this.name = "AJV_VALIDATION_ERROR";
|
|
9
|
-
this.errors = errors;
|
|
10
|
-
}
|
|
11
|
-
}
|
|
12
|
-
exports.AjvValidationError = AjvValidationError;
|
|
13
|
-
//# sourceMappingURL=AjvValidationError.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AjvValidationError.js","sourceRoot":"","sources":["../../../src/errors/AjvValidationError.ts"],"names":[],"mappings":";;;AAAA,iDAA4C;AAE5C,MAAa,kBAAmB,SAAQ,uBAAU;IAIhD,YAAY,OAAe,EAAE,SAAgB,EAAE;QAC7C,KAAK,CAAC,OAAO,CAAC,CAAC;QAJV,SAAI,GAAW,sBAAsB,CAAC;QAK3C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;CACF;AARD,gDAQC"}
|
package/lib/cjs/index.js
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const tslib_1 = require("tslib");
|
|
4
|
-
/**
|
|
5
|
-
* @file Automatically generated by @tsed/barrels.
|
|
6
|
-
*/
|
|
7
|
-
tslib_1.__exportStar(require("./decorators/formats.js"), exports);
|
|
8
|
-
tslib_1.__exportStar(require("./decorators/keyword.js"), exports);
|
|
9
|
-
tslib_1.__exportStar(require("./errors/AjvValidationError.js"), exports);
|
|
10
|
-
tslib_1.__exportStar(require("./interfaces/FormatsMethods.js"), exports);
|
|
11
|
-
tslib_1.__exportStar(require("./interfaces/IAjvSettings.js"), exports);
|
|
12
|
-
tslib_1.__exportStar(require("./interfaces/interfaces.js"), exports);
|
|
13
|
-
tslib_1.__exportStar(require("./interfaces/KeywordMethods.js"), exports);
|
|
14
|
-
tslib_1.__exportStar(require("./services/Ajv.js"), exports);
|
|
15
|
-
tslib_1.__exportStar(require("./services/AjvService.js"), exports);
|
|
16
|
-
tslib_1.__exportStar(require("./utils/defaultErrorFormatter.js"), exports);
|
|
17
|
-
tslib_1.__exportStar(require("./utils/getPath.js"), exports);
|
|
18
|
-
//# sourceMappingURL=index.js.map
|
package/lib/cjs/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,kEAAwC;AACxC,kEAAwC;AACxC,yEAA+C;AAC/C,yEAA+C;AAC/C,uEAA6C;AAC7C,qEAA2C;AAC3C,yEAA+C;AAC/C,4DAAkC;AAClC,mEAAyC;AACzC,2EAAiD;AACjD,6DAAmC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"FormatsMethods.js","sourceRoot":"","sources":["../../../src/interfaces/FormatsMethods.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"IAjvSettings.js","sourceRoot":"","sources":["../../../src/interfaces/IAjvSettings.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"KeywordMethods.js","sourceRoot":"","sources":["../../../src/interfaces/KeywordMethods.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../../src/interfaces/interfaces.ts"],"names":[],"mappings":""}
|
package/lib/cjs/package.json
DELETED
package/lib/cjs/services/Ajv.js
DELETED
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const tslib_1 = require("tslib");
|
|
4
|
-
const core_1 = require("@tsed/core");
|
|
5
|
-
const di_1 = require("@tsed/di");
|
|
6
|
-
const ajv_1 = tslib_1.__importDefault(require("ajv"));
|
|
7
|
-
const ajv_errors_1 = tslib_1.__importDefault(require("ajv-errors"));
|
|
8
|
-
const ajv_formats_1 = tslib_1.__importDefault(require("ajv-formats"));
|
|
9
|
-
function getHandler(key, service) {
|
|
10
|
-
if (service[key]) {
|
|
11
|
-
return service[key].bind(service);
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
function getKeywordProviders(injector) {
|
|
15
|
-
return injector.getProviders("ajv:keyword");
|
|
16
|
-
}
|
|
17
|
-
function bindKeywords(injector) {
|
|
18
|
-
return getKeywordProviders(injector).map((provider) => {
|
|
19
|
-
const options = provider.store.get("ajv:keyword", {});
|
|
20
|
-
const service = injector.invoke(provider.token);
|
|
21
|
-
return (0, core_1.cleanObject)({
|
|
22
|
-
coerceTypes: "array",
|
|
23
|
-
...options,
|
|
24
|
-
validate: getHandler("validate", service),
|
|
25
|
-
compile: getHandler("compile", service),
|
|
26
|
-
code: getHandler("code", service),
|
|
27
|
-
macro: getHandler("macro", service)
|
|
28
|
-
});
|
|
29
|
-
});
|
|
30
|
-
}
|
|
31
|
-
function getFormatsProviders(injector) {
|
|
32
|
-
return injector.getProviders("ajv:formats");
|
|
33
|
-
}
|
|
34
|
-
function getFormats(injector) {
|
|
35
|
-
return getFormatsProviders(injector).map((provider) => {
|
|
36
|
-
const { name, options } = provider.store.get("ajv:formats", {});
|
|
37
|
-
const service = injector.invoke(provider.token);
|
|
38
|
-
return {
|
|
39
|
-
name,
|
|
40
|
-
options: {
|
|
41
|
-
...options,
|
|
42
|
-
validate: service.validate.bind(service),
|
|
43
|
-
compare: service.compare?.bind(service)
|
|
44
|
-
}
|
|
45
|
-
};
|
|
46
|
-
});
|
|
47
|
-
}
|
|
48
|
-
(0, di_1.registerProvider)({
|
|
49
|
-
provide: ajv_1.default,
|
|
50
|
-
deps: [di_1.Configuration, di_1.InjectorService],
|
|
51
|
-
scope: di_1.ProviderScope.SINGLETON,
|
|
52
|
-
useFactory(configuration, injector) {
|
|
53
|
-
const { errorFormatter, keywords = [], ...props } = configuration.get("ajv") || {};
|
|
54
|
-
const options = {
|
|
55
|
-
verbose: false,
|
|
56
|
-
coerceTypes: true,
|
|
57
|
-
strict: false,
|
|
58
|
-
keywords: [...keywords, ...bindKeywords(injector)],
|
|
59
|
-
discriminator: true,
|
|
60
|
-
allErrors: true,
|
|
61
|
-
...props
|
|
62
|
-
};
|
|
63
|
-
const ajv = new ajv_1.default(options);
|
|
64
|
-
// add support for custom error messages
|
|
65
|
-
(0, ajv_errors_1.default)(ajv);
|
|
66
|
-
(0, ajv_formats_1.default)(ajv);
|
|
67
|
-
getFormats(injector).forEach(({ name, options }) => {
|
|
68
|
-
ajv.addFormat(name, options);
|
|
69
|
-
});
|
|
70
|
-
return ajv;
|
|
71
|
-
}
|
|
72
|
-
});
|
|
73
|
-
//# sourceMappingURL=Ajv.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Ajv.js","sourceRoot":"","sources":["../../../src/services/Ajv.ts"],"names":[],"mappings":";;;AAAA,qCAAuC;AACvC,iCAAyF;AACzF,sDAAwE;AACxE,oEAAmC;AACnC,sEAAqC;AAIrC,SAAS,UAAU,CAAC,GAAW,EAAE,OAAY;IAC3C,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE;QAChB,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KACnC;AACH,CAAC;AAED,SAAS,mBAAmB,CAAC,QAAyB;IACpD,OAAO,QAAQ,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;AAC9C,CAAC;AAED,SAAS,YAAY,CAAC,QAAyB;IAC7C,OAAO,mBAAmB,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE;QACpD,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAqC,aAAa,EAAE,EAAE,CAAE,CAAC;QAC3F,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAEhD,OAA0B,IAAA,kBAAW,EAAC;YACpC,WAAW,EAAE,OAAO;YACpB,GAAG,OAAO;YACV,QAAQ,EAAE,UAAU,CAAC,UAAU,EAAE,OAAO,CAAC;YACzC,OAAO,EAAE,UAAU,CAAC,SAAS,EAAE,OAAO,CAAC;YACvC,IAAI,EAAE,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC;YACjC,KAAK,EAAE,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC;SACpC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,mBAAmB,CAAC,QAAyB;IACpD,OAAO,QAAQ,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;AAC9C,CAAC;AAED,SAAS,UAAU,CAAC,QAAyB;IAC3C,OAAO,mBAAmB,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE;QACpD,MAAM,EAAC,IAAI,EAAE,OAAO,EAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAM,aAAa,EAAE,EAAE,CAAE,CAAC;QACpE,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAsB,QAAQ,CAAC,KAAK,CAAC,CAAC;QAErE,OAAO;YACL,IAAI;YACJ,OAAO,EAAE;gBACP,GAAG,OAAO;gBACV,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC;gBACxC,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC;aACxC;SACF,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,IAAA,qBAAgB,EAAC;IACf,OAAO,EAAE,aAAG;IACZ,IAAI,EAAE,CAAC,kBAAa,EAAE,oBAAe,CAAC;IACtC,KAAK,EAAE,kBAAa,CAAC,SAAS;IAC9B,UAAU,CAAC,aAA4B,EAAE,QAAyB;QAChE,MAAM,EAAC,cAAc,EAAE,QAAQ,GAAG,EAAE,EAAE,GAAG,KAAK,EAAC,GAAG,aAAa,CAAC,GAAG,CAAe,KAAK,CAAC,IAAI,EAAE,CAAC;QAC/F,MAAM,OAAO,GAAY;YACvB,OAAO,EAAE,KAAK;YACd,WAAW,EAAE,IAAI;YACjB,MAAM,EAAE,KAAK;YACb,QAAQ,EAAE,CAAC,GAAG,QAAQ,EAAE,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;YAClD,aAAa,EAAE,IAAI;YACnB,SAAS,EAAE,IAAI;YACf,GAAG,KAAK;SACT,CAAC;QAEF,MAAM,GAAG,GAAG,IAAI,aAAG,CAAC,OAAO,CAAC,CAAC;QAE7B,wCAAwC;QACxC,IAAA,oBAAS,EAAC,GAAG,CAAC,CAAC;QAEf,IAAA,qBAAU,EAAC,GAAU,CAAC,CAAC;QAEvB,UAAU,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,EAAC,IAAI,EAAE,OAAO,EAAC,EAAE,EAAE;YAC/C,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;QAEH,OAAO,GAAG,CAAC;IACb,CAAC;CACF,CAAC,CAAC"}
|
|
@@ -1,102 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.AjvService = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
|
-
const core_1 = require("@tsed/core");
|
|
6
|
-
const di_1 = require("@tsed/di");
|
|
7
|
-
const schema_1 = require("@tsed/schema");
|
|
8
|
-
const ajv_1 = tslib_1.__importDefault(require("ajv"));
|
|
9
|
-
const AjvValidationError_js_1 = require("../errors/AjvValidationError.js");
|
|
10
|
-
const defaultErrorFormatter_js_1 = require("../utils/defaultErrorFormatter.js");
|
|
11
|
-
const getPath_js_1 = require("../utils/getPath.js");
|
|
12
|
-
require("./Ajv");
|
|
13
|
-
let AjvService = class AjvService {
|
|
14
|
-
async validate(value, options) {
|
|
15
|
-
let { schema: defaultSchema, type, collectionType, ...additionalOptions } = this.mapOptions(options);
|
|
16
|
-
const schema = defaultSchema || (0, schema_1.getJsonSchema)(type, { ...additionalOptions, customKeys: true });
|
|
17
|
-
if (schema) {
|
|
18
|
-
const localValue = this.returnsCoercedValues ? value : (0, core_1.deepClone)(value);
|
|
19
|
-
const validate = this.ajv.compile(schema);
|
|
20
|
-
const valid = await validate(localValue);
|
|
21
|
-
const { errors } = validate;
|
|
22
|
-
if (!valid && errors) {
|
|
23
|
-
throw this.mapErrors(errors, {
|
|
24
|
-
type,
|
|
25
|
-
collectionType,
|
|
26
|
-
async: true,
|
|
27
|
-
value: localValue
|
|
28
|
-
});
|
|
29
|
-
}
|
|
30
|
-
if (this.returnsCoercedValues) {
|
|
31
|
-
return localValue;
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
return value;
|
|
35
|
-
}
|
|
36
|
-
mapOptions(options) {
|
|
37
|
-
if (options instanceof schema_1.JsonSchema) {
|
|
38
|
-
return {
|
|
39
|
-
schema: options.toJSON({ customKeys: true })
|
|
40
|
-
};
|
|
41
|
-
}
|
|
42
|
-
return options;
|
|
43
|
-
}
|
|
44
|
-
mapErrors(errors, options) {
|
|
45
|
-
const { type, collectionType, value } = options;
|
|
46
|
-
const message = errors
|
|
47
|
-
.map((error) => {
|
|
48
|
-
if (collectionType) {
|
|
49
|
-
error.collectionName = (0, core_1.nameOf)(collectionType);
|
|
50
|
-
}
|
|
51
|
-
const dataPath = (0, getPath_js_1.getPath)(error);
|
|
52
|
-
if (!error.data) {
|
|
53
|
-
if (dataPath) {
|
|
54
|
-
error.data = (0, core_1.getValue)(value, dataPath.replace(/^\./, ""));
|
|
55
|
-
}
|
|
56
|
-
else if (error.schemaPath !== "#/required") {
|
|
57
|
-
error.data = value;
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
if (dataPath && dataPath.match(/pwd|password|mdp|secret/)) {
|
|
61
|
-
error.data = "[REDACTED]";
|
|
62
|
-
}
|
|
63
|
-
if (type) {
|
|
64
|
-
error.modelName = (0, core_1.nameOf)(type);
|
|
65
|
-
error.message = this.mapClassError(error, type);
|
|
66
|
-
}
|
|
67
|
-
return this.errorFormatter.call(this, error, {});
|
|
68
|
-
})
|
|
69
|
-
.join("\n");
|
|
70
|
-
return new AjvValidationError_js_1.AjvValidationError(message, errors);
|
|
71
|
-
}
|
|
72
|
-
mapClassError(error, targetType) {
|
|
73
|
-
const propertyKey = (0, core_1.getValue)(error, "params.missingProperty");
|
|
74
|
-
if (propertyKey) {
|
|
75
|
-
const store = schema_1.JsonEntityStore.from((0, core_1.prototypeOf)(targetType), propertyKey);
|
|
76
|
-
if (store) {
|
|
77
|
-
(0, core_1.setValue)(error, "params.missingProperty", store.name || propertyKey);
|
|
78
|
-
return error.message?.replace(`'${propertyKey}'`, `'${store.name || propertyKey}'`);
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
return error.message;
|
|
82
|
-
}
|
|
83
|
-
};
|
|
84
|
-
tslib_1.__decorate([
|
|
85
|
-
(0, di_1.Constant)("ajv.errorFormatter", defaultErrorFormatter_js_1.defaultErrorFormatter),
|
|
86
|
-
tslib_1.__metadata("design:type", Function)
|
|
87
|
-
], AjvService.prototype, "errorFormatter", void 0);
|
|
88
|
-
tslib_1.__decorate([
|
|
89
|
-
(0, di_1.Constant)("ajv.returnsCoercedValues"),
|
|
90
|
-
tslib_1.__metadata("design:type", Boolean)
|
|
91
|
-
], AjvService.prototype, "returnsCoercedValues", void 0);
|
|
92
|
-
tslib_1.__decorate([
|
|
93
|
-
(0, di_1.Inject)(),
|
|
94
|
-
tslib_1.__metadata("design:type", ajv_1.default)
|
|
95
|
-
], AjvService.prototype, "ajv", void 0);
|
|
96
|
-
AjvService = tslib_1.__decorate([
|
|
97
|
-
(0, di_1.Injectable)({
|
|
98
|
-
type: "validator:service"
|
|
99
|
-
})
|
|
100
|
-
], AjvService);
|
|
101
|
-
exports.AjvService = AjvService;
|
|
102
|
-
//# sourceMappingURL=AjvService.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AjvService.js","sourceRoot":"","sources":["../../../src/services/AjvService.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.defaultErrorFormatter = void 0;
|
|
4
|
-
const getPath_js_1 = require("./getPath.js");
|
|
5
|
-
function defaultErrorFormatter(error) {
|
|
6
|
-
const value = JSON.stringify(error.data === undefined ? "undefined" : error.data);
|
|
7
|
-
const join = (list) => list.filter(Boolean).join("").trim();
|
|
8
|
-
const [, indexPath, ...paths] = (0, getPath_js_1.getInstancePath)(error).split(".");
|
|
9
|
-
const deepPaths = paths.length ? "." + paths.join(".") : "";
|
|
10
|
-
error.dataPath = (0, getPath_js_1.getPath)(error);
|
|
11
|
-
if (error.collectionName) {
|
|
12
|
-
const modelName = error.modelName || "";
|
|
13
|
-
switch (error.collectionName) {
|
|
14
|
-
case "Array":
|
|
15
|
-
return join([`${modelName}[${indexPath}]${deepPaths}`, ` ${error.message}. Given value: ${value}`]);
|
|
16
|
-
case "Map":
|
|
17
|
-
return join([`Map<${indexPath}, ${modelName}>${deepPaths}`, ` ${error.message}. Given value: ${value}`]);
|
|
18
|
-
case "Set":
|
|
19
|
-
return join([`Set<${indexPath}, ${modelName}>${deepPaths}`, ` ${error.message}. Given value: ${value}`]);
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
return join([
|
|
23
|
-
!error.modelName && "Value",
|
|
24
|
-
`${error.modelName || ""}`,
|
|
25
|
-
(!error?.params?.missingProperty && error.dataPath) ||
|
|
26
|
-
(error?.params?.missingProperty && (error.instancePath || "").replace(/\//g, ".")),
|
|
27
|
-
` ${error.message}. Given value: ${value}`
|
|
28
|
-
]);
|
|
29
|
-
}
|
|
30
|
-
exports.defaultErrorFormatter = defaultErrorFormatter;
|
|
31
|
-
//# sourceMappingURL=defaultErrorFormatter.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"defaultErrorFormatter.js","sourceRoot":"","sources":["../../../src/utils/defaultErrorFormatter.ts"],"names":[],"mappings":";;;AACA,6CAAsD;AAEtD,SAAgB,qBAAqB,CAAC,KAA0C;IAC9E,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAClF,MAAM,IAAI,GAAG,CAAC,IAAW,EAAU,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAE3E,MAAM,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC,GAAG,IAAA,4BAAe,EAAC,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAClE,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAE5D,KAAK,CAAC,QAAQ,GAAG,IAAA,oBAAO,EAAC,KAAK,CAAC,CAAC;IAEhC,IAAI,KAAK,CAAC,cAAc,EAAE;QACxB,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,IAAI,EAAE,CAAC;QAExC,QAAQ,KAAK,CAAC,cAAc,EAAE;YAC5B,KAAK,OAAO;gBACV,OAAO,IAAI,CAAC,CAAC,GAAG,SAAS,IAAI,SAAS,IAAI,SAAS,EAAE,EAAE,IAAI,KAAK,CAAC,OAAO,kBAAkB,KAAK,EAAE,CAAC,CAAC,CAAC;YACtG,KAAK,KAAK;gBACR,OAAO,IAAI,CAAC,CAAC,OAAO,SAAS,KAAK,SAAS,IAAI,SAAS,EAAE,EAAE,IAAI,KAAK,CAAC,OAAO,kBAAkB,KAAK,EAAE,CAAC,CAAC,CAAC;YAC3G,KAAK,KAAK;gBACR,OAAO,IAAI,CAAC,CAAC,OAAO,SAAS,KAAK,SAAS,IAAI,SAAS,EAAE,EAAE,IAAI,KAAK,CAAC,OAAO,kBAAkB,KAAK,EAAE,CAAC,CAAC,CAAC;SAC5G;KACF;IAED,OAAO,IAAI,CAAC;QACV,CAAC,KAAK,CAAC,SAAS,IAAI,OAAO;QAC3B,GAAG,KAAK,CAAC,SAAS,IAAI,EAAE,EAAE;QAC1B,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,eAAe,IAAI,KAAK,CAAC,QAAQ,CAAC;YACjD,CAAC,KAAK,EAAE,MAAM,EAAE,eAAe,IAAI,CAAC,KAAK,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QACpF,IAAI,KAAK,CAAC,OAAO,kBAAkB,KAAK,EAAE;KAC3C,CAAC,CAAC;AACL,CAAC;AA7BD,sDA6BC"}
|
package/lib/cjs/utils/getPath.js
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getInstancePath = exports.getPath = void 0;
|
|
4
|
-
const core_1 = require("@tsed/core");
|
|
5
|
-
function getPath(error) {
|
|
6
|
-
if (error.params && error.params.missingProperty) {
|
|
7
|
-
return `.${error.params.missingProperty}`;
|
|
8
|
-
}
|
|
9
|
-
return getInstancePath(error);
|
|
10
|
-
}
|
|
11
|
-
exports.getPath = getPath;
|
|
12
|
-
function getInstancePath(error) {
|
|
13
|
-
return (0, core_1.getValue)(error, "dataPath", (0, core_1.getValue)(error, "instancePath", "")).replace(/\//gi, ".");
|
|
14
|
-
}
|
|
15
|
-
exports.getInstancePath = getInstancePath;
|
|
16
|
-
//# sourceMappingURL=getPath.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getPath.js","sourceRoot":"","sources":["../../../src/utils/getPath.ts"],"names":[],"mappings":";;;AAAA,qCAAoC;AAEpC,SAAgB,OAAO,CAAC,KAAU;IAChC,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,eAAe,EAAE;QAChD,OAAO,IAAI,KAAK,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;KAC3C;IAED,OAAO,eAAe,CAAC,KAAK,CAAC,CAAC;AAChC,CAAC;AAND,0BAMC;AAED,SAAgB,eAAe,CAAC,KAAU;IACxC,OAAO,IAAA,eAAQ,EAAC,KAAK,EAAE,UAAU,EAAE,IAAA,eAAQ,EAAC,KAAK,EAAE,cAAc,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAC/F,CAAC;AAFD,0CAEC"}
|
package/lib/esm/package.json
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { AsyncFormatDefinition, FormatDefinition } from "ajv";
|
|
2
|
-
export type FormatsOptions = Omit<FormatDefinition<any>, "validate" | "compare"> | Omit<AsyncFormatDefinition<any>, "validate" | "compare">;
|
|
3
|
-
/**
|
|
4
|
-
* Create a new custom formats validator
|
|
5
|
-
* @param name
|
|
6
|
-
* @param options
|
|
7
|
-
* @decorator
|
|
8
|
-
* @ajv
|
|
9
|
-
*/
|
|
10
|
-
export declare function Formats(name: string, options?: FormatsOptions): ClassDecorator;
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { JsonSchema } from "@tsed/schema";
|
|
2
|
-
import { AnySchemaObject, KeywordDefinition } from "ajv";
|
|
3
|
-
export type KeywordOptions = Partial<Omit<KeywordDefinition, "metaSchema">> & {
|
|
4
|
-
metaSchema?: AnySchemaObject | JsonSchema;
|
|
5
|
-
};
|
|
6
|
-
/**
|
|
7
|
-
* Create new keyword custom validator
|
|
8
|
-
* @param options
|
|
9
|
-
* @decorator
|
|
10
|
-
* @ajv
|
|
11
|
-
*/
|
|
12
|
-
export declare function Keyword(options: KeywordOptions): ClassDecorator;
|
package/lib/types-esm/index.d.ts
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @file Automatically generated by @tsed/barrels.
|
|
3
|
-
*/
|
|
4
|
-
export * from "./decorators/formats.js";
|
|
5
|
-
export * from "./decorators/keyword.js";
|
|
6
|
-
export * from "./errors/AjvValidationError.js";
|
|
7
|
-
export * from "./interfaces/FormatsMethods.js";
|
|
8
|
-
export * from "./interfaces/IAjvSettings.js";
|
|
9
|
-
export * from "./interfaces/interfaces.js";
|
|
10
|
-
export * from "./interfaces/KeywordMethods.js";
|
|
11
|
-
export * from "./services/Ajv.js";
|
|
12
|
-
export * from "./services/AjvService.js";
|
|
13
|
-
export * from "./utils/defaultErrorFormatter.js";
|
|
14
|
-
export * from "./utils/getPath.js";
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { ErrorObject, Options } from "ajv";
|
|
2
|
-
/**
|
|
3
|
-
*
|
|
4
|
-
*/
|
|
5
|
-
export interface AjvErrorObject extends ErrorObject {
|
|
6
|
-
modelName: string;
|
|
7
|
-
collectionName?: string;
|
|
8
|
-
}
|
|
9
|
-
/**
|
|
10
|
-
*
|
|
11
|
-
*/
|
|
12
|
-
export type ErrorFormatter = (error: AjvErrorObject) => string;
|
|
13
|
-
/**
|
|
14
|
-
*
|
|
15
|
-
*/
|
|
16
|
-
export interface IAjvSettings extends Options {
|
|
17
|
-
Ajv?: any;
|
|
18
|
-
errorFormatter?: ErrorFormatter;
|
|
19
|
-
returnsCoercedValues?: boolean;
|
|
20
|
-
}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { AnySchemaObject, KeywordCxt, SchemaObjCxt, ValidateFunction } from "ajv";
|
|
2
|
-
export interface AjvDataValidationCtx<T extends string | number = string | number> {
|
|
3
|
-
dataPath: string;
|
|
4
|
-
parentData: {
|
|
5
|
-
[K in T]: any;
|
|
6
|
-
};
|
|
7
|
-
parentDataProperty: T;
|
|
8
|
-
rootData: Record<string, any> | any[];
|
|
9
|
-
dynamicAnchors: {
|
|
10
|
-
[Ref in string]?: ValidateFunction;
|
|
11
|
-
};
|
|
12
|
-
}
|
|
13
|
-
export interface AjvDataValidateFunction {
|
|
14
|
-
(...args: Parameters<ValidateFunction>): boolean | Promise<any>;
|
|
15
|
-
}
|
|
16
|
-
export interface AjvSchemaValidateFunction {
|
|
17
|
-
(schema: any, data: any, parentSchema?: AnySchemaObject, dataCxt?: AjvDataValidationCtx): boolean | Promise<any>;
|
|
18
|
-
}
|
|
19
|
-
export interface KeywordMethods {
|
|
20
|
-
code?: (cxt: KeywordCxt, ruleType?: string) => void;
|
|
21
|
-
compile?: (schema: any, parentSchema: AnySchemaObject, it: SchemaObjCxt) => AjvDataValidateFunction;
|
|
22
|
-
validate?: AjvSchemaValidateFunction | AjvDataValidateFunction;
|
|
23
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { Type } from "@tsed/core";
|
|
2
|
-
import { JsonSchema, JsonSchemaObject } from "@tsed/schema";
|
|
3
|
-
import Ajv, { ErrorObject } from "ajv";
|
|
4
|
-
import { AjvValidationError } from "../errors/AjvValidationError.js";
|
|
5
|
-
import { AjvErrorObject, ErrorFormatter } from "../interfaces/IAjvSettings.js";
|
|
6
|
-
import "./Ajv";
|
|
7
|
-
export interface AjvValidateOptions extends Record<string, any> {
|
|
8
|
-
schema?: JsonSchema | Partial<JsonSchemaObject>;
|
|
9
|
-
type?: Type<any> | any;
|
|
10
|
-
collectionType?: Type<any> | any;
|
|
11
|
-
}
|
|
12
|
-
export declare class AjvService {
|
|
13
|
-
protected errorFormatter: ErrorFormatter;
|
|
14
|
-
protected returnsCoercedValues: boolean;
|
|
15
|
-
protected ajv: Ajv;
|
|
16
|
-
validate(value: any, options: AjvValidateOptions | JsonSchema): Promise<any>;
|
|
17
|
-
protected mapOptions(options: AjvValidateOptions | JsonSchema): AjvValidateOptions;
|
|
18
|
-
protected mapErrors(errors: ErrorObject[], options: any): AjvValidationError;
|
|
19
|
-
protected mapClassError(error: AjvErrorObject, targetType: Type<any>): string | undefined;
|
|
20
|
-
}
|