@webiny/validation 0.0.0-mt-1
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/LICENSE +21 -0
- package/README.md +409 -0
- package/index.d.ts +4 -0
- package/index.js +93 -0
- package/package.json +43 -0
- package/types.d.ts +27 -0
- package/types.js +5 -0
- package/validation.d.ts +62 -0
- package/validation.js +194 -0
- package/validationError.d.ts +10 -0
- package/validationError.js +29 -0
- package/validators/creditCard.d.ts +15 -0
- package/validators/creditCard.js +69 -0
- package/validators/dateGte.d.ts +5 -0
- package/validators/dateGte.js +37 -0
- package/validators/dateLte.d.ts +5 -0
- package/validators/dateLte.js +37 -0
- package/validators/email.d.ts +15 -0
- package/validators/email.js +41 -0
- package/validators/eq.d.ts +16 -0
- package/validators/eq.js +41 -0
- package/validators/gt.d.ts +16 -0
- package/validators/gt.js +38 -0
- package/validators/gte.d.ts +16 -0
- package/validators/gte.js +38 -0
- package/validators/in.d.ts +2 -0
- package/validators/in.js +27 -0
- package/validators/integer.d.ts +2 -0
- package/validators/integer.js +26 -0
- package/validators/json.d.ts +2 -0
- package/validators/json.js +24 -0
- package/validators/lt.d.ts +2 -0
- package/validators/lt.js +26 -0
- package/validators/lte.d.ts +2 -0
- package/validators/lte.js +26 -0
- package/validators/maxLength.d.ts +2 -0
- package/validators/maxLength.js +44 -0
- package/validators/minLength.d.ts +2 -0
- package/validators/minLength.js +44 -0
- package/validators/number.d.ts +8 -0
- package/validators/number.js +34 -0
- package/validators/numeric.d.ts +8 -0
- package/validators/numeric.js +37 -0
- package/validators/password.d.ts +2 -0
- package/validators/password.js +26 -0
- package/validators/phone.d.ts +2 -0
- package/validators/phone.js +26 -0
- package/validators/required.d.ts +2 -0
- package/validators/required.js +22 -0
- package/validators/time/index.d.ts +6 -0
- package/validators/time/index.js +79 -0
- package/validators/timeGte.d.ts +5 -0
- package/validators/timeGte.js +38 -0
- package/validators/timeLte.d.ts +5 -0
- package/validators/timeLte.js +38 -0
- package/validators/url.d.ts +2 -0
- package/validators/url.js +59 -0
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.default = void 0;
|
|
9
|
+
|
|
10
|
+
var _isInteger2 = _interopRequireDefault(require("lodash/isInteger"));
|
|
11
|
+
|
|
12
|
+
var _validationError = _interopRequireDefault(require("./../validationError"));
|
|
13
|
+
|
|
14
|
+
var _default = value => {
|
|
15
|
+
if (!value) {
|
|
16
|
+
return;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
if ((0, _isInteger2.default)(value)) {
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
throw new _validationError.default("Value needs to be an integer.");
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
exports.default = _default;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.default = void 0;
|
|
9
|
+
|
|
10
|
+
var _validationError = _interopRequireDefault(require("./../validationError"));
|
|
11
|
+
|
|
12
|
+
var _default = value => {
|
|
13
|
+
if (!value) {
|
|
14
|
+
return;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
try {
|
|
18
|
+
JSON.parse(value);
|
|
19
|
+
} catch (e) {
|
|
20
|
+
throw new _validationError.default("Value needs to be a valid JSON.");
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
exports.default = _default;
|
package/validators/lt.js
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.default = void 0;
|
|
9
|
+
|
|
10
|
+
var _validationError = _interopRequireDefault(require("./../validationError"));
|
|
11
|
+
|
|
12
|
+
var _default = (value, params) => {
|
|
13
|
+
if (!value) {
|
|
14
|
+
return;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
value = value + "";
|
|
18
|
+
|
|
19
|
+
if (parseFloat(value) < parseFloat(params[0])) {
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
throw new _validationError.default("Value needs to be less than " + params[0] + ".");
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
exports.default = _default;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.default = void 0;
|
|
9
|
+
|
|
10
|
+
var _validationError = _interopRequireDefault(require("./../validationError"));
|
|
11
|
+
|
|
12
|
+
var _default = (value, params) => {
|
|
13
|
+
if (!value) {
|
|
14
|
+
return;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
value = value + "";
|
|
18
|
+
|
|
19
|
+
if (parseFloat(value) <= parseFloat(params[0])) {
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
throw new _validationError.default("Value needs to be less than or equal to " + params[0] + ".");
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
exports.default = _default;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.default = void 0;
|
|
9
|
+
|
|
10
|
+
var _isString2 = _interopRequireDefault(require("lodash/isString"));
|
|
11
|
+
|
|
12
|
+
var _keys2 = _interopRequireDefault(require("lodash/keys"));
|
|
13
|
+
|
|
14
|
+
var _isObject2 = _interopRequireDefault(require("lodash/isObject"));
|
|
15
|
+
|
|
16
|
+
var _has2 = _interopRequireDefault(require("lodash/has"));
|
|
17
|
+
|
|
18
|
+
var _validationError = _interopRequireDefault(require("./../validationError"));
|
|
19
|
+
|
|
20
|
+
var _default = (value, params) => {
|
|
21
|
+
if (!value) {
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
let lengthOfValue = null;
|
|
26
|
+
|
|
27
|
+
if ((0, _has2.default)(value, "length")) {
|
|
28
|
+
lengthOfValue = value.length;
|
|
29
|
+
} else if ((0, _isObject2.default)(value)) {
|
|
30
|
+
lengthOfValue = (0, _keys2.default)(value).length;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
if (lengthOfValue === null || lengthOfValue <= params[0]) {
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
if ((0, _isString2.default)(value)) {
|
|
38
|
+
throw new _validationError.default("Value requires " + params[0] + " characters at most.");
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
throw new _validationError.default("Value requires " + params[0] + " items at most.");
|
|
42
|
+
};
|
|
43
|
+
|
|
44
|
+
exports.default = _default;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.default = void 0;
|
|
9
|
+
|
|
10
|
+
var _isString2 = _interopRequireDefault(require("lodash/isString"));
|
|
11
|
+
|
|
12
|
+
var _keys2 = _interopRequireDefault(require("lodash/keys"));
|
|
13
|
+
|
|
14
|
+
var _isObject2 = _interopRequireDefault(require("lodash/isObject"));
|
|
15
|
+
|
|
16
|
+
var _has2 = _interopRequireDefault(require("lodash/has"));
|
|
17
|
+
|
|
18
|
+
var _validationError = _interopRequireDefault(require("./../validationError"));
|
|
19
|
+
|
|
20
|
+
var _default = (value, params) => {
|
|
21
|
+
if (!value) {
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
let lengthOfValue = null;
|
|
26
|
+
|
|
27
|
+
if ((0, _has2.default)(value, "length")) {
|
|
28
|
+
lengthOfValue = value.length;
|
|
29
|
+
} else if ((0, _isObject2.default)(value)) {
|
|
30
|
+
lengthOfValue = (0, _keys2.default)(value).length;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
if (lengthOfValue === null || lengthOfValue >= params[0]) {
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
if ((0, _isString2.default)(value)) {
|
|
38
|
+
throw new _validationError.default("Value requires at least " + params[0] + " characters.");
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
throw new _validationError.default("Value requires at least " + params[0] + " items.");
|
|
42
|
+
};
|
|
43
|
+
|
|
44
|
+
exports.default = _default;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.default = void 0;
|
|
9
|
+
|
|
10
|
+
var _isNumber2 = _interopRequireDefault(require("lodash/isNumber"));
|
|
11
|
+
|
|
12
|
+
var _isNaN2 = _interopRequireDefault(require("lodash/isNaN"));
|
|
13
|
+
|
|
14
|
+
var _validationError = _interopRequireDefault(require("./../validationError"));
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* @function number
|
|
18
|
+
* @description This validator checks of the given value is a number
|
|
19
|
+
* @param {any} value
|
|
20
|
+
* @return {boolean}
|
|
21
|
+
*/
|
|
22
|
+
var _default = value => {
|
|
23
|
+
if (!value && !(0, _isNaN2.default)(value)) {
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
if ((0, _isNumber2.default)(value) && !(0, _isNaN2.default)(value)) {
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
throw new _validationError.default("Value needs to be a number.");
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
exports.default = _default;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.default = void 0;
|
|
9
|
+
|
|
10
|
+
var _validationError = _interopRequireDefault(require("./../validationError"));
|
|
11
|
+
|
|
12
|
+
var _isnumeric = _interopRequireDefault(require("isnumeric"));
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* @function number
|
|
16
|
+
* @description This validator checks if the given value is numeric
|
|
17
|
+
* @param {any} value
|
|
18
|
+
* @return {boolean}
|
|
19
|
+
*/
|
|
20
|
+
var _default = value => {
|
|
21
|
+
// Eliminate edge cases
|
|
22
|
+
if (typeof value === "undefined" || value === 0 || value === "0") {
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
if (!value && !isNaN(value)) {
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
if ((0, _isnumeric.default)(value)) {
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
throw new _validationError.default("Value needs to be numeric.");
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
exports.default = _default;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.default = void 0;
|
|
9
|
+
|
|
10
|
+
var _validationError = _interopRequireDefault(require("./../validationError"));
|
|
11
|
+
|
|
12
|
+
var _default = (value, params = []) => {
|
|
13
|
+
if (!value) {
|
|
14
|
+
return;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
value = value + "";
|
|
18
|
+
const length = params[0] || 6;
|
|
19
|
+
const test = value.match(new RegExp(`^.{${length},}$`));
|
|
20
|
+
|
|
21
|
+
if (test === null) {
|
|
22
|
+
throw new _validationError.default(`Password must contain at least ${length} characters`);
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
exports.default = _default;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.default = void 0;
|
|
9
|
+
|
|
10
|
+
var _validationError = _interopRequireDefault(require("./../validationError"));
|
|
11
|
+
|
|
12
|
+
var _default = value => {
|
|
13
|
+
if (!value) {
|
|
14
|
+
return;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
value = value + "";
|
|
18
|
+
|
|
19
|
+
if (value.match(/^[-+0-9()/\s]+$/)) {
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
throw new _validationError.default("Value must be a valid phone number.");
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
exports.default = _default;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.default = void 0;
|
|
9
|
+
|
|
10
|
+
var _validationError = _interopRequireDefault(require("./../validationError"));
|
|
11
|
+
|
|
12
|
+
const throwError = () => {
|
|
13
|
+
throw new _validationError.default("Value is required.");
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
var _default = value => {
|
|
17
|
+
if (value === "" || value === null || value === undefined) {
|
|
18
|
+
throwError();
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
exports.default = _default;
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.compareTime = void 0;
|
|
9
|
+
|
|
10
|
+
var _validationError = _interopRequireDefault(require("../../validationError"));
|
|
11
|
+
|
|
12
|
+
const parseTime = value => {
|
|
13
|
+
const parsed = value.split(":").map(Number);
|
|
14
|
+
|
|
15
|
+
if (parsed.length < 2) {
|
|
16
|
+
throw new _validationError.default(`Value "${value}" does not look like time.`);
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
const [hours, minutes, seconds = 0] = parsed;
|
|
20
|
+
|
|
21
|
+
if (hours >= 24) {
|
|
22
|
+
throw new _validationError.default(`There cannot be more than 24 hours. Value parsed is "${value}".`);
|
|
23
|
+
} else if (hours < 0) {
|
|
24
|
+
throw new _validationError.default(`Hours cannot go into negative. Value parsed is "${value}".`);
|
|
25
|
+
} else if (minutes >= 60) {
|
|
26
|
+
throw new _validationError.default(`There cannot be more than 59 minutes. Value parsed is "${value}".`);
|
|
27
|
+
} else if (minutes < 0) {
|
|
28
|
+
throw new _validationError.default(`Minutes cannot go into negative. Value parsed is "${value}".`);
|
|
29
|
+
} else if (seconds >= 60) {
|
|
30
|
+
throw new _validationError.default(`There cannot be more than 59 seconds. Value parsed is "${value}".`);
|
|
31
|
+
} else if (seconds < 0) {
|
|
32
|
+
throw new _validationError.default(`Seconds cannot go into negative. Value parsed is "${value}".`);
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
return {
|
|
36
|
+
hours,
|
|
37
|
+
minutes,
|
|
38
|
+
seconds
|
|
39
|
+
};
|
|
40
|
+
};
|
|
41
|
+
/**
|
|
42
|
+
* returns 1 if time is greater than compareTo
|
|
43
|
+
* returns 0 if they are equal
|
|
44
|
+
* returns -1 if compareTo is greater than time
|
|
45
|
+
*/
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
const compareTime = (time, compareTo) => {
|
|
49
|
+
const {
|
|
50
|
+
hours: timeHours,
|
|
51
|
+
minutes: timeMinutes,
|
|
52
|
+
seconds: timeSeconds
|
|
53
|
+
} = parseTime(time);
|
|
54
|
+
const {
|
|
55
|
+
hours: compareToHours,
|
|
56
|
+
minutes: compareToMinutes,
|
|
57
|
+
seconds: compareToSeconds
|
|
58
|
+
} = parseTime(compareTo);
|
|
59
|
+
|
|
60
|
+
if (timeHours > compareToHours) {
|
|
61
|
+
return 1;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
if (timeHours === compareToHours) {
|
|
65
|
+
if (timeMinutes > compareToMinutes) {
|
|
66
|
+
return 1;
|
|
67
|
+
} else if (timeMinutes === compareToMinutes) {
|
|
68
|
+
if (timeSeconds > compareToSeconds) {
|
|
69
|
+
return 1;
|
|
70
|
+
} else if (timeSeconds === compareToSeconds) {
|
|
71
|
+
return 0;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
return -1;
|
|
77
|
+
};
|
|
78
|
+
|
|
79
|
+
exports.compareTime = compareTime;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.default = void 0;
|
|
9
|
+
|
|
10
|
+
var _validationError = _interopRequireDefault(require("./../validationError"));
|
|
11
|
+
|
|
12
|
+
var _time = require("./time");
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Validates that given value is a greater or equal to a gteValue
|
|
16
|
+
*/
|
|
17
|
+
var _default = (value, params) => {
|
|
18
|
+
if (!value) {
|
|
19
|
+
return;
|
|
20
|
+
} // we need to join because validation params are being split by :
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
const gteValue = params.join(":");
|
|
24
|
+
|
|
25
|
+
if (!gteValue) {
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
const compare = (0, _time.compareTime)(value, gteValue);
|
|
30
|
+
|
|
31
|
+
if (compare >= 0) {
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
throw new _validationError.default(`Value needs to be greater than or equal to "${gteValue}".`);
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
exports.default = _default;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.default = void 0;
|
|
9
|
+
|
|
10
|
+
var _validationError = _interopRequireDefault(require("./../validationError"));
|
|
11
|
+
|
|
12
|
+
var _time = require("./time");
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Validates that given value is a leaser or equal to a lteValue
|
|
16
|
+
*/
|
|
17
|
+
var _default = (value, params) => {
|
|
18
|
+
if (!value) {
|
|
19
|
+
return;
|
|
20
|
+
} // we need to join because validation params are being split by :
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
const lteValue = params.join(":");
|
|
24
|
+
|
|
25
|
+
if (!lteValue) {
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
const compare = (0, _time.compareTime)(value, lteValue);
|
|
30
|
+
|
|
31
|
+
if (compare <= 0) {
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
throw new _validationError.default(`Value needs to be lesser than or equal to "${lteValue}".`);
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
exports.default = _default;
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.default = void 0;
|
|
9
|
+
|
|
10
|
+
var _validationError = _interopRequireDefault(require("./../validationError"));
|
|
11
|
+
|
|
12
|
+
const regex = {
|
|
13
|
+
base: new RegExp( // eslint-disable-next-line
|
|
14
|
+
/^(https?:\/\/)((([a-z\d]([a-z\d-]*[a-z\d])*)\.)+[a-z]{2,}|((\d{1,3}\.){3}\d{1,3}))(\:\d+)?(\/[-a-z\d%_.~+]*)*(\?[;&a-z\d%_.~+=-]*)?(\#[-a-z\d_]*)?$/i),
|
|
15
|
+
ip: new RegExp( // eslint-disable-next-line
|
|
16
|
+
/^(https?:\/\/)(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/),
|
|
17
|
+
relative: new RegExp( // eslint-disable-next-line
|
|
18
|
+
/^\/.*$/),
|
|
19
|
+
href: new RegExp( // eslint-disable-next-line
|
|
20
|
+
/^(#|mailto:|tel:)\S*$/)
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
var _default = (value, params) => {
|
|
24
|
+
if (!value) {
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
value = value + "";
|
|
29
|
+
|
|
30
|
+
if (value.startsWith("http://localhost") || value.startsWith("https://localhost")) {
|
|
31
|
+
value = value.replace("//localhost", "//localhost.com");
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
if (regex.base.test(value)) {
|
|
35
|
+
if (!params.includes("noIp")) {
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
if (!regex.ip.test(value)) {
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
if (params.includes("allowRelative")) {
|
|
45
|
+
if (regex.relative.test(value)) {
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
if (params.includes("allowHref")) {
|
|
51
|
+
if (regex.href.test(value)) {
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
throw new _validationError.default("Value must be a valid URL.");
|
|
57
|
+
};
|
|
58
|
+
|
|
59
|
+
exports.default = _default;
|