@reformer/core 5.0.0 → 6.0.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.
Files changed (131) hide show
  1. package/README.md +7 -5
  2. package/dist/behaviors-O9a1Djj9.js +147 -0
  3. package/dist/behaviors.d.ts +131 -4
  4. package/dist/behaviors.js +298 -27
  5. package/dist/core/model/behaviors.d.ts +123 -0
  6. package/dist/core/model/form-model.d.ts +18 -0
  7. package/dist/core/model/index.d.ts +12 -0
  8. package/dist/core/model/types.d.ts +112 -0
  9. package/dist/core/model/validate-model.d.ts +46 -0
  10. package/dist/core/nodes/array-node.d.ts +34 -2
  11. package/dist/core/nodes/group-node.d.ts +19 -71
  12. package/dist/core/nodes/model-array-node.d.ts +71 -0
  13. package/dist/core/types/deep-schema.d.ts +16 -2
  14. package/dist/core/types/form-proxy.d.ts +17 -6
  15. package/dist/core/types/index.d.ts +5 -23
  16. package/dist/core/types/validation-schema.d.ts +15 -66
  17. package/dist/core/utils/create-form.d.ts +24 -0
  18. package/dist/core/utils/derived-registry.d.ts +5 -0
  19. package/dist/core/utils/index.d.ts +4 -4
  20. package/dist/core/utils/signal-node-registry.d.ts +12 -0
  21. package/dist/core/utils/type-guards.d.ts +2 -3
  22. package/dist/core/validation/index.d.ts +5 -11
  23. package/dist/core/validation/validators/email.d.ts +5 -29
  24. package/dist/core/validation/validators/future-date.d.ts +6 -28
  25. package/dist/core/validation/validators/index.d.ts +11 -4
  26. package/dist/core/validation/validators/integer.d.ts +13 -0
  27. package/dist/core/validation/validators/is-date.d.ts +5 -28
  28. package/dist/core/validation/validators/is-number.d.ts +14 -0
  29. package/dist/core/validation/validators/max-age.d.ts +6 -29
  30. package/dist/core/validation/validators/max-date.d.ts +6 -29
  31. package/dist/core/validation/validators/max-length.d.ts +5 -30
  32. package/dist/core/validation/validators/max.d.ts +7 -29
  33. package/dist/core/validation/validators/min-age.d.ts +6 -29
  34. package/dist/core/validation/validators/min-date.d.ts +6 -29
  35. package/dist/core/validation/validators/min-length.d.ts +5 -30
  36. package/dist/core/validation/validators/min.d.ts +7 -29
  37. package/dist/core/validation/validators/multiple-of.d.ts +13 -0
  38. package/dist/core/validation/validators/non-negative.d.ts +13 -0
  39. package/dist/core/validation/validators/non-zero.d.ts +13 -0
  40. package/dist/core/validation/validators/past-date.d.ts +5 -28
  41. package/dist/core/validation/validators/pattern.d.ts +5 -32
  42. package/dist/core/validation/validators/phone.d.ts +9 -19
  43. package/dist/core/validation/validators/required.d.ts +10 -31
  44. package/dist/core/validation/validators/url.d.ts +13 -15
  45. package/dist/index.d.ts +3 -4
  46. package/dist/index.js +1299 -875
  47. package/dist/validators/email.js +7 -9
  48. package/dist/validators/future-date.js +11 -12
  49. package/dist/validators/integer.d.ts +2 -0
  50. package/dist/validators/integer.js +10 -0
  51. package/dist/validators/is-date.js +6 -7
  52. package/dist/validators/is-number.d.ts +2 -0
  53. package/dist/validators/is-number.js +10 -0
  54. package/dist/validators/max-age.js +11 -12
  55. package/dist/validators/max-date.js +11 -12
  56. package/dist/validators/max-length.js +12 -8
  57. package/dist/validators/max.js +5 -6
  58. package/dist/validators/min-age.js +10 -11
  59. package/dist/validators/min-date.js +12 -13
  60. package/dist/validators/min-length.js +12 -8
  61. package/dist/validators/min.js +6 -7
  62. package/dist/validators/multiple-of.d.ts +2 -0
  63. package/dist/validators/multiple-of.js +10 -0
  64. package/dist/validators/non-negative.d.ts +2 -0
  65. package/dist/validators/non-negative.js +10 -0
  66. package/dist/validators/non-zero.d.ts +2 -0
  67. package/dist/validators/non-zero.js +10 -0
  68. package/dist/validators/past-date.js +11 -12
  69. package/dist/validators/pattern.js +6 -7
  70. package/dist/validators/phone.js +14 -32
  71. package/dist/validators/required.js +9 -10
  72. package/dist/validators/url.js +19 -16
  73. package/dist/validators.js +67 -54
  74. package/llms.txt +959 -2584
  75. package/package.json +19 -35
  76. package/dist/behaviors/compute-from.d.ts +0 -2
  77. package/dist/behaviors/compute-from.js +0 -31
  78. package/dist/behaviors/copy-from.d.ts +0 -2
  79. package/dist/behaviors/copy-from.js +0 -29
  80. package/dist/behaviors/enable-when.d.ts +0 -2
  81. package/dist/behaviors/enable-when.js +0 -25
  82. package/dist/behaviors/reset-when.d.ts +0 -2
  83. package/dist/behaviors/reset-when.js +0 -24
  84. package/dist/behaviors/revalidate-when.d.ts +0 -2
  85. package/dist/behaviors/revalidate-when.js +0 -18
  86. package/dist/behaviors/sync-fields.d.ts +0 -2
  87. package/dist/behaviors/sync-fields.js +0 -41
  88. package/dist/behaviors/transform-value.d.ts +0 -2
  89. package/dist/behaviors/transform-value.js +0 -45
  90. package/dist/behaviors/watch-field.d.ts +0 -2
  91. package/dist/behaviors/watch-field.js +0 -21
  92. package/dist/core/behavior/behavior-context.d.ts +0 -47
  93. package/dist/core/behavior/behavior-registry.d.ts +0 -85
  94. package/dist/core/behavior/behaviors/compute-from.d.ts +0 -70
  95. package/dist/core/behavior/behaviors/copy-from.d.ts +0 -56
  96. package/dist/core/behavior/behaviors/enable-when.d.ts +0 -118
  97. package/dist/core/behavior/behaviors/index.d.ts +0 -11
  98. package/dist/core/behavior/behaviors/reset-when.d.ts +0 -64
  99. package/dist/core/behavior/behaviors/revalidate-when.d.ts +0 -53
  100. package/dist/core/behavior/behaviors/sync-fields.d.ts +0 -48
  101. package/dist/core/behavior/behaviors/transform-value.d.ts +0 -192
  102. package/dist/core/behavior/behaviors/watch-field.d.ts +0 -80
  103. package/dist/core/behavior/compose-behavior.d.ts +0 -96
  104. package/dist/core/behavior/index.d.ts +0 -11
  105. package/dist/core/behavior/types.d.ts +0 -146
  106. package/dist/core/types/field-path.d.ts +0 -42
  107. package/dist/core/types/form-context.d.ts +0 -89
  108. package/dist/core/utils/field-path-navigator.d.ts +0 -240
  109. package/dist/core/utils/field-path.d.ts +0 -60
  110. package/dist/core/utils/registry-helpers.d.ts +0 -43
  111. package/dist/core/validation/core/apply-when.d.ts +0 -22
  112. package/dist/core/validation/core/apply.d.ts +0 -52
  113. package/dist/core/validation/core/index.d.ts +0 -8
  114. package/dist/core/validation/core/validate-async.d.ts +0 -36
  115. package/dist/core/validation/core/validate-tree.d.ts +0 -35
  116. package/dist/core/validation/core/validate.d.ts +0 -26
  117. package/dist/core/validation/validate-form.d.ts +0 -48
  118. package/dist/core/validation/validation-applicator.d.ts +0 -70
  119. package/dist/core/validation/validation-context.d.ts +0 -86
  120. package/dist/core/validation/validation-registry.d.ts +0 -142
  121. package/dist/core/validation/validators/array-validators.d.ts +0 -53
  122. package/dist/core/validation/validators/number.d.ts +0 -31
  123. package/dist/field-path-DuKdGcIE.js +0 -66
  124. package/dist/hooks/useHiddenCondition.d.ts +0 -25
  125. package/dist/index-D25LsbRm.js +0 -73
  126. package/dist/registry-helpers-Bv_BJ1s-.js +0 -615
  127. package/dist/safe-effect-Dh8uw81c.js +0 -20
  128. package/dist/validate-C3XiA_zf.js +0 -10
  129. package/dist/validators/number.d.ts +0 -2
  130. package/dist/validators/number.js +0 -35
  131. package/dist/validators-BGsNOgT1.js +0 -207
