@webiny/validation 0.0.0-unstable.78f581c1d2 → 0.0.0-unstable.7be00a75a9
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/README.md +7 -405
- package/index.d.ts +4 -4
- package/index.js +52 -96
- package/index.js.map +1 -1
- package/package.json +17 -25
- package/types.d.ts +6 -3
- package/types.js +0 -5
- package/validation.d.ts +2 -2
- package/validation.js +66 -184
- package/validation.js.map +1 -1
- package/validationError.js +9 -26
- package/validationError.js.map +1 -1
- package/validators/creditCard.js +24 -66
- package/validators/creditCard.js.map +1 -1
- package/validators/dateGte.js +11 -35
- package/validators/dateGte.js.map +1 -1
- package/validators/dateLte.js +11 -35
- package/validators/dateLte.js.map +1 -1
- package/validators/email.js +9 -39
- package/validators/email.js.map +1 -1
- package/validators/eq.js +8 -39
- package/validators/eq.js.map +1 -1
- package/validators/gt.js +8 -36
- package/validators/gt.js.map +1 -1
- package/validators/gte.js +8 -36
- package/validators/gte.js.map +1 -1
- package/validators/in.js +8 -25
- package/validators/in.js.map +1 -1
- package/validators/integer.js +8 -24
- package/validators/integer.js.map +1 -1
- package/validators/json.js +10 -22
- package/validators/json.js.map +1 -1
- package/validators/lt.js +8 -24
- package/validators/lt.js.map +1 -1
- package/validators/lte.js +8 -24
- package/validators/lte.js.map +1 -1
- package/validators/maxLength.js +15 -42
- package/validators/maxLength.js.map +1 -1
- package/validators/minLength.js +15 -42
- package/validators/minLength.js.map +1 -1
- package/validators/number.js +9 -32
- package/validators/number.js.map +1 -1
- package/validators/numeric.js +9 -40
- package/validators/numeric.js.map +1 -1
- package/validators/password.js +9 -24
- package/validators/password.js.map +1 -1
- package/validators/phone.js +8 -24
- package/validators/phone.js.map +1 -1
- package/validators/required.js +7 -19
- package/validators/required.js.map +1 -1
- package/validators/slug.js +8 -24
- package/validators/slug.js.map +1 -1
- package/validators/time/index.js +29 -75
- package/validators/time/index.js.map +1 -1
- package/validators/timeGte.js +11 -36
- package/validators/timeGte.js.map +1 -1
- package/validators/timeLte.js +11 -36
- package/validators/timeLte.js.map +1 -1
- package/validators/url.js +19 -52
- package/validators/url.js.map +1 -1
- package/types.js.map +0 -1
package/validators/number.js
CHANGED
|
@@ -1,34 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
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.");
|
|
1
|
+
import lodash_isNaN from "lodash/isNaN.js";
|
|
2
|
+
import isNumber from "lodash/isNumber.js";
|
|
3
|
+
import validationError from "../validationError.js";
|
|
4
|
+
const number = (value)=>{
|
|
5
|
+
if (!value && !lodash_isNaN(value)) return;
|
|
6
|
+
if (isNumber(value) && !lodash_isNaN(value)) return;
|
|
7
|
+
throw new validationError("Value needs to be a number.");
|
|
32
8
|
};
|
|
9
|
+
export default number;
|
|
33
10
|
|
|
34
|
-
|
|
11
|
+
//# sourceMappingURL=number.js.map
|
package/validators/number.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"validators/number.js","sources":["../../src/validators/number.ts"],"sourcesContent":["import isNaN from \"lodash/isNaN.js\";\nimport isNumber from \"lodash/isNumber.js\";\nimport ValidationError from \"~/validationError.js\";\n\n/**\n * @function number\n * @description This validator checks of the given value is a number\n * @param {any} value\n * @return {boolean}\n */\nexport default (value: any) => {\n if (!value && !isNaN(value)) {\n return;\n }\n\n if (isNumber(value) && !isNaN(value)) {\n return;\n }\n\n throw new ValidationError(\"Value needs to be a number.\");\n};\n"],"names":["value","isNaN","isNumber","ValidationError"],"mappings":";;;AAUA,eAAgB,CAAAA;IACZ,IAAI,CAACA,SAAS,CAACC,aAAMD,QACjB;IAGJ,IAAIE,SAASF,UAAU,CAACC,aAAMD,QAC1B;IAGJ,MAAM,IAAIG,gBAAgB;AAC9B"}
|
package/validators/numeric.js
CHANGED
|
@@ -1,42 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
exports.default = void 0;
|
|
9
|
-
|
|
10
|
-
var _validationError = _interopRequireDefault(require("../validationError"));
|
|
11
|
-
|
|
12
|
-
var _isnumeric = _interopRequireDefault(require("isnumeric"));
|
|
13
|
-
|
|
14
|
-
/**
|
|
15
|
-
* Package isnumeric does not have types so we ignore it.
|
|
16
|
-
*/
|
|
17
|
-
// @ts-ignore
|
|
18
|
-
|
|
19
|
-
/**
|
|
20
|
-
* @function number
|
|
21
|
-
* @description This validator checks if the given value is numeric
|
|
22
|
-
* @param {any} value
|
|
23
|
-
* @return {boolean}
|
|
24
|
-
*/
|
|
25
|
-
var _default = value => {
|
|
26
|
-
// Eliminate edge cases
|
|
27
|
-
if (typeof value === "undefined" || value === 0 || value === "0") {
|
|
28
|
-
return;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
if (!value && !isNaN(value)) {
|
|
32
|
-
return;
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
if ((0, _isnumeric.default)(value)) {
|
|
36
|
-
return;
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
throw new _validationError.default("Value needs to be numeric.");
|
|
1
|
+
import validationError from "../validationError.js";
|
|
2
|
+
const isNumeric = (value)=>!isNaN(parseFloat(String(value))) && isFinite(Number(value));
|
|
3
|
+
const numeric = (value)=>{
|
|
4
|
+
if (void 0 === value || 0 === value || "0" === value) return;
|
|
5
|
+
if (!value && !isNaN(value)) return;
|
|
6
|
+
if (isNumeric(value)) return;
|
|
7
|
+
throw new validationError("Value needs to be numeric.");
|
|
40
8
|
};
|
|
9
|
+
export default numeric;
|
|
41
10
|
|
|
42
|
-
|
|
11
|
+
//# sourceMappingURL=numeric.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"validators/numeric.js","sources":["../../src/validators/numeric.ts"],"sourcesContent":["import ValidationError from \"~/validationError.js\";\nconst isNumeric = (value: unknown): boolean => {\n return !isNaN(parseFloat(String(value))) && isFinite(Number(value));\n};\n\n/**\n * @function number\n * @description This validator checks if the given value is numeric\n * @param {any} value\n * @return {boolean}\n */\nexport default (value: any) => {\n // Eliminate edge cases\n if (typeof value === \"undefined\" || value === 0 || value === \"0\") {\n return;\n }\n\n if (!value && !isNaN(value)) {\n return;\n }\n\n if (isNumeric(value)) {\n return;\n }\n\n throw new ValidationError(\"Value needs to be numeric.\");\n};\n"],"names":["isNumeric","value","isNaN","parseFloat","String","isFinite","Number","ValidationError"],"mappings":";AACA,MAAMA,YAAY,CAACC,QACR,CAACC,MAAMC,WAAWC,OAAOH,YAAYI,SAASC,OAAOL;AAShE,gBAAgB,CAAAA;IAEZ,IAAI,AAAiB,WAAVA,SAAyBA,AAAU,MAAVA,SAAeA,AAAU,QAAVA,OAC/C;IAGJ,IAAI,CAACA,SAAS,CAACC,MAAMD,QACjB;IAGJ,IAAID,UAAUC,QACV;IAGJ,MAAM,IAAIM,gBAAgB;AAC9B"}
|
package/validators/password.js
CHANGED
|
@@ -1,26 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
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 ? params[0] || 6 : 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
|
-
}
|
|
1
|
+
import validationError from "../validationError.js";
|
|
2
|
+
const validators_password = (value, params)=>{
|
|
3
|
+
if (!value) return;
|
|
4
|
+
value += "";
|
|
5
|
+
const length = params ? params[0] || 6 : 6;
|
|
6
|
+
const test = value.match(new RegExp(`^.{${length},}$`));
|
|
7
|
+
if (null === test) throw new validationError(`Password must contain at least ${length} characters`);
|
|
24
8
|
};
|
|
9
|
+
export default validators_password;
|
|
25
10
|
|
|
26
|
-
|
|
11
|
+
//# sourceMappingURL=password.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"validators/password.js","sources":["../../src/validators/password.ts"],"sourcesContent":["import ValidationError from \"~/validationError.js\";\n\nexport default (value: any, params?: string[]) => {\n if (!value) {\n return;\n }\n value = value + \"\";\n\n const length = params ? params[0] || 6 : 6;\n const test = value.match(new RegExp(`^.{${length},}$`));\n if (test === null) {\n throw new ValidationError(`Password must contain at least ${length} characters`);\n }\n};\n"],"names":["value","params","length","test","RegExp","ValidationError"],"mappings":";AAEA,4BAAgB,CAAAA,OAAYC;IACxB,IAAI,CAACD,OACD;IAEJA,SAAgB;IAEhB,MAAME,SAASD,SAASA,MAAM,CAAC,EAAE,IAAI,IAAI;IACzC,MAAME,OAAOH,MAAM,KAAK,CAAC,IAAII,OAAO,CAAC,GAAG,EAAEF,OAAO,GAAG,CAAC;IACrD,IAAIC,AAAS,SAATA,MACA,MAAM,IAAIE,gBAAgB,CAAC,+BAA+B,EAAEH,OAAO,WAAW,CAAC;AAEvF"}
|
package/validators/phone.js
CHANGED
|
@@ -1,26 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
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.");
|
|
1
|
+
import validationError from "../validationError.js";
|
|
2
|
+
const phone = (value)=>{
|
|
3
|
+
if (!value) return;
|
|
4
|
+
value += "";
|
|
5
|
+
if (value.match(/^[-+0-9()/\s]+$/)) return;
|
|
6
|
+
throw new validationError("Value must be a valid phone number.");
|
|
24
7
|
};
|
|
8
|
+
export default phone;
|
|
25
9
|
|
|
26
|
-
|
|
10
|
+
//# sourceMappingURL=phone.js.map
|
package/validators/phone.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"validators/phone.js","sources":["../../src/validators/phone.ts"],"sourcesContent":["import ValidationError from \"~/validationError.js\";\n\nexport default (value: any) => {\n if (!value) {\n return;\n }\n value = value + \"\";\n\n if (value.match(/^[-+0-9()/\\s]+$/)) {\n return;\n }\n throw new ValidationError(\"Value must be a valid phone number.\");\n};\n"],"names":["value","ValidationError"],"mappings":";AAEA,cAAgB,CAAAA;IACZ,IAAI,CAACA,OACD;IAEJA,SAAgB;IAEhB,IAAIA,MAAM,KAAK,CAAC,oBACZ;IAEJ,MAAM,IAAIC,gBAAgB;AAC9B"}
|
package/validators/required.js
CHANGED
|
@@ -1,22 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
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.");
|
|
1
|
+
import validationError from "../validationError.js";
|
|
2
|
+
const throwError = ()=>{
|
|
3
|
+
throw new validationError("Value is required.");
|
|
14
4
|
};
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
if (value === "" || value === null || value === undefined) {
|
|
18
|
-
throwError();
|
|
19
|
-
}
|
|
5
|
+
const required = (value)=>{
|
|
6
|
+
if ("" === value || null == value) throwError();
|
|
20
7
|
};
|
|
8
|
+
export default required;
|
|
21
9
|
|
|
22
|
-
|
|
10
|
+
//# sourceMappingURL=required.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"validators/required.js","sources":["../../src/validators/required.ts"],"sourcesContent":["import ValidationError from \"~/validationError.js\";\n\nconst throwError = () => {\n throw new ValidationError(\"Value is required.\");\n};\n\nexport default (value: any) => {\n if (value === \"\" || value === null || value === undefined) {\n throwError();\n }\n};\n"],"names":["throwError","ValidationError","value"],"mappings":";AAEA,MAAMA,aAAa;IACf,MAAM,IAAIC,gBAAgB;AAC9B;AAEA,iBAAgB,CAAAC;IACZ,IAAIA,AAAU,OAAVA,SAAkCA,QAAlBA,OAChBF;AAER"}
|
package/validators/slug.js
CHANGED
|
@@ -1,26 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
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(/^[a-z0-9]+(-[a-z0-9]+)*$/) && value.length <= 100) {
|
|
20
|
-
return;
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
throw new _validationError.default("Slug must consist of only 'a-z', '0-9' and '-' and be max 100 characters long (for example: 'some-slug' or 'some-slug-2')");
|
|
1
|
+
import validationError from "../validationError.js";
|
|
2
|
+
const slug = (value)=>{
|
|
3
|
+
if (!value) return;
|
|
4
|
+
value += "";
|
|
5
|
+
if (value.match(/^[a-z0-9]+(-[a-z0-9]+)*$/)) return;
|
|
6
|
+
throw new validationError("Slug must consist of only 'a-z', '0-9' and '-' (for example: 'some-slug' or 'some-slug-2')");
|
|
24
7
|
};
|
|
8
|
+
export default slug;
|
|
25
9
|
|
|
26
|
-
|
|
10
|
+
//# sourceMappingURL=slug.js.map
|
package/validators/slug.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"validators/slug.js","sources":["../../src/validators/slug.ts"],"sourcesContent":["import ValidationError from \"~/validationError.js\";\n\nexport default (value: any) => {\n if (!value) {\n return;\n }\n value = value + \"\";\n\n if (value.match(/^[a-z0-9]+(-[a-z0-9]+)*$/)) {\n return;\n }\n\n throw new ValidationError(\n \"Slug must consist of only 'a-z', '0-9' and '-' (for example: 'some-slug' or 'some-slug-2')\"\n );\n};\n"],"names":["value","ValidationError"],"mappings":";AAEA,aAAgB,CAAAA;IACZ,IAAI,CAACA,OACD;IAEJA,SAAgB;IAEhB,IAAIA,MAAM,KAAK,CAAC,6BACZ;IAGJ,MAAM,IAAIC,gBACN;AAER"}
|
package/validators/time/index.js
CHANGED
|
@@ -1,79 +1,33 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
});
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
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
|
-
};
|
|
1
|
+
import validationError from "../../validationError.js";
|
|
2
|
+
const parseTime = (value)=>{
|
|
3
|
+
const parsed = value.split(":").map(Number);
|
|
4
|
+
if (parsed.length < 2) throw new validationError(`Value "${value}" does not look like time.`);
|
|
5
|
+
const [hours, minutes, seconds = 0] = parsed;
|
|
6
|
+
if (hours >= 24) throw new validationError(`There cannot be more than 24 hours. Value parsed is "${value}".`);
|
|
7
|
+
if (hours < 0) throw new validationError(`Hours cannot go into negative. Value parsed is "${value}".`);
|
|
8
|
+
if (minutes >= 60) throw new validationError(`There cannot be more than 59 minutes. Value parsed is "${value}".`);
|
|
9
|
+
if (minutes < 0) throw new validationError(`Minutes cannot go into negative. Value parsed is "${value}".`);
|
|
10
|
+
if (seconds >= 60) throw new validationError(`There cannot be more than 59 seconds. Value parsed is "${value}".`);
|
|
11
|
+
else if (seconds < 0) throw new validationError(`Seconds cannot go into negative. Value parsed is "${value}".`);
|
|
12
|
+
return {
|
|
13
|
+
hours,
|
|
14
|
+
minutes,
|
|
15
|
+
seconds
|
|
16
|
+
};
|
|
40
17
|
};
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
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
|
-
}
|
|
18
|
+
const compareTime = (time, compareTo)=>{
|
|
19
|
+
const { hours: timeHours, minutes: timeMinutes, seconds: timeSeconds } = parseTime(time);
|
|
20
|
+
const { hours: compareToHours, minutes: compareToMinutes, seconds: compareToSeconds } = parseTime(compareTo);
|
|
21
|
+
if (timeHours > compareToHours) return 1;
|
|
22
|
+
if (timeHours === compareToHours) {
|
|
23
|
+
if (timeMinutes > compareToMinutes) return 1;
|
|
24
|
+
else if (timeMinutes === compareToMinutes) {
|
|
25
|
+
if (timeSeconds > compareToSeconds) return 1;
|
|
26
|
+
else if (timeSeconds === compareToSeconds) return 0;
|
|
27
|
+
}
|
|
73
28
|
}
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
return -1;
|
|
29
|
+
return -1;
|
|
77
30
|
};
|
|
31
|
+
export { compareTime };
|
|
78
32
|
|
|
79
|
-
|
|
33
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"validators/time/index.js","sources":["../../../src/validators/time/index.ts"],"sourcesContent":["import ValidationError from \"~/validationError.js\";\n\ninterface ParsedTimeResult {\n hours: number;\n minutes: number;\n seconds: number;\n}\nconst parseTime = (value: string): ParsedTimeResult => {\n const parsed = value.split(\":\").map(Number);\n if (parsed.length < 2) {\n throw new ValidationError(`Value \"${value}\" does not look like time.`);\n }\n const [hours, minutes, seconds = 0] = parsed;\n if (hours >= 24) {\n throw new ValidationError(\n `There cannot be more than 24 hours. Value parsed is \"${value}\".`\n );\n } else if (hours < 0) {\n throw new ValidationError(`Hours cannot go into negative. Value parsed is \"${value}\".`);\n } else if (minutes >= 60) {\n throw new ValidationError(\n `There cannot be more than 59 minutes. Value parsed is \"${value}\".`\n );\n } else if (minutes < 0) {\n throw new ValidationError(`Minutes cannot go into negative. Value parsed is \"${value}\".`);\n } else if (seconds >= 60) {\n throw new ValidationError(\n `There cannot be more than 59 seconds. Value parsed is \"${value}\".`\n );\n } else if (seconds < 0) {\n throw new ValidationError(`Seconds cannot go into negative. Value parsed is \"${value}\".`);\n }\n return {\n hours,\n minutes,\n seconds\n };\n};\n/**\n * returns 1 if time is greater than compareTo\n * returns 0 if they are equal\n * returns -1 if compareTo is greater than time\n */\nexport const compareTime = (time: string, compareTo: string): number => {\n const { hours: timeHours, minutes: timeMinutes, seconds: timeSeconds } = parseTime(time);\n const {\n hours: compareToHours,\n minutes: compareToMinutes,\n seconds: compareToSeconds\n } = parseTime(compareTo);\n if (timeHours > compareToHours) {\n return 1;\n }\n if (timeHours === compareToHours) {\n if (timeMinutes > compareToMinutes) {\n return 1;\n } else if (timeMinutes === compareToMinutes) {\n if (timeSeconds > compareToSeconds) {\n return 1;\n } else if (timeSeconds === compareToSeconds) {\n return 0;\n }\n }\n }\n return -1;\n};\n"],"names":["parseTime","value","parsed","Number","ValidationError","hours","minutes","seconds","compareTime","time","compareTo","timeHours","timeMinutes","timeSeconds","compareToHours","compareToMinutes","compareToSeconds"],"mappings":";AAOA,MAAMA,YAAY,CAACC;IACf,MAAMC,SAASD,MAAM,KAAK,CAAC,KAAK,GAAG,CAACE;IACpC,IAAID,OAAO,MAAM,GAAG,GAChB,MAAM,IAAIE,gBAAgB,CAAC,OAAO,EAAEH,MAAM,0BAA0B,CAAC;IAEzE,MAAM,CAACI,OAAOC,SAASC,UAAU,CAAC,CAAC,GAAGL;IACtC,IAAIG,SAAS,IACT,MAAM,IAAID,gBACN,CAAC,qDAAqD,EAAEH,MAAM,EAAE,CAAC;IAElE,IAAII,QAAQ,GACf,MAAM,IAAID,gBAAgB,CAAC,gDAAgD,EAAEH,MAAM,EAAE,CAAC;IACnF,IAAIK,WAAW,IAClB,MAAM,IAAIF,gBACN,CAAC,uDAAuD,EAAEH,MAAM,EAAE,CAAC;IAEpE,IAAIK,UAAU,GACjB,MAAM,IAAIF,gBAAgB,CAAC,kDAAkD,EAAEH,MAAM,EAAE,CAAC;IACrF,IAAIM,WAAW,IAClB,MAAM,IAAIH,gBACN,CAAC,uDAAuD,EAAEH,MAAM,EAAE,CAAC;SAEpE,IAAIM,UAAU,GACjB,MAAM,IAAIH,gBAAgB,CAAC,kDAAkD,EAAEH,MAAM,EAAE,CAAC;IAE5F,OAAO;QACHI;QACAC;QACAC;IACJ;AACJ;AAMO,MAAMC,cAAc,CAACC,MAAcC;IACtC,MAAM,EAAE,OAAOC,SAAS,EAAE,SAASC,WAAW,EAAE,SAASC,WAAW,EAAE,GAAGb,UAAUS;IACnF,MAAM,EACF,OAAOK,cAAc,EACrB,SAASC,gBAAgB,EACzB,SAASC,gBAAgB,EAC5B,GAAGhB,UAAUU;IACd,IAAIC,YAAYG,gBACZ,OAAO;IAEX,IAAIH,cAAcG,gBACd;QAAA,IAAIF,cAAcG,kBACd,OAAO;aACJ,IAAIH,gBAAgBG,kBACvB;YAAA,IAAIF,cAAcG,kBACd,OAAO;iBACJ,IAAIH,gBAAgBG,kBACvB,OAAO;QACX;IACJ;IAEJ,OAAO;AACX"}
|
package/validators/timeGte.js
CHANGED
|
@@ -1,38 +1,13 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
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 || !params) {
|
|
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}".`);
|
|
1
|
+
import validationError from "../validationError.js";
|
|
2
|
+
import { compareTime } from "./time/index.js";
|
|
3
|
+
const timeGte = (value, params)=>{
|
|
4
|
+
if (!value || !params) return;
|
|
5
|
+
const gteValue = params.join(":");
|
|
6
|
+
if (!gteValue) return;
|
|
7
|
+
const compare = compareTime(value, gteValue);
|
|
8
|
+
if (compare >= 0) return;
|
|
9
|
+
throw new validationError(`Value needs to be greater than or equal to "${gteValue}".`);
|
|
36
10
|
};
|
|
11
|
+
export default timeGte;
|
|
37
12
|
|
|
38
|
-
|
|
13
|
+
//# sourceMappingURL=timeGte.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"validators/timeGte.js","sources":["../../src/validators/timeGte.ts"],"sourcesContent":["import ValidationError from \"~/validationError.js\";\nimport { compareTime } from \"./time/index.js\";\n\n/**\n * Validates that given value is a greater or equal to a gteValue\n */\nexport default (value: string, params?: string[]) => {\n if (!value || !params) {\n return;\n }\n // we need to join because validation params are being split by :\n const gteValue = params.join(\":\");\n if (!gteValue) {\n return;\n }\n\n const compare = compareTime(value, gteValue);\n\n if (compare >= 0) {\n return;\n }\n throw new ValidationError(`Value needs to be greater than or equal to \"${gteValue}\".`);\n};\n"],"names":["value","params","gteValue","compare","compareTime","ValidationError"],"mappings":";;AAMA,gBAAgB,CAAAA,OAAeC;IAC3B,IAAI,CAACD,SAAS,CAACC,QACX;IAGJ,MAAMC,WAAWD,OAAO,IAAI,CAAC;IAC7B,IAAI,CAACC,UACD;IAGJ,MAAMC,UAAUC,YAAYJ,OAAOE;IAEnC,IAAIC,WAAW,GACX;IAEJ,MAAM,IAAIE,gBAAgB,CAAC,4CAA4C,EAAEH,SAAS,EAAE,CAAC;AACzF"}
|
package/validators/timeLte.js
CHANGED
|
@@ -1,38 +1,13 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
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 || !params) {
|
|
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}".`);
|
|
1
|
+
import validationError from "../validationError.js";
|
|
2
|
+
import { compareTime } from "./time/index.js";
|
|
3
|
+
const timeLte = (value, params)=>{
|
|
4
|
+
if (!value || !params) return;
|
|
5
|
+
const lteValue = params.join(":");
|
|
6
|
+
if (!lteValue) return;
|
|
7
|
+
const compare = compareTime(value, lteValue);
|
|
8
|
+
if (compare <= 0) return;
|
|
9
|
+
throw new validationError(`Value needs to be lesser than or equal to "${lteValue}".`);
|
|
36
10
|
};
|
|
11
|
+
export default timeLte;
|
|
37
12
|
|
|
38
|
-
|
|
13
|
+
//# sourceMappingURL=timeLte.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"validators/timeLte.js","sources":["../../src/validators/timeLte.ts"],"sourcesContent":["import ValidationError from \"~/validationError.js\";\nimport { compareTime } from \"./time/index.js\";\n\n/**\n * Validates that given value is a leaser or equal to a lteValue\n */\nexport default (value: string, params?: string[]) => {\n if (!value || !params) {\n return;\n }\n // we need to join because validation params are being split by :\n const lteValue = params.join(\":\");\n if (!lteValue) {\n return;\n }\n\n const compare = compareTime(value, lteValue);\n if (compare <= 0) {\n return;\n }\n throw new ValidationError(`Value needs to be lesser than or equal to \"${lteValue}\".`);\n};\n"],"names":["value","params","lteValue","compare","compareTime","ValidationError"],"mappings":";;AAMA,gBAAgB,CAAAA,OAAeC;IAC3B,IAAI,CAACD,SAAS,CAACC,QACX;IAGJ,MAAMC,WAAWD,OAAO,IAAI,CAAC;IAC7B,IAAI,CAACC,UACD;IAGJ,MAAMC,UAAUC,YAAYJ,OAAOE;IACnC,IAAIC,WAAW,GACX;IAEJ,MAAM,IAAIE,gBAAgB,CAAC,2CAA2C,EAAEH,SAAS,EAAE,CAAC;AACxF"}
|
package/validators/url.js
CHANGED
|
@@ -1,59 +1,26 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
-
|
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
|
6
|
-
value: true
|
|
7
|
-
});
|
|
8
|
-
exports.default = void 0;
|
|
9
|
-
|
|
10
|
-
var _validationError = _interopRequireDefault(require("../validationError"));
|
|
11
|
-
|
|
1
|
+
import validationError from "../validationError.js";
|
|
12
2
|
const regex = {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
relative: new RegExp( // eslint-disable-next-line
|
|
18
|
-
/^\/.*$/),
|
|
19
|
-
href: new RegExp( // eslint-disable-next-line
|
|
20
|
-
/^(#|mailto:|tel:)\S*$/)
|
|
3
|
+
base: new RegExp(/^(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),
|
|
4
|
+
ip: new RegExp(/^(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]?)$/),
|
|
5
|
+
relative: new RegExp(/^\/.*$/),
|
|
6
|
+
href: new RegExp(/^(#|mailto:|tel:)\S*$/)
|
|
21
7
|
};
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
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;
|
|
8
|
+
const url = (value, params)=>{
|
|
9
|
+
if (!value || !params) return;
|
|
10
|
+
value += "";
|
|
11
|
+
if (value.startsWith("http://localhost") || value.startsWith("https://localhost")) value = value.replace("//localhost", "//localhost.com");
|
|
12
|
+
if (regex.base.test(value)) {
|
|
13
|
+
if (!params.includes("noIp")) return;
|
|
14
|
+
if (!regex.ip.test(value)) return;
|
|
41
15
|
}
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
if (params.includes("allowRelative")) {
|
|
45
|
-
if (regex.relative.test(value)) {
|
|
46
|
-
return;
|
|
16
|
+
if (params.includes("allowRelative")) {
|
|
17
|
+
if (regex.relative.test(value)) return;
|
|
47
18
|
}
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
if (params.includes("allowHref")) {
|
|
51
|
-
if (regex.href.test(value)) {
|
|
52
|
-
return;
|
|
19
|
+
if (params.includes("allowHref")) {
|
|
20
|
+
if (regex.href.test(value)) return;
|
|
53
21
|
}
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
throw new _validationError.default("Value must be a valid URL.");
|
|
22
|
+
throw new validationError("Value must be a valid URL.");
|
|
57
23
|
};
|
|
24
|
+
export default url;
|
|
58
25
|
|
|
59
|
-
|
|
26
|
+
//# sourceMappingURL=url.js.map
|