@anncic-api/validator 3.4.88 → 3.5.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/config/config.default.js +24 -1
- package/dist/configuration.js +80 -1
- package/dist/decorator/Rule.js +44 -1
- package/dist/decorator/Validator.js +22 -1
- package/dist/exception/ValidatorError.js +27 -1
- package/dist/helper/dtoHelper.js +31 -1
- package/dist/helper/getSchema.js +13 -1
- package/dist/index.js +32 -1
- package/dist/interface.js +6 -1
- package/dist/service/ValidatorService.js +99 -1
- package/package.json +3 -3
|
@@ -1 +1,24 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const ValidatorError_1 = require("../exception/ValidatorError");
|
|
4
|
+
exports.default = {
|
|
5
|
+
validator: {
|
|
6
|
+
errorStatus: ValidatorError_1.ValidatorError.PARAMS,
|
|
7
|
+
validationOptions: {
|
|
8
|
+
allowUnknown: true,
|
|
9
|
+
stripUnknown: true,
|
|
10
|
+
dateFormat: 'string'
|
|
11
|
+
},
|
|
12
|
+
},
|
|
13
|
+
i18n: {
|
|
14
|
+
localeTable: {
|
|
15
|
+
en_US: {
|
|
16
|
+
validator: require('../../locales/en_US.json'),
|
|
17
|
+
},
|
|
18
|
+
zh_CN: {
|
|
19
|
+
validator: require('../../locales/zh_CN.json'),
|
|
20
|
+
},
|
|
21
|
+
},
|
|
22
|
+
},
|
|
23
|
+
};
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmRlZmF1bHQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29uZmlnL2NvbmZpZy5kZWZhdWx0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsZ0VBQTREO0FBQzVELGtCQUFlO0lBQ1gsU0FBUyxFQUFDO1FBQ04sV0FBVyxFQUFFLCtCQUFjLENBQUMsTUFBTTtRQUNsQyxpQkFBaUIsRUFBRTtZQUNmLFlBQVksRUFBRSxJQUFJO1lBQ2xCLFlBQVksRUFBRSxJQUFJO1lBQ2xCLFVBQVUsRUFBRSxRQUFRO1NBQ3ZCO0tBQ0o7SUFFRCxJQUFJLEVBQUM7UUFDRCxXQUFXLEVBQUU7WUFDVCxLQUFLLEVBQUU7Z0JBQ0gsU0FBUyxFQUFFLE9BQU8sQ0FBQywwQkFBMEIsQ0FBQzthQUNqRDtZQUNELEtBQUssRUFBRTtnQkFDSCxTQUFTLEVBQUUsT0FBTyxDQUFDLDBCQUEwQixDQUFDO2FBQ2pEO1NBQ0o7S0FDSjtDQUNKLENBQUEifQ==
|
package/dist/configuration.js
CHANGED
|
@@ -1 +1,80 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.CustomConfiguration = void 0;
|
|
13
|
+
const i18n_1 = require("@midwayjs/i18n");
|
|
14
|
+
const core_1 = require("@midwayjs/core");
|
|
15
|
+
const core_2 = require("@midwayjs/core");
|
|
16
|
+
const interface_1 = require("./interface");
|
|
17
|
+
const ValidatorService_1 = require("./service/ValidatorService");
|
|
18
|
+
const i18n = require("@midwayjs/i18n");
|
|
19
|
+
const anncic = require("@anncic-api/core");
|
|
20
|
+
const ConfigDefault = require("./config/config.default");
|
|
21
|
+
let CustomConfiguration = class CustomConfiguration {
|
|
22
|
+
async onReady() {
|
|
23
|
+
this.decorator.registerMethodHandler(interface_1.VALIDATOR_KEY, options => {
|
|
24
|
+
const metadata = options.metadata, paramTypes = (0, core_2.getMethodParamTypes)(options.target, options.propertyName);
|
|
25
|
+
return {
|
|
26
|
+
before: (joinPoint) => {
|
|
27
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
|
|
28
|
+
const ctx = joinPoint.target[core_1.REQUEST_OBJ_CTX_KEY], input = Object.assign({}, ((_a = ctx === null || ctx === void 0 ? void 0 : ctx.request) === null || _a === void 0 ? void 0 : _a.query) || {}, ((_b = ctx === null || ctx === void 0 ? void 0 : ctx.request) === null || _b === void 0 ? void 0 : _b.body) || {}), method = ((0, core_2.getClassMetadata)(interface_1.VALIDATOR_KEY, joinPoint.target) || []).find(item => item.method == joinPoint.methodName);
|
|
29
|
+
if (!(metadata === null || metadata === void 0 ? void 0 : metadata.locale) && ctx && ctx.getAttr) {
|
|
30
|
+
metadata.locale = ctx.getAttr(i18n_1.I18N_ATTR_KEY);
|
|
31
|
+
}
|
|
32
|
+
for (let i = 0; i < paramTypes.length; i++) {
|
|
33
|
+
const item = paramTypes[i], schema = this.ValidatorService.getSchema(item);
|
|
34
|
+
if (schema) {
|
|
35
|
+
if (typeof (joinPoint.args[i]) == 'undefined' || (((_c = joinPoint.args[i]) === null || _c === void 0 ? void 0 : _c.request) && ((_d = joinPoint.args[i]) === null || _d === void 0 ? void 0 : _d.res) && ((_e = joinPoint.args[i]) === null || _e === void 0 ? void 0 : _e.req))) {
|
|
36
|
+
joinPoint.args[i] = input;
|
|
37
|
+
}
|
|
38
|
+
else if (((_f = joinPoint.args[i]) === null || _f === void 0 ? void 0 : _f.name) == 'bound dispatch') {
|
|
39
|
+
joinPoint.args.splice(i, 0, input);
|
|
40
|
+
}
|
|
41
|
+
const result = this.ValidatorService.validator(schema, joinPoint.args[i], metadata);
|
|
42
|
+
if (result) {
|
|
43
|
+
joinPoint.args[i] = result;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
else if ((method === null || method === void 0 ? void 0 : method.methodArgs[i]) && ((_g = joinPoint.args[i]) === null || _g === void 0 ? void 0 : _g.params) && typeof (joinPoint.args[i].param) == 'function' && ((_h = ctx === null || ctx === void 0 ? void 0 : ctx.params) === null || _h === void 0 ? void 0 : _h[method.methodArgs[i]])) {
|
|
47
|
+
joinPoint.args[i] = item((_j = ctx === null || ctx === void 0 ? void 0 : ctx.params) === null || _j === void 0 ? void 0 : _j[method.methodArgs[i]]);
|
|
48
|
+
}
|
|
49
|
+
else if ((method === null || method === void 0 ? void 0 : method.methodArgs[i]) && ((_l = (_k = joinPoint.args[i]) === null || _k === void 0 ? void 0 : _k.params) === null || _l === void 0 ? void 0 : _l[method.methodArgs[i]])) {
|
|
50
|
+
joinPoint.args[i] = (_o = (_m = joinPoint.args[i]) === null || _m === void 0 ? void 0 : _m.params) === null || _o === void 0 ? void 0 : _o[method.methodArgs[i]];
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
},
|
|
54
|
+
afterThrow: (joinPoint, error) => {
|
|
55
|
+
throw error;
|
|
56
|
+
}
|
|
57
|
+
};
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
};
|
|
61
|
+
exports.CustomConfiguration = CustomConfiguration;
|
|
62
|
+
__decorate([
|
|
63
|
+
(0, core_2.Inject)(),
|
|
64
|
+
__metadata("design:type", core_1.MidwayDecoratorService)
|
|
65
|
+
], CustomConfiguration.prototype, "decorator", void 0);
|
|
66
|
+
__decorate([
|
|
67
|
+
(0, core_2.Inject)(),
|
|
68
|
+
__metadata("design:type", ValidatorService_1.ValidatorService)
|
|
69
|
+
], CustomConfiguration.prototype, "ValidatorService", void 0);
|
|
70
|
+
exports.CustomConfiguration = CustomConfiguration = __decorate([
|
|
71
|
+
(0, core_2.Configuration)({
|
|
72
|
+
conflictCheck: false,
|
|
73
|
+
imports: [i18n, anncic],
|
|
74
|
+
namespace: 'anncic-api:validator',
|
|
75
|
+
importConfigs: [
|
|
76
|
+
{ default: ConfigDefault }
|
|
77
|
+
],
|
|
78
|
+
})
|
|
79
|
+
], CustomConfiguration);
|
|
80
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9jb25maWd1cmF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUFBLHlDQUErQztBQUMvQyx5Q0FBNkU7QUFDN0UseUNBQXlHO0FBRXpHLDJDQUEyQztBQUMzQyxpRUFBOEQ7QUFFOUQsdUNBQXNDO0FBQ3RDLDJDQUEyQztBQUMzQyx5REFBeUQ7QUFVbEQsSUFBTSxtQkFBbUIsR0FBekIsTUFBTSxtQkFBbUI7SUFNNUIsS0FBSyxDQUFDLE9BQU87UUFDVCxJQUFJLENBQUMsU0FBUyxDQUFDLHFCQUFxQixDQUFDLHlCQUFhLEVBQUUsT0FBTyxDQUFDLEVBQUU7WUFFMUQsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLFFBQVEsRUFBRSxVQUFVLEdBQUcsSUFBQSwwQkFBbUIsRUFBQyxPQUFPLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUMxRyxPQUFPO2dCQUNILE1BQU0sRUFBRSxDQUFDLFNBQW9CLEVBQUUsRUFBRTs7b0JBQzdCLE1BQU0sR0FBRyxHQUFHLFNBQVMsQ0FBQyxNQUFNLENBQUMsMEJBQW1CLENBQUMsRUFBRSxLQUFLLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsQ0FBQSxNQUFBLEdBQUcsYUFBSCxHQUFHLHVCQUFILEdBQUcsQ0FBRSxPQUFPLDBDQUFFLEtBQUssS0FBSSxFQUFFLEVBQUUsQ0FBQSxNQUFBLEdBQUcsYUFBSCxHQUFHLHVCQUFILEdBQUcsQ0FBRSxPQUFPLDBDQUFFLElBQUksS0FBSSxFQUFFLENBQUMsRUFBRSxNQUFNLEdBQUcsQ0FBQyxJQUFBLHVCQUFnQixFQUFDLHlCQUFhLEVBQUUsU0FBUyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLElBQUksU0FBUyxD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
|
package/dist/decorator/Rule.js
CHANGED
|
@@ -1 +1,44 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RuleType = void 0;
|
|
4
|
+
exports.Rule = Rule;
|
|
5
|
+
const joi = require("joi");
|
|
6
|
+
const date_1 = require("@joi/date");
|
|
7
|
+
const core_1 = require("@midwayjs/core");
|
|
8
|
+
const interface_1 = require("../interface");
|
|
9
|
+
exports.RuleType = joi.extend(date_1.default);
|
|
10
|
+
function Rule(comment, schema, description = "") {
|
|
11
|
+
return (target, propertyKey) => {
|
|
12
|
+
var _a;
|
|
13
|
+
if (propertyKey) {
|
|
14
|
+
if (!joi.isSchema(schema) && (schema === null || schema === void 0 ? void 0 : schema.name)) {
|
|
15
|
+
schema = joi.object((0, core_1.getClassMetadata)(interface_1.RULES_KEY, schema)).meta({ id: schema.name });
|
|
16
|
+
if ((0, core_1.getPropertyType)(target, propertyKey).name === 'Array') {
|
|
17
|
+
schema = joi.array().items(schema);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
if (joi.isSchema(schema)) {
|
|
21
|
+
if (comment && typeof (schema === null || schema === void 0 ? void 0 : schema.label) == 'function') {
|
|
22
|
+
schema = schema.label(comment);
|
|
23
|
+
}
|
|
24
|
+
if (description && typeof (schema === null || schema === void 0 ? void 0 : schema.description) == 'function') {
|
|
25
|
+
schema = schema.description(description);
|
|
26
|
+
}
|
|
27
|
+
(0, core_1.attachClassMetadata)(interface_1.RULES_KEY, schema, target, propertyKey);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
const rules = (0, core_1.getClassMetadata)(interface_1.RULES_KEY, schema);
|
|
32
|
+
if (rules) {
|
|
33
|
+
let currentRule = (_a = (0, core_1.getClassMetadata)(interface_1.RULES_KEY, target)) !== null && _a !== void 0 ? _a : {};
|
|
34
|
+
Object.keys(rules).map(item => {
|
|
35
|
+
if (!currentRule[item]) {
|
|
36
|
+
currentRule[item] = rules[item];
|
|
37
|
+
}
|
|
38
|
+
});
|
|
39
|
+
(0, core_1.saveClassMetadata)(interface_1.RULES_KEY, currentRule, target);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUnVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kZWNvcmF0b3IvUnVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFPQSxvQkFtQ0M7QUExQ0QsMkJBQTJCO0FBQzNCLG9DQUFnQztBQUNoQyx5Q0FBMkc7QUFDM0csNENBQXlDO0FBRTVCLFFBQUEsUUFBUSxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsY0FBTyxDQUFhLENBQUM7QUFFeEQsU0FBZ0IsSUFBSSxDQUFxQyxPQUFlLEVBQUUsTUFBcUIsRUFBRSxjQUFzQixFQUFFO0lBQ3JILE9BQU8sQ0FBQyxNQUFXLEVBQUUsV0FBbUIsRUFBRSxFQUFFOztRQUV4QyxJQUFJLFdBQVcsRUFBRSxDQUFDO1lBQ2QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEtBQUksTUFBTSxhQUFOLE1BQU0sdUJBQU4sTUFBTSxDQUFFLElBQUksQ0FBQSxFQUFFLENBQUM7Z0JBQ3hDLE1BQU0sR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUEsdUJBQWdCLEVBQUMscUJBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsRUFBRSxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztnQkFDbkYsSUFBSSxJQUFBLHNCQUFlLEVBQUMsTUFBTSxFQUFFLFdBQVcsQ0FBQyxDQUFDLElBQUksS0FBSyxPQUFPLEVBQUUsQ0FBQztvQkFDeEQsTUFBTSxHQUFHLEdBQUcsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQ3ZDLENBQUM7WUFDTCxDQUFDO1lBRUQsSUFBSSxHQUFHLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7Z0JBQ3ZCLElBQUksT0FBTyxJQUFJLE9BQU8sQ0FBQyxNQUFNLGFBQU4sTUFBTSx1QkFBTixNQUFNLENBQUUsS0FBSyxDQUFDLElBQUksVUFBVSxFQUFFLENBQUM7b0JBQ2xELE1BQU0sR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFBO2dCQUNsQyxDQUFDO2dCQUVELElBQUksV0FBVyxJQUFJLE9BQU8sQ0FBQyxNQUFNLGFBQU4sTUFBTSx1QkFBTixNQUFNLENBQUUsV0FBVyxDQUFDLElBQUksVUFBVSxFQUFFLENBQUM7b0JBQzVELE1BQU0sR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxDQUFBO2dCQUM1QyxDQUFDO2dCQUNELElBQUEsMEJBQW1CLEVBQUMscUJBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLFdBQVcsQ0FBQyxDQUFDO1lBQ2hFLENBQUM7UUFDTCxDQUFDO2FBQU0sQ0FBQztZQUVKLE1BQU0sS0FBSyxHQUFHLElBQUEsdUJBQWdCLEVBQUMscUJBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQztZQUNsRCxJQUFJLEtBQUssRUFBRSxDQUFDO2dCQUNSLElBQUksV0FBVyxHQUFHLE1BQUEsSUFBQSx1QkFBZ0IsRUFBQyxxQkFBUyxFQUFFLE1BQU0sQ0FBQyxtQ0FBSSxFQUFFLENBQUM7Z0JBQzVELE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFO29CQUMxQixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7d0JBQ3JCLFdBQVcsQ0FBQyxJQUFJLENBQUMsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7b0JBQ3BDLENBQUM7Z0JBQ0wsQ0FBQyxDQUFDLENBQUM7Z0JBQ0gsSUFBQSx3QkFBaUIsRUFBQyxxQkFBUyxFQUFFLFdBQVcsRUFBRSxNQUFNLENBQUMsQ0FBQztZQUN0RCxDQUFDO1FBQ0wsQ0FBQztJQUNMLENBQUMsQ0FBQztBQUNOLENBQUMifQ==
|
|
@@ -1 +1,22 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Validator = Validator;
|
|
4
|
+
exports.getFuncArgs = getFuncArgs;
|
|
5
|
+
const core_1 = require("@midwayjs/core");
|
|
6
|
+
const interface_1 = require("../interface");
|
|
7
|
+
function Validator(options = {}) {
|
|
8
|
+
return (target, propertyKey, descriptor) => {
|
|
9
|
+
const methodArgs = getFuncArgs(target[propertyKey]);
|
|
10
|
+
(0, core_1.attachClassMetadata)(interface_1.VALIDATOR_KEY, { method: propertyKey, methodArgs }, target);
|
|
11
|
+
(0, core_1.createCustomMethodDecorator)(interface_1.VALIDATOR_KEY, options)(target, propertyKey, descriptor);
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
function getFuncArgs(fn) {
|
|
15
|
+
if (typeof fn == 'function') {
|
|
16
|
+
const FAT_ARROWS = /=>.*$/mg, DEFAULT_PARAMS = /=[^,)]+/mg, COMMENTS = /((\/\/.*$)|(\/\*[\s\S]*?\*\/))/mg;
|
|
17
|
+
const FUNC_STRING = (fn.prototype ? fn.prototype.constructor.toString() : fn.toString()).replace(COMMENTS, '').replace(FAT_ARROWS, '').replace(DEFAULT_PARAMS, '');
|
|
18
|
+
const FUNC_ARGS = FUNC_STRING.slice(FUNC_STRING.indexOf('(') + 1, FUNC_STRING.indexOf(')')).match(/([^\s,]+)/g) || [];
|
|
19
|
+
return FUNC_ARGS;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVmFsaWRhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2RlY29yYXRvci9WYWxpZGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFJQSw4QkFRQztBQUVELGtDQU9DO0FBckJELHlDQUFrRjtBQUNsRiw0Q0FBK0Q7QUFHL0QsU0FBZ0IsU0FBUyxDQUFDLFVBQTRCLEVBQUU7SUFFcEQsT0FBTyxDQUFDLE1BQU0sRUFBRSxXQUE0QixFQUFFLFVBQThCLEVBQUUsRUFBRTtRQUU1RSxNQUFNLFVBQVUsR0FBRyxXQUFXLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUE7UUFDbkQsSUFBQSwwQkFBbUIsRUFBQyx5QkFBYSxFQUFFLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUNoRixJQUFBLGtDQUEyQixFQUFDLHlCQUFhLEVBQUUsT0FBTyxDQUFDLENBQUMsTUFBTSxFQUFFLFdBQVcsRUFBRSxVQUFVLENBQUMsQ0FBQztJQUN6RixDQUFDLENBQUE7QUFDTCxDQUFDO0FBRUQsU0FBZ0IsV0FBVyxDQUFDLEVBQVk7SUFDcEMsSUFBSSxPQUFPLEVBQUUsSUFBSSxVQUFVLEVBQUUsQ0FBQztRQUMxQixNQUFNLFVBQVUsR0FBRyxTQUFTLEVBQUUsY0FBYyxHQUFHLFdBQVcsRUFBRSxRQUFRLEdBQUcsa0NBQWtDLENBQUM7UUFDMUcsTUFBTSxXQUFXLEdBQUcsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxjQUFjLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDbkssTUFBTSxTQUFTLEdBQUcsV0FBVyxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxXQUFXLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN0SCxPQUFPLFNBQVMsQ0FBQztJQUNyQixDQUFDO0FBQ0wsQ0FBQyJ9
|
|
@@ -1 +1,27 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.ValidatorError = void 0;
|
|
13
|
+
const core_1 = require("@anncic-api/core");
|
|
14
|
+
class ValidatorError extends AnnError {
|
|
15
|
+
}
|
|
16
|
+
exports.ValidatorError = ValidatorError;
|
|
17
|
+
ValidatorError.PARAMS = 101406;
|
|
18
|
+
ValidatorError.NOFIND_SCHEMA = 101404;
|
|
19
|
+
__decorate([
|
|
20
|
+
(0, core_1.AnnErrorMsg)('参数验证失败'),
|
|
21
|
+
__metadata("design:type", Object)
|
|
22
|
+
], ValidatorError, "PARAMS", void 0);
|
|
23
|
+
__decorate([
|
|
24
|
+
(0, core_1.AnnErrorMsg)('参数验证失败'),
|
|
25
|
+
__metadata("design:type", Object)
|
|
26
|
+
], ValidatorError, "NOFIND_SCHEMA", void 0);
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVmFsaWRhdG9yRXJyb3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZXhjZXB0aW9uL1ZhbGlkYXRvckVycm9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUFBLDJDQUErQztBQUUvQyxNQUFhLGNBQWUsU0FBUSxRQUFROztBQUE1Qyx3Q0FRQztBQUxtQixxQkFBTSxHQUFHLE1BQU0sQ0FBQztBQUdoQiw0QkFBYSxHQUFHLE1BQU0sQ0FBQztBQUh2QjtJQURmLElBQUEsa0JBQVcsRUFBQyxRQUFRLENBQUM7O29DQUNVO0FBR2hCO0lBRGYsSUFBQSxrQkFBVyxFQUFDLFFBQVEsQ0FBQzs7MkNBQ2lCIn0=
|
package/dist/helper/dtoHelper.js
CHANGED
|
@@ -1 +1,31 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PickDto = PickDto;
|
|
4
|
+
exports.OmitDto = OmitDto;
|
|
5
|
+
const core_1 = require("@midwayjs/core");
|
|
6
|
+
const interface_1 = require("../interface");
|
|
7
|
+
function PickDto(dto, keys) {
|
|
8
|
+
const pickedDto = function () { };
|
|
9
|
+
pickedDto.prototype = dto.prototype;
|
|
10
|
+
const fatherRule = (0, core_1.getClassExtendedMetadata)(interface_1.RULES_KEY, dto);
|
|
11
|
+
const pickedRule = {};
|
|
12
|
+
for (const key of keys) {
|
|
13
|
+
if (fatherRule[key]) {
|
|
14
|
+
pickedRule[key] = fatherRule[key];
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
(0, core_1.saveClassMetadata)(interface_1.RULES_KEY, pickedRule, pickedDto);
|
|
18
|
+
return pickedDto;
|
|
19
|
+
}
|
|
20
|
+
function OmitDto(dto, keys) {
|
|
21
|
+
const pickedDto = function () { };
|
|
22
|
+
pickedDto.prototype = dto.prototype;
|
|
23
|
+
const fatherRule = (0, core_1.getClassExtendedMetadata)(interface_1.RULES_KEY, dto);
|
|
24
|
+
const pickedRule = Object.assign({}, fatherRule);
|
|
25
|
+
for (const key of keys) {
|
|
26
|
+
delete pickedRule[key];
|
|
27
|
+
}
|
|
28
|
+
(0, core_1.saveClassMetadata)(interface_1.RULES_KEY, pickedRule, pickedDto);
|
|
29
|
+
return pickedDto;
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHRvSGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2hlbHBlci9kdG9IZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFTQSwwQkFZQztBQUVELDBCQVVDO0FBakNELHlDQUE2RTtBQUM3RSw0Q0FBeUM7QUFRekMsU0FBZ0IsT0FBTyxDQUF1QixHQUFXLEVBQUUsSUFBUztJQUNoRSxNQUFNLFNBQVMsR0FBUSxjQUFjLENBQUMsQ0FBQztJQUN2QyxTQUFTLENBQUMsU0FBUyxHQUFHLEdBQUcsQ0FBQyxTQUFTLENBQUM7SUFDcEMsTUFBTSxVQUFVLEdBQUcsSUFBQSwrQkFBd0IsRUFBQyxxQkFBUyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQzVELE1BQU0sVUFBVSxHQUFRLEVBQUUsQ0FBQztJQUMzQixLQUFLLE1BQU0sR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQ3JCLElBQUksVUFBVSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDbEIsVUFBVSxDQUFDLEdBQUcsQ0FBQyxHQUFHLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN0QyxDQUFDO0lBQ0wsQ0FBQztJQUNELElBQUEsd0JBQWlCLEVBQUMscUJBQVMsRUFBRSxVQUFVLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDcEQsT0FBTyxTQUFnRCxDQUFDO0FBQzVELENBQUM7QUFFRCxTQUFnQixPQUFPLENBQXVCLEdBQVcsRUFBRSxJQUFTO0lBQ2hFLE1BQU0sU0FBUyxHQUFRLGNBQWMsQ0FBQyxDQUFDO0lBQ3ZDLFNBQVMsQ0FBQyxTQUFTLEdBQUcsR0FBRyxDQUFDLFNBQVMsQ0FBQztJQUNwQyxNQUFNLFVBQVUsR0FBRyxJQUFBLCtCQUF3QixFQUFDLHFCQUFTLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDNUQsTUFBTSxVQUFVLEdBQVEsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDdEQsS0FBSyxNQUFNLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUNyQixPQUFPLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMzQixDQUFDO0lBQ0QsSUFBQSx3QkFBaUIsRUFBQyxxQkFBUyxFQUFFLFVBQVUsRUFBRSxTQUFTLENBQUMsQ0FBQztJQUNwRCxPQUFPLFNBQWdELENBQUM7QUFDNUQsQ0FBQyJ9
|
package/dist/helper/getSchema.js
CHANGED
|
@@ -1 +1,13 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getSchema = getSchema;
|
|
4
|
+
const Joi = require("joi");
|
|
5
|
+
const core_1 = require("@midwayjs/core");
|
|
6
|
+
const interface_1 = require("../interface");
|
|
7
|
+
function getSchema(ClzType) {
|
|
8
|
+
const rules = (0, core_1.getClassExtendedMetadata)(interface_1.RULES_KEY, ClzType);
|
|
9
|
+
if (rules) {
|
|
10
|
+
return Joi.object(rules);
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0U2NoZW1hLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2hlbHBlci9nZXRTY2hlbWEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFLQSw4QkFNQztBQVhELDJCQUEyQjtBQUMzQix5Q0FBMEQ7QUFFMUQsNENBQXlDO0FBRXpDLFNBQWdCLFNBQVMsQ0FBaUMsT0FBVTtJQUNoRSxNQUFNLEtBQUssR0FBRyxJQUFBLCtCQUF3QixFQUFDLHFCQUFTLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFFM0QsSUFBSSxLQUFLLEVBQUUsQ0FBQztRQUNSLE9BQU8sR0FBRyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM3QixDQUFDO0FBQ0wsQ0FBQyJ9
|
package/dist/index.js
CHANGED
|
@@ -1 +1,32 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.Configuration = exports.ValidatorService = exports.ValidatorError = exports.RuleType = exports.Rule = exports.Validator = void 0;
|
|
18
|
+
__exportStar(require("./interface"), exports);
|
|
19
|
+
__exportStar(require("./helper/dtoHelper"), exports);
|
|
20
|
+
__exportStar(require("./helper/getSchema"), exports);
|
|
21
|
+
var Validator_1 = require("./decorator/Validator");
|
|
22
|
+
Object.defineProperty(exports, "Validator", { enumerable: true, get: function () { return Validator_1.Validator; } });
|
|
23
|
+
var Rule_1 = require("./decorator/Rule");
|
|
24
|
+
Object.defineProperty(exports, "Rule", { enumerable: true, get: function () { return Rule_1.Rule; } });
|
|
25
|
+
Object.defineProperty(exports, "RuleType", { enumerable: true, get: function () { return Rule_1.RuleType; } });
|
|
26
|
+
var ValidatorError_1 = require("./exception/ValidatorError");
|
|
27
|
+
Object.defineProperty(exports, "ValidatorError", { enumerable: true, get: function () { return ValidatorError_1.ValidatorError; } });
|
|
28
|
+
var ValidatorService_1 = require("./service/ValidatorService");
|
|
29
|
+
Object.defineProperty(exports, "ValidatorService", { enumerable: true, get: function () { return ValidatorService_1.ValidatorService; } });
|
|
30
|
+
var configuration_1 = require("./configuration");
|
|
31
|
+
Object.defineProperty(exports, "Configuration", { enumerable: true, get: function () { return configuration_1.CustomConfiguration; } });
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFHQSw4Q0FBNEI7QUFDNUIscURBQW1DO0FBQ25DLHFEQUFtQztBQUVuQyxtREFBa0Q7QUFBekMsc0dBQUEsU0FBUyxPQUFBO0FBQ2xCLHlDQUFrRDtBQUF6Qyw0RkFBQSxJQUFJLE9BQUE7QUFBRSxnR0FBQSxRQUFRLE9BQUE7QUFDdkIsNkRBQTREO0FBQW5ELGdIQUFBLGNBQWMsT0FBQTtBQUN2QiwrREFBOEQ7QUFBckQsb0hBQUEsZ0JBQWdCLE9BQUE7QUFDekIsaURBQXVFO0FBQTlELDhHQUFBLG1CQUFtQixPQUFpQiJ9
|
package/dist/interface.js
CHANGED
|
@@ -1 +1,6 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.VALIDATOR_KEY = exports.RULES_KEY = void 0;
|
|
4
|
+
exports.RULES_KEY = 'anncic-api:validator:rules';
|
|
5
|
+
exports.VALIDATOR_KEY = 'anncic-api:validator:validator';
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2ludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFFYSxRQUFBLFNBQVMsR0FBRyw0QkFBNEIsQ0FBQztBQUN6QyxRQUFBLGFBQWEsR0FBRyxnQ0FBZ0MsQ0FBQyJ9
|
|
@@ -1 +1,99 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.ValidatorService = void 0;
|
|
13
|
+
const Joi = require("joi");
|
|
14
|
+
const i18n_1 = require("@midwayjs/i18n");
|
|
15
|
+
const core_1 = require("@midwayjs/core");
|
|
16
|
+
const interface_1 = require("../interface");
|
|
17
|
+
const ValidatorError_1 = require("../exception/ValidatorError");
|
|
18
|
+
let ValidatorService = class ValidatorService {
|
|
19
|
+
constructor() {
|
|
20
|
+
this.messages = {};
|
|
21
|
+
}
|
|
22
|
+
async init() {
|
|
23
|
+
const locales = Object.keys(this.i18nConfig.localeTable);
|
|
24
|
+
locales.forEach(locale => {
|
|
25
|
+
this.messages[(0, i18n_1.formatLocale)(locale)] = Object.fromEntries(this.i18nService.getLocaleMapping(locale, 'validator'));
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
getSchema(ClzType) {
|
|
29
|
+
const rules = (0, core_1.getClassExtendedMetadata)(interface_1.RULES_KEY, ClzType);
|
|
30
|
+
return rules ? Joi.object(rules) : undefined;
|
|
31
|
+
}
|
|
32
|
+
validator(ClzType, value, options = {}) {
|
|
33
|
+
var _a, _b, _c, _d, _e, _f;
|
|
34
|
+
const schema = Joi.isSchema(ClzType) ? ClzType : this.getSchema(ClzType);
|
|
35
|
+
if (!schema) {
|
|
36
|
+
throw new AnnError(ValidatorError_1.ValidatorError.NOFIND_SCHEMA);
|
|
37
|
+
}
|
|
38
|
+
options.validationOptions = Object.assign((_a = this.validatorConfig.validationOptions) !== null && _a !== void 0 ? _a : {}, { messages: this.messages }, options.validationOptions || {});
|
|
39
|
+
options.validationOptions.errors = options.validationOptions.errors || {};
|
|
40
|
+
options.validationOptions.errors.language = (0, i18n_1.formatLocale)(this.i18nService.getAvailableLocale(options.validationOptions.errors.language ||
|
|
41
|
+
options.locale ||
|
|
42
|
+
this.i18nConfig.defaultLocale, 'validator'));
|
|
43
|
+
const result = schema.validate(value, options.validationOptions);
|
|
44
|
+
if (result === null || result === void 0 ? void 0 : result.error) {
|
|
45
|
+
if (result.error instanceof AnnError) {
|
|
46
|
+
throw result.error;
|
|
47
|
+
}
|
|
48
|
+
else if (result.error instanceof Error) {
|
|
49
|
+
throw new AnnError(ValidatorError_1.ValidatorError.PARAMS, { message: ((_b = result.error) === null || _b === void 0 ? void 0 : _b.message) || '参数验证失败' });
|
|
50
|
+
}
|
|
51
|
+
else {
|
|
52
|
+
throw new AnnError(ValidatorError_1.ValidatorError.PARAMS, { message: ((_e = (_d = (_c = result.error) === null || _c === void 0 ? void 0 : _c.details) === null || _d === void 0 ? void 0 : _d[0]) === null || _e === void 0 ? void 0 : _e.message) || '参数验证失败' });
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
if (result === null || result === void 0 ? void 0 : result.value) {
|
|
56
|
+
const rules = (_f = schema === null || schema === void 0 ? void 0 : schema.$_terms) === null || _f === void 0 ? void 0 : _f.keys, handleValue = function (rules, value) {
|
|
57
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
|
|
58
|
+
for (let rulekey in rules) {
|
|
59
|
+
if (value[(_a = rules[rulekey]) === null || _a === void 0 ? void 0 : _a.key] && ((_c = (_b = rules[rulekey]) === null || _b === void 0 ? void 0 : _b.schema) === null || _c === void 0 ? void 0 : _c.type)) {
|
|
60
|
+
if (((_e = (_d = rules[rulekey]) === null || _d === void 0 ? void 0 : _d.schema) === null || _e === void 0 ? void 0 : _e.type) == 'object') {
|
|
61
|
+
value[rules[rulekey].key] = handleValue((_g = (_f = rules[rulekey]) === null || _f === void 0 ? void 0 : _f.schema.$_terms) === null || _g === void 0 ? void 0 : _g.keys, value[rules[rulekey].key]);
|
|
62
|
+
}
|
|
63
|
+
else if (rules[rulekey].schema.type == 'date' && result.value[(_h = rules[rulekey]) === null || _h === void 0 ? void 0 : _h.key]) {
|
|
64
|
+
const ruleformat = ((_l = (_k = (_j = rules[rulekey]) === null || _j === void 0 ? void 0 : _j.schema) === null || _k === void 0 ? void 0 : _k._flags) === null || _l === void 0 ? void 0 : _l.format) || "YYYY-MM-DD HH:mm:ss";
|
|
65
|
+
value[rules[rulekey].key] = dayjs(result.value[rules[rulekey].key]).format(ruleformat);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
return value;
|
|
70
|
+
};
|
|
71
|
+
return handleValue(rules, result.value);
|
|
72
|
+
}
|
|
73
|
+
throw new AnnError(ValidatorError_1.ValidatorError.PARAMS);
|
|
74
|
+
}
|
|
75
|
+
};
|
|
76
|
+
exports.ValidatorService = ValidatorService;
|
|
77
|
+
__decorate([
|
|
78
|
+
(0, core_1.Config)('i18n'),
|
|
79
|
+
__metadata("design:type", Object)
|
|
80
|
+
], ValidatorService.prototype, "i18nConfig", void 0);
|
|
81
|
+
__decorate([
|
|
82
|
+
(0, core_1.Config)('validator'),
|
|
83
|
+
__metadata("design:type", Object)
|
|
84
|
+
], ValidatorService.prototype, "validatorConfig", void 0);
|
|
85
|
+
__decorate([
|
|
86
|
+
(0, core_1.Inject)(),
|
|
87
|
+
__metadata("design:type", i18n_1.MidwayI18nServiceSingleton)
|
|
88
|
+
], ValidatorService.prototype, "i18nService", void 0);
|
|
89
|
+
__decorate([
|
|
90
|
+
(0, core_1.Init)(),
|
|
91
|
+
__metadata("design:type", Function),
|
|
92
|
+
__metadata("design:paramtypes", []),
|
|
93
|
+
__metadata("design:returntype", Promise)
|
|
94
|
+
], ValidatorService.prototype, "init", null);
|
|
95
|
+
exports.ValidatorService = ValidatorService = __decorate([
|
|
96
|
+
(0, core_1.Provide)('validator'),
|
|
97
|
+
(0, core_1.Scope)(core_1.ScopeEnum.Singleton)
|
|
98
|
+
], ValidatorService);
|
|
99
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVmFsaWRhdG9yU2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zZXJ2aWNlL1ZhbGlkYXRvclNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUEsMkJBQTBCO0FBRTFCLHlDQUEwRTtBQUMxRSx5Q0FBMkc7QUFFM0csNENBQXlDO0FBQ3pDLGdFQUE0RDtBQUlyRCxJQUFNLGdCQUFnQixHQUF0QixNQUFNLGdCQUFnQjtJQUF0QjtRQVVPLGFBQVEsR0FBRyxFQUFFLENBQUM7SUFrRTVCLENBQUM7SUFoRWlCLEFBQU4sS0FBSyxDQUFDLElBQUk7UUFDZCxNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDekQsT0FBTyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUNyQixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUEsbUJBQVksRUFBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FBQztRQUNySCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTSxTQUFTLENBQWlDLE9BQVU7UUFDdkQsTUFBTSxLQUFLLEdBQUcsSUFBQSwrQkFBd0IsRUFBQyxxQkFBUyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQzNELE9BQU8sS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7SUFDakQsQ0FBQztJQUVNLFNBQVMsQ0FBaUMsT0FBa0MsRUFBRSxLQUFVLEVBQUUsVUFBaUcsRUFBRTs7UUFDaE0sTUFBTSxNQUFNLEdBQUcsR0FBRyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENB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
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@anncic-api/validator",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.5.0",
|
|
4
4
|
"main": "./dist/index.js",
|
|
5
5
|
"typings": "index.d.ts",
|
|
6
6
|
"license": "MIT",
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
"build": "tsc && javascript-obfuscator ./dist --output ./dist --config obfuscator.json"
|
|
18
18
|
},
|
|
19
19
|
"dependencies": {
|
|
20
|
-
"@anncic-api/core": "^3.
|
|
20
|
+
"@anncic-api/core": "^3.5.0",
|
|
21
21
|
"@joi/date": "^2.1.0",
|
|
22
22
|
"joi": "^17.11.0"
|
|
23
23
|
},
|
|
@@ -26,5 +26,5 @@
|
|
|
26
26
|
"javascript-obfuscator": "^4.0.2",
|
|
27
27
|
"typescript": "^5.5.4"
|
|
28
28
|
},
|
|
29
|
-
"gitHead": "
|
|
29
|
+
"gitHead": "1fa97a31236b361c663e69fa27b5ef9dcd78a121"
|
|
30
30
|
}
|