@chopperqt/react-hook-form-rules 2.3.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 (103) hide show
  1. package/CHANGELOG.md +314 -0
  2. package/README.md +307 -0
  3. package/dist/cjs/index.d.ts +15 -0
  4. package/dist/cjs/index.js +31 -0
  5. package/dist/cjs/locales/TranslateKey.d.ts +12 -0
  6. package/dist/cjs/locales/TranslateKey.js +14 -0
  7. package/dist/cjs/locales/en.json +11 -0
  8. package/dist/cjs/locales/i18n.d.ts +5 -0
  9. package/dist/cjs/locales/i18n.js +37 -0
  10. package/dist/cjs/locales/index.d.ts +4 -0
  11. package/dist/cjs/locales/index.js +9 -0
  12. package/dist/cjs/locales/ru.json +11 -0
  13. package/dist/cjs/rules/array/get-max-array-length-rule.d.ts +9 -0
  14. package/dist/cjs/rules/array/get-max-array-length-rule.js +17 -0
  15. package/dist/cjs/rules/array/get-min-array-length-rule.d.ts +9 -0
  16. package/dist/cjs/rules/array/get-min-array-length-rule.js +17 -0
  17. package/dist/cjs/rules/array/get-required-array-rule.d.ts +8 -0
  18. package/dist/cjs/rules/array/get-required-array-rule.js +15 -0
  19. package/dist/cjs/rules/constants.d.ts +1 -0
  20. package/dist/cjs/rules/constants.js +4 -0
  21. package/dist/cjs/rules/date/get-required-date-range-rule.d.ts +12 -0
  22. package/dist/cjs/rules/date/get-required-date-range-rule.js +23 -0
  23. package/dist/cjs/rules/default/get-max-length-rule.d.ts +11 -0
  24. package/dist/cjs/rules/default/get-max-length-rule.js +18 -0
  25. package/dist/cjs/rules/default/get-max-rule.d.ts +11 -0
  26. package/dist/cjs/rules/default/get-max-rule.js +16 -0
  27. package/dist/cjs/rules/default/get-min-length-rule.d.ts +11 -0
  28. package/dist/cjs/rules/default/get-min-length-rule.js +18 -0
  29. package/dist/cjs/rules/default/get-min-rule.d.ts +11 -0
  30. package/dist/cjs/rules/default/get-min-rule.js +18 -0
  31. package/dist/cjs/rules/default/get-require-rule.d.ts +11 -0
  32. package/dist/cjs/rules/default/get-require-rule.js +16 -0
  33. package/dist/cjs/rules/object/get-required-object-rule.d.ts +8 -0
  34. package/dist/cjs/rules/object/get-required-object-rule.js +21 -0
  35. package/dist/cjs/rules/patterns/get-email-rule.d.ts +17 -0
  36. package/dist/cjs/rules/patterns/get-email-rule.js +16 -0
  37. package/dist/cjs/rules/patterns/get-pattern-rule.d.ts +12 -0
  38. package/dist/cjs/rules/patterns/get-pattern-rule.js +16 -0
  39. package/dist/cjs/rules/patterns/get-url-rule.d.ts +17 -0
  40. package/dist/cjs/rules/patterns/get-url-rule.js +16 -0
  41. package/dist/cjs/tests/locales/locales.test.d.ts +1 -0
  42. package/dist/cjs/tests/locales/locales.test.js +20 -0
  43. package/dist/cjs/tests/rules/array/get-max-array-length-rule.test.d.ts +1 -0
  44. package/dist/cjs/tests/rules/array/get-max-array-length-rule.test.js +15 -0
  45. package/dist/cjs/tests/rules/array/get-min-array-length-rule.test.d.ts +1 -0
  46. package/dist/cjs/tests/rules/array/get-min-array-length-rule.test.js +15 -0
  47. package/dist/cjs/tests/rules/array/get-required-array-rule.test.d.ts +1 -0
  48. package/dist/cjs/tests/rules/array/get-required-array-rule.test.js +15 -0
  49. package/dist/cjs/tests/rules/date/get-required-date-range-rule.test.d.ts +1 -0
  50. package/dist/cjs/tests/rules/date/get-required-date-range-rule.test.js +14 -0
  51. package/dist/cjs/tests/rules/default/get-max-length-rule.test.d.ts +1 -0
  52. package/dist/cjs/tests/rules/default/get-max-length-rule.test.js +23 -0
  53. package/dist/cjs/tests/rules/default/get-max-rule.test.d.ts +1 -0
  54. package/dist/cjs/tests/rules/default/get-max-rule.test.js +23 -0
  55. package/dist/cjs/tests/rules/default/get-min-length-rule.test.d.ts +1 -0
  56. package/dist/cjs/tests/rules/default/get-min-length-rule.test.js +23 -0
  57. package/dist/cjs/tests/rules/default/get-min-rule.test.d.ts +1 -0
  58. package/dist/cjs/tests/rules/default/get-min-rule.test.js +23 -0
  59. package/dist/cjs/tests/rules/default/get-required-rule.test.d.ts +1 -0
  60. package/dist/cjs/tests/rules/default/get-required-rule.test.js +11 -0
  61. package/dist/cjs/tests/rules/object/get-require-object-rule.test.d.ts +1 -0
  62. package/dist/cjs/tests/rules/object/get-require-object-rule.test.js +15 -0
  63. package/dist/cjs/tests/rules/patterns/get-email-rule.test.d.ts +1 -0
  64. package/dist/cjs/tests/rules/patterns/get-email-rule.test.js +25 -0
  65. package/dist/cjs/tests/rules/patterns/get-pattern-rule.test.d.ts +1 -0
  66. package/dist/cjs/tests/rules/patterns/get-pattern-rule.test.js +11 -0
  67. package/dist/cjs/tests/rules/patterns/get-url-rule.test.d.ts +1 -0
  68. package/dist/cjs/tests/rules/patterns/get-url-rule.test.js +25 -0
  69. package/dist/esm/index.js +15 -0
  70. package/dist/esm/locales/TranslateKey.js +11 -0
  71. package/dist/esm/locales/en.json +11 -0
  72. package/dist/esm/locales/i18n.js +31 -0
  73. package/dist/esm/locales/index.js +4 -0
  74. package/dist/esm/locales/ru.json +11 -0
  75. package/dist/esm/rules/array/get-max-array-length-rule.js +13 -0
  76. package/dist/esm/rules/array/get-min-array-length-rule.js +13 -0
  77. package/dist/esm/rules/array/get-required-array-rule.js +11 -0
  78. package/dist/esm/rules/constants.js +1 -0
  79. package/dist/esm/rules/date/get-required-date-range-rule.js +19 -0
  80. package/dist/esm/rules/default/get-max-length-rule.js +14 -0
  81. package/dist/esm/rules/default/get-max-rule.js +12 -0
  82. package/dist/esm/rules/default/get-min-length-rule.js +14 -0
  83. package/dist/esm/rules/default/get-min-rule.js +14 -0
  84. package/dist/esm/rules/default/get-require-rule.js +12 -0
  85. package/dist/esm/rules/object/get-required-object-rule.js +17 -0
  86. package/dist/esm/rules/patterns/get-email-rule.js +12 -0
  87. package/dist/esm/rules/patterns/get-pattern-rule.js +12 -0
  88. package/dist/esm/rules/patterns/get-url-rule.js +12 -0
  89. package/dist/esm/tests/locales/locales.test.js +18 -0
  90. package/dist/esm/tests/rules/array/get-max-array-length-rule.test.js +13 -0
  91. package/dist/esm/tests/rules/array/get-min-array-length-rule.test.js +13 -0
  92. package/dist/esm/tests/rules/array/get-required-array-rule.test.js +13 -0
  93. package/dist/esm/tests/rules/date/get-required-date-range-rule.test.js +12 -0
  94. package/dist/esm/tests/rules/default/get-max-length-rule.test.js +21 -0
  95. package/dist/esm/tests/rules/default/get-max-rule.test.js +21 -0
  96. package/dist/esm/tests/rules/default/get-min-length-rule.test.js +21 -0
  97. package/dist/esm/tests/rules/default/get-min-rule.test.js +21 -0
  98. package/dist/esm/tests/rules/default/get-required-rule.test.js +9 -0
  99. package/dist/esm/tests/rules/object/get-require-object-rule.test.js +13 -0
  100. package/dist/esm/tests/rules/patterns/get-email-rule.test.js +23 -0
  101. package/dist/esm/tests/rules/patterns/get-pattern-rule.test.js +9 -0
  102. package/dist/esm/tests/rules/patterns/get-url-rule.test.js +23 -0
  103. package/package.json +54 -0
