rxtutils 1.1.2-beta.1 → 1.1.2-beta.3

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.
@@ -4,6 +4,8 @@ var index = require('./cache/index.cjs');
4
4
  var index$1 = require('./request/index.cjs');
5
5
  var index$3 = require('./store/createGetter/index.cjs');
6
6
  var index$2 = require('./store/createStateStore/index.cjs');
7
+ var validator = require('./validator/validator.cjs');
8
+ var decorators = require('./validator/decorators.cjs');
7
9
 
8
10
 
9
11
 
@@ -12,3 +14,15 @@ exports.createBaseRequest = index$1;
12
14
  exports.createStoreGetter = index$3.createStoreGetter;
13
15
  exports.createStoreGetterMemo = index$3.createStoreGetterMemo;
14
16
  exports.createStateStore = index$2.default;
17
+ exports.BaseValidator = validator.BaseValidator;
18
+ exports.VArray = decorators.VArray;
19
+ exports.VBoolean = decorators.VBoolean;
20
+ exports.VEmail = decorators.VEmail;
21
+ exports.VMax = decorators.VMax;
22
+ exports.VMaxLength = decorators.VMaxLength;
23
+ exports.VMin = decorators.VMin;
24
+ exports.VMinLength = decorators.VMinLength;
25
+ exports.VNumber = decorators.VNumber;
26
+ exports.VPattern = decorators.VPattern;
27
+ exports.VRequired = decorators.VRequired;
28
+ exports.VString = decorators.VString;
@@ -38,7 +38,7 @@ function createBaseRequest(baseOptions) {
38
38
  if (method.toLowerCase() === 'post') {
39
39
  requestDataOrParams = data;
40
40
  }
41
- var _d = tslib.__assign(tslib.__assign(tslib.__assign({}, baseOptions), createOptions), options).defaultMessageShower, defaultMessageShower = _d === void 0 ? alert : _d;
41
+ var _d = tslib.__assign(tslib.__assign(tslib.__assign({}, baseOptions), createOptions), options).defaultMessageShower, defaultMessageShower = _d === void 0 ? console.error : _d;
42
42
  var _e = tslib.__assign(tslib.__assign(tslib.__assign({}, baseOptions), createOptions), options), _f = _e.enableCache, enableCache = _f === void 0 ? false : _f, _g = _e.cacheData, cacheData = _g === void 0 ? false : _g, _h = _e.defaultErrorCodeHandler, defaultErrorCodeHandler = _h === void 0 ? defaultHandlers._defaultErrorCodeHandler.bind(null, defaultMessageShower) : _h, _j = _e.defaultHttpErrorCodeHandler, defaultHttpErrorCodeHandler = _j === void 0 ? defaultHandlers._defaultHttpErrorCodeHandler.bind(null, defaultMessageShower) : _j, _k = _e.otherErrorHandler, otherErrorHandler = _k === void 0 ? defaultHandlers._defaultOtherErrorCodeHandler.bind(null, defaultMessageShower) : _k, _l = _e.errorCodePath, errorCodePath = _l === void 0 ? 'code' : _l, _m = _e.cacheTime, cacheTime = _m === void 0 ? 60 : _m, _o = _e.errorCodeMap, errorCodeMap = _o === void 0 ? {} : _o, _p = _e.successCodes, successCodes = _p === void 0 ? ['0', '200'] : _p, _q = _e.httpErrorCodeMap, httpErrorCodeMap = _q === void 0 ? {} : _q, _r = _e.axiosOptions, axiosOptions = _r === void 0 ? {} : _r, _s = _e.throwError, throwError = _s === void 0 ? true : _s;
43
43
  if (enableCache) {
44
44
  var cacheItem = cache.getCache(requestDataOrParams);
@@ -0,0 +1,104 @@
1
+ 'use strict';
2
+
3
+ var validator = require('./validator.cjs');
4
+
5
+ function VRequired(noneVals) {
6
+ if (noneVals === void 0) { noneVals = [undefined]; }
7
+ return validator.BaseValidator.decoratorCreator(function (val) {
8
+ if (noneVals.includes(val)) {
9
+ return false;
10
+ }
11
+ return true;
12
+ });
13
+ }
14
+ var VString = validator.BaseValidator.decoratorCreator(function (val) {
15
+ if (typeof val !== 'string') {
16
+ return false;
17
+ }
18
+ return true;
19
+ });
20
+ var VNumber = validator.BaseValidator.decoratorCreator(function (val) {
21
+ if (typeof val !== 'number') {
22
+ return false;
23
+ }
24
+ return true;
25
+ });
26
+ var VArray = validator.BaseValidator.decoratorCreator(function (val) {
27
+ if (!Array.isArray(val)) {
28
+ return false;
29
+ }
30
+ return true;
31
+ });
32
+ // 常用校验装饰器
33
+ var VBoolean = validator.BaseValidator.decoratorCreator(function (val) {
34
+ if (typeof val !== 'boolean') {
35
+ return false;
36
+ }
37
+ return true;
38
+ });
39
+ var VMin = function (min) {
40
+ return validator.BaseValidator.decoratorCreator(function (val) {
41
+ if (typeof val !== 'number' || val < min) {
42
+ return false;
43
+ }
44
+ return true;
45
+ });
46
+ };
47
+ var VMax = function (max) {
48
+ return validator.BaseValidator.decoratorCreator(function (val) {
49
+ if (typeof val !== 'number' || val > max) {
50
+ return false;
51
+ }
52
+ return true;
53
+ });
54
+ };
55
+ var VMinLength = function (minLen) {
56
+ return validator.BaseValidator.decoratorCreator(function (val) {
57
+ if (typeof val !== 'string' && !Array.isArray(val)) {
58
+ return false;
59
+ }
60
+ if (val.length < minLen) {
61
+ return false;
62
+ }
63
+ return true;
64
+ });
65
+ };
66
+ var VMaxLength = function (maxLen) {
67
+ return validator.BaseValidator.decoratorCreator(function (val) {
68
+ if (typeof val !== 'string' && !Array.isArray(val)) {
69
+ return false;
70
+ }
71
+ if (val.length > maxLen) {
72
+ return false;
73
+ }
74
+ return true;
75
+ });
76
+ };
77
+ var VEmail = validator.BaseValidator.decoratorCreator(function (val) {
78
+ if (typeof val !== 'string') {
79
+ return false;
80
+ }
81
+ // 简单邮箱正则
82
+ var emailReg = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
83
+ return emailReg.test(val);
84
+ });
85
+ var VPattern = function (pattern) {
86
+ return validator.BaseValidator.decoratorCreator(function (val) {
87
+ if (typeof val !== 'string') {
88
+ return false;
89
+ }
90
+ return pattern.test(val);
91
+ });
92
+ };
93
+
94
+ exports.VArray = VArray;
95
+ exports.VBoolean = VBoolean;
96
+ exports.VEmail = VEmail;
97
+ exports.VMax = VMax;
98
+ exports.VMaxLength = VMaxLength;
99
+ exports.VMin = VMin;
100
+ exports.VMinLength = VMinLength;
101
+ exports.VNumber = VNumber;
102
+ exports.VPattern = VPattern;
103
+ exports.VRequired = VRequired;
104
+ exports.VString = VString;
@@ -0,0 +1,124 @@
1
+ 'use strict';
2
+
3
+ var tslib = require('tslib');
4
+
5
+ var BaseValidator = /** @class */ (function () {
6
+ function BaseValidator() {
7
+ this.__keySymbol = Symbol('key-description');
8
+ this.__keySymbol = Symbol('key-description');
9
+ this[this.__keySymbol] = {};
10
+ }
11
+ BaseValidator.prototype.validate = function (itemKey, itemAll) {
12
+ if (itemAll === void 0) { itemAll = false; }
13
+ var validatorMap = this[this.__keySymbol];
14
+ var errors = [];
15
+ // 校验每个 key
16
+ var validators = validatorMap[itemKey];
17
+ if (!validators) {
18
+ return errors;
19
+ }
20
+ for (var _i = 0, validators_1 = validators; _i < validators_1.length; _i++) {
21
+ var validator = validators_1[_i];
22
+ var res = validator(this[itemKey]);
23
+ if (!res.status) {
24
+ errors.push(res);
25
+ if (!itemAll)
26
+ break;
27
+ }
28
+ }
29
+ if (errors.length) {
30
+ return errors;
31
+ }
32
+ return null;
33
+ };
34
+ BaseValidator.prototype.validateAll = function (itemAll, everyItem, order) {
35
+ if (itemAll === void 0) { itemAll = false; }
36
+ if (everyItem === void 0) { everyItem = false; }
37
+ var validatorMap = this[this.__keySymbol];
38
+ var errors = [];
39
+ // 校验每个 key
40
+ var keys = order || Object.keys(validatorMap);
41
+ for (var _i = 0, keys_1 = keys; _i < keys_1.length; _i++) {
42
+ var key = keys_1[_i];
43
+ var value = this[key];
44
+ var fns = validatorMap[key];
45
+ // 校验每个校验项目
46
+ for (var _a = 0, fns_1 = fns; _a < fns_1.length; _a++) {
47
+ var fn = fns_1[_a];
48
+ var res = fn(value);
49
+ if (!res.status) {
50
+ errors.push(res);
51
+ if (!itemAll)
52
+ break;
53
+ }
54
+ }
55
+ if (!everyItem) {
56
+ break;
57
+ }
58
+ }
59
+ if (errors.length) {
60
+ return errors;
61
+ }
62
+ return null;
63
+ };
64
+ BaseValidator.decoratorCreator = function (func) {
65
+ return function (message) {
66
+ if (message === void 0) { message = function (val, value, context) { return "".concat(String(context.name), "\u683C\u5F0F\u9519\u8BEF"); }; }
67
+ return function (value, context) {
68
+ context.addInitializer(function () {
69
+ var validators = this[this.__keySymbol];
70
+ if (!validators) {
71
+ this[this.__keySymbol] = {};
72
+ validators = this[this.__keySymbol];
73
+ }
74
+ var name = context.name;
75
+ var validator = function (val) {
76
+ var validateStatus = func(val, value, context);
77
+ if (validateStatus) {
78
+ return { status: true };
79
+ }
80
+ else {
81
+ var msg = '';
82
+ if (typeof message === 'function') {
83
+ msg = message(val, value, context);
84
+ }
85
+ else {
86
+ msg = message;
87
+ }
88
+ return { status: false, message: msg };
89
+ }
90
+ };
91
+ if (validators[name]) {
92
+ validators[name] = tslib.__spreadArray(tslib.__spreadArray([], validators[name], true), [validator], false);
93
+ }
94
+ else {
95
+ validators[name] = [validator];
96
+ }
97
+ });
98
+ };
99
+ };
100
+ };
101
+ return BaseValidator;
102
+ }());
103
+ // class User extends BaseValidator{
104
+ // @VString('名称必须为字符串')
105
+ // @(VRequired()('名称必须填写'))
106
+ // name?: string;
107
+ // @VNumber('年龄必须为数字')
108
+ // @(VRequired()('年龄必须填写'))
109
+ // age?: number;
110
+ // @VEmail('邮箱格式不正确')
111
+ // @(VRequired()('邮箱必须填写'))
112
+ // email?: string;
113
+ // @(VMinLength(6)('密码长度不能少于6位'))
114
+ // @(VRequired()('密码必须填写'))
115
+ // password?: string
116
+ // }
117
+ // const user = new User();
118
+ // user.name = '张三'
119
+ // user.email = ' asdfasdf'
120
+ // user.password = '12345'
121
+ // console.log(user)
122
+ // console.log(user.validateAll(false,true,['password','age','email']));
123
+
124
+ exports.BaseValidator = BaseValidator;
package/dist/es/index.mjs CHANGED
@@ -2,3 +2,5 @@ export { default as Cache } from './cache/index.mjs';
2
2
  export { default as createBaseRequest } from './request/index.mjs';
3
3
  export { createStoreGetter, createStoreGetterMemo } from './store/createGetter/index.mjs';
4
4
  export { default as createStateStore } from './store/createStateStore/index.mjs';
5
+ export { BaseValidator } from './validator/validator.mjs';
6
+ export { VArray, VBoolean, VEmail, VMax, VMaxLength, VMin, VMinLength, VNumber, VPattern, VRequired, VString } from './validator/decorators.mjs';
@@ -36,7 +36,7 @@ function createBaseRequest(baseOptions) {
36
36
  if (method.toLowerCase() === 'post') {
37
37
  requestDataOrParams = data;
38
38
  }
39
- var _d = __assign(__assign(__assign({}, baseOptions), createOptions), options).defaultMessageShower, defaultMessageShower = _d === void 0 ? alert : _d;
39
+ var _d = __assign(__assign(__assign({}, baseOptions), createOptions), options).defaultMessageShower, defaultMessageShower = _d === void 0 ? console.error : _d;
40
40
  var _e = __assign(__assign(__assign({}, baseOptions), createOptions), options), _f = _e.enableCache, enableCache = _f === void 0 ? false : _f, _g = _e.cacheData, cacheData = _g === void 0 ? false : _g, _h = _e.defaultErrorCodeHandler, defaultErrorCodeHandler = _h === void 0 ? _defaultErrorCodeHandler.bind(null, defaultMessageShower) : _h, _j = _e.defaultHttpErrorCodeHandler, defaultHttpErrorCodeHandler = _j === void 0 ? _defaultHttpErrorCodeHandler.bind(null, defaultMessageShower) : _j, _k = _e.otherErrorHandler, otherErrorHandler = _k === void 0 ? _defaultOtherErrorCodeHandler.bind(null, defaultMessageShower) : _k, _l = _e.errorCodePath, errorCodePath = _l === void 0 ? 'code' : _l, _m = _e.cacheTime, cacheTime = _m === void 0 ? 60 : _m, _o = _e.errorCodeMap, errorCodeMap = _o === void 0 ? {} : _o, _p = _e.successCodes, successCodes = _p === void 0 ? ['0', '200'] : _p, _q = _e.httpErrorCodeMap, httpErrorCodeMap = _q === void 0 ? {} : _q, _r = _e.axiosOptions, axiosOptions = _r === void 0 ? {} : _r, _s = _e.throwError, throwError = _s === void 0 ? true : _s;
41
41
  if (enableCache) {
42
42
  var cacheItem = cache.getCache(requestDataOrParams);
@@ -0,0 +1,92 @@
1
+ import { BaseValidator } from './validator.mjs';
2
+
3
+ function VRequired(noneVals) {
4
+ if (noneVals === void 0) { noneVals = [undefined]; }
5
+ return BaseValidator.decoratorCreator(function (val) {
6
+ if (noneVals.includes(val)) {
7
+ return false;
8
+ }
9
+ return true;
10
+ });
11
+ }
12
+ var VString = BaseValidator.decoratorCreator(function (val) {
13
+ if (typeof val !== 'string') {
14
+ return false;
15
+ }
16
+ return true;
17
+ });
18
+ var VNumber = BaseValidator.decoratorCreator(function (val) {
19
+ if (typeof val !== 'number') {
20
+ return false;
21
+ }
22
+ return true;
23
+ });
24
+ var VArray = BaseValidator.decoratorCreator(function (val) {
25
+ if (!Array.isArray(val)) {
26
+ return false;
27
+ }
28
+ return true;
29
+ });
30
+ // 常用校验装饰器
31
+ var VBoolean = BaseValidator.decoratorCreator(function (val) {
32
+ if (typeof val !== 'boolean') {
33
+ return false;
34
+ }
35
+ return true;
36
+ });
37
+ var VMin = function (min) {
38
+ return BaseValidator.decoratorCreator(function (val) {
39
+ if (typeof val !== 'number' || val < min) {
40
+ return false;
41
+ }
42
+ return true;
43
+ });
44
+ };
45
+ var VMax = function (max) {
46
+ return BaseValidator.decoratorCreator(function (val) {
47
+ if (typeof val !== 'number' || val > max) {
48
+ return false;
49
+ }
50
+ return true;
51
+ });
52
+ };
53
+ var VMinLength = function (minLen) {
54
+ return BaseValidator.decoratorCreator(function (val) {
55
+ if (typeof val !== 'string' && !Array.isArray(val)) {
56
+ return false;
57
+ }
58
+ if (val.length < minLen) {
59
+ return false;
60
+ }
61
+ return true;
62
+ });
63
+ };
64
+ var VMaxLength = function (maxLen) {
65
+ return BaseValidator.decoratorCreator(function (val) {
66
+ if (typeof val !== 'string' && !Array.isArray(val)) {
67
+ return false;
68
+ }
69
+ if (val.length > maxLen) {
70
+ return false;
71
+ }
72
+ return true;
73
+ });
74
+ };
75
+ var VEmail = BaseValidator.decoratorCreator(function (val) {
76
+ if (typeof val !== 'string') {
77
+ return false;
78
+ }
79
+ // 简单邮箱正则
80
+ var emailReg = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
81
+ return emailReg.test(val);
82
+ });
83
+ var VPattern = function (pattern) {
84
+ return BaseValidator.decoratorCreator(function (val) {
85
+ if (typeof val !== 'string') {
86
+ return false;
87
+ }
88
+ return pattern.test(val);
89
+ });
90
+ };
91
+
92
+ export { VArray, VBoolean, VEmail, VMax, VMaxLength, VMin, VMinLength, VNumber, VPattern, VRequired, VString };
@@ -0,0 +1,122 @@
1
+ import { __spreadArray } from 'tslib';
2
+
3
+ var BaseValidator = /** @class */ (function () {
4
+ function BaseValidator() {
5
+ this.__keySymbol = Symbol('key-description');
6
+ this.__keySymbol = Symbol('key-description');
7
+ this[this.__keySymbol] = {};
8
+ }
9
+ BaseValidator.prototype.validate = function (itemKey, itemAll) {
10
+ if (itemAll === void 0) { itemAll = false; }
11
+ var validatorMap = this[this.__keySymbol];
12
+ var errors = [];
13
+ // 校验每个 key
14
+ var validators = validatorMap[itemKey];
15
+ if (!validators) {
16
+ return errors;
17
+ }
18
+ for (var _i = 0, validators_1 = validators; _i < validators_1.length; _i++) {
19
+ var validator = validators_1[_i];
20
+ var res = validator(this[itemKey]);
21
+ if (!res.status) {
22
+ errors.push(res);
23
+ if (!itemAll)
24
+ break;
25
+ }
26
+ }
27
+ if (errors.length) {
28
+ return errors;
29
+ }
30
+ return null;
31
+ };
32
+ BaseValidator.prototype.validateAll = function (itemAll, everyItem, order) {
33
+ if (itemAll === void 0) { itemAll = false; }
34
+ if (everyItem === void 0) { everyItem = false; }
35
+ var validatorMap = this[this.__keySymbol];
36
+ var errors = [];
37
+ // 校验每个 key
38
+ var keys = order || Object.keys(validatorMap);
39
+ for (var _i = 0, keys_1 = keys; _i < keys_1.length; _i++) {
40
+ var key = keys_1[_i];
41
+ var value = this[key];
42
+ var fns = validatorMap[key];
43
+ // 校验每个校验项目
44
+ for (var _a = 0, fns_1 = fns; _a < fns_1.length; _a++) {
45
+ var fn = fns_1[_a];
46
+ var res = fn(value);
47
+ if (!res.status) {
48
+ errors.push(res);
49
+ if (!itemAll)
50
+ break;
51
+ }
52
+ }
53
+ if (!everyItem) {
54
+ break;
55
+ }
56
+ }
57
+ if (errors.length) {
58
+ return errors;
59
+ }
60
+ return null;
61
+ };
62
+ BaseValidator.decoratorCreator = function (func) {
63
+ return function (message) {
64
+ if (message === void 0) { message = function (val, value, context) { return "".concat(String(context.name), "\u683C\u5F0F\u9519\u8BEF"); }; }
65
+ return function (value, context) {
66
+ context.addInitializer(function () {
67
+ var validators = this[this.__keySymbol];
68
+ if (!validators) {
69
+ this[this.__keySymbol] = {};
70
+ validators = this[this.__keySymbol];
71
+ }
72
+ var name = context.name;
73
+ var validator = function (val) {
74
+ var validateStatus = func(val, value, context);
75
+ if (validateStatus) {
76
+ return { status: true };
77
+ }
78
+ else {
79
+ var msg = '';
80
+ if (typeof message === 'function') {
81
+ msg = message(val, value, context);
82
+ }
83
+ else {
84
+ msg = message;
85
+ }
86
+ return { status: false, message: msg };
87
+ }
88
+ };
89
+ if (validators[name]) {
90
+ validators[name] = __spreadArray(__spreadArray([], validators[name], true), [validator], false);
91
+ }
92
+ else {
93
+ validators[name] = [validator];
94
+ }
95
+ });
96
+ };
97
+ };
98
+ };
99
+ return BaseValidator;
100
+ }());
101
+ // class User extends BaseValidator{
102
+ // @VString('名称必须为字符串')
103
+ // @(VRequired()('名称必须填写'))
104
+ // name?: string;
105
+ // @VNumber('年龄必须为数字')
106
+ // @(VRequired()('年龄必须填写'))
107
+ // age?: number;
108
+ // @VEmail('邮箱格式不正确')
109
+ // @(VRequired()('邮箱必须填写'))
110
+ // email?: string;
111
+ // @(VMinLength(6)('密码长度不能少于6位'))
112
+ // @(VRequired()('密码必须填写'))
113
+ // password?: string
114
+ // }
115
+ // const user = new User();
116
+ // user.name = '张三'
117
+ // user.email = ' asdfasdf'
118
+ // user.password = '12345'
119
+ // console.log(user)
120
+ // console.log(user.validateAll(false,true,['password','age','email']));
121
+
122
+ export { BaseValidator };
@@ -2,4 +2,6 @@ export { default as Cache, ICache, ICacheOptions, StorageMap, StorageType } from
2
2
  export { ErrorHandlerReturnType, Options, RequestOptions, default as createBaseRequest } from './request/index.js';
3
3
  export { createStoreGetter, createStoreGetterMemo } from './store/createGetter/index.js';
4
4
  export { IHookStateInitAction, IHookStateInitialSetter, IHookStateResolvable, IHookStateSetAction, IHookStateSetter, default as createStateStore } from './store/createStateStore/index.js';
5
+ export { BaseValidator } from './validator/validator.js';
6
+ export { VArray, VBoolean, VEmail, VMax, VMaxLength, VMin, VMinLength, VNumber, VPattern, VRequired, VString } from './validator/decorators.js';
5
7
  export { default as RequestError, RequestErrorType } from './request/error.js';
@@ -0,0 +1,15 @@
1
+ import { BaseValidator } from './validator.js';
2
+
3
+ declare function VRequired(noneVals?: any[]): (message?: ((val: any, value: undefined, context: ClassFieldDecoratorContext<BaseValidator>) => string) | string) => (value: undefined, context: ClassFieldDecoratorContext<BaseValidator>) => void;
4
+ declare const VString: (message?: ((val: any, value: undefined, context: ClassFieldDecoratorContext<BaseValidator>) => string) | string) => (value: undefined, context: ClassFieldDecoratorContext<BaseValidator>) => void;
5
+ declare const VNumber: (message?: ((val: any, value: undefined, context: ClassFieldDecoratorContext<BaseValidator>) => string) | string) => (value: undefined, context: ClassFieldDecoratorContext<BaseValidator>) => void;
6
+ declare const VArray: (message?: ((val: any, value: undefined, context: ClassFieldDecoratorContext<BaseValidator>) => string) | string) => (value: undefined, context: ClassFieldDecoratorContext<BaseValidator>) => void;
7
+ declare const VBoolean: (message?: ((val: any, value: undefined, context: ClassFieldDecoratorContext<BaseValidator>) => string) | string) => (value: undefined, context: ClassFieldDecoratorContext<BaseValidator>) => void;
8
+ declare const VMin: (min: number) => (message?: ((val: any, value: undefined, context: ClassFieldDecoratorContext<BaseValidator>) => string) | string) => (value: undefined, context: ClassFieldDecoratorContext<BaseValidator>) => void;
9
+ declare const VMax: (max: number) => (message?: ((val: any, value: undefined, context: ClassFieldDecoratorContext<BaseValidator>) => string) | string) => (value: undefined, context: ClassFieldDecoratorContext<BaseValidator>) => void;
10
+ declare const VMinLength: (minLen: number) => (message?: ((val: any, value: undefined, context: ClassFieldDecoratorContext<BaseValidator>) => string) | string) => (value: undefined, context: ClassFieldDecoratorContext<BaseValidator>) => void;
11
+ declare const VMaxLength: (maxLen: number) => (message?: ((val: any, value: undefined, context: ClassFieldDecoratorContext<BaseValidator>) => string) | string) => (value: undefined, context: ClassFieldDecoratorContext<BaseValidator>) => void;
12
+ declare const VEmail: (message?: ((val: any, value: undefined, context: ClassFieldDecoratorContext<BaseValidator>) => string) | string) => (value: undefined, context: ClassFieldDecoratorContext<BaseValidator>) => void;
13
+ declare const VPattern: (pattern: RegExp) => (message?: ((val: any, value: undefined, context: ClassFieldDecoratorContext<BaseValidator>) => string) | string) => (value: undefined, context: ClassFieldDecoratorContext<BaseValidator>) => void;
14
+
15
+ export { VArray, VBoolean, VEmail, VMax, VMaxLength, VMin, VMinLength, VNumber, VPattern, VRequired, VString };
@@ -0,0 +1,24 @@
1
+ type Validator = (val: any) => {
2
+ status: boolean;
3
+ message?: string;
4
+ };
5
+ type ValidatorMap = {
6
+ [key: string]: Validator[];
7
+ };
8
+ declare class BaseValidator {
9
+ private __keySymbol;
10
+ [key: symbol]: ValidatorMap;
11
+ [key: string]: any;
12
+ constructor();
13
+ validate(itemKey: string, itemAll?: boolean): {
14
+ status: boolean;
15
+ message?: string;
16
+ }[];
17
+ validateAll(itemAll?: boolean, everyItem?: boolean, order?: string[]): {
18
+ status: boolean;
19
+ message?: string;
20
+ }[];
21
+ static decoratorCreator: (func: (val: any, value: undefined, context: ClassFieldDecoratorContext<BaseValidator>) => boolean) => (message?: ((val: any, value: undefined, context: ClassFieldDecoratorContext<BaseValidator>) => string) | string) => (value: undefined, context: ClassFieldDecoratorContext<BaseValidator>) => void;
22
+ }
23
+
24
+ export { BaseValidator };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rxtutils",
3
- "version": "1.1.2-beta.1",
3
+ "version": "1.1.2-beta.3",
4
4
  "type": "module",
5
5
  "main": "dist/cjs/index.cjs",
6
6
  "module": "dist/es/index.mjs",
@@ -31,4 +31,4 @@
31
31
  "moment": "^2.30.1",
32
32
  "tslib": "^2.8.1"
33
33
  }
34
- }
34
+ }