@midwayjs/validate 3.10.5 → 3.10.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/dist/constants.d.ts +1 -0
- package/dist/constants.js +2 -1
- package/dist/decorator/rule.d.ts +10 -3
- package/dist/decorator/rule.js +16 -22
- package/package.json +7 -7
package/dist/constants.d.ts
CHANGED
package/dist/constants.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.VALID_KEY = exports.VALIDATE_KEY = exports.RULES_KEY = void 0;
|
|
3
|
+
exports.VALID_KEY = exports.VALIDATE_KEY = exports.RULES_CLASS_KEY = exports.RULES_KEY = void 0;
|
|
4
4
|
exports.RULES_KEY = 'common:rules';
|
|
5
|
+
exports.RULES_CLASS_KEY = 'common:class_rules';
|
|
5
6
|
exports.VALIDATE_KEY = 'common:validate';
|
|
6
7
|
exports.VALID_KEY = 'validate:valid';
|
|
7
8
|
//# sourceMappingURL=constants.js.map
|
package/dist/decorator/rule.d.ts
CHANGED
|
@@ -1,9 +1,16 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as Joi from 'joi';
|
|
2
|
+
/**
|
|
3
|
+
* @deprecated
|
|
4
|
+
*/
|
|
2
5
|
export interface RuleOptions {
|
|
3
6
|
required?: boolean;
|
|
4
7
|
min?: number;
|
|
5
8
|
max?: number;
|
|
6
9
|
}
|
|
7
|
-
export declare function Rule(rule: any
|
|
8
|
-
|
|
10
|
+
export declare function Rule(rule: Joi.AnySchema<any>): PropertyDecorator & ClassDecorator;
|
|
11
|
+
/**
|
|
12
|
+
* @deprecated
|
|
13
|
+
*/
|
|
14
|
+
export declare function Rule(rule: new (...args: any[]) => any, options?: RuleOptions): PropertyDecorator & ClassDecorator;
|
|
15
|
+
export { Joi as RuleType };
|
|
9
16
|
//# sourceMappingURL=rule.d.ts.map
|
package/dist/decorator/rule.js
CHANGED
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.RuleType = exports.Rule = void 0;
|
|
4
|
-
const
|
|
5
|
-
exports.RuleType =
|
|
4
|
+
const Joi = require("joi");
|
|
5
|
+
exports.RuleType = Joi;
|
|
6
6
|
const core_1 = require("@midwayjs/core");
|
|
7
7
|
const constants_1 = require("../constants");
|
|
8
8
|
function Rule(rule, options = { required: true }) {
|
|
9
|
-
return function (
|
|
10
|
-
if (
|
|
11
|
-
//
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
rule =
|
|
15
|
-
|
|
16
|
-
|
|
9
|
+
return function (target, propertyKey) {
|
|
10
|
+
if (propertyKey) {
|
|
11
|
+
// property decorator
|
|
12
|
+
if (!Joi.isSchema(rule)) {
|
|
13
|
+
// 老代码,待废弃
|
|
14
|
+
rule = Joi.object((0, core_1.getClassMetadata)(constants_1.RULES_KEY, rule)).meta({
|
|
15
|
+
id: rule.name,
|
|
16
|
+
});
|
|
17
17
|
if ((0, core_1.getPropertyType)(target, propertyKey).name === 'Array') {
|
|
18
|
-
rule =
|
|
18
|
+
rule = Joi.array().items(rule);
|
|
19
19
|
if (options.min) {
|
|
20
20
|
rule = rule.min(options.min);
|
|
21
21
|
}
|
|
@@ -30,17 +30,11 @@ function Rule(rule, options = { required: true }) {
|
|
|
30
30
|
(0, core_1.attachClassMetadata)(constants_1.RULES_KEY, rule, target, propertyKey);
|
|
31
31
|
}
|
|
32
32
|
else {
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
Object.keys(rules).map(item => {
|
|
39
|
-
if (!currentRule[item]) {
|
|
40
|
-
currentRule[item] = rules[item];
|
|
41
|
-
}
|
|
42
|
-
});
|
|
43
|
-
(0, core_1.saveClassMetadata)(constants_1.RULES_KEY, currentRule, args[0]);
|
|
33
|
+
// class decorator
|
|
34
|
+
if (Joi.isSchema(rule)) {
|
|
35
|
+
// TODO 下一个大版本,metadata 这里要完全重构,临时先加一个后缀
|
|
36
|
+
// mix schema with property
|
|
37
|
+
// saveClassMetadata(RULES_CLASS_KEY + '_EXT', rule, target);
|
|
44
38
|
}
|
|
45
39
|
}
|
|
46
40
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@midwayjs/validate",
|
|
3
|
-
"version": "3.10.
|
|
3
|
+
"version": "3.10.6",
|
|
4
4
|
"description": "Midway Component for mongoose",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"typings": "index.d.ts",
|
|
@@ -23,14 +23,14 @@
|
|
|
23
23
|
},
|
|
24
24
|
"license": "MIT",
|
|
25
25
|
"dependencies": {
|
|
26
|
-
"@midwayjs/i18n": "^3.10.
|
|
26
|
+
"@midwayjs/i18n": "^3.10.6",
|
|
27
27
|
"joi": "^17.2.1"
|
|
28
28
|
},
|
|
29
29
|
"devDependencies": {
|
|
30
|
-
"@midwayjs/core": "^3.10.
|
|
31
|
-
"@midwayjs/express": "^3.10.
|
|
32
|
-
"@midwayjs/koa": "^3.10.
|
|
33
|
-
"@midwayjs/mock": "^3.10.
|
|
30
|
+
"@midwayjs/core": "^3.10.6",
|
|
31
|
+
"@midwayjs/express": "^3.10.6",
|
|
32
|
+
"@midwayjs/koa": "^3.10.6",
|
|
33
|
+
"@midwayjs/mock": "^3.10.6"
|
|
34
34
|
},
|
|
35
|
-
"gitHead": "
|
|
35
|
+
"gitHead": "9d5babd57efe4c24415fcb3511bc4ca7c1bcb1b2"
|
|
36
36
|
}
|