react-hook-form-rules 2.0.0 → 2.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +10 -0
- package/dist/index.d.ts +2 -3
- package/dist/index.js +3 -5
- package/dist/locales/i18n.d.ts +4 -0
- package/dist/locales/i18n.js +36 -0
- package/dist/locales/tests/locales.test.d.ts +1 -0
- package/dist/locales/tests/locales.test.js +15 -0
- package/dist/rules/array/get-max-array-length-rule.js +2 -2
- package/dist/rules/array/get-min-array-length-rule.js +2 -2
- package/dist/rules/array/get-required-array-rule.js +2 -2
- package/dist/rules/default/get-max-length-rule.js +2 -2
- package/dist/rules/default/get-max-rule.js +2 -2
- package/dist/rules/default/get-min-length-rule.js +2 -2
- package/dist/rules/default/get-min-rule.js +2 -2
- package/dist/rules/default/get-require-rule.js +2 -2
- package/dist/rules/object/get-required-object-rule.js +2 -2
- package/dist/rules/patterns/get-email-rule.js +2 -2
- package/dist/rules/patterns/get-url-rule.js +2 -2
- package/package.json +1 -1
- package/dist/i18n.d.ts +0 -2
- package/dist/i18n.js +0 -31
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,13 @@
|
|
|
1
|
+
## [2.0.1](https://github.com/chopperqt/react-hook-form-rules/compare/v2.0.0...v2.0.1) (2025-12-28)
|
|
2
|
+
|
|
3
|
+
### 📦 Build System
|
|
4
|
+
|
|
5
|
+
* обновление build ([698d327](https://github.com/chopperqt/react-hook-form-rules/commit/698d3270a62dd142e242dc104d04a03ac77d8c89))
|
|
6
|
+
|
|
7
|
+
### 🐞 Bug Fixes
|
|
8
|
+
|
|
9
|
+
* правки конфига ([f2e0bd4](https://github.com/chopperqt/react-hook-form-rules/commit/f2e0bd40eaa66d51f304f9926100c4ea137135a1))
|
|
10
|
+
|
|
1
11
|
## [2.0.0](https://github.com/chopperqt/react-hook-form-rules/compare/v1.7.4...v2.0.0) (2025-12-28)
|
|
2
12
|
|
|
3
13
|
### ⚠ BREAKING CHANGES
|
package/dist/index.d.ts
CHANGED
|
@@ -10,6 +10,5 @@ import { getMinLengthRule } from "./rules/default/get-min-length-rule";
|
|
|
10
10
|
import { getMinRule } from "./rules/default/get-min-rule";
|
|
11
11
|
import { getRequiredRule } from "./rules/default/get-require-rule";
|
|
12
12
|
import { getRequiredObjectRule } from "./rules/object/get-required-object-rule";
|
|
13
|
-
import {
|
|
14
|
-
|
|
15
|
-
export { getPatternRule, getMaxRule, getRequiredObjectRule, getRequiredArrayRule, getEmailRule, getMaxLengthRule, getMaxArrayLengthRule, getMinArrayLengthRule, getMinLengthRule, getMinRule, getRequiredRule, getUrlRule, translate, setLanguage, };
|
|
13
|
+
import { config } from "./locales/i18n";
|
|
14
|
+
export { getPatternRule, getMaxRule, getRequiredObjectRule, getRequiredArrayRule, getEmailRule, getMaxLengthRule, getMaxArrayLengthRule, getMinArrayLengthRule, getMinLengthRule, getMinRule, getRequiredRule, getUrlRule, config, };
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.config = 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
4
|
const get_email_rule_1 = require("./rules/patterns/get-email-rule");
|
|
5
5
|
Object.defineProperty(exports, "getEmailRule", { enumerable: true, get: function () { return get_email_rule_1.getEmailRule; } });
|
|
6
6
|
const get_url_rule_1 = require("./rules/patterns/get-url-rule");
|
|
@@ -25,7 +25,5 @@ const get_require_rule_1 = require("./rules/default/get-require-rule");
|
|
|
25
25
|
Object.defineProperty(exports, "getRequiredRule", { enumerable: true, get: function () { return get_require_rule_1.getRequiredRule; } });
|
|
26
26
|
const get_required_object_rule_1 = require("./rules/object/get-required-object-rule");
|
|
27
27
|
Object.defineProperty(exports, "getRequiredObjectRule", { enumerable: true, get: function () { return get_required_object_rule_1.getRequiredObjectRule; } });
|
|
28
|
-
const i18n_1 = require("./i18n");
|
|
29
|
-
Object.defineProperty(exports, "
|
|
30
|
-
const i18n_2 = require("./i18n");
|
|
31
|
-
Object.defineProperty(exports, "setLanguage", { enumerable: true, get: function () { return i18n_2.setLanguage; } });
|
|
28
|
+
const i18n_1 = require("./locales/i18n");
|
|
29
|
+
Object.defineProperty(exports, "config", { enumerable: true, get: function () { return i18n_1.config; } });
|
|
@@ -0,0 +1,36 @@
|
|
|
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.config = void 0;
|
|
7
|
+
const en_json_1 = __importDefault(require("./en.json"));
|
|
8
|
+
const ru_json_1 = __importDefault(require("./ru.json"));
|
|
9
|
+
const translataions = {
|
|
10
|
+
en: en_json_1.default,
|
|
11
|
+
ru: ru_json_1.default,
|
|
12
|
+
};
|
|
13
|
+
function reactHookFormRulesConfig(language = 'en') {
|
|
14
|
+
let currentLang = language;
|
|
15
|
+
const setLanguage = (lang) => {
|
|
16
|
+
if (translataions[lang]) {
|
|
17
|
+
currentLang = lang;
|
|
18
|
+
}
|
|
19
|
+
else {
|
|
20
|
+
console.warn(`⚠️ Language "${lang}" is not supported. Defaulting to English.`);
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
const translate = (key, params = {}) => {
|
|
24
|
+
let text = translataions[currentLang][key] || key;
|
|
25
|
+
// Подставляем параметры (например, {{min}})
|
|
26
|
+
Object.keys(params).forEach((param) => {
|
|
27
|
+
text = text.replace(`{{${param}}}`, params[param]);
|
|
28
|
+
});
|
|
29
|
+
return text;
|
|
30
|
+
};
|
|
31
|
+
return {
|
|
32
|
+
setLanguage,
|
|
33
|
+
translate,
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
exports.config = reactHookFormRulesConfig();
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const get_require_rule_1 = require("../../rules/default/get-require-rule");
|
|
4
|
+
const i18n_1 = require("../i18n");
|
|
5
|
+
describe('Тестирование смены языка в правилах', () => {
|
|
6
|
+
test('Язык в правле Английский', () => {
|
|
7
|
+
const rule = (0, get_require_rule_1.getRequiredRule)();
|
|
8
|
+
expect(rule.message).toBe("This field is required.");
|
|
9
|
+
});
|
|
10
|
+
test('', () => {
|
|
11
|
+
i18n_1.config.setLanguage('ru');
|
|
12
|
+
const rule = (0, get_require_rule_1.getRequiredRule)();
|
|
13
|
+
expect(rule.message).toBe("Поле объязательное.");
|
|
14
|
+
});
|
|
15
|
+
});
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getMaxArrayLengthRule = void 0;
|
|
4
|
-
const
|
|
4
|
+
const index_1 = require("../../index");
|
|
5
5
|
/**
|
|
6
6
|
* Validates an array for the maximum number of values.
|
|
7
7
|
* @param arr - Array of values.
|
|
@@ -11,7 +11,7 @@ const i18n_1 = require("../../i18n");
|
|
|
11
11
|
* @example getMaxArrayLengthRule(2, "Maximum number of values is 2").
|
|
12
12
|
*/
|
|
13
13
|
const getMaxArrayLengthRule = (arr, maxLength, message) => {
|
|
14
|
-
const formattedMessage = message ||
|
|
14
|
+
const formattedMessage = message || index_1.config.translate('maxArrayLength', { max: maxLength });
|
|
15
15
|
return arr.length < maxLength || formattedMessage;
|
|
16
16
|
};
|
|
17
17
|
exports.getMaxArrayLengthRule = getMaxArrayLengthRule;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getMinArrayLengthRule = void 0;
|
|
4
|
-
const i18n_1 = require("../../i18n");
|
|
4
|
+
const i18n_1 = require("../../locales/i18n");
|
|
5
5
|
/**
|
|
6
6
|
* Validates an array for the maximum number of values.
|
|
7
7
|
* @param arr - Array of values.
|
|
@@ -11,7 +11,7 @@ const i18n_1 = require("../../i18n");
|
|
|
11
11
|
* @example getMaxArrayLengthRule(3, "Maximum number of values is 2").
|
|
12
12
|
*/
|
|
13
13
|
const getMinArrayLengthRule = (arr, minLength, message) => {
|
|
14
|
-
const formattedMessage = message ||
|
|
14
|
+
const formattedMessage = message || i18n_1.config.translate('minArrayLength', { min: minLength });
|
|
15
15
|
return arr.length >= minLength || formattedMessage;
|
|
16
16
|
};
|
|
17
17
|
exports.getMinArrayLengthRule = getMinArrayLengthRule;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getRequiredArrayRule = void 0;
|
|
4
|
-
const i18n_1 = require("../../i18n");
|
|
4
|
+
const i18n_1 = require("../../locales/i18n");
|
|
5
5
|
/**
|
|
6
6
|
* Validates an array, checking if it contains values.
|
|
7
7
|
* @param arr - Array of values.
|
|
@@ -10,6 +10,6 @@ const i18n_1 = require("../../i18n");
|
|
|
10
10
|
* @example rules: { validate: (arr) => getRequiredArrayRule(arr) }
|
|
11
11
|
*/
|
|
12
12
|
const getRequiredArrayRule = (arr, message) => {
|
|
13
|
-
return arr.length > 0 || (message ||
|
|
13
|
+
return arr.length > 0 || (message || i18n_1.config.translate('required'));
|
|
14
14
|
};
|
|
15
15
|
exports.getRequiredArrayRule = getRequiredArrayRule;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getMaxLengthRule = void 0;
|
|
4
|
-
const i18n_1 = require("../../i18n");
|
|
4
|
+
const i18n_1 = require("../../locales/i18n");
|
|
5
5
|
/**
|
|
6
6
|
* Validates the maximum length of a string.
|
|
7
7
|
* @param maxLength - Maximum number of characters allowed.
|
|
@@ -11,7 +11,7 @@ const i18n_1 = require("../../i18n");
|
|
|
11
11
|
*/
|
|
12
12
|
const getMaxLengthRule = (maxLength, message) => ({
|
|
13
13
|
value: maxLength,
|
|
14
|
-
message: message ||
|
|
14
|
+
message: message || i18n_1.config.translate('maxLength', {
|
|
15
15
|
max: maxLength,
|
|
16
16
|
}),
|
|
17
17
|
});
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getMaxRule = void 0;
|
|
4
|
-
const
|
|
4
|
+
const index_1 = require("../../index");
|
|
5
5
|
/**
|
|
6
6
|
* Returns an error if the number exceeds the specified value.
|
|
7
7
|
* @param max - Maximum number.
|
|
@@ -11,6 +11,6 @@ const i18n_1 = require("../../i18n");
|
|
|
11
11
|
*/
|
|
12
12
|
const getMaxRule = (max, message) => ({
|
|
13
13
|
value: max,
|
|
14
|
-
message: message ||
|
|
14
|
+
message: message || index_1.config.translate('max', { max }),
|
|
15
15
|
});
|
|
16
16
|
exports.getMaxRule = getMaxRule;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getMinLengthRule = void 0;
|
|
4
|
-
const i18n_1 = require("../../i18n");
|
|
4
|
+
const i18n_1 = require("../../locales/i18n");
|
|
5
5
|
/**
|
|
6
6
|
* Returns a rule that validates the minimum length of a string.
|
|
7
7
|
* @param minLength - Minimum number of characters allowed.
|
|
@@ -12,7 +12,7 @@ const i18n_1 = require("../../i18n");
|
|
|
12
12
|
const getMinLengthRule = (minLength, message) => {
|
|
13
13
|
return {
|
|
14
14
|
value: minLength,
|
|
15
|
-
message: message ||
|
|
15
|
+
message: message || i18n_1.config.translate('minLength', { min: minLength }),
|
|
16
16
|
};
|
|
17
17
|
};
|
|
18
18
|
exports.getMinLengthRule = getMinLengthRule;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getMinRule = void 0;
|
|
4
|
-
const i18n_1 = require("../../i18n");
|
|
4
|
+
const i18n_1 = require("../../locales/i18n");
|
|
5
5
|
/**
|
|
6
6
|
* Returns an error if the number is less than the specified value.
|
|
7
7
|
* @param min - Minimum number.
|
|
@@ -11,7 +11,7 @@ const i18n_1 = require("../../i18n");
|
|
|
11
11
|
*/
|
|
12
12
|
const getMinRule = (min, message) => ({
|
|
13
13
|
value: min,
|
|
14
|
-
message: message ||
|
|
14
|
+
message: message || i18n_1.config.translate('min', {
|
|
15
15
|
min,
|
|
16
16
|
}),
|
|
17
17
|
});
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getRequiredRule = void 0;
|
|
4
|
-
const i18n_1 = require("../../i18n");
|
|
4
|
+
const i18n_1 = require("../../locales/i18n");
|
|
5
5
|
/**
|
|
6
6
|
* Validates a required field.
|
|
7
7
|
* @param isRequired - Dynamic parameter that indicates whether the field is required.
|
|
@@ -9,7 +9,7 @@ const i18n_1 = require("../../i18n");
|
|
|
9
9
|
*
|
|
10
10
|
* @example rules: { required: getRequiredRule() }
|
|
11
11
|
*/
|
|
12
|
-
const getRequiredRule = (isRequired = true, message =
|
|
12
|
+
const getRequiredRule = (isRequired = true, message = i18n_1.config.translate('required')) => ({
|
|
13
13
|
value: isRequired,
|
|
14
14
|
message,
|
|
15
15
|
});
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getRequiredObjectRule = void 0;
|
|
4
|
-
const i18n_1 = require("../../i18n");
|
|
4
|
+
const i18n_1 = require("../../locales/i18n");
|
|
5
5
|
/**
|
|
6
6
|
* Validates an object, checking if it contains values.
|
|
7
7
|
* @param {Object} obj - Object with values.
|
|
@@ -11,7 +11,7 @@ const i18n_1 = require("../../i18n");
|
|
|
11
11
|
*/
|
|
12
12
|
const getRequiredObjectRule = (obj, message) => {
|
|
13
13
|
var _a;
|
|
14
|
-
const formattedMessage = message ||
|
|
14
|
+
const formattedMessage = message || i18n_1.config.translate("required");
|
|
15
15
|
if (!obj) {
|
|
16
16
|
return false || formattedMessage;
|
|
17
17
|
}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getEmailRule = void 0;
|
|
4
4
|
const get_pattern_rule_1 = require("./get-pattern-rule");
|
|
5
|
-
const
|
|
5
|
+
const index_1 = require("../../index");
|
|
6
6
|
const DEFAULT_PATTERN = /^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$/;
|
|
7
7
|
/**
|
|
8
8
|
* Validates an email address.
|
|
@@ -12,5 +12,5 @@ const DEFAULT_PATTERN = /^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$/;
|
|
|
12
12
|
*
|
|
13
13
|
* @example rules: { pattern: getEmailRule({}) }
|
|
14
14
|
*/
|
|
15
|
-
const getEmailRule = ({ pattern = DEFAULT_PATTERN, message =
|
|
15
|
+
const getEmailRule = ({ pattern = DEFAULT_PATTERN, message = index_1.config.translate('email'), }) => (0, get_pattern_rule_1.getPatternRule)(pattern, message);
|
|
16
16
|
exports.getEmailRule = getEmailRule;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getUrlRule = void 0;
|
|
4
|
-
const
|
|
4
|
+
const index_1 = require("../../index");
|
|
5
5
|
const get_pattern_rule_1 = require("./get-pattern-rule");
|
|
6
6
|
const DEFAULT_PATTERN = /(http(s)?):\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\+.~#?&//=]*)/;
|
|
7
7
|
/**
|
|
@@ -12,5 +12,5 @@ const DEFAULT_PATTERN = /(http(s)?):\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[
|
|
|
12
12
|
*
|
|
13
13
|
* @example rules: { pattern: getUrlRule() }
|
|
14
14
|
*/
|
|
15
|
-
const getUrlRule = ({ pattern = DEFAULT_PATTERN, message =
|
|
15
|
+
const getUrlRule = ({ pattern = DEFAULT_PATTERN, message = index_1.config.translate('url'), }) => (0, get_pattern_rule_1.getPatternRule)(pattern, message);
|
|
16
16
|
exports.getUrlRule = getUrlRule;
|
package/package.json
CHANGED
package/dist/i18n.d.ts
DELETED
package/dist/i18n.js
DELETED
|
@@ -1,31 +0,0 @@
|
|
|
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.translate = exports.setLanguage = void 0;
|
|
7
|
-
const en_json_1 = __importDefault(require("./locales/en.json"));
|
|
8
|
-
const ru_json_1 = __importDefault(require("./locales/ru.json"));
|
|
9
|
-
const translataions = {
|
|
10
|
-
en: en_json_1.default,
|
|
11
|
-
ru: ru_json_1.default,
|
|
12
|
-
};
|
|
13
|
-
let currentLang = 'en';
|
|
14
|
-
const setLanguage = (lang) => {
|
|
15
|
-
if (translataions[lang]) {
|
|
16
|
-
currentLang = lang;
|
|
17
|
-
}
|
|
18
|
-
else {
|
|
19
|
-
console.warn(`⚠️ Language "${lang}" is not supported. Defaulting to English.`);
|
|
20
|
-
}
|
|
21
|
-
};
|
|
22
|
-
exports.setLanguage = setLanguage;
|
|
23
|
-
const translate = (key, params = {}) => {
|
|
24
|
-
let text = translataions[currentLang][key] || key;
|
|
25
|
-
// Подставляем параметры (например, {{min}})
|
|
26
|
-
Object.keys(params).forEach((param) => {
|
|
27
|
-
text = text.replace(`{{${param}}}`, params[param]);
|
|
28
|
-
});
|
|
29
|
-
return text;
|
|
30
|
-
};
|
|
31
|
-
exports.translate = translate;
|