react-hook-form-rules 1.0.0 → 1.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/dist/index.d.ts CHANGED
@@ -1 +1,8 @@
1
- export declare function add(x: number, y: number): number;
1
+ import { getRequiredRule } from "./rules/get-require-rule";
2
+ import { getEmailRule } from "./rules/get-email-rule";
3
+ import { getMaxArrayLengthRule } from "./rules/get-max-array-length";
4
+ import { getMinLengthRule } from "./rules/get-min-length-rule";
5
+ import { getMinArrayLengthRule } from "./rules/get-min-array-length";
6
+ import { getMinRule } from "./rules/get-min-rule";
7
+ import { getUrlRule } from "./rules/get-url-rule";
8
+ export { getEmailRule, getMaxArrayLengthRule, getMinArrayLengthRule, getMinLengthRule, getMinRule, getRequiredRule, getUrlRule, };
package/dist/index.js CHANGED
@@ -1,6 +1,17 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.add = add;
4
- function add(x, y) {
5
- return x + y;
6
- }
3
+ exports.getUrlRule = exports.getRequiredRule = exports.getMinRule = exports.getMinLengthRule = exports.getMinArrayLengthRule = exports.getMaxArrayLengthRule = exports.getEmailRule = void 0;
4
+ const get_require_rule_1 = require("./rules/get-require-rule");
5
+ Object.defineProperty(exports, "getRequiredRule", { enumerable: true, get: function () { return get_require_rule_1.getRequiredRule; } });
6
+ const get_email_rule_1 = require("./rules/get-email-rule");
7
+ Object.defineProperty(exports, "getEmailRule", { enumerable: true, get: function () { return get_email_rule_1.getEmailRule; } });
8
+ const get_max_array_length_1 = require("./rules/get-max-array-length");
9
+ Object.defineProperty(exports, "getMaxArrayLengthRule", { enumerable: true, get: function () { return get_max_array_length_1.getMaxArrayLengthRule; } });
10
+ const get_min_length_rule_1 = require("./rules/get-min-length-rule");
11
+ Object.defineProperty(exports, "getMinLengthRule", { enumerable: true, get: function () { return get_min_length_rule_1.getMinLengthRule; } });
12
+ const get_min_array_length_1 = require("./rules/get-min-array-length");
13
+ Object.defineProperty(exports, "getMinArrayLengthRule", { enumerable: true, get: function () { return get_min_array_length_1.getMinArrayLengthRule; } });
14
+ const get_min_rule_1 = require("./rules/get-min-rule");
15
+ Object.defineProperty(exports, "getMinRule", { enumerable: true, get: function () { return get_min_rule_1.getMinRule; } });
16
+ const get_url_rule_1 = require("./rules/get-url-rule");
17
+ Object.defineProperty(exports, "getUrlRule", { enumerable: true, get: function () { return get_url_rule_1.getUrlRule; } });
@@ -0,0 +1,13 @@
1
+ interface EmailRule {
2
+ pattern?: RegExp;
3
+ message?: string;
4
+ }
5
+ /**
6
+ * Валидирует адресс электронной почты.
7
+ * @example getEmailRule()
8
+ */
9
+ export declare const getEmailRule: ({ pattern, message, }: EmailRule) => {
10
+ pattern: RegExp;
11
+ message: string;
12
+ };
13
+ export {};
@@ -0,0 +1,16 @@
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
+ * @example getEmailRule()
9
+ */
10
+ const getEmailRule = ({ pattern = DEFAULT_PATTERN, message = DEFAULT_MESSAGE, }) => {
11
+ return {
12
+ pattern,
13
+ message,
14
+ };
15
+ };
16
+ exports.getEmailRule = getEmailRule;
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Валидирует массив, на максимальное кол-во значений
3
+ * @param value - Массиов со значениями
4
+ * @example getMaxArrayLengthRule(2, "Максимальное кол-во значений - 2")
5
+ */
6
+ export declare const getMaxArrayLengthRule: (max: number, message: string) => {
7
+ validator(_: unknown, value: unknown[]): Promise<void>;
8
+ };
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getMaxArrayLengthRule = void 0;
4
+ /**
5
+ * Валидирует массив, на максимальное кол-во значений
6
+ * @param value - Массиов со значениями
7
+ * @example getMaxArrayLengthRule(2, "Максимальное кол-во значений - 2")
8
+ */
9
+ const getMaxArrayLengthRule = (max, message) => ({
10
+ validator(_, value) {
11
+ if ((value === null || value === void 0 ? void 0 : value.length) > max) {
12
+ return Promise.reject(message);
13
+ }
14
+ return Promise.resolve();
15
+ }
16
+ });
17
+ exports.getMaxArrayLengthRule = getMaxArrayLengthRule;
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Валидирует массив, на минимальное кол-во значений
3
+ * @param value - Массиов со значениями
4
+ * @param message - Кастомное сообщение.
5
+ * @example getMinArrayLengthRule(2, "Максимальное кол-во значений - 2")
6
+ */
7
+ export declare const getMinArrayLengthRule: (min: number, message: string) => {
8
+ validator(_: unknown, value: unknown[]): Promise<void>;
9
+ };
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getMinArrayLengthRule = void 0;
4
+ /**
5
+ * Валидирует массив, на минимальное кол-во значений
6
+ * @param value - Массиов со значениями
7
+ * @param message - Кастомное сообщение.
8
+ * @example getMinArrayLengthRule(2, "Максимальное кол-во значений - 2")
9
+ */
10
+ const getMinArrayLengthRule = (min, message) => ({
11
+ validator(_, value) {
12
+ if ((value === null || value === void 0 ? void 0 : value.length) < min) {
13
+ return Promise.reject(message);
14
+ }
15
+ return Promise.resolve();
16
+ }
17
+ });
18
+ exports.getMinArrayLengthRule = getMinArrayLengthRule;
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Проверка минимальное кол-во символов в поле.
3
+ * @param len - Кол-во
4
+ * @param message - Сообщение.
5
+ * @example getMinLength(3)
6
+ */
7
+ export declare const getMinLengthRule: (len: number, message?: string) => {
8
+ len: number;
9
+ message: string;
10
+ };
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getMinLengthRule = void 0;
4
+ /**
5
+ * Проверка минимальное кол-во символов в поле.
6
+ * @param len - Кол-во
7
+ * @param message - Сообщение.
8
+ * @example getMinLength(3)
9
+ */
10
+ const getMinLengthRule = (len, message) => {
11
+ return {
12
+ len,
13
+ message: message || getMinLengthError(length),
14
+ };
15
+ };
16
+ exports.getMinLengthRule = getMinLengthRule;
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Валидирует минимальное значение.
3
+ * @param min - Минимальное значение.
4
+ * @param message - Сообщение.
5
+ */
6
+ export declare const getMinRule: (min: number, message?: string) => {
7
+ type: any;
8
+ min: number;
9
+ message: string;
10
+ };
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getMinRule = void 0;
4
+ /**
5
+ * Валидирует минимальное значение.
6
+ * @param min - Минимальное значение.
7
+ * @param message - Сообщение.
8
+ */
9
+ const getMinRule = (min, message) => {
10
+ return {
11
+ type: 'number',
12
+ min,
13
+ message: message || getMinError(min),
14
+ };
15
+ };
16
+ exports.getMinRule = getMinRule;
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Делает поле обязательным.
3
+ * @param isRequired - Статус обазательного поля.
4
+ * @param message - Кастомное сообщение об ошибке.
5
+ * @example getRequired(true)
6
+ */
7
+ export declare const getRequiredRule: (isRequired?: boolean, message?: string) => {
8
+ required: boolean;
9
+ message: string;
10
+ };
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getRequiredRule = void 0;
4
+ /**
5
+ * Делает поле обязательным.
6
+ * @param isRequired - Статус обазательного поля.
7
+ * @param message - Кастомное сообщение об ошибке.
8
+ * @example getRequired(true)
9
+ */
10
+ const getRequiredRule = (isRequired = true, message) => {
11
+ const formattedMessage = message || "Это поле обязательное.";
12
+ return {
13
+ required: isRequired,
14
+ message: formattedMessage,
15
+ };
16
+ };
17
+ exports.getRequiredRule = getRequiredRule;
@@ -0,0 +1,12 @@
1
+ interface UrlRule {
2
+ message?: string;
3
+ pattern?: RegExp;
4
+ }
5
+ /**
6
+ * Валидирует поле с сылкой.
7
+ */
8
+ export declare const getUrlRule: ({ message, pattern, }: UrlRule) => {
9
+ message: string;
10
+ pattern: RegExp;
11
+ };
12
+ export {};
@@ -0,0 +1,15 @@
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
+ * Валидирует поле с сылкой.
8
+ */
9
+ const getUrlRule = ({ message = DEFAULT_MESSAGE, pattern = DEFAULT_PATTERN, }) => {
10
+ return {
11
+ message,
12
+ pattern,
13
+ };
14
+ };
15
+ 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
+ };
package/index.ts CHANGED
@@ -1,3 +1,17 @@
1
- export function add(x: number, y: number) {
2
- return x + y;
1
+ import { getRequiredRule } from "./rules/get-require-rule";
2
+ import { getEmailRule } from "./rules/get-email-rule";
3
+ import { getMaxArrayLengthRule } from "./rules/get-max-array-length";
4
+ import { getMinLengthRule } from "./rules/get-min-length-rule";
5
+ import { getMinArrayLengthRule } from "./rules/get-min-array-length";
6
+ import { getMinRule } from "./rules/get-min-rule";
7
+ import { getUrlRule } from "./rules/get-url-rule";
8
+
9
+ export {
10
+ getEmailRule,
11
+ getMaxArrayLengthRule,
12
+ getMinArrayLengthRule,
13
+ getMinLengthRule,
14
+ getMinRule,
15
+ getRequiredRule,
16
+ getUrlRule,
3
17
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-hook-form-rules",
3
- "version": "1.0.0",
3
+ "version": "1.0.1",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -0,0 +1,21 @@
1
+ const DEFAULT_PATTERN = /^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$/
2
+ const DEFAULT_MESSAGE = "Пожалуйста, проверьте правильность введенного адреса электронной почты."
3
+
4
+ interface EmailRule {
5
+ pattern?: RegExp
6
+ message?: string
7
+ }
8
+
9
+ /**
10
+ * Валидирует адресс электронной почты.
11
+ * @example getEmailRule()
12
+ */
13
+ export const getEmailRule = ({
14
+ pattern = DEFAULT_PATTERN,
15
+ message = DEFAULT_MESSAGE,
16
+ }: EmailRule) => {
17
+ return {
18
+ pattern,
19
+ message,
20
+ }
21
+ }
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Валидирует массив, на максимальное кол-во значений
3
+ * @param value - Массиов со значениями
4
+ * @example getMaxArrayLengthRule(2, "Максимальное кол-во значений - 2")
5
+ */
6
+ export const getMaxArrayLengthRule = (max: number, message: string) => ({
7
+ validator(_: unknown, value: unknown[]) {
8
+ if (value?.length > max) {
9
+ return Promise.reject(message)
10
+ }
11
+
12
+
13
+ return Promise.resolve()
14
+ }
15
+ })
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Валидирует массив, на минимальное кол-во значений
3
+ * @param value - Массиов со значениями
4
+ * @param message - Кастомное сообщение.
5
+ * @example getMinArrayLengthRule(2, "Максимальное кол-во значений - 2")
6
+ */
7
+ export const getMinArrayLengthRule = (min: number, message: string) => ({
8
+ validator(_: unknown, value: unknown[]) {
9
+ if (value?.length < min) {
10
+ return Promise.reject(message)
11
+ }
12
+
13
+
14
+ return Promise.resolve()
15
+ }
16
+ })
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Проверка минимальное кол-во символов в поле.
3
+ * @param len - Кол-во
4
+ * @param message - Сообщение.
5
+ * @example getMinLength(3)
6
+ */
7
+ export const getMinLengthRule = (len: number, message?: string) => {
8
+ return {
9
+ len,
10
+ message: message || getMinLengthError(length),
11
+ }
12
+ }
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Валидирует минимальное значение.
3
+ * @param min - Минимальное значение.
4
+ * @param message - Сообщение.
5
+ */
6
+ export const getMinRule = (min: number, message?: string) => {
7
+ return {
8
+ type: 'number' as any,
9
+ min,
10
+ message: message || getMinError(min),
11
+ }
12
+ }
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Делает поле обязательным.
3
+ * @param isRequired - Статус обазательного поля.
4
+ * @param message - Кастомное сообщение об ошибке.
5
+ * @example getRequired(true)
6
+ */
7
+ export const getRequiredRule = (isRequired = true, message?: string) => {
8
+ const formattedMessage = message || "Это поле обязательное.";
9
+
10
+ return {
11
+ required: isRequired,
12
+ message: formattedMessage,
13
+ }
14
+ }
@@ -0,0 +1,20 @@
1
+ const DEFAULT_MESSAGE = "Ссылка не соответствует формату"
2
+ const DEFAULT_PATTERN = /(http(s)?):\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\+.~#?&//=]*)/
3
+
4
+ interface UrlRule {
5
+ message?: string
6
+ pattern?: RegExp
7
+ }
8
+
9
+ /**
10
+ * Валидирует поле с сылкой.
11
+ */
12
+ export const getUrlRule = ({
13
+ message = DEFAULT_MESSAGE,
14
+ pattern = DEFAULT_PATTERN,
15
+ }: UrlRule) => {
16
+ return {
17
+ message,
18
+ pattern,
19
+ };
20
+ };
@@ -0,0 +1,9 @@
1
+ const MIN_TEXT = 'Минимальное значение '
2
+
3
+ /**
4
+ * Генирирует сообщение об ошибке.
5
+ * @param min - Минимальное значение.
6
+ */
7
+ const getMinError = (min: number) => {
8
+ return `${MIN_TEXT}${min}`
9
+ }
@@ -0,0 +1,9 @@
1
+ const MIN_LENGTH_TEXT = 'Минимальное кол-во символов '
2
+
3
+ /**
4
+ * Генерирует сообщение об ошибке.
5
+ * @param length - Количество символов.
6
+ */
7
+ const getMinLengthError = (length: number) => {
8
+ return `${MIN_LENGTH_TEXT}${length}.`
9
+ }