@effect-app/vue 0.160.0 → 0.161.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.
- package/CHANGELOG.md +24 -0
- package/_cjs/form.cjs +65 -9
- package/_cjs/form.cjs.map +1 -1
- package/dist/form.d.ts +23 -13
- package/dist/form.d.ts.map +1 -1
- package/dist/form.js +62 -11
- package/package.json +5 -5
- package/src/form.ts +109 -21
- package/test/dist/form.test.d.ts.map +1 -1
- package/test/form.test.ts.bak +245 -0
- package/test/form.test.ts +0 -61
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,29 @@
|
|
|
1
1
|
# @effect-app/vue
|
|
2
2
|
|
|
3
|
+
## 0.161.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- 2044733: form updates
|
|
8
|
+
|
|
9
|
+
### Patch Changes
|
|
10
|
+
|
|
11
|
+
- Updated dependencies [2044733]
|
|
12
|
+
- @effect-app/vue@0.161.0
|
|
13
|
+
- @effect-app/core@0.165.0
|
|
14
|
+
- effect-app@0.196.2
|
|
15
|
+
- @effect-app/schema@0.215.2
|
|
16
|
+
|
|
17
|
+
## 0.160.1
|
|
18
|
+
|
|
19
|
+
### Patch Changes
|
|
20
|
+
|
|
21
|
+
- Updated dependencies [a9a81a1]
|
|
22
|
+
- @effect-app/core@0.164.0
|
|
23
|
+
- effect-app@0.196.1
|
|
24
|
+
- @effect-app/schema@0.215.1
|
|
25
|
+
- @effect-app/vue@0.160.1
|
|
26
|
+
|
|
3
27
|
## 0.160.0
|
|
4
28
|
|
|
5
29
|
### Minor Changes
|
package/_cjs/form.cjs
CHANGED
|
@@ -3,7 +3,6 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.FieldInfoTag = void 0;
|
|
7
6
|
exports.buildFieldInfoFromFields = buildFieldInfoFromFields;
|
|
8
7
|
exports.buildFormFromSchema = void 0;
|
|
9
8
|
exports.convertIn = convertIn;
|
|
@@ -31,7 +30,64 @@ function convertOutInt(v, type) {
|
|
|
31
30
|
function convertOut(v, set, type) {
|
|
32
31
|
return set(convertOutInt(v, type));
|
|
33
32
|
}
|
|
34
|
-
const
|
|
33
|
+
const f = Symbol();
|
|
34
|
+
function handlePropertySignature(propertySignature) {
|
|
35
|
+
const schema = _effectApp.S.make(propertySignature.type);
|
|
36
|
+
switch (schema.ast._tag) {
|
|
37
|
+
case "Transformation":
|
|
38
|
+
{
|
|
39
|
+
// TODO: this handles schemas which contains class schemas
|
|
40
|
+
// but I'm not sure it's the right way to do it
|
|
41
|
+
return handlePropertySignature(new _effectApp.S.AST.PropertySignature(propertySignature.name, schema.ast.from, propertySignature.isOptional, propertySignature.isReadonly, propertySignature.annotations));
|
|
42
|
+
}
|
|
43
|
+
case "TypeLiteral":
|
|
44
|
+
{
|
|
45
|
+
return buildFieldInfoFromFields(schema);
|
|
46
|
+
}
|
|
47
|
+
// case "Union": {
|
|
48
|
+
// return {
|
|
49
|
+
// members: schema
|
|
50
|
+
// .ast
|
|
51
|
+
// .types
|
|
52
|
+
// .map((elAst) =>
|
|
53
|
+
// // syntehtic property signature as if each union member were the only member
|
|
54
|
+
// new S.AST.PropertySignature(
|
|
55
|
+
// propertySignature.name,
|
|
56
|
+
// elAst,
|
|
57
|
+
// propertySignature.isOptional,
|
|
58
|
+
// propertySignature.isReadonly,
|
|
59
|
+
// propertySignature.annotations
|
|
60
|
+
// )
|
|
61
|
+
// )
|
|
62
|
+
// .flatMap((ps) => {
|
|
63
|
+
// // try to retrieve the _tag literal to set _infoTag later
|
|
64
|
+
// const typeLiteral = S.AST.isTypeLiteral(ps.type)
|
|
65
|
+
// ? ps.type
|
|
66
|
+
// : S.AST.isTransform(ps.type) && S.AST.isTypeLiteral(ps.type.from)
|
|
67
|
+
// ? ps.type.from
|
|
68
|
+
// : void 0
|
|
69
|
+
// const tagPropertySignature = typeLiteral?.propertySignatures.find((_) => _.name === "_tag")
|
|
70
|
+
// const tagLiteral = tagPropertySignature
|
|
71
|
+
// && S.AST.isLiteral(tagPropertySignature.type)
|
|
72
|
+
// && tagPropertySignature.type.literal
|
|
73
|
+
// const toRet = handlePropertySignature(ps)
|
|
74
|
+
// if (toRet._tag === "UnionFieldInfo") {
|
|
75
|
+
// return toRet.members
|
|
76
|
+
// } else if (toRet._tag === "NestedFieldInfo") {
|
|
77
|
+
// return [{ ...toRet, ...!!tagLiteral && { _infoTag: tagLiteral } }]
|
|
78
|
+
// } else {
|
|
79
|
+
// return [toRet]
|
|
80
|
+
// }
|
|
81
|
+
// }),
|
|
82
|
+
// _tag: "UnionFieldInfo"
|
|
83
|
+
// }
|
|
84
|
+
// }
|
|
85
|
+
default:
|
|
86
|
+
{
|
|
87
|
+
return buildFieldInfo(propertySignature);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
}
|
|
35
91
|
function buildFieldInfoFromFields(schema) {
|
|
36
92
|
const ast = "fields" in schema && schema.fields ? _effectApp.S.struct(schema.fields).ast : schema.ast;
|
|
37
93
|
// // todo: or look at from?
|
|
@@ -42,14 +98,14 @@ function buildFieldInfoFromFields(schema) {
|
|
|
42
98
|
// }
|
|
43
99
|
if (!_effectApp.S.AST.isTypeLiteral(ast)) throw new Error("not a struct type");
|
|
44
100
|
return ast.propertySignatures.reduce((acc, cur) => {
|
|
45
|
-
|
|
46
|
-
acc[cur.name] =
|
|
101
|
+
;
|
|
102
|
+
acc.fields[cur.name] = handlePropertySignature(cur);
|
|
47
103
|
return acc;
|
|
48
104
|
}, {
|
|
49
|
-
|
|
105
|
+
_tag: "NestedFieldInfo",
|
|
106
|
+
fields: {}
|
|
50
107
|
});
|
|
51
108
|
}
|
|
52
|
-
const f = Symbol();
|
|
53
109
|
class PhantomTypeParameter {}
|
|
54
110
|
const defaultIntl = (0, _intl.createIntl)({
|
|
55
111
|
locale: "en"
|
|
@@ -124,12 +180,12 @@ function buildFieldInfo(property) {
|
|
|
124
180
|
return true;
|
|
125
181
|
}],
|
|
126
182
|
metadata,
|
|
127
|
-
|
|
183
|
+
_tag: "FieldInfo"
|
|
128
184
|
};
|
|
129
185
|
return info;
|
|
130
186
|
}
|
|
131
187
|
const buildFormFromSchema = (s, state, onSubmit) => {
|
|
132
|
-
const fields = buildFieldInfoFromFields(s);
|
|
188
|
+
const fields = buildFieldInfoFromFields(s).fields;
|
|
133
189
|
const parse = _effectApp.S.decodeSync(s);
|
|
134
190
|
const isDirty = (0, _vue.ref)(false);
|
|
135
191
|
const isValid = (0, _vue.ref)(true);
|
|
@@ -177,7 +233,7 @@ function getMetadataFromSchema(ast) {
|
|
|
177
233
|
...rest
|
|
178
234
|
};
|
|
179
235
|
}
|
|
180
|
-
// or we need to add these
|
|
236
|
+
// or we need to add these info directly in the refinement like the minimum
|
|
181
237
|
// or find a jsonschema parser whojoins all of them
|
|
182
238
|
// todo, we have to use $ref: "#/$defs/Int"
|
|
183
239
|
// and look up
|
package/_cjs/form.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"form.cjs","names":["JSONSchema","_interopRequireWildcard","require","_intl","_effectApp","_vue","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","convertIn","v","type","convertOutInt","trim","c","parseFloat","parseInt","convertOut","FieldInfoTag","exports","Symbol","buildFieldInfoFromFields","schema","ast","fields","S","struct","AST","isTypeLiteral","Error","propertySignatures","reduce","acc","cur","make","name","buildFieldInfo","f","PhantomTypeParameter","defaultIntl","createIntl","locale","translate","ref","formatMessage","bind","customSchemaErrors","Map","property","propertyKey","metadata","getMetadataFromSchema","parse","decodeUnknownEither","nullableOrUndefined","isUnion","types","includes","null","some","_","_tag","realSelf","filter","id","getIdentifierAnnotation","id2","renderError","err","toString","custom","value","Option","isSome","undefined","defaultMessage","capitalize","String","message","description","slice","indexOf","stringRules","minLength","length","maxLength","numberRules","minimum","exclusiveMinimum","isExclusive","maximum","exclusiveMaximum","parseRule","pipe","Either","match","onLeft","onRight","rules","info","required","converted","res","buildFormFromSchema","s","state","onSubmit","decodeSync","isDirty","isValid","submit1","valid","submit","watch","JSON","stringify","deep","submitFromState","Promise","resolve","nullable","jschema","startsWith","$ref","rest","replace","isNumber","isInt"],"sources":["../src/form.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"form.cjs","names":["JSONSchema","_interopRequireWildcard","require","_intl","_effectApp","_vue","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","convertIn","v","type","convertOutInt","trim","c","parseFloat","parseInt","convertOut","f","Symbol","handlePropertySignature","propertySignature","schema","S","make","ast","_tag","AST","PropertySignature","name","from","isOptional","isReadonly","annotations","buildFieldInfoFromFields","buildFieldInfo","fields","struct","isTypeLiteral","Error","propertySignatures","reduce","acc","cur","PhantomTypeParameter","defaultIntl","createIntl","locale","translate","exports","ref","formatMessage","bind","customSchemaErrors","Map","property","propertyKey","metadata","getMetadataFromSchema","parse","decodeUnknownEither","nullableOrUndefined","isUnion","types","includes","null","some","_","realSelf","filter","id","getIdentifierAnnotation","id2","renderError","err","toString","custom","value","Option","isSome","undefined","defaultMessage","capitalize","String","message","description","slice","indexOf","stringRules","minLength","length","maxLength","numberRules","minimum","exclusiveMinimum","isExclusive","maximum","exclusiveMaximum","parseRule","pipe","Either","match","onLeft","onRight","rules","info","required","converted","res","buildFormFromSchema","s","state","onSubmit","decodeSync","isDirty","isValid","submit1","valid","submit","watch","JSON","stringify","deep","submitFromState","Promise","resolve","nullable","jschema","startsWith","$ref","rest","replace","isNumber","isInt"],"sources":["../src/form.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/dist/form.d.ts
CHANGED
|
@@ -5,11 +5,30 @@ import type { Ref } from "vue";
|
|
|
5
5
|
export declare function convertIn(v: string | null, type?: "text" | "float" | "int"): string;
|
|
6
6
|
export declare function convertOutInt(v: string, type?: "text" | "float" | "int"): string | number | null;
|
|
7
7
|
export declare function convertOut(v: string, set: (v: unknown | null) => void, type?: "text" | "float" | "int"): void;
|
|
8
|
-
|
|
8
|
+
declare const f: unique symbol;
|
|
9
|
+
export interface FieldInfo<Tout> extends PhantomTypeParameter<typeof f, {
|
|
10
|
+
out: Tout;
|
|
11
|
+
}> {
|
|
12
|
+
rules: ((v: string) => boolean | string)[];
|
|
13
|
+
metadata: FieldMetadata;
|
|
14
|
+
type: "text" | "float" | "int";
|
|
15
|
+
_tag: "FieldInfo";
|
|
16
|
+
}
|
|
17
|
+
export interface UnionFieldInfo<T> {
|
|
18
|
+
members: T;
|
|
19
|
+
_tag: "UnionFieldInfo";
|
|
20
|
+
}
|
|
21
|
+
type NestedFieldInfoKey<Key> = Key extends Record<PropertyKey, any> ? Unbranded<Key> extends Record<PropertyKey, any> ? NestedFieldInfo<Key> : FieldInfo<Key> : FieldInfo<Key>;
|
|
22
|
+
type _NestedFieldInfo<To extends Record<PropertyKey, any>> = Record<PropertyKey, any> extends To ? {} : {
|
|
23
|
+
[K in keyof To]-?: NestedFieldInfoKey<To[K]> extends infer NestedInfo ? NestedInfo : never;
|
|
24
|
+
};
|
|
9
25
|
export type NestedFieldInfo<To extends Record<PropertyKey, any>> = {
|
|
10
|
-
|
|
26
|
+
fields: _NestedFieldInfo<To>;
|
|
27
|
+
_tag: "NestedFieldInfo";
|
|
11
28
|
} & {
|
|
12
|
-
[
|
|
29
|
+
[K in "_infoTag" as To extends {
|
|
30
|
+
"_tag": S.AST.LiteralValue;
|
|
31
|
+
} ? K : never]: To["_tag"];
|
|
13
32
|
};
|
|
14
33
|
export declare function buildFieldInfoFromFields<From extends Record<PropertyKey, any>, To extends Record<PropertyKey, any>>(schema: Schema<To, From, never> & {
|
|
15
34
|
fields?: S.Struct.Fields;
|
|
@@ -19,27 +38,18 @@ export interface FieldMetadata {
|
|
|
19
38
|
maxLength: number | undefined;
|
|
20
39
|
required: boolean;
|
|
21
40
|
}
|
|
22
|
-
declare const f: unique symbol;
|
|
23
41
|
declare abstract class PhantomTypeParameter<Identifier extends keyof any, InstantiatedType> {
|
|
24
42
|
protected abstract readonly _: {
|
|
25
43
|
readonly [NameP in Identifier]: (_: InstantiatedType) => InstantiatedType;
|
|
26
44
|
};
|
|
27
45
|
}
|
|
28
|
-
export interface FieldInfo<Tout> extends PhantomTypeParameter<typeof f, {
|
|
29
|
-
out: Tout;
|
|
30
|
-
}> {
|
|
31
|
-
rules: ((v: string) => boolean | string)[];
|
|
32
|
-
metadata: FieldMetadata;
|
|
33
|
-
type: "text" | "float" | "int";
|
|
34
|
-
[FieldInfoTag]: "FieldInfo";
|
|
35
|
-
}
|
|
36
46
|
export declare const translate: Ref<{
|
|
37
47
|
(descriptor: import("@formatjs/intl").MessageDescriptor, values?: Record<string, import("intl-messageformat").PrimitiveType | import("intl-messageformat").FormatXMLElementFn<string, string>> | undefined, opts?: import("intl-messageformat").Options | undefined): string;
|
|
38
48
|
<T extends unknown>(descriptor: import("@formatjs/intl").MessageDescriptor, values?: Record<string, import("intl-messageformat").PrimitiveType | T | import("intl-messageformat").FormatXMLElementFn<T>> | undefined, opts?: import("intl-messageformat").Options | undefined): string | T | (string | T)[];
|
|
39
49
|
}>;
|
|
40
50
|
export declare const customSchemaErrors: Ref<Map<string | S.AST.AST, (message: string, e: unknown, v: unknown) => string>>;
|
|
41
51
|
export declare const buildFormFromSchema: <From extends Record<PropertyKey, any>, To extends Record<PropertyKey, any>, OnSubmitA>(s: Schema<To, From, never>, state: Ref<From>, onSubmit: (a: To) => Promise<OnSubmitA>) => {
|
|
42
|
-
fields:
|
|
52
|
+
fields: _NestedFieldInfo<To>;
|
|
43
53
|
submit: <T extends Promise<{
|
|
44
54
|
valid: boolean;
|
|
45
55
|
}>>(e: T) => Promise<OnSubmitA | undefined>;
|
package/dist/form.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"form.d.ts","sourceRoot":"","sources":["../src/form.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AACzD,OAAO,EAAwB,CAAC,EAAE,MAAM,YAAY,CAAA;AACpD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"form.d.ts","sourceRoot":"","sources":["../src/form.ts"],"names":[],"mappings":"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"}
|
package/dist/form.js
CHANGED
|
@@ -15,7 +15,61 @@ export function convertOutInt(v, type) {
|
|
|
15
15
|
export function convertOut(v, set, type) {
|
|
16
16
|
return set(convertOutInt(v, type));
|
|
17
17
|
}
|
|
18
|
-
|
|
18
|
+
const f = Symbol();
|
|
19
|
+
function handlePropertySignature(propertySignature) {
|
|
20
|
+
const schema = S.make(propertySignature.type);
|
|
21
|
+
switch (schema.ast._tag) {
|
|
22
|
+
case "Transformation": {
|
|
23
|
+
// TODO: this handles schemas which contains class schemas
|
|
24
|
+
// but I'm not sure it's the right way to do it
|
|
25
|
+
return handlePropertySignature(new S.AST.PropertySignature(propertySignature.name, schema.ast.from, propertySignature.isOptional, propertySignature.isReadonly, propertySignature.annotations));
|
|
26
|
+
}
|
|
27
|
+
case "TypeLiteral": {
|
|
28
|
+
return buildFieldInfoFromFields(schema);
|
|
29
|
+
}
|
|
30
|
+
// case "Union": {
|
|
31
|
+
// return {
|
|
32
|
+
// members: schema
|
|
33
|
+
// .ast
|
|
34
|
+
// .types
|
|
35
|
+
// .map((elAst) =>
|
|
36
|
+
// // syntehtic property signature as if each union member were the only member
|
|
37
|
+
// new S.AST.PropertySignature(
|
|
38
|
+
// propertySignature.name,
|
|
39
|
+
// elAst,
|
|
40
|
+
// propertySignature.isOptional,
|
|
41
|
+
// propertySignature.isReadonly,
|
|
42
|
+
// propertySignature.annotations
|
|
43
|
+
// )
|
|
44
|
+
// )
|
|
45
|
+
// .flatMap((ps) => {
|
|
46
|
+
// // try to retrieve the _tag literal to set _infoTag later
|
|
47
|
+
// const typeLiteral = S.AST.isTypeLiteral(ps.type)
|
|
48
|
+
// ? ps.type
|
|
49
|
+
// : S.AST.isTransform(ps.type) && S.AST.isTypeLiteral(ps.type.from)
|
|
50
|
+
// ? ps.type.from
|
|
51
|
+
// : void 0
|
|
52
|
+
// const tagPropertySignature = typeLiteral?.propertySignatures.find((_) => _.name === "_tag")
|
|
53
|
+
// const tagLiteral = tagPropertySignature
|
|
54
|
+
// && S.AST.isLiteral(tagPropertySignature.type)
|
|
55
|
+
// && tagPropertySignature.type.literal
|
|
56
|
+
// const toRet = handlePropertySignature(ps)
|
|
57
|
+
// if (toRet._tag === "UnionFieldInfo") {
|
|
58
|
+
// return toRet.members
|
|
59
|
+
// } else if (toRet._tag === "NestedFieldInfo") {
|
|
60
|
+
// return [{ ...toRet, ...!!tagLiteral && { _infoTag: tagLiteral } }]
|
|
61
|
+
// } else {
|
|
62
|
+
// return [toRet]
|
|
63
|
+
// }
|
|
64
|
+
// }),
|
|
65
|
+
// _tag: "UnionFieldInfo"
|
|
66
|
+
// }
|
|
67
|
+
// }
|
|
68
|
+
default: {
|
|
69
|
+
return buildFieldInfo(propertySignature);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
}
|
|
19
73
|
export function buildFieldInfoFromFields(schema) {
|
|
20
74
|
const ast = "fields" in schema && schema.fields
|
|
21
75
|
? S.struct(schema.fields).ast
|
|
@@ -29,14 +83,11 @@ export function buildFieldInfoFromFields(schema) {
|
|
|
29
83
|
if (!S.AST.isTypeLiteral(ast))
|
|
30
84
|
throw new Error("not a struct type");
|
|
31
85
|
return ast.propertySignatures.reduce((acc, cur) => {
|
|
32
|
-
|
|
33
|
-
acc[cur.name] =
|
|
34
|
-
? buildFieldInfoFromFields(schema)
|
|
35
|
-
: buildFieldInfo(cur);
|
|
86
|
+
;
|
|
87
|
+
acc.fields[cur.name] = handlePropertySignature(cur);
|
|
36
88
|
return acc;
|
|
37
|
-
}, {
|
|
89
|
+
}, { _tag: "NestedFieldInfo", fields: {} });
|
|
38
90
|
}
|
|
39
|
-
const f = Symbol();
|
|
40
91
|
class PhantomTypeParameter {
|
|
41
92
|
}
|
|
42
93
|
const defaultIntl = createIntl({ locale: "en" });
|
|
@@ -140,12 +191,12 @@ function buildFieldInfo(property) {
|
|
|
140
191
|
}
|
|
141
192
|
],
|
|
142
193
|
metadata,
|
|
143
|
-
|
|
194
|
+
_tag: "FieldInfo"
|
|
144
195
|
};
|
|
145
196
|
return info;
|
|
146
197
|
}
|
|
147
198
|
export const buildFormFromSchema = (s, state, onSubmit) => {
|
|
148
|
-
const fields = buildFieldInfoFromFields(s);
|
|
199
|
+
const fields = buildFieldInfoFromFields(s).fields;
|
|
149
200
|
const parse = S.decodeSync(s);
|
|
150
201
|
const isDirty = ref(false);
|
|
151
202
|
const isValid = ref(true);
|
|
@@ -180,7 +231,7 @@ export function getMetadataFromSchema(ast) {
|
|
|
180
231
|
const { $ref: _, ...rest } = jschema;
|
|
181
232
|
jschema = { ...jschema["$defs"][jschema["$ref"].replace("#/$defs/", "")], ...rest };
|
|
182
233
|
}
|
|
183
|
-
// or we need to add these
|
|
234
|
+
// or we need to add these info directly in the refinement like the minimum
|
|
184
235
|
// or find a jsonschema parser whojoins all of them
|
|
185
236
|
// todo, we have to use $ref: "#/$defs/Int"
|
|
186
237
|
// and look up
|
|
@@ -205,4 +256,4 @@ export function getMetadataFromSchema(ast) {
|
|
|
205
256
|
required: !nullable
|
|
206
257
|
};
|
|
207
258
|
}
|
|
208
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9mb3JtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxVQUFVLE1BQU0sMkJBQTJCLENBQUE7QUFFdkQsT0FBTyxFQUFFLFVBQVUsRUFBdUIsTUFBTSxnQkFBZ0IsQ0FBQTtBQUdoRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBR3BELE9BQU8sRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxNQUFNLEtBQUssQ0FBQTtBQUU1QywwRUFBMEU7QUFDMUUsWUFBWTtBQUVaLE1BQU0sVUFBVSxTQUFTLENBQUMsQ0FBZ0IsRUFBRSxJQUErQjtJQUN6RSxPQUFPLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFBO0FBQ3ZELENBQUM7QUFFRCxNQUFNLFVBQVUsYUFBYSxDQUFDLENBQVMsRUFBRSxJQUErQjtJQUN0RSxDQUFDLEdBQUcsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUE7SUFDNUIsTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssT0FBTyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO0lBQy9GLE9BQU8sQ0FBQyxDQUFBO0FBQ1YsQ0FBQztBQUVELE1B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
|
|
259
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9mb3JtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxVQUFVLE1BQU0sMkJBQTJCLENBQUE7QUFFdkQsT0FBTyxFQUFFLFVBQVUsRUFBdUIsTUFBTSxnQkFBZ0IsQ0FBQTtBQUdoRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBSXBELE9BQU8sRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxNQUFNLEtBQUssQ0FBQTtBQUU1QywwRUFBMEU7QUFDMUUsWUFBWTtBQUVaLE1BQU0sVUFBVSxTQUFTLENBQUMsQ0FBZ0IsRUFBRSxJQUErQjtJQUN6RSxPQUFPLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFBO0FBQ3ZELENBQUM7QUFFRCxNQUFNLFVBQVUsYUFBYSxDQUFDLENBQVMsRUFBRSxJQUErQjtJQUN0RSxDQUFDLEdBQUcsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUE7SUFDNUIsTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssT0FBTyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO0lBQy9GLE9BQU8sQ0FBQyxDQUFBO0FBQ1YsQ0FBQztBQUVELE1B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
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@effect-app/vue",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.161.0",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"homepage": "https://github.com/effect-ts-app/libs/tree/main/packages/vue",
|
|
@@ -8,10 +8,10 @@
|
|
|
8
8
|
"@formatjs/intl": "^2.10.1",
|
|
9
9
|
"@tanstack/vue-query": "^5.28.9",
|
|
10
10
|
"query-string": "^9.0.0",
|
|
11
|
-
"@effect-app/
|
|
12
|
-
"@effect-app/
|
|
13
|
-
"@effect-app/
|
|
14
|
-
"effect-app": "0.196.
|
|
11
|
+
"@effect-app/schema": "0.215.2",
|
|
12
|
+
"@effect-app/core": "0.165.0",
|
|
13
|
+
"@effect-app/vue": "0.161.0",
|
|
14
|
+
"effect-app": "0.196.2"
|
|
15
15
|
},
|
|
16
16
|
"peerDependencies": {
|
|
17
17
|
"@effect/platform": "^0.48.21",
|
package/src/form.ts
CHANGED
|
@@ -5,6 +5,7 @@ import type {} from "intl-messageformat"
|
|
|
5
5
|
import type { Unbranded } from "@effect-app/schema/brand"
|
|
6
6
|
import { Either, Option, pipe, S } from "effect-app"
|
|
7
7
|
import type { Schema } from "effect-app/schema"
|
|
8
|
+
|
|
8
9
|
import type { Ref } from "vue"
|
|
9
10
|
import { capitalize, ref, watch } from "vue"
|
|
10
11
|
|
|
@@ -25,14 +26,112 @@ export function convertOut(v: string, set: (v: unknown | null) => void, type?: "
|
|
|
25
26
|
return set(convertOutInt(v, type))
|
|
26
27
|
}
|
|
27
28
|
|
|
28
|
-
|
|
29
|
+
const f = Symbol()
|
|
30
|
+
export interface FieldInfo<Tout> extends PhantomTypeParameter<typeof f, { out: Tout }> {
|
|
31
|
+
rules: ((v: string) => boolean | string)[]
|
|
32
|
+
metadata: FieldMetadata
|
|
33
|
+
type: "text" | "float" | "int" // todo; multi-line vs single line text
|
|
34
|
+
_tag: "FieldInfo"
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
export interface UnionFieldInfo<T> {
|
|
38
|
+
members: T
|
|
39
|
+
_tag: "UnionFieldInfo"
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
type NestedFieldInfoKey<Key> = Key extends Record<PropertyKey, any>
|
|
43
|
+
? Unbranded<Key> extends Record<PropertyKey, any> ? NestedFieldInfo<Key>
|
|
44
|
+
: FieldInfo<Key>
|
|
45
|
+
: FieldInfo<Key>
|
|
46
|
+
|
|
47
|
+
type _NestedFieldInfo<To extends Record<PropertyKey, any>> = Record<PropertyKey, any> extends To ? {}
|
|
48
|
+
: {
|
|
49
|
+
[K in keyof To]-?: NestedFieldInfoKey<To[K]> extends infer NestedInfo ? NestedInfo // IsUnion<NestedInfo> extends false ? NestedInfo : UnionFieldInfo<NestedInfo[]>
|
|
50
|
+
: never
|
|
51
|
+
}
|
|
29
52
|
|
|
30
53
|
export type NestedFieldInfo<To extends Record<PropertyKey, any>> =
|
|
54
|
+
// exploit eventual _tag field to propagate the unique tag
|
|
31
55
|
& {
|
|
32
|
-
|
|
33
|
-
|
|
56
|
+
fields: _NestedFieldInfo<To>
|
|
57
|
+
_tag: "NestedFieldInfo"
|
|
34
58
|
}
|
|
35
|
-
& { [
|
|
59
|
+
& { [K in "_infoTag" as To extends { "_tag": S.AST.LiteralValue } ? K : never]: To["_tag"] }
|
|
60
|
+
|
|
61
|
+
function handlePropertySignature(
|
|
62
|
+
propertySignature: S.AST.PropertySignature
|
|
63
|
+
):
|
|
64
|
+
| NestedFieldInfo<Record<PropertyKey, any>>
|
|
65
|
+
| FieldInfo<any>
|
|
66
|
+
// | UnionFieldInfo<(NestedFieldInfo<Record<PropertyKey, any>> | FieldInfo<any>)[]>
|
|
67
|
+
{
|
|
68
|
+
const schema = S.make(propertySignature.type)
|
|
69
|
+
|
|
70
|
+
switch (schema.ast._tag) {
|
|
71
|
+
case "Transformation": {
|
|
72
|
+
// TODO: this handles schemas which contains class schemas
|
|
73
|
+
// but I'm not sure it's the right way to do it
|
|
74
|
+
return handlePropertySignature(
|
|
75
|
+
new S.AST.PropertySignature(
|
|
76
|
+
propertySignature.name,
|
|
77
|
+
schema.ast.from,
|
|
78
|
+
propertySignature.isOptional,
|
|
79
|
+
propertySignature.isReadonly,
|
|
80
|
+
propertySignature.annotations
|
|
81
|
+
)
|
|
82
|
+
)
|
|
83
|
+
}
|
|
84
|
+
case "TypeLiteral": {
|
|
85
|
+
return buildFieldInfoFromFields(
|
|
86
|
+
schema as S.Schema<Record<PropertyKey, any>, Record<PropertyKey, any>, never>
|
|
87
|
+
)
|
|
88
|
+
}
|
|
89
|
+
// case "Union": {
|
|
90
|
+
// return {
|
|
91
|
+
// members: schema
|
|
92
|
+
// .ast
|
|
93
|
+
// .types
|
|
94
|
+
// .map((elAst) =>
|
|
95
|
+
// // syntehtic property signature as if each union member were the only member
|
|
96
|
+
// new S.AST.PropertySignature(
|
|
97
|
+
// propertySignature.name,
|
|
98
|
+
// elAst,
|
|
99
|
+
// propertySignature.isOptional,
|
|
100
|
+
// propertySignature.isReadonly,
|
|
101
|
+
// propertySignature.annotations
|
|
102
|
+
// )
|
|
103
|
+
// )
|
|
104
|
+
// .flatMap((ps) => {
|
|
105
|
+
// // try to retrieve the _tag literal to set _infoTag later
|
|
106
|
+
// const typeLiteral = S.AST.isTypeLiteral(ps.type)
|
|
107
|
+
// ? ps.type
|
|
108
|
+
// : S.AST.isTransform(ps.type) && S.AST.isTypeLiteral(ps.type.from)
|
|
109
|
+
// ? ps.type.from
|
|
110
|
+
// : void 0
|
|
111
|
+
// const tagPropertySignature = typeLiteral?.propertySignatures.find((_) => _.name === "_tag")
|
|
112
|
+
// const tagLiteral = tagPropertySignature
|
|
113
|
+
// && S.AST.isLiteral(tagPropertySignature.type)
|
|
114
|
+
// && tagPropertySignature.type.literal
|
|
115
|
+
|
|
116
|
+
// const toRet = handlePropertySignature(ps)
|
|
117
|
+
|
|
118
|
+
// if (toRet._tag === "UnionFieldInfo") {
|
|
119
|
+
// return toRet.members
|
|
120
|
+
// } else if (toRet._tag === "NestedFieldInfo") {
|
|
121
|
+
// return [{ ...toRet, ...!!tagLiteral && { _infoTag: tagLiteral } }]
|
|
122
|
+
// } else {
|
|
123
|
+
// return [toRet]
|
|
124
|
+
// }
|
|
125
|
+
// }),
|
|
126
|
+
// _tag: "UnionFieldInfo"
|
|
127
|
+
// }
|
|
128
|
+
// }
|
|
129
|
+
|
|
130
|
+
default: {
|
|
131
|
+
return buildFieldInfo(propertySignature)
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
}
|
|
36
135
|
|
|
37
136
|
export function buildFieldInfoFromFields<From extends Record<PropertyKey, any>, To extends Record<PropertyKey, any>>(
|
|
38
137
|
schema: Schema<To, From, never> & { fields?: S.Struct.Fields }
|
|
@@ -50,16 +149,11 @@ export function buildFieldInfoFromFields<From extends Record<PropertyKey, any>,
|
|
|
50
149
|
if (!S.AST.isTypeLiteral(ast)) throw new Error("not a struct type")
|
|
51
150
|
return ast.propertySignatures.reduce(
|
|
52
151
|
(acc, cur) => {
|
|
53
|
-
|
|
54
|
-
;(acc as any)[cur.name] = S.AST.isTypeLiteral(schema.ast)
|
|
55
|
-
? buildFieldInfoFromFields(
|
|
56
|
-
schema as S.Schema<Record<PropertyKey, any>, Record<PropertyKey, any>, never>
|
|
57
|
-
)
|
|
58
|
-
: buildFieldInfo(cur)
|
|
152
|
+
;(acc.fields as any)[cur.name] = handlePropertySignature(cur)
|
|
59
153
|
|
|
60
154
|
return acc
|
|
61
155
|
},
|
|
62
|
-
{
|
|
156
|
+
{ _tag: "NestedFieldInfo", fields: {} } as NestedFieldInfo<To>
|
|
63
157
|
)
|
|
64
158
|
}
|
|
65
159
|
|
|
@@ -69,7 +163,6 @@ export interface FieldMetadata {
|
|
|
69
163
|
required: boolean
|
|
70
164
|
}
|
|
71
165
|
|
|
72
|
-
const f = Symbol()
|
|
73
166
|
abstract class PhantomTypeParameter<
|
|
74
167
|
Identifier extends keyof any,
|
|
75
168
|
InstantiatedType
|
|
@@ -78,12 +171,7 @@ abstract class PhantomTypeParameter<
|
|
|
78
171
|
readonly [NameP in Identifier]: (_: InstantiatedType) => InstantiatedType
|
|
79
172
|
}
|
|
80
173
|
}
|
|
81
|
-
|
|
82
|
-
rules: ((v: string) => boolean | string)[]
|
|
83
|
-
metadata: FieldMetadata
|
|
84
|
-
type: "text" | "float" | "int" // todo; multi-line vs single line text
|
|
85
|
-
[FieldInfoTag]: "FieldInfo"
|
|
86
|
-
}
|
|
174
|
+
|
|
87
175
|
const defaultIntl = createIntl({ locale: "en" })
|
|
88
176
|
|
|
89
177
|
export const translate = ref<IntlFormatters["formatMessage"]>(defaultIntl.formatMessage.bind(defaultIntl))
|
|
@@ -215,7 +303,7 @@ function buildFieldInfo(
|
|
|
215
303
|
}
|
|
216
304
|
],
|
|
217
305
|
metadata,
|
|
218
|
-
|
|
306
|
+
_tag: "FieldInfo"
|
|
219
307
|
}
|
|
220
308
|
|
|
221
309
|
return info as any
|
|
@@ -234,7 +322,7 @@ export const buildFormFromSchema = <
|
|
|
234
322
|
state: Ref<From>,
|
|
235
323
|
onSubmit: (a: To) => Promise<OnSubmitA>
|
|
236
324
|
) => {
|
|
237
|
-
const fields = buildFieldInfoFromFields(s)
|
|
325
|
+
const fields = buildFieldInfoFromFields(s).fields
|
|
238
326
|
const parse = S.decodeSync(s)
|
|
239
327
|
const isDirty = ref(false)
|
|
240
328
|
const isValid = ref(true)
|
|
@@ -289,7 +377,7 @@ export function getMetadataFromSchema(
|
|
|
289
377
|
const { $ref: _, ...rest } = jschema
|
|
290
378
|
jschema = { ...jschema["$defs"][jschema["$ref"].replace("#/$defs/", "")], ...rest }
|
|
291
379
|
}
|
|
292
|
-
// or we need to add these
|
|
380
|
+
// or we need to add these info directly in the refinement like the minimum
|
|
293
381
|
// or find a jsonschema parser whojoins all of them
|
|
294
382
|
// todo, we have to use $ref: "#/$defs/Int"
|
|
295
383
|
// and look up
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"form.test.d.ts","sourceRoot":"","sources":["../form.test.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,YAAY,CAAA
|
|
1
|
+
{"version":3,"file":"form.test.d.ts","sourceRoot":"","sources":["../form.test.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,YAAY,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAI9B,qBAAa,YAAa,SAAQ,iBAShC;CAAG;;;;;;;;;;;;;;;;;;;;;AAEL,qBAAa,mBAAoB,SAAQ,wBAEvC;CAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEL,qBAAa,WAAY,SAAQ,gBAE/B;CAAG;;;;;;;;;;;;;;;;AAEL,cAAM,MAAO,SAAQ,WAEnB;CAAG;;;;;;;;;;;;;;;;AAEL,cAAM,MAAO,SAAQ,WAEnB;CAAG;;;;;;;;;;;;;;;;;;;;;;AAEL,cAAM,QAAS,SAAQ,aAGrB;CAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqBL,qBAAa,cAAe,SAAQ,mBAGlC;CAAG"}
|
|
@@ -0,0 +1,245 @@
|
|
|
1
|
+
import { Effect } from "@effect-app/core"
|
|
2
|
+
import { S } from "effect-app"
|
|
3
|
+
import type { FieldInfo, NestedFieldInfo, UnionFieldInfo } from "../src/form.js"
|
|
4
|
+
import { buildFieldInfoFromFields } from "../src/form.js"
|
|
5
|
+
|
|
6
|
+
export class NestedSchema extends S.Class<NestedSchema>()({
|
|
7
|
+
shallow: S.string,
|
|
8
|
+
nested: S.struct({
|
|
9
|
+
deep: S.NonEmptyString,
|
|
10
|
+
nested: S.struct({
|
|
11
|
+
deepest: S.number
|
|
12
|
+
})
|
|
13
|
+
}),
|
|
14
|
+
age: S.propertySignature(S.struct({ nfs: S.NumberFromString }))
|
|
15
|
+
}) {}
|
|
16
|
+
|
|
17
|
+
export class SchemaContainsClass extends S.Class<SchemaContainsClass>()({
|
|
18
|
+
inner: NestedSchema
|
|
19
|
+
}) {}
|
|
20
|
+
|
|
21
|
+
export class UnionSchema extends S.Class<UnionSchema>()({
|
|
22
|
+
union: S.union(S.string, S.struct({ unionNested: NestedSchema }))
|
|
23
|
+
}) {}
|
|
24
|
+
|
|
25
|
+
class Circle extends S.TaggedClass<Circle>()("Circle", {
|
|
26
|
+
radius: S.PositiveInt
|
|
27
|
+
}) {}
|
|
28
|
+
|
|
29
|
+
class Square extends S.TaggedClass<Square>()("Square", {
|
|
30
|
+
sideLength: S.PositiveInt
|
|
31
|
+
}) {}
|
|
32
|
+
|
|
33
|
+
class Triangle extends S.TaggedClass<Triangle>()("Triangle", {
|
|
34
|
+
base: S.PositiveInt,
|
|
35
|
+
height: S.number
|
|
36
|
+
}) {}
|
|
37
|
+
|
|
38
|
+
const CircleStruct = S.struct({
|
|
39
|
+
_tag: S.literal("CircleStruct"),
|
|
40
|
+
radius: S.PositiveInt
|
|
41
|
+
})
|
|
42
|
+
|
|
43
|
+
const SquareStruct = S.struct({
|
|
44
|
+
_tag: S.literal("SquareStruct"),
|
|
45
|
+
sideLength: S.PositiveInt
|
|
46
|
+
})
|
|
47
|
+
|
|
48
|
+
const TriangleStruct = S.struct({
|
|
49
|
+
_tag: S.literal("TriangleStruct"),
|
|
50
|
+
base: S.PositiveInt,
|
|
51
|
+
height: S.number
|
|
52
|
+
})
|
|
53
|
+
|
|
54
|
+
const ShapeWithStructs = S.union(CircleStruct, SquareStruct, TriangleStruct)
|
|
55
|
+
const ShapeWithClasses = S.union(Circle, Square, Triangle)
|
|
56
|
+
|
|
57
|
+
export class ShapeContainer extends S.Class<ShapeContainer>()({
|
|
58
|
+
shapeWithStruct: ShapeWithStructs,
|
|
59
|
+
shapeWithClasses: ShapeWithClasses
|
|
60
|
+
}) {}
|
|
61
|
+
|
|
62
|
+
function testFieldInfo<T>(fi: FieldInfo<T>) {
|
|
63
|
+
expect(fi).toBeInstanceOf(Object)
|
|
64
|
+
expect(fi._tag).toBe("FieldInfo")
|
|
65
|
+
expect(["text", "float", "int"]).toContain(fi.type)
|
|
66
|
+
expect(fi.rules).toBeInstanceOf(Array)
|
|
67
|
+
fi.rules.forEach((r) => {
|
|
68
|
+
expect(r).toBeInstanceOf(Function)
|
|
69
|
+
})
|
|
70
|
+
expect(fi.metadata).toBeInstanceOf(Object)
|
|
71
|
+
expect(fi.metadata.maxLength === void 0 || typeof fi.metadata.maxLength === "number").toBeTruthy()
|
|
72
|
+
expect(fi.metadata.minLength === void 0 || typeof fi.metadata.minLength === "number").toBeTruthy()
|
|
73
|
+
expect(typeof fi.metadata.required === "boolean").toBeTruthy()
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
function testUnionFieldInfo(ufi: UnionFieldInfo<any[]>) {
|
|
77
|
+
expect(ufi).toBeInstanceOf(Object)
|
|
78
|
+
expect(ufi._tag).toBe("UnionFieldInfo")
|
|
79
|
+
expect(ufi.members).toBeInstanceOf(Array)
|
|
80
|
+
ufi.members.forEach(
|
|
81
|
+
(
|
|
82
|
+
i: any
|
|
83
|
+
) => {
|
|
84
|
+
switch (i._tag) {
|
|
85
|
+
case "FieldInfo":
|
|
86
|
+
testFieldInfo(i as FieldInfo<any>)
|
|
87
|
+
break
|
|
88
|
+
case "NestedFieldInfo":
|
|
89
|
+
testNestedFieldInfo(i as NestedFieldInfo<any>)
|
|
90
|
+
break
|
|
91
|
+
case "UnionFieldInfo":
|
|
92
|
+
testUnionFieldInfo(i as UnionFieldInfo<any>)
|
|
93
|
+
break
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
)
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
function testNestedFieldInfo(nfi: NestedFieldInfo<Record<PropertyKey, any>>) {
|
|
100
|
+
expect(nfi).toBeInstanceOf(Object)
|
|
101
|
+
expect(nfi._tag).toBe("NestedFieldInfo")
|
|
102
|
+
expect(nfi.fields).toBeInstanceOf(Object)
|
|
103
|
+
|
|
104
|
+
Object.values(nfi).forEach(
|
|
105
|
+
(
|
|
106
|
+
i: any
|
|
107
|
+
) => {
|
|
108
|
+
switch (i._tag) {
|
|
109
|
+
case "FieldInfo":
|
|
110
|
+
testFieldInfo(i as FieldInfo<any>)
|
|
111
|
+
break
|
|
112
|
+
case "NestedFieldInfo":
|
|
113
|
+
testNestedFieldInfo(i as NestedFieldInfo<any>)
|
|
114
|
+
break
|
|
115
|
+
case "UnionFieldInfo":
|
|
116
|
+
testUnionFieldInfo(i as UnionFieldInfo<any>)
|
|
117
|
+
break
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
)
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
it("buildFieldInfo", () =>
|
|
124
|
+
Effect
|
|
125
|
+
.gen(function*() {
|
|
126
|
+
const nestedFieldinfo = buildFieldInfoFromFields(NestedSchema)
|
|
127
|
+
expectTypeOf(nestedFieldinfo).toEqualTypeOf<NestedFieldInfo<NestedSchema>>()
|
|
128
|
+
expectTypeOf(nestedFieldinfo.fields.shallow).toEqualTypeOf<FieldInfo<string>>()
|
|
129
|
+
expectTypeOf(nestedFieldinfo.fields.age).toEqualTypeOf<NestedFieldInfo<NestedSchema["age"]>>()
|
|
130
|
+
expectTypeOf(nestedFieldinfo.fields.age.fields.nfs).toEqualTypeOf<FieldInfo<number>>()
|
|
131
|
+
expectTypeOf(nestedFieldinfo.fields.nested).toEqualTypeOf<NestedFieldInfo<NestedSchema["nested"]>>()
|
|
132
|
+
expectTypeOf(nestedFieldinfo.fields.nested.fields.deep).toEqualTypeOf<FieldInfo<string & S.NonEmptyStringBrand>>()
|
|
133
|
+
expectTypeOf(nestedFieldinfo.fields.nested.fields.nested).toEqualTypeOf<
|
|
134
|
+
NestedFieldInfo<NestedSchema["nested"]["nested"]>
|
|
135
|
+
>()
|
|
136
|
+
expectTypeOf(nestedFieldinfo.fields.nested.fields.nested.fields.deepest).toEqualTypeOf<FieldInfo<number>>()
|
|
137
|
+
|
|
138
|
+
// it's a recursive check on actual runtime structure
|
|
139
|
+
testNestedFieldInfo(nestedFieldinfo)
|
|
140
|
+
testNestedFieldInfo(nestedFieldinfo.fields.age)
|
|
141
|
+
})
|
|
142
|
+
.pipe(Effect.runPromise))
|
|
143
|
+
|
|
144
|
+
it("buildFieldInfo schema containing class", () =>
|
|
145
|
+
Effect
|
|
146
|
+
.gen(function*() {
|
|
147
|
+
const fieldinfo = buildFieldInfoFromFields(SchemaContainsClass)
|
|
148
|
+
|
|
149
|
+
// the type system says that these are NestedFieldInfo<NestedSchema>s
|
|
150
|
+
// are they really? let's check
|
|
151
|
+
testNestedFieldInfo(fieldinfo.fields.inner)
|
|
152
|
+
testNestedFieldInfo(fieldinfo.fields.inner.fields.nested.fields.nested)
|
|
153
|
+
})
|
|
154
|
+
.pipe(Effect.runPromise))
|
|
155
|
+
|
|
156
|
+
it("buildFieldInfo with simple union", () =>
|
|
157
|
+
Effect
|
|
158
|
+
.gen(function*() {
|
|
159
|
+
const unionFieldinfo = buildFieldInfoFromFields(UnionSchema)
|
|
160
|
+
expectTypeOf(unionFieldinfo).toEqualTypeOf<NestedFieldInfo<UnionSchema>>()
|
|
161
|
+
expectTypeOf(unionFieldinfo.fields.union).toEqualTypeOf<
|
|
162
|
+
UnionFieldInfo<(
|
|
163
|
+
| FieldInfo<string>
|
|
164
|
+
| NestedFieldInfo<{
|
|
165
|
+
readonly unionNested: NestedSchema
|
|
166
|
+
}>
|
|
167
|
+
)[]>
|
|
168
|
+
>()
|
|
169
|
+
expectTypeOf(unionFieldinfo.fields.union.members).toEqualTypeOf<(
|
|
170
|
+
| FieldInfo<string>
|
|
171
|
+
| NestedFieldInfo<{
|
|
172
|
+
readonly unionNested: NestedSchema
|
|
173
|
+
}>
|
|
174
|
+
)[]>()
|
|
175
|
+
|
|
176
|
+
// it's a recursive check on actual runtime structure
|
|
177
|
+
testNestedFieldInfo(unionFieldinfo)
|
|
178
|
+
testUnionFieldInfo(unionFieldinfo.fields.union)
|
|
179
|
+
})
|
|
180
|
+
.pipe(Effect.runPromise))
|
|
181
|
+
|
|
182
|
+
it("buildFieldInfo with tagged unions", () =>
|
|
183
|
+
Effect
|
|
184
|
+
.gen(function*() {
|
|
185
|
+
const shapeFieldinfo = buildFieldInfoFromFields(ShapeContainer)
|
|
186
|
+
|
|
187
|
+
// check at runtime if the structure is really an union
|
|
188
|
+
testUnionFieldInfo(shapeFieldinfo.fields.shapeWithClasses)
|
|
189
|
+
testUnionFieldInfo(shapeFieldinfo.fields.shapeWithStruct)
|
|
190
|
+
|
|
191
|
+
shapeFieldinfo.fields.shapeWithStruct.members.forEach((i) => {
|
|
192
|
+
expect(["CircleStruct", "SquareStruct", "TriangleStruct"]).toContain(i._infoTag)
|
|
193
|
+
testNestedFieldInfo(i)
|
|
194
|
+
switch (i._infoTag) {
|
|
195
|
+
case "CircleStruct":
|
|
196
|
+
expectTypeOf(i.fields).toEqualTypeOf<NestedFieldInfo<S.Schema.Type<typeof CircleStruct>>["fields"]>()
|
|
197
|
+
// manual check of runtime structure
|
|
198
|
+
testFieldInfo(i.fields._tag)
|
|
199
|
+
testFieldInfo(i.fields.radius)
|
|
200
|
+
break
|
|
201
|
+
case "SquareStruct":
|
|
202
|
+
expectTypeOf(i.fields).toEqualTypeOf<NestedFieldInfo<S.Schema.Type<typeof SquareStruct>>["fields"]>()
|
|
203
|
+
// manual check of runtime structure
|
|
204
|
+
testFieldInfo(i.fields._tag)
|
|
205
|
+
testFieldInfo(i.fields.sideLength)
|
|
206
|
+
break
|
|
207
|
+
case "TriangleStruct":
|
|
208
|
+
expectTypeOf(i.fields).toEqualTypeOf<NestedFieldInfo<S.Schema.Type<typeof TriangleStruct>>["fields"]>()
|
|
209
|
+
// manual check of runtime structure
|
|
210
|
+
testFieldInfo(i.fields._tag)
|
|
211
|
+
testFieldInfo(i.fields.base)
|
|
212
|
+
testFieldInfo(i.fields.height)
|
|
213
|
+
break
|
|
214
|
+
}
|
|
215
|
+
})
|
|
216
|
+
|
|
217
|
+
// check if inner classes are correctly tagged
|
|
218
|
+
shapeFieldinfo.fields.shapeWithClasses.members.forEach((i) => {
|
|
219
|
+
expect(["Circle", "Square", "Triangle"]).toContain(i._infoTag)
|
|
220
|
+
testNestedFieldInfo(i)
|
|
221
|
+
|
|
222
|
+
switch (i._infoTag) {
|
|
223
|
+
case "Circle":
|
|
224
|
+
expectTypeOf(i.fields).toEqualTypeOf<NestedFieldInfo<Circle>["fields"]>()
|
|
225
|
+
// manual check of runtime structure
|
|
226
|
+
testFieldInfo(i.fields._tag)
|
|
227
|
+
testFieldInfo(i.fields.radius)
|
|
228
|
+
break
|
|
229
|
+
case "Square":
|
|
230
|
+
expectTypeOf(i.fields).toEqualTypeOf<NestedFieldInfo<Square>["fields"]>()
|
|
231
|
+
// manual check of runtime structure
|
|
232
|
+
testFieldInfo(i.fields._tag)
|
|
233
|
+
testFieldInfo(i.fields.sideLength)
|
|
234
|
+
break
|
|
235
|
+
case "Triangle":
|
|
236
|
+
expectTypeOf(i.fields).toEqualTypeOf<NestedFieldInfo<Triangle>["fields"]>()
|
|
237
|
+
// manual check of runtime structure
|
|
238
|
+
testFieldInfo(i.fields._tag)
|
|
239
|
+
testFieldInfo(i.fields.base)
|
|
240
|
+
testFieldInfo(i.fields.height)
|
|
241
|
+
break
|
|
242
|
+
}
|
|
243
|
+
})
|
|
244
|
+
})
|
|
245
|
+
.pipe(Effect.runPromise))
|
package/test/form.test.ts
DELETED
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
import { Effect } from "@effect-app/core"
|
|
2
|
-
import { S } from "effect-app"
|
|
3
|
-
import type { FieldInfo, NestedFieldInfo } from "../src/form.js"
|
|
4
|
-
import { buildFieldInfoFromFields, FieldInfoTag } from "../src/form.js"
|
|
5
|
-
|
|
6
|
-
export class NestedSchema extends S.Class<NestedSchema>()({
|
|
7
|
-
shallow: S.string,
|
|
8
|
-
nested: S.struct({
|
|
9
|
-
deep: S.NonEmptyString,
|
|
10
|
-
nested: S.struct({
|
|
11
|
-
deepest: S.number
|
|
12
|
-
})
|
|
13
|
-
})
|
|
14
|
-
}) {}
|
|
15
|
-
|
|
16
|
-
function testFieldInfo<T>(fi: FieldInfo<T>) {
|
|
17
|
-
expect(fi).toBeInstanceOf(Object)
|
|
18
|
-
expect(fi[FieldInfoTag]).toBe("FieldInfo")
|
|
19
|
-
expect(["text", "float", "int"]).toContain(fi.type)
|
|
20
|
-
expect(fi.rules).toBeInstanceOf(Array)
|
|
21
|
-
fi.rules.forEach((r) => {
|
|
22
|
-
expect(r).toBeInstanceOf(Function)
|
|
23
|
-
})
|
|
24
|
-
expect(fi.metadata).toBeInstanceOf(Object)
|
|
25
|
-
expect(fi.metadata.maxLength === void 0 || typeof fi.metadata.maxLength === "number").toBeTruthy()
|
|
26
|
-
expect(fi.metadata.minLength === void 0 || typeof fi.metadata.minLength === "number").toBeTruthy()
|
|
27
|
-
expect(typeof fi.metadata.required === "boolean").toBeTruthy()
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
function testNestedFieldInfo(nfi: NestedFieldInfo<any>) {
|
|
31
|
-
expect(nfi).toBeInstanceOf(Object)
|
|
32
|
-
expect(nfi[FieldInfoTag]).toBe("NestedFieldInfo")
|
|
33
|
-
|
|
34
|
-
Object.values(nfi).forEach((i) => {
|
|
35
|
-
switch (i[FieldInfoTag]) {
|
|
36
|
-
case "FieldInfo":
|
|
37
|
-
testFieldInfo(i)
|
|
38
|
-
break
|
|
39
|
-
case "NestedFieldInfo":
|
|
40
|
-
testNestedFieldInfo(i)
|
|
41
|
-
break
|
|
42
|
-
}
|
|
43
|
-
})
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
it("buildFieldInfo", () =>
|
|
47
|
-
Effect
|
|
48
|
-
.gen(function*() {
|
|
49
|
-
const nestedFieldInfos = buildFieldInfoFromFields(NestedSchema)
|
|
50
|
-
|
|
51
|
-
expectTypeOf(nestedFieldInfos).toEqualTypeOf<NestedFieldInfo<NestedSchema>>()
|
|
52
|
-
expectTypeOf(nestedFieldInfos.shallow).toEqualTypeOf<FieldInfo<string>>()
|
|
53
|
-
expectTypeOf(nestedFieldInfos.nested).toEqualTypeOf<NestedFieldInfo<NestedSchema["nested"]>>()
|
|
54
|
-
expectTypeOf(nestedFieldInfos.nested.deep).toEqualTypeOf<FieldInfo<string & S.NonEmptyStringBrand>>()
|
|
55
|
-
expectTypeOf(nestedFieldInfos.nested.nested).toEqualTypeOf<NestedFieldInfo<NestedSchema["nested"]["nested"]>>()
|
|
56
|
-
expectTypeOf(nestedFieldInfos.nested.nested.deepest).toEqualTypeOf<FieldInfo<number>>()
|
|
57
|
-
|
|
58
|
-
// it's a recursive check on actual runtime structure
|
|
59
|
-
testNestedFieldInfo(nestedFieldInfos)
|
|
60
|
-
})
|
|
61
|
-
.pipe(Effect.runPromise))
|