react-hook-form-rules 1.6.0 → 1.7.2

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 (98) hide show
  1. package/CHANGELOG.md +45 -0
  2. package/dist/i18n.d.ts +2 -0
  3. package/dist/i18n.js +31 -0
  4. package/dist/index.d.ts +13 -0
  5. package/dist/index.js +27 -0
  6. package/dist/locales/en.json +11 -0
  7. package/dist/locales/ru.json +11 -0
  8. package/dist/rules/array/get-max-array-length-rule.d.ts +9 -0
  9. package/dist/rules/array/get-max-array-length-rule.js +17 -0
  10. package/dist/rules/array/get-max-array-length.d.ts +9 -0
  11. package/dist/rules/array/get-max-array-length.js +17 -0
  12. package/dist/rules/array/get-min-array-length-rule.d.ts +9 -0
  13. package/dist/rules/array/get-min-array-length-rule.js +17 -0
  14. package/dist/rules/array/get-min-array-length.d.ts +9 -0
  15. package/dist/rules/array/get-min-array-length.js +17 -0
  16. package/dist/rules/array/get-required-array-rule.d.ts +8 -0
  17. package/dist/rules/array/get-required-array-rule.js +15 -0
  18. package/dist/rules/array/tests/get-max-array-length-rule.test.d.ts +1 -0
  19. package/dist/rules/array/tests/get-max-array-length-rule.test.js +15 -0
  20. package/dist/rules/array/tests/get-min-array-length-rule.test.d.ts +1 -0
  21. package/dist/rules/array/tests/get-min-array-length-rule.test.js +15 -0
  22. package/dist/rules/array/tests/get-required-array-rule.test.d.ts +1 -0
  23. package/dist/rules/array/tests/get-required-array-rule.test.js +15 -0
  24. package/dist/rules/constants.d.ts +1 -0
  25. package/dist/rules/constants.js +4 -0
  26. package/dist/rules/default/get-max-length-rule.d.ts +11 -0
  27. package/dist/rules/default/get-max-length-rule.js +18 -0
  28. package/dist/rules/default/get-max-rule.d.ts +11 -0
  29. package/dist/rules/default/get-max-rule.js +16 -0
  30. package/dist/rules/default/get-min-length-rule.d.ts +11 -0
  31. package/dist/rules/default/get-min-length-rule.js +18 -0
  32. package/dist/rules/default/get-min-rule.d.ts +11 -0
  33. package/dist/rules/default/get-min-rule.js +18 -0
  34. package/dist/rules/default/get-require-rule.d.ts +11 -0
  35. package/dist/rules/default/get-require-rule.js +16 -0
  36. package/dist/rules/default/tests/get-max-length-rule.test.d.ts +1 -0
  37. package/dist/rules/default/tests/get-max-length-rule.test.js +23 -0
  38. package/dist/rules/default/tests/get-max-rule.test.d.ts +1 -0
  39. package/dist/rules/default/tests/get-max-rule.test.js +23 -0
  40. package/dist/rules/default/tests/get-min-length-rule.test.d.ts +1 -0
  41. package/dist/rules/default/tests/get-min-length-rule.test.js +23 -0
  42. package/dist/rules/default/tests/get-min-rule.test.d.ts +1 -0
  43. package/dist/rules/default/tests/get-min-rule.test.js +23 -0
  44. package/dist/rules/default/tests/get-required-rule.test.d.ts +1 -0
  45. package/dist/rules/default/tests/get-required-rule.test.js +11 -0
  46. package/dist/rules/get-email-rule.d.ts +17 -0
  47. package/dist/rules/get-email-rule.js +20 -0
  48. package/dist/rules/get-max-array-length.d.ts +8 -0
  49. package/dist/rules/get-max-array-length.js +16 -0
  50. package/dist/rules/get-max-length-rule.d.ts +11 -0
  51. package/dist/rules/get-max-length-rule.js +22 -0
  52. package/dist/rules/get-max-rule.d.ts +11 -0
  53. package/dist/rules/get-max-rule.js +15 -0
  54. package/dist/rules/get-min-array-length.d.ts +8 -0
  55. package/dist/rules/get-min-array-length.js +16 -0
  56. package/dist/rules/get-min-length-rule.d.ts +11 -0
  57. package/dist/rules/get-min-length-rule.js +22 -0
  58. package/dist/rules/get-min-rule.d.ts +16 -0
  59. package/dist/rules/get-min-rule.js +16 -0
  60. package/dist/rules/get-require-rule.d.ts +11 -0
  61. package/dist/rules/get-require-rule.js +16 -0
  62. package/dist/rules/get-required-array-role.d.ts +8 -0
  63. package/dist/rules/get-required-array-role.js +15 -0
  64. package/dist/rules/get-required-array-rule.d.ts +8 -0
  65. package/dist/rules/get-required-array-rule.js +15 -0
  66. package/dist/rules/get-required-object-rule.d.ts +8 -0
  67. package/dist/rules/get-required-object-rule.js +20 -0
  68. package/dist/rules/get-url-rule.d.ts +17 -0
  69. package/dist/rules/get-url-rule.js +20 -0
  70. package/dist/rules/helpers/get-min-error.d.ts +6 -0
  71. package/dist/rules/helpers/get-min-error.js +9 -0
  72. package/dist/rules/helpers/get-min-length-error.d.ts +6 -0
  73. package/dist/rules/helpers/get-min-length-error.js +9 -0
  74. package/dist/rules/link/get-email-rule.d.ts +17 -0
  75. package/dist/rules/link/get-email-rule.js +40 -0
  76. package/dist/rules/link/get-url-rule.d.ts +17 -0
  77. package/dist/rules/link/get-url-rule.js +20 -0
  78. package/dist/rules/object/get-required-object-rule.d.ts +8 -0
  79. package/dist/rules/object/get-required-object-rule.js +21 -0
  80. package/dist/rules/object/tests/get-require-object-rule.test.d.ts +1 -0
  81. package/dist/rules/object/tests/get-require-object-rule.test.js +15 -0
  82. package/dist/rules/patterns/get-email-rule.d.ts +17 -0
  83. package/dist/rules/patterns/get-email-rule.js +16 -0
  84. package/dist/rules/patterns/get-pattern-rule.d.ts +12 -0
  85. package/dist/rules/patterns/get-pattern-rule.js +16 -0
  86. package/dist/rules/patterns/get-url-rule.d.ts +17 -0
  87. package/dist/rules/patterns/get-url-rule.js +16 -0
  88. package/dist/rules/patterns/tests/get-email-rule.test.d.ts +1 -0
  89. package/dist/rules/patterns/tests/get-email-rule.test.js +25 -0
  90. package/dist/rules/patterns/tests/get-pattern-rule.test.d.ts +1 -0
  91. package/dist/rules/patterns/tests/get-pattern-rule.test.js +11 -0
  92. package/dist/rules/patterns/tests/get-url-rule.test.d.ts +1 -0
  93. package/dist/rules/patterns/tests/get-url-rule.test.js +25 -0
  94. package/i18n.ts +5 -2
  95. package/jest.config.js +3 -2
  96. package/package.json +1 -1
  97. package/rules/patterns/get-email-rule.ts +1 -1
  98. package/tsconfig.json +2 -1
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getEmailRule = void 0;
4
+ const get_pattern_rule_1 = require("./get-pattern-rule");
5
+ const i18n_1 = require("../../i18n");
6
+ const DEFAULT_PATTERN = /^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$/;
7
+ /**
8
+ * Validates an email address.
9
+ * @param options - Parameters.
10
+ * @param {string} options.pattern - Regular expression.
11
+ * @param {string} options.message - Custom message.
12
+ *
13
+ * @example rules: { pattern: getEmailRule({}) }
14
+ */
15
+ const getEmailRule = ({ pattern = DEFAULT_PATTERN, message = (0, i18n_1.translate)('email'), }) => (0, get_pattern_rule_1.getPatternRule)(pattern, message);
16
+ exports.getEmailRule = getEmailRule;
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Returns a rule that validates the pattern.
3
+ * @param options - Parameters.
4
+ * @param options.pattern - Regular expression.
5
+ * @param options.message - Custom message.
6
+ *
7
+ * @example rules: { pattern: getPatternRule(pattern) }
8
+ */
9
+ export declare const getPatternRule: (pattern: RegExp, message: string) => {
10
+ value: RegExp;
11
+ message: string;
12
+ };
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getPatternRule = void 0;
4
+ /**
5
+ * Returns a rule that validates the pattern.
6
+ * @param options - Parameters.
7
+ * @param options.pattern - Regular expression.
8
+ * @param options.message - Custom message.
9
+ *
10
+ * @example rules: { pattern: getPatternRule(pattern) }
11
+ */
12
+ const getPatternRule = (pattern, message) => ({
13
+ value: pattern,
14
+ message,
15
+ });
16
+ exports.getPatternRule = getPatternRule;
@@ -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: getUrlRule() }
12
+ */
13
+ export declare const getUrlRule: ({ pattern, message, }: UrlRule) => {
14
+ value: RegExp;
15
+ message: string;
16
+ };
17
+ export {};
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getUrlRule = void 0;
4
+ const i18n_1 = require("../../i18n");
5
+ const get_pattern_rule_1 = require("./get-pattern-rule");
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
+ /**
8
+ * Returns a rule that validates the input URL.
9
+ * @param options - Parameters.
10
+ * @param options.pattern - Regular expression.
11
+ * @param options.message - Custom message.
12
+ *
13
+ * @example rules: { pattern: getUrlRule() }
14
+ */
15
+ const getUrlRule = ({ pattern = DEFAULT_PATTERN, message = (0, i18n_1.translate)('url'), }) => (0, get_pattern_rule_1.getPatternRule)(pattern, message);
16
+ exports.getUrlRule = getUrlRule;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const get_email_rule_1 = require("../get-email-rule");
4
+ const DEFAULT_MESSAGE = "Please check the correctness of the entered email address.";
5
+ const DEFAULT_PATTERN = /^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$/;
6
+ describe('Тестирование функции getEmailRule', () => {
7
+ test('Проверка значения по умолчанию', () => {
8
+ expect((0, get_email_rule_1.getEmailRule)({})).toEqual({
9
+ message: DEFAULT_MESSAGE,
10
+ value: DEFAULT_PATTERN
11
+ });
12
+ });
13
+ test('Проверка передачи кастомного сообщения', () => {
14
+ expect((0, get_email_rule_1.getEmailRule)({ message: 'Custom message' })).toEqual({
15
+ message: 'Custom message',
16
+ value: DEFAULT_PATTERN
17
+ });
18
+ });
19
+ test('Проверка передачи камсного паттерна', () => {
20
+ expect((0, get_email_rule_1.getEmailRule)({ pattern: /test/ })).toEqual({
21
+ message: DEFAULT_MESSAGE,
22
+ value: /test/
23
+ });
24
+ });
25
+ });
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const get_pattern_rule_1 = require("../get-pattern-rule");
4
+ describe('Тестирование функции getEmailRule', () => {
5
+ test('Проверка кастомного сообщения', () => {
6
+ expect((0, get_pattern_rule_1.getPatternRule)(/-/, 'test message')).toEqual({
7
+ message: 'test message',
8
+ value: /-/
9
+ });
10
+ });
11
+ });
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const get_url_rule_1 = require("../get-url-rule");
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
+ describe('Тестирование функции getEmailRule', () => {
7
+ test('Проверка значения по умолчанию', () => {
8
+ expect((0, get_url_rule_1.getUrlRule)({})).toEqual({
9
+ message: DEFAULT_MESSAGE,
10
+ value: DEFAULT_PATTERN
11
+ });
12
+ });
13
+ test('Проверка передачи кастомного сообщения', () => {
14
+ expect((0, get_url_rule_1.getUrlRule)({ message: 'Custom message' })).toEqual({
15
+ message: 'Custom message',
16
+ value: DEFAULT_PATTERN
17
+ });
18
+ });
19
+ test('Проверка передачи камсного паттерна', () => {
20
+ expect((0, get_url_rule_1.getUrlRule)({ pattern: /test/ })).toEqual({
21
+ message: DEFAULT_MESSAGE,
22
+ value: /test/
23
+ });
24
+ });
25
+ });
package/i18n.ts CHANGED
@@ -1,6 +1,9 @@
1
+ import en from './locales/en.json'
2
+ import ru from './locales/ru.json'
3
+
1
4
  const translataions = {
2
- en: require("./locales/en.json"),
3
- ru: require("./locales/ru.json"),
5
+ en,
6
+ ru,
4
7
  };
