@effect-app/vue-components 4.0.0-beta.157 → 4.0.0-beta.159
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/types/components/OmegaForm/OmegaArray.vue.d.ts +1 -1
- package/dist/types/components/OmegaForm/OmegaAutoGen.vue.d.ts +1 -1
- package/dist/types/components/OmegaForm/OmegaErrorsInternal.vue.d.ts +1 -1
- package/dist/types/components/OmegaForm/OmegaFormInput.vue.d.ts +1 -1
- package/dist/types/components/OmegaForm/OmegaInput.vue.d.ts +1 -1
- package/dist/types/components/OmegaForm/OmegaInternalInput.vue.d.ts +2 -1
- package/dist/types/components/OmegaForm/OmegaWrapper.vue.d.ts +1 -1
- package/dist/types/components/OmegaForm/createUseFormWithCustomInput.d.ts +2 -2
- package/dist/types/components/OmegaForm/errors.d.ts +33 -0
- package/dist/types/components/OmegaForm/getOmegaStore.d.ts +1 -1
- package/dist/types/components/OmegaForm/hocs.d.ts +3 -0
- package/dist/types/components/OmegaForm/index.d.ts +13 -3
- package/dist/types/components/OmegaForm/inputs.d.ts +4 -0
- package/dist/types/components/OmegaForm/meta/checks.d.ts +4 -0
- package/dist/types/components/OmegaForm/meta/createMeta.d.ts +32 -0
- package/dist/types/components/OmegaForm/meta/defaults.d.ts +2 -0
- package/dist/types/components/OmegaForm/meta/redacted.d.ts +2 -0
- package/dist/types/components/OmegaForm/meta/types.d.ts +56 -0
- package/dist/types/components/OmegaForm/meta/walker.d.ts +18 -0
- package/dist/types/components/OmegaForm/persistency.d.ts +58 -0
- package/dist/types/components/OmegaForm/submit.d.ts +60 -0
- package/dist/types/components/OmegaForm/types.d.ts +281 -0
- package/dist/types/components/OmegaForm/useOmegaForm.d.ts +6 -212
- package/dist/types/components/OmegaForm/validation/localized.d.ts +10 -0
- package/dist/vue-components.es.js +24 -16
- package/dist/vue-components10.es.js +4 -4
- package/dist/vue-components11.es.js +19 -12
- package/dist/vue-components12.es.js +22 -444
- package/dist/vue-components13.es.js +126 -3
- package/dist/vue-components14.es.js +61 -34
- package/dist/vue-components15.es.js +57 -24
- package/dist/vue-components16.es.js +20 -26
- package/dist/vue-components17.es.js +4 -6
- package/dist/vue-components18.es.js +78 -16
- package/dist/vue-components19.es.js +86 -30
- package/dist/vue-components20.es.js +72 -17
- package/dist/vue-components21.es.js +10 -19
- package/dist/vue-components22.es.js +54 -28
- package/dist/vue-components23.es.js +4 -6
- package/dist/vue-components24.es.js +43 -8
- package/dist/vue-components25.es.js +4 -37
- package/dist/vue-components26.es.js +83 -24
- package/dist/vue-components28.es.js +6 -22
- package/dist/vue-components29.es.js +8 -20
- package/dist/vue-components3.es.js +2 -2
- package/dist/vue-components30.es.js +267 -7
- package/dist/vue-components32.es.js +7 -4
- package/dist/vue-components33.es.js +71 -27
- package/dist/vue-components34.es.js +4 -4
- package/dist/vue-components35.es.js +50 -27
- package/dist/vue-components36.es.js +4 -5
- package/dist/vue-components37.es.js +23 -17
- package/dist/vue-components38.es.js +4 -55
- package/dist/vue-components39.es.js +57 -3
- package/dist/vue-components40.es.js +4 -43
- package/dist/vue-components41.es.js +11 -4
- package/dist/vue-components42.es.js +17 -79
- package/dist/vue-components44.es.js +8 -7
- package/dist/vue-components45.es.js +3 -8
- package/dist/vue-components46.es.js +36 -267
- package/dist/vue-components47.es.js +27 -0
- package/dist/vue-components48.es.js +27 -7
- package/dist/vue-components49.es.js +6 -79
- package/dist/vue-components50.es.js +17 -4
- package/dist/vue-components51.es.js +32 -69
- package/dist/vue-components52.es.js +17 -4
- package/dist/vue-components53.es.js +19 -22
- package/dist/vue-components54.es.js +29 -4
- package/dist/vue-components55.es.js +6 -58
- package/dist/vue-components56.es.js +8 -4
- package/dist/vue-components57.es.js +37 -11
- package/dist/vue-components58.es.js +24 -21
- package/dist/{vue-components27.es.js → vue-components59.es.js} +2 -2
- package/dist/vue-components6.es.js +11 -11
- package/dist/vue-components60.es.js +23 -8
- package/dist/vue-components61.es.js +18 -232
- package/dist/vue-components62.es.js +7 -31
- package/dist/vue-components63.es.js +19 -8
- package/dist/vue-components64.es.js +4 -35
- package/dist/vue-components65.es.js +29 -0
- package/dist/vue-components66.es.js +5 -0
- package/dist/vue-components67.es.js +29 -0
- package/dist/vue-components68.es.js +6 -0
- package/dist/vue-components69.es.js +18 -0
- package/dist/vue-components7.es.js +11 -26
- package/dist/vue-components70.es.js +40 -0
- package/dist/vue-components71.es.js +81 -0
- package/dist/vue-components72.es.js +33 -0
- package/dist/vue-components73.es.js +19 -0
- package/dist/vue-components74.es.js +48 -0
- package/dist/vue-components8.es.js +33 -45
- package/dist/vue-components9.es.js +46 -4
- package/package.json +7 -7
- package/src/components/CommandButton.vue +3 -1
- package/src/components/OmegaForm/OmegaArray.vue +1 -1
- package/src/components/OmegaForm/OmegaAutoGen.vue +2 -1
- package/src/components/OmegaForm/OmegaErrorsInternal.vue +1 -1
- package/src/components/OmegaForm/OmegaFormInput.vue +1 -1
- package/src/components/OmegaForm/OmegaInput.vue +6 -68
- package/src/components/OmegaForm/OmegaInputVuetify.vue +1 -1
- package/src/components/OmegaForm/OmegaInternalInput.vue +5 -11
- package/src/components/OmegaForm/OmegaTaggedUnion.vue +2 -1
- package/src/components/OmegaForm/OmegaWrapper.vue +1 -1
- package/src/components/OmegaForm/blockDialog.ts +10 -1
- package/src/components/OmegaForm/createUseFormWithCustomInput.ts +2 -1
- package/src/components/OmegaForm/errors.ts +136 -0
- package/src/components/OmegaForm/getOmegaStore.ts +1 -1
- package/src/components/OmegaForm/hocs.ts +19 -0
- package/src/components/OmegaForm/index.ts +16 -4
- package/src/components/OmegaForm/inputs.ts +22 -0
- package/src/components/OmegaForm/meta/checks.ts +81 -0
- package/src/components/OmegaForm/meta/createMeta.ts +138 -0
- package/src/components/OmegaForm/meta/defaults.ts +132 -0
- package/src/components/OmegaForm/meta/redacted.ts +66 -0
- package/src/components/OmegaForm/meta/types.ts +78 -0
- package/src/components/OmegaForm/meta/walker.ts +247 -0
- package/src/components/OmegaForm/persistency.ts +247 -0
- package/src/components/OmegaForm/submit.ts +128 -0
- package/src/components/OmegaForm/types.ts +751 -0
- package/src/components/OmegaForm/useOmegaForm.ts +49 -913
- package/src/components/OmegaForm/validation/localized.ts +202 -0
- package/dist/types/components/OmegaForm/OmegaFormStuff.d.ts +0 -173
- package/dist/vue-components31.es.js +0 -19
- package/src/components/OmegaForm/OmegaFormStuff.ts +0 -1422
|
@@ -1,471 +1,49 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
//#region src/components/OmegaForm/OmegaFormStuff.ts
|
|
5
|
-
var o = /* @__PURE__ */ new Set(), s = () => globalThis.process?.env?.NODE_ENV !== "production", c = (e) => {
|
|
6
|
-
let n = t(e);
|
|
7
|
-
for (; a.AST.isDeclaration(n) && n.typeParameters.length > 0;) n = t(n.typeParameters[0]);
|
|
8
|
-
return n;
|
|
9
|
-
}, l = (e) => a.AST.isUndefined(e) || a.AST.isNull(e), u = (e) => a.AST.isUnion(e) && e.types.length === 1 && a.AST.isLiteral(e.types[0]) ? e.types[0] : e, d = (e) => a.AST.isUnion(e) ? e.types.find((e) => l(e)) : !1, f = (e) => !e || !a.AST.isUnion(e) ? !1 : e.types.find((e) => a.AST.isUndefined(e)) ? "undefined" : e.types.find((e) => a.AST.isNull(e)) ? "null" : !1, p = (e) => {
|
|
10
|
-
let t = [];
|
|
11
|
-
for (let n of e) if (a.AST.isUnion(n)) {
|
|
12
|
-
let e = p(n.types);
|
|
13
|
-
t.push(...e);
|
|
14
|
-
} else t.push(n);
|
|
15
|
-
return t;
|
|
16
|
-
}, m = (e) => p(e).map(c).filter((e) => !l(e)), h = (e) => {
|
|
17
|
-
let t = a.AST.resolve(e)?.jsonSchema;
|
|
18
|
-
return t && typeof t == "object" ? t : {};
|
|
19
|
-
}, g = (e) => {
|
|
20
|
-
if (e?.transformation?.decode?.run) try {
|
|
21
|
-
let t = r.runSync(e.transformation.decode.run(i.none()));
|
|
22
|
-
return i.isSome(t) ? t.value : void 0;
|
|
23
|
-
} catch {
|
|
24
|
-
return;
|
|
25
|
-
}
|
|
26
|
-
}, _ = (e) => {
|
|
27
|
-
let t = e.context?.defaultValue?.[0], n = g(t);
|
|
28
|
-
if (n !== void 0) return n;
|
|
29
|
-
let r = e.encoding?.[0];
|
|
30
|
-
if (r && e.context?.isOptional) return g(r);
|
|
31
|
-
}, v = (e) => (e.checks ?? []).flatMap((e) => {
|
|
1
|
+
import { S as e } from "effect-app";
|
|
2
|
+
//#region src/components/OmegaForm/meta/checks.ts
|
|
3
|
+
var t = (e) => (e.checks ?? []).flatMap((e) => {
|
|
32
4
|
if (e._tag === "FilterGroup") return e.checks.flatMap((e) => {
|
|
33
5
|
let t = e.annotations?.meta;
|
|
34
6
|
return t && typeof t == "object" ? [t] : [];
|
|
35
7
|
});
|
|
36
8
|
let t = e.annotations?.meta;
|
|
37
9
|
return t && typeof t == "object" ? [t] : [];
|
|
38
|
-
}),
|
|
39
|
-
let
|
|
40
|
-
if (
|
|
41
|
-
|
|
42
|
-
for (let e of
|
|
10
|
+
}), n = (n) => {
|
|
11
|
+
let r = { description: e.AST.resolveDescription(n) }, i = t(n);
|
|
12
|
+
if (e.AST.isString(n)) {
|
|
13
|
+
r.type = "string";
|
|
14
|
+
for (let e of i) switch (e._tag) {
|
|
43
15
|
case "isMinLength":
|
|
44
|
-
|
|
16
|
+
r.minLength = e.minLength;
|
|
45
17
|
break;
|
|
46
18
|
case "isMaxLength":
|
|
47
|
-
|
|
19
|
+
r.maxLength = e.maxLength;
|
|
48
20
|
break;
|
|
49
21
|
}
|
|
50
|
-
|
|
51
|
-
} else if (
|
|
52
|
-
|
|
53
|
-
for (let e of
|
|
22
|
+
n.annotations?.format === "email" && (r.format = "email");
|
|
23
|
+
} else if (e.AST.isNumber(n)) {
|
|
24
|
+
r.type = "number";
|
|
25
|
+
for (let e of i) switch (e._tag) {
|
|
54
26
|
case "isInt":
|
|
55
|
-
|
|
27
|
+
r.refinement = "int";
|
|
56
28
|
break;
|
|
57
29
|
case "isGreaterThanOrEqualTo":
|
|
58
|
-
|
|
30
|
+
r.minimum = e.minimum;
|
|
59
31
|
break;
|
|
60
32
|
case "isLessThanOrEqualTo":
|
|
61
|
-
|
|
33
|
+
r.maximum = e.maximum;
|
|
62
34
|
break;
|
|
63
35
|
case "isBetween":
|
|
64
|
-
|
|
36
|
+
r.minimum = e.minimum, r.maximum = e.maximum;
|
|
65
37
|
break;
|
|
66
38
|
case "isGreaterThan":
|
|
67
|
-
|
|
39
|
+
r.exclusiveMinimum = e.exclusiveMinimum;
|
|
68
40
|
break;
|
|
69
41
|
case "isLessThan":
|
|
70
|
-
|
|
42
|
+
r.exclusiveMaximum = e.exclusiveMaximum;
|
|
71
43
|
break;
|
|
72
44
|
}
|
|
73
|
-
} else
|
|
74
|
-
return t;
|
|
75
|
-
}, b = ({ meta: e = {}, parent: t = "", property: n, propertySignatures: r }, i = {}, o) => {
|
|
76
|
-
if (n &&= c(n), n && a.AST.isObjects(n)) return b({
|
|
77
|
-
meta: e,
|
|
78
|
-
propertySignatures: n.propertySignatures
|
|
79
|
-
});
|
|
80
|
-
if (r) {
|
|
81
|
-
for (let n of r) {
|
|
82
|
-
let r = t ? `${t}.${n.name.toString()}` : n.name.toString(), s = f(n.type), l = n.type.context?.isOptional === !0, u;
|
|
83
|
-
u = e._isNullableDiscriminatedUnion && n.name.toString() === "_tag" || e.required === !1 || l ? !1 : !s;
|
|
84
|
-
let d = c(n.type);
|
|
85
|
-
if (a.AST.isUnion(n.type)) {
|
|
86
|
-
let e = m(n.type.types);
|
|
87
|
-
if (e.some(a.AST.isObjects)) {
|
|
88
|
-
s || (i[r] = b({
|
|
89
|
-
parent: r,
|
|
90
|
-
property: n.type,
|
|
91
|
-
meta: {
|
|
92
|
-
required: u,
|
|
93
|
-
nullableOrUndefined: s
|
|
94
|
-
}
|
|
95
|
-
}));
|
|
96
|
-
for (let t of e) if (a.AST.isObjects(t)) {
|
|
97
|
-
let n = s && e.length > 1, a = b({
|
|
98
|
-
parent: r,
|
|
99
|
-
propertySignatures: t.propertySignatures,
|
|
100
|
-
meta: n ? { _isNullableDiscriminatedUnion: !0 } : {}
|
|
101
|
-
});
|
|
102
|
-
for (let [e, t] of Object.entries(a)) {
|
|
103
|
-
let n = i[e];
|
|
104
|
-
n && n.type === "select" && t?.type === "select" ? n.members = [...n.members, ...t.members.filter((e) => !n.members.includes(e))] : i[e] = t;
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
} else {
|
|
108
|
-
let t = e.filter(a.AST.isArrays);
|
|
109
|
-
if (t.length > 0) {
|
|
110
|
-
let e = t[0];
|
|
111
|
-
if (i[r] = {
|
|
112
|
-
type: "multiple",
|
|
113
|
-
members: e.elements,
|
|
114
|
-
rest: e.rest,
|
|
115
|
-
required: u,
|
|
116
|
-
nullableOrUndefined: s
|
|
117
|
-
}, o && (o[r] = n.type), e.rest && e.rest.length > 0) {
|
|
118
|
-
let t = c(e.rest[0]);
|
|
119
|
-
if (a.AST.isObjects(t)) for (let e of t.propertySignatures) {
|
|
120
|
-
let t = `${r}.${e.name.toString()}`, n = b({
|
|
121
|
-
parent: t,
|
|
122
|
-
property: e.type,
|
|
123
|
-
meta: {
|
|
124
|
-
required: !f(e.type),
|
|
125
|
-
nullableOrUndefined: f(e.type)
|
|
126
|
-
}
|
|
127
|
-
});
|
|
128
|
-
if (n && typeof n == "object" && "type" in n && (i[t] = n, o && (o[t] = e.type), n.type === "multiple" && a.AST.isArrays(e.type) && e.type.rest && e.type.rest.length > 0)) {
|
|
129
|
-
let n = c(e.type.rest[0]);
|
|
130
|
-
if (a.AST.isObjects(n)) for (let e of n.propertySignatures) {
|
|
131
|
-
let n = `${t}.${e.name.toString()}`, r = b({
|
|
132
|
-
parent: n,
|
|
133
|
-
property: e.type,
|
|
134
|
-
meta: {
|
|
135
|
-
required: !f(e.type),
|
|
136
|
-
nullableOrUndefined: f(e.type)
|
|
137
|
-
}
|
|
138
|
-
});
|
|
139
|
-
r && typeof r == "object" && "type" in r && (i[n] = r, o && (o[n] = e.type));
|
|
140
|
-
}
|
|
141
|
-
}
|
|
142
|
-
}
|
|
143
|
-
}
|
|
144
|
-
} else i[r] = b({
|
|
145
|
-
parent: r,
|
|
146
|
-
property: n.type,
|
|
147
|
-
meta: {
|
|
148
|
-
required: u,
|
|
149
|
-
nullableOrUndefined: s
|
|
150
|
-
}
|
|
151
|
-
}), o && (o[r] = n.type);
|
|
152
|
-
}
|
|
153
|
-
} else if (a.AST.isObjects(d)) Object.assign(i, b({
|
|
154
|
-
parent: r,
|
|
155
|
-
propertySignatures: d.propertySignatures,
|
|
156
|
-
meta: {
|
|
157
|
-
required: u,
|
|
158
|
-
nullableOrUndefined: s
|
|
159
|
-
}
|
|
160
|
-
}, {}, o));
|
|
161
|
-
else if (a.AST.isArrays(n.type)) if (n.type.rest.length > 0 && a.AST.isObjects(c(n.type.rest[0]))) {
|
|
162
|
-
let e = c(n.type.rest[0]);
|
|
163
|
-
if (a.AST.isObjects(e)) for (let t of e.propertySignatures) {
|
|
164
|
-
let e = `${r}.${t.name.toString()}`;
|
|
165
|
-
if (a.AST.isArrays(t.type) && t.type.rest.length > 0) {
|
|
166
|
-
let n = c(t.type.rest[0]);
|
|
167
|
-
if (a.AST.isObjects(n)) for (let t of n.propertySignatures) {
|
|
168
|
-
let n = `${e}.${t.name.toString()}`;
|
|
169
|
-
i[n] = b({
|
|
170
|
-
parent: n,
|
|
171
|
-
property: t.type,
|
|
172
|
-
meta: {
|
|
173
|
-
required: !f(t.type),
|
|
174
|
-
nullableOrUndefined: f(t.type)
|
|
175
|
-
}
|
|
176
|
-
}), o && (o[n] = t.type);
|
|
177
|
-
}
|
|
178
|
-
else i[e] = {
|
|
179
|
-
type: "multiple",
|
|
180
|
-
members: t.type.elements,
|
|
181
|
-
rest: t.type.rest,
|
|
182
|
-
required: !f(t.type),
|
|
183
|
-
nullableOrUndefined: f(t.type)
|
|
184
|
-
}, o && (o[e] = t.type);
|
|
185
|
-
} else i[e] = b({
|
|
186
|
-
parent: e,
|
|
187
|
-
property: t.type,
|
|
188
|
-
meta: {
|
|
189
|
-
required: !f(t.type),
|
|
190
|
-
nullableOrUndefined: f(t.type)
|
|
191
|
-
}
|
|
192
|
-
}), o && (o[e] = t.type);
|
|
193
|
-
}
|
|
194
|
-
} else i[r] = {
|
|
195
|
-
type: "multiple",
|
|
196
|
-
members: n.type.elements,
|
|
197
|
-
rest: n.type.rest,
|
|
198
|
-
required: u,
|
|
199
|
-
nullableOrUndefined: s
|
|
200
|
-
}, o && (o[r] = n.type);
|
|
201
|
-
else i[r] = b({
|
|
202
|
-
parent: r,
|
|
203
|
-
property: n.type,
|
|
204
|
-
meta: {
|
|
205
|
-
required: u && (!a.AST.isString(d) || !!y(d).minLength),
|
|
206
|
-
nullableOrUndefined: s,
|
|
207
|
-
...l ? { isOptionalKey: !0 } : {}
|
|
208
|
-
}
|
|
209
|
-
}), o && (o[r] = n.type);
|
|
210
|
-
}
|
|
211
|
-
return i;
|
|
212
|
-
}
|
|
213
|
-
if (n) {
|
|
214
|
-
let r = d(n);
|
|
215
|
-
if (n = c(n), Object.hasOwnProperty.call(e, "required") || (e.required = !r), a.AST.isUnion(n)) {
|
|
216
|
-
let r = p(n.types).map(c), i = r.filter((e) => !l(e));
|
|
217
|
-
if (i.length === 1 && a.AST.isLiteral(i[0]) && typeof i[0].literal == "boolean") return b({
|
|
218
|
-
parent: t,
|
|
219
|
-
meta: e,
|
|
220
|
-
property: i[0]
|
|
221
|
-
});
|
|
222
|
-
let o = i[0];
|
|
223
|
-
if (a.AST.isObjects(o)) return b({
|
|
224
|
-
propertySignatures: o.propertySignatures,
|
|
225
|
-
parent: t,
|
|
226
|
-
meta: e
|
|
227
|
-
});
|
|
228
|
-
let s = r.map(u);
|
|
229
|
-
return s.every((e) => l(e) || a.AST.isLiteral(e)) ? {
|
|
230
|
-
...e,
|
|
231
|
-
type: "select",
|
|
232
|
-
members: s.filter(a.AST.isLiteral).map((e) => e.literal)
|
|
233
|
-
} : {
|
|
234
|
-
...e,
|
|
235
|
-
...b({
|
|
236
|
-
parent: t,
|
|
237
|
-
meta: e,
|
|
238
|
-
property: o
|
|
239
|
-
})
|
|
240
|
-
};
|
|
241
|
-
}
|
|
242
|
-
return a.AST.isArrays(n) ? {
|
|
243
|
-
...e,
|
|
244
|
-
type: "multiple",
|
|
245
|
-
members: n.elements,
|
|
246
|
-
rest: n.rest
|
|
247
|
-
} : a.AST.isLiteral(n) ? {
|
|
248
|
-
...e,
|
|
249
|
-
type: "select",
|
|
250
|
-
members: [n.literal]
|
|
251
|
-
} : (e = {
|
|
252
|
-
...h(n),
|
|
253
|
-
...y(n),
|
|
254
|
-
...e
|
|
255
|
-
}, e);
|
|
256
|
-
}
|
|
257
|
-
return i;
|
|
258
|
-
}, x = (e, t = "") => {
|
|
259
|
-
let n = {};
|
|
260
|
-
for (let r in e) {
|
|
261
|
-
let i = e[r], a = t ? `${t}.${r}` : r;
|
|
262
|
-
i && typeof i == "object" && "type" in i ? n[a] = i : i && typeof i == "object" && Object.assign(n, x(i, a));
|
|
263
|
-
}
|
|
264
|
-
return n;
|
|
265
|
-
}, S = (e) => {
|
|
266
|
-
let t = c(e.ast), n = {}, r = {}, i = {}, l = {}, d = (e, t) => {
|
|
267
|
-
let n = a.make(e), r = t ? n : a.NullishOr(n);
|
|
268
|
-
return a.toStandardSchemaV1(r);
|
|
269
|
-
}, f = (e) => {
|
|
270
|
-
for (let [t, n] of Object.entries(l)) {
|
|
271
|
-
let r = e[t];
|
|
272
|
-
if (r) try {
|
|
273
|
-
let e = r.required ?? !0;
|
|
274
|
-
Object.defineProperty(r, "originalSchema", {
|
|
275
|
-
value: d(n, e),
|
|
276
|
-
enumerable: !1,
|
|
277
|
-
configurable: !0,
|
|
278
|
-
writable: !0
|
|
279
|
-
});
|
|
280
|
-
} catch {
|
|
281
|
-
Object.defineProperty(r, "originalSchema", {
|
|
282
|
-
value: a.toStandardSchemaV1(a.Unknown),
|
|
283
|
-
enumerable: !1,
|
|
284
|
-
configurable: !0,
|
|
285
|
-
writable: !0
|
|
286
|
-
});
|
|
287
|
-
}
|
|
288
|
-
}
|
|
289
|
-
};
|
|
290
|
-
if (a.AST.isUnion(t)) {
|
|
291
|
-
let e = m(t.types);
|
|
292
|
-
if (e.every(a.AST.isObjects) && e.length > 0) {
|
|
293
|
-
let t = [];
|
|
294
|
-
for (let r of e) if (a.AST.isObjects(r)) {
|
|
295
|
-
let e = r.propertySignatures.find((e) => e.name.toString() === "_tag"), c = null, d = e ? u(e.type) : null;
|
|
296
|
-
d && a.AST.isLiteral(d) && (c = d.literal, t.push(c), e && a.AST.isUnion(e.type) && s() && c != null && !o.has(c) && (o.add(c), console.warn(`[OmegaForm] Union member with _tag "${c}" uses S.Struct({ _tag: S.Literal("${c}"), ... }). Please migrate to S.TaggedStruct("${c}", { ... }) for cleaner AST handling.`)));
|
|
297
|
-
let f = b({ propertySignatures: r.propertySignatures }, {}, l);
|
|
298
|
-
c && (i[c] = x(f)), Object.assign(n, f);
|
|
299
|
-
}
|
|
300
|
-
return t.length > 0 && (n._tag = {
|
|
301
|
-
type: "select",
|
|
302
|
-
members: t,
|
|
303
|
-
required: !0
|
|
304
|
-
}), f(n), {
|
|
305
|
-
meta: n,
|
|
306
|
-
defaultValues: r,
|
|
307
|
-
unionMeta: i
|
|
308
|
-
};
|
|
309
|
-
}
|
|
310
|
-
}
|
|
311
|
-
if (a.AST.isObjects(t)) {
|
|
312
|
-
let e = b({ propertySignatures: t.propertySignatures }, {}, l);
|
|
313
|
-
if (Object.values(e).every((e) => e && "type" in e)) {
|
|
314
|
-
let t = e;
|
|
315
|
-
return f(t), {
|
|
316
|
-
meta: t,
|
|
317
|
-
defaultValues: r,
|
|
318
|
-
unionMeta: i
|
|
319
|
-
};
|
|
320
|
-
}
|
|
321
|
-
let a = (e, t = "") => {
|
|
322
|
-
for (let r in e) {
|
|
323
|
-
let i = t ? `${t}.${r}` : r;
|
|
324
|
-
e[r] && typeof e[r] == "object" && "type" in e[r] ? n[i] = e[r] : e[r] && typeof e[r] == "object" && a(e[r], i);
|
|
325
|
-
}
|
|
326
|
-
};
|
|
327
|
-
a(e);
|
|
328
|
-
}
|
|
329
|
-
return f(n), {
|
|
330
|
-
meta: n,
|
|
331
|
-
defaultValues: r,
|
|
332
|
-
unionMeta: i
|
|
333
|
-
};
|
|
334
|
-
}, C = (e) => a.AST.isDeclaration(e) && e.annotations?.typeConstructor?._tag === "effect/Redacted" && !e.encoding, w = (e) => {
|
|
335
|
-
let t = e.ast, n = a.AST.isObjects(t) ? t : a.AST.isDeclaration(t) ? a.AST.toEncoded(t) : null;
|
|
336
|
-
if (!n || !("propertySignatures" in n)) return e;
|
|
337
|
-
let r = !1, i = {};
|
|
338
|
-
for (let e of n.propertySignatures) if (C(e.type)) {
|
|
339
|
-
r = !0;
|
|
340
|
-
let t = a.make(e.type.typeParameters[0]);
|
|
341
|
-
i[e.name] = a.RedactedFromValue(t);
|
|
342
|
-
} else if (a.AST.isUnion(e.type)) {
|
|
343
|
-
let t = e.type.types, n = t.find(C);
|
|
344
|
-
if (n) {
|
|
345
|
-
r = !0;
|
|
346
|
-
let o = a.make(n.typeParameters[0]), s = t.some(a.AST.isNull), c = t.some(a.AST.isUndefined), l = a.RedactedFromValue(o);
|
|
347
|
-
i[e.name] = s && c ? a.NullishOr(l) : s ? a.NullOr(l) : c ? a.UndefinedOr(l) : l;
|
|
348
|
-
} else i[e.name] = a.make(e.type);
|
|
349
|
-
} else i[e.name] = a.make(e.type);
|
|
350
|
-
return r ? a.Struct(i) : e;
|
|
351
|
-
}, T = (e) => e, E = (e) => {
|
|
352
|
-
let { meta: t, unionMeta: n } = S(e);
|
|
353
|
-
return {
|
|
354
|
-
schema: e,
|
|
355
|
-
meta: t,
|
|
356
|
-
unionMeta: n
|
|
357
|
-
};
|
|
358
|
-
}, D = (e, t) => {
|
|
359
|
-
t ||= n().trans;
|
|
360
|
-
let r;
|
|
361
|
-
switch (e.type) {
|
|
362
|
-
case "string":
|
|
363
|
-
r = e.format === "email" ? a.Email.annotate({ message: t("validation.email.invalid") }) : a.String.annotate({ message: t("validation.empty") }), e.required && (r = r.check(a.isMinLength(1, { message: t("validation.empty") }))), typeof e.maxLength == "number" && (r = r.check(a.isMaxLength(e.maxLength, { message: t("validation.string.maxLength", { maxLength: e.maxLength }) }))), typeof e.minLength == "number" && (r = r.check(a.isMinLength(e.minLength, { message: t("validation.string.minLength", { minLength: e.minLength }) })));
|
|
364
|
-
break;
|
|
365
|
-
case "number":
|
|
366
|
-
e.refinement === "int" ? r = a.Number.annotate({ message: t("validation.empty") }).check(a.isInt({ message: t("validation.integer.expected", { actualValue: "NaN" }) })) : (r = a.Finite.annotate({ message: t("validation.number.expected", { actualValue: "NaN" }) }), e.required && (r = r.annotate({ message: t("validation.empty") }))), typeof e.minimum == "number" && (r = r.check(a.isGreaterThanOrEqualTo(e.minimum, { message: t(e.minimum === 0 ? "validation.number.positive" : "validation.number.min", {
|
|
367
|
-
minimum: e.minimum,
|
|
368
|
-
isExclusive: !0
|
|
369
|
-
}) }))), typeof e.maximum == "number" && (r = r.check(a.isLessThanOrEqualTo(e.maximum, { message: t("validation.number.max", {
|
|
370
|
-
maximum: e.maximum,
|
|
371
|
-
isExclusive: !0
|
|
372
|
-
}) }))), typeof e.exclusiveMinimum == "number" && (r = r.check(a.isGreaterThan(e.exclusiveMinimum, { message: t(e.exclusiveMinimum === 0 ? "validation.number.positive" : "validation.number.min", {
|
|
373
|
-
minimum: e.exclusiveMinimum,
|
|
374
|
-
isExclusive: !1
|
|
375
|
-
}) }))), typeof e.exclusiveMaximum == "number" && (r = r.check(a.isLessThan(e.exclusiveMaximum, { message: t("validation.number.max", {
|
|
376
|
-
maximum: e.exclusiveMaximum,
|
|
377
|
-
isExclusive: !1
|
|
378
|
-
}) })));
|
|
379
|
-
break;
|
|
380
|
-
case "select":
|
|
381
|
-
r = a.Literals(e.members).annotate({ message: t("validation.not_a_valid", {
|
|
382
|
-
type: "select",
|
|
383
|
-
message: e.members.join(", ")
|
|
384
|
-
}) });
|
|
385
|
-
break;
|
|
386
|
-
case "multiple":
|
|
387
|
-
r = a.Array(a.String).annotate({ message: t("validation.not_a_valid", {
|
|
388
|
-
type: "multiple",
|
|
389
|
-
message: e.members.join(", ")
|
|
390
|
-
}) });
|
|
391
|
-
break;
|
|
392
|
-
case "boolean":
|
|
393
|
-
r = a.Boolean;
|
|
394
|
-
break;
|
|
395
|
-
case "date":
|
|
396
|
-
r = a.Date;
|
|
397
|
-
break;
|
|
398
|
-
case "unknown":
|
|
399
|
-
r = a.Unknown;
|
|
400
|
-
break;
|
|
401
|
-
default:
|
|
402
|
-
console.warn(`Unhandled field type: ${e}`), r = a.Unknown;
|
|
403
|
-
break;
|
|
404
|
-
}
|
|
405
|
-
return e.required || (r = a.NullishOr(r)), a.toStandardSchemaV1(r);
|
|
406
|
-
}, O = [
|
|
407
|
-
"button",
|
|
408
|
-
"checkbox",
|
|
409
|
-
"color",
|
|
410
|
-
"date",
|
|
411
|
-
"email",
|
|
412
|
-
"number",
|
|
413
|
-
"password",
|
|
414
|
-
"radio",
|
|
415
|
-
"range",
|
|
416
|
-
"search",
|
|
417
|
-
"submit",
|
|
418
|
-
"tel",
|
|
419
|
-
"text",
|
|
420
|
-
"time",
|
|
421
|
-
"url"
|
|
422
|
-
], k = (e) => O.includes(e) ? e : "text";
|
|
423
|
-
function A(t, n) {
|
|
424
|
-
let r = { ...t };
|
|
425
|
-
for (let t in n) Array.isArray(n[t]) ? r[t] = n[t] : n[t] && e(n[t]) ? r[t] = A(r[t], n[t]) : r[t] = n[t];
|
|
45
|
+
} else e.AST.isBoolean(n) ? r.type = "boolean" : e.AST.isDeclaration(n) && n.annotations?.typeConstructor?._tag === "Date" ? r.type = "date" : r.type = "unknown";
|
|
426
46
|
return r;
|
|
427
|
-
}
|
|
428
|
-
function j(e) {
|
|
429
|
-
return e && "members" in e && Array.isArray(e.members);
|
|
430
|
-
}
|
|
431
|
-
var M = (e, t = {}) => {
|
|
432
|
-
let n = e.ast, r = _(n);
|
|
433
|
-
if (r !== void 0) return r;
|
|
434
|
-
if (f(e.ast) === "null") return null;
|
|
435
|
-
if (f(e.ast) === "undefined") return;
|
|
436
|
-
let i = a.AST.isObjects(n) ? n : a.AST.isDeclaration(n) ? c(n) : void 0;
|
|
437
|
-
if (i && a.AST.isObjects(i)) {
|
|
438
|
-
let e = {};
|
|
439
|
-
for (let n of i.propertySignatures) {
|
|
440
|
-
let r = n.name.toString(), i = n.type, o = _(i);
|
|
441
|
-
if (o !== void 0) {
|
|
442
|
-
e[r] = o;
|
|
443
|
-
continue;
|
|
444
|
-
}
|
|
445
|
-
let s = M(a.make(i), t[r] || {});
|
|
446
|
-
s === void 0 ? f(i) === "undefined" && (e[r] = void 0) : e[r] = s;
|
|
447
|
-
}
|
|
448
|
-
return {
|
|
449
|
-
...e,
|
|
450
|
-
...t
|
|
451
|
-
};
|
|
452
|
-
}
|
|
453
|
-
let o = a.AST.isUnion(n) ? n.types : j(e) ? e.members.map((e) => e.ast) : void 0;
|
|
454
|
-
if (o) {
|
|
455
|
-
let e = {};
|
|
456
|
-
for (let t of o) {
|
|
457
|
-
let n = c(t);
|
|
458
|
-
if (a.AST.isObjects(n)) for (let t of n.propertySignatures) {
|
|
459
|
-
let n = t.name.toString(), r = _(t.type), i = e[n] ? _(e[n].ast) : void 0;
|
|
460
|
-
(!e[n] || r !== void 0 && i === void 0) && (e[n] = { ast: t.type });
|
|
461
|
-
}
|
|
462
|
-
}
|
|
463
|
-
return Object.keys(e).length === 0 ? Object.keys(t).length > 0 ? t : void 0 : Object.entries(e).reduce((e, [n, { ast: r }]) => (e[n] = M(a.make(r), t[n] || {}), e), t);
|
|
464
|
-
}
|
|
465
|
-
if (Object.keys(t).length === 0) {
|
|
466
|
-
if (a.AST.isString(n)) return "";
|
|
467
|
-
if (a.AST.isBoolean(n)) return !1;
|
|
468
|
-
}
|
|
469
47
|
};
|
|
470
48
|
//#endregion
|
|
471
|
-
export {
|
|
49
|
+
export { n as getFieldMetadataFromAst };
|
|
@@ -1,4 +1,127 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
import { getFieldMetadataFromAst as e } from "./vue-components12.es.js";
|
|
2
|
+
import { isNullableOrUndefined as t, unwrapDeclaration as n } from "./vue-components14.es.js";
|
|
3
|
+
import { S as r } from "effect-app";
|
|
4
|
+
//#region src/components/OmegaForm/meta/walker.ts
|
|
5
|
+
var i = (e) => r.AST.isUndefined(e) || r.AST.isNull(e), a = (e) => r.AST.isUnion(e) && e.types.length === 1 && r.AST.isLiteral(e.types[0]) ? e.types[0] : e, o = (e) => e.flatMap((e) => r.AST.isUnion(e) ? o(e.types) : [e]), s = (t, n) => {
|
|
6
|
+
let { nullableOrUndefined: i, required: a } = n;
|
|
7
|
+
return r.AST.isArrays(t) ? {
|
|
8
|
+
required: a,
|
|
9
|
+
nullableOrUndefined: i,
|
|
10
|
+
type: "multiple",
|
|
11
|
+
members: t.elements,
|
|
12
|
+
rest: t.rest
|
|
13
|
+
} : r.AST.isLiteral(t) ? {
|
|
14
|
+
required: a,
|
|
15
|
+
nullableOrUndefined: i,
|
|
16
|
+
type: "select",
|
|
17
|
+
members: [t.literal]
|
|
18
|
+
} : {
|
|
19
|
+
...e(t),
|
|
20
|
+
required: a,
|
|
21
|
+
nullableOrUndefined: i
|
|
22
|
+
};
|
|
23
|
+
}, c = (e, n, r, i) => {
|
|
24
|
+
for (let a of e) {
|
|
25
|
+
let e = n ? `${n}.${a.name.toString()}` : a.name.toString(), o = t(a.type), s = a.type.context?.isOptional === !0, c;
|
|
26
|
+
c = r.isNullableDiscriminatedUnion && a.name.toString() === "_tag" || r.required === !1 || s ? !1 : !o, u(a.type, e, {
|
|
27
|
+
required: c,
|
|
28
|
+
nullableOrUndefined: o,
|
|
29
|
+
isOptionalKey: s
|
|
30
|
+
}, i);
|
|
31
|
+
}
|
|
32
|
+
}, l = (e, t, l, d) => {
|
|
33
|
+
let { acc: f } = d, p = o(e.types).map(n), m = p.filter((e) => !i(e));
|
|
34
|
+
if (m.length === 1 && r.AST.isLiteral(m[0]) && typeof m[0].literal == "boolean") {
|
|
35
|
+
f[t] = s(m[0], l);
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
if (m.some(r.AST.isObjects)) {
|
|
39
|
+
let e = !!l.nullableOrUndefined && m.length > 1;
|
|
40
|
+
if (!l.nullableOrUndefined && t) {
|
|
41
|
+
let e = m.find((e) => !r.AST.isObjects(e));
|
|
42
|
+
e && (f[t] = s(e, l));
|
|
43
|
+
}
|
|
44
|
+
let n = [], i = e ? {
|
|
45
|
+
required: !0,
|
|
46
|
+
nullableOrUndefined: !1,
|
|
47
|
+
isNullableDiscriminatedUnion: !0
|
|
48
|
+
} : {
|
|
49
|
+
required: !0,
|
|
50
|
+
nullableOrUndefined: !1
|
|
51
|
+
};
|
|
52
|
+
for (let e of m) {
|
|
53
|
+
if (!r.AST.isObjects(e)) continue;
|
|
54
|
+
let o = e.propertySignatures.find((e) => e.name.toString() === "_tag"), s = o ? a(o.type) : null, l = null;
|
|
55
|
+
s && r.AST.isLiteral(s) && (l = s.literal, n.includes(l) || n.push(l));
|
|
56
|
+
let u = {
|
|
57
|
+
acc: {},
|
|
58
|
+
unionMeta: d.unionMeta
|
|
59
|
+
};
|
|
60
|
+
if (c(e.propertySignatures, t, i, u), l) {
|
|
61
|
+
let e = d.unionMeta[l];
|
|
62
|
+
e ? Object.assign(e, u.acc) : d.unionMeta[l] = u.acc;
|
|
63
|
+
}
|
|
64
|
+
for (let [e, t] of Object.entries(u.acc)) {
|
|
65
|
+
let n = f[e];
|
|
66
|
+
n && n.type === "select" && t?.type === "select" ? n.members = [...n.members, ...t.members.filter((e) => !n.members.includes(e))] : f[e] = t;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
if (n.length > 0) {
|
|
70
|
+
let r = t ? `${t}._tag` : "_tag", i = f[r];
|
|
71
|
+
if (i && i.type === "select") for (let e of n) i.members.includes(e) || i.members.push(e);
|
|
72
|
+
else f[r] = {
|
|
73
|
+
type: "select",
|
|
74
|
+
members: n,
|
|
75
|
+
required: !e
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
return;
|
|
79
|
+
}
|
|
80
|
+
if (m.some(r.AST.isArrays)) {
|
|
81
|
+
u(m.find(r.AST.isArrays), t, l, d);
|
|
82
|
+
return;
|
|
83
|
+
}
|
|
84
|
+
let h = p.map(a);
|
|
85
|
+
if (h.every((e) => i(e) || r.AST.isLiteral(e))) {
|
|
86
|
+
let { isOptionalKey: e, nullableOrUndefined: n, required: i } = l, a = {
|
|
87
|
+
required: i,
|
|
88
|
+
nullableOrUndefined: n,
|
|
89
|
+
type: "select",
|
|
90
|
+
members: h.filter(r.AST.isLiteral).map((e) => e.literal)
|
|
91
|
+
};
|
|
92
|
+
e && (a.isOptionalKey = !0), f[t] = a;
|
|
93
|
+
return;
|
|
94
|
+
}
|
|
95
|
+
let g = m[0];
|
|
96
|
+
g && u(g, t, l, d);
|
|
97
|
+
}, u = (t, i, a, o) => {
|
|
98
|
+
t = n(t);
|
|
99
|
+
let { acc: u } = o;
|
|
100
|
+
if (r.AST.isObjects(t)) {
|
|
101
|
+
c(t.propertySignatures, i, a, o);
|
|
102
|
+
return;
|
|
103
|
+
}
|
|
104
|
+
if (r.AST.isUnion(t)) {
|
|
105
|
+
l(t, i, a, o);
|
|
106
|
+
return;
|
|
107
|
+
}
|
|
108
|
+
if (r.AST.isArrays(t)) {
|
|
109
|
+
let e = t.rest.length > 0 ? n(t.rest[0]) : null;
|
|
110
|
+
if (e && r.AST.isObjects(e)) {
|
|
111
|
+
c(e.propertySignatures, i, {
|
|
112
|
+
required: !0,
|
|
113
|
+
nullableOrUndefined: !1
|
|
114
|
+
}, o);
|
|
115
|
+
return;
|
|
116
|
+
}
|
|
117
|
+
u[i] = s(t, a);
|
|
118
|
+
return;
|
|
119
|
+
}
|
|
120
|
+
let { isOptionalKey: d, nullableOrUndefined: f, required: p } = a, m = {
|
|
121
|
+
required: p && (!r.AST.isString(t) || !!e(t).minLength),
|
|
122
|
+
nullableOrUndefined: f
|
|
123
|
+
}, h = s(t, m);
|
|
124
|
+
d && (h.isOptionalKey = !0), u[i] = h;
|
|
125
|
+
};
|
|
3
126
|
//#endregion
|
|
4
|
-
export {
|
|
127
|
+
export { l as classifyAndWalkUnion, s as leafMetaForAst, c as walkStruct };
|