@@ -1,13 +1,11 @@
1
- import { v as m } from "../validate-C3XiA_zf.js";
2
- function i(e, r) {
3
- if (!e) return;
4
- const s = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
5
- m(e, (a) => a ? s.test(a) ? null : {
1
+ const s = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
2
+ function n(e) {
3
+ return (r) => r ? s.test(r) ? null : {
6
4
  code: "email",
7
- message: r?.message || "Неверный формат email",
8
- params: r?.params
9
- } : null);
5
+ message: e?.message ?? "invalid",
6
+ params: e?.params
7
+ } : null;
10
8
  }
11
9
  export {
12
- i as email
10
+ n as email
13
11
  };
@@ -1,20 +1,19 @@
1
- import { v as o } from "../validate-C3XiA_zf.js";
2
- import { p as u, n as l, g as m } from "../date-utils-xUWFslTj.js";
3
- function d(a, e) {
4
- a && o(a, (r) => {
1
+ import { p as s, n as l, g as o } from "../date-utils-xUWFslTj.js";
2
+ function i(a) {
3
+ return (r) => {
5
4
  if (r == null || r === "")
6
5
  return null;
7
- const t = u(r);
8
- if (t === null)
6
+ const e = s(r);
7
+ if (e === null)
9
8
  return null;
10
- const n = l(t), s = m();
11
- return n < s ? {
9
+ const n = l(e), t = o();
10
+ return n < t ? {
12
11
  code: "date_past",
13
- message: e?.message || "Дата не может быть в прошлом",
14
- params: e?.params
12
+ message: a?.message ?? "invalid",
13
+ params: a?.params
15
14
  } : null;
16
- });
15
+ };
17
16
  }
18
17
  export {
19
- d as futureDate
18
+ i as futureDate
20
19
  };
@@ -0,0 +1,2 @@
1
+ export * from '../core/validation/validators/integer'
2
+ export {}
@@ -0,0 +1,10 @@
1
+ function n(e) {
2
+ return (r) => r == null || typeof r != "number" || isNaN(r) || Number.isInteger(r) ? null : {
3
+ code: "integer",
4
+ message: e?.message ?? "invalid",
5
+ params: e?.params
6
+ };
7
+ }
8
+ export {
9
+ n as integer
10
+ };
@@ -1,12 +1,11 @@
1
- import { v as s } from "../validate-C3XiA_zf.js";
2
- import { p as n } from "../date-utils-xUWFslTj.js";
3
- function p(a, e) {
4
- a && s(a, (r) => r == null || r === "" ? null : n(r) === null ? {
1
+ import { p as a } from "../date-utils-xUWFslTj.js";
2
+ function t(e) {
3
+ return (r) => r == null || r === "" ? null : a(r) === null ? {
5
4
  code: "date_invalid",
6
- message: e?.message || "Неверный формат даты",
5
+ message: e?.message ?? "invalid",
7
6
  params: e?.params
8
- } : null);
7
+ } : null;
9
8
  }
10
9
  export {
11
- p as isDate
10
+ t as isDate
12
11
  };
@@ -0,0 +1,2 @@
1
+ export * from '../core/validation/validators/is-number'
2
+ export {}
@@ -0,0 +1,10 @@
1
+ function n(e) {
2
+ return (r) => r == null ? null : typeof r != "number" || isNaN(r) ? {
3
+ code: "isNumber",
4
+ message: e?.message ?? "invalid",
5
+ params: e?.params
6
+ } : null;
7
+ }
8
+ export {
9
+ n as isNumber
10
+ };
@@ -1,20 +1,19 @@
1
- import { v as m } from "../validate-C3XiA_zf.js";
2
- import { p as c, c as o } from "../date-utils-xUWFslTj.js";
3
- function l(a, e, n) {
4
- a && m(a, (r) => {
1
+ import { p as s, c as l } from "../date-utils-xUWFslTj.js";
2
+ function c(e, a) {
3
+ return (r) => {
5
4
  if (r == null || r === "")
6
5
  return null;
7
- const t = c(r);
8
- if (t === null)
6
+ const n = s(r);
7
+ if (n === null)
9
8
  return null;
10
- const s = o(t);
11
- return s > e ? {
9
+ const t = l(n);
10
+ return t > e ? {
12
11
  code: "date_max_age",
13
- message: n?.message || `Максимальный возраст: ${e} лет`,
14
- params: { maxAge: e, currentAge: s, ...n?.params }
12
+ message: a?.message ?? "invalid",
13
+ params: { maxAge: e, currentAge: t, ...a?.params }
15
14
  } : null;
16
- });
15
+ };
17
16
  }
18
17
  export {
19
- l as maxAge
18
+ c as maxAge
20
19
  };
@@ -1,20 +1,19 @@
1
- import { v as i } from "../validate-C3XiA_zf.js";
2
- import { p as l, n as m } from "../date-utils-xUWFslTj.js";
3
- function c(a, e, n) {
4
- a && i(a, (r) => {
1
+ import { p as m, n as t } from "../date-utils-xUWFslTj.js";
2
+ function o(n, a) {
3
+ return (r) => {
5
4
  if (r == null || r === "")
6
5
  return null;
7
- const t = l(r);
8
- if (t === null)
6
+ const e = m(r);
7
+ if (e === null)
9
8
  return null;
10
- const s = m(t), o = m(e);
11
- return s > o ? {
9
+ const s = t(e), l = t(n);
10
+ return s > l ? {
12
11
  code: "date_max",
13
- message: n?.message || `Дата должна быть не позднее ${o.toLocaleDateString()}`,
14
- params: { maxDate: e, ...n?.params }
12
+ message: a?.message ?? "invalid",
13
+ params: { maxDate: n, ...a?.params }
15
14
  } : null;
16
- });
15
+ };
17
16
  }
18
17
  export {
19
- c as maxDate
18
+ o as maxDate
20
19
  };
@@ -1,11 +1,15 @@
1
- import { v as a } from "../validate-C3XiA_zf.js";
2
- function m(e, r, n) {
3
- e && a(e, (t) => t && t.length > r ? {
4
- code: "maxLength",
5
- message: n?.message || `Максимальная длина: ${r} символов`,
6
- params: { maxLength: r, actualLength: t.length, ...n?.params }
7
- } : null);
1
+ function l(r, t) {
2
+ return (n) => {
3
+ if (n == null || n === "")
4
+ return null;
5
+ const e = n.length;
6
+ return typeof e != "number" ? null : e > r ? {
7
+ code: "maxLength",
8
+ message: t?.message ?? "invalid",
9
+ params: { maxLength: r, actualLength: e, ...t?.params }
10
+ } : null;
11
+ };
8
12
  }
9
13
  export {
10
- m as maxLength
14
+ l as maxLength
11
15
  };
@@ -1,10 +1,9 @@
1
- import { v as a } from "../validate-C3XiA_zf.js";
2
- function e(m, n, t) {
3
- m && a(m, (r) => r == null ? null : r > n ? {
1
+ function e(n, a) {
2
+ return (r) => r == null ? null : r > n ? {
4
3
  code: "max",
5
- message: t?.message || `Максимальное значение: ${n}`,
6
- params: { max: n, actual: r, ...t?.params }
7
- } : null);
4
+ message: a?.message ?? "invalid",
5
+ params: { max: n, actual: r, ...a?.params }
6
+ } : null;
8
7
  }
9
8
  export {
10
9
  e as max
@@ -1,20 +1,19 @@
1
- import { v as m } from "../validate-C3XiA_zf.js";
2
- import { p as c, c as i } from "../date-utils-xUWFslTj.js";
3
- function l(n, e, t) {
4
- n && m(n, (r) => {
1
+ import { p as s, c as i } from "../date-utils-xUWFslTj.js";
2
+ function u(e, n) {
3
+ return (r) => {
5
4
  if (r == null || r === "")
6
5
  return null;
7
- const a = c(r);
6
+ const a = s(r);
8
7
  if (a === null)
9
8
  return null;
10
- const s = i(a);
11
- return s < e ? {
9
+ const t = i(a);
10
+ return t < e ? {
12
11
  code: "date_min_age",
13
- message: t?.message || `Минимальный возраст: ${e} лет`,
14
- params: { minAge: e, currentAge: s, ...t?.params }
12
+ message: n?.message ?? "invalid",
13
+ params: { minAge: e, currentAge: t, ...n?.params }
15
14
  } : null;
16
- });
15
+ };
17
16
  }
18
17
  export {
19
- l as minAge
18
+ u as minAge
20
19
  };
@@ -1,20 +1,19 @@
1
- import { v as s } from "../validate-C3XiA_zf.js";
2
- import { p as l, n as o } from "../date-utils-xUWFslTj.js";
3
- function c(n, e, a) {
4
- n && s(n, (r) => {
5
- if (r == null || r === "")
1
+ import { p as l, n as t } from "../date-utils-xUWFslTj.js";
2
+ function o(r, e) {
3
+ return (n) => {
4
+ if (n == null || n === "")
6
5
  return null;
7
- const t = l(r);
8
- if (t === null)
6
+ const a = l(n);
7
+ if (a === null)
9
8
  return null;
10
- const m = o(t), i = o(e);
11
- return m < i ? {
9
+ const i = t(a), s = t(r);
10
+ return i < s ? {
12
11
  code: "date_min",
13
- message: a?.message || `Дата должна быть не ранее ${i.toLocaleDateString()}`,
14
- params: { minDate: e, ...a?.params }
12
+ message: e?.message ?? "invalid",
13
+ params: { minDate: r, ...e?.params }
15
14
  } : null;
16
- });
15
+ };
17
16
  }
18
17
  export {
19
- c as minDate
18
+ o as minDate
20
19
  };
@@ -1,11 +1,15 @@
1
- import { v as a } from "../validate-C3XiA_zf.js";
2
- function m(e, r, n) {
3
- e && a(e, (t) => t && t.length < r ? {
4
- code: "minLength",
5
- message: n?.message || `Минимальная длина: ${r} символов`,
6
- params: { minLength: r, actualLength: t.length, ...n?.params }
7
- } : null);
1
+ function l(r, t) {
2
+ return (n) => {
3
+ if (n == null || n === "")
4
+ return null;
5
+ const e = n.length;
6
+ return typeof e != "number" ? null : e < r ? {
7
+ code: "minLength",
8
+ message: t?.message ?? "invalid",
9
+ params: { minLength: r, actualLength: e, ...t?.params }
10
+ } : null;
11
+ };
8
12
  }
9
13
  export {
10
- m as minLength
14
+ l as minLength
11
15
  };
@@ -1,11 +1,10 @@
1
- import { v as i } from "../validate-C3XiA_zf.js";
2
- function a(m, n, t) {
3
- m && i(m, (r) => r == null ? null : r < n ? {
1
+ function e(r, i) {
2
+ return (n) => n == null ? null : n < r ? {
4
3
  code: "min",
5
- message: t?.message || `Минимальное значение: ${n}`,
6
- params: { min: n, actual: r, ...t?.params }
7
- } : null);
4
+ message: i?.message ?? "invalid",
5
+ params: { min: r, actual: n, ...i?.params }
6
+ } : null;
8
7
  }
9
8
  export {
10
- a as min
9
+ e as min
11
10
  };
@@ -0,0 +1,2 @@
1
+ export * from '../core/validation/validators/multiple-of'
2
+ export {}
@@ -0,0 +1,10 @@
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;
7
+ }
8
+ export {
9
+ l as multipleOf
10
+ };
@@ -0,0 +1,2 @@
1
+ export * from '../core/validation/validators/non-negative'
2
+ export {}
@@ -0,0 +1,10 @@
1
+ function e(r) {
2
+ return (n) => n == null || typeof n != "number" || isNaN(n) ? null : n < 0 ? {
3
+ code: "nonNegative",
4
+ message: r?.message ?? "invalid",
5
+ params: r?.params
6
+ } : null;
7
+ }
8
+ export {
9
+ e as nonNegative
10
+ };
@@ -0,0 +1,2 @@
1
+ export * from '../core/validation/validators/non-zero'
2
+ export {}
@@ -0,0 +1,10 @@
1
+ function e(r) {
2
+ return (n) => n == null || typeof n != "number" || isNaN(n) ? null : n === 0 ? {
3
+ code: "nonZero",
4
+ message: r?.message ?? "invalid",
5
+ params: r?.params
6
+ } : null;
7
+ }
8
+ export {
9
+ e as nonZero
10
+ };
@@ -1,20 +1,19 @@
1
- import { v as o } from "../validate-C3XiA_zf.js";
2
- import { p as u, n as l, g as m } from "../date-utils-xUWFslTj.js";
3
- function d(a, e) {
4
- a && o(a, (r) => {
1
+ import { p as s, n as l, g as o } from "../date-utils-xUWFslTj.js";
2
+ function i(a) {
3
+ return (r) => {
5
4
  if (r == null || r === "")
6
5
  return null;
7
- const t = u(r);
8
- if (t === null)
6
+ const e = s(r);
7
+ if (e === null)
9
8
  return null;
10
- const n = l(t), s = m();
11
- return n > s ? {
9
+ const n = l(e), t = o();
10
+ return n > t ? {
12
11
  code: "date_future",
13
- message: e?.message || "Дата не может быть в будущем",
14
- params: e?.params
12
+ message: a?.message ?? "invalid",
13
+ params: a?.params
15
14
  } : null;
16
- });
15
+ };
17
16
  }
18
17
  export {
19
- d as pastDate
18
+ i as pastDate
20
19
  };
@@ -1,11 +1,10 @@
1
- import { v as n } from "../validate-C3XiA_zf.js";
2
- function u(r, t, e) {
3
- r && n(r, (a) => a ? t.test(a) ? null : {
1
+ function n(r, t) {
2
+ return (e) => e ? r.test(e) ? null : {
4
3
  code: "pattern",
5
- message: e?.message || "Значение не соответствует требуемому формату",
6
- params: { pattern: t.source, ...e?.params }
7
- } : null);
4
+ message: t?.message ?? "invalid",
5
+ params: { pattern: r.source, ...t?.params }
6
+ } : null;
8
7
  }
9
8
  export {
10
- u as pattern
9
+ n as pattern
11
10
  };
@@ -1,35 +1,17 @@
1
- import { v as o } from "../validate-C3XiA_zf.js";
2
- function f(n, s) {
3
- if (!n) return;
4
- const r = s?.format || "any", t = {
5
- // Международный формат: +1234567890 или +1 234 567 8900
6
- international: /^\+?[1-9]\d{1,14}$/,
7
- // Российский формат: +7 (XXX) XXX-XX-XX, 8 (XXX) XXX-XX-XX, и вариации
8
- ru: /^(\+7|7|8)?[\s-]?\(?[489][0-9]{2}\)?[\s-]?[0-9]{3}[\s-]?[0-9]{2}[\s-]?[0-9]{2}$/,
9
- // US формат: (123) 456-7890, 123-456-7890, 1234567890
10
- us: /^(\+?1)?[\s-]?\(?[2-9]\d{2}\)?[\s-]?\d{3}[\s-]?\d{4}$/,
11
- // Любой формат: минимум 10 цифр с возможными разделителями
12
- any: /^[+]?[(]?[0-9]{1,4}[)]?[-\s.]?[(]?[0-9]{1,4}[)]?[-\s.]?[0-9]{1,9}$/
13
- };
14
- o(n, (e) => {
15
- if (!e)
16
- return null;
17
- if (!t[r].test(e)) {
18
- const a = {
19
- international: "Введите телефон в международном формате (например, +1234567890)",
20
- ru: "Введите российский номер телефона (например, +7 900 123-45-67)",
21
- us: "Введите американский номер телефона (например, (123) 456-7890)",
22
- any: "Неверный формат телефона"
23
- };
24
- return {
25
- code: "phone",
26
- message: s?.message || a[r],
27
- params: { format: r, ...s?.params }
28
- };
29
- }
30
- return null;
31
- });
1
+ const t = {
2
+ international: /^\+?[1-9]\d{1,14}$/,
3
+ ru: /^(\+7|7|8)?[\s-]?\(?[489][0-9]{2}\)?[\s-]?[0-9]{3}[\s-]?[0-9]{2}[\s-]?[0-9]{2}$/,
4
+ us: /^(\+?1)?[\s-]?\(?[2-9]\d{2}\)?[\s-]?\d{3}[\s-]?\d{4}$/,
5
+ any: /^\+?\(?[0-9]{1,4}\)?[-\s.]?\(?[0-9]{1,4}\)?[-\s.]?[0-9]{1,9}$/
6
+ };
7
+ function a(s) {
8
+ const n = s?.format ?? "any", e = t[n];
9
+ return (r) => r ? e.test(r) ? null : {
10
+ code: "phone",
11
+ message: s?.message ?? "invalid",
12
+ params: { format: n, ...s?.params }
13
+ } : null;
32
14
  }
33
15
  export {
34
- f as phone
16
+ a as phone
35
17
  };
@@ -1,15 +1,14 @@
1
- import { v as m } from "../validate-C3XiA_zf.js";
2
- function u(a, e) {
3
- a && m(a, (r) => r == null || r === "" ? {
1
+ function a(r) {
2
+ return (e) => e == null || e === "" ? {
4
3
  code: "required",
5
- message: e?.message || "Поле обязательно для заполнения",
6
- params: e?.params
7
- } : typeof r == "boolean" && r !== !0 ? {
4
+ message: r?.message ?? "invalid",
5
+ params: r?.params
6
+ } : typeof e == "boolean" && e !== !0 ? {
8
7
  code: "required",
9
- message: e?.message || "Поле обязательно для заполнения",
10
- params: e?.params
11
- } : null);
8
+ message: r?.message ?? "invalid",
9
+ params: r?.params
10
+ } : null;
12
11
  }
13
12
  export {
14
- u as required
13
+ a as required
15
14
  };
@@ -1,19 +1,22 @@
1
- import { v as s } from "../validate-C3XiA_zf.js";
2
- function m(e, r) {
3
- if (!e) return;
4
- const l = /^(https?:\/\/)?([\da-z.-]+)\.([a-z.]{2,6})([/\w .-]*)*\/?$/i, t = /^https?:\/\/([\da-z.-]+)\.([a-z.]{2,6})([/\w .-]*)*\/?$/i;
5
- s(e, (o) => o ? (r?.requireProtocol ? t : l).test(o) ? r?.allowedProtocols && r.allowedProtocols.length > 0 && !r.allowedProtocols.some(
6
- (a) => o.toLowerCase().startsWith(`${a}://`)
7
- ) ? {
8
- code: "url_protocol",
9
- message: r?.message || `URL должен использовать один из протоколов: ${r.allowedProtocols.join(", ")}`,
10
- params: { allowedProtocols: r.allowedProtocols, ...r?.params }
11
- } : null : {
12
- code: "url",
13
- message: r?.message || "Неверный формат URL",
14
- params: r?.params
15
- } : null);
1
+ const a = /^(https?:\/\/)?([\da-z.-]+)\.([a-z.]{2,6})([/\w .-]*)*\/?$/i, t = /^https?:\/\/([\da-z.-]+)\.([a-z.]{2,6})([/\w .-]*)*\/?$/i;
2
+ function d(e) {
3
+ return (r) => {
4
+ if (!r)
5
+ return null;
6
+ const l = r;
7
+ return (e?.requireProtocol ? t : a).test(l) ? e?.allowedProtocols && e.allowedProtocols.length > 0 && !e.allowedProtocols.some(
8
+ (o) => l.toLowerCase().startsWith(`${o}://`)
9
+ ) ? {
10
+ code: "url_protocol",
11
+ message: e?.message ?? "invalid",
12
+ params: { allowedProtocols: e.allowedProtocols, ...e?.params }
13
+ } : null : {
14
+ code: "url",
15
+ message: e?.message ?? "invalid",
16
+ params: e?.params
17
+ };
18
+ };
16
19
  }
17
20
  export {
18
- m as url
21
+ d as url
19
22
  };