react-hook-form-rules 1.5.9 → 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 (123) hide show
  1. package/.github/workflows/test.yml +17 -0
  2. package/CHANGELOG.md +68 -0
  3. package/dist/i18n.d.ts +2 -0
  4. package/dist/i18n.js +26 -0
  5. package/dist/index.d.ts +13 -0
  6. package/dist/index.js +27 -0
  7. package/dist/rules/array/get-max-array-length-rule.d.ts +9 -0
  8. package/dist/rules/array/get-max-array-length-rule.js +17 -0
  9. package/dist/rules/array/get-max-array-length.d.ts +9 -0
  10. package/dist/rules/array/get-max-array-length.js +17 -0
  11. package/dist/rules/array/get-min-array-length-rule.d.ts +9 -0
  12. package/dist/rules/array/get-min-array-length-rule.js +17 -0
  13. package/dist/rules/array/get-min-array-length.d.ts +9 -0
  14. package/dist/rules/array/get-min-array-length.js +17 -0
  15. package/dist/rules/array/get-required-array-rule.d.ts +8 -0
  16. package/dist/rules/array/get-required-array-rule.js +15 -0
  17. package/dist/rules/array/tests/get-max-array-length-rule.test.d.ts +1 -0
  18. package/dist/rules/array/tests/get-max-array-length-rule.test.js +15 -0
  19. package/dist/rules/array/tests/get-min-array-length-rule.test.d.ts +1 -0
  20. package/dist/rules/array/tests/get-min-array-length-rule.test.js +15 -0
  21. package/dist/rules/array/tests/get-required-array-rule.test.d.ts +1 -0
  22. package/dist/rules/array/tests/get-required-array-rule.test.js +15 -0
  23. package/dist/rules/constants.d.ts +1 -0
  24. package/dist/rules/constants.js +4 -0
  25. package/dist/rules/default/get-max-length-rule.d.ts +11 -0
  26. package/dist/rules/default/get-max-length-rule.js +18 -0
  27. package/dist/rules/default/get-max-rule.d.ts +11 -0
  28. package/dist/rules/default/get-max-rule.js +16 -0
  29. package/dist/rules/default/get-min-length-rule.d.ts +11 -0
  30. package/dist/rules/default/get-min-length-rule.js +18 -0
  31. package/dist/rules/default/get-min-rule.d.ts +11 -0
  32. package/dist/rules/default/get-min-rule.js +18 -0
  33. package/dist/rules/default/get-require-rule.d.ts +11 -0
  34. package/dist/rules/default/get-require-rule.js +16 -0
  35. package/dist/rules/default/tests/get-max-length-rule.test.d.ts +1 -0
  36. package/dist/rules/default/tests/get-max-length-rule.test.js +23 -0
  37. package/dist/rules/default/tests/get-max-rule.test.d.ts +1 -0
  38. package/dist/rules/default/tests/get-max-rule.test.js +23 -0
  39. package/dist/rules/default/tests/get-min-length-rule.test.d.ts +1 -0
  40. package/dist/rules/default/tests/get-min-length-rule.test.js +23 -0
  41. package/dist/rules/default/tests/get-min-rule.test.d.ts +1 -0
  42. package/dist/rules/default/tests/get-min-rule.test.js +23 -0
  43. package/dist/rules/default/tests/get-required-rule.test.d.ts +1 -0
  44. package/dist/rules/default/tests/get-required-rule.test.js +11 -0
  45. package/dist/rules/get-email-rule.d.ts +17 -0
  46. package/dist/rules/get-email-rule.js +20 -0
  47. package/dist/rules/get-max-array-length.d.ts +8 -0
  48. package/dist/rules/get-max-array-length.js +16 -0
  49. package/dist/rules/get-max-length-rule.d.ts +11 -0
  50. package/dist/rules/get-max-length-rule.js +22 -0
  51. package/dist/rules/get-max-rule.d.ts +11 -0
  52. package/dist/rules/get-max-rule.js +15 -0
  53. package/dist/rules/get-min-array-length.d.ts +8 -0
  54. package/dist/rules/get-min-array-length.js +16 -0
  55. package/dist/rules/get-min-length-rule.d.ts +11 -0
  56. package/dist/rules/get-min-length-rule.js +22 -0
  57. package/dist/rules/get-min-rule.d.ts +16 -0
  58. package/dist/rules/get-min-rule.js +16 -0
  59. package/dist/rules/get-require-rule.d.ts +11 -0
  60. package/dist/rules/get-require-rule.js +16 -0
  61. package/dist/rules/get-required-array-role.d.ts +8 -0
  62. package/dist/rules/get-required-array-role.js +15 -0
  63. package/dist/rules/get-required-array-rule.d.ts +8 -0
  64. package/dist/rules/get-required-array-rule.js +15 -0
  65. package/dist/rules/get-required-object-rule.d.ts +8 -0
  66. package/dist/rules/get-required-object-rule.js +20 -0
  67. package/dist/rules/get-url-rule.d.ts +17 -0
  68. package/dist/rules/get-url-rule.js +20 -0
  69. package/dist/rules/helpers/get-min-error.d.ts +6 -0
  70. package/dist/rules/helpers/get-min-error.js +9 -0
  71. package/dist/rules/helpers/get-min-length-error.d.ts +6 -0
  72. package/dist/rules/helpers/get-min-length-error.js +9 -0
  73. package/dist/rules/link/get-email-rule.d.ts +17 -0
  74. package/dist/rules/link/get-email-rule.js +40 -0
  75. package/dist/rules/link/get-url-rule.d.ts +17 -0
  76. package/dist/rules/link/get-url-rule.js +20 -0
  77. package/dist/rules/object/get-required-object-rule.d.ts +8 -0
  78. package/dist/rules/object/get-required-object-rule.js +21 -0
  79. package/dist/rules/object/tests/get-require-object-rule.test.d.ts +1 -0
  80. package/dist/rules/object/tests/get-require-object-rule.test.js +15 -0
  81. package/dist/rules/patterns/get-email-rule.d.ts +17 -0
  82. package/dist/rules/patterns/get-email-rule.js +16 -0
  83. package/dist/rules/patterns/get-pattern-rule.d.ts +12 -0
  84. package/dist/rules/patterns/get-pattern-rule.js +16 -0
  85. package/dist/rules/patterns/get-url-rule.d.ts +17 -0
  86. package/dist/rules/patterns/get-url-rule.js +16 -0
  87. package/dist/rules/patterns/tests/get-email-rule.test.d.ts +1 -0
  88. package/dist/rules/patterns/tests/get-email-rule.test.js +25 -0
  89. package/dist/rules/patterns/tests/get-pattern-rule.test.d.ts +1 -0
  90. package/dist/rules/patterns/tests/get-pattern-rule.test.js +11 -0
  91. package/dist/rules/patterns/tests/get-url-rule.test.d.ts +1 -0
  92. package/dist/rules/patterns/tests/get-url-rule.test.js +25 -0
  93. package/i18n.ts +25 -0
  94. package/index.ts +4 -2
  95. package/jest.config.js +8 -0
  96. package/locales/en.json +12 -0
  97. package/locales/ru.json +11 -0
  98. package/package.json +7 -3
  99. package/rules/array/get-max-array-length-rule.ts +3 -3
  100. package/rules/array/get-min-array-length-rule.ts +4 -4
  101. package/rules/array/get-required-array-rule.ts +2 -2
  102. package/rules/array/tests/get-max-array-length-rule.test.ts +17 -0
  103. package/rules/array/tests/get-min-array-length-rule.test.ts +17 -0
  104. package/rules/array/tests/get-required-array-rule.test.ts +16 -0
  105. package/rules/default/get-max-length-rule.ts +8 -8
  106. package/rules/default/get-max-rule.ts +3 -1
  107. package/rules/default/get-min-length-rule.ts +3 -2
  108. package/rules/default/get-min-rule.ts +5 -1
  109. package/rules/default/get-require-rule.ts +2 -2
  110. package/rules/default/tests/get-max-length-rule.test.ts +24 -0
  111. package/rules/default/tests/get-max-rule.test.ts +24 -0
  112. package/rules/default/tests/get-min-length-rule.test.ts +24 -0
  113. package/rules/default/tests/get-min-rule.test.ts +24 -0
  114. package/rules/default/tests/get-required-rule.test.ts +10 -0
  115. package/rules/object/get-required-object-rule.ts +5 -5
  116. package/rules/object/tests/get-require-object-rule.test.ts +18 -0
  117. package/rules/patterns/get-email-rule.ts +22 -0
  118. package/rules/patterns/get-pattern-rule.ts +12 -0
  119. package/rules/{link → patterns}/get-url-rule.ts +6 -9
  120. package/rules/patterns/tests/get-email-rule.test.ts +27 -0
  121. package/rules/patterns/tests/get-pattern-rule.test.ts +10 -0
  122. package/rules/patterns/tests/get-url-rule.test.ts +28 -0
  123. package/rules/link/get-email-rule.ts +0 -25
