@eggjs/typebox-validate 4.0.0-beta.27 → 4.0.0-beta.29
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/decorator.d.ts +18 -2
- package/dist/decorator.js +16 -1
- package/package.json +10 -10
package/dist/decorator.d.ts
CHANGED
|
@@ -4,6 +4,22 @@ import type { ErrorObject } from 'ajv/dist/2019.js';
|
|
|
4
4
|
type CustomErrorMessage = (ctx: Context, errors: ErrorObject[]) => string;
|
|
5
5
|
type GetData = (ctx: Context, args: unknown[]) => unknown;
|
|
6
6
|
export type ValidateRule = [TSchema, GetData, CustomErrorMessage?];
|
|
7
|
-
export
|
|
8
|
-
|
|
7
|
+
export type ValidateDecorator = (rules: ValidateRule[]) => MethodDecorator;
|
|
8
|
+
/**
|
|
9
|
+
* Validate decorator factory
|
|
10
|
+
*/
|
|
11
|
+
export declare function ValidateFactory(customHandler: (ctx: Context, data?: unknown, schema?: TSchema, customError?: CustomErrorMessage) => void): ValidateDecorator;
|
|
12
|
+
/**
|
|
13
|
+
* Validate decorator
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* ```ts
|
|
17
|
+
* @Validate([[paramsSchema, ctx => ctx.params]])
|
|
18
|
+
* async index() {
|
|
19
|
+
* const { ctx } = this;
|
|
20
|
+
* ctx.body = ctx.params;
|
|
21
|
+
* }
|
|
22
|
+
* ```
|
|
23
|
+
*/
|
|
24
|
+
export declare const Validate: ValidateDecorator;
|
|
9
25
|
export {};
|
package/dist/decorator.js
CHANGED
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Validate decorator factory
|
|
3
|
+
*/
|
|
1
4
|
export function ValidateFactory(customHandler) {
|
|
2
5
|
return function Validate(rules) {
|
|
3
6
|
return (_, __, descriptor) => {
|
|
@@ -18,6 +21,18 @@ export function ValidateFactory(customHandler) {
|
|
|
18
21
|
};
|
|
19
22
|
};
|
|
20
23
|
}
|
|
24
|
+
/**
|
|
25
|
+
* Validate decorator
|
|
26
|
+
*
|
|
27
|
+
* @example
|
|
28
|
+
* ```ts
|
|
29
|
+
* @Validate([[paramsSchema, ctx => ctx.params]])
|
|
30
|
+
* async index() {
|
|
31
|
+
* const { ctx } = this;
|
|
32
|
+
* ctx.body = ctx.params;
|
|
33
|
+
* }
|
|
34
|
+
* ```
|
|
35
|
+
*/
|
|
21
36
|
export const Validate = ValidateFactory((ctx, data, schema, customError) => {
|
|
22
37
|
const app = ctx.app;
|
|
23
38
|
const message = customError ? customError(ctx, app.ajv.errors) : 'Validation Failed';
|
|
@@ -28,4 +43,4 @@ export const Validate = ValidateFactory((ctx, data, schema, customError) => {
|
|
|
28
43
|
errors: app.ajv.errors,
|
|
29
44
|
});
|
|
30
45
|
});
|
|
31
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjb3JhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2RlY29yYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFXQTs7R0FFRztBQUNILE1BQU0sVUFBVSxlQUFlLENBQzdCLGFBQXlHO0lBRXpHLE9BQU8sU0FBUyxRQUFRLENBQUMsS0FBcUI7UUFDNUMsT0FBTyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsVUFBOEIsRUFBc0IsRUFBRTtZQUNuRSxNQUFNLEVBQUUsR0FBRyxVQUFVLENBQUMsS0FBSyxDQUFDO1lBQzVCLFVBQVUsQ0FBQyxLQUFLLEdBQUcsS0FBSyxXQUFXLEdBQUcsSUFBZTtnQkFDbkQsTUFBTSxFQUFFLEdBQUcsRUFBRSxHQUFHLElBQXdCLENBQUM7Z0JBQ3pDLEtBQUssTUFBTSxJQUFJLElBQUksS0FBSyxFQUFFLENBQUM7b0JBQ3pCLE1BQU0sQ0FBQyxNQUFNLEVBQUUsT0FBTyxFQUFFLFdBQVcsQ0FBQyxHQUFHLElBQUksQ0FBQztvQkFDNUMsTUFBTSxJQUFJLEdBQUcsT0FBTyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQztvQkFDaEMsTUFBTSxLQUFLLEdBQUcsR0FBRyxDQUFDLHFCQUFxQixDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztvQkFDdEQsSUFBSSxDQUFDLEtBQUssSUFBSSxhQUFhLEVBQUUsQ0FBQzt3QkFDNUIsT0FBTyxhQUFhLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsV0FBVyxDQUFDLENBQUM7b0JBQ3ZELENBQUM7Z0JBQ0gsQ0FBQztnQkFDRCxPQUFPLE1BQU0sRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDcEMsQ0FBQyxDQUFDO1lBQ0YsT0FBTyxVQUFVLENBQUM7UUFDcEIsQ0FBQyxDQUFDO0lBQ0osQ0FBQyxDQUFDO0FBQ0osQ0FBQztBQUVEOzs7Ozs7Ozs7OztHQVdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sUUFBUSxHQUFzQixlQUFlLENBQUMsQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsRUFBRTtJQUM1RixNQUFNLEdBQUcsR0FBRyxHQUFHLENBQUMsR0FBRyxDQUFDO0lBQ3BCLE1BQU0sT0FBTyxHQUFHLFdBQVcsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsR0FBRyxDQUFDLE1BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQztJQUN0RixHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxPQUFPLEVBQUU7UUFDdEIsSUFBSSxFQUFFLGVBQWU7UUFDckIsU0FBUyxFQUFFLElBQUk7UUFDZixhQUFhLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUM7UUFDckMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxHQUFHLENBQUMsTUFBTTtLQUN2QixDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyJ9
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@eggjs/typebox-validate",
|
|
3
|
-
"version": "4.0.0-beta.
|
|
3
|
+
"version": "4.0.0-beta.29",
|
|
4
4
|
"description": "another validate for typescript egg projects",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"eggPlugin": {
|
|
@@ -52,19 +52,19 @@
|
|
|
52
52
|
"ajv-keywords": "^5.1.0"
|
|
53
53
|
},
|
|
54
54
|
"peerDependencies": {
|
|
55
|
-
"egg": "4.1.0-beta.
|
|
55
|
+
"egg": "4.1.0-beta.29"
|
|
56
56
|
},
|
|
57
57
|
"devDependencies": {
|
|
58
|
-
"@types/node": "^24.
|
|
59
|
-
"oxlint": "^1.
|
|
58
|
+
"@types/node": "^24.8.1",
|
|
59
|
+
"oxlint": "^1.23.0",
|
|
60
60
|
"rimraf": "^6.0.1",
|
|
61
|
-
"semver": "^7.7.
|
|
62
|
-
"tsdown": "
|
|
61
|
+
"semver": "^7.7.3",
|
|
62
|
+
"tsdown": "0.15.6",
|
|
63
63
|
"typescript": "^5.9.3",
|
|
64
|
-
"vitest": "4.0.0-beta.
|
|
65
|
-
"@eggjs/mock": "7.0.0-beta.
|
|
66
|
-
"@eggjs/tsconfig": "3.1.0-beta.
|
|
67
|
-
"egg": "4.1.0-beta.
|
|
64
|
+
"vitest": "4.0.0-beta.18",
|
|
65
|
+
"@eggjs/mock": "7.0.0-beta.29",
|
|
66
|
+
"@eggjs/tsconfig": "3.1.0-beta.29",
|
|
67
|
+
"egg": "4.1.0-beta.29"
|
|
68
68
|
},
|
|
69
69
|
"main": "./dist/index.js",
|
|
70
70
|
"module": "./dist/index.js",
|