almighty-tool 0.0.39 → 0.0.50
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/common/enum-object.d.ts +2 -14
- package/lib/common/enum-object.js +5 -3
- package/lib/common/enum-object.js.map +1 -1
- package/lib/common/i18n.d.ts +17 -0
- package/lib/common/i18n.js +10 -0
- package/lib/common/i18n.js.map +1 -0
- package/lib/utils/format.util.d.ts +38 -3
- package/lib/utils/format.util.js +15 -12
- package/lib/utils/format.util.js.map +1 -1
- package/lib/utils/validate.util.d.ts +25 -6
- package/lib/utils/validate.util.js +87 -25
- package/lib/utils/validate.util.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,23 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
lang?: string;
|
|
3
|
-
args?: ({
|
|
4
|
-
[k: string]: any;
|
|
5
|
-
} | string)[] | {
|
|
6
|
-
[k: string]: any;
|
|
7
|
-
};
|
|
8
|
-
defaultValue?: string;
|
|
9
|
-
debug?: boolean;
|
|
10
|
-
};
|
|
11
|
-
export interface I18n {
|
|
12
|
-
t: (key: string, options?: TranslateOptions) => string;
|
|
13
|
-
}
|
|
1
|
+
import { I18n } from './i18n';
|
|
14
2
|
export interface IEnumObjectTranslate {
|
|
15
3
|
[key: string]: string;
|
|
16
4
|
}
|
|
17
5
|
export interface IEnumObject<T> {
|
|
18
6
|
source: T;
|
|
19
7
|
name: string;
|
|
20
|
-
i18n
|
|
8
|
+
i18n?: I18n | (() => I18n);
|
|
21
9
|
langs?: string[];
|
|
22
10
|
}
|
|
23
11
|
export interface IEnumObjectOptions {
|
|
@@ -3,10 +3,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.EnumObject = void 0;
|
|
4
4
|
var tslib_1 = require("tslib");
|
|
5
5
|
var lodash_1 = (0, tslib_1.__importDefault)(require("lodash"));
|
|
6
|
+
var i18n_1 = require("./i18n");
|
|
6
7
|
var EnumObject = /** @class */ (function () {
|
|
7
8
|
function EnumObject(options) {
|
|
8
9
|
var _this = this;
|
|
9
|
-
var _a;
|
|
10
|
+
var _a, _b;
|
|
10
11
|
/** 键到值的映射(键为枚举的键, 值为枚举的值) */
|
|
11
12
|
this.valueMap = new Map();
|
|
12
13
|
/** 值到键的映射(键为枚举的值, 值为枚举的键) */
|
|
@@ -18,7 +19,7 @@ var EnumObject = /** @class */ (function () {
|
|
|
18
19
|
this.source = options.source;
|
|
19
20
|
this.name = options.name;
|
|
20
21
|
this.langs = (_a = options.langs) !== null && _a !== void 0 ? _a : this.langs;
|
|
21
|
-
this.i18n = options.i18n;
|
|
22
|
+
this.i18n = (_b = options.i18n) !== null && _b !== void 0 ? _b : i18n_1.i18nConfig.i18n;
|
|
22
23
|
Object.entries(options.source).forEach(function (_a) {
|
|
23
24
|
var key = _a[0], value = _a[1];
|
|
24
25
|
_this.valueMap.set(key, value);
|
|
@@ -26,7 +27,8 @@ var EnumObject = /** @class */ (function () {
|
|
|
26
27
|
});
|
|
27
28
|
}
|
|
28
29
|
EnumObject.prototype.getI18n = function () {
|
|
29
|
-
|
|
30
|
+
var _a;
|
|
31
|
+
return (_a = (typeof this.i18n === 'function' ? this.i18n() : this.i18n)) !== null && _a !== void 0 ? _a : i18n_1.i18nConfig.i18n;
|
|
30
32
|
};
|
|
31
33
|
/**
|
|
32
34
|
* 获取指定语言的选项
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enum-object.js","sourceRoot":"","sources":["../../src/common/enum-object.ts"],"names":[],"mappings":";;;;AAAA,+DAAuB;
|
|
1
|
+
{"version":3,"file":"enum-object.js","sourceRoot":"","sources":["../../src/common/enum-object.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export declare type TranslateOptions = {
|
|
2
|
+
lang?: string;
|
|
3
|
+
args?: ({
|
|
4
|
+
[k: string]: any;
|
|
5
|
+
} | string)[] | {
|
|
6
|
+
[k: string]: any;
|
|
7
|
+
};
|
|
8
|
+
defaultValue?: string;
|
|
9
|
+
debug?: boolean;
|
|
10
|
+
};
|
|
11
|
+
export interface I18n {
|
|
12
|
+
t: (key: string, options?: TranslateOptions) => string;
|
|
13
|
+
}
|
|
14
|
+
export interface I18nConfig {
|
|
15
|
+
i18n: I18n;
|
|
16
|
+
}
|
|
17
|
+
export declare const i18nConfig: I18nConfig;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.i18nConfig = void 0;
|
|
4
|
+
var defaultI18n = {
|
|
5
|
+
t: function (key, _options) { return key; },
|
|
6
|
+
};
|
|
7
|
+
exports.i18nConfig = {
|
|
8
|
+
i18n: defaultI18n,
|
|
9
|
+
};
|
|
10
|
+
//# sourceMappingURL=i18n.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"i18n.js","sourceRoot":"","sources":["../../src/common/i18n.ts"],"names":[],"mappings":";;;AAwBA,IAAM,WAAW,GAAS;IACxB,CAAC,EAAE,UAAC,GAAW,EAAE,QAA2B,IAAK,OAAA,GAAG,EAAH,CAAG;CACrD,CAAC;AAEW,QAAA,UAAU,GAAe;IACpC,IAAI,EAAE,WAAW;CAClB,CAAC"}
|
|
@@ -2,10 +2,45 @@ export declare const DEFAULT_LOCALE: string;
|
|
|
2
2
|
export declare type DATETIME_TYPE = 'long' | 'date' | 'shortDate' | 'shortTime' | 'time';
|
|
3
3
|
export declare type DATETIME_LANG = 'en-US' | 'zh-CN';
|
|
4
4
|
/** 常用的正则表达式 */
|
|
5
|
-
export declare const regExps:
|
|
5
|
+
export declare const regExps: {
|
|
6
|
+
/** 网址 */
|
|
7
|
+
url: RegExp;
|
|
8
|
+
/** 空字符串 */
|
|
9
|
+
'blank-string': RegExp;
|
|
10
|
+
/** 含有空格 */
|
|
11
|
+
'contain-blank': RegExp;
|
|
12
|
+
/** 邮箱 */
|
|
13
|
+
email: RegExp;
|
|
14
|
+
/** 手机号 */
|
|
15
|
+
'mobile-number-china': RegExp;
|
|
16
|
+
/** 身份证 */
|
|
17
|
+
'id-card-china': RegExp;
|
|
18
|
+
/** 身份证15位 */
|
|
19
|
+
'id-card-15-china': RegExp;
|
|
20
|
+
/** 纯数字 */
|
|
21
|
+
'pure-number': RegExp;
|
|
22
|
+
/** 中文 */
|
|
23
|
+
'words-chinese': RegExp;
|
|
24
|
+
/** ipv4地址 */
|
|
25
|
+
'ipv4-address': RegExp;
|
|
26
|
+
/** ipv6地址 */
|
|
27
|
+
'ipv6-address': RegExp;
|
|
28
|
+
/** mac地址 */
|
|
29
|
+
'mac-address': RegExp;
|
|
30
|
+
/** ip地址 */
|
|
31
|
+
'ip-address': RegExp;
|
|
32
|
+
/** 域名 */
|
|
33
|
+
'domain-name': RegExp;
|
|
34
|
+
/** 日期 */
|
|
35
|
+
'date-format': RegExp;
|
|
36
|
+
/** 时间 */
|
|
37
|
+
'time-format': RegExp;
|
|
38
|
+
/** 日期时间 */
|
|
39
|
+
'date-time-format': RegExp;
|
|
40
|
+
};
|
|
6
41
|
declare const _default: {
|
|
7
|
-
|
|
8
|
-
isMobileNumber(mobileNumber: string,
|
|
42
|
+
isChinaMobileNumber(mobileNumber: string): boolean;
|
|
43
|
+
isMobileNumber(mobileNumber: string, region?: string): boolean;
|
|
9
44
|
/** 是否是纯数字 */
|
|
10
45
|
isPureNumber(str: string): boolean;
|
|
11
46
|
/**
|
package/lib/utils/format.util.js
CHANGED
|
@@ -9,9 +9,13 @@ exports.regExps = {
|
|
|
9
9
|
/** 网址 */
|
|
10
10
|
url: /^(?!mailto:)(?:(?:http|https|ftp):\/\/|\/\/)(?:\S+(?::\S*)?@)?(?:(?:(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[0-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z\u00a1-\uffff0-9]+-*)*[a-z\u00a1-\uffff0-9]+)(?:\.(?:[a-z\u00a1-\uffff0-9]+-*)*[a-z\u00a1-\uffff0-9]+)*(?:\.(?:[a-z\u00a1-\uffff]{2,})))|localhost)(?::\d{2,5})?(?:(\/|\?|#)[^\s]*)?$/i,
|
|
11
11
|
/** 空字符串 */
|
|
12
|
-
'blank-string': /^(
|
|
12
|
+
'blank-string': /^([\s\u3000\n\t])*$/,
|
|
13
|
+
/** 含有空格 */
|
|
14
|
+
'contain-blank': /[\s\u3000\n\t]/,
|
|
13
15
|
/** 邮箱 */
|
|
14
|
-
email:
|
|
16
|
+
email:
|
|
17
|
+
// eslint-disable-next-line no-useless-escape
|
|
18
|
+
/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+\.)+[a-zA-Z\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]{2,}))$/,
|
|
15
19
|
/** 手机号 */
|
|
16
20
|
'mobile-number-china': /^1[3456789]\d{9}$/,
|
|
17
21
|
/** 身份证 */
|
|
@@ -40,16 +44,15 @@ exports.regExps = {
|
|
|
40
44
|
'date-time-format': /^\d{4}-\d{1,2}-\d{1,2} \d{2}:\d{2}:\d{2}$/,
|
|
41
45
|
};
|
|
42
46
|
exports.default = {
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
/** 其他的暂不支持 */
|
|
51
|
-
return false;
|
|
47
|
+
isChinaMobileNumber: function (mobileNumber) {
|
|
48
|
+
return exports.regExps['mobile-number-china'].test(mobileNumber);
|
|
49
|
+
},
|
|
50
|
+
isMobileNumber: function (mobileNumber, region) {
|
|
51
|
+
if (region === void 0) { region = '+86'; }
|
|
52
|
+
if (region === '+86') {
|
|
53
|
+
return this.isChinaMobileNumber(mobileNumber);
|
|
52
54
|
}
|
|
55
|
+
return false;
|
|
53
56
|
},
|
|
54
57
|
/** 是否是纯数字 */
|
|
55
58
|
isPureNumber: function (str) {
|
|
@@ -76,7 +79,7 @@ exports.default = {
|
|
|
76
79
|
},
|
|
77
80
|
/** 是否包含中文 */
|
|
78
81
|
isContainChinese: function (str) {
|
|
79
|
-
return exports.regExps.
|
|
82
|
+
return exports.regExps['words-chinese'].test(str);
|
|
80
83
|
},
|
|
81
84
|
/** 是否是链接 */
|
|
82
85
|
isUrl: function (str) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"format.util.js","sourceRoot":"","sources":["../../src/utils/format.util.ts"],"names":[],"mappings":";;;;AAAA,+DAAuB;AACV,QAAA,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,OAAO,CAAC;AAIpE,eAAe;AACF,QAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"format.util.js","sourceRoot":"","sources":["../../src/utils/format.util.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,18 +1,29 @@
|
|
|
1
1
|
import ValidateSchema, { ValidateError as OriginalValidateError, ValidateOption as OriginalValidateOption, RuleItem as OriginalValidateRuleItem, ValidateCallback, ExecuteRule as ValidateExecuteRule, ExecuteValidator as ValidateExecuteValidator, ValidateFieldsError, InternalRuleItem as ValidateInternalRuleItem, InternalValidateMessages as ValidateInternalValidateMessages, ValidateMessages, ValidateResult, RuleType as ValidateRuleType, RuleValuePackage as ValidateRuleValuePackage, Value as ValidateValue, Values as ValidateValues } from 'async-validator';
|
|
2
|
+
import { I18n } from '../common/i18n';
|
|
2
3
|
export interface ValidateOption extends OriginalValidateOption {
|
|
3
4
|
/** 模型 */
|
|
4
5
|
model?: string;
|
|
6
|
+
/** 规则 */
|
|
7
|
+
rules?: GetRulesOptions;
|
|
8
|
+
}
|
|
9
|
+
export interface WrapRulesOptions extends ValidateOption {
|
|
10
|
+
/** 覆盖规则: 默认为false */
|
|
11
|
+
override?: boolean;
|
|
5
12
|
}
|
|
6
13
|
export interface ValidateRuleItemRequiredFnOptions {
|
|
7
14
|
item: ValidateRuleItem;
|
|
8
15
|
}
|
|
9
16
|
export interface ValidateRuleItem extends Omit<OriginalValidateRuleItem, 'fields'> {
|
|
17
|
+
/** 路径 */
|
|
18
|
+
path?: string;
|
|
10
19
|
/** 子规则 */
|
|
11
|
-
fields?:
|
|
20
|
+
fields?: ValidateRules;
|
|
12
21
|
}
|
|
13
22
|
export declare type ValidateRule = ValidateRuleItem | ValidateRuleItem[];
|
|
14
23
|
export declare type ValidateRules = Record<string, ValidateRule>;
|
|
15
24
|
export interface GetRuleOptions extends Omit<ValidateRuleItem, 'fields'> {
|
|
25
|
+
/** 字段 */
|
|
26
|
+
label?: string;
|
|
16
27
|
/** 子规则 */
|
|
17
28
|
fields?: Record<string, GetRuleOptions | GetRuleOptions[]>;
|
|
18
29
|
/** 正则表达式 */
|
|
@@ -70,22 +81,30 @@ declare const validateUtil: {
|
|
|
70
81
|
* @param data 数据
|
|
71
82
|
* @returns 校验结果
|
|
72
83
|
*/
|
|
73
|
-
validate: (rules: ValidateRules
|
|
84
|
+
validate: (rules: ValidateRules, data: ValidateValues, options?: ValidateOption | undefined, callback?: ValidateCallback | undefined) => Promise<ValidateResponse>;
|
|
85
|
+
getRules: (rules: GetRulesOptions, initialRules?: ValidateRules, options?: {
|
|
86
|
+
i18n: I18n;
|
|
87
|
+
}) => ValidateRules;
|
|
74
88
|
/** 获取规则 */
|
|
75
89
|
getRule(options: GetRuleOptions): ValidateRuleItem;
|
|
90
|
+
collectRulesRequired: (requires: Record<string, boolean[]>, rules: ValidateRules) => Record<string, boolean[]>;
|
|
91
|
+
collectRulesRequiredAssign: (requires: Record<string, boolean[]>, rules: ValidateRules) => void;
|
|
92
|
+
normalizeRules: (rules: ValidateRules) => ValidateRules;
|
|
76
93
|
};
|
|
77
94
|
export default validateUtil;
|
|
78
95
|
export interface ValidatorOptions {
|
|
79
96
|
action: string;
|
|
80
|
-
rules: Record<string, GetRuleOptions>;
|
|
97
|
+
rules: Record<string, GetRuleOptions | GetRuleOptions[]>;
|
|
81
98
|
model?: string;
|
|
99
|
+
i18n?: I18n | (() => I18n);
|
|
82
100
|
}
|
|
83
101
|
export declare class Validator {
|
|
84
102
|
action: string;
|
|
85
|
-
rules:
|
|
103
|
+
rules: ValidateRules;
|
|
86
104
|
model: string;
|
|
105
|
+
i18n: I18n | (() => I18n);
|
|
87
106
|
constructor(options: ValidatorOptions);
|
|
107
|
+
getI18n(): I18n;
|
|
88
108
|
validate(data: ValidateValues, options?: ValidateOption, callback?: ValidateCallback): Promise<ValidateResponse>;
|
|
89
|
-
|
|
90
|
-
private loadRule;
|
|
109
|
+
wrapRules(options: WrapRulesOptions): this;
|
|
91
110
|
}
|
|
@@ -5,6 +5,7 @@ var tslib_1 = require("tslib");
|
|
|
5
5
|
var async_validator_1 = (0, tslib_1.__importDefault)(require("async-validator"));
|
|
6
6
|
exports.ValidateSchema = async_validator_1.default;
|
|
7
7
|
var lodash_1 = (0, tslib_1.__importDefault)(require("lodash"));
|
|
8
|
+
var i18n_1 = require("../common/i18n");
|
|
8
9
|
var format_util_1 = require("./format.util");
|
|
9
10
|
/** 校验工具 */
|
|
10
11
|
var validateUtil = {
|
|
@@ -90,17 +91,39 @@ var validateUtil = {
|
|
|
90
91
|
}
|
|
91
92
|
});
|
|
92
93
|
}); },
|
|
94
|
+
getRules: function (rules, initialRules, options) {
|
|
95
|
+
if (initialRules === void 0) { initialRules = {}; }
|
|
96
|
+
if (options === void 0) { options = { i18n: i18n_1.i18nConfig.i18n }; }
|
|
97
|
+
var mergedRules = lodash_1.default.reduce(rules, function (result, rule, fieldKey) {
|
|
98
|
+
var _a, _b;
|
|
99
|
+
var i18n = (_a = options.i18n) !== null && _a !== void 0 ? _a : i18n_1.i18nConfig.i18n;
|
|
100
|
+
var label = i18n.t(fieldKey);
|
|
101
|
+
var loadedRules = Array.isArray(rule)
|
|
102
|
+
? rule.map(function (option) { return validateUtil.getRule((0, tslib_1.__assign)({ label: label, path: fieldKey }, option)); })
|
|
103
|
+
: [validateUtil.getRule((0, tslib_1.__assign)({ label: label, path: fieldKey }, rule))];
|
|
104
|
+
var previousRules = (_b = Reflect.get(result, fieldKey)) !== null && _b !== void 0 ? _b : [];
|
|
105
|
+
var storedRules = Array.isArray(previousRules) ? previousRules : [previousRules];
|
|
106
|
+
storedRules.push.apply(storedRules, loadedRules);
|
|
107
|
+
Reflect.set(result, fieldKey, storedRules);
|
|
108
|
+
return result;
|
|
109
|
+
}, initialRules);
|
|
110
|
+
return validateUtil.normalizeRules(mergedRules);
|
|
111
|
+
},
|
|
93
112
|
/** 获取规则 */
|
|
94
113
|
getRule: function (options) {
|
|
95
114
|
var _this = this;
|
|
96
|
-
var _a, _b, _c;
|
|
115
|
+
var _a, _b, _c, _d;
|
|
116
|
+
var path = (_a = options === null || options === void 0 ? void 0 : options.path) !== null && _a !== void 0 ? _a : '';
|
|
97
117
|
var regexpKey = options === null || options === void 0 ? void 0 : options.regexpKey;
|
|
98
|
-
var regexp = (
|
|
99
|
-
var type = (
|
|
100
|
-
var regexpReversed = (
|
|
118
|
+
var regexp = (_b = options === null || options === void 0 ? void 0 : options.regexp) !== null && _b !== void 0 ? _b : (regexpKey ? Reflect.get(format_util_1.regExps, regexpKey) : undefined);
|
|
119
|
+
var type = (_c = options === null || options === void 0 ? void 0 : options.type) !== null && _c !== void 0 ? _c : (options.fields ? 'object' : 'string');
|
|
120
|
+
var regexpReversed = (_d = options === null || options === void 0 ? void 0 : options.regexpReversed) !== null && _d !== void 0 ? _d : false;
|
|
101
121
|
var message = (function () {
|
|
102
122
|
var _a;
|
|
103
123
|
if (options.message) {
|
|
124
|
+
if (typeof options.message === 'function') {
|
|
125
|
+
return options.message(options.label);
|
|
126
|
+
}
|
|
104
127
|
return options.message;
|
|
105
128
|
}
|
|
106
129
|
if (regexpKey) {
|
|
@@ -136,14 +159,14 @@ var validateUtil = {
|
|
|
136
159
|
});
|
|
137
160
|
}); };
|
|
138
161
|
})();
|
|
139
|
-
var rule = (0, tslib_1.__assign)((0, tslib_1.__assign)({}, options), { type: type, message: message });
|
|
162
|
+
var rule = (0, tslib_1.__assign)((0, tslib_1.__assign)({}, options), { type: type, message: message, path: path });
|
|
140
163
|
if (asyncValidator) {
|
|
141
164
|
rule.asyncValidator = asyncValidator;
|
|
142
165
|
}
|
|
143
166
|
if (options.fields) {
|
|
144
167
|
rule.fields = lodash_1.default.reduce(options.fields, function (result, field, fieldKey) {
|
|
145
168
|
var fields = (Array.isArray(field) ? field : [field]).map(function (field) {
|
|
146
|
-
return validateUtil.getRule(field);
|
|
169
|
+
return validateUtil.getRule((0, tslib_1.__assign)({ path: "".concat(path, ".").concat(fieldKey) }, field));
|
|
147
170
|
});
|
|
148
171
|
Reflect.set(result, fieldKey, fields);
|
|
149
172
|
return result;
|
|
@@ -151,36 +174,75 @@ var validateUtil = {
|
|
|
151
174
|
}
|
|
152
175
|
return rule;
|
|
153
176
|
},
|
|
177
|
+
collectRulesRequired: function (requires, rules) {
|
|
178
|
+
Object.keys(rules).forEach(function (fieldKey) {
|
|
179
|
+
var fieldRules = rules[fieldKey];
|
|
180
|
+
(Array.isArray(fieldRules) ? fieldRules : [fieldRules]).forEach(function (rule) {
|
|
181
|
+
var _a;
|
|
182
|
+
if (typeof rule.required === 'boolean') {
|
|
183
|
+
if (rule.path) {
|
|
184
|
+
requires[_a = rule.path] || (requires[_a] = []);
|
|
185
|
+
requires[rule.path].push(rule.required);
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
if (rule.fields) {
|
|
189
|
+
validateUtil.collectRulesRequired(requires, rule.fields);
|
|
190
|
+
}
|
|
191
|
+
});
|
|
192
|
+
});
|
|
193
|
+
return requires;
|
|
194
|
+
},
|
|
195
|
+
collectRulesRequiredAssign: function (requires, rules) {
|
|
196
|
+
Object.keys(rules).forEach(function (fieldKey) {
|
|
197
|
+
var fieldRules = rules[fieldKey];
|
|
198
|
+
var fieldRulesArray = Array.isArray(fieldRules) ? fieldRules : [fieldRules];
|
|
199
|
+
fieldRulesArray.forEach(function (rule, ruleIndex) {
|
|
200
|
+
var _a;
|
|
201
|
+
if (ruleIndex === 0 && rule.path && lodash_1.default.last((_a = requires[rule.path]) !== null && _a !== void 0 ? _a : [])) {
|
|
202
|
+
rule.required = true;
|
|
203
|
+
delete requires[rule.path];
|
|
204
|
+
}
|
|
205
|
+
else {
|
|
206
|
+
delete rule.required;
|
|
207
|
+
}
|
|
208
|
+
if (rule.fields) {
|
|
209
|
+
validateUtil.collectRulesRequiredAssign(requires, rule.fields);
|
|
210
|
+
}
|
|
211
|
+
});
|
|
212
|
+
});
|
|
213
|
+
},
|
|
214
|
+
normalizeRules: function (rules) {
|
|
215
|
+
var pureRules = lodash_1.default.cloneDeep(rules);
|
|
216
|
+
var requires = validateUtil.collectRulesRequired({}, pureRules);
|
|
217
|
+
validateUtil.collectRulesRequiredAssign(requires, pureRules);
|
|
218
|
+
return pureRules;
|
|
219
|
+
},
|
|
154
220
|
};
|
|
155
221
|
exports.default = validateUtil;
|
|
156
222
|
var Validator = /** @class */ (function () {
|
|
157
223
|
function Validator(options) {
|
|
158
|
-
var _a, _b;
|
|
224
|
+
var _a, _b, _c;
|
|
159
225
|
this.rules = {};
|
|
160
226
|
this.model = 'Base';
|
|
161
227
|
this.action = options.action;
|
|
162
|
-
this.rules =
|
|
228
|
+
this.rules = validateUtil.getRules((_a = options.rules) !== null && _a !== void 0 ? _a : {}, this.rules, { i18n: this.getI18n() });
|
|
163
229
|
this.model = (_b = options.model) !== null && _b !== void 0 ? _b : this.model;
|
|
230
|
+
this.i18n = (_c = options.i18n) !== null && _c !== void 0 ? _c : i18n_1.i18nConfig.i18n;
|
|
164
231
|
}
|
|
165
|
-
Validator.prototype.
|
|
166
|
-
|
|
232
|
+
Validator.prototype.getI18n = function () {
|
|
233
|
+
var _a;
|
|
234
|
+
return (_a = (typeof this.i18n === 'function' ? this.i18n() : this.i18n)) !== null && _a !== void 0 ? _a : i18n_1.i18nConfig.i18n;
|
|
167
235
|
};
|
|
168
|
-
Validator.prototype.
|
|
169
|
-
var
|
|
170
|
-
return
|
|
171
|
-
var loadedRule = _this.loadRule(options);
|
|
172
|
-
Reflect.set(result, fieldKey, loadedRule);
|
|
173
|
-
return result;
|
|
174
|
-
}, {});
|
|
236
|
+
Validator.prototype.validate = function (data, options, callback) {
|
|
237
|
+
var _a;
|
|
238
|
+
return validateUtil.validate(validateUtil.getRules((_a = options === null || options === void 0 ? void 0 : options.rules) !== null && _a !== void 0 ? _a : {}, this.rules, { i18n: this.getI18n() }), data, (0, tslib_1.__assign)({ model: this.model }, options), callback);
|
|
175
239
|
};
|
|
176
|
-
Validator.prototype.
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
}
|
|
183
|
-
return validateUtil.getRule(options);
|
|
240
|
+
Validator.prototype.wrapRules = function (options) {
|
|
241
|
+
var _a, _b;
|
|
242
|
+
var override = (_a = options.override) !== null && _a !== void 0 ? _a : false;
|
|
243
|
+
var validator = override ? this : lodash_1.default.cloneDeep(this);
|
|
244
|
+
validator.rules = validateUtil.getRules((_b = options.rules) !== null && _b !== void 0 ? _b : {}, validator.rules, { i18n: validator.getI18n() });
|
|
245
|
+
return validator;
|
|
184
246
|
};
|
|
185
247
|
return Validator;
|
|
186
248
|
}());
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate.util.js","sourceRoot":"","sources":["../../src/utils/validate.util.ts"],"names":[],"mappings":";;;;AAAA,iFAgByB;
|
|
1
|
+
{"version":3,"file":"validate.util.js","sourceRoot":"","sources":["../../src/utils/validate.util.ts"],"names":[],"mappings":";;;;AAAA,iFAgByB;AAmEhB,yBAnFF,yBAAc,CAmFE;AAlEvB,+DAAuB;AACvB,uCAAkD;AAClD,6CAAwC;AAiFxC,WAAW;AACX,IAAM,YAAY,GAAG;IACnB;;;;OAIG;IACH,SAAS,EAAE,UAAC,KAAqC;QAC/C,IAAI,KAAK,YAAY,yBAAc,EAAE;YACnC,OAAO,KAAK,CAAC;SACd;QAED,OAAO,IAAI,yBAAc,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC;IAED,eAAe,EAAE,UAAC,KAAc;;QAC9B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,SAAS,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,CAAC,EAAE;YACzF,OAAO,MAAA,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,CAAC,mCAAI,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;SACnE;QAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAC7B,OAAO,KAAK,CAAC;SACd;QAED,IAAI;YACF,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;SAC9B;QAAC,OAAO,GAAG,EAAE;YACZ,OAAO,KAAK,CAAC;SACd;IACH,CAAC;IAED;;;;;OAKG;IACH,SAAS,EAAE,UAAC,KAAc,EAAE,OAA0B;;QACpD,IAAM,KAAK,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,KAAK,mCAAI,MAAM,CAAC;QAEvC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,QAAQ,IAAI,KAAK,EAAE;YACpE,OAAQ,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAqB,CAAC,GAAG,CAAC,UAAC,GAAG;gBAC/D,uDACK,gBAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,KACvC,OAAO,EAAE,YAAY,CAAC,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,EAClD,KAAK,OAAA,IACL;YACJ,CAAC,CAAC,CAAC;SACJ;QAED,OAAO;YACL;gBACE,OAAO,EAAE,YAAY,CAAC,eAAe,CAAC,KAAK,CAAC;gBAC5C,UAAU,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,UAAU;gBAC/B,KAAK,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,KAAK;gBACrB,KAAK,OAAA;aACN;SACiB,CAAC;IACvB,CAAC;IAED;;;;;OAKG;IACH,QAAQ,EAAE,UACR,KAAoB,EACpB,IAAoB,EACpB,OAAwB,EACxB,QAA2B;;;;;;oBAErB,KAAK,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,KAAK,mCAAI,MAAM,CAAC;;;;oBAG/B,MAAM,GAAG,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;oBAC7C,qBAAM,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAA;;oBAA9C,SAA8C,CAAC;oBAC/C,sBAAO;4BACL,OAAO,EAAE,IAAI;yBACd,EAAC;;;oBAEF,sBAAO;4BACL,OAAO,EAAE,KAAK;4BACd,MAAM,EAAE,YAAY,CAAC,SAAS,CAAC,OAAK,EAAE,EAAE,KAAK,OAAA,EAAE,CAAC;yBACjD,EAAC;;;;SAEL;IAED,QAAQ,EAAE,UAAC,KAAsB,EAAE,YAAgC,EAAE,OAAmD;QAArF,6BAAA,EAAA,iBAAgC;QAAE,wBAAA,EAAA,YAA4B,IAAI,EAAE,iBAAU,CAAC,IAAI,EAAE;QACtH,IAAM,WAAW,GAAG,gBAAC,CAAC,MAAM,CAC1B,KAAK,EACL,UAAC,MAAM,EAAE,IAAI,EAAE,QAAQ;;YACrB,IAAM,IAAI,GAAG,MAAA,OAAO,CAAC,IAAI,mCAAI,iBAAU,CAAC,IAAI,CAAC;YAC7C,IAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YAC/B,IAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;gBACrC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,UAAC,MAAM,IAAK,OAAA,YAAY,CAAC,OAAO,yBAAG,KAAK,OAAA,EAAE,IAAI,EAAE,QAAQ,IAAK,MAAM,EAAG,EAA1D,CAA0D,CAAC;gBAClF,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,yBAAG,KAAK,OAAA,EAAE,IAAI,EAAE,QAAQ,IAAK,IAAI,EAAG,CAAC,CAAC;YAE/D,IAAM,aAAa,GAAG,MAAA,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,mCAAI,EAAE,CAAC;YAC1D,IAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;YACnF,WAAW,CAAC,IAAI,OAAhB,WAAW,EAAS,WAAW,EAAE;YACjC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;YAC3C,OAAO,MAAM,CAAC;QAChB,CAAC,EACD,YAAY,CACb,CAAC;QAEF,OAAO,YAAY,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;IAClD,CAAC;IAED,WAAW;IACX,OAAO,EAAP,UAAQ,OAAuB;QAA/B,iBAiFC;;QAhFC,IAAM,IAAI,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,mCAAI,EAAE,CAAC;QACjC,IAAM,SAAS,GAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS,CAAC;QACrC,IAAM,MAAM,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,mCAAI,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,qBAAO,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAC5F,IAAM,IAAI,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,mCAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QACrE,IAAM,cAAc,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,cAAc,mCAAI,KAAK,CAAC;QAExD,IAAM,OAAO,GAAG,CAAC;;YACf,IAAI,OAAO,CAAC,OAAO,EAAE;gBACnB,IAAI,OAAO,OAAO,CAAC,OAAO,KAAK,UAAU,EAAE;oBACzC,OAAO,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;iBACvC;gBAED,OAAO,OAAO,CAAC,OAAO,CAAC;aACxB;YAED,IAAI,SAAS,EAAE;gBACb,OAAO,UAAG,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS,cAAI,MAAA,OAAO,CAAC,SAAS,mCAAI,QAAQ,CAAE,CAAC;aACrG;YAED,OAAO,SAAS,CAAC;QACnB,CAAC,CAAC,EAAE,CAAC;QAEL,IAAM,cAAc,GAAG,CAAC;YACtB,IAAI,CAAC,MAAM,IAAI,OAAO,CAAC,cAAc,KAAK,SAAS,EAAE;gBACnD,OAAO,SAAS,CAAC;aAClB;YAED,OAAO,UACL,IAA8B,EAC9B,KAAoB,EACpB,QAA0C,EAC1C,MAAsB,EACtB,MAAsB;;;;4BAEtB,IAAI,MAAM,EAAE;gCACV,IAAI,cAAc,EAAE;oCAClB,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;wCACtB,sBAAO,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,EAAC;qCAChC;iCACF;qCAAM;oCACL,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;wCACvB,sBAAO,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,EAAC;qCAChC;iCACF;6BACF;iCAEG,CAAA,OAAO,OAAO,CAAC,cAAc,KAAK,UAAU,CAAA,EAA5C,wBAA4C;4BACvC,qBAAM,OAAO,CAAC,cAAc,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAA;gCAA1E,sBAAO,SAAmE,EAAC;gCAG7E,sBAAO,OAAO,CAAC,OAAO,EAAE,EAAC;;;iBAC1B,CAAC;QACJ,CAAC,CAAC,EAAE,CAAC;QAEL,IAAM,IAAI,mDACL,OAAO,KACV,IAAI,MAAA,EACJ,OAAO,SAAA,EACP,IAAI,MAAA,GACL,CAAC;QAEF,IAAI,cAAc,EAAE;YAClB,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;SACtC;QAED,IAAI,OAAO,CAAC,MAAM,EAAE;YAClB,IAAI,CAAC,MAAM,GAAG,gBAAC,CAAC,MAAM,CACpB,OAAO,CAAC,MAAM,EACd,UAAC,MAAqB,EAAE,KAAK,EAAE,QAAQ;gBACrC,IAAM,MAAM,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,UAAC,KAAK;oBAChE,OAAO,YAAY,CAAC,OAAO,yBAAG,IAAI,EAAE,UAAG,IAAI,cAAI,QAAQ,CAAE,IAAK,KAAK,EAAG,CAAC;gBACzE,CAAC,CAAC,CAAC;gBACH,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;gBACtC,OAAO,MAAM,CAAC;YAChB,CAAC,EACD,EAAE,CACH,CAAC;SACH;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED,oBAAoB,EAAE,UAAC,QAAmC,EAAE,KAAoB;QAC9E,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,UAAC,QAAQ;YAClC,IAAM,UAAU,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;YAEnC,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,UAAC,IAAI;;gBACnE,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE;oBACtC,IAAI,IAAI,CAAC,IAAI,EAAE;wBACb,QAAQ,MAAC,IAAI,CAAC,IAAI,MAAlB,QAAQ,OAAgB,EAAE,EAAC;wBAC3B,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;qBACzC;iBACF;gBAED,IAAI,IAAI,CAAC,MAAM,EAAE;oBACf,YAAY,CAAC,oBAAoB,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;iBAC1D;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,0BAA0B,EAAE,UAAC,QAAmC,EAAE,KAAoB;QACpF,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,UAAC,QAAQ;YAClC,IAAM,UAAU,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;YACnC,IAAM,eAAe,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YAE9E,eAAe,CAAC,OAAO,CAAC,UAAC,IAAI,EAAE,SAAS;;gBACtC,IAAI,SAAS,KAAK,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI,gBAAC,CAAC,IAAI,CAAC,MAAA,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,mCAAI,EAAE,CAAC,EAAE;oBACrE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;oBACrB,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;iBAC5B;qBAAM;oBACL,OAAO,IAAI,CAAC,QAAQ,CAAC;iBACtB;gBAED,IAAI,IAAI,CAAC,MAAM,EAAE;oBACf,YAAY,CAAC,0BAA0B,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;iBAChE;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,cAAc,EAAE,UAAC,KAAoB;QACnC,IAAM,SAAS,GAAG,gBAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACrC,IAAM,QAAQ,GAAG,YAAY,CAAC,oBAAoB,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;QAClE,YAAY,CAAC,0BAA0B,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QAC7D,OAAO,SAAS,CAAC;IACnB,CAAC;CACF,CAAC;AAEF,kBAAe,YAAY,CAAC;AAS5B;IAME,mBAAY,OAAyB;;QAJ9B,UAAK,GAAkB,EAAE,CAAC;QAC1B,UAAK,GAAG,MAAM,CAAC;QAIpB,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,KAAK,GAAG,YAAY,CAAC,QAAQ,CAAC,MAAA,OAAO,CAAC,KAAK,mCAAI,EAAE,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAC9F,IAAI,CAAC,KAAK,GAAG,MAAA,OAAO,CAAC,KAAK,mCAAI,IAAI,CAAC,KAAK,CAAC;QACzC,IAAI,CAAC,IAAI,GAAG,MAAA,OAAO,CAAC,IAAI,mCAAI,iBAAU,CAAC,IAAI,CAAC;IAC9C,CAAC;IAEM,2BAAO,GAAd;;QACE,OAAO,MAAA,CAAC,OAAO,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,mCAAI,iBAAU,CAAC,IAAI,CAAC;IACxF,CAAC;IAEM,4BAAQ,GAAf,UAAgB,IAAoB,EAAE,OAAwB,EAAE,QAA2B;;QACzF,OAAO,YAAY,CAAC,QAAQ,CAC1B,YAAY,CAAC,QAAQ,CAAC,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,KAAK,mCAAI,EAAE,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,EACjF,IAAI,0BACF,KAAK,EAAE,IAAI,CAAC,KAAK,IAAK,OAAO,GAC/B,QAAQ,CACT,CAAC;IACJ,CAAC;IAEM,6BAAS,GAAhB,UAAiB,OAAyB;;QACxC,IAAM,QAAQ,GAAG,MAAA,OAAO,CAAC,QAAQ,mCAAI,KAAK,CAAC;QAC3C,IAAM,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,gBAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACtD,SAAS,CAAC,KAAK,GAAG,YAAY,CAAC,QAAQ,CAAC,MAAA,OAAO,CAAC,KAAK,mCAAI,EAAE,EAAE,SAAS,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAC7G,OAAO,SAAS,CAAC;IACnB,CAAC;IACH,gBAAC;AAAD,CAAC,AAhCD,IAgCC;AAhCY,8BAAS"}
|