@astral/validations 1.19.3 → 1.20.0
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/compose/compose.d.ts +2 -2
- package/compose/compose.js +2 -2
- package/composeAllSettled/composeAllSettled.d.ts +2 -2
- package/composeAllSettled/composeAllSettled.js +3 -3
- package/constants.d.ts +2 -0
- package/constants.js +5 -0
- package/createRule/createRule.d.ts +10 -2
- package/createRule/createRule.js +12 -5
- package/esm/compose/compose.d.ts +2 -2
- package/esm/compose/compose.js +1 -2
- package/esm/composeAllSettled/composeAllSettled.d.ts +2 -2
- package/esm/composeAllSettled/composeAllSettled.js +2 -3
- package/esm/constants.d.ts +2 -0
- package/esm/constants.js +2 -0
- package/esm/createRule/createRule.d.ts +10 -2
- package/esm/createRule/createRule.js +12 -5
- package/esm/index.d.ts +11 -0
- package/esm/index.js +11 -0
- package/esm/isDate/index.d.ts +1 -0
- package/esm/isDate/index.js +1 -0
- package/esm/isDate/isDate.d.ts +10 -0
- package/esm/isDate/isDate.js +23 -0
- package/esm/isINNIP/index.d.ts +1 -0
- package/esm/isINNIP/index.js +1 -0
- package/esm/isINNIP/isINNIP.d.ts +10 -0
- package/esm/isINNIP/isINNIP.js +39 -0
- package/esm/isINNUL/index.d.ts +1 -0
- package/esm/isINNUL/index.js +1 -0
- package/esm/isINNUL/isINNUL.d.ts +10 -0
- package/esm/isINNUL/isINNUL.js +34 -0
- package/esm/isMaxLength/index.d.ts +1 -0
- package/esm/isMaxLength/index.js +1 -0
- package/esm/isMaxLength/isMaxLength.d.ts +18 -0
- package/esm/isMaxLength/isMaxLength.js +34 -0
- package/esm/isMaxValue/index.d.ts +1 -0
- package/esm/isMaxValue/index.js +1 -0
- package/esm/isMaxValue/isMaxValue.d.ts +17 -0
- package/esm/isMaxValue/isMaxValue.js +35 -0
- package/esm/isMaybeNumber/index.d.ts +1 -0
- package/esm/isMaybeNumber/index.js +1 -0
- package/esm/isMaybeNumber/isMaybeNumber.d.ts +10 -0
- package/esm/isMaybeNumber/isMaybeNumber.js +23 -0
- package/esm/isMinLength/index.d.ts +1 -0
- package/esm/isMinLength/index.js +1 -0
- package/esm/isMinLength/isMinLength.d.ts +18 -0
- package/esm/isMinLength/isMinLength.js +34 -0
- package/esm/isMinValue/index.d.ts +1 -0
- package/esm/isMinValue/index.js +1 -0
- package/esm/isMinValue/isMinValue.d.ts +17 -0
- package/esm/isMinValue/isMinValue.js +35 -0
- package/esm/isOGRNIP/index.d.ts +1 -0
- package/esm/isOGRNIP/index.js +1 -0
- package/esm/isOGRNIP/isOGRNIP.d.ts +10 -0
- package/esm/isOGRNIP/isOGRNIP.js +26 -0
- package/esm/isOGRNUL/index.d.ts +1 -0
- package/esm/isOGRNUL/index.js +1 -0
- package/esm/isOGRNUL/isOGRNUL.d.ts +10 -0
- package/esm/isOGRNUL/isOGRNUL.js +26 -0
- package/esm/isRequired/isRequired.d.ts +5 -2
- package/esm/isRequired/isRequired.js +1 -2
- package/esm/isSNILS/index.d.ts +1 -0
- package/esm/isSNILS/index.js +1 -0
- package/esm/isSNILS/isSNILS.d.ts +10 -0
- package/esm/isSNILS/isSNILS.js +62 -0
- package/esm/types.d.ts +1 -1
- package/esm/utils/index.d.ts +1 -0
- package/esm/utils/index.js +1 -0
- package/esm/utils/isEmptyString.d.ts +4 -0
- package/esm/utils/isEmptyString.js +6 -0
- package/index.d.ts +11 -0
- package/index.js +11 -0
- package/isDate/index.d.ts +1 -0
- package/isDate/index.js +17 -0
- package/isDate/isDate.d.ts +10 -0
- package/isDate/isDate.js +26 -0
- package/isINNIP/index.d.ts +1 -0
- package/isINNIP/index.js +17 -0
- package/isINNIP/isINNIP.d.ts +10 -0
- package/isINNIP/isINNIP.js +42 -0
- package/isINNUL/index.d.ts +1 -0
- package/isINNUL/index.js +17 -0
- package/isINNUL/isINNUL.d.ts +10 -0
- package/isINNUL/isINNUL.js +37 -0
- package/isMaxLength/index.d.ts +1 -0
- package/isMaxLength/index.js +5 -0
- package/isMaxLength/isMaxLength.d.ts +18 -0
- package/isMaxLength/isMaxLength.js +41 -0
- package/isMaxValue/index.d.ts +1 -0
- package/isMaxValue/index.js +5 -0
- package/isMaxValue/isMaxValue.d.ts +17 -0
- package/isMaxValue/isMaxValue.js +39 -0
- package/isMaybeNumber/index.d.ts +1 -0
- package/isMaybeNumber/index.js +17 -0
- package/isMaybeNumber/isMaybeNumber.d.ts +10 -0
- package/isMaybeNumber/isMaybeNumber.js +26 -0
- package/isMinLength/index.d.ts +1 -0
- package/isMinLength/index.js +17 -0
- package/isMinLength/isMinLength.d.ts +18 -0
- package/isMinLength/isMinLength.js +41 -0
- package/isMinValue/index.d.ts +1 -0
- package/isMinValue/index.js +5 -0
- package/isMinValue/isMinValue.d.ts +17 -0
- package/isMinValue/isMinValue.js +39 -0
- package/isOGRNIP/index.d.ts +1 -0
- package/isOGRNIP/index.js +17 -0
- package/isOGRNIP/isOGRNIP.d.ts +10 -0
- package/isOGRNIP/isOGRNIP.js +29 -0
- package/isOGRNUL/index.d.ts +1 -0
- package/isOGRNUL/index.js +17 -0
- package/isOGRNUL/isOGRNUL.d.ts +10 -0
- package/isOGRNUL/isOGRNUL.js +29 -0
- package/isRequired/isRequired.d.ts +5 -2
- package/isRequired/isRequired.js +1 -2
- package/isSNILS/index.d.ts +1 -0
- package/isSNILS/index.js +17 -0
- package/isSNILS/isSNILS.d.ts +10 -0
- package/isSNILS/isSNILS.js +65 -0
- package/package.json +1 -1
- package/types.d.ts +1 -1
- package/utils/index.d.ts +1 -0
- package/utils/index.js +17 -0
- package/utils/isEmptyString.d.ts +4 -0
- package/utils/isEmptyString.js +10 -0
@@ -0,0 +1,39 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.isMaxValue = exports.getDefaultMessage = void 0;
|
4
|
+
const constants_1 = require("../constants");
|
5
|
+
const createRule_1 = require("../createRule");
|
6
|
+
const isMaybeNumber_1 = require("../isMaybeNumber");
|
7
|
+
const utils_1 = require("../utils");
|
8
|
+
const getDefaultMessage = (max) => {
|
9
|
+
return `Должно быть меньше чем ${max}`;
|
10
|
+
};
|
11
|
+
exports.getDefaultMessage = getDefaultMessage;
|
12
|
+
/**
|
13
|
+
* @description Проверяет максимальное значение value
|
14
|
+
* @example isMaxValue({ max: 10 })(1239123);
|
15
|
+
* @param {number} [max] Максимальное значение value
|
16
|
+
* @param {string} [message.defaultMessage] Сообщение при неудачной валидации
|
17
|
+
* @param {string} [message.incorrectValue] Сообщение при переданном некорректном value
|
18
|
+
*/
|
19
|
+
exports.isMaxValue = (0, createRule_1.createRule)(({ max, message = {
|
20
|
+
defaultMessage: `Должно быть меньше чем ${max}`,
|
21
|
+
incorrectValue: constants_1.INCORRECT_MESSAGE,
|
22
|
+
}, }) => (value) => {
|
23
|
+
if ((0, utils_1.isEmptyString)(value)) {
|
24
|
+
return undefined;
|
25
|
+
}
|
26
|
+
if (typeof value === 'string' && !(0, isMaybeNumber_1.isMaybeNumber)()(value)) {
|
27
|
+
if (parseFloat(value) <= max) {
|
28
|
+
return undefined;
|
29
|
+
}
|
30
|
+
return message.defaultMessage;
|
31
|
+
}
|
32
|
+
if (typeof value !== 'number' || isNaN(value)) {
|
33
|
+
return message.incorrectValue;
|
34
|
+
}
|
35
|
+
if (value <= max) {
|
36
|
+
return undefined;
|
37
|
+
}
|
38
|
+
return message.defaultMessage;
|
39
|
+
});
|
@@ -0,0 +1 @@
|
|
1
|
+
export * from './isMaybeNumber';
|
@@ -0,0 +1,17 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
3
|
+
if (k2 === undefined) k2 = k;
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
7
|
+
}
|
8
|
+
Object.defineProperty(o, k2, desc);
|
9
|
+
}) : (function(o, m, k, k2) {
|
10
|
+
if (k2 === undefined) k2 = k;
|
11
|
+
o[k2] = m[k];
|
12
|
+
}));
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
15
|
+
};
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
17
|
+
__exportStar(require("./isMaybeNumber"), exports);
|
@@ -0,0 +1,10 @@
|
|
1
|
+
export declare const IS_MAYBE_NUMBER_RULE_DEFAULT_MESSAGE = "\u041D\u0435 \u043C\u043E\u0436\u0435\u0442 \u0431\u044B\u0442\u044C \u043F\u0440\u0435\u043E\u0431\u0440\u0430\u0437\u043E\u0432\u0430\u043D\u043E \u0432 \u0447\u0438\u0441\u043B\u043E";
|
2
|
+
/**
|
3
|
+
* @description Проверяет может ли значение быть преобразованным в число
|
4
|
+
* @example isMaybeNumber()('7728168971');
|
5
|
+
*/
|
6
|
+
export declare const isMaybeNumber: (params?: ({
|
7
|
+
message?: string | undefined;
|
8
|
+
} & {
|
9
|
+
exclude?: ((value: unknown) => boolean) | undefined;
|
10
|
+
}) | undefined) => import("..").InitializedRule;
|
@@ -0,0 +1,26 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.isMaybeNumber = exports.IS_MAYBE_NUMBER_RULE_DEFAULT_MESSAGE = void 0;
|
4
|
+
const createRule_1 = require("../createRule");
|
5
|
+
const constants_1 = require("../constants");
|
6
|
+
const utils_1 = require("../utils");
|
7
|
+
exports.IS_MAYBE_NUMBER_RULE_DEFAULT_MESSAGE = 'Не может быть преобразовано в число';
|
8
|
+
/**
|
9
|
+
* @description Проверяет может ли значение быть преобразованным в число
|
10
|
+
* @example isMaybeNumber()('7728168971');
|
11
|
+
*/
|
12
|
+
exports.isMaybeNumber = (0, createRule_1.createRule)(({ message = exports.IS_MAYBE_NUMBER_RULE_DEFAULT_MESSAGE } = {}) => (value) => {
|
13
|
+
if ((0, utils_1.isEmptyString)(value)) {
|
14
|
+
return undefined;
|
15
|
+
}
|
16
|
+
if (typeof value === 'string' &&
|
17
|
+
!isNaN(Number(value)) &&
|
18
|
+
!constants_1.CONTAINS_SPACES_REGEX.test(value) &&
|
19
|
+
value !== '') {
|
20
|
+
return undefined;
|
21
|
+
}
|
22
|
+
if (typeof value === 'number' && !isNaN(value)) {
|
23
|
+
return undefined;
|
24
|
+
}
|
25
|
+
return message;
|
26
|
+
});
|
@@ -0,0 +1 @@
|
|
1
|
+
export * from './isMinLength';
|
@@ -0,0 +1,17 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
3
|
+
if (k2 === undefined) k2 = k;
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
7
|
+
}
|
8
|
+
Object.defineProperty(o, k2, desc);
|
9
|
+
}) : (function(o, m, k, k2) {
|
10
|
+
if (k2 === undefined) k2 = k;
|
11
|
+
o[k2] = m[k];
|
12
|
+
}));
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
15
|
+
};
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
17
|
+
__exportStar(require("./isMinLength"), exports);
|
@@ -0,0 +1,18 @@
|
|
1
|
+
export declare const getDefaultMessage: (min: number) => string;
|
2
|
+
/**
|
3
|
+
* @description Проверяет минимальную длину value
|
4
|
+
* @example isMinLength({ min: 10 })(1239123);
|
5
|
+
* @example isMinLength({ min: 10 })('1239123');
|
6
|
+
* @param {number} [min] Минимальная длина value
|
7
|
+
* @param {string} [message.defaultMessage] Сообщение при неудачной валидации
|
8
|
+
* @param {string} [message.incorrectValue] Сообщение при переданном некорректном value
|
9
|
+
*/
|
10
|
+
export declare const isMinLength: (params: {
|
11
|
+
message?: {
|
12
|
+
defaultMessage?: string | undefined;
|
13
|
+
incorrectValue?: string | undefined;
|
14
|
+
} | undefined;
|
15
|
+
min: number;
|
16
|
+
} & {
|
17
|
+
exclude?: ((value: unknown) => boolean) | undefined;
|
18
|
+
}) => import("..").InitializedRule;
|
@@ -0,0 +1,41 @@
|
|
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.isMinLength = exports.getDefaultMessage = void 0;
|
7
|
+
const lodash_isempty_1 = __importDefault(require("lodash.isempty"));
|
8
|
+
const createRule_1 = require("../createRule");
|
9
|
+
const constants_1 = require("../constants");
|
10
|
+
const utils_1 = require("../utils");
|
11
|
+
const getDefaultMessage = (min) => `Мин. символов: ${min}`;
|
12
|
+
exports.getDefaultMessage = getDefaultMessage;
|
13
|
+
/**
|
14
|
+
* @description Проверяет минимальную длину value
|
15
|
+
* @example isMinLength({ min: 10 })(1239123);
|
16
|
+
* @example isMinLength({ min: 10 })('1239123');
|
17
|
+
* @param {number} [min] Минимальная длина value
|
18
|
+
* @param {string} [message.defaultMessage] Сообщение при неудачной валидации
|
19
|
+
* @param {string} [message.incorrectValue] Сообщение при переданном некорректном value
|
20
|
+
*/
|
21
|
+
exports.isMinLength = (0, createRule_1.createRule)(({ min, message = {
|
22
|
+
defaultMessage: `Мин. символов: ${min}`,
|
23
|
+
incorrectValue: constants_1.INCORRECT_MESSAGE,
|
24
|
+
}, } = { min: 0 }) => (value) => {
|
25
|
+
if ((0, utils_1.isEmptyString)(value)) {
|
26
|
+
return undefined;
|
27
|
+
}
|
28
|
+
if (min < 0) {
|
29
|
+
throw new Error('Значение параметра `min` должно быть >= 0');
|
30
|
+
}
|
31
|
+
if (typeof value === 'string' || Array.isArray(value)) {
|
32
|
+
return value.length < min ? message.defaultMessage : undefined;
|
33
|
+
}
|
34
|
+
if (typeof value !== 'string' || !Array.isArray(value)) {
|
35
|
+
return message.incorrectValue;
|
36
|
+
}
|
37
|
+
if ((0, lodash_isempty_1.default)(value)) {
|
38
|
+
return undefined;
|
39
|
+
}
|
40
|
+
return undefined;
|
41
|
+
});
|
@@ -0,0 +1 @@
|
|
1
|
+
export { isMinValue } from './isMinValue';
|
@@ -0,0 +1,5 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.isMinValue = void 0;
|
4
|
+
var isMinValue_1 = require("./isMinValue");
|
5
|
+
Object.defineProperty(exports, "isMinValue", { enumerable: true, get: function () { return isMinValue_1.isMinValue; } });
|
@@ -0,0 +1,17 @@
|
|
1
|
+
export declare const getDefaultMessage: (min: number) => string;
|
2
|
+
/**
|
3
|
+
* @description Проверяет минимальное значение value
|
4
|
+
* @example isMinValue({ min: 10 })(1239123);
|
5
|
+
* @param {number} [min] Минимальное значение value
|
6
|
+
* @param {string} [message.defaultMessage] Сообщение при неудачной валидации
|
7
|
+
* @param {string} [message.incorrectValue] Сообщение при переданном некорректном value
|
8
|
+
*/
|
9
|
+
export declare const isMinValue: (params: {
|
10
|
+
min: number;
|
11
|
+
message?: {
|
12
|
+
defaultMessage?: string | undefined;
|
13
|
+
incorrectValue?: string | undefined;
|
14
|
+
} | undefined;
|
15
|
+
} & {
|
16
|
+
exclude?: ((value: unknown) => boolean) | undefined;
|
17
|
+
}) => import("..").InitializedRule;
|
@@ -0,0 +1,39 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.isMinValue = exports.getDefaultMessage = void 0;
|
4
|
+
const constants_1 = require("../constants");
|
5
|
+
const createRule_1 = require("../createRule");
|
6
|
+
const isMaybeNumber_1 = require("../isMaybeNumber");
|
7
|
+
const utils_1 = require("../utils");
|
8
|
+
const getDefaultMessage = (min) => {
|
9
|
+
return `Должно быть больше чем ${min}`;
|
10
|
+
};
|
11
|
+
exports.getDefaultMessage = getDefaultMessage;
|
12
|
+
/**
|
13
|
+
* @description Проверяет минимальное значение value
|
14
|
+
* @example isMinValue({ min: 10 })(1239123);
|
15
|
+
* @param {number} [min] Минимальное значение value
|
16
|
+
* @param {string} [message.defaultMessage] Сообщение при неудачной валидации
|
17
|
+
* @param {string} [message.incorrectValue] Сообщение при переданном некорректном value
|
18
|
+
*/
|
19
|
+
exports.isMinValue = (0, createRule_1.createRule)(({ min, message = {
|
20
|
+
defaultMessage: `Должно быть больше чем ${min}`,
|
21
|
+
incorrectValue: constants_1.INCORRECT_MESSAGE,
|
22
|
+
}, } = { min: 0 }) => (value) => {
|
23
|
+
if ((0, utils_1.isEmptyString)(value)) {
|
24
|
+
return undefined;
|
25
|
+
}
|
26
|
+
if (typeof value === 'string' && !(0, isMaybeNumber_1.isMaybeNumber)()(value)) {
|
27
|
+
if (parseFloat(value) >= min) {
|
28
|
+
return undefined;
|
29
|
+
}
|
30
|
+
return message.defaultMessage;
|
31
|
+
}
|
32
|
+
if (typeof value !== 'number' || isNaN(value)) {
|
33
|
+
return message.incorrectValue;
|
34
|
+
}
|
35
|
+
if (value >= min) {
|
36
|
+
return undefined;
|
37
|
+
}
|
38
|
+
return message.defaultMessage;
|
39
|
+
});
|
@@ -0,0 +1 @@
|
|
1
|
+
export * from './isOGRNIP';
|
@@ -0,0 +1,17 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
3
|
+
if (k2 === undefined) k2 = k;
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
7
|
+
}
|
8
|
+
Object.defineProperty(o, k2, desc);
|
9
|
+
}) : (function(o, m, k, k2) {
|
10
|
+
if (k2 === undefined) k2 = k;
|
11
|
+
o[k2] = m[k];
|
12
|
+
}));
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
15
|
+
};
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
17
|
+
__exportStar(require("./isOGRNIP"), exports);
|
@@ -0,0 +1,10 @@
|
|
1
|
+
export declare const IS_OGRNIP_DEFAULT_MESSAGE = "\u041D\u0435\u043A\u043E\u0440\u0440\u0435\u043A\u0442\u043D\u044B\u0439 \u041E\u0413\u0420\u041D \u0418\u041F";
|
2
|
+
/**
|
3
|
+
* @description Проверяет валиден ли ОРГН ИП
|
4
|
+
* @example isOGRNIP()('7728168971');
|
5
|
+
*/
|
6
|
+
export declare const isOGRNIP: (params?: ({
|
7
|
+
message?: string | undefined;
|
8
|
+
} & {
|
9
|
+
exclude?: ((value: unknown) => boolean) | undefined;
|
10
|
+
}) | undefined) => import("..").InitializedRule;
|
@@ -0,0 +1,29 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.isOGRNIP = exports.IS_OGRNIP_DEFAULT_MESSAGE = void 0;
|
4
|
+
const createRule_1 = require("../createRule");
|
5
|
+
const utils_1 = require("../utils");
|
6
|
+
exports.IS_OGRNIP_DEFAULT_MESSAGE = 'Некорректный ОГРН ИП';
|
7
|
+
const OGRNIP_LENGTH = 15;
|
8
|
+
/**
|
9
|
+
* @description Проверяет валиден ли ОРГН ИП
|
10
|
+
* @example isOGRNIP()('7728168971');
|
11
|
+
*/
|
12
|
+
exports.isOGRNIP = (0, createRule_1.createRule)(({ message = exports.IS_OGRNIP_DEFAULT_MESSAGE } = {}) => (value) => {
|
13
|
+
if ((0, utils_1.isEmptyString)(value)) {
|
14
|
+
return undefined;
|
15
|
+
}
|
16
|
+
if (typeof value === 'string') {
|
17
|
+
if (value.length !== OGRNIP_LENGTH) {
|
18
|
+
return message;
|
19
|
+
}
|
20
|
+
const checkSum = (parseInt(value.slice(0, -1)) % 13)
|
21
|
+
.toString()
|
22
|
+
.slice(-1);
|
23
|
+
if (value.slice(14, 15) !== checkSum) {
|
24
|
+
return message;
|
25
|
+
}
|
26
|
+
return undefined;
|
27
|
+
}
|
28
|
+
return message;
|
29
|
+
});
|
@@ -0,0 +1 @@
|
|
1
|
+
export * from './isOGRNUL';
|
@@ -0,0 +1,17 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
3
|
+
if (k2 === undefined) k2 = k;
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
7
|
+
}
|
8
|
+
Object.defineProperty(o, k2, desc);
|
9
|
+
}) : (function(o, m, k, k2) {
|
10
|
+
if (k2 === undefined) k2 = k;
|
11
|
+
o[k2] = m[k];
|
12
|
+
}));
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
15
|
+
};
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
17
|
+
__exportStar(require("./isOGRNUL"), exports);
|
@@ -0,0 +1,10 @@
|
|
1
|
+
export declare const IS_OGRNUL_DEFAULT_MESSAGE = "\u041D\u0435\u043A\u043E\u0440\u0440\u0435\u043A\u0442\u043D\u044B\u0439 \u041E\u0413\u0420\u041D \u042E\u041B";
|
2
|
+
/**
|
3
|
+
* @description Проверяет валиден ли ОРГН ЮЛ
|
4
|
+
* @example isOGRNUL()('7728168971');
|
5
|
+
*/
|
6
|
+
export declare const isOGRNUL: (params?: ({
|
7
|
+
message?: string | undefined;
|
8
|
+
} & {
|
9
|
+
exclude?: ((value: unknown) => boolean) | undefined;
|
10
|
+
}) | undefined) => import("..").InitializedRule;
|
@@ -0,0 +1,29 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.isOGRNUL = exports.IS_OGRNUL_DEFAULT_MESSAGE = void 0;
|
4
|
+
const createRule_1 = require("../createRule");
|
5
|
+
const utils_1 = require("../utils");
|
6
|
+
exports.IS_OGRNUL_DEFAULT_MESSAGE = 'Некорректный ОГРН ЮЛ';
|
7
|
+
const OGRNUL_LENGTH = 13;
|
8
|
+
/**
|
9
|
+
* @description Проверяет валиден ли ОРГН ЮЛ
|
10
|
+
* @example isOGRNUL()('7728168971');
|
11
|
+
*/
|
12
|
+
exports.isOGRNUL = (0, createRule_1.createRule)(({ message = exports.IS_OGRNUL_DEFAULT_MESSAGE } = {}) => (value) => {
|
13
|
+
if ((0, utils_1.isEmptyString)(value)) {
|
14
|
+
return undefined;
|
15
|
+
}
|
16
|
+
if (typeof value === 'string') {
|
17
|
+
if (value.length !== OGRNUL_LENGTH) {
|
18
|
+
return message;
|
19
|
+
}
|
20
|
+
const checkSum = (parseInt(value.slice(0, -1)) % 11)
|
21
|
+
.toString()
|
22
|
+
.slice(-1);
|
23
|
+
if (value.slice(12, 13) !== checkSum) {
|
24
|
+
return message;
|
25
|
+
}
|
26
|
+
return undefined;
|
27
|
+
}
|
28
|
+
return message;
|
29
|
+
});
|
@@ -3,6 +3,9 @@ export declare const REQUIRED_RULE_DEFAULT_MESSAGE = "\u041D\u0435 \u0437\u0430\
|
|
3
3
|
* @description Проверяет присутсвует ли value
|
4
4
|
* @example isRequired();
|
5
5
|
* @example isRequired('ИНН обязателен');
|
6
|
-
* @param {string} [message] - 'Не заполнено'
|
7
6
|
*/
|
8
|
-
export declare const isRequired:
|
7
|
+
export declare const isRequired: (params?: ({
|
8
|
+
message?: string | undefined;
|
9
|
+
} & {
|
10
|
+
exclude?: ((value: unknown) => boolean) | undefined;
|
11
|
+
}) | undefined) => import("..").InitializedRule;
|
package/isRequired/isRequired.js
CHANGED
@@ -11,9 +11,8 @@ exports.REQUIRED_RULE_DEFAULT_MESSAGE = 'Не заполнено';
|
|
11
11
|
* @description Проверяет присутсвует ли value
|
12
12
|
* @example isRequired();
|
13
13
|
* @example isRequired('ИНН обязателен');
|
14
|
-
* @param {string} [message] - 'Не заполнено'
|
15
14
|
*/
|
16
|
-
exports.isRequired = (0, createRule_1.createRule)((message = exports.REQUIRED_RULE_DEFAULT_MESSAGE) => (value) => {
|
15
|
+
exports.isRequired = (0, createRule_1.createRule)(({ message = exports.REQUIRED_RULE_DEFAULT_MESSAGE } = {}) => (value) => {
|
17
16
|
if (typeof value === 'number' || value instanceof Date) {
|
18
17
|
return undefined;
|
19
18
|
}
|
@@ -0,0 +1 @@
|
|
1
|
+
export * from './isSNILS';
|
package/isSNILS/index.js
ADDED
@@ -0,0 +1,17 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
3
|
+
if (k2 === undefined) k2 = k;
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
7
|
+
}
|
8
|
+
Object.defineProperty(o, k2, desc);
|
9
|
+
}) : (function(o, m, k, k2) {
|
10
|
+
if (k2 === undefined) k2 = k;
|
11
|
+
o[k2] = m[k];
|
12
|
+
}));
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
15
|
+
};
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
17
|
+
__exportStar(require("./isSNILS"), exports);
|
@@ -0,0 +1,10 @@
|
|
1
|
+
export declare const IS_SNILS_DEFAULT_MESSAGE = "\u041D\u0435\u043A\u043E\u0440\u0440\u0435\u043A\u0442\u043D\u044B\u0439 \u0421\u041D\u0418\u041B\u0421";
|
2
|
+
/**
|
3
|
+
* @description Проверяет валиден ли СНИЛС
|
4
|
+
* @example isSNILS()('95145370513');
|
5
|
+
*/
|
6
|
+
export declare const isSNILS: (params?: ({
|
7
|
+
message?: string | undefined;
|
8
|
+
} & {
|
9
|
+
exclude?: ((value: unknown) => boolean) | undefined;
|
10
|
+
}) | undefined) => import("..").InitializedRule;
|
@@ -0,0 +1,65 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.isSNILS = exports.IS_SNILS_DEFAULT_MESSAGE = void 0;
|
4
|
+
const createRule_1 = require("../createRule");
|
5
|
+
const utils_1 = require("../utils");
|
6
|
+
exports.IS_SNILS_DEFAULT_MESSAGE = 'Некорректный СНИЛС';
|
7
|
+
const RESTRICTED_VALUES = ['00000000000'];
|
8
|
+
const DEFAULT_CHECKED_SUM = [0, 100, 101];
|
9
|
+
const removeSpecialCharacters = (value) => {
|
10
|
+
return value.replace(/\D/g, '');
|
11
|
+
};
|
12
|
+
const calcCheckSumForSNILS = (digitsOfValue) => digitsOfValue
|
13
|
+
.slice(0, 9)
|
14
|
+
.split('')
|
15
|
+
.map(Number)
|
16
|
+
.reduce((sum, currentValue, index) => sum + currentValue * (9 - index), 0);
|
17
|
+
const compareCheckSum = (calculatedCheckSum, checkSum) => {
|
18
|
+
return (calculatedCheckSum % DEFAULT_CHECKED_SUM[2] === checkSum ||
|
19
|
+
(calculatedCheckSum % DEFAULT_CHECKED_SUM[2] === DEFAULT_CHECKED_SUM[1] &&
|
20
|
+
checkSum === DEFAULT_CHECKED_SUM[0]));
|
21
|
+
};
|
22
|
+
/**
|
23
|
+
* @description Проверяет валиден ли СНИЛС
|
24
|
+
* @example isSNILS()('95145370513');
|
25
|
+
*/
|
26
|
+
exports.isSNILS = (0, createRule_1.createRule)(({ message = exports.IS_SNILS_DEFAULT_MESSAGE } = {}) => (value) => {
|
27
|
+
if ((0, utils_1.isEmptyString)(value)) {
|
28
|
+
return undefined;
|
29
|
+
}
|
30
|
+
if (typeof value !== 'string') {
|
31
|
+
return message;
|
32
|
+
}
|
33
|
+
const formattedValue = removeSpecialCharacters(value);
|
34
|
+
if (formattedValue.length !== value.length) {
|
35
|
+
return message;
|
36
|
+
}
|
37
|
+
if (!/^(\d{11})$/.test(formattedValue)) {
|
38
|
+
return message;
|
39
|
+
}
|
40
|
+
if (RESTRICTED_VALUES.includes(formattedValue)) {
|
41
|
+
return message;
|
42
|
+
}
|
43
|
+
const checkSum = Number(formattedValue.slice(9, 11));
|
44
|
+
const calculatedCheckSum = calcCheckSumForSNILS(formattedValue);
|
45
|
+
if (calculatedCheckSum < DEFAULT_CHECKED_SUM[1]) {
|
46
|
+
if (calculatedCheckSum === checkSum) {
|
47
|
+
return undefined;
|
48
|
+
}
|
49
|
+
return message;
|
50
|
+
}
|
51
|
+
if (calculatedCheckSum === DEFAULT_CHECKED_SUM[1] ||
|
52
|
+
calculatedCheckSum === DEFAULT_CHECKED_SUM[2]) {
|
53
|
+
if (checkSum === DEFAULT_CHECKED_SUM[0]) {
|
54
|
+
return undefined;
|
55
|
+
}
|
56
|
+
return message;
|
57
|
+
}
|
58
|
+
if (calculatedCheckSum > DEFAULT_CHECKED_SUM[2]) {
|
59
|
+
if (compareCheckSum(calculatedCheckSum, checkSum)) {
|
60
|
+
return undefined;
|
61
|
+
}
|
62
|
+
return message;
|
63
|
+
}
|
64
|
+
return undefined;
|
65
|
+
});
|
package/package.json
CHANGED
package/types.d.ts
CHANGED
@@ -1,4 +1,4 @@
|
|
1
1
|
export declare type RuleError = string | string[];
|
2
2
|
export declare type ValidationResult = RuleError | undefined;
|
3
3
|
export declare type InitializedRule = (value?: unknown) => ValidationResult;
|
4
|
-
export declare type Rule<
|
4
|
+
export declare type Rule<Params extends object, RequiredParams extends boolean> = RequiredParams extends true ? (params: Params) => InitializedRule : (params?: Params) => InitializedRule;
|
package/utils/index.d.ts
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
export * from './isEmptyString';
|
package/utils/index.js
ADDED
@@ -0,0 +1,17 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
3
|
+
if (k2 === undefined) k2 = k;
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
7
|
+
}
|
8
|
+
Object.defineProperty(o, k2, desc);
|
9
|
+
}) : (function(o, m, k, k2) {
|
10
|
+
if (k2 === undefined) k2 = k;
|
11
|
+
o[k2] = m[k];
|
12
|
+
}));
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
15
|
+
};
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
17
|
+
__exportStar(require("./isEmptyString"), exports);
|
@@ -0,0 +1,10 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.isEmptyString = void 0;
|
4
|
+
/**
|
5
|
+
* @description Используется в правилах валидации для проверки того, что проверяемое значение еще не указано
|
6
|
+
*/
|
7
|
+
const isEmptyString = (value) => {
|
8
|
+
return value === '';
|
9
|
+
};
|
10
|
+
exports.isEmptyString = isEmptyString;
|