@reformer/core 1.0.0-beta.1 → 1.0.0-beta.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.
- package/dist/behaviors/compute-from.js +3 -3
- package/dist/behaviors/enable-when.js +5 -5
- package/dist/behaviors/reset-when.js +1 -1
- package/dist/behaviors/revalidate-when.js +1 -1
- package/dist/behaviors/sync-fields.js +5 -5
- package/dist/behaviors/watch-field.js +3 -3
- package/dist/behaviors.js +2 -2
- package/dist/core/types/field-path.d.ts +2 -2
- package/dist/core/types/index.d.ts +1 -1
- package/dist/core/types/validation-schema.d.ts +21 -50
- package/dist/core/validation/core/index.d.ts +0 -1
- package/dist/core/validation/core/validate-async.d.ts +9 -15
- package/dist/core/validation/core/validate.d.ts +15 -15
- package/dist/core/validation/index.d.ts +5 -3
- package/dist/core/validation/validation-applicator.d.ts +2 -56
- package/dist/core/validation/validation-registry.d.ts +18 -16
- package/dist/core/validation/validators/array-validators.d.ts +6 -31
- package/dist/core/validation/validators/email.d.ts +5 -29
- package/dist/core/validation/validators/future-date.d.ts +6 -28
- package/dist/core/validation/validators/index.d.ts +12 -4
- package/dist/core/validation/validators/integer.d.ts +13 -0
- package/dist/core/validation/validators/is-date.d.ts +5 -28
- package/dist/core/validation/validators/is-number.d.ts +14 -0
- package/dist/core/validation/validators/max-age.d.ts +6 -29
- package/dist/core/validation/validators/max-date.d.ts +6 -29
- package/dist/core/validation/validators/max-length.d.ts +5 -30
- package/dist/core/validation/validators/max.d.ts +7 -29
- package/dist/core/validation/validators/min-age.d.ts +6 -29
- package/dist/core/validation/validators/min-date.d.ts +6 -29
- package/dist/core/validation/validators/min-length.d.ts +5 -30
- package/dist/core/validation/validators/min.d.ts +7 -29
- package/dist/core/validation/validators/multiple-of.d.ts +13 -0
- package/dist/core/validation/validators/non-negative.d.ts +13 -0
- package/dist/core/validation/validators/non-zero.d.ts +13 -0
- package/dist/core/validation/validators/past-date.d.ts +5 -28
- package/dist/core/validation/validators/pattern.d.ts +5 -32
- package/dist/core/validation/validators/phone.d.ts +9 -19
- package/dist/core/validation/validators/required.d.ts +10 -31
- package/dist/core/validation/validators/url.d.ts +13 -15
- package/dist/{index-D25LsbRm.js → index-DLh_Ryb2.js} +1 -1
- package/dist/index.js +465 -397
- package/dist/{registry-helpers-Bv_BJ1s-.js → registry-helpers-CLPXad2B.js} +152 -292
- package/dist/validators/email.js +7 -9
- package/dist/validators/future-date.js +11 -12
- package/dist/validators/integer.d.ts +2 -0
- package/dist/validators/integer.js +10 -0
- package/dist/validators/is-date.js +6 -7
- package/dist/validators/is-number.d.ts +2 -0
- package/dist/validators/is-number.js +10 -0
- package/dist/validators/max-age.js +11 -12
- package/dist/validators/max-date.js +11 -12
- package/dist/validators/max-length.js +12 -8
- package/dist/validators/max.js +5 -6
- package/dist/validators/min-age.js +10 -11
- package/dist/validators/min-date.js +12 -13
- package/dist/validators/min-length.js +12 -8
- package/dist/validators/min.js +6 -7
- package/dist/validators/multiple-of.d.ts +2 -0
- package/dist/validators/multiple-of.js +10 -0
- package/dist/validators/non-negative.d.ts +2 -0
- package/dist/validators/non-negative.js +10 -0
- package/dist/validators/non-zero.d.ts +2 -0
- package/dist/validators/non-zero.js +10 -0
- package/dist/validators/past-date.js +11 -12
- package/dist/validators/pattern.js +6 -7
- package/dist/validators/phone.js +14 -32
- package/dist/validators/required.js +9 -10
- package/dist/validators/url.js +19 -16
- package/dist/validators-xJyP-jLZ.js +169 -0
- package/dist/validators.js +54 -50
- package/llms.txt +505 -790
- package/package.json +20 -4
- package/dist/core/validation/core/validate-tree.d.ts +0 -35
- package/dist/core/validation/validation-context.d.ts +0 -86
- package/dist/core/validation/validators/number.d.ts +0 -31
- package/dist/validate-C3XiA_zf.js +0 -10
- package/dist/validators/number.d.ts +0 -2
- package/dist/validators/number.js +0 -35
- package/dist/validators-BGsNOgT1.js +0 -207
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@reformer/core",
|
|
3
|
-
"version": "1.0.0-beta.
|
|
3
|
+
"version": "1.0.0-beta.2",
|
|
4
4
|
"description": "Reactive form state management library for React with signals-based architecture",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -55,9 +55,25 @@
|
|
|
55
55
|
"types": "./dist/validators/phone.d.ts",
|
|
56
56
|
"import": "./dist/validators/phone.js"
|
|
57
57
|
},
|
|
58
|
-
"./validators/number": {
|
|
59
|
-
"types": "./dist/validators/number.d.ts",
|
|
60
|
-
"import": "./dist/validators/number.js"
|
|
58
|
+
"./validators/is-number": {
|
|
59
|
+
"types": "./dist/validators/is-number.d.ts",
|
|
60
|
+
"import": "./dist/validators/is-number.js"
|
|
61
|
+
},
|
|
62
|
+
"./validators/integer": {
|
|
63
|
+
"types": "./dist/validators/integer.d.ts",
|
|
64
|
+
"import": "./dist/validators/integer.js"
|
|
65
|
+
},
|
|
66
|
+
"./validators/multiple-of": {
|
|
67
|
+
"types": "./dist/validators/multiple-of.d.ts",
|
|
68
|
+
"import": "./dist/validators/multiple-of.js"
|
|
69
|
+
},
|
|
70
|
+
"./validators/non-negative": {
|
|
71
|
+
"types": "./dist/validators/non-negative.d.ts",
|
|
72
|
+
"import": "./dist/validators/non-negative.js"
|
|
73
|
+
},
|
|
74
|
+
"./validators/non-zero": {
|
|
75
|
+
"types": "./dist/validators/non-zero.d.ts",
|
|
76
|
+
"import": "./dist/validators/non-zero.js"
|
|
61
77
|
},
|
|
62
78
|
"./validators/date": {
|
|
63
79
|
"types": "./dist/validators/date.d.ts",
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import { TreeValidatorFn, ValidateTreeOptions } from '../../types';
|
|
2
|
-
/**
|
|
3
|
-
* Зарегистрировать cross-field валидатор
|
|
4
|
-
*
|
|
5
|
-
* Используется для валидации, которая зависит от нескольких полей
|
|
6
|
-
*
|
|
7
|
-
* @group Validation
|
|
8
|
-
* @category Core Functions
|
|
9
|
-
*
|
|
10
|
-
* @remarks
|
|
11
|
-
* Параметр `ctx` в callback требует явной типизации для корректного вывода типов:
|
|
12
|
-
* ```typescript
|
|
13
|
-
* validateTree((ctx: { form: MyFormType }) => { ... });
|
|
14
|
-
* ```
|
|
15
|
-
*
|
|
16
|
-
* @example
|
|
17
|
-
* ```typescript
|
|
18
|
-
* // Явная типизация ctx для избежания implicit any
|
|
19
|
-
* validateTree(
|
|
20
|
-
* (ctx: { form: MyForm }) => {
|
|
21
|
-
* if (ctx.form.initialPayment && ctx.form.propertyValue) {
|
|
22
|
-
* if (ctx.form.initialPayment > ctx.form.propertyValue) {
|
|
23
|
-
* return {
|
|
24
|
-
* code: 'initialPaymentTooHigh',
|
|
25
|
-
* message: 'Первоначальный взнос не может превышать стоимость',
|
|
26
|
-
* };
|
|
27
|
-
* }
|
|
28
|
-
* }
|
|
29
|
-
* return null;
|
|
30
|
-
* },
|
|
31
|
-
* { targetField: 'initialPayment' }
|
|
32
|
-
* );
|
|
33
|
-
* ```
|
|
34
|
-
*/
|
|
35
|
-
export declare function validateTree<TForm>(validatorFn: TreeValidatorFn<TForm>, options?: ValidateTreeOptions): void;
|
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
import { GroupNode } from '../nodes/group-node';
|
|
2
|
-
import { FieldNode } from '../nodes/field-node';
|
|
3
|
-
import { FormProxy } from '../types/form-proxy';
|
|
4
|
-
import { FormContext } from '../types/form-context';
|
|
5
|
-
/**
|
|
6
|
-
* Базовый класс контекста валидации
|
|
7
|
-
* Содержит общую логику для всех типов контекстов
|
|
8
|
-
* @internal
|
|
9
|
-
*/
|
|
10
|
-
declare abstract class BaseValidationContext<TForm> implements FormContext<TForm> {
|
|
11
|
-
protected readonly _form: GroupNode<TForm>;
|
|
12
|
-
/**
|
|
13
|
-
* Форма с типизированным Proxy-доступом к полям
|
|
14
|
-
*/
|
|
15
|
-
readonly form: FormProxy<TForm>;
|
|
16
|
-
constructor(form: GroupNode<TForm>);
|
|
17
|
-
/**
|
|
18
|
-
* Безопасно установить значение поля по строковому пути
|
|
19
|
-
* Автоматически использует emitEvent: false для предотвращения циклов
|
|
20
|
-
*/
|
|
21
|
-
setFieldValue(path: string, value: unknown): void;
|
|
22
|
-
/**
|
|
23
|
-
* Получить поле формы по строковому пути
|
|
24
|
-
*/
|
|
25
|
-
getFieldByPath(path: string): import('../..').FormNode<import('../types').FormValue> | undefined;
|
|
26
|
-
}
|
|
27
|
-
/**
|
|
28
|
-
* Контекст валидации одного поля. Создаётся фреймворком и передаётся в валидаторы
|
|
29
|
-
* (`required`, `validate`, …) — напрямую инстанцировать не нужно.
|
|
30
|
-
*
|
|
31
|
-
* @example
|
|
32
|
-
* ```typescript
|
|
33
|
-
* import { validate } from '@reformer/core/validators';
|
|
34
|
-
*
|
|
35
|
-
* validate(path.password, (value, ctx) => {
|
|
36
|
-
* // ctx — экземпляр ValidationContextImpl, доступ к ctx.form для cross-field логики
|
|
37
|
-
* if (value !== ctx.form.confirmPassword.value) {
|
|
38
|
-
* return { code: 'mismatch', message: 'Пароли не совпадают' };
|
|
39
|
-
* }
|
|
40
|
-
* return null;
|
|
41
|
-
* });
|
|
42
|
-
* ```
|
|
43
|
-
*/
|
|
44
|
-
export declare class ValidationContextImpl<TForm, TField> extends BaseValidationContext<TForm> {
|
|
45
|
-
private control;
|
|
46
|
-
constructor(form: GroupNode<TForm>, _fieldKey: keyof TForm, control: FieldNode<TField>);
|
|
47
|
-
/**
|
|
48
|
-
* Получить текущее значение поля (внутренний метод для validation-applicator)
|
|
49
|
-
* @internal
|
|
50
|
-
*/
|
|
51
|
-
value(): TField;
|
|
52
|
-
}
|
|
53
|
-
/**
|
|
54
|
-
* Контекст cross-field валидации. Передаётся в `validateTree`/`validateForm`
|
|
55
|
-
* callback'и — напрямую инстанцировать не нужно.
|
|
56
|
-
*
|
|
57
|
-
* @example
|
|
58
|
-
* ```typescript
|
|
59
|
-
* import { validateForm } from '@reformer/core';
|
|
60
|
-
*
|
|
61
|
-
* validateForm(form, (ctx) => {
|
|
62
|
-
* // ctx — экземпляр TreeValidationContextImpl
|
|
63
|
-
* if (ctx.form.startDate.value > ctx.form.endDate.value) {
|
|
64
|
-
* return [{ code: 'date-range', message: 'Дата начала позже даты окончания' }];
|
|
65
|
-
* }
|
|
66
|
-
* return [];
|
|
67
|
-
* });
|
|
68
|
-
* ```
|
|
69
|
-
*/
|
|
70
|
-
export declare class TreeValidationContextImpl<TForm> extends BaseValidationContext<TForm> {
|
|
71
|
-
constructor(form: GroupNode<TForm>);
|
|
72
|
-
}
|
|
73
|
-
/**
|
|
74
|
-
* Контекст валидации для ArrayNode
|
|
75
|
-
* Предоставляет доступ к значению массива
|
|
76
|
-
*/
|
|
77
|
-
export declare class ArrayValidationContextImpl<TForm, TItem> extends BaseValidationContext<TForm> {
|
|
78
|
-
private arrayValue;
|
|
79
|
-
constructor(form: GroupNode<TForm>, _fieldKey: keyof TForm, arrayValue: TItem[]);
|
|
80
|
-
/**
|
|
81
|
-
* Получить текущее значение массива (для валидатора)
|
|
82
|
-
* @internal
|
|
83
|
-
*/
|
|
84
|
-
value(): TItem[];
|
|
85
|
-
}
|
|
86
|
-
export {};
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import { ValidateOptions } from '../../types/validation-schema';
|
|
2
|
-
import { FieldPathNode } from '../../types';
|
|
3
|
-
/**
|
|
4
|
-
* Адаптер для number валидатора
|
|
5
|
-
* Проверяет, что значение является числом и соответствует заданным ограничениям
|
|
6
|
-
*
|
|
7
|
-
* @group Validation
|
|
8
|
-
* @category Validators
|
|
9
|
-
*
|
|
10
|
-
* @example
|
|
11
|
-
* ```typescript
|
|
12
|
-
* number(path.age);
|
|
13
|
-
* number(path.price, { min: 0, max: 1000000 });
|
|
14
|
-
* number(path.percentage, { min: 0, max: 100, integer: true });
|
|
15
|
-
* number(path.rating, { min: 0, max: 5, multipleOf: 0.5 });
|
|
16
|
-
* ```
|
|
17
|
-
*/
|
|
18
|
-
export declare function number<TForm, TField extends number | undefined = number>(fieldPath: FieldPathNode<TForm, TField> | undefined, options?: ValidateOptions & {
|
|
19
|
-
/** Минимальное значение (включительно) */
|
|
20
|
-
min?: number;
|
|
21
|
-
/** Максимальное значение (включительно) */
|
|
22
|
-
max?: number;
|
|
23
|
-
/** Требовать целое число */
|
|
24
|
-
integer?: boolean;
|
|
25
|
-
/** Значение должно быть кратно этому числу */
|
|
26
|
-
multipleOf?: number;
|
|
27
|
-
/** Разрешить отрицательные числа (по умолчанию true) */
|
|
28
|
-
allowNegative?: boolean;
|
|
29
|
-
/** Разрешить ноль (по умолчанию true) */
|
|
30
|
-
allowZero?: boolean;
|
|
31
|
-
}): void;
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import { v as a } from "../validate-C3XiA_zf.js";
|
|
2
|
-
function g(r, e) {
|
|
3
|
-
r && a(r, (m) => m == null ? null : typeof m != "number" || isNaN(m) ? {
|
|
4
|
-
code: "number",
|
|
5
|
-
message: e?.message || "Значение должно быть числом",
|
|
6
|
-
params: e?.params
|
|
7
|
-
} : e?.integer && !Number.isInteger(m) ? {
|
|
8
|
-
code: "number_integer",
|
|
9
|
-
message: e?.message || "Значение должно быть целым числом",
|
|
10
|
-
params: e?.params
|
|
11
|
-
} : e?.min !== void 0 && m < e.min ? {
|
|
12
|
-
code: "number_min",
|
|
13
|
-
message: e?.message || `Значение должно быть не менее ${e.min}`,
|
|
14
|
-
params: { min: e.min, ...e?.params }
|
|
15
|
-
} : e?.max !== void 0 && m > e.max ? {
|
|
16
|
-
code: "number_max",
|
|
17
|
-
message: e?.message || `Значение должно быть не более ${e.max}`,
|
|
18
|
-
params: { max: e.max, ...e?.params }
|
|
19
|
-
} : e?.multipleOf !== void 0 && m % e.multipleOf !== 0 ? {
|
|
20
|
-
code: "number_multiple",
|
|
21
|
-
message: e?.message || `Значение должно быть кратно ${e.multipleOf}`,
|
|
22
|
-
params: { multipleOf: e.multipleOf, ...e?.params }
|
|
23
|
-
} : e?.allowNegative === !1 && m < 0 ? {
|
|
24
|
-
code: "number_negative",
|
|
25
|
-
message: e?.message || "Отрицательные числа не допускаются",
|
|
26
|
-
params: e?.params
|
|
27
|
-
} : e?.allowZero === !1 && m === 0 ? {
|
|
28
|
-
code: "number_zero",
|
|
29
|
-
message: e?.message || "Ноль не допускается",
|
|
30
|
-
params: e?.params
|
|
31
|
-
} : null);
|
|
32
|
-
}
|
|
33
|
-
export {
|
|
34
|
-
g as number
|
|
35
|
-
};
|
|
@@ -1,207 +0,0 @@
|
|
|
1
|
-
import { g as a, V as u } from "./registry-helpers-Bv_BJ1s-.js";
|
|
2
|
-
import { e as m, t as y, c, a as _ } from "./field-path-DuKdGcIE.js";
|
|
3
|
-
import { v as N } from "./validate-C3XiA_zf.js";
|
|
4
|
-
import { required as C } from "./validators/required.js";
|
|
5
|
-
import { min as P } from "./validators/min.js";
|
|
6
|
-
import { max as F } from "./validators/max.js";
|
|
7
|
-
import { minLength as d } from "./validators/min-length.js";
|
|
8
|
-
import { maxLength as b } from "./validators/max-length.js";
|
|
9
|
-
import { email as B } from "./validators/email.js";
|
|
10
|
-
import { pattern as T } from "./validators/pattern.js";
|
|
11
|
-
import { url as I } from "./validators/url.js";
|
|
12
|
-
import { phone as R } from "./validators/phone.js";
|
|
13
|
-
import { number as w } from "./validators/number.js";
|
|
14
|
-
import { isDate as D } from "./validators/is-date.js";
|
|
15
|
-
import { minDate as j } from "./validators/min-date.js";
|
|
16
|
-
import { maxDate as k } from "./validators/max-date.js";
|
|
17
|
-
import { pastDate as E } from "./validators/past-date.js";
|
|
18
|
-
import { futureDate as K } from "./validators/future-date.js";
|
|
19
|
-
import { minAge as L } from "./validators/min-age.js";
|
|
20
|
-
import { maxAge as G } from "./validators/max-age.js";
|
|
21
|
-
function M(t, r, i) {
|
|
22
|
-
const e = m(t);
|
|
23
|
-
a().registerAsync(e, r, i);
|
|
24
|
-
}
|
|
25
|
-
function q(t, r) {
|
|
26
|
-
a().registerTree(t, r);
|
|
27
|
-
}
|
|
28
|
-
function z(t, r) {
|
|
29
|
-
if (!Array.isArray(t) && !Array.isArray(r) && t && !("__key" in t) && !("__path" in t)) {
|
|
30
|
-
r(t);
|
|
31
|
-
return;
|
|
32
|
-
}
|
|
33
|
-
const i = (Array.isArray(t) ? t : [t]).filter(
|
|
34
|
-
Boolean
|
|
35
|
-
), e = Array.isArray(r) ? r : [r];
|
|
36
|
-
for (const n of i) {
|
|
37
|
-
const o = y(n);
|
|
38
|
-
for (const p of e)
|
|
39
|
-
p(o);
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
function S(t, r, i) {
|
|
43
|
-
const e = m(t);
|
|
44
|
-
a().enterCondition(e, r);
|
|
45
|
-
try {
|
|
46
|
-
const n = c();
|
|
47
|
-
i(n);
|
|
48
|
-
} finally {
|
|
49
|
-
a().exitCondition();
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
function U(t, r) {
|
|
53
|
-
t && d(t, 1, {
|
|
54
|
-
message: r?.message || "Массив не должен быть пустым",
|
|
55
|
-
params: { minLength: 1, ...r?.params }
|
|
56
|
-
});
|
|
57
|
-
}
|
|
58
|
-
function W(t, r) {
|
|
59
|
-
if (!t) return;
|
|
60
|
-
const i = m(t);
|
|
61
|
-
a().registerArrayItemValidation(i, r);
|
|
62
|
-
}
|
|
63
|
-
function s(t) {
|
|
64
|
-
return t == null ? !1 : typeof t == "object" && "value" in t && "setValue" in t && "getValue" in t && "validate" in t;
|
|
65
|
-
}
|
|
66
|
-
function g(t) {
|
|
67
|
-
return t == null ? !1 : s(t) && "validators" in t && "asyncValidators" in t && // FieldNode имеет markAsTouched метод
|
|
68
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
69
|
-
typeof t.markAsTouched == "function" && // У FieldNode нет fields или items
|
|
70
|
-
!("fields" in t) && !("items" in t);
|
|
71
|
-
}
|
|
72
|
-
function h(t) {
|
|
73
|
-
return t == null ? !1 : s(t) && "applyValidationSchema" in t && "applyBehaviorSchema" in t && "getFieldByPath" in t && // GroupNode НЕ имеет items/push/removeAt (это ArrayNode)
|
|
74
|
-
!("items" in t) && !("push" in t) && !("removeAt" in t);
|
|
75
|
-
}
|
|
76
|
-
function A(t) {
|
|
77
|
-
return t == null ? !1 : s(t) && "items" in t && "length" in t && "push" in t && "removeAt" in t && "at" in t && // eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
78
|
-
typeof t.push == "function" && // eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
79
|
-
typeof t.removeAt == "function";
|
|
80
|
-
}
|
|
81
|
-
function yt(t) {
|
|
82
|
-
return g(t) ? "FieldNode" : h(t) ? "GroupNode" : A(t) ? "ArrayNode" : s(t) ? "FormNode" : "Unknown";
|
|
83
|
-
}
|
|
84
|
-
function f(t) {
|
|
85
|
-
return g(t) ? [t] : h(t) ? Array.from(t.getAllFields()).flatMap(f) : A(t) ? t.map((r) => f(r)).flat() : [];
|
|
86
|
-
}
|
|
87
|
-
async function H(t, r) {
|
|
88
|
-
const i = new u();
|
|
89
|
-
i.beginRegistration();
|
|
90
|
-
let e = [], n = !1;
|
|
91
|
-
try {
|
|
92
|
-
const o = c();
|
|
93
|
-
r(o), e = i.getCurrentContext()?.getValidators() || [], i.cancelRegistration(), n = !0, t.clearErrors();
|
|
94
|
-
const x = f(t);
|
|
95
|
-
return await Promise.allSettled(x.map((V) => V.validate())), e.length > 0 && await t.applyContextualValidators(e), t.valid.value;
|
|
96
|
-
} catch (o) {
|
|
97
|
-
throw n || i.cancelRegistration(), o;
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
class l {
|
|
101
|
-
_form;
|
|
102
|
-
/**
|
|
103
|
-
* Форма с типизированным Proxy-доступом к полям
|
|
104
|
-
*/
|
|
105
|
-
form;
|
|
106
|
-
constructor(r) {
|
|
107
|
-
this._form = r, this.form = r._proxyInstance || r.getProxy();
|
|
108
|
-
}
|
|
109
|
-
/**
|
|
110
|
-
* Безопасно установить значение поля по строковому пути
|
|
111
|
-
* Автоматически использует emitEvent: false для предотвращения циклов
|
|
112
|
-
*/
|
|
113
|
-
setFieldValue(r, i) {
|
|
114
|
-
const e = this._form.getFieldByPath(r);
|
|
115
|
-
e && s(e) && e.setValue(i, { emitEvent: !1 });
|
|
116
|
-
}
|
|
117
|
-
/**
|
|
118
|
-
* Получить поле формы по строковому пути
|
|
119
|
-
*/
|
|
120
|
-
getFieldByPath(r) {
|
|
121
|
-
return this._form.getFieldByPath(r);
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
class J extends l {
|
|
125
|
-
control;
|
|
126
|
-
constructor(r, i, e) {
|
|
127
|
-
super(r), this.control = e;
|
|
128
|
-
}
|
|
129
|
-
/**
|
|
130
|
-
* Получить текущее значение поля (внутренний метод для validation-applicator)
|
|
131
|
-
* @internal
|
|
132
|
-
*/
|
|
133
|
-
value() {
|
|
134
|
-
return this.control.value.value;
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
class Q extends l {
|
|
138
|
-
constructor(r) {
|
|
139
|
-
super(r);
|
|
140
|
-
}
|
|
141
|
-
}
|
|
142
|
-
class dt extends l {
|
|
143
|
-
arrayValue;
|
|
144
|
-
constructor(r, i, e) {
|
|
145
|
-
super(r), this.arrayValue = e;
|
|
146
|
-
}
|
|
147
|
-
/**
|
|
148
|
-
* Получить текущее значение массива (для валидатора)
|
|
149
|
-
* @internal
|
|
150
|
-
*/
|
|
151
|
-
value() {
|
|
152
|
-
return this.arrayValue;
|
|
153
|
-
}
|
|
154
|
-
}
|
|
155
|
-
const gt = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
156
|
-
__proto__: null,
|
|
157
|
-
TreeValidationContextImpl: Q,
|
|
158
|
-
ValidationContextImpl: J,
|
|
159
|
-
ValidationRegistry: u,
|
|
160
|
-
apply: z,
|
|
161
|
-
applyWhen: S,
|
|
162
|
-
createFieldPath: c,
|
|
163
|
-
email: B,
|
|
164
|
-
extractKey: _,
|
|
165
|
-
extractPath: m,
|
|
166
|
-
futureDate: K,
|
|
167
|
-
isDate: D,
|
|
168
|
-
max: F,
|
|
169
|
-
maxAge: G,
|
|
170
|
-
maxDate: k,
|
|
171
|
-
maxLength: b,
|
|
172
|
-
min: P,
|
|
173
|
-
minAge: L,
|
|
174
|
-
minDate: j,
|
|
175
|
-
minLength: d,
|
|
176
|
-
notEmpty: U,
|
|
177
|
-
number: w,
|
|
178
|
-
pastDate: E,
|
|
179
|
-
pattern: T,
|
|
180
|
-
phone: R,
|
|
181
|
-
required: C,
|
|
182
|
-
toFieldPath: y,
|
|
183
|
-
url: I,
|
|
184
|
-
validate: N,
|
|
185
|
-
validateAsync: M,
|
|
186
|
-
validateForm: H,
|
|
187
|
-
validateItems: W,
|
|
188
|
-
validateTree: q
|
|
189
|
-
}, Symbol.toStringTag, { value: "Module" }));
|
|
190
|
-
export {
|
|
191
|
-
dt as A,
|
|
192
|
-
Q as T,
|
|
193
|
-
J as V,
|
|
194
|
-
A as a,
|
|
195
|
-
gt as b,
|
|
196
|
-
s as c,
|
|
197
|
-
h as d,
|
|
198
|
-
M as e,
|
|
199
|
-
q as f,
|
|
200
|
-
yt as g,
|
|
201
|
-
z as h,
|
|
202
|
-
g as i,
|
|
203
|
-
S as j,
|
|
204
|
-
W as k,
|
|
205
|
-
U as n,
|
|
206
|
-
H as v
|
|
207
|
-
};
|