@reformer/core 11.0.0-beta.1 → 11.0.0-beta.10
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/README.md +90 -68
- package/dist/behaviors-value-D05z3my6.js +109 -0
- package/dist/behaviors.d.ts +1 -1
- package/dist/behaviors.js +376 -211
- package/dist/create-model-DPSG3I0O.js +30 -0
- package/dist/date-utils-90-qZbse.js +43 -0
- package/dist/en-HP8XEych.js +44 -0
- package/dist/form/aggregate-signals.d.ts +21 -63
- package/dist/form/behaviors/collections.d.ts +84 -0
- package/dist/form/behaviors/context.d.ts +56 -0
- package/dist/form/behaviors/index.d.ts +30 -0
- package/dist/form/behaviors/internals.d.ts +41 -0
- package/dist/form/{behaviors-node.d.ts → behaviors/node.d.ts} +28 -5
- package/dist/form/behaviors/operators.d.ts +59 -0
- package/dist/form/behaviors/schema-operators.d.ts +83 -0
- package/dist/form/behaviors/types.d.ts +37 -0
- package/dist/form/create-form.d.ts +59 -70
- package/dist/form/flow/flow.d.ts +87 -0
- package/dist/form/form-bundle.d.ts +153 -0
- package/dist/form/form-level.d.ts +121 -0
- package/dist/form/form-proxy-builder.d.ts +6 -22
- package/dist/form/index.d.ts +23 -24
- package/dist/form/nodes/form-array-node.d.ts +100 -0
- package/dist/form/nodes/form-control-node.d.ts +73 -0
- package/dist/form/nodes/form-group-node.d.ts +66 -0
- package/dist/form/nodes/node-kind.d.ts +29 -0
- package/dist/form/nodes/state/availability.d.ts +6 -0
- package/dist/form/nodes/state/component.d.ts +6 -0
- package/dist/form/nodes/state/index.d.ts +12 -0
- package/dist/form/nodes/state/interaction.d.ts +13 -0
- package/dist/form/nodes/state/issues.d.ts +9 -0
- package/dist/form/nodes/state/pending.d.ts +6 -0
- package/dist/form/schema/compile.d.ts +59 -0
- package/dist/form/schema/compiled.d.ts +143 -0
- package/dist/form/schema/row-key.d.ts +11 -0
- package/dist/form/schema-controller.d.ts +159 -0
- package/dist/form/schema-subtree.d.ts +28 -0
- package/dist/form/signal-node-registry.d.ts +27 -22
- package/dist/form/submission.d.ts +93 -0
- package/dist/form/type-guards.d.ts +14 -73
- package/dist/form/types/contracts.d.ts +21 -85
- package/dist/form/types/field-config.d.ts +27 -0
- package/dist/form/types/index.d.ts +5 -57
- package/dist/form/types/nodes.d.ts +159 -0
- package/dist/form/types/schema-node.d.ts +147 -46
- package/dist/form/types/validation-schema.d.ts +25 -17
- package/dist/form/validation/context.d.ts +67 -0
- package/dist/form/validation/index.d.ts +24 -28
- package/dist/form/validation/operators.d.ts +101 -0
- package/dist/form/validation/run.d.ts +120 -0
- package/dist/form/validation/strategy.d.ts +89 -0
- package/dist/form/validation/types.d.ts +83 -0
- package/dist/form/validators/date-utils.d.ts +42 -0
- package/dist/form/validators/email.d.ts +23 -0
- package/dist/form/{validation/validators → validators}/file-type.d.ts +10 -10
- package/dist/form/{validation/validators → validators}/file-utils.d.ts +3 -2
- package/dist/form/validators/future-date.d.ts +23 -0
- package/dist/form/{validation/validators → validators}/index.d.ts +7 -4
- package/dist/form/validators/integer.d.ts +22 -0
- package/dist/form/validators/is-date.d.ts +24 -0
- package/dist/form/validators/is-number.d.ts +25 -0
- package/dist/form/validators/max-age.d.ts +28 -0
- package/dist/form/validators/max-date.d.ts +25 -0
- package/dist/form/{validation/validators → validators}/max-file-size.d.ts +10 -10
- package/dist/form/validators/max-files.d.ts +26 -0
- package/dist/form/validators/max-length.d.ts +33 -0
- package/dist/form/validators/max-total-file-size.d.ts +26 -0
- package/dist/form/validators/max.d.ts +26 -0
- package/dist/form/validators/min-age.d.ts +27 -0
- package/dist/form/validators/min-date.d.ts +25 -0
- package/dist/form/{validation/validators → validators}/min-file-size.d.ts +10 -10
- package/dist/form/validators/min-files.d.ts +27 -0
- package/dist/form/validators/min-length.d.ts +33 -0
- package/dist/form/validators/min.d.ts +26 -0
- package/dist/form/validators/multiple-of.d.ts +25 -0
- package/dist/form/validators/non-negative.d.ts +22 -0
- package/dist/form/validators/non-zero.d.ts +22 -0
- package/dist/form/validators/past-date.d.ts +23 -0
- package/dist/form/validators/pattern.d.ts +26 -0
- package/dist/form/{validation/validators → validators}/phone.d.ts +11 -11
- package/dist/form/validators/required.d.ts +29 -0
- package/dist/form/validators/url.d.ts +45 -0
- package/dist/form/validators/validation-issue.d.ts +8 -0
- package/dist/i18n/descriptor.d.ts +54 -0
- package/dist/i18n/en.json.d.ts +49 -0
- package/dist/i18n/loader.d.ts +71 -0
- package/dist/i18n/locale-store.d.ts +46 -0
- package/dist/i18n/locale.d.ts +90 -0
- package/dist/i18n/message-format.d.ts +136 -0
- package/dist/i18n/resolve-localized.d.ts +17 -0
- package/dist/i18n/ru.json.d.ts +49 -0
- package/dist/i18n/translator.d.ts +61 -0
- package/dist/i18n/validation-message.d.ts +53 -0
- package/dist/i18n.d.ts +26 -0
- package/dist/i18n.js +86 -0
- package/dist/index.d.ts +17 -5
- package/dist/index.js +942 -2601
- package/dist/loader-BWkigpVe.js +52 -0
- package/dist/locale/en.d.ts +2 -0
- package/dist/locale/en.js +5 -0
- package/dist/locale/en.json +45 -0
- package/dist/locale/index.d.ts +18 -0
- package/dist/locale/ru.d.ts +2 -0
- package/dist/locale/ru.js +44 -0
- package/dist/locale/ru.json +45 -0
- package/dist/locale-CG54AU2Q.js +219 -0
- package/dist/locale.d.ts +2 -0
- package/dist/locale.js +9 -0
- package/dist/{state → model}/behaviors-value.d.ts +24 -6
- package/dist/{state/form-model.d.ts → model/create-model.d.ts} +18 -4
- package/dist/{state → model}/derived-registry.d.ts +1 -1
- package/dist/model/index.d.ts +42 -0
- package/dist/model/model-nodes.d.ts +190 -0
- package/dist/model/model-signals-proxy.d.ts +63 -0
- package/dist/model/model-value-proxy.d.ts +84 -0
- package/dist/{state → model}/safe-effect.d.ts +50 -2
- package/dist/model/types.d.ts +239 -0
- package/dist/model.d.ts +2 -0
- package/dist/model.js +27 -0
- package/dist/node-kind-C-r6ZMdo.js +15 -0
- package/dist/platforms/react/field-binding/field-adapter.d.ts +87 -0
- package/dist/platforms/react/field-binding/field-handle.d.ts +53 -0
- package/dist/platforms/react/form-bundle-context.d.ts +27 -0
- package/dist/{form → platforms/react}/hooks/types.d.ts +58 -36
- package/dist/platforms/react/hooks/use-form-bundle.d.ts +41 -0
- package/dist/platforms/react/hooks/use-form-flow.d.ts +40 -0
- package/dist/{form → platforms/react}/hooks/use-form-validation.d.ts +13 -7
- package/dist/{form → platforms/react}/hooks/useArrayLength.d.ts +6 -6
- package/dist/{form → platforms/react}/hooks/useFormControl.d.ts +7 -9
- package/dist/{form → platforms/react}/hooks/useFormControlValue.d.ts +18 -18
- package/dist/{form → platforms/react}/hooks/useSignalSubscription.d.ts +9 -1
- package/dist/platforms/react/i18n/context.d.ts +18 -0
- package/dist/platforms/react/i18n/hooks.d.ts +65 -0
- package/dist/platforms/react/i18n/provider.d.ts +59 -0
- package/dist/platforms/react/index.d.ts +30 -0
- package/dist/react.d.ts +22 -0
- package/dist/react.js +505 -0
- package/dist/runtime-token.d.ts +1 -2
- package/dist/safe-effect-BazLOv1g.js +669 -0
- package/dist/schema-controller-CpiO2JoK.js +143 -0
- package/dist/signals.d.ts +15 -9
- package/dist/signals.js +11 -6
- package/dist/strategy-DzvnsWLh.js +375 -0
- package/dist/type-guards-D-N_5Ddh.js +19 -0
- package/dist/validation-issue-B9mjI8jz.js +7 -0
- package/dist/validation-message-Ced9MGxs.js +194 -0
- package/dist/validation.d.ts +1 -1
- package/dist/validation.js +11 -165
- package/dist/validators/email.d.ts +1 -1
- package/dist/validators/email.js +5 -8
- package/dist/validators/future-date.d.ts +1 -1
- package/dist/validators/future-date.js +10 -13
- package/dist/validators/integer.d.ts +1 -1
- package/dist/validators/integer.js +4 -7
- package/dist/validators/is-date.d.ts +1 -1
- package/dist/validators/is-date.js +5 -8
- package/dist/validators/is-number.d.ts +1 -1
- package/dist/validators/is-number.js +4 -7
- package/dist/validators/max-age.d.ts +1 -1
- package/dist/validators/max-age.js +8 -12
- package/dist/validators/max-date.d.ts +1 -1
- package/dist/validators/max-date.js +10 -13
- package/dist/validators/max-length.d.ts +1 -1
- package/dist/validators/max-length.js +7 -10
- package/dist/validators/max.d.ts +1 -1
- package/dist/validators/max.js +4 -7
- package/dist/validators/min-age.d.ts +1 -1
- package/dist/validators/min-age.js +10 -11
- package/dist/validators/min-date.d.ts +1 -1
- package/dist/validators/min-date.js +8 -11
- package/dist/validators/min-length.d.ts +1 -1
- package/dist/validators/min-length.js +4 -7
- package/dist/validators/min.d.ts +1 -1
- package/dist/validators/min.js +4 -7
- package/dist/validators/multiple-of.d.ts +1 -1
- package/dist/validators/multiple-of.js +11 -10
- package/dist/validators/non-negative.d.ts +1 -1
- package/dist/validators/non-negative.js +2 -5
- package/dist/validators/non-zero.d.ts +1 -1
- package/dist/validators/non-zero.js +4 -7
- package/dist/validators/past-date.d.ts +1 -1
- package/dist/validators/past-date.js +10 -13
- package/dist/validators/pattern.d.ts +1 -1
- package/dist/validators/pattern.js +5 -8
- package/dist/validators/phone.d.ts +1 -1
- package/dist/validators/phone.js +10 -11
- package/dist/validators/required.d.ts +1 -1
- package/dist/validators/required.js +4 -7
- package/dist/validators/url.d.ts +1 -1
- package/dist/validators/url.js +48 -17
- package/dist/validators.d.ts +1 -1
- package/dist/validators.js +86 -108
- package/docs/llms/01-api-reference.md +60 -34
- package/docs/llms/02-quick-start.md +112 -74
- package/docs/llms/03-api-signatures.md +369 -148
- package/docs/llms/04-common-patterns.md +58 -56
- package/docs/llms/05-common-mistakes.md +69 -44
- package/docs/llms/06-troubleshooting.md +14 -9
- package/docs/llms/07-complete-import.md +74 -43
- package/docs/llms/08-form-types.md +11 -4
- package/docs/llms/09-formschema.md +132 -84
- package/docs/llms/10-arrays.md +141 -61
- package/docs/llms/11-async-watchfield.md +2 -2
- package/docs/llms/13-multi-step.md +134 -63
- package/docs/llms/14-extended-mistakes.md +20 -17
- package/docs/llms/15-project-structure.md +224 -70
- package/docs/llms/16-ui-components.md +86 -46
- package/docs/llms/17-nonexistent-api.md +217 -32
- package/docs/llms/18-conditional-fields.md +71 -32
- package/docs/llms/19-reading-values.md +45 -4
- package/docs/llms/20-compute-vs-watch.md +25 -10
- package/docs/llms/21-array-operations.md +76 -26
- package/docs/llms/22-cycle-detection.md +1 -1
- package/docs/llms/23-copy-from.md +2 -2
- package/docs/llms/24-sync-fields.md +6 -5
- package/docs/llms/25-reset-when.md +14 -7
- package/docs/llms/26-transform-value.md +4 -4
- package/docs/llms/27-revalidate-when.md +16 -15
- package/docs/llms/28-submit-and-reset.md +278 -128
- package/docs/llms/29-async-preload.md +41 -31
- package/docs/llms/30-type-safety-recipes.md +105 -51
- package/docs/llms/31-async-validator-debounce.md +96 -53
- package/docs/llms/33-validation-strategy.md +178 -66
- package/docs/llms/34-i18n.md +298 -0
- package/docs/llms/35-unified-contract.md +309 -0
- package/docs/llms/36-issue-messages.md +284 -0
- package/docs/llms/37-compiled-schema.md +332 -0
- package/docs/llms/38-form-flow.md +396 -0
- package/llms-index.json +1 -0
- package/llms.txt +10690 -3089
- package/package.json +48 -9
- package/dist/behaviors-node-DGEFMTQu.js +0 -18
- package/dist/behaviors-value-C7dSEhCc.js +0 -134
- package/dist/date-utils-dTT_x_Be.js +0 -31
- package/dist/derived-registry-CluZCQ7U.js +0 -16
- package/dist/form/behaviors.d.ts +0 -133
- package/dist/form/error-handler.d.ts +0 -166
- package/dist/form/factories/index.d.ts +0 -6
- package/dist/form/factories/node-factory.d.ts +0 -188
- package/dist/form/form-submitter.d.ts +0 -121
- package/dist/form/nodes/array-node.d.ts +0 -276
- package/dist/form/nodes/field-node.d.ts +0 -294
- package/dist/form/nodes/form-node.d.ts +0 -326
- package/dist/form/nodes/group-node.d.ts +0 -284
- package/dist/form/nodes/model-array-node.d.ts +0 -121
- package/dist/form/status-machine.d.ts +0 -115
- package/dist/form/types/deep-schema.d.ts +0 -107
- package/dist/form/types/form-proxy.d.ts +0 -141
- package/dist/form/unique-id.d.ts +0 -45
- package/dist/form/validation/validators/date-utils.d.ts +0 -30
- package/dist/form/validation/validators/email.d.ts +0 -23
- package/dist/form/validation/validators/future-date.d.ts +0 -23
- package/dist/form/validation/validators/integer.d.ts +0 -22
- package/dist/form/validation/validators/is-date.d.ts +0 -23
- package/dist/form/validation/validators/is-number.d.ts +0 -24
- package/dist/form/validation/validators/max-age.d.ts +0 -25
- package/dist/form/validation/validators/max-date.d.ts +0 -25
- package/dist/form/validation/validators/max-files.d.ts +0 -26
- package/dist/form/validation/validators/max-length.d.ts +0 -27
- package/dist/form/validation/validators/max-total-file-size.d.ts +0 -26
- package/dist/form/validation/validators/max.d.ts +0 -25
- package/dist/form/validation/validators/min-age.d.ts +0 -25
- package/dist/form/validation/validators/min-date.d.ts +0 -25
- package/dist/form/validation/validators/min-files.d.ts +0 -26
- package/dist/form/validation/validators/min-length.d.ts +0 -27
- package/dist/form/validation/validators/min.d.ts +0 -25
- package/dist/form/validation/validators/multiple-of.d.ts +0 -24
- package/dist/form/validation/validators/non-negative.d.ts +0 -22
- package/dist/form/validation/validators/non-zero.d.ts +0 -22
- package/dist/form/validation/validators/past-date.d.ts +0 -23
- package/dist/form/validation/validators/pattern.d.ts +0 -33
- package/dist/form/validation/validators/required.d.ts +0 -32
- package/dist/form/validation/validators/url.d.ts +0 -43
- package/dist/form/validation-schema.d.ts +0 -106
- package/dist/form/validation-strategy.d.ts +0 -55
- package/dist/form/validators.d.ts +0 -11
- package/dist/form-model-DYCzGGKF.js +0 -286
- package/dist/state/index.d.ts +0 -31
- package/dist/state/subscription-manager.d.ts +0 -180
- package/dist/state/types.d.ts +0 -144
- package/dist/state.d.ts +0 -2
- package/dist/state.js +0 -21
- package/dist/subscription-manager-705bls97.js +0 -171
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { ValidationIssue } from '../form/types/contracts';
|
|
2
|
+
import { I18nHandle } from './translator';
|
|
3
|
+
/**
|
|
4
|
+
* Текст замечания в словаре формы: шаблон с параметрами либо функция.
|
|
5
|
+
*
|
|
6
|
+
* Шаблон — тот же формат сообщений, что в словарях локали: `{minLength}`, `plural`, `select`.
|
|
7
|
+
* Параметры в него приходят подготовленными: дата — по языку, массив — перечнем, размер файла —
|
|
8
|
+
* строкой с единицей. Число шаблон печатает как есть, без разрядов: «50 000 ₽» пишут готовым
|
|
9
|
+
* текстом либо функцией, которая форматирует число сама.
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* ```ts
|
|
13
|
+
* const byTemplate: IssueMessage = 'Не меньше {minLength} символов';
|
|
14
|
+
* const byFunction: IssueMessage = (params, i18n) => `Не меньше ${i18n.number(Number(params.min))} ₽`;
|
|
15
|
+
* ```
|
|
16
|
+
*/
|
|
17
|
+
export type IssueMessage = string | ((params: Readonly<Record<string, unknown>>, i18n: I18nHandle) => string);
|
|
18
|
+
/**
|
|
19
|
+
* Словарь формы: код замечания → текст. Ключ — `code` замечания: встроенный (`required`) либо
|
|
20
|
+
* свой (`loanAmount.required`).
|
|
21
|
+
*/
|
|
22
|
+
export type IssueMessages = Readonly<Record<string, IssueMessage>>;
|
|
23
|
+
/**
|
|
24
|
+
* Объявить словарь формы. Возвращает аргумент как есть — функция нужна типам: коды остаются
|
|
25
|
+
* литералами, а значения проверяются как {@link IssueMessage}.
|
|
26
|
+
*
|
|
27
|
+
* @example
|
|
28
|
+
* ```ts
|
|
29
|
+
* export const loanMessages = defineIssueMessages({
|
|
30
|
+
* 'loanAmount.required': 'Укажите сумму кредита',
|
|
31
|
+
* 'loanPurpose.minLength': 'Минимум {minLength} символов',
|
|
32
|
+
* 'carYear.max': (params) => `Не позднее ${String(params.max)}`,
|
|
33
|
+
* });
|
|
34
|
+
* ```
|
|
35
|
+
*/
|
|
36
|
+
export declare function defineIssueMessages<const Messages extends IssueMessages>(messages: Messages): Messages;
|
|
37
|
+
/**
|
|
38
|
+
* Отображаемый текст замечания валидации. Порядок источников — в шапке модуля.
|
|
39
|
+
*
|
|
40
|
+
* @param issue - Замечание от правила: `code` и `params`.
|
|
41
|
+
* @param i18n - Ручка активной локали (`createI18n` / `useI18n`).
|
|
42
|
+
* @param messages - Словарь формы; его записи важнее словаря локали.
|
|
43
|
+
*
|
|
44
|
+
* @example
|
|
45
|
+
* ```ts
|
|
46
|
+
* resolveIssueMessage({ code: 'minLength', params: { minLength: 8 } }, i18n);
|
|
47
|
+
* // 'Enter at least 8 characters' · в русской локали — 'Не меньше 8 символов'
|
|
48
|
+
*
|
|
49
|
+
* resolveIssueMessage({ code: 'phone.required' }, i18n, { 'phone.required': 'Укажите телефон' });
|
|
50
|
+
* // 'Укажите телефон' — текст поля из словаря формы
|
|
51
|
+
* ```
|
|
52
|
+
*/
|
|
53
|
+
export declare function resolveIssueMessage(issue: ValidationIssue, i18n: I18nHandle, messages?: IssueMessages): string;
|
package/dist/i18n.d.ts
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Подпуть `@reformer/core/i18n` — локализация форм без React: объект локали, загрузка словарей,
|
|
3
|
+
* перевод и форматирование, тексты ошибок, описатели авторских подписей.
|
|
4
|
+
*
|
|
5
|
+
* Провайдер и хуки (`I18nProvider`, `useI18n`, `useMessages`, `useIssueMessage`) отдаёт вход
|
|
6
|
+
* `@reformer/core/react`. Из главной бочки `@reformer/core` этот модуль не реэкспортируется:
|
|
7
|
+
* канонический импорт один.
|
|
8
|
+
*
|
|
9
|
+
* @group i18n
|
|
10
|
+
* @module i18n
|
|
11
|
+
*/
|
|
12
|
+
export { parseMessage, formatPattern, createMessageFormatter, MessageSyntaxError, } from './i18n/message-format';
|
|
13
|
+
export type { MessageNode, MessagePattern, MessageBranches, MessageValues, MessageFormatOptions, } from './i18n/message-format';
|
|
14
|
+
export { DEFAULT_LOCALE, extendLocale, validateLocale, messageArguments } from './i18n/locale';
|
|
15
|
+
export type { FormLocale, Messages, WeekStart, LocaleIssue } from './i18n/locale';
|
|
16
|
+
export { createLocaleLoader, fetchMessages, bundledLocaleSource } from './i18n/loader';
|
|
17
|
+
export type { LocaleLoader, LocaleSource, LocaleSourceResult } from './i18n/loader';
|
|
18
|
+
export { createLocaleStore } from './i18n/locale-store';
|
|
19
|
+
export type { LocaleLoad, LocaleStore, LocaleStoreState, LocaleStoreOptions, } from './i18n/locale-store';
|
|
20
|
+
export { createI18n, translateBuiltin } from './i18n/translator';
|
|
21
|
+
export type { I18nHandle } from './i18n/translator';
|
|
22
|
+
export { resolveIssueMessage, defineIssueMessages } from './i18n/validation-message';
|
|
23
|
+
export type { IssueMessage, IssueMessages } from './i18n/validation-message';
|
|
24
|
+
export { msg, defineMessages, isMessageDescriptor, MESSAGE_DESCRIPTOR } from './i18n/descriptor';
|
|
25
|
+
export type { MessageDescriptor, LocalizableText } from './i18n/descriptor';
|
|
26
|
+
export { resolveLocalized } from './i18n/resolve-localized';
|
package/dist/i18n.js
ADDED
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { D as j, M as x, c as A, e as E, f as _, m as k, p as l, v as D } from "./locale-CG54AU2Q.js";
|
|
2
|
+
import { b as P, c as z, f as C } from "./loader-BWkigpVe.js";
|
|
3
|
+
import { a as R, c as T, d as $, r as q, t as w } from "./validation-message-Ced9MGxs.js";
|
|
4
|
+
import { isSignal as a } from "./signals.js";
|
|
5
|
+
const d = Symbol.for("reformer.i18n.message");
|
|
6
|
+
function g(e, r, t) {
|
|
7
|
+
return Object.freeze({
|
|
8
|
+
[d]: !0,
|
|
9
|
+
key: e,
|
|
10
|
+
...r === void 0 ? {} : { values: r },
|
|
11
|
+
...t === void 0 ? {} : { defaultMessage: t }
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
function m(e) {
|
|
15
|
+
return e !== null && typeof e == "object" && e[d] === !0;
|
|
16
|
+
}
|
|
17
|
+
function L(e) {
|
|
18
|
+
return { msg: (r, t) => g(r, t, e[r]) };
|
|
19
|
+
}
|
|
20
|
+
function u(e) {
|
|
21
|
+
const r = Object.getPrototypeOf(e);
|
|
22
|
+
return r === Object.prototype || r === null;
|
|
23
|
+
}
|
|
24
|
+
function p(e) {
|
|
25
|
+
if (a(e)) return !0;
|
|
26
|
+
const r = e;
|
|
27
|
+
return r.$$typeof !== void 0 || r.__path !== void 0 || r.__kind !== void 0;
|
|
28
|
+
}
|
|
29
|
+
function y(e) {
|
|
30
|
+
if (e === void 0) return;
|
|
31
|
+
const r = {};
|
|
32
|
+
for (const t of Object.keys(e)) {
|
|
33
|
+
const o = e[t];
|
|
34
|
+
r[t] = a(o) ? o.value : o;
|
|
35
|
+
}
|
|
36
|
+
return r;
|
|
37
|
+
}
|
|
38
|
+
function f(e, r, t) {
|
|
39
|
+
if (e === null || typeof e != "object") return e;
|
|
40
|
+
if (m(e))
|
|
41
|
+
return r.t(e.key, y(e.values), e.defaultMessage);
|
|
42
|
+
if (p(e) || t.has(e)) return e;
|
|
43
|
+
if (Array.isArray(e)) {
|
|
44
|
+
t.add(e);
|
|
45
|
+
let s = !1;
|
|
46
|
+
const c = e.map((n) => {
|
|
47
|
+
const i = f(n, r, t);
|
|
48
|
+
return i !== n && (s = !0), i;
|
|
49
|
+
});
|
|
50
|
+
return t.delete(e), s ? c : e;
|
|
51
|
+
}
|
|
52
|
+
if (!u(e)) return e;
|
|
53
|
+
t.add(e);
|
|
54
|
+
let o;
|
|
55
|
+
for (const s of Object.keys(e)) {
|
|
56
|
+
const c = e[s], n = f(c, r, t);
|
|
57
|
+
n !== c && (o ??= { ...e }, o[s] = n);
|
|
58
|
+
}
|
|
59
|
+
return t.delete(e), o ?? e;
|
|
60
|
+
}
|
|
61
|
+
function M(e, r) {
|
|
62
|
+
return f(e, r, /* @__PURE__ */ new Set());
|
|
63
|
+
}
|
|
64
|
+
export {
|
|
65
|
+
j as DEFAULT_LOCALE,
|
|
66
|
+
d as MESSAGE_DESCRIPTOR,
|
|
67
|
+
x as MessageSyntaxError,
|
|
68
|
+
P as bundledLocaleSource,
|
|
69
|
+
R as createI18n,
|
|
70
|
+
z as createLocaleLoader,
|
|
71
|
+
T as createLocaleStore,
|
|
72
|
+
A as createMessageFormatter,
|
|
73
|
+
$ as defineIssueMessages,
|
|
74
|
+
L as defineMessages,
|
|
75
|
+
E as extendLocale,
|
|
76
|
+
C as fetchMessages,
|
|
77
|
+
_ as formatPattern,
|
|
78
|
+
m as isMessageDescriptor,
|
|
79
|
+
k as messageArguments,
|
|
80
|
+
g as msg,
|
|
81
|
+
l as parseMessage,
|
|
82
|
+
q as resolveIssueMessage,
|
|
83
|
+
M as resolveLocalized,
|
|
84
|
+
w as translateBuiltin,
|
|
85
|
+
D as validateLocale
|
|
86
|
+
};
|
package/dist/index.d.ts
CHANGED
|
@@ -1,11 +1,23 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Публичный barrel `@reformer/core` — зонтик над
|
|
2
|
+
* Публичный barrel `@reformer/core` — зонтик над слоями `model` и `form`.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
4
|
+
* `model` — реактивная модель данных (сабпат `@reformer/core/model`); `form` — узлы, поведение и
|
|
5
|
+
* валидация поверх её сигналов. React здесь нет ни в рантайме, ни в типах: хуки, связка поля с
|
|
6
|
+
* контролом и React-привязки локализации живут в отдельном входе `@reformer/core/react`
|
|
7
|
+
* (`src/react.ts`), поэтому корень работает на сервере и с любым слоем представления.
|
|
8
|
+
*
|
|
9
|
+
* @module index
|
|
10
|
+
* @mergeModuleWith <project>
|
|
6
11
|
*/
|
|
7
12
|
export * from './form/types/index';
|
|
8
|
-
export
|
|
9
|
-
export
|
|
13
|
+
export { createModel, eachLeafSignal, eachValueSignal } from './model/create-model';
|
|
14
|
+
export { arrayOf } from './model/model-nodes';
|
|
15
|
+
export type { DeepPartial, FormModel, ModelArray, ModelArraySignals, ModelGroupSignals, ModelObject, ModelValue, ModelSignals, ModelApi, PathAwareSignal, } from './model/types';
|
|
16
|
+
export { isModelContainerSignal, isValueSignal } from './model/model-signals-proxy';
|
|
17
|
+
export { modelOf } from './model/model-value-proxy';
|
|
18
|
+
export type { ModelOf } from './model/model-value-proxy';
|
|
19
|
+
export type { BehaviorCleanup } from './model/behaviors-value';
|
|
20
|
+
export { markDerived, isDerived, unmarkDerived } from './model/derived-registry';
|
|
21
|
+
export { runOutsideEffect, safeCallback, safeDebouncedCallback } from './model/safe-effect';
|
|
10
22
|
export * from './form/index';
|
|
11
23
|
export { CORE_RUNTIME_TOKEN } from './runtime-token';
|