valgen 5.18.2 → 5.19.0

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.
Files changed (208) hide show
  1. package/{types/constants.d.ts → constants.d.ts} +1 -0
  2. package/{esm/constants.js → constants.js} +1 -0
  3. package/{esm/core → core}/context.js +12 -2
  4. package/{esm/core → core}/validation-error.js +1 -1
  5. package/package.json +9 -25
  6. package/{types/rules → rules}/type-rules/is-date.d.ts +1 -0
  7. package/{esm/rules → rules}/type-rules/is-date.js +21 -10
  8. package/CHANGELOG.md +0 -384
  9. package/cjs/constants.js +0 -7
  10. package/cjs/core/constants.js +0 -5
  11. package/cjs/core/context.js +0 -74
  12. package/cjs/core/index.js +0 -9
  13. package/cjs/core/types.js +0 -2
  14. package/cjs/core/utilities.js +0 -30
  15. package/cjs/core/validation-error.js +0 -12
  16. package/cjs/core/validator.js +0 -71
  17. package/cjs/factories.js +0 -4
  18. package/cjs/helpers/object.utils.js +0 -18
  19. package/cjs/helpers/omit-undefined.js +0 -14
  20. package/cjs/helpers/string.utils.js +0 -6
  21. package/cjs/index.js +0 -129
  22. package/cjs/package.json +0 -3
  23. package/cjs/rules/format-rules/is-alpha.js +0 -30
  24. package/cjs/rules/format-rules/is-ascii.js +0 -17
  25. package/cjs/rules/format-rules/is-base64.js +0 -18
  26. package/cjs/rules/format-rules/is-btc-address.js +0 -18
  27. package/cjs/rules/format-rules/is-credit-card.js +0 -19
  28. package/cjs/rules/format-rules/is-decimal.js +0 -19
  29. package/cjs/rules/format-rules/is-ean.js +0 -17
  30. package/cjs/rules/format-rules/is-email.js +0 -66
  31. package/cjs/rules/format-rules/is-eth-address.js +0 -18
  32. package/cjs/rules/format-rules/is-fqdn.js +0 -21
  33. package/cjs/rules/format-rules/is-hash.js +0 -18
  34. package/cjs/rules/format-rules/is-hex-color.js +0 -18
  35. package/cjs/rules/format-rules/is-hex.js +0 -18
  36. package/cjs/rules/format-rules/is-iban.js +0 -29
  37. package/cjs/rules/format-rules/is-ip.js +0 -35
  38. package/cjs/rules/format-rules/is-issn.js +0 -21
  39. package/cjs/rules/format-rules/is-jwt.js +0 -17
  40. package/cjs/rules/format-rules/is-lowercase.js +0 -31
  41. package/cjs/rules/format-rules/is-mac-address.js +0 -24
  42. package/cjs/rules/format-rules/is-mobile-phone.js +0 -22
  43. package/cjs/rules/format-rules/is-object-id.js +0 -28
  44. package/cjs/rules/format-rules/is-passport-number.js +0 -19
  45. package/cjs/rules/format-rules/is-port.js +0 -22
  46. package/cjs/rules/format-rules/is-time.js +0 -51
  47. package/cjs/rules/format-rules/is-url.js +0 -20
  48. package/cjs/rules/format-rules/is-uuid.js +0 -20
  49. package/cjs/rules/format-rules/is-vat-number.js +0 -18
  50. package/cjs/rules/format-rules/matches.js +0 -22
  51. package/cjs/rules/index.js +0 -56
  52. package/cjs/rules/logical-rules/is-defined.js +0 -15
  53. package/cjs/rules/logical-rules/is-empty.js +0 -110
  54. package/cjs/rules/logical-rules/is-equal.js +0 -32
  55. package/cjs/rules/logical-rules/range.js +0 -175
  56. package/cjs/rules/type-rules/is-any.js +0 -10
  57. package/cjs/rules/type-rules/is-array.js +0 -45
  58. package/cjs/rules/type-rules/is-bigint.js +0 -21
  59. package/cjs/rules/type-rules/is-boolean.js +0 -31
  60. package/cjs/rules/type-rules/is-date.js +0 -180
  61. package/cjs/rules/type-rules/is-enum.js +0 -31
  62. package/cjs/rules/type-rules/is-integer.js +0 -30
  63. package/cjs/rules/type-rules/is-null.js +0 -54
  64. package/cjs/rules/type-rules/is-number.js +0 -27
  65. package/cjs/rules/type-rules/is-object.js +0 -113
  66. package/cjs/rules/type-rules/is-record.js +0 -42
  67. package/cjs/rules/type-rules/is-string.js +0 -81
  68. package/cjs/rules/type-rules/is-tuple.js +0 -38
  69. package/cjs/rules/type-rules/is-undefined.js +0 -17
  70. package/cjs/rules/utility-rules/all-of.js +0 -20
  71. package/cjs/rules/utility-rules/exists.js +0 -18
  72. package/cjs/rules/utility-rules/get-length.js +0 -29
  73. package/cjs/rules/utility-rules/one-of.js +0 -59
  74. package/cjs/rules/utility-rules/optional.js +0 -15
  75. package/cjs/rules/utility-rules/pipe.js +0 -28
  76. package/cjs/rules/utility-rules/required.js +0 -19
  77. package/cjs/tsconfig-build-cjs.tsbuildinfo +0 -1
  78. package/esm/package.json +0 -3
  79. package/esm/tsconfig-build-esm.tsbuildinfo +0 -1
  80. package/types/index.d.cts +0 -65
  81. /package/{types/core → core}/constants.d.ts +0 -0
  82. /package/{esm/core → core}/constants.js +0 -0
  83. /package/{types/core → core}/context.d.ts +0 -0
  84. /package/{types/core → core}/index.d.ts +0 -0
  85. /package/{esm/core → core}/index.js +0 -0
  86. /package/{types/core → core}/types.d.ts +0 -0
  87. /package/{esm/core → core}/types.js +0 -0
  88. /package/{types/core → core}/utilities.d.ts +0 -0
  89. /package/{esm/core → core}/utilities.js +0 -0
  90. /package/{types/core → core}/validation-error.d.ts +0 -0
  91. /package/{types/core → core}/validator.d.ts +0 -0
  92. /package/{esm/core → core}/validator.js +0 -0
  93. /package/{types/factories.d.ts → factories.d.ts} +0 -0
  94. /package/{esm/factories.js → factories.js} +0 -0
  95. /package/{types/helpers → helpers}/object.utils.d.ts +0 -0
  96. /package/{esm/helpers → helpers}/object.utils.js +0 -0
  97. /package/{types/helpers → helpers}/omit-undefined.d.ts +0 -0
  98. /package/{esm/helpers → helpers}/omit-undefined.js +0 -0
  99. /package/{types/helpers → helpers}/string.utils.d.ts +0 -0
  100. /package/{esm/helpers → helpers}/string.utils.js +0 -0
  101. /package/{types/index.d.ts → index.d.ts} +0 -0
  102. /package/{esm/index.js → index.js} +0 -0
  103. /package/{types/rules → rules}/format-rules/is-alpha.d.ts +0 -0
  104. /package/{esm/rules → rules}/format-rules/is-alpha.js +0 -0
  105. /package/{types/rules → rules}/format-rules/is-ascii.d.ts +0 -0
  106. /package/{esm/rules → rules}/format-rules/is-ascii.js +0 -0
  107. /package/{types/rules → rules}/format-rules/is-base64.d.ts +0 -0
  108. /package/{esm/rules → rules}/format-rules/is-base64.js +0 -0
  109. /package/{types/rules → rules}/format-rules/is-btc-address.d.ts +0 -0
  110. /package/{esm/rules → rules}/format-rules/is-btc-address.js +0 -0
  111. /package/{types/rules → rules}/format-rules/is-credit-card.d.ts +0 -0
  112. /package/{esm/rules → rules}/format-rules/is-credit-card.js +0 -0
  113. /package/{types/rules → rules}/format-rules/is-decimal.d.ts +0 -0
  114. /package/{esm/rules → rules}/format-rules/is-decimal.js +0 -0
  115. /package/{types/rules → rules}/format-rules/is-ean.d.ts +0 -0
  116. /package/{esm/rules → rules}/format-rules/is-ean.js +0 -0
  117. /package/{types/rules → rules}/format-rules/is-email.d.ts +0 -0
  118. /package/{esm/rules → rules}/format-rules/is-email.js +0 -0
  119. /package/{types/rules → rules}/format-rules/is-eth-address.d.ts +0 -0
  120. /package/{esm/rules → rules}/format-rules/is-eth-address.js +0 -0
  121. /package/{types/rules → rules}/format-rules/is-fqdn.d.ts +0 -0
  122. /package/{esm/rules → rules}/format-rules/is-fqdn.js +0 -0
  123. /package/{types/rules → rules}/format-rules/is-hash.d.ts +0 -0
  124. /package/{esm/rules → rules}/format-rules/is-hash.js +0 -0
  125. /package/{types/rules → rules}/format-rules/is-hex-color.d.ts +0 -0
  126. /package/{esm/rules → rules}/format-rules/is-hex-color.js +0 -0
  127. /package/{types/rules → rules}/format-rules/is-hex.d.ts +0 -0
  128. /package/{esm/rules → rules}/format-rules/is-hex.js +0 -0
  129. /package/{types/rules → rules}/format-rules/is-iban.d.ts +0 -0
  130. /package/{esm/rules → rules}/format-rules/is-iban.js +0 -0
  131. /package/{types/rules → rules}/format-rules/is-ip.d.ts +0 -0
  132. /package/{esm/rules → rules}/format-rules/is-ip.js +0 -0
  133. /package/{types/rules → rules}/format-rules/is-issn.d.ts +0 -0
  134. /package/{esm/rules → rules}/format-rules/is-issn.js +0 -0
  135. /package/{types/rules → rules}/format-rules/is-jwt.d.ts +0 -0
  136. /package/{esm/rules → rules}/format-rules/is-jwt.js +0 -0
  137. /package/{types/rules → rules}/format-rules/is-lowercase.d.ts +0 -0
  138. /package/{esm/rules → rules}/format-rules/is-lowercase.js +0 -0
  139. /package/{types/rules → rules}/format-rules/is-mac-address.d.ts +0 -0
  140. /package/{esm/rules → rules}/format-rules/is-mac-address.js +0 -0
  141. /package/{types/rules → rules}/format-rules/is-mobile-phone.d.ts +0 -0
  142. /package/{esm/rules → rules}/format-rules/is-mobile-phone.js +0 -0
  143. /package/{types/rules → rules}/format-rules/is-object-id.d.ts +0 -0
  144. /package/{esm/rules → rules}/format-rules/is-object-id.js +0 -0
  145. /package/{types/rules → rules}/format-rules/is-passport-number.d.ts +0 -0
  146. /package/{esm/rules → rules}/format-rules/is-passport-number.js +0 -0
  147. /package/{types/rules → rules}/format-rules/is-port.d.ts +0 -0
  148. /package/{esm/rules → rules}/format-rules/is-port.js +0 -0
  149. /package/{types/rules → rules}/format-rules/is-time.d.ts +0 -0
  150. /package/{esm/rules → rules}/format-rules/is-time.js +0 -0
  151. /package/{types/rules → rules}/format-rules/is-url.d.ts +0 -0
  152. /package/{esm/rules → rules}/format-rules/is-url.js +0 -0
  153. /package/{types/rules → rules}/format-rules/is-uuid.d.ts +0 -0
  154. /package/{esm/rules → rules}/format-rules/is-uuid.js +0 -0
  155. /package/{types/rules → rules}/format-rules/is-vat-number.d.ts +0 -0
  156. /package/{esm/rules → rules}/format-rules/is-vat-number.js +0 -0
  157. /package/{types/rules → rules}/format-rules/matches.d.ts +0 -0
  158. /package/{esm/rules → rules}/format-rules/matches.js +0 -0
  159. /package/{types/rules → rules}/index.d.ts +0 -0
  160. /package/{esm/rules → rules}/index.js +0 -0
  161. /package/{types/rules → rules}/logical-rules/is-defined.d.ts +0 -0
  162. /package/{esm/rules → rules}/logical-rules/is-defined.js +0 -0
  163. /package/{types/rules → rules}/logical-rules/is-empty.d.ts +0 -0
  164. /package/{esm/rules → rules}/logical-rules/is-empty.js +0 -0
  165. /package/{types/rules → rules}/logical-rules/is-equal.d.ts +0 -0
  166. /package/{esm/rules → rules}/logical-rules/is-equal.js +0 -0
  167. /package/{types/rules → rules}/logical-rules/range.d.ts +0 -0
  168. /package/{esm/rules → rules}/logical-rules/range.js +0 -0
  169. /package/{types/rules → rules}/type-rules/is-any.d.ts +0 -0
  170. /package/{esm/rules → rules}/type-rules/is-any.js +0 -0
  171. /package/{types/rules → rules}/type-rules/is-array.d.ts +0 -0
  172. /package/{esm/rules → rules}/type-rules/is-array.js +0 -0
  173. /package/{types/rules → rules}/type-rules/is-bigint.d.ts +0 -0
  174. /package/{esm/rules → rules}/type-rules/is-bigint.js +0 -0
  175. /package/{types/rules → rules}/type-rules/is-boolean.d.ts +0 -0
  176. /package/{esm/rules → rules}/type-rules/is-boolean.js +0 -0
  177. /package/{types/rules → rules}/type-rules/is-enum.d.ts +0 -0
  178. /package/{esm/rules → rules}/type-rules/is-enum.js +0 -0
  179. /package/{types/rules → rules}/type-rules/is-integer.d.ts +0 -0
  180. /package/{esm/rules → rules}/type-rules/is-integer.js +0 -0
  181. /package/{types/rules → rules}/type-rules/is-null.d.ts +0 -0
  182. /package/{esm/rules → rules}/type-rules/is-null.js +0 -0
  183. /package/{types/rules → rules}/type-rules/is-number.d.ts +0 -0
  184. /package/{esm/rules → rules}/type-rules/is-number.js +0 -0
  185. /package/{types/rules → rules}/type-rules/is-object.d.ts +0 -0
  186. /package/{esm/rules → rules}/type-rules/is-object.js +0 -0
  187. /package/{types/rules → rules}/type-rules/is-record.d.ts +0 -0
  188. /package/{esm/rules → rules}/type-rules/is-record.js +0 -0
  189. /package/{types/rules → rules}/type-rules/is-string.d.ts +0 -0
  190. /package/{esm/rules → rules}/type-rules/is-string.js +0 -0
  191. /package/{types/rules → rules}/type-rules/is-tuple.d.ts +0 -0
  192. /package/{esm/rules → rules}/type-rules/is-tuple.js +0 -0
  193. /package/{types/rules → rules}/type-rules/is-undefined.d.ts +0 -0
  194. /package/{esm/rules → rules}/type-rules/is-undefined.js +0 -0
  195. /package/{types/rules → rules}/utility-rules/all-of.d.ts +0 -0
  196. /package/{esm/rules → rules}/utility-rules/all-of.js +0 -0
  197. /package/{types/rules → rules}/utility-rules/exists.d.ts +0 -0
  198. /package/{esm/rules → rules}/utility-rules/exists.js +0 -0
  199. /package/{types/rules → rules}/utility-rules/get-length.d.ts +0 -0
  200. /package/{esm/rules → rules}/utility-rules/get-length.js +0 -0
  201. /package/{types/rules → rules}/utility-rules/one-of.d.ts +0 -0
  202. /package/{esm/rules → rules}/utility-rules/one-of.js +0 -0
  203. /package/{types/rules → rules}/utility-rules/optional.d.ts +0 -0
  204. /package/{esm/rules → rules}/utility-rules/optional.js +0 -0
  205. /package/{types/rules → rules}/utility-rules/pipe.d.ts +0 -0
  206. /package/{esm/rules → rules}/utility-rules/pipe.js +0 -0
  207. /package/{types/rules → rules}/utility-rules/required.d.ts +0 -0
  208. /package/{esm/rules → rules}/utility-rules/required.js +0 -0