@@ -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
+ });
@@ -0,0 +1,17 @@
1
+ interface EmailRule {
2
+ pattern?: RegExp;
3
+ message?: string;
4
+ }
5
+ /**
6
+ * Валидирует адресс электронной почты.
7
+ * @param options - Параметры.
8
+ * @param options.pattern - Регулярное выражение.
9
+ * @param options.message - Кастомное сообщение.
10
+ *
11
+ * @example rules: { pattern: getEmailRule() }
12
+ */
13
+ export declare const getEmailRule: ({ pattern, message, }: EmailRule) => {
14
+ value: RegExp;
15
+ message: string;
16
+ };
17
+ export {};
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getEmailRule = void 0;
4
+ const DEFAULT_PATTERN = /^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$/;
5
+ const DEFAULT_MESSAGE = "Пожалуйста, проверьте правильность введенного адреса электронной почты.";
6
+ /**
7
+ * Валидирует адресс электронной почты.
8
+ * @param options - Параметры.
9
+ * @param options.pattern - Регулярное выражение.
10
+ * @param options.message - Кастомное сообщение.
11
+ *
12
+ * @example rules: { pattern: getEmailRule() }
13
+ */
14
+ const getEmailRule = ({ pattern = DEFAULT_PATTERN, message = DEFAULT_MESSAGE, }) => {
15
+ return {
16
+ value: pattern,
17
+ message,
18
+ };
19
+ };
20
+ exports.getEmailRule = getEmailRule;
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Валидирует массив, на максимальное кол-во значений
3
+ * @param arr - Массиов со значениями.
4
+ * @param maxLength - Максимальное количество значений.
5
+ * @param message - Кастомное сообщение.
6
+ * @example getMaxArrayLengthRule(2, "Максимальное кол-во значений - 2").
7
+ */
8
+ export declare const getMaxArrayLengthRule: (arr: unknown[], maxLength: number, message?: string) => string | true;
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getMaxArrayLengthRule = void 0;
4
+ /**
5
+ * Валидирует массив, на максимальное кол-во значений
6
+ * @param arr - Массиов со значениями.
7
+ * @param maxLength - Максимальное количество значений.
8
+ * @param message - Кастомное сообщение.
9
+ * @example getMaxArrayLengthRule(2, "Максимальное кол-во значений - 2").
10
+ */
11
+ const getMaxArrayLengthRule = (arr, maxLength, message) => {
12
+ const defaultMessage = `Максимальное количество значений - ${maxLength}.`;
13
+ const formattedMessage = message || defaultMessage;
14
+ return arr.length < maxLength || formattedMessage;
15
+ };
16
+ exports.getMaxArrayLengthRule = getMaxArrayLengthRule;
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Валидирует максимальную длину строки
3
+ * @param maxLength - Максимальное количество символов для ввода
4
+ * @param mrssage - Кастомное сообщение.
5
+ *
6
+ * @example rules: { maxLength: getMaxLengthRule(1000)}
7
+ */
8
+ export declare const getMaxLengthRule: (maxLength: number, message?: string) => {
9
+ value: number;
10
+ message: string;
11
+ };
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.getMaxLengthRule = void 0;
7
+ const plural_ru_1 = __importDefault(require("plural-ru"));
8
+ /**
9
+ * Валидирует максимальную длину строки
10
+ * @param maxLength - Максимальное количество символов для ввода
11
+ * @param mrssage - Кастомное сообщение.
12
+ *
13
+ * @example rules: { maxLength: getMaxLengthRule(1000)}
14
+ */
15
+ const getMaxLengthRule = (maxLength, message) => {
16
+ const formattedMessage = `Максимальная длина ${maxLength} ${(0, plural_ru_1.default)(maxLength, "символ", "символа", "символов")}.`;
17
+ return {
18
+ value: maxLength,
19
+ message: message || formattedMessage,
20
+ };
21
+ };
22
+ exports.getMaxLengthRule = getMaxLengthRule;
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Возвращает ошибку, если число, больше указанного.
3
+ * @param max - Максимальное число
4
+ * @param message - Кастомное сообщение.
5
+ *
6
+ * @example rules: { max: getMaxRule(20) }
7
+ */
8
+ export declare const getMaxRule: (max: number, message?: string) => {
9
+ value: number;
10
+ message: string;
11
+ };
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getMaxRule = void 0;
4
+ /**
5
+ * Возвращает ошибку, если число, больше указанного.
6
+ * @param max - Максимальное число
7
+ * @param message - Кастомное сообщение.
8
+ *
9
+ * @example rules: { max: getMaxRule(20) }
10
+ */
11
+ const getMaxRule = (max, message) => ({
12
+ value: max,
13
+ message: message || `Максимальное значение ${max}.`,
14
+ });
15
+ exports.getMaxRule = getMaxRule;
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Валидирует массив, на максимальное кол-во значений
3
+ * @param arr - Массиов со значениями.
4
+ * @param minLength - Максимальное количество значений.
5
+ * @param message - Кастомное сообщение.
6
+ * @example getMinArrayLengthRule(3, "Максимальное кол-во значений - 2").
7
+ */
8
+ export declare const getMinArrayLengthRule: (arr: unknown[], minLength: number, message?: string) => string | true;
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getMinArrayLengthRule = void 0;
4
+ /**
5
+ * Валидирует массив, на максимальное кол-во значений
6
+ * @param arr - Массиов со значениями.
7
+ * @param minLength - Максимальное количество значений.
8
+ * @param message - Кастомное сообщение.
9
+ * @example getMinArrayLengthRule(3, "Максимальное кол-во значений - 2").
10
+ */
11
+ const getMinArrayLengthRule = (arr, minLength, message) => {
12
+ const defaultMessage = `Минимальное количество значений - ${minLength}.`;
13
+ const formattedMessage = message || defaultMessage;
14
+ return arr.length > minLength || formattedMessage;
15
+ };
16
+ exports.getMinArrayLengthRule = getMinArrayLengthRule;
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Возвращает правило, которое валидирует минимальную длину строки
3
+ * @param maxLength - Минимальное количество символов для ввода
4
+ * @param message - Кастомное сообщение.
5
+ *
6
+ * @example rules: { minLength: getMinLengthRule(20) }
7
+ */
8
+ export declare const getMinLengthRule: (minLength: number, message?: string) => {
9
+ value: number;
10
+ message: string;
11
+ };
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.getMinLengthRule = void 0;
7
+ const plural_ru_1 = __importDefault(require("plural-ru"));
8
+ /**
9
+ * Возвращает правило, которое валидирует минимальную длину строки
10
+ * @param maxLength - Минимальное количество символов для ввода
11
+ * @param message - Кастомное сообщение.
12
+ *
13
+ * @example rules: { minLength: getMinLengthRule(20) }
14
+ */
15
+ const getMinLengthRule = (minLength, message) => {
16
+ const formattedMessage = `Минимальная длина ${minLength} ${(0, plural_ru_1.default)(minLength, 'символ', 'символа', 'символов')}.`;
17
+ return {
18
+ value: minLength,
19
+ message: message || formattedMessage,
20
+ };
21
+ };
22
+ exports.getMinLengthRule = getMinLengthRule;
@@ -0,0 +1,16 @@
1
+ export interface MinRuleProps {
2
+ min: number;
3
+ message?: string;
4
+ }
5
+ /**
6
+ * Возвращает ошибку, если число, меньше указанного.
7
+ * @param options - Параметры.
8
+ * @param options.max - Минимальное число
9
+ * @param options.message - Кастомное сообщение.
10
+ *
11
+ * @example rules: { max: getMinRule(20) }
12
+ */
13
+ export declare const getMinRule: ({ min, message, }: MinRuleProps) => {
14
+ value: number;
15
+ message: string;
16
+ };
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getMinRule = void 0;
4
+ /**
5
+ * Возвращает ошибку, если число, меньше указанного.
6
+ * @param options - Параметры.
7
+ * @param options.max - Минимальное число
8
+ * @param options.message - Кастомное сообщение.
9
+ *
10
+ * @example rules: { max: getMinRule(20) }
11
+ */
12
+ const getMinRule = ({ min, message, }) => ({
13
+ value: min,
14
+ message: message || `Минимальное значение ${min}.`,
15
+ });
16
+ exports.getMinRule = getMinRule;
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Валидирует обязательное поле.
3
+ * @param isRequired - Динимический параметр, которые отвечает за то, что поле является обязательным.
4
+ * @param message - Кастомное сообщение.
5
+ *
6
+ * @example rules: { required: getRequiredRule() }
7
+ */
8
+ export declare const getRequiredRule: (isRequired?: boolean, message?: string) => {
9
+ value: boolean;
10
+ message: string;
11
+ };
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getRequiredRule = void 0;
4
+ const REQUIRED_MESSAGE_TEXT = 'Это поле обязательное.';
5
+ /**
6
+ * Валидирует обязательное поле.
7
+ * @param isRequired - Динимический параметр, которые отвечает за то, что поле является обязательным.
8
+ * @param message - Кастомное сообщение.
9
+ *
10
+ * @example rules: { required: getRequiredRule() }
11
+ */
12
+ const getRequiredRule = (isRequired = true, message = REQUIRED_MESSAGE_TEXT) => ({
13
+ value: isRequired,
14
+ message,
15
+ });
16
+ exports.getRequiredRule = getRequiredRule;
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Валидирует массив, проверяет есть ли в нем значения
3
+ * @param value - Массиов со значениями
4
+ * @param message - Кастомное сообщение.
5
+ *
6
+ * @example rules: { validate: getRequiredArrrayRule }
7
+ */
8
+ export declare const getRequiredArrayRule: (arr: unknown[], message?: string) => string | true;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getRequiredArrayRule = void 0;
4
+ const REQUIRED_MESSAGE_TEXT = 'Это поле обязательное.';
5
+ /**
6
+ * Валидирует массив, проверяет есть ли в нем значения
7
+ * @param value - Массиов со значениями
8
+ * @param message - Кастомное сообщение.
9
+ *
10
+ * @example rules: { validate: getRequiredArrrayRule }
11
+ */
12
+ const getRequiredArrayRule = (arr, message) => {
13
+ return arr.length > 0 || (message || REQUIRED_MESSAGE_TEXT);
14
+ };
15
+ exports.getRequiredArrayRule = getRequiredArrayRule;
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Валидирует массив, проверяет есть ли в нем значения
3
+ * @param arr - Массиов со значениями
4
+ * @param message - Кастомное сообщение.
5
+ *
6
+ * @example rules: { validate: (arr) => getRequiredArrrayRule(arr) }
7
+ */
8
+ export declare const getRequiredArrayRule: (arr?: unknown[], message?: string) => string | true;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getRequiredArrayRule = void 0;
4
+ const REQUIRED_MESSAGE_TEXT = 'Это поле обязательное.';
5
+ /**
6
+ * Валидирует массив, проверяет есть ли в нем значения
7
+ * @param arr - Массиов со значениями
8
+ * @param message - Кастомное сообщение.
9
+ *
10
+ * @example rules: { validate: (arr) => getRequiredArrrayRule(arr) }
11
+ */
12
+ const getRequiredArrayRule = (arr = [], message) => {
13
+ return arr.length > 0 || (message || REQUIRED_MESSAGE_TEXT);
14
+ };
15
+ exports.getRequiredArrayRule = getRequiredArrayRule;
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Валидирует объект, проверяет если в нем значения
3
+ * @param obj - Объект со значениями
4
+ * @param message - Кастомное сообщение.
5
+ *
6
+ * @example rules: { validate: (obj) => getRequiredObjectRule(obj) }
7
+ */
8
+ export declare const getRequiredObjectRule: (obj?: Record<string, unknown>, message?: string) => string | true;
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getRequiredObjectRule = void 0;
4
+ const REQUIRED_MESSAGE_TEXT = 'Это поле обязательное.';
5
+ /**
6
+ * Валидирует объект, проверяет если в нем значения
7
+ * @param obj - Объект со значениями
8
+ * @param message - Кастомное сообщение.
9
+ *
10
+ * @example rules: { validate: (obj) => getRequiredObjectRule(obj) }
11
+ */
12
+ const getRequiredObjectRule = (obj = {}, message) => {
13
+ var _a;
14
+ const formattedMessage = message || REQUIRED_MESSAGE_TEXT;
15
+ if (!obj) {
16
+ return false || formattedMessage;
17
+ }
18
+ return ((_a = Object === null || Object === void 0 ? void 0 : Object.keys(obj)) === null || _a === void 0 ? void 0 : _a.length) > 0 || formattedMessage;
19
+ };
20
+ exports.getRequiredObjectRule = getRequiredObjectRule;
@@ -0,0 +1,17 @@
1
+ interface UrlRule {
2
+ message?: string;
3
+ pattern?: RegExp;
4
+ }
5
+ /**
6
+ * Возвращает правило, которое валидирует ввод url
7
+ * @param options - Параметры.
8
+ * @param options.pattern - Регулярное выражение.
9
+ * @param options.message - Кастомное сообщение.
10
+ *
11
+ * @example rules: { pattern: getUrlValidationRule() }
12
+ */
13
+ export declare const getUrlRule: ({ pattern, message, }: UrlRule) => {
14
+ message: string;
15
+ value: RegExp;
16
+ };
17
+ export {};
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getUrlRule = void 0;
4
+ const DEFAULT_MESSAGE = "Ссылка не соответствует формату";
5
+ const DEFAULT_PATTERN = /(http(s)?):\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\+.~#?&//=]*)/;
6
+ /**
7
+ * Возвращает правило, которое валидирует ввод url
8
+ * @param options - Параметры.
9
+ * @param options.pattern - Регулярное выражение.
10
+ * @param options.message - Кастомное сообщение.
11
+ *
12
+ * @example rules: { pattern: getUrlValidationRule() }
13
+ */
14
+ const getUrlRule = ({ pattern = DEFAULT_PATTERN, message = DEFAULT_MESSAGE, }) => {
15
+ return {
16
+ message,
17
+ value: pattern,
18
+ };
19
+ };
20
+ exports.getUrlRule = getUrlRule;
@@ -0,0 +1,6 @@
1
+ declare const MIN_TEXT = "\u041C\u0438\u043D\u0438\u043C\u0430\u043B\u044C\u043D\u043E\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 ";
2
+ /**
3
+ * Генирирует сообщение об ошибке.
4
+ * @param min - Минимальное значение.
5
+ */
6
+ declare const getMinError: (min: number) => string;
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ const MIN_TEXT = 'Минимальное значение ';
3
+ /**
4
+ * Генирирует сообщение об ошибке.
5
+ * @param min - Минимальное значение.
6
+ */
7
+ const getMinError = (min) => {
8
+ return `${MIN_TEXT}${min}`;
9
+ };
@@ -0,0 +1,6 @@
1
+ declare const MIN_LENGTH_TEXT = "\u041C\u0438\u043D\u0438\u043C\u0430\u043B\u044C\u043D\u043E\u0435 \u043A\u043E\u043B-\u0432\u043E \u0441\u0438\u043C\u0432\u043E\u043B\u043E\u0432 ";
2
+ /**
3
+ * Генерирует сообщение об ошибке.
4
+ * @param length - Количество символов.
5
+ */
6
+ declare const getMinLengthError: (length: number) => string;
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ const MIN_LENGTH_TEXT = 'Минимальное кол-во символов ';
3
+ /**
4
+ * Генерирует сообщение об ошибке.
5
+ * @param length - Количество символов.
6
+ */
7
+ const getMinLengthError = (length) => {
8
+ return `${MIN_LENGTH_TEXT}${length}.`;
9
+ };
@@ -0,0 +1,17 @@
1
+ interface EmailRule {
2
+ pattern?: RegExp;
3
+ message?: string;
4
+ }
5
+ /**
6
+ * Validates an email address.
7
+ * @param options - Parameters.
8
+ * @param options.pattern - Regular expression.
9
+ * @param options.message - Custom message.
10
+ *
11
+ * @example rules: { pattern: getEmailRule() }
12
+ */
13
+ export declare const getEmailRule: ({ pattern, message, }: EmailRule) => {
14
+ value: RegExp;
15
+ message: string;
16
+ };
17
+ export {};
@@ -0,0 +1,40 @@
1
+ <<<<<<<< HEAD:dist/rules/link/get-email-rule.js
2
+ "use strict";
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.getEmailRule = void 0;
5
+ const DEFAULT_PATTERN = /^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$/;
6
+ const DEFAULT_MESSAGE = "Please check the correctness of the entered email address.";
7
+ ========
8
+ import { getPatternRule } from "./get-pattern-rule";
9
+ import { translate } from "../../i18n";
10
+
11
+ const DEFAULT_PATTERN = /^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$/;
12
+
13
+ interface EmailRule {
14
+ pattern?: RegExp;
15
+ message?: string;
16
+ }
17
+
18
+ >>>>>>>> release:rules/patterns/get-email-rule.ts
19
+ /**
20
+ * Validates an email address.
21
+ * @param options - Parameters.
22
+ * @param {string} options.pattern - Regular expression.
23
+ * @param {string} options.message - Custom message.
24
+ *
25
+ * @example rules: { pattern: getEmailRule() }
26
+ */
27
+ <<<<<<<< HEAD:dist/rules/link/get-email-rule.js
28
+ const getEmailRule = ({ pattern = DEFAULT_PATTERN, message = DEFAULT_MESSAGE, }) => {
29
+ return {
30
+ value: pattern,
31
+ message,
32
+ };
33
+ };
34
+ exports.getEmailRule = getEmailRule;
35
+ ========
36
+ export const getEmailRule = ({
37
+ pattern = DEFAULT_PATTERN,
38
+ message = translate('email'),
39
+ }: EmailRule) => getPatternRule(pattern, message)
40
+ >>>>>>>> release:rules/patterns/get-email-rule.ts
@@ -0,0 +1,17 @@
1
+ interface UrlRule {
2
+ message?: string;
3
+ pattern?: RegExp;
4
+ }
5
+ /**
6
+ * Returns a rule that validates the input URL.
7
+ * @param options - Parameters.
8
+ * @param options.pattern - Regular expression.
9
+ * @param options.message - Custom message.
10
+ *
11
+ * @example rules: { pattern: getUrlValidationRule() }
12
+ */
13
+ export declare const getUrlRule: ({ pattern, message, }: UrlRule) => {
14
+ message: string;
15
+ value: RegExp;
16
+ };
17
+ export {};
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getUrlRule = void 0;
4
+ const DEFAULT_MESSAGE = "The URL does not match the format.";
5
+ const DEFAULT_PATTERN = /(http(s)?):\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\+.~#?&//=]*)/;
6
+ /**
7
+ * Returns a rule that validates the input URL.
8
+ * @param options - Parameters.
9
+ * @param options.pattern - Regular expression.
10
+ * @param options.message - Custom message.
11
+ *
12
+ * @example rules: { pattern: getUrlValidationRule() }
13
+ */
14
+ const getUrlRule = ({ pattern = DEFAULT_PATTERN, message = DEFAULT_MESSAGE, }) => {
15
+ return {
16
+ message,
17
+ value: pattern,
18
+ };
19
+ };
20
+ exports.getUrlRule = getUrlRule;
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Validates an object, checking if it contains values.
3
+ * @param {Object} obj - Object with values.
4
+ * @param {string} message - Custom message.
5
+ *
6
+ * @example rules: { validate: (obj) => getRequiredObjectRule(obj) }
7
+ */
8
+ export declare const getRequiredObjectRule: (obj: Record<string, unknown>, message?: string) => any;
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getRequiredObjectRule = void 0;
4
+ const i18n_1 = require("../../i18n");
5
+ /**
6
+ * Validates an object, checking if it contains values.
7
+ * @param {Object} obj - Object with values.
8
+ * @param {string} message - Custom message.
9
+ *
10
+ * @example rules: { validate: (obj) => getRequiredObjectRule(obj) }
11
+ */
12
+ const getRequiredObjectRule = (obj, message) => {
13
+ var _a;
14
+ const formattedMessage = message || (0, i18n_1.translate)("required");
15
+ if (!obj) {
16
+ return false || formattedMessage;
17
+ }
18
+ const isEmpty = ((_a = Object === null || Object === void 0 ? void 0 : Object.keys(obj)) === null || _a === void 0 ? void 0 : _a.length) > 0;
19
+ return isEmpty || formattedMessage;
20
+ };
21
+ exports.getRequiredObjectRule = getRequiredObjectRule;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const constants_1 = require("../../constants");
4
+ const get_required_object_rule_1 = require("../get-required-object-rule");
5
+ describe('Тестирование функции getRequireObjectRule', () => {
6
+ test('Проверка, что функция возвращает кастомное сообщение с ошибкой, когда объект не содержит значения.', () => {
7
+ expect((0, get_required_object_rule_1.getRequiredObjectRule)({}, 'test message')).toBe('test message');
8
+ });
9
+ test('Проверка, что функция возвращает true, когда объект не пустой.', () => {
10
+ expect((0, get_required_object_rule_1.getRequiredObjectRule)({ test: '123' })).toBe(true);
11
+ });
12
+ test('Проверка, что функция возвращает базовое сообщение, когда объект пустой.', () => {
13
+ expect((0, get_required_object_rule_1.getRequiredObjectRule)({})).toBe(constants_1.REQUIRED_MESSAGE_TEXT);
14
+ });
15
+ });
@@ -0,0 +1,17 @@
1
+ interface EmailRule {
2
+ pattern?: RegExp;
3
+ message?: string;
4
+ }
5
+ /**
6
+ * Validates an email address.
7
+ * @param options - Parameters.
8
+ * @param {string} options.pattern - Regular expression.
9
+ * @param {string} options.message - Custom message.
10
+ *
11
+ * @example rules: { pattern: getEmailRule() }
12
+ */
13
+ export declare const getEmailRule: ({ pattern, message, }: EmailRule) => {
14
+ value: RegExp;
15
+ message: string;
16
+ };
17
+ export {};