@effect-app/vue 4.0.0-beta.34 → 4.0.0-beta.37
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 +20 -0
- package/dist/form.d.ts.map +1 -1
- package/dist/form.js +15 -7
- package/dist/makeClient.d.ts +7 -7
- package/package.json +2 -2
- package/src/form.ts +14 -6
- package/test/dist/stubs.d.ts +8 -8
- package/test/form-validation-errors.test.ts +22 -18
- package/test/form.test.ts +0 -261
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,25 @@
|
|
|
1
1
|
# @effect-app/vue
|
|
2
2
|
|
|
3
|
+
## 4.0.0-beta.37
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 04fc985: Fixes error handling
|
|
8
|
+
- Updated dependencies [947fe20]
|
|
9
|
+
- effect-app@4.0.0-beta.37
|
|
10
|
+
|
|
11
|
+
## 4.0.0-beta.36
|
|
12
|
+
|
|
13
|
+
### Patch Changes
|
|
14
|
+
|
|
15
|
+
- effect-app@4.0.0-beta.36
|
|
16
|
+
|
|
17
|
+
## 4.0.0-beta.35
|
|
18
|
+
|
|
19
|
+
### Patch Changes
|
|
20
|
+
|
|
21
|
+
- effect-app@4.0.0-beta.35
|
|
22
|
+
|
|
3
23
|
## 4.0.0-beta.34
|
|
4
24
|
|
|
5
25
|
### Patch Changes
|
package/dist/form.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"form.d.ts","sourceRoot":"","sources":["../src/form.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"form.d.ts","sourceRoot":"","sources":["../src/form.ts"],"names":[],"mappings":"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"}
|
package/dist/form.js
CHANGED
|
@@ -74,10 +74,18 @@ function handlePropertySignature(propertySignature) {
|
|
|
74
74
|
// try to retrieve the _tag literal to set _infoTag later
|
|
75
75
|
const typeLiteral = getObjectsAST(ps.type);
|
|
76
76
|
const tagPropertySignature = typeLiteral?.propertySignatures.find((_) => _.name === "_tag");
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
77
|
+
// unwrap single-element Union to Literal (S.Struct({ _tag: S.Literal("x") }) wraps as Union([Literal("x")]))
|
|
78
|
+
const tagType = tagPropertySignature
|
|
79
|
+
? S.AST.isUnion(tagPropertySignature.type)
|
|
80
|
+
&& tagPropertySignature.type.types.length === 1
|
|
81
|
+
&& S.AST.isLiteral(tagPropertySignature.type.types[0])
|
|
82
|
+
? tagPropertySignature.type.types[0]
|
|
83
|
+
: tagPropertySignature.type
|
|
84
|
+
: undefined;
|
|
85
|
+
const tagLiteral = tagType
|
|
86
|
+
&& S.AST.isLiteral(tagType)
|
|
87
|
+
&& typeof tagType.literal === "string"
|
|
88
|
+
? tagType.literal
|
|
81
89
|
: void 0;
|
|
82
90
|
const toRet = handlePropertySignature(ps);
|
|
83
91
|
if (toRet._tag === "UnionFieldInfo") {
|
|
@@ -163,11 +171,11 @@ function buildFieldInfo(property) {
|
|
|
163
171
|
return custom(err, e, v);
|
|
164
172
|
}
|
|
165
173
|
// parse specific error types for better translation support
|
|
166
|
-
const integerMatch = err.match(/Expected.*integer.*actual\s+(
|
|
174
|
+
const integerMatch = err.match(/Expected.*integer.*(?:actual|got)\s+([^)]+)/i);
|
|
167
175
|
if (integerMatch) {
|
|
168
176
|
return translate.value({ defaultMessage: "Expected an integer, actual {actualValue}", id: "validation.integer.expected" }, { actualValue: integerMatch[1] });
|
|
169
177
|
}
|
|
170
|
-
const numberMatch = err.match(/Expected.*number.*actual\s+(
|
|
178
|
+
const numberMatch = err.match(/Expected.*number.*(?:actual|got)\s+([^)]+)/i);
|
|
171
179
|
if (numberMatch) {
|
|
172
180
|
return translate.value({ defaultMessage: "Expected a number, actual {actualValue}", id: "validation.number.expected" }, { actualValue: numberMatch[1] });
|
|
173
181
|
}
|
|
@@ -307,4 +315,4 @@ export function getMetadataFromSchema(ast) {
|
|
|
307
315
|
required: !nullable
|
|
308
316
|
};
|
|
309
317
|
}
|
|
310
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9mb3JtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQXVCLE1BQU0sZ0JBQWdCLENBQUE7QUFFaEUsT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFHekQsT0FBTyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsTUFBTSxLQUFLLENBQUE7QUFFckMsMEVBQTBFO0FBQzFFLFlBQVk7QUFFWixTQUFTLGFBQWEsQ0FBQyxHQUFjO0lBQ25DLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztRQUN6QixPQUFPLEdBQUcsQ0FBQTtJQUNaLENBQUM7SUFDRCxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDN0IsS0FBSyxNQUFNLFNBQVMsSUFBSSxHQUFHLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDM0MsTUFBTSxNQUFNLEdBQUcsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFBO1lBQ3ZDLElBQUksTUFBTTtnQkFBRSxPQUFPLE1BQU0sQ0FBQTtRQUMzQixDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUE7SUFDYixDQUFDO0lBQ0QsT0FBTyxJQUFJLENBQUE7QUFDYixDQUFDO0FBRUQsd0NBQXdDO0FBQ3hDLE1BQU0sVUFBVSxTQUFTLENBQUMsQ0FBZ0IsRUFBRSxJQUErQjtJQUN6RSxPQUFPLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFBO0FBQ3ZELENBQUM7QUFFRDs7O0dBR0c7QUFDSCx3Q0FBd0M7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
|
|
318
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9mb3JtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQXVCLE1BQU0sZ0JBQWdCLENBQUE7QUFFaEUsT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFHekQsT0FBTyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsTUFBTSxLQUFLLENBQUE7QUFFckMsMEVBQTBFO0FBQzFFLFlBQVk7QUFFWixTQUFTLGFBQWEsQ0FBQyxHQUFjO0lBQ25DLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztRQUN6QixPQUFPLEdBQUcsQ0FBQTtJQUNaLENBQUM7SUFDRCxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDN0IsS0FBSyxNQUFNLFNBQVMsSUFBSSxHQUFHLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDM0MsTUFBTSxNQUFNLEdBQUcsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFBO1lBQ3ZDLElBQUksTUFBTTtnQkFBRSxPQUFPLE1BQU0sQ0FBQTtRQUMzQixDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUE7SUFDYixDQUFDO0lBQ0QsT0FBTyxJQUFJLENBQUE7QUFDYixDQUFDO0FBRUQsd0NBQXdDO0FBQ3hDLE1BQU0sVUFBVSxTQUFTLENBQUMsQ0FBZ0IsRUFBRSxJQUErQjtJQUN6RSxPQUFPLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFBO0FBQ3ZELENBQUM7QUFFRDs7O0dBR0c7QUFDSCx3Q0FBd0M7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
|
package/dist/makeClient.d.ts
CHANGED
|
@@ -402,14 +402,14 @@ export declare class QueryImpl<R> {
|
|
|
402
402
|
type Base = I18n | Toast;
|
|
403
403
|
type Mix = ApiClientFactory | Commander | LegacyMutation | Base;
|
|
404
404
|
export declare const makeClient: <RT_, RTHooks>(getBaseMrt: () => ManagedRuntime.ManagedRuntime<RT_ | Mix, never>, clientFor_: ReturnType<(typeof ApiClientFactory)["makeFor"]>, rtHooks: Layer.Layer<RTHooks, never, Mix>) => {
|
|
405
|
-
Command: CommanderResolved<
|
|
406
|
-
useCommand: () => CommanderResolved<
|
|
407
|
-
clientFor: <M extends Requests>(m: M, queryInvalidation?: (client: ClientFrom<M>) => QueryInvalidation<M>) => { [Key in keyof RequestHandlers<never, never, M, M["meta"]["moduleName"]>]: RequestHandlers<never, never, M, M["meta"]["moduleName"]>[Key] & RequestWithExtensions<RTHooks | (
|
|
408
|
-
mutate: MutationWithExtensions<RTHooks | (
|
|
409
|
-
} & Queries<
|
|
410
|
-
helpers: { [Key_1 in keyof RequestHandlers<never, never, M, M["meta"]["moduleName"]> as `${ToCamel<string & Key_1>}Request`]: RequestWithExtensions<RTHooks | (
|
|
405
|
+
Command: CommanderResolved<Mix | RT_, RTHooks>;
|
|
406
|
+
useCommand: () => CommanderResolved<Mix | RT_, RTHooks>;
|
|
407
|
+
clientFor: <M extends Requests>(m: M, queryInvalidation?: (client: ClientFrom<M>) => QueryInvalidation<M>) => { [Key in keyof RequestHandlers<never, never, M, M["meta"]["moduleName"]>]: RequestHandlers<never, never, M, M["meta"]["moduleName"]>[Key] & RequestWithExtensions<RTHooks | (Mix | RT_), RequestHandlers<never, never, M, M["meta"]["moduleName"]>[Key]> & {
|
|
408
|
+
mutate: MutationWithExtensions<RTHooks | (Mix | RT_), RequestHandlers<never, never, M, M["meta"]["moduleName"]>[Key]>;
|
|
409
|
+
} & Queries<Mix | RT_, RequestHandlers<never, never, M, M["meta"]["moduleName"]>[Key]>; } & {
|
|
410
|
+
helpers: { [Key_1 in keyof RequestHandlers<never, never, M, M["meta"]["moduleName"]> as `${ToCamel<string & Key_1>}Request`]: RequestWithExtensions<RTHooks | (Mix | RT_), RequestHandlers<never, never, M, M["meta"]["moduleName"]>[Key_1]>; } & { [Key_2 in keyof RequestHandlers<never, never, M, M["meta"]["moduleName"]> as `${ToCamel<string & Key_2>}Mutation`]: MutationWithExtensions<RTHooks | (Mix | RT_), RequestHandlers<never, never, M, M["meta"]["moduleName"]>[Key_2]>; } & { [Key_3 in keyof RequestHandlers<never, never, M, M["meta"]["moduleName"]> as `${ToCamel<string & Key_3>}Query`]: Queries<Mix | RT_, RequestHandlers<never, never, M, M["meta"]["moduleName"]>[Key_3]>["query"]; } & { [Key_4 in keyof RequestHandlers<never, never, M, M["meta"]["moduleName"]> as `${ToCamel<string & Key_4>}SuspenseQuery`]: Queries<Mix | RT_, RequestHandlers<never, never, M, M["meta"]["moduleName"]>[Key_4]>["suspense"]; };
|
|
411
411
|
};
|
|
412
|
-
legacy: Legacy<
|
|
412
|
+
legacy: Legacy<Mix | RT_>;
|
|
413
413
|
};
|
|
414
414
|
export interface Legacy<R> extends Pick<QueryImpl<R>, "useQuery" | "useSuspenseQuery">, Omit<LegacyMutationImpl<R>, "getRuntime" | "toast" | "intl"> {
|
|
415
415
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@effect-app/vue",
|
|
3
|
-
"version": "4.0.0-beta.
|
|
3
|
+
"version": "4.0.0-beta.37",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"homepage": "https://github.com/effect-ts-app/libs/tree/main/packages/vue",
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
"@vueuse/core": "^14.2.1",
|
|
12
12
|
"change-case": "^5.4.4",
|
|
13
13
|
"query-string": "^9.3.1",
|
|
14
|
-
"effect-app": "4.0.0-beta.
|
|
14
|
+
"effect-app": "4.0.0-beta.37"
|
|
15
15
|
},
|
|
16
16
|
"peerDependencies": {
|
|
17
17
|
"@effect/atom-vue": "^4.0.0-beta.40",
|
package/src/form.ts
CHANGED
|
@@ -147,10 +147,18 @@ function handlePropertySignature(
|
|
|
147
147
|
const typeLiteral = getObjectsAST(ps.type)
|
|
148
148
|
|
|
149
149
|
const tagPropertySignature = typeLiteral?.propertySignatures.find((_) => _.name === "_tag")
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
150
|
+
// unwrap single-element Union to Literal (S.Struct({ _tag: S.Literal("x") }) wraps as Union([Literal("x")]))
|
|
151
|
+
const tagType = tagPropertySignature
|
|
152
|
+
? S.AST.isUnion(tagPropertySignature.type)
|
|
153
|
+
&& tagPropertySignature.type.types.length === 1
|
|
154
|
+
&& S.AST.isLiteral(tagPropertySignature.type.types[0]!)
|
|
155
|
+
? tagPropertySignature.type.types[0]!
|
|
156
|
+
: tagPropertySignature.type
|
|
157
|
+
: undefined
|
|
158
|
+
const tagLiteral = tagType
|
|
159
|
+
&& S.AST.isLiteral(tagType)
|
|
160
|
+
&& typeof tagType.literal === "string"
|
|
161
|
+
? tagType.literal
|
|
154
162
|
: void 0
|
|
155
163
|
|
|
156
164
|
const toRet = handlePropertySignature(ps)
|
|
@@ -277,7 +285,7 @@ function buildFieldInfo(
|
|
|
277
285
|
}
|
|
278
286
|
|
|
279
287
|
// parse specific error types for better translation support
|
|
280
|
-
const integerMatch = err.match(/Expected.*integer.*actual\s+(
|
|
288
|
+
const integerMatch = err.match(/Expected.*integer.*(?:actual|got)\s+([^)]+)/i)
|
|
281
289
|
if (integerMatch) {
|
|
282
290
|
return translate.value(
|
|
283
291
|
{ defaultMessage: "Expected an integer, actual {actualValue}", id: "validation.integer.expected" },
|
|
@@ -285,7 +293,7 @@ function buildFieldInfo(
|
|
|
285
293
|
)
|
|
286
294
|
}
|
|
287
295
|
|
|
288
|
-
const numberMatch = err.match(/Expected.*number.*actual\s+(
|
|
296
|
+
const numberMatch = err.match(/Expected.*number.*(?:actual|got)\s+([^)]+)/i)
|
|
289
297
|
if (numberMatch) {
|
|
290
298
|
return translate.value(
|
|
291
299
|
{ defaultMessage: "Expected a number, actual {actualValue}", id: "validation.number.expected" },
|
package/test/dist/stubs.d.ts
CHANGED
|
@@ -13,7 +13,7 @@ export declare const fakeIntlLayer: (messages?: Record<string, string> | Record<
|
|
|
13
13
|
export declare const useExperimental: (options?: {
|
|
14
14
|
messages?: Record<string, string> | Record<string, MessageFormatElement[]>;
|
|
15
15
|
toasts: any[];
|
|
16
|
-
}) => import("../src/experimental/makeUseCommand.js").CommanderResolved<
|
|
16
|
+
}) => import("../src/experimental/makeUseCommand.js").CommanderResolved<Toast.Toast | I18n | WithToast, never>;
|
|
17
17
|
declare const RequestContextMap_base: (new () => {
|
|
18
18
|
readonly config: {};
|
|
19
19
|
}) & {
|
|
@@ -155,14 +155,14 @@ export declare const useClient: (options?: {
|
|
|
155
155
|
messages?: Record<string, string> | Record<string, MessageFormatElement[]>;
|
|
156
156
|
toasts: any[];
|
|
157
157
|
}) => {
|
|
158
|
-
Command: import("../src/experimental/makeUseCommand.js").CommanderResolved<WithToast | (Commander | ApiClientFactory | LegacyMutation | (
|
|
159
|
-
useCommand: () => import("../src/experimental/makeUseCommand.js").CommanderResolved<WithToast | (Commander | ApiClientFactory | LegacyMutation | (
|
|
160
|
-
clientFor: <M extends import("effect-app/client").Requests>(m: M, queryInvalidation?: ((client: import("effect-app/client").RequestHandlers<never, never, M, M["meta"]["moduleName"]>) => import("../src/makeClient.js").QueryInvalidation<M>) | undefined) => { [Key in keyof import("effect-app/client").RequestHandlers<never, never, M, M["meta"]["moduleName"]>]: import("effect-app/client").RequestHandlers<never, never, M, M["meta"]["moduleName"]>[Key] & import("../src/makeClient.js").RequestWithExtensions<WithToast | (Commander | ApiClientFactory | LegacyMutation | (
|
|
161
|
-
mutate: import("../src/makeClient.js").MutationWithExtensions<WithToast | (Commander | ApiClientFactory | LegacyMutation | (
|
|
162
|
-
} & import("../src/makeClient.js").Queries<WithToast | (Commander | ApiClientFactory | LegacyMutation | (
|
|
163
|
-
helpers: { [Key_1 in keyof import("effect-app/client").RequestHandlers<never, never, M, M["meta"]["moduleName"]> as `${import("../src/makeClient.js").ToCamel<string & Key_1>}Request`]: import("../src/makeClient.js").RequestWithExtensions<WithToast | (Commander | ApiClientFactory | LegacyMutation | (
|
|
158
|
+
Command: import("../src/experimental/makeUseCommand.js").CommanderResolved<WithToast | (Commander | ApiClientFactory | LegacyMutation | (Toast.Toast | I18n)), never>;
|
|
159
|
+
useCommand: () => import("../src/experimental/makeUseCommand.js").CommanderResolved<WithToast | (Commander | ApiClientFactory | LegacyMutation | (Toast.Toast | I18n)), never>;
|
|
160
|
+
clientFor: <M extends import("effect-app/client").Requests>(m: M, queryInvalidation?: ((client: import("effect-app/client").RequestHandlers<never, never, M, M["meta"]["moduleName"]>) => import("../src/makeClient.js").QueryInvalidation<M>) | undefined) => { [Key in keyof import("effect-app/client").RequestHandlers<never, never, M, M["meta"]["moduleName"]>]: import("effect-app/client").RequestHandlers<never, never, M, M["meta"]["moduleName"]>[Key] & import("../src/makeClient.js").RequestWithExtensions<WithToast | (Commander | ApiClientFactory | LegacyMutation | (Toast.Toast | I18n)), import("effect-app/client").RequestHandlers<never, never, M, M["meta"]["moduleName"]>[Key]> & {
|
|
161
|
+
mutate: import("../src/makeClient.js").MutationWithExtensions<WithToast | (Commander | ApiClientFactory | LegacyMutation | (Toast.Toast | I18n)), import("effect-app/client").RequestHandlers<never, never, M, M["meta"]["moduleName"]>[Key]>;
|
|
162
|
+
} & import("../src/makeClient.js").Queries<WithToast | (Commander | ApiClientFactory | LegacyMutation | (Toast.Toast | I18n)), import("effect-app/client").RequestHandlers<never, never, M, M["meta"]["moduleName"]>[Key]>; } & {
|
|
163
|
+
helpers: { [Key_1 in keyof import("effect-app/client").RequestHandlers<never, never, M, M["meta"]["moduleName"]> as `${import("../src/makeClient.js").ToCamel<string & Key_1>}Request`]: import("../src/makeClient.js").RequestWithExtensions<WithToast | (Commander | ApiClientFactory | LegacyMutation | (Toast.Toast | I18n)), import("effect-app/client").RequestHandlers<never, never, M, M["meta"]["moduleName"]>[Key_1]>; } & { [Key_2 in keyof import("effect-app/client").RequestHandlers<never, never, M, M["meta"]["moduleName"]> as `${import("../src/makeClient.js").ToCamel<string & Key_2>}Mutation`]: import("../src/makeClient.js").MutationWithExtensions<WithToast | (Commander | ApiClientFactory | LegacyMutation | (Toast.Toast | I18n)), import("effect-app/client").RequestHandlers<never, never, M, M["meta"]["moduleName"]>[Key_2]>; } & { [Key_3 in keyof import("effect-app/client").RequestHandlers<never, never, M, M["meta"]["moduleName"]> as `${import("../src/makeClient.js").ToCamel<string & Key_3>}Query`]: import("../src/makeClient.js").Queries<WithToast | (Commander | ApiClientFactory | LegacyMutation | (Toast.Toast | I18n)), import("effect-app/client").RequestHandlers<never, never, M, M["meta"]["moduleName"]>[Key_3]>["query"]; } & { [Key_4 in keyof import("effect-app/client").RequestHandlers<never, never, M, M["meta"]["moduleName"]> as `${import("../src/makeClient.js").ToCamel<string & Key_4>}SuspenseQuery`]: import("../src/makeClient.js").Queries<WithToast | (Commander | ApiClientFactory | LegacyMutation | (Toast.Toast | I18n)), import("effect-app/client").RequestHandlers<never, never, M, M["meta"]["moduleName"]>[Key_4]>["suspense"]; };
|
|
164
164
|
};
|
|
165
|
-
legacy: import("../src/makeClient.js").Legacy<WithToast | (Commander | ApiClientFactory | LegacyMutation | (
|
|
165
|
+
legacy: import("../src/makeClient.js").Legacy<WithToast | (Commander | ApiClientFactory | LegacyMutation | (Toast.Toast | I18n))>;
|
|
166
166
|
};
|
|
167
167
|
export {};
|
|
168
168
|
//# sourceMappingURL=stubs.d.ts.map
|
|
@@ -137,22 +137,26 @@ it("validates integer field with valid integer", () =>
|
|
|
137
137
|
.pipe(Effect.runPromise))
|
|
138
138
|
|
|
139
139
|
it("error message format matches regex pattern", () => {
|
|
140
|
-
// test the actual error message format from Effect Schema
|
|
141
|
-
const
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
expect(
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
const
|
|
156
|
-
expect(
|
|
157
|
-
expect(
|
|
140
|
+
// test the actual error message format from Effect Schema (both old "actual" and new "got" formats)
|
|
141
|
+
const errorMessageOld = `Expected an integer, actual 59.5`
|
|
142
|
+
const errorMessageNew = `SchemaError(Expected an integer, got 59.5)`
|
|
143
|
+
|
|
144
|
+
const oldMatch = errorMessageOld.match(/Expected.*integer.*(?:actual|got)\s+([^)]+)/i)
|
|
145
|
+
expect(oldMatch).toBeTruthy()
|
|
146
|
+
expect(oldMatch![1]).toBe("59.5")
|
|
147
|
+
|
|
148
|
+
const newMatch = errorMessageNew.match(/Expected.*integer.*(?:actual|got)\s+([^)]+)/i)
|
|
149
|
+
expect(newMatch).toBeTruthy()
|
|
150
|
+
expect(newMatch![1]).toBe("59.5")
|
|
151
|
+
|
|
152
|
+
const numberErrorOld = `Expected a number, actual "not-a-number"`
|
|
153
|
+
const numberErrorNew = `SchemaError(Expected a finite number, got "not-a-number")`
|
|
154
|
+
|
|
155
|
+
const numOldMatch = numberErrorOld.match(/Expected.*number.*(?:actual|got)\s+([^)]+)/i)
|
|
156
|
+
expect(numOldMatch).toBeTruthy()
|
|
157
|
+
expect(numOldMatch![1]).toBe("\"not-a-number\"")
|
|
158
|
+
|
|
159
|
+
const numNewMatch = numberErrorNew.match(/Expected.*number.*(?:actual|got)\s+([^)]+)/i)
|
|
160
|
+
expect(numNewMatch).toBeTruthy()
|
|
161
|
+
expect(numNewMatch![1]).toBe("\"not-a-number\"")
|
|
158
162
|
})
|
package/test/form.test.ts
DELETED
|
@@ -1,261 +0,0 @@
|
|
|
1
|
-
import { Effect, S } from "effect-app"
|
|
2
|
-
import { buildFieldInfoFromFieldsRoot, type DiscriminatedUnionFieldInfo, type FieldInfo, type NestedFieldInfo, type UnionFieldInfo } from "../src/form.js"
|
|
3
|
-
|
|
4
|
-
export class NestedSchema extends S.Class<NestedSchema>("NestedSchema")({
|
|
5
|
-
shallow: S.String,
|
|
6
|
-
nested: S.Struct({
|
|
7
|
-
deep: S.NonEmptyString,
|
|
8
|
-
nested: S.Struct({
|
|
9
|
-
deepest: S.Finite
|
|
10
|
-
})
|
|
11
|
-
}),
|
|
12
|
-
age: S.Struct({ nfs: S.FiniteFromString.pipe(S.decodeTo(S.PositiveInt)) })
|
|
13
|
-
}) {}
|
|
14
|
-
|
|
15
|
-
export class SchemaContainsClass extends S.Class<SchemaContainsClass>("SchemaContainsClass")({
|
|
16
|
-
inner: NestedSchema
|
|
17
|
-
}) {}
|
|
18
|
-
|
|
19
|
-
export class UnionSchema extends S.Class<UnionSchema>("UnionSchema")({
|
|
20
|
-
generalUnion: S.Union([S.String, S.Struct({ unionNested: NestedSchema })]),
|
|
21
|
-
structsUnion: S.Union([NestedSchema, SchemaContainsClass]),
|
|
22
|
-
optional: S.optional(S.String),
|
|
23
|
-
nullable: S.NullOr(S.String)
|
|
24
|
-
}) {}
|
|
25
|
-
|
|
26
|
-
class Circle extends S.TaggedClass<Circle>()("Circle", {
|
|
27
|
-
radius: S.PositiveInt
|
|
28
|
-
}) {}
|
|
29
|
-
|
|
30
|
-
class Square extends S.TaggedClass<Square>()("Square", {
|
|
31
|
-
sideLength: S.PositiveInt
|
|
32
|
-
}) {}
|
|
33
|
-
|
|
34
|
-
class Triangle extends S.TaggedClass<Triangle>()("Triangle", {
|
|
35
|
-
base: S.PositiveInt,
|
|
36
|
-
height: S.Finite
|
|
37
|
-
}) {}
|
|
38
|
-
|
|
39
|
-
const CircleStruct = S.Struct({
|
|
40
|
-
_tag: S.Literal("CircleStruct"),
|
|
41
|
-
radius: S.PositiveInt
|
|
42
|
-
})
|
|
43
|
-
|
|
44
|
-
const SquareStruct = S.Struct({
|
|
45
|
-
_tag: S.Literal("SquareStruct"),
|
|
46
|
-
sideLength: S.PositiveInt
|
|
47
|
-
})
|
|
48
|
-
|
|
49
|
-
const TriangleStruct = S.Struct({
|
|
50
|
-
_tag: S.Literal("TriangleStruct"),
|
|
51
|
-
base: S.PositiveInt,
|
|
52
|
-
height: S.Finite
|
|
53
|
-
})
|
|
54
|
-
|
|
55
|
-
const ShapeWithStructs = S.Union([CircleStruct, SquareStruct, TriangleStruct])
|
|
56
|
-
const ShapeWithClasses = S.Union([Circle, Square, Triangle])
|
|
57
|
-
|
|
58
|
-
export class ShapeContainer extends S.Class<ShapeContainer>("ShapeContainer")({
|
|
59
|
-
shapeWithStruct: ShapeWithStructs,
|
|
60
|
-
shapeWithClasses: ShapeWithClasses
|
|
61
|
-
}) {}
|
|
62
|
-
|
|
63
|
-
function testFieldInfo<T>(fi: FieldInfo<T>) {
|
|
64
|
-
expect(fi).toBeInstanceOf(Object)
|
|
65
|
-
expect(fi._tag).toBe("FieldInfo")
|
|
66
|
-
expect(["text", "float", "int"]).toContain(fi.type)
|
|
67
|
-
expect(fi.rules).toBeInstanceOf(Array)
|
|
68
|
-
fi.rules.forEach((r) => {
|
|
69
|
-
expect(r).toBeInstanceOf(Function)
|
|
70
|
-
})
|
|
71
|
-
expect(fi.metadata).toBeInstanceOf(Object)
|
|
72
|
-
expect(fi.metadata.maxLength === void 0 || typeof fi.metadata.maxLength === "number").toBeTruthy()
|
|
73
|
-
expect(fi.metadata.minLength === void 0 || typeof fi.metadata.minLength === "number").toBeTruthy()
|
|
74
|
-
expect(typeof fi.metadata.required === "boolean").toBeTruthy()
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
function testUnionFieldInfo<T>(ufi: UnionFieldInfo<T[]>) {
|
|
78
|
-
expect(ufi).toBeInstanceOf(Object)
|
|
79
|
-
expect(ufi._tag).toBe("UnionFieldInfo")
|
|
80
|
-
expect(ufi.members).toBeInstanceOf(Array)
|
|
81
|
-
ufi.members.forEach(
|
|
82
|
-
(
|
|
83
|
-
i: any
|
|
84
|
-
) => {
|
|
85
|
-
switch (i._tag) {
|
|
86
|
-
case "FieldInfo":
|
|
87
|
-
testFieldInfo(i as FieldInfo<any>)
|
|
88
|
-
break
|
|
89
|
-
case "NestedFieldInfo":
|
|
90
|
-
testNestedFieldInfo(i as NestedFieldInfo<any>)
|
|
91
|
-
break
|
|
92
|
-
case "UnionFieldInfo":
|
|
93
|
-
testUnionFieldInfo(i as UnionFieldInfo<any>)
|
|
94
|
-
break
|
|
95
|
-
case "DiscriminatedUnionFieldInfo":
|
|
96
|
-
testDiscriminatedUnionFieldInfo(i as DiscriminatedUnionFieldInfo<any>)
|
|
97
|
-
break
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
)
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
function testNestedFieldInfo<T extends Record<PropertyKey, any>>(nfi: NestedFieldInfo<T>) {
|
|
104
|
-
expect(nfi).toBeInstanceOf(Object)
|
|
105
|
-
expect(nfi._tag).toBe("NestedFieldInfo")
|
|
106
|
-
expect(nfi.fields).toBeInstanceOf(Object)
|
|
107
|
-
|
|
108
|
-
// remove the value of _infoTag from the object when it is undefined
|
|
109
|
-
// when it isn't undefined, the followin switch will ignore it
|
|
110
|
-
Object.values(nfi).filter(Boolean).forEach(
|
|
111
|
-
(
|
|
112
|
-
i: any
|
|
113
|
-
) => {
|
|
114
|
-
switch (i._tag) {
|
|
115
|
-
case "FieldInfo":
|
|
116
|
-
testFieldInfo(i as FieldInfo<any>)
|
|
117
|
-
break
|
|
118
|
-
case "NestedFieldInfo":
|
|
119
|
-
testNestedFieldInfo(i as NestedFieldInfo<any>)
|
|
120
|
-
break
|
|
121
|
-
case "UnionFieldInfo":
|
|
122
|
-
testUnionFieldInfo(i as UnionFieldInfo<any>)
|
|
123
|
-
break
|
|
124
|
-
case "DiscriminatedUnionFieldInfo":
|
|
125
|
-
testDiscriminatedUnionFieldInfo(i as DiscriminatedUnionFieldInfo<any>)
|
|
126
|
-
break
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
)
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
function testDiscriminatedUnionFieldInfo<T extends Record<PropertyKey, any>>(dufi: DiscriminatedUnionFieldInfo<T>) {
|
|
133
|
-
expect(dufi).toBeInstanceOf(Object)
|
|
134
|
-
expect(dufi._tag).toBe("DiscriminatedUnionFieldInfo")
|
|
135
|
-
expect(dufi.members).toBeInstanceOf(Object)
|
|
136
|
-
|
|
137
|
-
Object.values(dufi.members).forEach(
|
|
138
|
-
(
|
|
139
|
-
i: any
|
|
140
|
-
) => {
|
|
141
|
-
switch (i._tag) {
|
|
142
|
-
case "FieldInfo":
|
|
143
|
-
testFieldInfo(i as FieldInfo<any>)
|
|
144
|
-
break
|
|
145
|
-
case "NestedFieldInfo":
|
|
146
|
-
testNestedFieldInfo(i as NestedFieldInfo<any>)
|
|
147
|
-
break
|
|
148
|
-
case "UnionFieldInfo":
|
|
149
|
-
testUnionFieldInfo(i as UnionFieldInfo<any>)
|
|
150
|
-
break
|
|
151
|
-
case "DiscriminatedUnionFieldInfo":
|
|
152
|
-
testDiscriminatedUnionFieldInfo(i as DiscriminatedUnionFieldInfo<any>)
|
|
153
|
-
break
|
|
154
|
-
}
|
|
155
|
-
}
|
|
156
|
-
)
|
|
157
|
-
}
|
|
158
|
-
|
|
159
|
-
it("buildFieldInfo", () =>
|
|
160
|
-
Effect
|
|
161
|
-
.gen(function*() {
|
|
162
|
-
const nestedFieldinfo = buildFieldInfoFromFieldsRoot(NestedSchema)
|
|
163
|
-
expectTypeOf(nestedFieldinfo).toEqualTypeOf<NestedFieldInfo<NestedSchema>>()
|
|
164
|
-
expectTypeOf(nestedFieldinfo.fields.shallow).toEqualTypeOf<FieldInfo<string>>()
|
|
165
|
-
expectTypeOf(nestedFieldinfo.fields.age).toEqualTypeOf<NestedFieldInfo<NestedSchema["age"]>>()
|
|
166
|
-
// TODO: v4 migration - type inference changed with S.decodeTo, investigate if this is correct
|
|
167
|
-
// expectTypeOf(nestedFieldinfo.fields.age.fields.nfs).toEqualTypeOf<FieldInfo<number & S.PositiveIntBrand>>()
|
|
168
|
-
expectTypeOf(nestedFieldinfo.fields.nested).toEqualTypeOf<NestedFieldInfo<NestedSchema["nested"]>>()
|
|
169
|
-
expectTypeOf(nestedFieldinfo.fields.nested.fields.deep).toEqualTypeOf<FieldInfo<string & S.NonEmptyStringBrand>>()
|
|
170
|
-
expectTypeOf(nestedFieldinfo.fields.nested.fields.nested).toEqualTypeOf<
|
|
171
|
-
NestedFieldInfo<NestedSchema["nested"]["nested"]>
|
|
172
|
-
>()
|
|
173
|
-
expectTypeOf(nestedFieldinfo.fields.nested.fields.nested.fields.deepest).toEqualTypeOf<FieldInfo<number>>()
|
|
174
|
-
|
|
175
|
-
// it's a recursive check on actual runtime structure
|
|
176
|
-
testNestedFieldInfo(nestedFieldinfo)
|
|
177
|
-
testNestedFieldInfo(nestedFieldinfo.fields.nested)
|
|
178
|
-
testNestedFieldInfo(nestedFieldinfo.fields.age)
|
|
179
|
-
})
|
|
180
|
-
.pipe(Effect.runPromise))
|
|
181
|
-
|
|
182
|
-
it("buildFieldInfo schema containing class", () =>
|
|
183
|
-
Effect
|
|
184
|
-
.gen(function*() {
|
|
185
|
-
const fieldinfo = buildFieldInfoFromFieldsRoot(SchemaContainsClass)
|
|
186
|
-
|
|
187
|
-
// the type system says that these are NestedFieldInfo<NestedSchema>s
|
|
188
|
-
// are they really? let's check
|
|
189
|
-
testNestedFieldInfo(fieldinfo.fields.inner)
|
|
190
|
-
testNestedFieldInfo(fieldinfo.fields.inner.fields.nested.fields.nested)
|
|
191
|
-
})
|
|
192
|
-
.pipe(Effect.runPromise))
|
|
193
|
-
|
|
194
|
-
it("buildFieldInfo with simple union", () =>
|
|
195
|
-
Effect
|
|
196
|
-
.gen(function*() {
|
|
197
|
-
const unionFieldinfo = buildFieldInfoFromFieldsRoot(UnionSchema)
|
|
198
|
-
expectTypeOf(unionFieldinfo).toEqualTypeOf<NestedFieldInfo<UnionSchema>>()
|
|
199
|
-
expectTypeOf(unionFieldinfo.fields.nullable).toEqualTypeOf<
|
|
200
|
-
FieldInfo<string | null>
|
|
201
|
-
>()
|
|
202
|
-
expectTypeOf(unionFieldinfo.fields.optional).toEqualTypeOf<
|
|
203
|
-
FieldInfo<string | undefined>
|
|
204
|
-
>()
|
|
205
|
-
expectTypeOf(unionFieldinfo.fields.structsUnion).toEqualTypeOf<
|
|
206
|
-
UnionFieldInfo<(NestedFieldInfo<NestedSchema> | NestedFieldInfo<SchemaContainsClass>)[]>
|
|
207
|
-
>()
|
|
208
|
-
expectTypeOf(unionFieldinfo.fields.generalUnion).toEqualTypeOf<
|
|
209
|
-
FieldInfo<
|
|
210
|
-
string | {
|
|
211
|
-
readonly unionNested: NestedSchema
|
|
212
|
-
}
|
|
213
|
-
>
|
|
214
|
-
>
|
|
215
|
-
|
|
216
|
-
// it's a recursive check on actual runtime structure
|
|
217
|
-
testNestedFieldInfo(unionFieldinfo)
|
|
218
|
-
testFieldInfo(unionFieldinfo.fields.nullable)
|
|
219
|
-
testFieldInfo(unionFieldinfo.fields.optional)
|
|
220
|
-
console.log({ asd: unionFieldinfo.fields.structsUnion })
|
|
221
|
-
testUnionFieldInfo(unionFieldinfo.fields.structsUnion)
|
|
222
|
-
testFieldInfo(unionFieldinfo.fields.generalUnion)
|
|
223
|
-
})
|
|
224
|
-
.pipe(Effect.runPromise))
|
|
225
|
-
|
|
226
|
-
it("buildFieldInfo with tagged unions", () =>
|
|
227
|
-
Effect
|
|
228
|
-
.gen(function*() {
|
|
229
|
-
const shapeFieldinfo = buildFieldInfoFromFieldsRoot(ShapeContainer)
|
|
230
|
-
|
|
231
|
-
// check at runtime if the structure is really an union
|
|
232
|
-
testDiscriminatedUnionFieldInfo(shapeFieldinfo.fields.shapeWithClasses)
|
|
233
|
-
testDiscriminatedUnionFieldInfo(shapeFieldinfo.fields.shapeWithStruct)
|
|
234
|
-
|
|
235
|
-
testNestedFieldInfo(shapeFieldinfo.fields.shapeWithClasses.members.Square)
|
|
236
|
-
expect(shapeFieldinfo.fields.shapeWithClasses.members.Square._infoTag).toBe("Square")
|
|
237
|
-
testFieldInfo(shapeFieldinfo.fields.shapeWithClasses.members.Square.fields.sideLength)
|
|
238
|
-
|
|
239
|
-
testNestedFieldInfo(shapeFieldinfo.fields.shapeWithClasses.members.Triangle)
|
|
240
|
-
expect(shapeFieldinfo.fields.shapeWithClasses.members.Triangle._infoTag).toBe("Triangle")
|
|
241
|
-
testFieldInfo(shapeFieldinfo.fields.shapeWithClasses.members.Triangle.fields.base)
|
|
242
|
-
testFieldInfo(shapeFieldinfo.fields.shapeWithClasses.members.Triangle.fields.height)
|
|
243
|
-
|
|
244
|
-
testNestedFieldInfo(shapeFieldinfo.fields.shapeWithClasses.members.Circle)
|
|
245
|
-
expect(shapeFieldinfo.fields.shapeWithClasses.members.Circle._infoTag).toBe("Circle")
|
|
246
|
-
testFieldInfo(shapeFieldinfo.fields.shapeWithClasses.members.Circle.fields.radius)
|
|
247
|
-
|
|
248
|
-
testNestedFieldInfo(shapeFieldinfo.fields.shapeWithStruct.members.SquareStruct)
|
|
249
|
-
expect(shapeFieldinfo.fields.shapeWithStruct.members.SquareStruct._infoTag).toBe("SquareStruct")
|
|
250
|
-
testFieldInfo(shapeFieldinfo.fields.shapeWithStruct.members.SquareStruct.fields.sideLength)
|
|
251
|
-
|
|
252
|
-
testNestedFieldInfo(shapeFieldinfo.fields.shapeWithStruct.members.TriangleStruct)
|
|
253
|
-
expect(shapeFieldinfo.fields.shapeWithStruct.members.TriangleStruct._infoTag).toBe("TriangleStruct")
|
|
254
|
-
testFieldInfo(shapeFieldinfo.fields.shapeWithStruct.members.TriangleStruct.fields.base)
|
|
255
|
-
testFieldInfo(shapeFieldinfo.fields.shapeWithStruct.members.TriangleStruct.fields.height)
|
|
256
|
-
|
|
257
|
-
testNestedFieldInfo(shapeFieldinfo.fields.shapeWithStruct.members.CircleStruct)
|
|
258
|
-
expect(shapeFieldinfo.fields.shapeWithStruct.members.CircleStruct._infoTag).toBe("CircleStruct")
|
|
259
|
-
testFieldInfo(shapeFieldinfo.fields.shapeWithStruct.members.CircleStruct.fields.radius)
|
|
260
|
-
})
|
|
261
|
-
.pipe(Effect.runPromise))
|