@@ -0,0 +1,12 @@
1
+ import { getRequiredDateRangeRule } from "@rules/date/get-required-date-range-rule";
2
+ describe('Тестирование функции getRequiredDateRangeRule', () => {
3
+ test('Проверка, что возвращается базовую ошибку, если данных нет', () => {
4
+ expect(getRequiredDateRangeRule([null, null], true)).toEqual('This field is required.');
5
+ });
6
+ test('Проверка, что функция возвращает кастомную ошибку, если данных нет', () => {
7
+ expect(getRequiredDateRangeRule([null, null], true, 'CUSTOM_MESSAGE')).toEqual('CUSTOM_MESSAGE');
8
+ });
9
+ test('Проверка, что функция возвращает возвращает true, если данные есть', () => {
10
+ expect(getRequiredDateRangeRule([new Date, new Date])).toEqual(true);
11
+ });
12
+ });
@@ -0,0 +1,21 @@
1
+ import { getMaxLengthRule } from "@rules/default/get-max-length-rule";
2
+ describe('Тестирование функции getMinLengthRule', () => {
3
+ test('Проверка, что функция возвращает кастомное сообщение с ошибкой.', () => {
4
+ expect(getMaxLengthRule(1, 'test message')).toEqual({
5
+ value: 1,
6
+ message: 'test message',
7
+ });
8
+ });
9
+ test('Проверка, что функция возвращает базовую ошибку.', () => {
10
+ expect(getMaxLengthRule(1)).toEqual({
11
+ value: 1,
12
+ message: `Maximum length - ${1}.`
13
+ });
14
+ });
15
+ test('Проверка, что функция возвращает базовую ошибку и переданное минимальное значение.', () => {
16
+ expect(getMaxLengthRule(111)).toEqual({
17
+ value: 111,
18
+ message: `Maximum length - 111.`
19
+ });
20
+ });
21
+ });
@@ -0,0 +1,21 @@
1
+ import { getMaxRule } from "@rules/default/get-max-rule";
2
+ describe('Тестирование функции getMaxRule', () => {
3
+ test('Проверка, что функция возвращает кастомное сообщение с ошибкой.', () => {
4
+ expect(getMaxRule(1, 'test message')).toEqual({
5
+ value: 1,
6
+ message: 'test message',
7
+ });
8
+ });
9
+ test('Проверка, что функция возвращает базовую ошибку.', () => {
10
+ expect(getMaxRule(1)).toEqual({
11
+ value: 1,
12
+ message: `Maximum value - 1.`
13
+ });
14
+ });
15
+ test('Проверка, что функция возвращает базовую ошибку и переданное минимальное значение.', () => {
16
+ expect(getMaxRule(111)).toEqual({
17
+ value: 111,
18
+ message: `Maximum value - 111.`
19
+ });
20
+ });
21
+ });
@@ -0,0 +1,21 @@
1
+ import { getMinLengthRule } from "@rules/default/get-min-length-rule";
2
+ describe('Тестирование функции getMinLengthRule', () => {
3
+ test('Проверка, что функция возвращает кастомное сообщение с ошибкой.', () => {
4
+ expect(getMinLengthRule(1, 'test message')).toEqual({
5
+ value: 1,
6
+ message: 'test message',
7
+ });
8
+ });
9
+ test('Проверка, что функция возвращает базовую ошибку.', () => {
10
+ expect(getMinLengthRule(1)).toEqual({
11
+ value: 1,
12
+ message: `Minimum length - ${1}.`
13
+ });
14
+ });
15
+ test('Проверка, что функция возвращает базовую ошибку и переданное минимальное значение.', () => {
16
+ expect(getMinLengthRule(111)).toEqual({
17
+ value: 111,
18
+ message: `Minimum length - 111.`
19
+ });
20
+ });
21
+ });
@@ -0,0 +1,21 @@
1
+ import { getMinRule } from "@rules/default/get-min-rule";
2
+ describe('Тестирование функции getMinRule', () => {
3
+ test('Проверка, что функция возвращает кастомное сообщение с ошибкой.', () => {
4
+ expect(getMinRule(1, 'test message')).toEqual({
5
+ value: 1,
6
+ message: 'test message',
7
+ });
8
+ });
9
+ test('Проверка, что функция возвращает базовую ошибку.', () => {
10
+ expect(getMinRule(1)).toEqual({
11
+ value: 1,
12
+ message: `Minimum value - 1.`
13
+ });
14
+ });
15
+ test('Проверка, что функция возвращает базовую ошибку и переданное минимальное значение.', () => {
16
+ expect(getMinRule(111)).toEqual({
17
+ value: 111,
18
+ message: `Minimum value - 111.`
19
+ });
20
+ });
21
+ });
@@ -0,0 +1,9 @@
1
+ import { getRequiredRule } from '@rules/default/get-require-rule';
2
+ describe('Тестирование функции getRequiredRule', () => {
3
+ test('Проверка, что функция возвращает кастомное сообщение с ошибкой.', () => {
4
+ expect(getRequiredRule(true, 'test message')).toEqual({
5
+ value: true,
6
+ message: 'test message',
7
+ });
8
+ });
9
+ });
@@ -0,0 +1,13 @@
1
+ import { REQUIRED_MESSAGE_TEXT } from '@rules/constants';
2
+ import { getRequiredObjectRule } from '@rules/object/get-required-object-rule';
3
+ describe('Тестирование функции getRequireObjectRule', () => {
4
+ test('Проверка, что функция возвращает кастомное сообщение с ошибкой, когда объект не содержит значения.', () => {
5
+ expect(getRequiredObjectRule({}, 'test message')).toBe('test message');
6
+ });
7
+ test('Проверка, что функция возвращает true, когда объект не пустой.', () => {
8
+ expect(getRequiredObjectRule({ test: '123' })).toBe(true);
9
+ });
10
+ test('Проверка, что функция возвращает базовое сообщение, когда объект пустой.', () => {
11
+ expect(getRequiredObjectRule({})).toBe(REQUIRED_MESSAGE_TEXT);
12
+ });
13
+ });
@@ -0,0 +1,23 @@
1
+ import { getEmailRule } from "@rules/patterns/get-email-rule";
2
+ const DEFAULT_MESSAGE = "Please check the correctness of the entered email address.";
3
+ const DEFAULT_PATTERN = /^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$/;
4
+ describe('Тестирование функции getEmailRule', () => {
5
+ test('Проверка значения по умолчанию', () => {
6
+ expect(getEmailRule({})).toEqual({
7
+ message: DEFAULT_MESSAGE,
8
+ value: DEFAULT_PATTERN
9
+ });
10
+ });
11
+ test('Проверка передачи кастомного сообщения', () => {
12
+ expect(getEmailRule({ message: 'Custom message' })).toEqual({
13
+ message: 'Custom message',
14
+ value: DEFAULT_PATTERN
15
+ });
16
+ });
17
+ test('Проверка передачи камсного паттерна', () => {
18
+ expect(getEmailRule({ pattern: /test/ })).toEqual({
19
+ message: DEFAULT_MESSAGE,
20
+ value: /test/
21
+ });
22
+ });
23
+ });
@@ -0,0 +1,9 @@
1
+ import { getPatternRule } from "@rules/patterns/get-pattern-rule";
2
+ describe('Тестирование функции getEmailRule', () => {
3
+ test('Проверка кастомного сообщения', () => {
4
+ expect(getPatternRule(/-/, 'test message')).toEqual({
5
+ message: 'test message',
6
+ value: /-/
7
+ });
8
+ });
9
+ });
@@ -0,0 +1,23 @@
1
+ import { getUrlRule } from "@rules/patterns/get-url-rule";
2
+ const DEFAULT_MESSAGE = "The URL does not match the format.";
3
+ const DEFAULT_PATTERN = /(http(s)?):\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\+.~#?&//=]*)/;
4
+ describe('Тестирование функции getEmailRule', () => {
5
+ test('Проверка значения по умолчанию', () => {
6
+ expect(getUrlRule({})).toEqual({
7
+ message: DEFAULT_MESSAGE,
8
+ value: DEFAULT_PATTERN
9
+ });
10
+ });
11
+ test('Проверка передачи кастомного сообщения', () => {
12
+ expect(getUrlRule({ message: 'Custom message' })).toEqual({
13
+ message: 'Custom message',
14
+ value: DEFAULT_PATTERN
15
+ });
16
+ });
17
+ test('Проверка передачи камсного паттерна', () => {
18
+ expect(getUrlRule({ pattern: /test/ })).toEqual({
19
+ message: DEFAULT_MESSAGE,
20
+ value: /test/
21
+ });
22
+ });
23
+ });
package/package.json ADDED
@@ -0,0 +1,54 @@
1
+ {
2
+ "name": "@chopperqt/react-hook-form-rules",
3
+ "publishConfig": {
4
+ "access": "public"
5
+ },
6
+ "version": "2.3.1",
7
+ "description": "",
8
+ "main": "dist/cjs/index.js",
9
+ "module": "dist/esm/index.js",
10
+ "types": "dist/cjs/index.d.ts",
11
+ "scripts": {
12
+ "test": "jest",
13
+ "test-watch": "jest --watch --verbose",
14
+ "build": "tsc --declaration && tsc -p tsconfig.esm.json",
15
+ "check-npmrc": "cat ~/.npmrc",
16
+ "deploy": "npm run build && npm publish",
17
+ "commit": "cz"
18
+ },
19
+ "files": [
20
+ "dist",
21
+ "README.md",
22
+ "CHANGELOG.md"
23
+ ],
24
+ "keywords": [],
25
+ "author": "chopperqt",
26
+ "license": "ISC",
27
+ "dependencies": {
28
+ "@types/node": "^22.7.0",
29
+ "typescript": "^5.6.2"
30
+ },
31
+ "exports": {
32
+ ".": {
33
+ "import": "./dist/esm/index.js",
34
+ "require": "./dist/cjs/index.js",
35
+ "types": "./dist/cjs/index.d.ts"
36
+ }
37
+ },
38
+ "devDependencies": {
39
+ "@semantic-release/changelog": "^6.0.3",
40
+ "@semantic-release/exec": "^7.0.3",
41
+ "@semantic-release/git": "^10.0.1",
42
+ "@types/jest": "^29.5.14",
43
+ "conventional-changelog-conventionalcommits": "^8.0.0",
44
+ "cz-conventional-changelog": "^3.3.0",
45
+ "jest": "^29.7.0",
46
+ "semantic-release": "^24.2.3",
47
+ "ts-jest": "^29.2.6"
48
+ },
49
+ "config": {
50
+ "commitizen": {
51
+ "path": "./node_modules/cz-conventional-changelog"
52
+ }
53
+ }
54
+ }