5
8
 
6
9
  let currentLang = 'en'
package/jest.config.js CHANGED
@@ -2,6 +2,7 @@
2
2
  module.exports = {
3
3
  testEnvironment: "node",
4
4
  transform: {
5
- "^.+\.tsx?$": ["ts-jest",{}],
5
+ "^.+\.tsx?$": ["ts-jest", {}],
6
6
  },
7
- };
7
+ testPathIgnorePatterns: ['./dist']
8
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-hook-form-rules",
3
- "version": "1.6.0",
3
+ "version": "1.7.2",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -14,7 +14,7 @@ interface EmailRule {
14
14
  * @param {string} options.pattern - Regular expression.
15
15
  * @param {string} options.message - Custom message.
16
16
  *
17
- * @example rules: { pattern: getEmailRule() }
17
+ * @example rules: { pattern: getEmailRule({}) }
18
18
  */
19
19
  export const getEmailRule = ({
20
20
  pattern = DEFAULT_PATTERN,
package/tsconfig.json CHANGED
@@ -6,6 +6,7 @@
6
6
  "forceConsistentCasingInFileNames": true /* Ensure that casing is correct in imports. */,
7
7
  "strict": true /* Enable all strict type-checking options. */,
8
8
  "skipLibCheck": true /* Skip type checking all .d.ts files. */,
9
- "outDir": "./dist"
9
+ "outDir": "./dist",
10
+ "resolveJsonModule": true
10
11
  }
11
12
  }