@@ -1,35 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isIP = isIP;
4
- exports.isIPRange = isIPRange;
5
- const tslib_1 = require("tslib");
6
- const validator_1 = tslib_1.__importDefault(require("@browsery/validator"));
7
- const index_js_1 = require("../../core/index.js");
8
- /**
9
- * Validates if value is an IP
10
- * @validator isIP
11
- */
12
- function isIP(version, options) {
13
- return (0, index_js_1.validator)('isIP', (input, context, _this) => {
14
- if (input != null &&
15
- typeof input === 'string' &&
16
- validator_1.default.isIP(input, version)) {
17
- return input;
18
- }
19
- context.fail(_this, `Value must be a valid IP${version ? ' v' + version : ''}`, input);
20
- }, options);
21
- }
22
- /**
23
- * Validates if value is an IP
24
- * @validator isIPRange
25
- */
26
- function isIPRange(version, options) {
27
- return (0, index_js_1.validator)('isIPRange', (input, context, _this) => {
28
- if (input != null &&
29
- typeof input === 'string' &&
30
- validator_1.default.isIPRange(input, version)) {
31
- return input;
32
- }
33
- context.fail(_this, `Value must be a valid IP${version ? ' v' + version : ''} range`, input);
34
- }, options);
35
- }
@@ -1,21 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isISSN = isISSN;
4
- const tslib_1 = require("tslib");
5
- const validator_1 = tslib_1.__importDefault(require("@browsery/validator"));
6
- const index_js_1 = require("../../core/index.js");
7
- /**
8
- * Validates if value is an ISSN
9
- * @validator isISSN
10
- */
11
- function isISSN(options) {
12
- const opts = {
13
- case_sensitive: options?.caseSensitive,
14
- };
15
- return (0, index_js_1.validator)('isISSN', (input, context, _this) => {
16
- if (typeof input === 'string' && validator_1.default.isISSN(input, opts)) {
17
- return input;
18
- }
19
- context.fail(_this, `Value must be a valid ISSN`, input);
20
- }, options);
21
- }
@@ -1,17 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isJWT = isJWT;
4
- const tslib_1 = require("tslib");
5
- const validator_1 = tslib_1.__importDefault(require("@browsery/validator"));
6
- const index_js_1 = require("../../core/index.js");
7
- /**
8
- * Validates if value a valid JWT token
9
- * @validator isJWT
10
- */
11
- function isJWT(options) {
12
- return (0, index_js_1.validator)('isJWT', (input, context, _this) => {
13
- if (typeof input === 'string' && validator_1.default.isJWT(input))
14
- return input;
15
- context.fail(_this, `Value must be valid JWT token`, input);
16
- }, options);
17
- }
@@ -1,31 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isLowercase = isLowercase;
4
- exports.isUppercase = isUppercase;
5
- const tslib_1 = require("tslib");
6
- const validator_1 = tslib_1.__importDefault(require("@browsery/validator"));
7
- const index_js_1 = require("../../core/index.js");
8
- /**
9
- * Validates if value a Lowercase string
10
- * @validator isLowercase
11
- */
12
- function isLowercase(options) {
13
- return (0, index_js_1.validator)('isLowercase', (input, context, _this) => {
14
- if (typeof input === 'string' && validator_1.default.isLowercase(input)) {
15
- return input;
16
- }
17
- context.fail(_this, `Value must be a lowercase string`, input);
18
- }, options);
19
- }
20
- /**
21
- * Validates if value a Uppercase string
22
- * @validator isUppercase
23
- */
24
- function isUppercase(options) {
25
- return (0, index_js_1.validator)('isUppercase', (input, context, _this) => {
26
- if (typeof input === 'string' && validator_1.default.isUppercase(input)) {
27
- return input;
28
- }
29
- context.fail(_this, `Value must be an uppercase string`, input);
30
- }, options);
31
- }
@@ -1,24 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isMACAddress = isMACAddress;
4
- const tslib_1 = require("tslib");
5
- const validator_1 = tslib_1.__importDefault(require("@browsery/validator"));
6
- const index_js_1 = require("../../core/index.js");
7
- /**
8
- * Validates if value is an MACAddress
9
- * @validator isMACAddress
10
- */
11
- function isMACAddress(options) {
12
- const opts = {
13
- no_separators: options?.noSeparators,
14
- eui: options?.eui,
15
- };
16
- return (0, index_js_1.validator)('isMACAddress', (input, context, _this) => {
17
- if (input != null &&
18
- typeof input === 'string' &&
19
- validator_1.default.isMACAddress(input, opts)) {
20
- return input;
21
- }
22
- context.fail(_this, `Value must be a valid MAC address`, input);
23
- }, options);
24
- }
@@ -1,22 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isMobilePhone = isMobilePhone;
4
- const tslib_1 = require("tslib");
5
- const validator_1 = tslib_1.__importDefault(require("@browsery/validator"));
6
- const index_js_1 = require("../../core/index.js");
7
- /**
8
- * Validates if value is a valid Email
9
- * @validator isMobilePhone
10
- */
11
- function isMobilePhone(options) {
12
- const opts = {
13
- strictMode: options?.strictMode,
14
- };
15
- return (0, index_js_1.validator)('isMobilePhone', (input, context, _this) => {
16
- if (typeof input === 'string' &&
17
- validator_1.default.isMobilePhone(input, options?.locale, opts)) {
18
- return input;
19
- }
20
- context.fail(_this, `Value must be a valid a Mobile Phone Number`, input);
21
- }, options);
22
- }
@@ -1,28 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isObjectId = isObjectId;
4
- const tslib_1 = require("tslib");
5
- const validator_1 = tslib_1.__importDefault(require("@browsery/validator"));
6
- const index_js_1 = require("../../core/index.js");
7
- /**
8
- * Validates if value is an "ObjectId".
9
- * @validator isObjectId
10
- */
11
- function isObjectId(options) {
12
- return (0, index_js_1.validator)('isObjectId', (input, context, _this) => {
13
- if (input != null &&
14
- (_isObjectIdValue(input) ||
15
- (typeof input === 'object' &&
16
- typeof input.toHexString === 'function' &&
17
- _isObjectIdValue(input.toHexString())))) {
18
- return input;
19
- }
20
- context.fail(_this, `Value must be a valid ObjectId`, input);
21
- }, options);
22
- }
23
- function _isObjectIdValue(input) {
24
- return ((input instanceof Uint8Array && input.length === 12) ||
25
- (typeof input === 'string' &&
26
- input.length === 24 &&
27
- validator_1.default.isHexadecimal(input)));
28
- }
@@ -1,19 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isPassportNumber = isPassportNumber;
4
- const tslib_1 = require("tslib");
5
- const validator_1 = tslib_1.__importDefault(require("@browsery/validator"));
6
- const index_js_1 = require("../../core/index.js");
7
- /**
8
- * Validates if value is a passport number
9
- * @validator isPassportNumber
10
- */
11
- function isPassportNumber(countryCode, options) {
12
- return (0, index_js_1.validator)('isPassportNumber', (input, context, _this) => {
13
- if (typeof input === 'string' &&
14
- validator_1.default.isPassportNumber(input, countryCode)) {
15
- return input;
16
- }
17
- context.fail(_this, `Value must be a valid ${countryCode} PassportNumber)`, input);
18
- }, options);
19
- }
@@ -1,22 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isPort = isPort;
4
- const tslib_1 = require("tslib");
5
- const validator_1 = tslib_1.__importDefault(require("@browsery/validator"));
6
- const index_js_1 = require("../../core/index.js");
7
- /**
8
- * Validates if value is a port number
9
- * @validator isPort
10
- */
11
- function isPort(options) {
12
- return (0, index_js_1.validator)('isPort', (input, context, _this) => {
13
- if (typeof input === 'number')
14
- input = String(input);
15
- if (input != null &&
16
- typeof input === 'string' &&
17
- validator_1.default.isPort(input)) {
18
- return parseInt(input, 10);
19
- }
20
- context.fail(_this, `Value must be a valid port number`, input);
21
- }, options);
22
- }
@@ -1,51 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isTime = isTime;
4
- const index_js_1 = require("../../core/index.js");
5
- const TIME_PATTERN = /^(\d{2}):?(\d{2})(?::?(\d{2})?(?:\.(\d{1,3}))?)?$/;
6
- /**
7
- * Validates if value is a time formatted string
8
- * @validator isTime
9
- */
10
- function isTime(options) {
11
- return (0, index_js_1.validator)('isTime', (input, context, _this) => {
12
- if (input != null) {
13
- const coerce = options?.coerce ?? context.coerce;
14
- let str;
15
- if (input instanceof Date && coerce) {
16
- str =
17
- String(input.getHours()).padStart(2, '0') +
18
- ':' +
19
- String(input.getMinutes()).padStart(2, '0') +
20
- ':' +
21
- String(input.getSeconds()).padStart(2, '0');
22
- if (input.getMilliseconds()) {
23
- str += '.' + String(input.getMilliseconds()).padStart(3, '0');
24
- }
25
- return str;
26
- }
27
- else
28
- str = input;
29
- if (str && typeof str === 'string') {
30
- const m = TIME_PATTERN.exec(str);
31
- if (m) {
32
- if (parseInt(m[1]) <= 23 &&
33
- parseInt(m[2]) <= 59 &&
34
- (!m[3] || parseInt(m[3]) <= 59)) {
35
- if (!coerce)
36
- return str;
37
- let out = m[1];
38
- if (m[2])
39
- out += ':' + m[2];
40
- if (m[3])
41
- out += ':' + m[3];
42
- if (m[4])
43
- out += '.' + m[4];
44
- return out;
45
- }
46
- }
47
- }
48
- }
49
- context.fail(_this, `Value must be a valid Time`, input);
50
- }, options);
51
- }
@@ -1,20 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isURL = isURL;
4
- const tslib_1 = require("tslib");
5
- const validator_1 = tslib_1.__importDefault(require("@browsery/validator"));
6
- const index_js_1 = require("../../core/index.js");
7
- /**
8
- * Validates if value is an URL
9
- * @validator isURL
10
- */
11
- function isURL(options) {
12
- return (0, index_js_1.validator)('isURL', (input, context, _this) => {
13
- if (input != null &&
14
- typeof input === 'string' &&
15
- validator_1.default.isURL(input, options)) {
16
- return input;
17
- }
18
- context.fail(_this, `Value must be a valid URL`, input);
19
- }, options);
20
- }
@@ -1,20 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isUUID = isUUID;
4
- const tslib_1 = require("tslib");
5
- const validator_1 = tslib_1.__importDefault(require("@browsery/validator"));
6
- const index_js_1 = require("../../core/index.js");
7
- /**
8
- * Validates if value is an "UUID".
9
- * @validator isUUID
10
- */
11
- function isUUID(version, options) {
12
- return (0, index_js_1.validator)('isUUID', (input, context, _this) => {
13
- if (input != null &&
14
- typeof input === 'string' &&
15
- validator_1.default.isUUID(input, version)) {
16
- return input;
17
- }
18
- context.fail(_this, `Value must be a valid UUID${version ? ' v' + version : ''}`, input);
19
- }, options);
20
- }
@@ -1,18 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isVATNumber = isVATNumber;
4
- const tslib_1 = require("tslib");
5
- const validator_1 = tslib_1.__importDefault(require("@browsery/validator"));
6
- const index_js_1 = require("../../core/index.js");
7
- /**
8
- * Validates if value is an VAT number
9
- * @validator isVAT
10
- */
11
- function isVATNumber(countryCode, options) {
12
- return (0, index_js_1.validator)('isVATNumber', (input, context, _this) => {
13
- if (typeof input === 'string' && validator_1.default.isVAT(input, countryCode)) {
14
- return input;
15
- }
16
- context.fail(_this, `Value must be a valid VAT number`, input);
17
- }, options);
18
- }
@@ -1,22 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.matches = matches;
4
- const index_js_1 = require("../../core/index.js");
5
- /**
6
- * Coerces given value to "UUID" format or returns undefined if nullish
7
- * @validator uuid
8
- */
9
- function matches(format, options) {
10
- const regExp = format instanceof RegExp ? format : new RegExp(format);
11
- const formatName = options?.formatName;
12
- return (0, index_js_1.validator)('matches', (input, context, _this) => {
13
- if (input == null)
14
- return;
15
- if (typeof input === 'string' && regExp.test(input))
16
- return input;
17
- context.fail(_this, `Value must match ${formatName || 'requested'} format`, input, {
18
- format,
19
- formatName,
20
- });
21
- }, options);
22
- }
@@ -1,56 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- tslib_1.__exportStar(require("./format-rules/is-alpha.js"), exports);
5
- tslib_1.__exportStar(require("./format-rules/is-ascii.js"), exports);
6
- tslib_1.__exportStar(require("./format-rules/is-base64.js"), exports);
7
- tslib_1.__exportStar(require("./format-rules/is-btc-address.js"), exports);
8
- tslib_1.__exportStar(require("./format-rules/is-credit-card.js"), exports);
9
- tslib_1.__exportStar(require("./format-rules/is-decimal.js"), exports);
10
- tslib_1.__exportStar(require("./format-rules/is-ean.js"), exports);
11
- tslib_1.__exportStar(require("./format-rules/is-email.js"), exports);
12
- tslib_1.__exportStar(require("./format-rules/is-eth-address.js"), exports);
13
- tslib_1.__exportStar(require("./format-rules/is-fqdn.js"), exports);
14
- tslib_1.__exportStar(require("./format-rules/is-hash.js"), exports);
15
- tslib_1.__exportStar(require("./format-rules/is-hex.js"), exports);
16
- tslib_1.__exportStar(require("./format-rules/is-hex-color.js"), exports);
17
- tslib_1.__exportStar(require("./format-rules/is-iban.js"), exports);
18
- tslib_1.__exportStar(require("./format-rules/is-ip.js"), exports);
19
- tslib_1.__exportStar(require("./format-rules/is-issn.js"), exports);
20
- tslib_1.__exportStar(require("./format-rules/is-jwt.js"), exports);
21
- tslib_1.__exportStar(require("./format-rules/is-lowercase.js"), exports);
22
- tslib_1.__exportStar(require("./format-rules/is-mac-address.js"), exports);
23
- tslib_1.__exportStar(require("./format-rules/is-mobile-phone.js"), exports);
24
- tslib_1.__exportStar(require("./format-rules/is-object-id.js"), exports);
25
- tslib_1.__exportStar(require("./format-rules/is-passport-number.js"), exports);
26
- tslib_1.__exportStar(require("./format-rules/is-port.js"), exports);
27
- tslib_1.__exportStar(require("./format-rules/is-time.js"), exports);
28
- tslib_1.__exportStar(require("./format-rules/is-url.js"), exports);
29
- tslib_1.__exportStar(require("./format-rules/is-uuid.js"), exports);
30
- tslib_1.__exportStar(require("./format-rules/is-vat-number.js"), exports);
31
- tslib_1.__exportStar(require("./format-rules/matches.js"), exports);
32
- tslib_1.__exportStar(require("./logical-rules/is-defined.js"), exports);
33
- tslib_1.__exportStar(require("./logical-rules/is-empty.js"), exports);
34
- tslib_1.__exportStar(require("./logical-rules/is-equal.js"), exports);
35
- tslib_1.__exportStar(require("./logical-rules/range.js"), exports);
36
- tslib_1.__exportStar(require("./type-rules/is-any.js"), exports);
37
- tslib_1.__exportStar(require("./type-rules/is-array.js"), exports);
38
- tslib_1.__exportStar(require("./type-rules/is-bigint.js"), exports);
39
- tslib_1.__exportStar(require("./type-rules/is-boolean.js"), exports);
40
- tslib_1.__exportStar(require("./type-rules/is-date.js"), exports);
41
- tslib_1.__exportStar(require("./type-rules/is-enum.js"), exports);
42
- tslib_1.__exportStar(require("./type-rules/is-integer.js"), exports);
43
- tslib_1.__exportStar(require("./type-rules/is-null.js"), exports);
44
- tslib_1.__exportStar(require("./type-rules/is-number.js"), exports);
45
- tslib_1.__exportStar(require("./type-rules/is-object.js"), exports);
46
- tslib_1.__exportStar(require("./type-rules/is-record.js"), exports);
47
- tslib_1.__exportStar(require("./type-rules/is-string.js"), exports);
48
- tslib_1.__exportStar(require("./type-rules/is-tuple.js"), exports);
49
- tslib_1.__exportStar(require("./type-rules/is-undefined.js"), exports);
50
- tslib_1.__exportStar(require("./utility-rules/all-of.js"), exports);
51
- tslib_1.__exportStar(require("./utility-rules/exists.js"), exports);
52
- tslib_1.__exportStar(require("./utility-rules/get-length.js"), exports);
53
- tslib_1.__exportStar(require("./utility-rules/one-of.js"), exports);
54
- tslib_1.__exportStar(require("./utility-rules/optional.js"), exports);
55
- tslib_1.__exportStar(require("./utility-rules/pipe.js"), exports);
56
- tslib_1.__exportStar(require("./utility-rules/required.js"), exports);
@@ -1,15 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isDefined = isDefined;
4
- const index_js_1 = require("../../core/index.js");
5
- /**
6
- * Validates if value is not "undefined" nor "null"
7
- * @validator isDefined
8
- */
9
- function isDefined(options) {
10
- return (0, index_js_1.validator)('is-defined', (input, context, _this) => {
11
- if (input !== undefined)
12
- return input;
13
- context.fail(_this, `Value must be defined`, input);
14
- }, options);
15
- }
@@ -1,110 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isEmpty = isEmpty;
4
- exports.isNotEmpty = isNotEmpty;
5
- const index_js_1 = require("../../core/index.js");
6
- /**
7
- * Checks if value is an empty. Value should be string, array, set, map or object
8
- * @validator isEmpty
9
- */
10
- function isEmpty(options) {
11
- return (0, index_js_1.validator)('isEmpty', (input, context, _this) => {
12
- if (input == null)
13
- return input;
14
- if (typeof input === 'string') {
15
- if (input)
16
- context.fail(_this, `Value must be an empty string`, input);
17
- return input;
18
- }
19
- else if (Array.isArray(input)) {
20
- if (input.length)
21
- context.fail(_this, `Value must be an empty array`, input);
22
- return input;
23
- }
24
- else if (input instanceof Set) {
25
- if (input.size)
26
- context.fail(_this, `Value must be an empty Set`, input);
27
- return input;
28
- }
29
- else if (input instanceof Map) {
30
- if (input.size)
31
- context.fail(_this, `Value must be an empty Map`, input);
32
- return input;
33
- }
34
- else if (Buffer.isBuffer(input)) {
35
- if (input.length)
36
- context.fail(_this, `Value must be an empty Buffer`, input);
37
- return input;
38
- }
39
- else if (input instanceof ArrayBuffer) {
40
- if (input.byteLength)
41
- context.fail(_this, `Value must be an empty ArrayBuffer`, input);
42
- return input;
43
- }
44
- else if (typeof input === 'object') {
45
- if (input instanceof Date)
46
- return input;
47
- if (Object.keys(input).length)
48
- context.fail(_this, `Value must be an empty Object`, input);
49
- return input;
50
- }
51
- context.fail(_this, `Value must be empty`, input);
52
- }, options);
53
- }
54
- /**
55
- * Checks if value is a not empty. Value should be string, array, set, map or object
56
- * @validator isNotEmpty
57
- */
58
- function isNotEmpty(options) {
59
- return (0, index_js_1.validator)('isNotEmpty', (input, context, _this) => {
60
- if (input != null) {
61
- if (typeof input === 'string') {
62
- if (!input)
63
- context.fail(_this, `Value must not be empty`, input);
64
- return input;
65
- }
66
- else if (typeof input === 'number') {
67
- if (Number.isNaN(input))
68
- context.fail(_this, `Value must not be NaN`, input);
69
- return input;
70
- }
71
- else if (typeof input === 'object') {
72
- if (Array.isArray(input)) {
73
- if (!input.length)
74
- context.fail(_this, `Array must not be empty`, input);
75
- return input;
76
- }
77
- else if (input instanceof Set) {
78
- if (!input.size)
79
- context.fail(_this, `Set must not be empty`, input);
80
- return input;
81
- }
82
- else if (input instanceof Map) {
83
- if (!input.size)
84
- context.fail(_this, `Map must not be empty`, input);
85
- return input;
86
- }
87
- else if (Buffer.isBuffer(input)) {
88
- if (!input.length)
89
- context.fail(_this, `Buffer must not be empty`, input);
90
- return input;
91
- }
92
- else if (input instanceof ArrayBuffer) {
93
- if (!input.byteLength)
94
- context.fail(_this, `ArrayBuffer must not be empty`, input);
95
- return input;
96
- }
97
- else {
98
- if (input instanceof Date)
99
- return input;
100
- if (!Object.keys(input).length)
101
- context.fail(_this, `Object must not be empty`, input);
102
- return input;
103
- }
104
- }
105
- return input;
106
- }
107
- context.fail(_this, `Value must not be empty`, input);
108
- return input;
109
- }, options);
110
- }
@@ -1,32 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isEqual = isEqual;
4
- exports.isNotEqual = isNotEqual;
5
- const index_js_1 = require("../../core/index.js");
6
- /**
7
- *
8
- * @validator isEqual
9
- */
10
- function isEqual(compare, options) {
11
- return (0, index_js_1.validator)('isEqual', (input, context, _this) => {
12
- if (input == null)
13
- return input;
14
- if (input !== compare)
15
- context.fail(_this, `Value must be equal to "${compare}"`, input);
16
- return input;
17
- }, options);
18
- }
19
- /**
20
- *
21
- * @validator isNotEqual
22
- */
23
- function isNotEqual(compare, options) {
24
- return (0, index_js_1.validator)('isNotEqual', (input, context, _this) => {
25
- if (input == null)
26
- return input;
27
- if (input === compare) {
28
- context.fail(_this, `Value must not be equal to "${compare}"`, input);
29
- }
30
- return input;
31
- }, options);
32
- }