react-hook-form-rules 1.6.0 → 1.7.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.
Files changed (94) hide show
  1. package/CHANGELOG.md +39 -0
  2. package/dist/i18n.d.ts +2 -0
  3. package/dist/i18n.js +26 -0
  4. package/dist/index.d.ts +13 -0
  5. package/dist/index.js +27 -0
  6. package/dist/rules/array/get-max-array-length-rule.d.ts +9 -0
  7. package/dist/rules/array/get-max-array-length-rule.js +17 -0
  8. package/dist/rules/array/get-max-array-length.d.ts +9 -0
  9. package/dist/rules/array/get-max-array-length.js +17 -0
  10. package/dist/rules/array/get-min-array-length-rule.d.ts +9 -0
  11. package/dist/rules/array/get-min-array-length-rule.js +17 -0
  12. package/dist/rules/array/get-min-array-length.d.ts +9 -0
  13. package/dist/rules/array/get-min-array-length.js +17 -0
  14. package/dist/rules/array/get-required-array-rule.d.ts +8 -0
  15. package/dist/rules/array/get-required-array-rule.js +15 -0
  16. package/dist/rules/array/tests/get-max-array-length-rule.test.d.ts +1 -0
  17. package/dist/rules/array/tests/get-max-array-length-rule.test.js +15 -0
  18. package/dist/rules/array/tests/get-min-array-length-rule.test.d.ts +1 -0
  19. package/dist/rules/array/tests/get-min-array-length-rule.test.js +15 -0
  20. package/dist/rules/array/tests/get-required-array-rule.test.d.ts +1 -0
  21. package/dist/rules/array/tests/get-required-array-rule.test.js +15 -0
  22. package/dist/rules/constants.d.ts +1 -0
  23. package/dist/rules/constants.js +4 -0
  24. package/dist/rules/default/get-max-length-rule.d.ts +11 -0
  25. package/dist/rules/default/get-max-length-rule.js +18 -0
  26. package/dist/rules/default/get-max-rule.d.ts +11 -0
  27. package/dist/rules/default/get-max-rule.js +16 -0
  28. package/dist/rules/default/get-min-length-rule.d.ts +11 -0
  29. package/dist/rules/default/get-min-length-rule.js +18 -0
  30. package/dist/rules/default/get-min-rule.d.ts +11 -0
  31. package/dist/rules/default/get-min-rule.js +18 -0
  32. package/dist/rules/default/get-require-rule.d.ts +11 -0
  33. package/dist/rules/default/get-require-rule.js +16 -0
  34. package/dist/rules/default/tests/get-max-length-rule.test.d.ts +1 -0
  35. package/dist/rules/default/tests/get-max-length-rule.test.js +23 -0
  36. package/dist/rules/default/tests/get-max-rule.test.d.ts +1 -0
  37. package/dist/rules/default/tests/get-max-rule.test.js +23 -0
  38. package/dist/rules/default/tests/get-min-length-rule.test.d.ts +1 -0
  39. package/dist/rules/default/tests/get-min-length-rule.test.js +23 -0
  40. package/dist/rules/default/tests/get-min-rule.test.d.ts +1 -0
  41. package/dist/rules/default/tests/get-min-rule.test.js +23 -0
  42. package/dist/rules/default/tests/get-required-rule.test.d.ts +1 -0
  43. package/dist/rules/default/tests/get-required-rule.test.js +11 -0
  44. package/dist/rules/get-email-rule.d.ts +17 -0
  45. package/dist/rules/get-email-rule.js +20 -0
  46. package/dist/rules/get-max-array-length.d.ts +8 -0
  47. package/dist/rules/get-max-array-length.js +16 -0
  48. package/dist/rules/get-max-length-rule.d.ts +11 -0
  49. package/dist/rules/get-max-length-rule.js +22 -0
  50. package/dist/rules/get-max-rule.d.ts +11 -0
  51. package/dist/rules/get-max-rule.js +15 -0
  52. package/dist/rules/get-min-array-length.d.ts +8 -0
  53. package/dist/rules/get-min-array-length.js +16 -0
  54. package/dist/rules/get-min-length-rule.d.ts +11 -0
  55. package/dist/rules/get-min-length-rule.js +22 -0
  56. package/dist/rules/get-min-rule.d.ts +16 -0
  57. package/dist/rules/get-min-rule.js +16 -0
  58. package/dist/rules/get-require-rule.d.ts +11 -0
  59. package/dist/rules/get-require-rule.js +16 -0
  60. package/dist/rules/get-required-array-role.d.ts +8 -0
  61. package/dist/rules/get-required-array-role.js +15 -0
  62. package/dist/rules/get-required-array-rule.d.ts +8 -0
  63. package/dist/rules/get-required-array-rule.js +15 -0
  64. package/dist/rules/get-required-object-rule.d.ts +8 -0
  65. package/dist/rules/get-required-object-rule.js +20 -0
  66. package/dist/rules/get-url-rule.d.ts +17 -0
  67. package/dist/rules/get-url-rule.js +20 -0
  68. package/dist/rules/helpers/get-min-error.d.ts +6 -0
  69. package/dist/rules/helpers/get-min-error.js +9 -0
  70. package/dist/rules/helpers/get-min-length-error.d.ts +6 -0
  71. package/dist/rules/helpers/get-min-length-error.js +9 -0
  72. package/dist/rules/link/get-email-rule.d.ts +17 -0
  73. package/dist/rules/link/get-email-rule.js +40 -0
  74. package/dist/rules/link/get-url-rule.d.ts +17 -0
  75. package/dist/rules/link/get-url-rule.js +20 -0
  76. package/dist/rules/object/get-required-object-rule.d.ts +8 -0
  77. package/dist/rules/object/get-required-object-rule.js +21 -0
  78. package/dist/rules/object/tests/get-require-object-rule.test.d.ts +1 -0
  79. package/dist/rules/object/tests/get-require-object-rule.test.js +15 -0
  80. package/dist/rules/patterns/get-email-rule.d.ts +17 -0
  81. package/dist/rules/patterns/get-email-rule.js +16 -0
  82. package/dist/rules/patterns/get-pattern-rule.d.ts +12 -0
  83. package/dist/rules/patterns/get-pattern-rule.js +16 -0
  84. package/dist/rules/patterns/get-url-rule.d.ts +17 -0
  85. package/dist/rules/patterns/get-url-rule.js +16 -0
  86. package/dist/rules/patterns/tests/get-email-rule.test.d.ts +1 -0
  87. package/dist/rules/patterns/tests/get-email-rule.test.js +25 -0
  88. package/dist/rules/patterns/tests/get-pattern-rule.test.d.ts +1 -0
  89. package/dist/rules/patterns/tests/get-pattern-rule.test.js +11 -0
  90. package/dist/rules/patterns/tests/get-url-rule.test.d.ts +1 -0
  91. package/dist/rules/patterns/tests/get-url-rule.test.js +25 -0
  92. package/jest.config.js +3 -2
  93. package/package.json +1 -1
  94. package/rules/patterns/get-email-rule.ts +1 -1
