@reformer/core 11.0.0-beta.3 → 11.0.0-beta.5
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.d.ts +1 -1
- package/dist/behaviors.js +37 -37
- package/dist/create-model-Dxh9cfLp.js +97 -0
- package/dist/form/behaviors/collections.d.ts +50 -0
- package/dist/form/behaviors/context.d.ts +23 -0
- package/dist/form/behaviors/index.d.ts +28 -0
- package/dist/form/behaviors/internals.d.ts +26 -0
- package/dist/form/{behaviors-node.d.ts → behaviors/node.d.ts} +3 -3
- package/dist/form/behaviors/operators.d.ts +51 -0
- package/dist/form/behaviors/types.d.ts +17 -0
- package/dist/form/create-core-form.d.ts +3 -3
- package/dist/form/create-form.d.ts +12 -10
- package/dist/form/factories/node-factory.d.ts +17 -16
- package/dist/form/index.d.ts +10 -16
- package/dist/form/nodes/array-node.d.ts +3 -3
- package/dist/form/nodes/field-node.d.ts +6 -3
- package/dist/form/nodes/group-node.d.ts +7 -7
- package/dist/form/nodes/model-array-node.d.ts +3 -3
- package/dist/form/types/contracts.d.ts +9 -6
- package/dist/form/types/deep-schema.d.ts +5 -5
- package/dist/form/types/validation-schema.d.ts +1 -1
- package/dist/form/{validation-config.d.ts → validation/config.d.ts} +3 -3
- package/dist/form/validation/context.d.ts +27 -0
- package/dist/form/{error-handler.d.ts → validation/error-handler.d.ts} +1 -1
- package/dist/form/validation/index.d.ts +23 -28
- package/dist/form/validation/operators.d.ts +42 -0
- package/dist/form/validation/run.d.ts +45 -0
- package/dist/form/{validation-strategy.d.ts → validation/strategy.d.ts} +2 -2
- package/dist/form/validation/types.d.ts +28 -0
- package/dist/form/{validation/validators → validators}/date-utils.d.ts +1 -1
- package/dist/form/{validation/validators → validators}/email.d.ts +6 -7
- package/dist/form/{validation/validators → validators}/file-type.d.ts +6 -7
- package/dist/form/{validation/validators → validators}/file-utils.d.ts +1 -1
- package/dist/form/{validation/validators → validators}/future-date.d.ts +6 -7
- package/dist/form/{validation/validators → validators}/index.d.ts +7 -4
- package/dist/form/{validation/validators → validators}/integer.d.ts +6 -7
- package/dist/form/{validation/validators → validators}/is-date.d.ts +6 -7
- package/dist/form/{validation/validators → validators}/is-number.d.ts +6 -7
- package/dist/form/{validation/validators → validators}/max-age.d.ts +6 -7
- package/dist/form/{validation/validators → validators}/max-date.d.ts +6 -7
- package/dist/form/{validation/validators → validators}/max-file-size.d.ts +6 -7
- package/dist/form/{validation/validators → validators}/max-files.d.ts +6 -7
- package/dist/form/{validation/validators → validators}/max-length.d.ts +7 -8
- package/dist/form/{validation/validators → validators}/max-total-file-size.d.ts +6 -7
- package/dist/form/{validation/validators → validators}/max.d.ts +7 -8
- package/dist/form/{validation/validators → validators}/min-age.d.ts +6 -7
- package/dist/form/{validation/validators → validators}/min-date.d.ts +6 -7
- package/dist/form/{validation/validators → validators}/min-file-size.d.ts +6 -7
- package/dist/form/{validation/validators → validators}/min-files.d.ts +6 -7
- package/dist/form/{validation/validators → validators}/min-length.d.ts +7 -8
- package/dist/form/{validation/validators → validators}/min.d.ts +7 -8
- package/dist/form/{validation/validators → validators}/multiple-of.d.ts +6 -7
- package/dist/form/{validation/validators → validators}/non-negative.d.ts +6 -7
- package/dist/form/{validation/validators → validators}/non-zero.d.ts +6 -7
- package/dist/form/{validation/validators → validators}/past-date.d.ts +6 -7
- package/dist/form/{validation/validators → validators}/pattern.d.ts +7 -15
- package/dist/form/{validation/validators → validators}/phone.d.ts +6 -7
- package/dist/form/{validation/validators → validators}/required.d.ts +8 -13
- package/dist/form/{validation/validators → validators}/url.d.ts +8 -13
- package/dist/index.d.ts +7 -4
- package/dist/index.js +272 -94
- package/dist/{state/form-model.d.ts → model/create-model.d.ts} +0 -14
- package/dist/{state → model}/index.d.ts +10 -11
- package/dist/model/model-nodes.d.ts +60 -0
- package/dist/model/model-signals-proxy.d.ts +32 -0
- package/dist/model/model-value-proxy.d.ts +3 -0
- package/dist/{state → model}/safe-effect.d.ts +1 -1
- package/dist/model-signals-proxy-mV3WGdlO.js +233 -0
- package/dist/model.d.ts +2 -0
- package/dist/model.js +21 -0
- package/dist/{form → platforms/react}/hooks/types.d.ts +1 -1
- package/dist/{form → platforms/react}/hooks/use-form-bundle.d.ts +1 -1
- package/dist/{form → platforms/react}/hooks/use-form-validation.d.ts +3 -3
- package/dist/{form → platforms/react}/hooks/useArrayLength.d.ts +1 -1
- package/dist/{form → platforms/react}/hooks/useFormControl.d.ts +3 -3
- package/dist/{form → platforms/react}/hooks/useFormControlValue.d.ts +2 -2
- package/dist/platforms/react/index.d.ts +23 -0
- package/dist/signals.d.ts +1 -1
- package/dist/strategy-DA3JwxsR.js +170 -0
- package/dist/validation.d.ts +1 -1
- package/dist/validation.js +10 -165
- package/dist/validators/email.d.ts +1 -1
- package/dist/validators/future-date.d.ts +1 -1
- package/dist/validators/integer.d.ts +1 -1
- package/dist/validators/is-date.d.ts +1 -1
- package/dist/validators/is-number.d.ts +1 -1
- package/dist/validators/max-age.d.ts +1 -1
- package/dist/validators/max-date.d.ts +1 -1
- package/dist/validators/max-length.d.ts +1 -1
- package/dist/validators/max.d.ts +1 -1
- package/dist/validators/min-age.d.ts +1 -1
- package/dist/validators/min-date.d.ts +1 -1
- package/dist/validators/min-length.d.ts +1 -1
- package/dist/validators/min.d.ts +1 -1
- package/dist/validators/multiple-of.d.ts +1 -1
- package/dist/validators/non-negative.d.ts +1 -1
- package/dist/validators/non-zero.d.ts +1 -1
- package/dist/validators/past-date.d.ts +1 -1
- package/dist/validators/pattern.d.ts +1 -1
- package/dist/validators/phone.d.ts +1 -1
- package/dist/validators/required.d.ts +1 -1
- package/dist/validators/url.d.ts +1 -1
- package/dist/validators.d.ts +1 -1
- package/docs/llms/02-quick-start.md +6 -6
- package/docs/llms/03-api-signatures.md +3 -3
- package/docs/llms/05-common-mistakes.md +1 -1
- package/docs/llms/09-formschema.md +11 -11
- package/docs/llms/10-arrays.md +4 -4
- package/docs/llms/14-extended-mistakes.md +1 -1
- package/docs/llms/15-project-structure.md +8 -7
- package/docs/llms/16-ui-components.md +6 -6
- package/docs/llms/17-nonexistent-api.md +2 -2
- package/docs/llms/29-async-preload.md +4 -4
- package/docs/llms/30-type-safety-recipes.md +1 -1
- package/llms-index.json +1 -0
- package/llms.txt +2102 -262
- package/package.json +5 -4
- package/dist/form/behaviors.d.ts +0 -133
- package/dist/form/validation-schema.d.ts +0 -106
- package/dist/form/validators.d.ts +0 -11
- package/dist/form-model-DhW2HZOB.js +0 -323
- package/dist/state.d.ts +0 -2
- package/dist/state.js +0 -21
- package/dist/subscription-manager-705bls97.js +0 -171
- /package/dist/{state → form/nodes}/subscription-manager.d.ts +0 -0
- /package/dist/{state → model}/behaviors-value.d.ts +0 -0
- /package/dist/{state → model}/derived-registry.d.ts +0 -0
- /package/dist/{state → model}/types.d.ts +0 -0
- /package/dist/{behaviors-node-DGEFMTQu.js → node-DGEFMTQu.js} +0 -0
- /package/dist/{form → platforms/react}/hooks/useSignalSubscription.d.ts +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Validator, ValidateOptions } from '
|
|
1
|
+
import { Validator, ValidateOptions } from '../types/validation-schema';
|
|
2
2
|
/**
|
|
3
3
|
* Формат проверки номера телефона для валидатора {@link phone}.
|
|
4
4
|
*
|
|
@@ -28,14 +28,13 @@ export interface PhoneValidatorOptions extends ValidateOptions {
|
|
|
28
28
|
*
|
|
29
29
|
* @example Проверка номера телефона
|
|
30
30
|
* ```typescript
|
|
31
|
+
* import { defineValidationSchema, validate } from '@reformer/core/validation';
|
|
31
32
|
* import { required, phone } from '@reformer/core/validators';
|
|
32
33
|
*
|
|
33
|
-
* //
|
|
34
|
-
*
|
|
35
|
-
*
|
|
36
|
-
*
|
|
37
|
-
* validators: [required(), phone({ format: 'ru' })],
|
|
38
|
-
* },
|
|
34
|
+
* // Правила живут в отдельной схеме над МОДЕЛЬЮ — layout-схема валидаторов не несёт.
|
|
35
|
+
* const validation = defineValidationSchema<MyForm>(({ model }) => {
|
|
36
|
+
* validate(model.$.phone, [required(), phone({ format: 'ru' })]);
|
|
37
|
+
* });
|
|
39
38
|
* ```
|
|
40
39
|
*/
|
|
41
40
|
export declare function phone<TForm = unknown, TField extends string | null | undefined = string>(options?: PhoneValidatorOptions): Validator<TForm, TField>;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Validator, ValidateOptions } from '
|
|
1
|
+
import { Validator, ValidateOptions } from '../types/validation-schema';
|
|
2
2
|
/**
|
|
3
3
|
* Фабрика валидатора обязательного поля.
|
|
4
4
|
*
|
|
@@ -13,20 +13,15 @@ import { Validator, ValidateOptions } from '../../types/validation-schema';
|
|
|
13
13
|
*
|
|
14
14
|
* @example Обязательные поля в схеме формы
|
|
15
15
|
* ```typescript
|
|
16
|
+
* import { defineValidationSchema, validate } from '@reformer/core/validation';
|
|
16
17
|
* import { required } from '@reformer/core/validators';
|
|
17
18
|
*
|
|
18
|
-
* //
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
* },
|
|
25
|
-
* agreeToTerms: {
|
|
26
|
-
* value: model.$.agreeToTerms,
|
|
27
|
-
* component: Checkbox,
|
|
28
|
-
* validators: [required({ message: 'Необходимо принять условия' })],
|
|
29
|
-
* },
|
|
19
|
+
* // Правила живут в отдельной схеме над МОДЕЛЬЮ — layout-схема валидаторов не несёт.
|
|
20
|
+
* const validation = defineValidationSchema<MyForm>(({ model }) => {
|
|
21
|
+
* validate(model.$.email, [required()]);
|
|
22
|
+
* validate(model.$.phone, [required({ message: 'Укажите номер телефона' })]);
|
|
23
|
+
* validate(model.$.agreeToTerms, [required({ message: 'Необходимо принять условия' })]);
|
|
24
|
+
* });
|
|
30
25
|
* ```
|
|
31
26
|
*/
|
|
32
27
|
export declare function required<TForm = unknown, TField = unknown>(options?: ValidateOptions): Validator<TForm, TField>;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Validator, ValidateOptions } from '
|
|
1
|
+
import { Validator, ValidateOptions } from '../types/validation-schema';
|
|
2
2
|
/**
|
|
3
3
|
* Опции валидатора {@link url}. Расширяют {@link ValidateOptions} (`message`, `params`)
|
|
4
4
|
* настройками проверки протокола.
|
|
@@ -24,20 +24,15 @@ export interface UrlValidatorOptions extends ValidateOptions {
|
|
|
24
24
|
*
|
|
25
25
|
* @example Проверка URL
|
|
26
26
|
* ```typescript
|
|
27
|
+
* import { defineValidationSchema, validate } from '@reformer/core/validation';
|
|
27
28
|
* import { required, url } from '@reformer/core/validators';
|
|
28
29
|
*
|
|
29
|
-
* //
|
|
30
|
-
*
|
|
31
|
-
*
|
|
32
|
-
*
|
|
33
|
-
*
|
|
34
|
-
* }
|
|
35
|
-
* // Требовать протокол и ограничить схему только https:
|
|
36
|
-
* homepage: {
|
|
37
|
-
* value: model.$.homepage,
|
|
38
|
-
* component: Input,
|
|
39
|
-
* validators: [url({ requireProtocol: true, allowedProtocols: ['https'] })],
|
|
40
|
-
* },
|
|
30
|
+
* // Правила живут в отдельной схеме над МОДЕЛЬЮ — layout-схема валидаторов не несёт.
|
|
31
|
+
* const validation = defineValidationSchema<MyForm>(({ model }) => {
|
|
32
|
+
* validate(model.$.website, [required(), url({ message: 'Введите корректный URL' })]);
|
|
33
|
+
* // Требовать протокол и ограничить схему только https:
|
|
34
|
+
* validate(model.$.homepage, [url({ requireProtocol: true, allowedProtocols: ['https'] })]);
|
|
35
|
+
* });
|
|
41
36
|
* ```
|
|
42
37
|
*/
|
|
43
38
|
export declare function url<TForm = unknown, TField extends string | null | undefined = string>(options?: UrlValidatorOptions): Validator<TForm, TField>;
|
package/dist/index.d.ts
CHANGED
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Публичный barrel `@reformer/core` — зонтик над
|
|
2
|
+
* Публичный barrel `@reformer/core` — зонтик над слоями `model`, `form` и `platforms/react`.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
4
|
+
* `model` — реактивная модель данных (сабпат `@reformer/core/model`); `form` — узлы, поведение и
|
|
5
|
+
* валидация поверх её сигналов; `platforms/react` — биндинги в React, единственный слой с
|
|
6
|
+
* рантайм-зависимостью от `react`. Состав экспортов зонтика не меняется при реорганизациях:
|
|
7
|
+
* реализация разложена по слоям, а barrel по-прежнему отдаёт единую поверхность.
|
|
6
8
|
*/
|
|
7
9
|
export * from './form/types/index';
|
|
8
10
|
export * from './form/factories/index';
|
|
9
|
-
export * from './
|
|
11
|
+
export * from './model/index';
|
|
10
12
|
export * from './form/index';
|
|
13
|
+
export * from './platforms/react/index';
|
|
11
14
|
export { CORE_RUNTIME_TOKEN } from './runtime-token';
|