@eggjs/ajv-decorator 3.38.0 → 3.39.0-alpha.2
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/src/error/AjvInvalidParamError.js +4 -1
- package/esm/index.d.ts +4 -0
- package/esm/index.js +5 -0
- package/esm/src/enum/TransformEnum.d.ts +45 -0
- package/esm/src/enum/TransformEnum.js +47 -0
- package/esm/src/error/AjvInvalidParamError.d.ts +12 -0
- package/esm/src/error/AjvInvalidParamError.js +13 -0
- package/esm/src/type/Ajv.d.ts +4 -0
- package/esm/src/type/Ajv.js +2 -0
- package/package.json +63 -6
|
@@ -2,6 +2,9 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.AjvInvalidParamError = void 0;
|
|
4
4
|
class AjvInvalidParamError extends Error {
|
|
5
|
+
errorData;
|
|
6
|
+
currentSchema;
|
|
7
|
+
errors;
|
|
5
8
|
constructor(message, options) {
|
|
6
9
|
super(message);
|
|
7
10
|
this.name = this.constructor.name;
|
|
@@ -11,4 +14,4 @@ class AjvInvalidParamError extends Error {
|
|
|
11
14
|
}
|
|
12
15
|
}
|
|
13
16
|
exports.AjvInvalidParamError = AjvInvalidParamError;
|
|
14
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQWp2SW52YWxpZFBhcmFtRXJyb3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZXJyb3IvQWp2SW52YWxpZFBhcmFtRXJyb3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBUUEsTUFBYSxvQkFBcUIsU0FBUSxLQUFLO0lBQzdDLFNBQVMsQ0FBVTtJQUNuQixhQUFhLENBQVM7SUFDdEIsTUFBTSxDQUFnQjtJQUV0QixZQUFZLE9BQWUsRUFBRSxPQUFvQztRQUMvRCxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDZixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDO1FBQ2xDLElBQUksQ0FBQyxTQUFTLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQztRQUNuQyxJQUFJLENBQUMsYUFBYSxHQUFHLE9BQU8sQ0FBQyxhQUFhLENBQUM7UUFDM0MsSUFBSSxDQUFDLE1BQU0sR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDO0lBQy9CLENBQUM7Q0FDRjtBQVpELG9EQVlDIn0=
|
package/esm/index.d.ts
ADDED
package/esm/index.js
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export * from '@sinclair/typebox';
|
|
2
|
+
export * from './src/enum/TransformEnum';
|
|
3
|
+
export * from './src/error/AjvInvalidParamError';
|
|
4
|
+
export * from './src/type/Ajv';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLGdCQUFnQixDQUFDIn0=
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This keyword allows a string to be modified during validation.
|
|
3
|
+
* This keyword applies only to strings. If the data is not a string, the transform keyword is ignored.
|
|
4
|
+
* @see https://github.com/ajv-validator/ajv-keywords?tab=readme-ov-file#transform
|
|
5
|
+
*/
|
|
6
|
+
export declare enum TransformEnum {
|
|
7
|
+
/** remove whitespace from start and end */
|
|
8
|
+
trim = "trim",
|
|
9
|
+
/** remove whitespace from start */
|
|
10
|
+
trimStart = "trimStart",
|
|
11
|
+
/**
|
|
12
|
+
* @alias trimStart
|
|
13
|
+
*/
|
|
14
|
+
trimLeft = "trimLeft",
|
|
15
|
+
/** remove whitespace from end */
|
|
16
|
+
trimEnd = "trimEnd",
|
|
17
|
+
/**
|
|
18
|
+
* @alias trimEnd
|
|
19
|
+
*/
|
|
20
|
+
trimRight = "trimRight",
|
|
21
|
+
/** convert to lower case */
|
|
22
|
+
toLowerCase = "toLowerCase",
|
|
23
|
+
/** convert to upper case */
|
|
24
|
+
toUpperCase = "toUpperCase",
|
|
25
|
+
/**
|
|
26
|
+
* change string case to be equal to one of `enum` values in the schema
|
|
27
|
+
*
|
|
28
|
+
* **NOTE**: requires that all allowed values are unique when case insensitive
|
|
29
|
+
* ```ts
|
|
30
|
+
* const schema = {
|
|
31
|
+
* type: "array",
|
|
32
|
+
* items: {
|
|
33
|
+
* type: "string",
|
|
34
|
+
* transform: ["trim", Transform.toEnumCase],
|
|
35
|
+
* enum: ["pH"],
|
|
36
|
+
* },
|
|
37
|
+
* };
|
|
38
|
+
*
|
|
39
|
+
* const data = ["ph", " Ph", "PH", "pH "];
|
|
40
|
+
* ajv.validate(schema, data);
|
|
41
|
+
* console.log(data) // ['pH','pH','pH','pH'];
|
|
42
|
+
* ```
|
|
43
|
+
*/
|
|
44
|
+
toEnumCase = "toEnumCase"
|
|
45
|
+
}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This keyword allows a string to be modified during validation.
|
|
3
|
+
* This keyword applies only to strings. If the data is not a string, the transform keyword is ignored.
|
|
4
|
+
* @see https://github.com/ajv-validator/ajv-keywords?tab=readme-ov-file#transform
|
|
5
|
+
*/
|
|
6
|
+
export var TransformEnum;
|
|
7
|
+
(function (TransformEnum) {
|
|
8
|
+
/** remove whitespace from start and end */
|
|
9
|
+
TransformEnum["trim"] = "trim";
|
|
10
|
+
/** remove whitespace from start */
|
|
11
|
+
TransformEnum["trimStart"] = "trimStart";
|
|
12
|
+
/**
|
|
13
|
+
* @alias trimStart
|
|
14
|
+
*/
|
|
15
|
+
TransformEnum["trimLeft"] = "trimLeft";
|
|
16
|
+
/** remove whitespace from end */
|
|
17
|
+
TransformEnum["trimEnd"] = "trimEnd";
|
|
18
|
+
/**
|
|
19
|
+
* @alias trimEnd
|
|
20
|
+
*/
|
|
21
|
+
TransformEnum["trimRight"] = "trimRight";
|
|
22
|
+
/** convert to lower case */
|
|
23
|
+
TransformEnum["toLowerCase"] = "toLowerCase";
|
|
24
|
+
/** convert to upper case */
|
|
25
|
+
TransformEnum["toUpperCase"] = "toUpperCase";
|
|
26
|
+
/**
|
|
27
|
+
* change string case to be equal to one of `enum` values in the schema
|
|
28
|
+
*
|
|
29
|
+
* **NOTE**: requires that all allowed values are unique when case insensitive
|
|
30
|
+
* ```ts
|
|
31
|
+
* const schema = {
|
|
32
|
+
* type: "array",
|
|
33
|
+
* items: {
|
|
34
|
+
* type: "string",
|
|
35
|
+
* transform: ["trim", Transform.toEnumCase],
|
|
36
|
+
* enum: ["pH"],
|
|
37
|
+
* },
|
|
38
|
+
* };
|
|
39
|
+
*
|
|
40
|
+
* const data = ["ph", " Ph", "PH", "pH "];
|
|
41
|
+
* ajv.validate(schema, data);
|
|
42
|
+
* console.log(data) // ['pH','pH','pH','pH'];
|
|
43
|
+
* ```
|
|
44
|
+
*/
|
|
45
|
+
TransformEnum["toEnumCase"] = "toEnumCase";
|
|
46
|
+
})(TransformEnum || (TransformEnum = {}));
|
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVHJhbnNmb3JtRW51bS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbnVtL1RyYW5zZm9ybUVudW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7R0FJRztBQUNILE1BQU0sQ0FBTixJQUFZLGFBdUNYO0FBdkNELFdBQVksYUFBYTtJQUN2QiwyQ0FBMkM7SUFDM0MsOEJBQWEsQ0FBQTtJQUNiLG1DQUFtQztJQUNuQyx3Q0FBdUIsQ0FBQTtJQUN2Qjs7T0FFRztJQUNILHNDQUFxQixDQUFBO0lBQ3JCLGlDQUFpQztJQUNqQyxvQ0FBbUIsQ0FBQTtJQUNuQjs7T0FFRztJQUNILHdDQUF1QixDQUFBO0lBQ3ZCLDRCQUE0QjtJQUM1Qiw0Q0FBMkIsQ0FBQTtJQUMzQiw0QkFBNEI7SUFDNUIsNENBQTJCLENBQUE7SUFDM0I7Ozs7Ozs7Ozs7Ozs7Ozs7OztPQWtCRztJQUNILDBDQUF5QixDQUFBO0FBQzNCLENBQUMsRUF2Q1csYUFBYSxLQUFiLGFBQWEsUUF1Q3hCIn0=
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { type ErrorObject } from 'ajv/dist/2019';
|
|
2
|
+
export interface AjvInvalidParamErrorOptions {
|
|
3
|
+
errorData: unknown;
|
|
4
|
+
currentSchema: string;
|
|
5
|
+
errors: ErrorObject[];
|
|
6
|
+
}
|
|
7
|
+
export declare class AjvInvalidParamError extends Error {
|
|
8
|
+
errorData: unknown;
|
|
9
|
+
currentSchema: string;
|
|
10
|
+
errors: ErrorObject[];
|
|
11
|
+
constructor(message: string, options: AjvInvalidParamErrorOptions);
|
|
12
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export class AjvInvalidParamError extends Error {
|
|
2
|
+
errorData;
|
|
3
|
+
currentSchema;
|
|
4
|
+
errors;
|
|
5
|
+
constructor(message, options) {
|
|
6
|
+
super(message);
|
|
7
|
+
this.name = this.constructor.name;
|
|
8
|
+
this.errorData = options.errorData;
|
|
9
|
+
this.currentSchema = options.currentSchema;
|
|
10
|
+
this.errors = options.errors;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQWp2SW52YWxpZFBhcmFtRXJyb3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZXJyb3IvQWp2SW52YWxpZFBhcmFtRXJyb3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBUUEsTUFBTSxPQUFPLG9CQUFxQixTQUFRLEtBQUs7SUFDN0MsU0FBUyxDQUFVO0lBQ25CLGFBQWEsQ0FBUztJQUN0QixNQUFNLENBQWdCO0lBRXRCLFlBQVksT0FBZSxFQUFFLE9BQW9DO1FBQy9ELEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNmLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUM7UUFDbEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDO1FBQ25DLElBQUksQ0FBQyxhQUFhLEdBQUcsT0FBTyxDQUFDLGFBQWEsQ0FBQztRQUMzQyxJQUFJLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUM7SUFDL0IsQ0FBQztDQUNGIn0=
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@eggjs/ajv-decorator",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.39.0-alpha.2",
|
|
4
4
|
"description": "tegg ajv decorator",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"egg",
|
|
@@ -12,14 +12,18 @@
|
|
|
12
12
|
"main": "dist/index.js",
|
|
13
13
|
"files": [
|
|
14
14
|
"dist/**/*.js",
|
|
15
|
-
"dist/**/*.d.ts"
|
|
15
|
+
"dist/**/*.d.ts",
|
|
16
|
+
"esm/**/*.js",
|
|
17
|
+
"esm/**/*.d.ts"
|
|
16
18
|
],
|
|
17
19
|
"typings": "dist/index.d.ts",
|
|
18
20
|
"scripts": {
|
|
19
21
|
"test": "cross-env NODE_ENV=test NODE_OPTIONS='--no-deprecation' mocha",
|
|
20
|
-
"clean": "tsc -b --clean",
|
|
22
|
+
"clean": "tsc -b --clean && npm run clean:esm",
|
|
23
|
+
"clean:esm": "node ../../scripts/clean-esm.js",
|
|
21
24
|
"tsc": "npm run clean && tsc -p ./tsconfig.json",
|
|
22
|
-
"tsc:
|
|
25
|
+
"tsc:esm": "npm run clean:esm && node ../../scripts/build-esm.js &&tsc -p ./tsconfig.esm.json",
|
|
26
|
+
"tsc:pub": "npm run clean && tsc -p ./tsconfig.pub.json && npm run tsc:esm",
|
|
23
27
|
"prepublishOnly": "npm run tsc:pub"
|
|
24
28
|
},
|
|
25
29
|
"license": "MIT",
|
|
@@ -50,5 +54,58 @@
|
|
|
50
54
|
"ts-node": "^10.9.1",
|
|
51
55
|
"typescript": "^5.0.4"
|
|
52
56
|
},
|
|
53
|
-
"gitHead": "
|
|
54
|
-
|
|
57
|
+
"gitHead": "748a7d5836806a04fa5e39b3f78641de0d5f5e79",
|
|
58
|
+
"module": "esm/index.js",
|
|
59
|
+
"exports": {
|
|
60
|
+
".": {
|
|
61
|
+
"import": {
|
|
62
|
+
"types": "./esm/index.d.ts",
|
|
63
|
+
"default": "./esm/index.js"
|
|
64
|
+
},
|
|
65
|
+
"require": {
|
|
66
|
+
"types": "./dist/index.d.ts",
|
|
67
|
+
"default": "./dist/index.js"
|
|
68
|
+
}
|
|
69
|
+
},
|
|
70
|
+
"./*": {
|
|
71
|
+
"import": {
|
|
72
|
+
"types": "./esm/*.d.ts",
|
|
73
|
+
"default": "./esm/*.js"
|
|
74
|
+
},
|
|
75
|
+
"require": {
|
|
76
|
+
"types": "./dist/*.d.ts",
|
|
77
|
+
"default": "./dist/*.js"
|
|
78
|
+
}
|
|
79
|
+
},
|
|
80
|
+
"./src/enum/*": {
|
|
81
|
+
"import": {
|
|
82
|
+
"types": "./esm/src/enum/*.d.ts",
|
|
83
|
+
"default": "./esm/src/enum/*.js"
|
|
84
|
+
},
|
|
85
|
+
"require": {
|
|
86
|
+
"types": "./lib/enum/*.d.ts",
|
|
87
|
+
"default": "./lib/enum/*.js"
|
|
88
|
+
}
|
|
89
|
+
},
|
|
90
|
+
"./src/error/*": {
|
|
91
|
+
"import": {
|
|
92
|
+
"types": "./esm/src/error/*.d.ts",
|
|
93
|
+
"default": "./esm/src/error/*.js"
|
|
94
|
+
},
|
|
95
|
+
"require": {
|
|
96
|
+
"types": "./lib/error/*.d.ts",
|
|
97
|
+
"default": "./lib/error/*.js"
|
|
98
|
+
}
|
|
99
|
+
},
|
|
100
|
+
"./src/type/*": {
|
|
101
|
+
"import": {
|
|
102
|
+
"types": "./esm/src/type/*.d.ts",
|
|
103
|
+
"default": "./esm/src/type/*.js"
|
|
104
|
+
},
|
|
105
|
+
"require": {
|
|
106
|
+
"types": "./lib/type/*.d.ts",
|
|
107
|
+
"default": "./lib/type/*.js"
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
}
|