co.validation 2.4.2 → 2.5.2
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.
|
@@ -3,6 +3,20 @@
|
|
|
3
3
|
var _ = require("..");
|
|
4
4
|
|
|
5
5
|
describe('createValidation', () => {
|
|
6
|
+
it('supports any', () => {
|
|
7
|
+
expect((0, _.createValidation)({
|
|
8
|
+
type: 'any'
|
|
9
|
+
})('')).toEqual({
|
|
10
|
+
data: '',
|
|
11
|
+
errors: undefined
|
|
12
|
+
});
|
|
13
|
+
expect((0, _.createValidation)({
|
|
14
|
+
type: 'any'
|
|
15
|
+
})(5)).toEqual({
|
|
16
|
+
data: 5,
|
|
17
|
+
errors: undefined
|
|
18
|
+
});
|
|
19
|
+
});
|
|
6
20
|
it('supports required', () => {
|
|
7
21
|
expect((0, _.createValidation)({
|
|
8
22
|
type: 'required'
|
|
@@ -368,15 +382,25 @@ describe('createValidation', () => {
|
|
|
368
382
|
});
|
|
369
383
|
it('supports number', () => {
|
|
370
384
|
expect((0, _.createValidation)({
|
|
371
|
-
type: 'number'
|
|
372
|
-
getMessage: () => 'Number'
|
|
385
|
+
type: 'number'
|
|
373
386
|
})('1234')).toEqual({
|
|
374
387
|
data: 1234,
|
|
375
388
|
errors: undefined
|
|
376
389
|
});
|
|
377
390
|
expect((0, _.createValidation)({
|
|
378
|
-
type: 'number'
|
|
379
|
-
|
|
391
|
+
type: 'number'
|
|
392
|
+
})('1234,5')).toEqual({
|
|
393
|
+
data: 1234.5,
|
|
394
|
+
errors: undefined
|
|
395
|
+
});
|
|
396
|
+
expect((0, _.createValidation)({
|
|
397
|
+
type: 'number'
|
|
398
|
+
})('1234.5')).toEqual({
|
|
399
|
+
data: 1234.5,
|
|
400
|
+
errors: undefined
|
|
401
|
+
});
|
|
402
|
+
expect((0, _.createValidation)({
|
|
403
|
+
type: 'number'
|
|
380
404
|
})(123)).toEqual({
|
|
381
405
|
data: 123,
|
|
382
406
|
errors: undefined
|
package/lib/createValidation.js
CHANGED
|
@@ -17,6 +17,9 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|
|
17
17
|
|
|
18
18
|
const createValidation = rule => {
|
|
19
19
|
switch (rule.type) {
|
|
20
|
+
case 'any':
|
|
21
|
+
return (0, _validators.any)(rule);
|
|
22
|
+
|
|
20
23
|
case 'required':
|
|
21
24
|
return (0, _validators.required)(rule);
|
|
22
25
|
|
package/lib/validators.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.regex = exports.equalsToField = exports.boolean = exports.string = exports.alphanumeric = exports.email = exports.maxValue = exports.minValue = exports.number = exports.minLength = exports.maxLength = exports.equals = exports.requiredArrayWithItem = exports.required = exports.custom = void 0;
|
|
6
|
+
exports.regex = exports.equalsToField = exports.boolean = exports.string = exports.alphanumeric = exports.email = exports.maxValue = exports.minValue = exports.number = exports.minLength = exports.maxLength = exports.equals = exports.requiredArrayWithItem = exports.any = exports.required = exports.custom = void 0;
|
|
7
7
|
|
|
8
8
|
var _messageProcessor = _interopRequireDefault(require("./messageProcessor"));
|
|
9
9
|
|
|
@@ -36,6 +36,12 @@ const required = ({
|
|
|
36
36
|
|
|
37
37
|
exports.required = required;
|
|
38
38
|
|
|
39
|
+
const any = ({}) => value => ({
|
|
40
|
+
data: value
|
|
41
|
+
});
|
|
42
|
+
|
|
43
|
+
exports.any = any;
|
|
44
|
+
|
|
39
45
|
const requiredArrayWithItem = ({
|
|
40
46
|
getMessage
|
|
41
47
|
}) => value => {
|
|
@@ -94,12 +100,20 @@ const minLength = ({
|
|
|
94
100
|
|
|
95
101
|
exports.minLength = minLength;
|
|
96
102
|
|
|
103
|
+
const normalizeNumber = value => {
|
|
104
|
+
if (typeof value === 'number') {
|
|
105
|
+
return value;
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
return Number(value?.replace(',', '.'));
|
|
109
|
+
};
|
|
110
|
+
|
|
97
111
|
const number = ({
|
|
98
112
|
getMessage
|
|
99
|
-
}) => value => value && isNaN(
|
|
113
|
+
}) => value => value && isNaN(normalizeNumber(value)) ? {
|
|
100
114
|
errors: (0, _messageProcessor.default)(getMessage, '##number')
|
|
101
115
|
} : {
|
|
102
|
-
data: value === null || value === undefined ? value :
|
|
116
|
+
data: value === null || value === undefined ? value : normalizeNumber(value)
|
|
103
117
|
};
|
|
104
118
|
|
|
105
119
|
exports.number = number;
|