package/CHANGELOG.md CHANGED
@@ -1,3 +1,42 @@
1
+ ## [1.7.1](https://github.com/chopperqt/react-hook-form-rules/compare/v1.7.0...v1.7.1) (2025-12-27)
2
+
3
+ ### 📄 Documentation
4
+
5
+ * улучшение JSDoc ([676297b](https://github.com/chopperqt/react-hook-form-rules/commit/676297be1710bc0b4220bcb54a1a9df4794fe181))
6
+
7
+ ## [1.7.0](https://github.com/chopperqt/react-hook-form-rules/compare/v1.6.0...v1.7.0) (2025-12-27)
8
+
9
+ ### 📦 Build System
10
+
11
+ * добавлен патч к папке dist ([4a61b76](https://github.com/chopperqt/react-hook-form-rules/commit/4a61b7630d1763454f9cfb4d287f3e60a04c962b))
12
+
13
+ ### 🆕 Features
14
+
15
+ * добавлен CI для запуска тестов ([bedfee3](https://github.com/chopperqt/react-hook-form-rules/commit/bedfee3d756eca6f0f27d7fa7ba20d7291b160c1))
16
+ * добавлен текст для getMaxArrayLengthRule ([ea24bf5](https://github.com/chopperqt/react-hook-form-rules/commit/ea24bf5cf44b1c2b46eeb9e4e3ae5a9209b6829e))
17
+ * добавлен тест для getUrlRule ([0d695b4](https://github.com/chopperqt/react-hook-form-rules/commit/0d695b414cef77d83097b9f344d2395727a08f2f))
18
+ * добавлена локализация ошибок en/ru ([1b7949e](https://github.com/chopperqt/react-hook-form-rules/commit/1b7949e17c532c979de1e5b874960c6b0cafcabf))
19
+ * добавление unit(jest) тестов ([8f0c4c8](https://github.com/chopperqt/react-hook-form-rules/commit/8f0c4c8fa29425225e03583ceaed19136b1e8b57))
20
+ * добавление локали ([c932294](https://github.com/chopperqt/react-hook-form-rules/commit/c9322942d2d29684178dc9389db61104402439d9))
21
+ * добавление текстов для getMinRule и getRequiredRule ([ffd95cb](https://github.com/chopperqt/react-hook-form-rules/commit/ffd95cb08c15846504ff6539fd624a0488814506))
22
+ * добавление теста для getPatternRule ([4ca907f](https://github.com/chopperqt/react-hook-form-rules/commit/4ca907f654802fac318191eca6788a9b82dc58ea))
23
+ * добавление тестов для getMaxLengthRule ([2d66e5c](https://github.com/chopperqt/react-hook-form-rules/commit/2d66e5c2b3b606e83ea8c0cab715c6c800dcc95a))
24
+ * добавление тестов для getMaxRule ([98b0fc5](https://github.com/chopperqt/react-hook-form-rules/commit/98b0fc5dd0c2351bfdab3a779fe1dc882f7717c7))
25
+ * добавление тестов для getMinArrayLengthRule ([2e50f59](https://github.com/chopperqt/react-hook-form-rules/commit/2e50f5969dc80353d67014dc5268ab92b031f34c))
26
+ * добавлено новое правило ([90c3dbe](https://github.com/chopperqt/react-hook-form-rules/commit/90c3dbe68d9927e8230542c0dd2e7ebb42e449f6))
27
+ * добавлены тесты для getMinLengthRule ([be37c93](https://github.com/chopperqt/react-hook-form-rules/commit/be37c935e66995a7301189ec314ea4d0a92297a5))
28
+
29
+ ### 🐞 Bug Fixes
30
+
31
+ * добавлен перевод ошибок ([eb30cb6](https://github.com/chopperqt/react-hook-form-rules/commit/eb30cb6aab8bdeb015a2a13201854e2d019d47bb))
32
+
33
+ ### 🔥 Code Refactoring
34
+
35
+ * изменение архитектуры папок для тестов ([6e787e8](https://github.com/chopperqt/react-hook-form-rules/commit/6e787e880d1d34417fc91b5336390ba107bc9ad1))
36
+ * обновление .gitignore ([9d6e5c1](https://github.com/chopperqt/react-hook-form-rules/commit/9d6e5c1e331d82ea5d70452c47d5a18f4a2e154e))
37
+ * правки конфликтов ([9b0ccf6](https://github.com/chopperqt/react-hook-form-rules/commit/9b0ccf68b0db060dfaf7c1b35cabed07f419e808))
38
+ * ренейминг папки ([d176547](https://github.com/chopperqt/react-hook-form-rules/commit/d1765479f7a60425b3598e8143f06539255e204a))
39
+
1
40
  ## [1.6.0](https://github.com/chopperqt/react-hook-form-rules/compare/v1.5.8...v1.6.0) (2025-03-16)
2
41
 
3
42
  ### 🆕 Features
package/dist/i18n.d.ts ADDED
@@ -0,0 +1,2 @@
1
+ export declare const setLanguage: (lang: string) => void;
2
+ export declare const translate: (key: string, params?: {}) => any;
package/dist/i18n.js ADDED
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.translate = exports.setLanguage = void 0;
4
+ const translataions = {
5
+ en: require("./locales/en.json"),
6
+ ru: require("./locales/ru.json"),
7
+ };
8
+ let currentLang = 'en';
9
+ const setLanguage = (lang) => {
10
+ if (translataions[lang]) {
11
+ currentLang = lang;
12
+ }
13
+ else {
14
+ console.warn(`⚠️ Language "${lang}" is not supported. Defaulting to English.`);
15
+ }
16
+ };
17
+ exports.setLanguage = setLanguage;
18
+ const translate = (key, params = {}) => {
19
+ let text = translataions[currentLang][key] || key;
20
+ // Подставляем параметры (например, {{min}})
21
+ Object.keys(params).forEach((param) => {
22
+ text = text.replace(`{{${param}}}`, params[param]);
23
+ });
24
+ return text;
25
+ };
26
+ exports.translate = translate;
@@ -0,0 +1,13 @@
1
+ import { getEmailRule } from "./rules/patterns/get-email-rule";
2
+ import { getUrlRule } from "./rules/patterns/get-url-rule";
3
+ import { getPatternRule } from "./rules/patterns/get-pattern-rule";
4
+ import { getMaxArrayLengthRule } from "./rules/array/get-max-array-length-rule";
5
+ import { getMinArrayLengthRule } from "./rules/array/get-min-array-length-rule";
6
+ import { getRequiredArrayRule } from "./rules/array/get-required-array-rule";
7
+ import { getMaxLengthRule } from "./rules/default/get-max-length-rule";
8
+ import { getMaxRule } from "./rules/default/get-max-rule";
9
+ import { getMinLengthRule } from "./rules/default/get-min-length-rule";
10
+ import { getMinRule } from "./rules/default/get-min-rule";
11
+ import { getRequiredRule } from "./rules/default/get-require-rule";
12
+ import { getRequiredObjectRule } from "./rules/object/get-required-object-rule";
13
+ export { getPatternRule, getMaxRule, getRequiredObjectRule, getRequiredArrayRule, getEmailRule, getMaxLengthRule, getMaxArrayLengthRule, getMinArrayLengthRule, getMinLengthRule, getMinRule, getRequiredRule, getUrlRule, };
package/dist/index.js ADDED
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getUrlRule = exports.getRequiredRule = exports.getMinRule = exports.getMinLengthRule = exports.getMinArrayLengthRule = exports.getMaxArrayLengthRule = exports.getMaxLengthRule = exports.getEmailRule = exports.getRequiredArrayRule = exports.getRequiredObjectRule = exports.getMaxRule = exports.getPatternRule = void 0;
4
+ const get_email_rule_1 = require("./rules/patterns/get-email-rule");
5
+ Object.defineProperty(exports, "getEmailRule", { enumerable: true, get: function () { return get_email_rule_1.getEmailRule; } });
6
+ const get_url_rule_1 = require("./rules/patterns/get-url-rule");
7
+ Object.defineProperty(exports, "getUrlRule", { enumerable: true, get: function () { return get_url_rule_1.getUrlRule; } });
8
+ const get_pattern_rule_1 = require("./rules/patterns/get-pattern-rule");
9
+ Object.defineProperty(exports, "getPatternRule", { enumerable: true, get: function () { return get_pattern_rule_1.getPatternRule; } });
10
+ const get_max_array_length_rule_1 = require("./rules/array/get-max-array-length-rule");
11
+ Object.defineProperty(exports, "getMaxArrayLengthRule", { enumerable: true, get: function () { return get_max_array_length_rule_1.getMaxArrayLengthRule; } });
12
+ const get_min_array_length_rule_1 = require("./rules/array/get-min-array-length-rule");
13
+ Object.defineProperty(exports, "getMinArrayLengthRule", { enumerable: true, get: function () { return get_min_array_length_rule_1.getMinArrayLengthRule; } });
14
+ const get_required_array_rule_1 = require("./rules/array/get-required-array-rule");
15
+ Object.defineProperty(exports, "getRequiredArrayRule", { enumerable: true, get: function () { return get_required_array_rule_1.getRequiredArrayRule; } });
16
+ const get_max_length_rule_1 = require("./rules/default/get-max-length-rule");
17
+ Object.defineProperty(exports, "getMaxLengthRule", { enumerable: true, get: function () { return get_max_length_rule_1.getMaxLengthRule; } });
18
+ const get_max_rule_1 = require("./rules/default/get-max-rule");
19
+ Object.defineProperty(exports, "getMaxRule", { enumerable: true, get: function () { return get_max_rule_1.getMaxRule; } });
20
+ const get_min_length_rule_1 = require("./rules/default/get-min-length-rule");
21
+ Object.defineProperty(exports, "getMinLengthRule", { enumerable: true, get: function () { return get_min_length_rule_1.getMinLengthRule; } });
22
+ const get_min_rule_1 = require("./rules/default/get-min-rule");
23
+ Object.defineProperty(exports, "getMinRule", { enumerable: true, get: function () { return get_min_rule_1.getMinRule; } });
24
+ const get_require_rule_1 = require("./rules/default/get-require-rule");
25
+ Object.defineProperty(exports, "getRequiredRule", { enumerable: true, get: function () { return get_require_rule_1.getRequiredRule; } });
26
+ const get_required_object_rule_1 = require("./rules/object/get-required-object-rule");
27
+ Object.defineProperty(exports, "getRequiredObjectRule", { enumerable: true, get: function () { return get_required_object_rule_1.getRequiredObjectRule; } });
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Validates an array for the maximum number of values.
3
+ * @param arr - Array of values.
4
+ * @param maxLength - Maximum number of values.
5
+ * @param message - Custom message.
6
+ *
7
+ * @example getMaxArrayLengthRule(2, "Maximum number of values is 2").
8
+ */
9
+ export declare const getMaxArrayLengthRule: (arr: unknown[], maxLength: number, message?: string) => any;
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getMaxArrayLengthRule = void 0;
4
+ const i18n_1 = require("../../i18n");
5
+ /**
6
+ * Validates an array for the maximum number of values.
7
+ * @param arr - Array of values.
8
+ * @param maxLength - Maximum number of values.
9
+ * @param message - Custom message.
10
+ *
11
+ * @example getMaxArrayLengthRule(2, "Maximum number of values is 2").
12
+ */
13
+ const getMaxArrayLengthRule = (arr, maxLength, message) => {
14
+ const formattedMessage = message || (0, i18n_1.translate)('maxArrayLength', { max: maxLength });
15
+ return arr.length < maxLength || formattedMessage;
16
+ };
17
+ exports.getMaxArrayLengthRule = getMaxArrayLengthRule;
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Validates an array for the maximum number of values.
3
+ * @param arr - Array of values.
4
+ * @param maxLength - Maximum number of values.
5
+ * @param message - Custom message.
6
+ *
7
+ * @example getMaxArrayLengthRule(2, "Maximum number of values is 2").
8
+ */
9
+ export declare const getMaxArrayLengthRule: (arr: unknown[], maxLength: number, message?: string) => string | true;
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getMaxArrayLengthRule = void 0;
4
+ /**
5
+ * Validates an array for the maximum number of values.
6
+ * @param arr - Array of values.
7
+ * @param maxLength - Maximum number of values.
8
+ * @param message - Custom message.
9
+ *
10
+ * @example getMaxArrayLengthRule(2, "Maximum number of values is 2").
11
+ */
12
+ const getMaxArrayLengthRule = (arr, maxLength, message) => {
13
+ const defaultMessage = `Maximum number of values - ${maxLength}.`;
14
+ const formattedMessage = message || defaultMessage;
15
+ return arr.length < maxLength || formattedMessage;
16
+ };
17
+ exports.getMaxArrayLengthRule = getMaxArrayLengthRule;
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Validates an array for the maximum number of values.
3
+ * @param arr - Array of values.
4
+ * @param maxLength - Maximum number of values.
5
+ * @param message - Custom message.
6
+ *
7
+ * @example getMaxArrayLengthRule(3, "Maximum number of values is 2").
8
+ */
9
+ export declare const getMinArrayLengthRule: (arr: unknown[], minLength: number, message?: string) => any;
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getMinArrayLengthRule = void 0;
4
+ const i18n_1 = require("../../i18n");
5
+ /**
6
+ * Validates an array for the maximum number of values.
7
+ * @param arr - Array of values.
8
+ * @param maxLength - Maximum number of values.
9
+ * @param message - Custom message.
10
+ *
11
+ * @example getMaxArrayLengthRule(3, "Maximum number of values is 2").
12
+ */
13
+ const getMinArrayLengthRule = (arr, minLength, message) => {
14
+ const formattedMessage = message || (0, i18n_1.translate)('minArrayLength', { min: minLength });
15
+ return arr.length >= minLength || formattedMessage;
16
+ };
17
+ exports.getMinArrayLengthRule = getMinArrayLengthRule;
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Validates an array for the maximum number of values.
3
+ * @param arr - Array of values.
4
+ * @param maxLength - Maximum number of values.
5
+ * @param message - Custom message.
6
+ *
7
+ * @example getMaxArrayLengthRule(3, "Maximum number of values is 2").
8
+ */
9
+ export declare const getMinArrayLengthRule: (arr: unknown[], minLength: number, message?: string) => string | true;
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getMinArrayLengthRule = void 0;
4
+ /**
5
+ * Validates an array for the maximum number of values.
6
+ * @param arr - Array of values.
7
+ * @param maxLength - Maximum number of values.
8
+ * @param message - Custom message.
9
+ *
10
+ * @example getMaxArrayLengthRule(3, "Maximum number of values is 2").
11
+ */
12
+ const getMinArrayLengthRule = (arr, minLength, message) => {
13
+ const defaultMessage = `Minimum number of values - ${minLength}.`;
14
+ const formattedMessage = message || defaultMessage;
15
+ return arr.length > minLength || formattedMessage;
16
+ };
17
+ exports.getMinArrayLengthRule = getMinArrayLengthRule;
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Validates an array, checking if it contains values.
3
+ * @param arr - Array of values.
4
+ * @param {string} message - Custom message.
5
+ *
6
+ * @example rules: { validate: (arr) => getRequiredArrayRule(arr) }
7
+ */
8
+ export declare const getRequiredArrayRule: (arr: unknown[], message?: string) => any;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getRequiredArrayRule = void 0;
4
+ const i18n_1 = require("../../i18n");
5
+ /**
6
+ * Validates an array, checking if it contains values.
7
+ * @param arr - Array of values.
8
+ * @param {string} message - Custom message.
9
+ *
10
+ * @example rules: { validate: (arr) => getRequiredArrayRule(arr) }
11
+ */
12
+ const getRequiredArrayRule = (arr, message) => {
13
+ return arr.length > 0 || (message || (0, i18n_1.translate)('required'));
14
+ };
15
+ exports.getRequiredArrayRule = getRequiredArrayRule;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const get_max_array_length_rule_1 = require("../get-max-array-length-rule");
4
+ const MAX_LENGTH = 2;
5
+ describe('Тестирование функции getMaxArrayLengthRule', () => {
6
+ test('Проверка, что функция возвращает текстовое сообщение с ошибкой если длинна массива превышает максимальную.', () => {
7
+ expect((0, get_max_array_length_rule_1.getMaxArrayLengthRule)([1, 2, 3], MAX_LENGTH)).toBe(`Maximum number of values - ${MAX_LENGTH}.`);
8
+ });
9
+ test('Проверка, что функция возвращает true, если длинна массива меньше, либо равна максимальной.', () => {
10
+ expect((0, get_max_array_length_rule_1.getMaxArrayLengthRule)([1], MAX_LENGTH)).toBe(true);
11
+ });
12
+ test('Проверка, что функция возвращает кастомное сообщение, если кол-во заначений превышает максимальное.', () => {
13
+ expect((0, get_max_array_length_rule_1.getMaxArrayLengthRule)([1, 2, 3, 4], MAX_LENGTH, 'test message')).toBe('test message');
14
+ });
15
+ });
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const get_min_array_length_rule_1 = require("../get-min-array-length-rule");
4
+ const MIN_LENGTH = 2;
5
+ describe('Тестирование функции getMinArrayLengthRule', () => {
6
+ test('Проверка, что функция возвращает текстовое сообщение с ошибкой если длинна массива меньше минимальной.', () => {
7
+ expect((0, get_min_array_length_rule_1.getMinArrayLengthRule)([1], MIN_LENGTH)).toBe(`Minimum number of values - ${MIN_LENGTH}.`);
8
+ });
9
+ test('Проверка, что функция возвращает true, если длинна массива большe, либо равна минимальной.', () => {
10
+ expect((0, get_min_array_length_rule_1.getMinArrayLengthRule)([1, 3, 4], MIN_LENGTH)).toBe(true);
11
+ });
12
+ test('Проверка, что функция возвращает кастомное сообщение, если кол-во заначений меньше минимальной.', () => {
13
+ expect((0, get_min_array_length_rule_1.getMinArrayLengthRule)([1], MIN_LENGTH, 'test message')).toBe('test message');
14
+ });
15
+ });
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const constants_1 = require("../../constants");
4
+ const get_required_array_rule_1 = require("../get-required-array-rule");
5
+ describe('Тестирование функции getRequiredArrayRule', () => {
6
+ test('Проверка, что функция возвращает кастомное сообщение с ошибкой, когда массив не содержит значения.', () => {
7
+ expect((0, get_required_array_rule_1.getRequiredArrayRule)([], 'test message')).toBe('test message');
8
+ });
9
+ test('Проверка, что функция возвращает true, когда массив не пустой.', () => {
10
+ expect((0, get_required_array_rule_1.getRequiredArrayRule)([1, 2, 3])).toBe(true);
11
+ });
12
+ test('Проверка, что функция возвращает базовое сообщение, когда массив пустой.', () => {
13
+ expect((0, get_required_array_rule_1.getRequiredArrayRule)([])).toBe(constants_1.REQUIRED_MESSAGE_TEXT);
14
+ });
15
+ });
@@ -0,0 +1 @@
1
+ export declare const REQUIRED_MESSAGE_TEXT = "This field is required.";
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.REQUIRED_MESSAGE_TEXT = void 0;
4
+ exports.REQUIRED_MESSAGE_TEXT = 'This field is required.';
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Validates the maximum length of a string.
3
+ * @param maxLength - Maximum number of characters allowed.
4
+ * @param message - Custom message.
5
+ *
6
+ * @example rules: { maxLength: getMaxLengthRule(1000) }
7
+ */
8
+ export declare const getMaxLengthRule: (maxLength: number, message?: string) => {
9
+ value: number;
10
+ message: any;
11
+ };
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getMaxLengthRule = void 0;
4
+ const i18n_1 = require("../../i18n");
5
+ /**
6
+ * Validates the maximum length of a string.
7
+ * @param maxLength - Maximum number of characters allowed.
8
+ * @param message - Custom message.
9
+ *
10
+ * @example rules: { maxLength: getMaxLengthRule(1000) }
11
+ */
12
+ const getMaxLengthRule = (maxLength, message) => ({
13
+ value: maxLength,
14
+ message: message || (0, i18n_1.translate)('maxLength', {
15
+ max: maxLength,
16
+ }),
17
+ });
18
+ exports.getMaxLengthRule = getMaxLengthRule;
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Returns an error if the number exceeds the specified value.
3
+ * @param max - Maximum number.
4
+ * @param message - Custom message.
5
+ *
6
+ * @example rules: { max: getMaxRule(20) }
7
+ */
8
+ export declare const getMaxRule: (max: number, message?: string) => {
9
+ value: number;
10
+ message: any;
11
+ };
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getMaxRule = void 0;
4
+ const i18n_1 = require("../../i18n");
5
+ /**
6
+ * Returns an error if the number exceeds the specified value.
7
+ * @param max - Maximum number.
8
+ * @param message - Custom message.
9
+ *
10
+ * @example rules: { max: getMaxRule(20) }
11
+ */
12
+ const getMaxRule = (max, message) => ({
13
+ value: max,
14
+ message: message || (0, i18n_1.translate)('max', { max }),
15
+ });
16
+ exports.getMaxRule = getMaxRule;
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Returns a rule that validates the minimum length of a string.
3
+ * @param minLength - Minimum number of characters allowed.
4
+ * @param message - Custom message.
5
+ *
6
+ * @example rules: { minLength: getMinLengthRule(20) }
7
+ */
8
+ export declare const getMinLengthRule: (minLength: number, message?: string) => {
9
+ value: number;
10
+ message: any;
11
+ };
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getMinLengthRule = void 0;
4
+ const i18n_1 = require("../../i18n");
5
+ /**
6
+ * Returns a rule that validates the minimum length of a string.
7
+ * @param minLength - Minimum number of characters allowed.
8
+ * @param message - Custom message.
9
+ *
10
+ * @example rules: { minLength: getMinLengthRule(20) }
11
+ */
12
+ const getMinLengthRule = (minLength, message) => {
13
+ return {
14
+ value: minLength,
15
+ message: message || (0, i18n_1.translate)('minLength', { min: minLength }),
16
+ };
17
+ };
18
+ exports.getMinLengthRule = getMinLengthRule;
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Returns an error if the number is less than the specified value.
3
+ * @param min - Minimum number.
4
+ * @param message - Custom message.
5
+ *
6
+ * @example rules: { min: getMinRule(20) }
7
+ */
8
+ export declare const getMinRule: (min: number, message?: string) => {
9
+ value: number;
10
+ message: any;
11
+ };
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getMinRule = void 0;
4
+ const i18n_1 = require("../../i18n");
5
+ /**
6
+ * Returns an error if the number is less than the specified value.
7
+ * @param min - Minimum number.
8
+ * @param message - Custom message.
9
+ *
10
+ * @example rules: { min: getMinRule(20) }
11
+ */
12
+ const getMinRule = (min, message) => ({
13
+ value: min,
14
+ message: message || (0, i18n_1.translate)('min', {
15
+ min,
16
+ }),
17
+ });
18
+ exports.getMinRule = getMinRule;
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Validates a required field.
3
+ * @param isRequired - Dynamic parameter that indicates whether the field is required.
4
+ * @param message - Custom message.
5
+ *
6
+ * @example rules: { required: getRequiredRule() }
7
+ */
8
+ export declare const getRequiredRule: (isRequired?: boolean, message?: any) => {
9
+ value: boolean;
10
+ message: any;
11
+ };
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getRequiredRule = void 0;
4
+ const i18n_1 = require("../../i18n");
5
+ /**
6
+ * Validates a required field.
7
+ * @param isRequired - Dynamic parameter that indicates whether the field is required.
8
+ * @param message - Custom message.
9
+ *
10
+ * @example rules: { required: getRequiredRule() }
11
+ */
12
+ const getRequiredRule = (isRequired = true, message = (0, i18n_1.translate)('required')) => ({
13
+ value: isRequired,
14
+ message,
15
+ });
16
+ exports.getRequiredRule = getRequiredRule;
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const get_max_length_rule_1 = require("../get-max-length-rule");
4
+ describe('Тестирование функции getMinLengthRule', () => {
5
+ test('Проверка, что функция возвращает кастомное сообщение с ошибкой.', () => {
6
+ expect((0, get_max_length_rule_1.getMaxLengthRule)(1, 'test message')).toEqual({
7
+ value: 1,
8
+ message: 'test message',
9
+ });
10
+ });
11
+ test('Проверка, что функция возвращает базовую ошибку.', () => {
12
+ expect((0, get_max_length_rule_1.getMaxLengthRule)(1)).toEqual({
13
+ value: 1,
14
+ message: `Maximum length - ${1}.`
15
+ });
16
+ });
17
+ test('Проверка, что функция возвращает базовую ошибку и переданное минимальное значение.', () => {
18
+ expect((0, get_max_length_rule_1.getMaxLengthRule)(111)).toEqual({
19
+ value: 111,
20
+ message: `Maximum length - 111.`
21
+ });
22
+ });
23
+ });
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const get_max_rule_1 = require("../get-max-rule");
4
+ describe('Тестирование функции getMaxRule', () => {
5
+ test('Проверка, что функция возвращает кастомное сообщение с ошибкой.', () => {
6
+ expect((0, get_max_rule_1.getMaxRule)(1, 'test message')).toEqual({
7
+ value: 1,
8
+ message: 'test message',
9
+ });
10
+ });
11
+ test('Проверка, что функция возвращает базовую ошибку.', () => {
12
+ expect((0, get_max_rule_1.getMaxRule)(1)).toEqual({
13
+ value: 1,
14
+ message: `Maximum value - 1.`
15
+ });
16
+ });
17
+ test('Проверка, что функция возвращает базовую ошибку и переданное минимальное значение.', () => {
18
+ expect((0, get_max_rule_1.getMaxRule)(111)).toEqual({
19
+ value: 111,
20
+ message: `Maximum value - 111.`
21
+ });
22
+ });
23
+ });
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const get_min_length_rule_1 = require("../get-min-length-rule");
4
+ describe('Тестирование функции getMinLengthRule', () => {
5
+ test('Проверка, что функция возвращает кастомное сообщение с ошибкой.', () => {
6
+ expect((0, get_min_length_rule_1.getMinLengthRule)(1, 'test message')).toEqual({
7
+ value: 1,
8
+ message: 'test message',
9
+ });
10
+ });
11
+ test('Проверка, что функция возвращает базовую ошибку.', () => {
12
+ expect((0, get_min_length_rule_1.getMinLengthRule)(1)).toEqual({
13
+ value: 1,
14
+ message: `Minimum length - ${1}.`
15
+ });
16
+ });
17
+ test('Проверка, что функция возвращает базовую ошибку и переданное минимальное значение.', () => {
18
+ expect((0, get_min_length_rule_1.getMinLengthRule)(111)).toEqual({
19
+ value: 111,
20
+ message: `Minimum length - 111.`
21
+ });
22
+ });
23
+ });
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const get_min_rule_1 = require("../get-min-rule");
4
+ describe('Тестирование функции getMinRule', () => {
5
+ test('Проверка, что функция возвращает кастомное сообщение с ошибкой.', () => {
6
+ expect((0, get_min_rule_1.getMinRule)(1, 'test message')).toEqual({
7
+ value: 1,
8
+ message: 'test message',
9
+ });
10
+ });
11
+ test('Проверка, что функция возвращает базовую ошибку.', () => {
12
+ expect((0, get_min_rule_1.getMinRule)(1)).toEqual({
13
+ value: 1,
14
+ message: `Minimum value - 1.`
15
+ });
16
+ });
17
+ test('Проверка, что функция возвращает базовую ошибку и переданное минимальное значение.', () => {
18
+ expect((0, get_min_rule_1.getMinRule)(111)).toEqual({
19
+ value: 111,
20
+ message: `Minimum value - 111.`
21
+ });
22
+ });
23
+ });
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const get_require_rule_1 = require("../get-require-rule");
4
+ describe('Тестирование функции getRequiredRule', () => {
5
+ test('Проверка, что функция возвращает кастомное сообщение с ошибкой.', () => {
6
+ expect((0, get_require_rule_1.getRequiredRule)(true, 'test message')).toEqual({
7
+ value: true,
8
+ message: 'test message',
9
+ });
10
+ });
11
+ });