almighty-tool 0.0.38 → 0.0.40

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.
@@ -2,7 +2,42 @@ 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: Record<string, RegExp>;
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
42
  /** 判断是否是手机号码 */
8
43
  isMobileNumber(mobileNumber: string, locale?: string): boolean;
@@ -9,7 +9,9 @@ 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': /^(?![\s\u3000]+$).+$/,
12
+ 'blank-string': /^([\s\u3000\n\t])*$/,
13
+ /** 含有空格 */
14
+ 'contain-blank': /[\s\u3000\n\t]/,
13
15
  /** 邮箱 */
14
16
  email: /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/,
15
17
  /** 手机号 */
@@ -44,7 +46,7 @@ exports.default = {
44
46
  isMobileNumber: function (mobileNumber, locale) {
45
47
  if (locale === void 0) { locale = exports.DEFAULT_LOCALE; }
46
48
  if (locale === 'zh-CN') {
47
- return exports.regExps.cnMobilePhone.test(mobileNumber);
49
+ return exports.regExps['mobile-number-china'].test(mobileNumber);
48
50
  }
49
51
  else {
50
52
  /** 其他的暂不支持 */
@@ -76,7 +78,7 @@ exports.default = {
76
78
  },
77
79
  /** 是否包含中文 */
78
80
  isContainChinese: function (str) {
79
- return exports.regExps.cnWords.test(str);
81
+ return exports.regExps['words-chinese'].test(str);
80
82
  },
81
83
  /** 是否是链接 */
82
84
  isUrl: function (str) {
@@ -1 +1 @@
1
- {"version":3,"file":"format.util.js","sourceRoot":"","sources":["../../src/utils/format.util.ts"],"names":[],"mappings":"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"}
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,GAAG;IACrB,SAAS;IACT,GAAG,EAAE,yXAAyX;IAC9X,WAAW;IACX,cAAc,EAAE,qBAAqB;IACrC,WAAW;IACX,eAAe,EAAE,gBAAgB;IACjC,SAAS;IACT,KAAK,EAAE,kDAAkD;IACzD,UAAU;IACV,qBAAqB,EAAE,mBAAmB;IAC1C,UAAU;IACV,eAAe,EACb,yNAAyN;IAC3N,aAAa;IACb,kBAAkB,EAAE,8EAA8E;IAClG,UAAU;IACV,aAAa,EAAE,UAAU;IACzB,SAAS;IACT,eAAe,EAAE,2CAA2C;IAC5D,aAAa;IACb,cAAc,EAAE,6FAA6F;IAC7G,aAAa;IACb,cAAc,EAAE,4CAA4C;IAC5D,YAAY;IACZ,aAAa,EAAE,2CAA2C;IAC1D,WAAW;IACX,YAAY,EACV,kLAAkL;IACpL,SAAS;IACT,aAAa,EAAE,gEAAgE;IAC/E,SAAS;IACT,aAAa,EAAE,yBAAyB;IACxC,SAAS;IACT,aAAa,EAAE,qBAAqB;IACpC,WAAW;IACX,kBAAkB,EAAE,2CAA2C;CAChE,CAAC;AAEF,kBAAe;IACb,gBAAgB;IAChB,cAAc,EAAd,UAAe,YAAoB,EAAE,MAA+B;QAA/B,uBAAA,EAAA,SAAiB,sBAAc;QAClE,IAAI,MAAM,KAAK,OAAO,EAAE;YACtB,OAAO,eAAO,CAAC,qBAAqB,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;SAC1D;aAAM;YACL,cAAc;YACd,OAAO,KAAK,CAAC;SACd;IACH,CAAC;IAED,aAAa;IACb,YAAY,EAAZ,UAAa,GAAW;QACtB,OAAO,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC9B,CAAC;IAED;;;;OAIG;IACH,OAAO,EAAP,UAAQ,GAAW;QACjB,OAAO,eAAO,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACjC,CAAC;IAED,kBAAkB;IAClB,aAAa,EAAb,UAAc,GAAW,EAAE,IAAkB;QAAlB,qBAAA,EAAA,SAAkB;QAC3C,IAAI,IAAI,KAAK,EAAE,IAAI,GAAG,CAAC,MAAM,KAAK,EAAE,EAAE;YACpC,OAAO,eAAO,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SAC9C;QAED,IAAI,IAAI,KAAK,EAAE,IAAI,GAAG,CAAC,MAAM,KAAK,EAAE,EAAE;YACpC,OAAO,eAAO,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SAC3C;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED,aAAa;IACb,gBAAgB,EAAhB,UAAiB,GAAW;QAC1B,OAAO,eAAO,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC5C,CAAC;IAED,YAAY;IACZ,KAAK,EAAL,UAAM,GAAW;QACf,OAAO,eAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC/B,CAAC;IAED,cAAc;IACd,YAAY,EAAZ,UAAa,KAAa;QACxB,IAAI,KAAK,EAAE;YACT,OAAO,KAAK;iBACT,IAAI,EAAE;iBACN,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC;iBAC1B,WAAW,EAAE,CAAC;SAClB;QAED,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,cAAc;IACd,UAAU,EAAV,UAAW,KAAa;QACtB,IAAI,KAAK,EAAE;YACT,OAAO,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,UAAC,IAAI,EAAE,MAAM;gBAC1C,OAAO,MAAM,CAAC,WAAW,EAAE,CAAC;YAC9B,CAAC,CAAC,CAAC;SACJ;QAED,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,wBAAwB;IACxB,sBAAsB,EAAtB,UAAuB,KAA6B;QAApD,iBAQC;QAPC,IAAM,MAAM,GAAa,EAAE,CAAC;QAE5B,gBAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,UAAC,GAAG;YACxB,MAAM,CAAC,IAAI,CAAC,CAAC,KAAI,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC/D,CAAC,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC;CACF,CAAC"}
@@ -1,9 +1,20 @@
1
- import ValidateSchema, { ValidateError as OriginalValidateError, ValidateOption as OriginalValidateOption, ValidateCallback, ExecuteRule as ValidateExecuteRule, ExecuteValidator as ValidateExecuteValidator, ValidateFieldsError, InternalRuleItem as ValidateInternalRuleItem, InternalValidateMessages as ValidateInternalValidateMessages, ValidateMessages, ValidateResult, Rule as ValidateRule, RuleItem as ValidateRuleItem, Rules as ValidateRules, RuleType as ValidateRuleType, RuleValuePackage as ValidateRuleValuePackage, Value as ValidateValue, Values as ValidateValues } from 'async-validator';
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
2
  export interface ValidateOption extends OriginalValidateOption {
3
3
  /** 模型 */
4
4
  model?: string;
5
5
  }
6
- export interface GetRuleOptions extends ValidateRuleItem {
6
+ export interface ValidateRuleItemRequiredFnOptions {
7
+ item: ValidateRuleItem;
8
+ }
9
+ export interface ValidateRuleItem extends Omit<OriginalValidateRuleItem, 'fields'> {
10
+ /** 子规则 */
11
+ fields?: Record<string, ValidateRule>;
12
+ }
13
+ export declare type ValidateRule = ValidateRuleItem | ValidateRuleItem[];
14
+ export declare type ValidateRules = Record<string, ValidateRule>;
15
+ export interface GetRuleOptions extends Omit<ValidateRuleItem, 'fields'> {
16
+ /** 子规则 */
17
+ fields?: Record<string, GetRuleOptions | GetRuleOptions[]>;
7
18
  /** 正则表达式 */
8
19
  regexp?: RegExp;
9
20
  /** 正则表达式的key */
@@ -11,6 +22,7 @@ export interface GetRuleOptions extends ValidateRuleItem {
11
22
  /** 相反 */
12
23
  regexpReversed?: boolean;
13
24
  }
25
+ export declare type GetRulesOptions = Record<string, GetRuleOptions | GetRuleOptions[]>;
14
26
  export interface GetErrorsOptions {
15
27
  /** 模型 */
16
28
  model?: string;
@@ -30,7 +42,7 @@ export interface ValidateResponse {
30
42
  errors?: ValidateError[];
31
43
  }
32
44
  export { ValidateSchema };
33
- export type { ValidateCallback, ValidateExecuteRule, ValidateExecuteValidator, ValidateFieldsError, ValidateInternalRuleItem, ValidateInternalValidateMessages, ValidateMessages, ValidateResult, ValidateRule, ValidateRuleItem, ValidateRules, ValidateRuleType, ValidateRuleValuePackage, ValidateValue, ValidateValues, };
45
+ export type { ValidateCallback, ValidateExecuteRule, ValidateExecuteValidator, ValidateFieldsError, ValidateInternalRuleItem, ValidateInternalValidateMessages, ValidateMessages, ValidateResult, ValidateRuleType, ValidateRuleValuePackage, ValidateValue, ValidateValues, };
34
46
  /** 校验工具 */
35
47
  declare const validateUtil: {
36
48
  /**
@@ -63,3 +75,17 @@ declare const validateUtil: {
63
75
  getRule(options: GetRuleOptions): ValidateRuleItem;
64
76
  };
65
77
  export default validateUtil;
78
+ export interface ValidatorOptions {
79
+ action: string;
80
+ rules: Record<string, GetRuleOptions | GetRuleOptions[]>;
81
+ model?: string;
82
+ }
83
+ export declare class Validator {
84
+ action: string;
85
+ rules: Record<string, ValidateRules>;
86
+ model: string;
87
+ constructor(options: ValidatorOptions);
88
+ validate(data: ValidateValues, options?: ValidateOption, callback?: ValidateCallback): Promise<ValidateResponse>;
89
+ private loadRules;
90
+ private loadRule;
91
+ }
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ValidateSchema = void 0;
3
+ exports.Validator = exports.ValidateSchema = void 0;
4
4
  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;
@@ -64,7 +64,7 @@ var validateUtil = {
64
64
  * @returns 校验结果
65
65
  */
66
66
  validate: function (rules, data, options, callback) { return (0, tslib_1.__awaiter)(void 0, void 0, void 0, function () {
67
- var model, error_1;
67
+ var model, schema, error_1;
68
68
  var _a;
69
69
  return (0, tslib_1.__generator)(this, function (_b) {
70
70
  switch (_b.label) {
@@ -73,7 +73,8 @@ var validateUtil = {
73
73
  _b.label = 1;
74
74
  case 1:
75
75
  _b.trys.push([1, 3, , 4]);
76
- return [4 /*yield*/, validateUtil.getSchema(rules).validate(data, options, callback)];
76
+ schema = validateUtil.getSchema(rules);
77
+ return [4 /*yield*/, schema.validate(data, options, callback)];
77
78
  case 2:
78
79
  _b.sent();
79
80
  return [2 /*return*/, {
@@ -92,39 +93,96 @@ var validateUtil = {
92
93
  /** 获取规则 */
93
94
  getRule: function (options) {
94
95
  var _this = this;
95
- var _a, _b, _c, _d;
96
+ var _a, _b, _c;
96
97
  var regexpKey = options === null || options === void 0 ? void 0 : options.regexpKey;
97
- var type = (_a = options === null || options === void 0 ? void 0 : options.type) !== null && _a !== void 0 ? _a : 'string';
98
- var message = (_b = options === null || options === void 0 ? void 0 : options.message) !== null && _b !== void 0 ? _b : "".concat(options.regexpReversed ? 'InvalidReversed' : 'Invalid', ":").concat((_c = options.regexpKey) !== null && _c !== void 0 ? _c : 'format');
99
- var regexpReversed = (_d = options === null || options === void 0 ? void 0 : options.regexpReversed) !== null && _d !== void 0 ? _d : false;
100
- var asyncValidator = function (rule, value, callback, source, option) { return (0, tslib_1.__awaiter)(_this, void 0, void 0, function () {
101
- var regexp;
98
+ var regexp = (_a = options === null || options === void 0 ? void 0 : options.regexp) !== null && _a !== void 0 ? _a : (regexpKey ? Reflect.get(format_util_1.regExps, regexpKey) : undefined);
99
+ var type = (_b = options === null || options === void 0 ? void 0 : options.type) !== null && _b !== void 0 ? _b : 'string';
100
+ var regexpReversed = (_c = options === null || options === void 0 ? void 0 : options.regexpReversed) !== null && _c !== void 0 ? _c : false;
101
+ var message = (function () {
102
102
  var _a;
103
- return (0, tslib_1.__generator)(this, function (_b) {
104
- switch (_b.label) {
105
- case 0:
106
- regexp = (_a = options === null || options === void 0 ? void 0 : options.regexp) !== null && _a !== void 0 ? _a : (regexpKey ? format_util_1.regExps[regexpKey] : undefined);
107
- if (regexp) {
108
- if (regexpReversed) {
109
- if (regexp.test(value)) {
110
- return [2 /*return*/, Promise.reject(message)];
103
+ if (options.message) {
104
+ return options.message;
105
+ }
106
+ if (regexpKey) {
107
+ return "".concat(options.regexpReversed ? 'InvalidReversed' : 'Invalid', ":").concat((_a = options.regexpKey) !== null && _a !== void 0 ? _a : 'format');
108
+ }
109
+ return undefined;
110
+ })();
111
+ var asyncValidator = (function () {
112
+ if (!regexp && options.asyncValidator === undefined) {
113
+ return undefined;
114
+ }
115
+ return function (rule, value, callback, source, option) { return (0, tslib_1.__awaiter)(_this, void 0, void 0, function () {
116
+ return (0, tslib_1.__generator)(this, function (_a) {
117
+ switch (_a.label) {
118
+ case 0:
119
+ if (regexp) {
120
+ if (regexpReversed) {
121
+ if (regexp.test(value)) {
122
+ return [2 /*return*/, Promise.reject(message)];
123
+ }
111
124
  }
112
- }
113
- else {
114
- if (!regexp.test(value)) {
115
- return [2 /*return*/, Promise.reject(message)];
125
+ else {
126
+ if (!regexp.test(value)) {
127
+ return [2 /*return*/, Promise.reject(message)];
128
+ }
116
129
  }
117
130
  }
118
- }
119
- if (!(typeof options.asyncValidator === 'function')) return [3 /*break*/, 2];
120
- return [4 /*yield*/, options.asyncValidator(rule, value, callback, source, option)];
121
- case 1: return [2 /*return*/, _b.sent()];
122
- case 2: return [2 /*return*/, Promise.resolve()];
123
- }
124
- });
125
- }); };
126
- return (0, tslib_1.__assign)((0, tslib_1.__assign)({}, options), { type: type, message: message, asyncValidator: asyncValidator });
131
+ if (!(typeof options.asyncValidator === 'function')) return [3 /*break*/, 2];
132
+ return [4 /*yield*/, options.asyncValidator(rule, value, callback, source, option)];
133
+ case 1: return [2 /*return*/, _a.sent()];
134
+ case 2: return [2 /*return*/, Promise.resolve()];
135
+ }
136
+ });
137
+ }); };
138
+ })();
139
+ var rule = (0, tslib_1.__assign)((0, tslib_1.__assign)({}, options), { type: type, message: message });
140
+ if (asyncValidator) {
141
+ rule.asyncValidator = asyncValidator;
142
+ }
143
+ if (options.fields) {
144
+ rule.fields = lodash_1.default.reduce(options.fields, function (result, field, fieldKey) {
145
+ var fields = (Array.isArray(field) ? field : [field]).map(function (field) {
146
+ return validateUtil.getRule(field);
147
+ });
148
+ Reflect.set(result, fieldKey, fields);
149
+ return result;
150
+ }, {});
151
+ }
152
+ return rule;
127
153
  },
128
154
  };
129
155
  exports.default = validateUtil;
156
+ var Validator = /** @class */ (function () {
157
+ function Validator(options) {
158
+ var _a, _b;
159
+ this.rules = {};
160
+ this.model = 'Base';
161
+ this.action = options.action;
162
+ this.rules = this.loadRules((_a = options.rules) !== null && _a !== void 0 ? _a : {});
163
+ this.model = (_b = options.model) !== null && _b !== void 0 ? _b : this.model;
164
+ }
165
+ Validator.prototype.validate = function (data, options, callback) {
166
+ return validateUtil.validate(this.rules, data, (0, tslib_1.__assign)({ model: this.model }, options), callback);
167
+ };
168
+ Validator.prototype.loadRules = function (rules) {
169
+ var _this = this;
170
+ return lodash_1.default.reduce(rules, function (result, options, fieldKey) {
171
+ var loadedRule = _this.loadRule(options);
172
+ Reflect.set(result, fieldKey, loadedRule);
173
+ return result;
174
+ }, {});
175
+ };
176
+ Validator.prototype.loadRule = function (options) {
177
+ if (options === void 0) { options = {}; }
178
+ if (Array.isArray(options)) {
179
+ return options.map(function (option) {
180
+ return validateUtil.getRule(option);
181
+ });
182
+ }
183
+ return validateUtil.getRule(options);
184
+ };
185
+ return Validator;
186
+ }());
187
+ exports.Validator = Validator;
130
188
  //# sourceMappingURL=validate.util.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"validate.util.js","sourceRoot":"","sources":["../../src/utils/validate.util.ts"],"names":[],"mappings":";;;;AAAA,iFAkByB;AAuChB,yBAzDF,yBAAc,CAyDE;AAtCvB,+DAAuB;AACvB,6CAAwC;AAyDxC,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,KAAqC,EACrC,IAAoB,EACpB,OAAwB,EACxB,QAA2B;;;;;;oBAErB,KAAK,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,KAAK,mCAAI,MAAM,CAAC;;;;oBAGrC,qBAAM,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAA;;oBAArE,SAAqE,CAAC;oBACtE,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,WAAW;IACX,OAAO,EAAP,UAAQ,OAAuB;QAA/B,iBAyCC;;QAxCC,IAAM,SAAS,GAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS,CAAC;QACrC,IAAM,IAAI,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,mCAAI,QAAQ,CAAC;QACvC,IAAM,OAAO,GACX,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,mCAAI,UAAG,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS,cAAI,MAAA,OAAO,CAAC,SAAS,mCAAI,QAAQ,CAAE,CAAC;QACnH,IAAM,cAAc,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,cAAc,mCAAI,KAAK,CAAC;QAExD,IAAM,cAAc,GAAG,UACrB,IAA8B,EAC9B,KAAoB,EACpB,QAA0C,EAC1C,MAAsB,EACtB,MAAsB;;;;;;wBAEhB,MAAM,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,mCAAI,CAAC,SAAS,CAAC,CAAC,CAAC,qBAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;wBAE/E,IAAI,MAAM,EAAE;4BACV,IAAI,cAAc,EAAE;gCAClB,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;oCACtB,sBAAO,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,EAAC;iCAChC;6BACF;iCAAM;gCACL,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;oCACvB,sBAAO,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,EAAC;iCAChC;6BACF;yBACF;6BAEG,CAAA,OAAO,OAAO,CAAC,cAAc,KAAK,UAAU,CAAA,EAA5C,wBAA4C;wBACvC,qBAAM,OAAO,CAAC,cAAc,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAA;4BAA1E,sBAAO,SAAmE,EAAC;4BAG7E,sBAAO,OAAO,CAAC,OAAO,EAAE,EAAC;;;aAC1B,CAAC;QAEF,uDACK,OAAO,KACV,IAAI,MAAA,EACJ,OAAO,SAAA,EACP,cAAc,gBAAA,IACd;IACJ,CAAC;CACF,CAAC;AAEF,kBAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"validate.util.js","sourceRoot":"","sources":["../../src/utils/validate.util.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "almighty-tool",
3
- "version": "0.0.38",
3
+ "version": "0.0.40",
4
4
  "description": "almighty-tool",
5
5
  "author": "happy",
6
6
  "private": false,