@effect-app/vue 0.161.0 → 0.162.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 +14 -0
- package/_cjs/form.cjs +8 -69
- package/_cjs/form.cjs.map +1 -1
- package/dist/form.d.ts +10 -28
- package/dist/form.d.ts.map +1 -1
- package/dist/form.js +9 -64
- package/package.json +5 -5
- package/src/form.ts +16 -121
- package/test/form.test.ts.bak +0 -245
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,19 @@
|
|
|
1
1
|
# @effect-app/vue
|
|
2
2
|
|
|
3
|
+
## 0.162.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- revert form changes
|
|
8
|
+
|
|
9
|
+
### Patch Changes
|
|
10
|
+
|
|
11
|
+
- Updated dependencies
|
|
12
|
+
- @effect-app/core@0.166.0
|
|
13
|
+
- effect-app@0.197.0
|
|
14
|
+
- @effect-app/schema@0.216.0
|
|
15
|
+
- @effect-app/vue@0.162.0
|
|
16
|
+
|
|
3
17
|
## 0.161.0
|
|
4
18
|
|
|
5
19
|
### Minor Changes
|
package/_cjs/form.cjs
CHANGED
|
@@ -30,64 +30,6 @@ function convertOutInt(v, type) {
|
|
|
30
30
|
function convertOut(v, set, type) {
|
|
31
31
|
return set(convertOutInt(v, type));
|
|
32
32
|
}
|
|
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
|
-
}
|
|
91
33
|
function buildFieldInfoFromFields(schema) {
|
|
92
34
|
const ast = "fields" in schema && schema.fields ? _effectApp.S.struct(schema.fields).ast : schema.ast;
|
|
93
35
|
// // todo: or look at from?
|
|
@@ -97,15 +39,13 @@ function buildFieldInfoFromFields(schema) {
|
|
|
97
39
|
// }
|
|
98
40
|
// }
|
|
99
41
|
if (!_effectApp.S.AST.isTypeLiteral(ast)) throw new Error("not a struct type");
|
|
100
|
-
return ast.propertySignatures.reduce((
|
|
42
|
+
return ast.propertySignatures.reduce((prev, cur) => {
|
|
101
43
|
;
|
|
102
|
-
|
|
103
|
-
return
|
|
104
|
-
}, {
|
|
105
|
-
_tag: "NestedFieldInfo",
|
|
106
|
-
fields: {}
|
|
107
|
-
});
|
|
44
|
+
prev[cur.name] = buildFieldInfo(cur);
|
|
45
|
+
return prev;
|
|
46
|
+
}, {});
|
|
108
47
|
}
|
|
48
|
+
const f = Symbol();
|
|
109
49
|
class PhantomTypeParameter {}
|
|
110
50
|
const defaultIntl = (0, _intl.createIntl)({
|
|
111
51
|
locale: "en"
|
|
@@ -179,13 +119,12 @@ function buildFieldInfo(property) {
|
|
|
179
119
|
}
|
|
180
120
|
return true;
|
|
181
121
|
}],
|
|
182
|
-
metadata
|
|
183
|
-
_tag: "FieldInfo"
|
|
122
|
+
metadata
|
|
184
123
|
};
|
|
185
124
|
return info;
|
|
186
125
|
}
|
|
187
126
|
const buildFormFromSchema = (s, state, onSubmit) => {
|
|
188
|
-
const fields = buildFieldInfoFromFields(s)
|
|
127
|
+
const fields = buildFieldInfoFromFields(s);
|
|
189
128
|
const parse = _effectApp.S.decodeSync(s);
|
|
190
129
|
const isDirty = (0, _vue.ref)(false);
|
|
191
130
|
const isValid = (0, _vue.ref)(true);
|
|
@@ -233,7 +172,7 @@ function getMetadataFromSchema(ast) {
|
|
|
233
172
|
...rest
|
|
234
173
|
};
|
|
235
174
|
}
|
|
236
|
-
// or we need to add these
|
|
175
|
+
// or we need to add these infos directly in the refinement like the minimum
|
|
237
176
|
// or find a jsonschema parser whojoins all of them
|
|
238
177
|
// todo, we have to use $ref: "#/$defs/Int"
|
|
239
178
|
// 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","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":[]}
|
|
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","buildFieldInfoFromFields","schema","ast","fields","S","struct","AST","isTypeLiteral","Error","propertySignatures","reduce","prev","cur","name","buildFieldInfo","f","Symbol","PhantomTypeParameter","defaultIntl","createIntl","locale","translate","exports","ref","formatMessage","bind","customSchemaErrors","Map","property","propertyKey","make","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":[]}
|
package/dist/form.d.ts
CHANGED
|
@@ -1,55 +1,37 @@
|
|
|
1
|
-
import type { Unbranded } from "@effect-app/schema/brand";
|
|
2
1
|
import { S } from "effect-app";
|
|
3
2
|
import type { Schema } from "effect-app/schema";
|
|
4
3
|
import type { Ref } from "vue";
|
|
5
4
|
export declare function convertIn(v: string | null, type?: "text" | "float" | "int"): string;
|
|
6
5
|
export declare function convertOutInt(v: string, type?: "text" | "float" | "int"): string | number | null;
|
|
7
6
|
export declare function convertOut(v: string, set: (v: unknown | null) => void, type?: "text" | "float" | "int"): void;
|
|
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
|
-
};
|
|
25
|
-
export type NestedFieldInfo<To extends Record<PropertyKey, any>> = {
|
|
26
|
-
fields: _NestedFieldInfo<To>;
|
|
27
|
-
_tag: "NestedFieldInfo";
|
|
28
|
-
} & {
|
|
29
|
-
[K in "_infoTag" as To extends {
|
|
30
|
-
"_tag": S.AST.LiteralValue;
|
|
31
|
-
} ? K : never]: To["_tag"];
|
|
32
|
-
};
|
|
33
7
|
export declare function buildFieldInfoFromFields<From extends Record<PropertyKey, any>, To extends Record<PropertyKey, any>>(schema: Schema<To, From, never> & {
|
|
34
8
|
fields?: S.Struct.Fields;
|
|
35
|
-
}):
|
|
9
|
+
}): { [K in keyof To]-?: FieldInfo<To[K]>; };
|
|
36
10
|
export interface FieldMetadata {
|
|
37
11
|
minLength: number | undefined;
|
|
38
12
|
maxLength: number | undefined;
|
|
39
13
|
required: boolean;
|
|
40
14
|
}
|
|
15
|
+
declare const f: unique symbol;
|
|
41
16
|
declare abstract class PhantomTypeParameter<Identifier extends keyof any, InstantiatedType> {
|
|
42
17
|
protected abstract readonly _: {
|
|
43
18
|
readonly [NameP in Identifier]: (_: InstantiatedType) => InstantiatedType;
|
|
44
19
|
};
|
|
45
20
|
}
|
|
21
|
+
export interface FieldInfo<Tout> extends PhantomTypeParameter<typeof f, {
|
|
22
|
+
out: Tout;
|
|
23
|
+
}> {
|
|
24
|
+
rules: ((v: string) => boolean | string)[];
|
|
25
|
+
metadata: FieldMetadata;
|
|
26
|
+
type: "text" | "float" | "int";
|
|
27
|
+
}
|
|
46
28
|
export declare const translate: Ref<{
|
|
47
29
|
(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;
|
|
48
30
|
<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)[];
|
|
49
31
|
}>;
|
|
50
32
|
export declare const customSchemaErrors: Ref<Map<string | S.AST.AST, (message: string, e: unknown, v: unknown) => string>>;
|
|
51
33
|
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>) => {
|
|
52
|
-
fields:
|
|
34
|
+
fields: { [K in keyof To]-?: FieldInfo<To[K]>; };
|
|
53
35
|
submit: <T extends Promise<{
|
|
54
36
|
valid: boolean;
|
|
55
37
|
}>>(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,
|
|
1
|
+
{"version":3,"file":"form.d.ts","sourceRoot":"","sources":["../src/form.ts"],"names":[],"mappings":"AAIA,OAAO,EAAwB,CAAC,EAAE,MAAM,YAAY,CAAA;AACpD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,KAAK,CAAA;AAM9B,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,KAAK,UAE1E;AAED,wBAAgB,aAAa,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,KAAK,0BAIvE;AAED,wBAAgB,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,OAAO,GAAG,IAAI,KAAK,IAAI,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,KAAK,QAEtG;AAED,wBAAgB,wBAAwB,CAAC,IAAI,SAAS,MAAM,CAAC,WAAW,EAAE,GAAG,CAAC,EAAE,EAAE,SAAS,MAAM,CAAC,WAAW,EAAE,GAAG,CAAC,EACjH,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,GAAG;IAAE,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAA;CAAE,4CAqB/D;AAED,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,GAAG,SAAS,CAAA;IAC7B,SAAS,EAAE,MAAM,GAAG,SAAS,CAAA;IAC7B,QAAQ,EAAE,OAAO,CAAA;CAClB;AAED,QAAA,MAAM,CAAC,eAAW,CAAA;AAClB,uBAAe,oBAAoB,CACjC,UAAU,SAAS,MAAM,GAAG,EAC5B,gBAAgB;IAEhB,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,EAAE;QAC7B,QAAQ,EAAE,KAAK,IAAI,UAAU,GAAG,CAAC,CAAC,EAAE,gBAAgB,KAAK,gBAAgB;KAC1E,CAAA;CACF;AACD,MAAM,WAAW,SAAS,CAAC,IAAI,CAAE,SAAQ,oBAAoB,CAAC,OAAO,CAAC,EAAE;IAAE,GAAG,EAAE,IAAI,CAAA;CAAE,CAAC;IACpF,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,KAAK,OAAO,GAAG,MAAM,CAAC,EAAE,CAAA;IAC1C,QAAQ,EAAE,aAAa,CAAA;IACvB,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,KAAK,CAAA;CAC/B;AAGD,eAAO,MAAM,SAAS;;;EAAoF,CAAA;AAC1G,eAAO,MAAM,kBAAkB,wCAAyC,MAAM,KAAK,OAAO,KAAK,OAAO,KAAK,MAAM,EAEhH,CAAA;AAmID,eAAO,MAAM,mBAAmB,6FAK3B,OACD,EAAE,EACF,IAAI,EACJ,KAAK,CACN,SACM,IAAI,IAAI,CAAC,gBACF,EAAE,KAAK,QAAQ,SAAS,CAAC;;;eAOmD,OAAO;;;;;CAmBlG,CAAA;AAED,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,GACb;IACD,IAAI,EAAE,KAAK,GAAG,OAAO,GAAG,MAAM,CAAA;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,OAAO,CAAA;IACjB,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB,CAyCA"}
|
package/dist/form.js
CHANGED
|
@@ -15,61 +15,6 @@ export function convertOutInt(v, type) {
|
|
|
15
15
|
export function convertOut(v, set, type) {
|
|
16
16
|
return set(convertOutInt(v, type));
|
|
17
17
|
}
|
|
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
|
-
}
|
|
73
18
|
export function buildFieldInfoFromFields(schema) {
|
|
74
19
|
const ast = "fields" in schema && schema.fields
|
|
75
20
|
? S.struct(schema.fields).ast
|
|
@@ -82,12 +27,13 @@ export function buildFieldInfoFromFields(schema) {
|
|
|
82
27
|
// }
|
|
83
28
|
if (!S.AST.isTypeLiteral(ast))
|
|
84
29
|
throw new Error("not a struct type");
|
|
85
|
-
return ast.propertySignatures.reduce((
|
|
30
|
+
return ast.propertySignatures.reduce((prev, cur) => {
|
|
86
31
|
;
|
|
87
|
-
|
|
88
|
-
return
|
|
89
|
-
}, {
|
|
32
|
+
prev[cur.name] = buildFieldInfo(cur);
|
|
33
|
+
return prev;
|
|
34
|
+
}, {});
|
|
90
35
|
}
|
|
36
|
+
const f = Symbol();
|
|
91
37
|
class PhantomTypeParameter {
|
|
92
38
|
}
|
|
93
39
|
const defaultIntl = createIntl({ locale: "en" });
|
|
@@ -190,13 +136,12 @@ function buildFieldInfo(property) {
|
|
|
190
136
|
return true;
|
|
191
137
|
}
|
|
192
138
|
],
|
|
193
|
-
metadata
|
|
194
|
-
_tag: "FieldInfo"
|
|
139
|
+
metadata
|
|
195
140
|
};
|
|
196
141
|
return info;
|
|
197
142
|
}
|
|
198
143
|
export const buildFormFromSchema = (s, state, onSubmit) => {
|
|
199
|
-
const fields = buildFieldInfoFromFields(s)
|
|
144
|
+
const fields = buildFieldInfoFromFields(s);
|
|
200
145
|
const parse = S.decodeSync(s);
|
|
201
146
|
const isDirty = ref(false);
|
|
202
147
|
const isValid = ref(true);
|
|
@@ -231,7 +176,7 @@ export function getMetadataFromSchema(ast) {
|
|
|
231
176
|
const { $ref: _, ...rest } = jschema;
|
|
232
177
|
jschema = { ...jschema["$defs"][jschema["$ref"].replace("#/$defs/", "")], ...rest };
|
|
233
178
|
}
|
|
234
|
-
// or we need to add these
|
|
179
|
+
// or we need to add these infos directly in the refinement like the minimum
|
|
235
180
|
// or find a jsonschema parser whojoins all of them
|
|
236
181
|
// todo, we have to use $ref: "#/$defs/Int"
|
|
237
182
|
// and look up
|
|
@@ -256,4 +201,4 @@ export function getMetadataFromSchema(ast) {
|
|
|
256
201
|
required: !nullable
|
|
257
202
|
};
|
|
258
203
|
}
|
|
259
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9mb3JtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxVQUFVLE1BQU0sMkJBQTJCLENBQUE7QUFFdkQsT0FBTyxFQUFFLFVBQVUsRUFBdUIsTUFBTSxnQkFBZ0IsQ0FBQTtBQUdoRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBSXBELE9BQU8sRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxNQUFNLEtBQUssQ0FBQTtBQUU1QywwRUFBMEU7QUFDMUUsWUFBWTtBQUVaLE1BQU0sVUFBVSxTQUFTLENBQUMsQ0FBZ0IsRUFBRSxJQUErQjtJQUN6RSxPQUFPLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFBO0FBQ3ZELENBQUM7QUFFRCxNQUFNLFVBQVUsYUFBYSxDQUFDLENBQVMsRUFBRSxJQUErQjtJQUN0RSxDQUFDLEdBQUcsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUE7SUFDNUIsTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssT0FBTyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO0lBQy9GLE9BQU8sQ0FBQyxDQUFBO0FBQ1YsQ0FBQztBQUVELE1B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
|
|
204
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9mb3JtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxVQUFVLE1BQU0sMkJBQTJCLENBQUE7QUFFdkQsT0FBTyxFQUFFLFVBQVUsRUFBdUIsTUFBTSxnQkFBZ0IsQ0FBQTtBQUVoRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBR3BELE9BQU8sRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxNQUFNLEtBQUssQ0FBQTtBQUU1QywwRUFBMEU7QUFDMUUsWUFBWTtBQUVaLE1BQU0sVUFBVSxTQUFTLENBQUMsQ0FBZ0IsRUFBRSxJQUErQjtJQUN6RSxPQUFPLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFBO0FBQ3ZELENBQUM7QUFFRCxNQUFNLFVBQVUsYUFBYSxDQUFDLENBQVMsRUFBRSxJQUErQjtJQUN0RSxDQUFDLEdBQUcsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUE7SUFDNUIsTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssT0FBTyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO0lBQy9GLE9BQU8sQ0FBQyxDQUFBO0FBQ1YsQ0FBQztBQUVELE1B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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.162.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
|
-
"
|
|
13
|
-
"@effect-app/
|
|
14
|
-
"effect-app": "0.
|
|
11
|
+
"@effect-app/core": "0.166.0",
|
|
12
|
+
"effect-app": "0.197.0",
|
|
13
|
+
"@effect-app/schema": "0.216.0",
|
|
14
|
+
"@effect-app/vue": "0.162.0"
|
|
15
15
|
},
|
|
16
16
|
"peerDependencies": {
|
|
17
17
|
"@effect/platform": "^0.48.21",
|
package/src/form.ts
CHANGED
|
@@ -2,10 +2,8 @@ import * as JSONSchema from "@effect/schema/JSONSchema"
|
|
|
2
2
|
import type { ParseError } from "@effect/schema/ParseResult"
|
|
3
3
|
import { createIntl, type IntlFormatters } from "@formatjs/intl"
|
|
4
4
|
import type {} from "intl-messageformat"
|
|
5
|
-
import type { Unbranded } from "@effect-app/schema/brand"
|
|
6
5
|
import { Either, Option, pipe, S } from "effect-app"
|
|
7
6
|
import type { Schema } from "effect-app/schema"
|
|
8
|
-
|
|
9
7
|
import type { Ref } from "vue"
|
|
10
8
|
import { capitalize, ref, watch } from "vue"
|
|
11
9
|
|
|
@@ -26,116 +24,9 @@ export function convertOut(v: string, set: (v: unknown | null) => void, type?: "
|
|
|
26
24
|
return set(convertOutInt(v, type))
|
|
27
25
|
}
|
|
28
26
|
|
|
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
|
-
}
|
|
52
|
-
|
|
53
|
-
export type NestedFieldInfo<To extends Record<PropertyKey, any>> =
|
|
54
|
-
// exploit eventual _tag field to propagate the unique tag
|
|
55
|
-
& {
|
|
56
|
-
fields: _NestedFieldInfo<To>
|
|
57
|
-
_tag: "NestedFieldInfo"
|
|
58
|
-
}
|
|
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
|
-
}
|
|
135
|
-
|
|
136
27
|
export function buildFieldInfoFromFields<From extends Record<PropertyKey, any>, To extends Record<PropertyKey, any>>(
|
|
137
28
|
schema: Schema<To, From, never> & { fields?: S.Struct.Fields }
|
|
138
|
-
)
|
|
29
|
+
) {
|
|
139
30
|
const ast = "fields" in schema && schema.fields
|
|
140
31
|
? (S.struct(schema.fields) as unknown as typeof schema).ast
|
|
141
32
|
: schema.ast
|
|
@@ -145,15 +36,15 @@ export function buildFieldInfoFromFields<From extends Record<PropertyKey, any>,
|
|
|
145
36
|
// ast = ast.to.type //no longer eists
|
|
146
37
|
// }
|
|
147
38
|
// }
|
|
148
|
-
|
|
149
39
|
if (!S.AST.isTypeLiteral(ast)) throw new Error("not a struct type")
|
|
150
40
|
return ast.propertySignatures.reduce(
|
|
151
|
-
(
|
|
152
|
-
;(
|
|
153
|
-
|
|
154
|
-
return acc
|
|
41
|
+
(prev, cur) => {
|
|
42
|
+
;(prev as any)[cur.name] = buildFieldInfo(cur)
|
|
43
|
+
return prev
|
|
155
44
|
},
|
|
156
|
-
{
|
|
45
|
+
{} as {
|
|
46
|
+
[K in keyof To]-?: FieldInfo<To[K]>
|
|
47
|
+
}
|
|
157
48
|
)
|
|
158
49
|
}
|
|
159
50
|
|
|
@@ -163,6 +54,7 @@ export interface FieldMetadata {
|
|
|
163
54
|
required: boolean
|
|
164
55
|
}
|
|
165
56
|
|
|
57
|
+
const f = Symbol()
|
|
166
58
|
abstract class PhantomTypeParameter<
|
|
167
59
|
Identifier extends keyof any,
|
|
168
60
|
InstantiatedType
|
|
@@ -171,7 +63,11 @@ abstract class PhantomTypeParameter<
|
|
|
171
63
|
readonly [NameP in Identifier]: (_: InstantiatedType) => InstantiatedType
|
|
172
64
|
}
|
|
173
65
|
}
|
|
174
|
-
|
|
66
|
+
export interface FieldInfo<Tout> extends PhantomTypeParameter<typeof f, { out: Tout }> {
|
|
67
|
+
rules: ((v: string) => boolean | string)[]
|
|
68
|
+
metadata: FieldMetadata
|
|
69
|
+
type: "text" | "float" | "int" // todo; multi-line vs single line text
|
|
70
|
+
}
|
|
175
71
|
const defaultIntl = createIntl({ locale: "en" })
|
|
176
72
|
|
|
177
73
|
export const translate = ref<IntlFormatters["formatMessage"]>(defaultIntl.formatMessage.bind(defaultIntl))
|
|
@@ -302,8 +198,7 @@ function buildFieldInfo(
|
|
|
302
198
|
return true
|
|
303
199
|
}
|
|
304
200
|
],
|
|
305
|
-
metadata
|
|
306
|
-
_tag: "FieldInfo"
|
|
201
|
+
metadata
|
|
307
202
|
}
|
|
308
203
|
|
|
309
204
|
return info as any
|
|
@@ -322,7 +217,7 @@ export const buildFormFromSchema = <
|
|
|
322
217
|
state: Ref<From>,
|
|
323
218
|
onSubmit: (a: To) => Promise<OnSubmitA>
|
|
324
219
|
) => {
|
|
325
|
-
const fields = buildFieldInfoFromFields(s)
|
|
220
|
+
const fields = buildFieldInfoFromFields(s)
|
|
326
221
|
const parse = S.decodeSync(s)
|
|
327
222
|
const isDirty = ref(false)
|
|
328
223
|
const isValid = ref(true)
|
|
@@ -377,7 +272,7 @@ export function getMetadataFromSchema(
|
|
|
377
272
|
const { $ref: _, ...rest } = jschema
|
|
378
273
|
jschema = { ...jschema["$defs"][jschema["$ref"].replace("#/$defs/", "")], ...rest }
|
|
379
274
|
}
|
|
380
|
-
// or we need to add these
|
|
275
|
+
// or we need to add these infos directly in the refinement like the minimum
|
|
381
276
|
// or find a jsonschema parser whojoins all of them
|
|
382
277
|
// todo, we have to use $ref: "#/$defs/Int"
|
|
383
278
|
// and look up
|
package/test/form.test.ts.bak
DELETED
|
@@ -1,245 +0,0 @@
|
|
|
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))
|