@reformer/core 8.0.0 → 9.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.
Files changed (52) hide show
  1. package/README.md +52 -57
  2. package/dist/behaviors-Br4Im38V.js +263 -0
  3. package/dist/behaviors.js +146 -146
  4. package/dist/core/factories/node-factory.d.ts +5 -4
  5. package/dist/core/model/behaviors.d.ts +15 -0
  6. package/dist/core/model/types.d.ts +41 -12
  7. package/dist/core/model/validate-model.d.ts +8 -4
  8. package/dist/core/nodes/field-node.d.ts +2 -2
  9. package/dist/core/nodes/group-node.d.ts +39 -3
  10. package/dist/core/nodes/model-array-node.d.ts +13 -1
  11. package/dist/core/types/deep-schema.d.ts +39 -5
  12. package/dist/core/types/form-proxy.d.ts +27 -2
  13. package/dist/core/types/index.d.ts +4 -10
  14. package/dist/core/types/schema-node.d.ts +79 -0
  15. package/dist/core/types/validation-schema.d.ts +37 -16
  16. package/dist/core/utils/create-form.d.ts +4 -3
  17. package/dist/core/utils/derived-registry.d.ts +29 -0
  18. package/dist/core/utils/error-handler.d.ts +4 -1
  19. package/dist/core/utils/form-submitter.d.ts +8 -4
  20. package/dist/core/utils/index.d.ts +1 -1
  21. package/dist/core/utils/safe-effect.d.ts +27 -7
  22. package/dist/core/utils/type-guards.d.ts +3 -3
  23. package/dist/core/validation/validators/date-utils.d.ts +5 -1
  24. package/dist/core/validation/validators/integer.d.ts +1 -1
  25. package/dist/core/validation/validators/is-number.d.ts +1 -1
  26. package/dist/core/validation/validators/max.d.ts +1 -1
  27. package/dist/core/validation/validators/min.d.ts +1 -1
  28. package/dist/core/validation/validators/multiple-of.d.ts +1 -1
  29. package/dist/core/validation/validators/non-negative.d.ts +1 -1
  30. package/dist/core/validation/validators/non-zero.d.ts +1 -1
  31. package/dist/core/validation/validators/required.d.ts +2 -1
  32. package/dist/{date-utils-xUWFslTj.js → date-utils-dTT_x_Be.js} +12 -10
  33. package/dist/hooks/types.d.ts +31 -1
  34. package/dist/hooks/useArrayLength.d.ts +1 -2
  35. package/dist/hooks/useFormControl.d.ts +2 -2
  36. package/dist/hooks/useSignalSubscription.d.ts +8 -1
  37. package/dist/index.js +625 -617
  38. package/dist/signals.d.ts +13 -0
  39. package/dist/signals.js +9 -0
  40. package/dist/validators/future-date.js +1 -1
  41. package/dist/validators/is-date.js +1 -1
  42. package/dist/validators/max-age.js +1 -1
  43. package/dist/validators/max-date.js +1 -1
  44. package/dist/validators/min-age.js +1 -1
  45. package/dist/validators/min-date.js +1 -1
  46. package/dist/validators/multiple-of.js +11 -7
  47. package/dist/validators/past-date.js +1 -1
  48. package/dist/validators/pattern.js +7 -6
  49. package/dist/validators/required.js +5 -9
  50. package/llms.txt +715 -175
  51. package/package.json +6 -2
  52. package/dist/behaviors-O9a1Djj9.js +0 -147
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Единая точка владения реактивным рантаймом @preact/signals-core.
3
+ *
4
+ * Другие @reformer/* пакеты (например renderer-react) импортируют Signal и примитивы
5
+ * ОТСЮДА (`@reformer/core/signals`), а НЕ напрямую из `@preact/signals-core`. Так
6
+ * гарантируется одна копия рантайма и единая идентичность класса `Signal` через границы
7
+ * пакетов — это критично для проверок вида `value instanceof Signal` над сигналами,
8
+ * созданными внутри @reformer/core.
9
+ *
10
+ * @module reformer/signals
11
+ */
12
+ export { signal, computed, effect, batch, untracked, Signal } from '@preact/signals-core';
13
+ export type { ReadonlySignal } from '@preact/signals-core';
@@ -0,0 +1,9 @@
1
+ import { Signal as a, batch as c, computed as f, effect as n, signal as o, untracked as r } from "@preact/signals-core";
2
+ export {
3
+ a as Signal,
4
+ c as batch,
5
+ f as computed,
6
+ n as effect,
7
+ o as signal,
8
+ r as untracked
9
+ };
@@ -1,4 +1,4 @@
1
- import { p as s, n as l, g as o } from "../date-utils-xUWFslTj.js";
1
+ import { p as s, n as l, g as o } from "../date-utils-dTT_x_Be.js";
2
2
  function i(a) {
3
3
  return (r) => {
4
4
  if (r == null || r === "")
@@ -1,4 +1,4 @@
1
- import { p as a } from "../date-utils-xUWFslTj.js";
1
+ import { p as a } from "../date-utils-dTT_x_Be.js";
2
2
  function t(e) {
3
3
  return (r) => r == null || r === "" ? null : a(r) === null ? {
4
4
  code: "date_invalid",
@@ -1,4 +1,4 @@
1
- import { p as s, c as l } from "../date-utils-xUWFslTj.js";
1
+ import { p as s, c as l } from "../date-utils-dTT_x_Be.js";
2
2
  function c(e, a) {
3
3
  return (r) => {
4
4
  if (r == null || r === "")
@@ -1,4 +1,4 @@
1
- import { p as m, n as t } from "../date-utils-xUWFslTj.js";
1
+ import { p as m, n as t } from "../date-utils-dTT_x_Be.js";
2
2
  function o(n, a) {
3
3
  return (r) => {
4
4
  if (r == null || r === "")
@@ -1,4 +1,4 @@
1
- import { p as s, c as i } from "../date-utils-xUWFslTj.js";
1
+ import { p as s, c as i } from "../date-utils-dTT_x_Be.js";
2
2
  function u(e, n) {
3
3
  return (r) => {
4
4
  if (r == null || r === "")
@@ -1,4 +1,4 @@
1
- import { p as l, n as t } from "../date-utils-xUWFslTj.js";
1
+ import { p as l, n as t } from "../date-utils-dTT_x_Be.js";
2
2
  function o(r, e) {
3
3
  return (n) => {
4
4
  if (n == null || n === "")
@@ -1,10 +1,14 @@
1
- function l(e, n) {
2
- return (r) => r == null || typeof r != "number" || isNaN(r) ? null : r % e !== 0 ? {
3
- code: "multipleOf",
4
- message: n?.message ?? "invalid",
5
- params: { multipleOf: e, ...n?.params }
6
- } : null;
1
+ function u(e, n) {
2
+ return (t) => {
3
+ if (t == null || typeof t != "number" || isNaN(t)) return null;
4
+ const l = Math.abs(t % e);
5
+ return l <= 1e-9 || Math.abs(l - Math.abs(e)) <= 1e-9 ? null : {
6
+ code: "multipleOf",
7
+ message: n?.message ?? "invalid",
8
+ params: { multipleOf: e, ...n?.params }
9
+ };
10
+ };
7
11
  }
8
12
  export {
9
- l as multipleOf
13
+ u as multipleOf
10
14
  };
@@ -1,4 +1,4 @@
1
- import { p as s, n as l, g as o } from "../date-utils-xUWFslTj.js";
1
+ import { p as s, n as l, g as o } from "../date-utils-dTT_x_Be.js";
2
2
  function i(a) {
3
3
  return (r) => {
4
4
  if (r == null || r === "")
@@ -1,10 +1,11 @@
1
- function n(r, t) {
2
- return (e) => e ? r.test(e) ? null : {
1
+ function s(e, r) {
2
+ const t = new RegExp(e.source, e.flags);
3
+ return (n) => n ? (t.lastIndex = 0, t.test(n) ? null : {
3
4
  code: "pattern",
4
- message: t?.message ?? "invalid",
5
- params: { pattern: r.source, ...t?.params }
6
- } : null;
5
+ message: r?.message ?? "",
6
+ params: { pattern: e.source, ...r?.params }
7
+ }) : null;
7
8
  }
8
9
  export {
9
- n as pattern
10
+ s as pattern
10
11
  };
@@ -1,14 +1,10 @@
1
- function a(r) {
2
- return (e) => e == null || e === "" ? {
1
+ function n(e) {
2
+ return (r) => r == null || r === "" || Array.isArray(r) && r.length === 0 || typeof r == "boolean" && r !== !0 ? {
3
3
  code: "required",
4
- message: r?.message ?? "invalid",
5
- params: r?.params
6
- } : typeof e == "boolean" && e !== !0 ? {
7
- code: "required",
8
- message: r?.message ?? "invalid",
9
- params: r?.params
4
+ message: e?.message ?? "",
5
+ params: e?.params
10
6
  } : null;
11
7
  }
12
8
  export {
13
- a as required
9
+ n as required
14
10
  };