@effect-app/vue 2.93.8 → 2.94.1
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 +17 -0
- package/dist/query.d.ts.map +1 -1
- package/dist/query.js +12 -1
- package/package.json +19 -19
- package/src/query.ts +12 -0
- package/test/dist/stubs.d.ts +8 -8
- package/test/form-validation-errors.test.ts +102 -43
- package/tsconfig.json +5 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,22 @@
|
|
|
1
1
|
# @effect-app/vue
|
|
2
2
|
|
|
3
|
+
## 2.94.1
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 0a667ad: fix: tanstack query throwing error via watcher
|
|
8
|
+
|
|
9
|
+
## 2.94.0
|
|
10
|
+
|
|
11
|
+
### Minor Changes
|
|
12
|
+
|
|
13
|
+
- 1a102e2: update packages
|
|
14
|
+
|
|
15
|
+
### Patch Changes
|
|
16
|
+
|
|
17
|
+
- Updated dependencies [1a102e2]
|
|
18
|
+
- effect-app@3.16.0
|
|
19
|
+
|
|
3
20
|
## 2.93.8
|
|
4
21
|
|
|
5
22
|
### Patch Changes
|
package/dist/query.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../src/query.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../src/query.ts"],"names":[],"mappings":"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"}
|
package/dist/query.js
CHANGED
|
@@ -28,8 +28,18 @@ export const makeQuery = (getRuntime) => {
|
|
|
28
28
|
: ref(arg);
|
|
29
29
|
const queryKey = makeQueryKey(q);
|
|
30
30
|
const handler = q.handler;
|
|
31
|
+
const defaultOptions = {
|
|
32
|
+
// we do not want to throw errors, because we turn the success and error responses into a Result type
|
|
33
|
+
// why don't we turn the error/success response into a Result type before returning to tanstack query? because we want to leverage tanstack query's retry and caching mechanism, which relies on throwing errors to trigger retries, and we don't want to interfere with that by catching the errors too early.
|
|
34
|
+
// but if we allow tanstack query to throw, it will trigger the error boundary in Vue - via a "watcher callback" error - which we currently report and log, which is not what we want.
|
|
35
|
+
// TODO: we might want to rethink the strategy of how to handle errors that happen after the initial load.
|
|
36
|
+
// For suspense, the initial load is captured by the suspense boundary.
|
|
37
|
+
// For subsequent loads (or non suspense use) we currently are required to use the QueryResult component to conditionally render error/loading/etc.
|
|
38
|
+
throwOnError: false
|
|
39
|
+
};
|
|
31
40
|
const r = useTanstackQuery(Effect.isEffect(handler)
|
|
32
41
|
? {
|
|
42
|
+
...defaultOptions,
|
|
33
43
|
...options,
|
|
34
44
|
retry: (retryCount, error) => {
|
|
35
45
|
if (Runtime.isFiberFailure(error)) {
|
|
@@ -46,6 +56,7 @@ export const makeQuery = (getRuntime) => {
|
|
|
46
56
|
.pipe(Effect.tapDefect(reportRuntimeError), Effect.withSpan(`query ${q.id}`, { captureStackTrace: false }), meta?.["span"] ? Effect.withParentSpan(meta["span"]) : (_) => _), { signal })
|
|
47
57
|
}
|
|
48
58
|
: {
|
|
59
|
+
...defaultOptions,
|
|
49
60
|
...options,
|
|
50
61
|
retry: (retryCount, error) => {
|
|
51
62
|
if (Runtime.isFiberFailure(error)) {
|
|
@@ -144,4 +155,4 @@ export const useUpdateQuery = () => {
|
|
|
144
155
|
};
|
|
145
156
|
return f;
|
|
146
157
|
};
|
|
147
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
158
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvcXVlcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdURBQXVEO0FBQ3ZELHNEQUFzRDtBQUN0RCx3REFBd0Q7QUFDeEQsNERBQTREO0FBQzVELE9BQU8sS0FBSyxNQUFNLE1BQU0sMEJBQTBCLENBQUE7QUFDbEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0NBQWtDLENBQUE7QUFDcEUsT0FBTyxFQUE0TSxRQUFRLElBQUksZ0JBQWdCLEVBQUUsY0FBYyxFQUEyRCxNQUFNLHFCQUFxQixDQUFBO0FBQ3JWLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUdyRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQTtBQUVsRSxPQUFPLEVBQUUsUUFBUSxFQUEyQyxHQUFHLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBb0IsTUFBTSxLQUFLLENBQUE7QUFDakgsT0FBTyxFQUFFLFlBQVksRUFBRSxrQkFBa0IsRUFBRSxNQUFNLFVBQVUsQ0FBQTtBQW1FM0QsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLENBQUksVUFBb0MsRUFBRSxFQUFFO0lBQ25FLE1BQU0sU0FBUyxHQW9DWCxDQUNGLENBRTBDLEVBQzFDLEVBQUUsQ0FDSixDQUNFLEdBQW1DO0lBQ25DLHFHQUFxRztJQUNyRyxPQUFhO0lBQ2IsT0FBTztNQUNQLEVBQUU7UUFDRixNQUFNLFVBQVUsR0FBRyxPQUFPLENBQUMsVUFBVSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUE7UUFDbkQsTUFBTSxHQUFHLEdBQUcsR0FBRyxDQUFBO1FBQ2YsTUFBTSxHQUFHLEdBQWlCLENBQUMsR0FBRztZQUM1QixDQUFDLENBQUMsU0FBUztZQUNYLENBQUMsQ0FBQyxPQUFPLEdBQUcsS0FBSyxVQUFVO2dC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QyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUE7SUFDM0MsSUFBSSxLQUFLLEVBQUUsQ0FBQztRQUNWLE9BQU8sS0FBSyxDQUFBO0lBQ2QsQ0FBQztJQUNELE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUE7SUFDckcsSUFBSSxPQUFPLENBQUMsS0FBSyxLQUFLLFNBQVMsRUFBRSxDQUFDO1FBQ2hDLE9BQU8sT0FBTyxDQUFDLEtBQUssQ0FBQTtJQUN0QixDQUFDO0lBQ0QsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUE7SUFDakgsSUFBSSxPQUFPLENBQUMsS0FBSyxLQUFLLFNBQVMsRUFBRSxDQUFDO1FBQ2hDLE9BQU8sT0FBTyxDQUFDLEtBQUssQ0FBQTtJQUN0QixDQUFDO0lBRUQsTUFBTSxZQUFZLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFBO0lBRWxELE1BQU0sQ0FBQyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUU7UUFDOUQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsS0FBSyxDQUFBO1FBQ3JDLE9BQU8sSUFBSSxDQUFBO0lBQ2IsQ0FBQyxFQUFFLEVBQVMsQ0FBQyxDQUFBO0lBQ2IsT0FBTyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFBO0FBQ3JELENBQUM7QUFFRCxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsR0FBRyxFQUFFO0lBQ2pDLE1BQU0sV0FBVyxHQUFHLGNBQWMsRUFBRSxDQUFBO0lBRXBDLE1BQU0sQ0FBQyxHQVVILENBQUMsS0FBVSxFQUFFLGFBQWtCLEVBQUUsWUFBa0IsRUFBRSxFQUFFO1FBQ3pELE1BQU0sT0FBTyxHQUFHLFlBQVksS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFBO1FBQ3pFLE1BQU0sR0FBRyxHQUFHLFlBQVksS0FBSyxTQUFTO1lBQ3BDLENBQUMsQ0FBQyxDQUFDLEdBQUcsWUFBWSxDQUFDLEtBQUssQ0FBQyxFQUFFLGFBQWEsQ0FBQztZQUN6QyxDQUFDLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQ3ZCLE1BQU0sSUFBSSxHQUFHLFdBQVcsQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUE7UUFDMUMsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNULFdBQVcsQ0FBQyxZQUFZLENBQUMsR0FBRyxFQUFFLE9BQU8sQ0FBQyxDQUFBO1FBQ3hDLENBQUM7YUFBTSxDQUFDO1lBQ04sT0FBTyxDQUFDLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxZQUFZLEVBQUUsR0FBRyxDQUFDLENBQUE7UUFDMUQsQ0FBQztJQUNILENBQUMsQ0FBQTtJQUNELE9BQU8sQ0FBQyxDQUFBO0FBQ1YsQ0FBQyxDQUFBIn0=
|
package/package.json
CHANGED
|
@@ -1,38 +1,38 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@effect-app/vue",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.94.1",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"homepage": "https://github.com/effect-ts-app/libs/tree/main/packages/vue",
|
|
7
7
|
"dependencies": {
|
|
8
|
-
"@formatjs/intl": "^
|
|
8
|
+
"@formatjs/intl": "^4.1.0",
|
|
9
9
|
"@tanstack/query-core": "5.83.1",
|
|
10
10
|
"@tanstack/vue-query": "5.83.1",
|
|
11
|
-
"@vueuse/core": "^14.
|
|
11
|
+
"@vueuse/core": "^14.1.0",
|
|
12
12
|
"change-case": "^5.4.4",
|
|
13
13
|
"query-string": "^9.3.1",
|
|
14
|
-
"effect-app": "3.
|
|
14
|
+
"effect-app": "3.16.0"
|
|
15
15
|
},
|
|
16
16
|
"peerDependencies": {
|
|
17
|
-
"@effect-atom/atom": "^0.4.
|
|
18
|
-
"@effect-atom/atom-vue": "^0.4.
|
|
19
|
-
"@effect/platform": "^0.
|
|
20
|
-
"@effect/platform-browser": "^0.
|
|
21
|
-
"@sentry/browser": "^10.
|
|
22
|
-
"effect": "^3.19.
|
|
23
|
-
"vue": "^3.5.
|
|
17
|
+
"@effect-atom/atom": "^0.4.13",
|
|
18
|
+
"@effect-atom/atom-vue": "^0.4.5",
|
|
19
|
+
"@effect/platform": "^0.94.1",
|
|
20
|
+
"@effect/platform-browser": "^0.74.0",
|
|
21
|
+
"@sentry/browser": "^10.34.0",
|
|
22
|
+
"effect": "^3.19.14",
|
|
23
|
+
"vue": "^3.5.26"
|
|
24
24
|
},
|
|
25
25
|
"devDependencies": {
|
|
26
26
|
"@effect/vitest": "^0.27.0",
|
|
27
|
-
"@formatjs/icu-messageformat-parser": "^
|
|
28
|
-
"@types/node": "
|
|
29
|
-
"@vitejs/plugin-vue": "^6.0.
|
|
30
|
-
"intl-messageformat": "^
|
|
27
|
+
"@formatjs/icu-messageformat-parser": "^3.4.0",
|
|
28
|
+
"@types/node": "25.0.8",
|
|
29
|
+
"@vitejs/plugin-vue": "^6.0.3",
|
|
30
|
+
"intl-messageformat": "^11.1.0",
|
|
31
31
|
"json5": "^2.2.3",
|
|
32
32
|
"typescript": "~5.9.3",
|
|
33
|
-
"vite": "^7.
|
|
34
|
-
"vitest": "^4.0.
|
|
35
|
-
"@effect-app/eslint-shared-config": "0.
|
|
33
|
+
"vite": "^7.3.1",
|
|
34
|
+
"vitest": "^4.0.17",
|
|
35
|
+
"@effect-app/eslint-shared-config": "0.5.6"
|
|
36
36
|
},
|
|
37
37
|
"typesVersions": {
|
|
38
38
|
"*": {
|
|
@@ -139,6 +139,6 @@
|
|
|
139
139
|
"testsuite": "pnpm lint && pnpm circular && pnpm run test:run",
|
|
140
140
|
"ncu": "ncu",
|
|
141
141
|
"pub": "pnpm prepublish && npm publish --access public",
|
|
142
|
-
"prepublish": "
|
|
142
|
+
"prepublish": "cp -f ./tsconfig.json ./tsconfig.json.bak && node ../../scripts/mergeTsConfig.mjs ./tsconfig.json"
|
|
143
143
|
}
|
|
144
144
|
}
|
package/src/query.ts
CHANGED
|
@@ -140,9 +140,20 @@ export const makeQuery = <R>(getRuntime: () => Runtime.Runtime<R>) => {
|
|
|
140
140
|
const queryKey = makeQueryKey(q)
|
|
141
141
|
const handler = q.handler
|
|
142
142
|
|
|
143
|
+
const defaultOptions = {
|
|
144
|
+
// we do not want to throw errors, because we turn the success and error responses into a Result type
|
|
145
|
+
// why don't we turn the error/success response into a Result type before returning to tanstack query? because we want to leverage tanstack query's retry and caching mechanism, which relies on throwing errors to trigger retries, and we don't want to interfere with that by catching the errors too early.
|
|
146
|
+
// but if we allow tanstack query to throw, it will trigger the error boundary in Vue - via a "watcher callback" error - which we currently report and log, which is not what we want.
|
|
147
|
+
// TODO: we might want to rethink the strategy of how to handle errors that happen after the initial load.
|
|
148
|
+
// For suspense, the initial load is captured by the suspense boundary.
|
|
149
|
+
// For subsequent loads (or non suspense use) we currently are required to use the QueryResult component to conditionally render error/loading/etc.
|
|
150
|
+
throwOnError: false
|
|
151
|
+
}
|
|
152
|
+
|
|
143
153
|
const r = useTanstackQuery<A, KnownFiberFailure<E>, TData>(
|
|
144
154
|
Effect.isEffect(handler)
|
|
145
155
|
? {
|
|
156
|
+
...defaultOptions,
|
|
146
157
|
...options,
|
|
147
158
|
retry: (retryCount, error) => {
|
|
148
159
|
if (Runtime.isFiberFailure(error)) {
|
|
@@ -168,6 +179,7 @@ export const makeQuery = <R>(getRuntime: () => Runtime.Runtime<R>) => {
|
|
|
168
179
|
)
|
|
169
180
|
}
|
|
170
181
|
: {
|
|
182
|
+
...defaultOptions,
|
|
171
183
|
...options,
|
|
172
184
|
retry: (retryCount, error) => {
|
|
173
185
|
if (Runtime.isFiberFailure(error)) {
|
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<I18n | WithToast | Toast.Toast, never>;
|
|
17
17
|
declare const RequestContextMap_base: (new () => {
|
|
18
18
|
readonly config: {};
|
|
19
19
|
}) & {
|
|
@@ -93,14 +93,14 @@ export declare const useClient: (options?: {
|
|
|
93
93
|
messages?: Record<string, string> | Record<string, MessageFormatElement[]>;
|
|
94
94
|
toasts: any[];
|
|
95
95
|
}) => {
|
|
96
|
-
Command: import("../src/experimental/makeUseCommand.js").CommanderResolved<WithToast | (Commander | ApiClientFactory | LegacyMutation | (Toast.Toast
|
|
97
|
-
useCommand: () => import("../src/experimental/makeUseCommand.js").CommanderResolved<WithToast | (Commander | ApiClientFactory | LegacyMutation | (Toast.Toast
|
|
98
|
-
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
|
|
99
|
-
mutate: import("../src/makeClient.js").MutationWithExtensions<WithToast | (Commander | ApiClientFactory | LegacyMutation | (Toast.Toast
|
|
100
|
-
} & import("../src/makeClient.js").Queries<WithToast | (Commander | ApiClientFactory | LegacyMutation | (Toast.Toast
|
|
101
|
-
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
|
|
96
|
+
Command: import("../src/experimental/makeUseCommand.js").CommanderResolved<WithToast | (Commander | ApiClientFactory | LegacyMutation | (I18n | Toast.Toast)), never>;
|
|
97
|
+
useCommand: () => import("../src/experimental/makeUseCommand.js").CommanderResolved<WithToast | (Commander | ApiClientFactory | LegacyMutation | (I18n | Toast.Toast)), never>;
|
|
98
|
+
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 | (I18n | Toast.Toast)), import("effect-app/client").RequestHandlers<never, never, M, M["meta"]["moduleName"]>[Key]> & {
|
|
99
|
+
mutate: import("../src/makeClient.js").MutationWithExtensions<WithToast | (Commander | ApiClientFactory | LegacyMutation | (I18n | Toast.Toast)), import("effect-app/client").RequestHandlers<never, never, M, M["meta"]["moduleName"]>[Key]>;
|
|
100
|
+
} & import("../src/makeClient.js").Queries<WithToast | (Commander | ApiClientFactory | LegacyMutation | (I18n | Toast.Toast)), import("effect-app/client").RequestHandlers<never, never, M, M["meta"]["moduleName"]>[Key]>; } & {
|
|
101
|
+
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 | (I18n | Toast.Toast)), 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 | (I18n | Toast.Toast)), 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 | (I18n | Toast.Toast)), 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 | (I18n | Toast.Toast)), import("effect-app/client").RequestHandlers<never, never, M, M["meta"]["moduleName"]>[Key_4]>["suspense"]; };
|
|
102
102
|
};
|
|
103
|
-
legacy: import("../src/makeClient.js").Legacy<WithToast | (Commander | ApiClientFactory | LegacyMutation | (Toast.Toast
|
|
103
|
+
legacy: import("../src/makeClient.js").Legacy<WithToast | (Commander | ApiClientFactory | LegacyMutation | (I18n | Toast.Toast))>;
|
|
104
104
|
};
|
|
105
105
|
export {};
|
|
106
106
|
//# sourceMappingURL=stubs.d.ts.map
|
|
@@ -8,74 +8,133 @@ class TestSchema extends S.Class<TestSchema>("TestSchema")({
|
|
|
8
8
|
stringField: S.String
|
|
9
9
|
}) {}
|
|
10
10
|
|
|
11
|
-
//
|
|
11
|
+
// translation dictionaries
|
|
12
|
+
const translations: Record<string, Record<string, string>> = {
|
|
13
|
+
en: {
|
|
14
|
+
"validation.integer.expected": "Expected an integer, actual {actualValue}",
|
|
15
|
+
"validation.number.expected": "Expected a number, actual {actualValue}"
|
|
16
|
+
},
|
|
17
|
+
de: {
|
|
18
|
+
"validation.integer.expected": "Es wird eine ganze Zahl erwartet, tatsächlich: {actualValue}",
|
|
19
|
+
"validation.number.expected": "Es wird eine Zahl erwartet, tatsächlich: {actualValue}"
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
// mock translate function to capture translation calls and return actual translated string
|
|
12
24
|
const translationCalls: Array<{ id: string; defaultMessage: string; params?: any }> = []
|
|
25
|
+
let currentLocale = "en"
|
|
26
|
+
|
|
13
27
|
const mockTranslate = (msg: { id: string; defaultMessage: string }, params?: any) => {
|
|
14
28
|
translationCalls.push({ id: msg.id, defaultMessage: msg.defaultMessage, params })
|
|
15
|
-
|
|
16
|
-
|
|
29
|
+
|
|
30
|
+
// get the translation template
|
|
31
|
+
const template = translations[currentLocale]?.[msg.id] || msg.defaultMessage
|
|
32
|
+
|
|
33
|
+
// replace parameters in the template
|
|
34
|
+
if (params) {
|
|
35
|
+
return Object.entries(params).reduce((result, [key, value]) => {
|
|
36
|
+
return result.replace(`{${key}}`, String(value))
|
|
37
|
+
}, template)
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
return template
|
|
17
41
|
}
|
|
18
42
|
|
|
19
43
|
beforeEach(() => {
|
|
20
44
|
translationCalls.length = 0
|
|
45
|
+
currentLocale = "en"
|
|
21
46
|
translate.value = mockTranslate as any
|
|
22
47
|
})
|
|
23
48
|
|
|
24
|
-
it("validates integer field with decimal value", () =>
|
|
25
|
-
Effect
|
|
26
|
-
|
|
27
|
-
|
|
49
|
+
it("validates integer field with decimal value (English)", () =>
|
|
50
|
+
Effect
|
|
51
|
+
.gen(function*() {
|
|
52
|
+
currentLocale = "en"
|
|
53
|
+
const fieldInfo = buildFieldInfoFromFieldsRoot(TestSchema)
|
|
54
|
+
const integerFieldInfo = fieldInfo.fields.integerField
|
|
55
|
+
|
|
56
|
+
expect(integerFieldInfo._tag).toBe("FieldInfo")
|
|
57
|
+
expect(integerFieldInfo.type).toBe("int")
|
|
58
|
+
|
|
59
|
+
// test validation rules with a decimal value
|
|
60
|
+
const result = integerFieldInfo.rules[1] ? integerFieldInfo.rules[1]("59.5") : undefined
|
|
61
|
+
|
|
62
|
+
console.log("Validation result (EN):", result)
|
|
63
|
+
console.log("Translation calls:", translationCalls)
|
|
64
|
+
|
|
65
|
+
// the validation should fail
|
|
66
|
+
expect(result).not.toBe(true)
|
|
67
|
+
expect(typeof result).toBe("string")
|
|
68
|
+
|
|
69
|
+
// check if the correct translation key was called
|
|
70
|
+
const integerErrorCall = translationCalls.find((call) => call.id === "validation.integer.expected")
|
|
71
|
+
expect(integerErrorCall).toBeDefined()
|
|
72
|
+
expect(integerErrorCall?.params).toHaveProperty("actualValue")
|
|
73
|
+
expect(integerErrorCall?.params.actualValue).toBe("59.5")
|
|
74
|
+
|
|
75
|
+
// MOST IMPORTANT: verify the actual translated string returned
|
|
76
|
+
expect(result).toBe("Expected an integer, actual 59.5")
|
|
77
|
+
})
|
|
78
|
+
.pipe(Effect.runPromise))
|
|
79
|
+
|
|
80
|
+
it("validates integer field with decimal value (German)", () =>
|
|
81
|
+
Effect
|
|
82
|
+
.gen(function*() {
|
|
83
|
+
currentLocale = "de"
|
|
84
|
+
const fieldInfo = buildFieldInfoFromFieldsRoot(TestSchema)
|
|
85
|
+
const integerFieldInfo = fieldInfo.fields.integerField
|
|
28
86
|
|
|
29
|
-
|
|
30
|
-
|
|
87
|
+
expect(integerFieldInfo._tag).toBe("FieldInfo")
|
|
88
|
+
expect(integerFieldInfo.type).toBe("int")
|
|
31
89
|
|
|
32
|
-
|
|
33
|
-
|
|
90
|
+
// test validation rules with a decimal value
|
|
91
|
+
const result = integerFieldInfo.rules[1] ? integerFieldInfo.rules[1]("59.5") : undefined
|
|
34
92
|
|
|
35
|
-
|
|
36
|
-
console.log("Translation calls:", translationCalls)
|
|
93
|
+
console.log("Validation result (DE):", result)
|
|
37
94
|
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
95
|
+
// the validation should fail
|
|
96
|
+
expect(result).not.toBe(true)
|
|
97
|
+
expect(typeof result).toBe("string")
|
|
41
98
|
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
expect(integerErrorCall?.params.actualValue).toBe("59.5")
|
|
47
|
-
}).pipe(Effect.runPromise))
|
|
99
|
+
// MOST IMPORTANT: verify the actual German translated string returned
|
|
100
|
+
expect(result).toBe("Es wird eine ganze Zahl erwartet, tatsächlich: 59.5")
|
|
101
|
+
})
|
|
102
|
+
.pipe(Effect.runPromise))
|
|
48
103
|
|
|
49
104
|
it("validates string field parsed as number", () =>
|
|
50
|
-
Effect
|
|
51
|
-
|
|
52
|
-
|
|
105
|
+
Effect
|
|
106
|
+
.gen(function*() {
|
|
107
|
+
const fieldInfo = buildFieldInfoFromFieldsRoot(TestSchema)
|
|
108
|
+
const stringFieldInfo = fieldInfo.fields.stringField
|
|
53
109
|
|
|
54
|
-
|
|
55
|
-
|
|
110
|
+
expect(stringFieldInfo._tag).toBe("FieldInfo")
|
|
111
|
+
expect(stringFieldInfo.type).toBe("text")
|
|
56
112
|
|
|
57
|
-
|
|
58
|
-
|
|
113
|
+
// test validation rules with a number that should fail string validation
|
|
114
|
+
const result = stringFieldInfo.rules[0] ? stringFieldInfo.rules[0]("123") : undefined
|
|
59
115
|
|
|
60
|
-
|
|
116
|
+
console.log("Validation result for string field:", result)
|
|
61
117
|
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
118
|
+
// string field should accept "123" as a valid string
|
|
119
|
+
expect(result).toBe(true)
|
|
120
|
+
})
|
|
121
|
+
.pipe(Effect.runPromise))
|
|
65
122
|
|
|
66
123
|
it("validates integer field with valid integer", () =>
|
|
67
|
-
Effect
|
|
68
|
-
|
|
69
|
-
|
|
124
|
+
Effect
|
|
125
|
+
.gen(function*() {
|
|
126
|
+
const fieldInfo = buildFieldInfoFromFieldsRoot(TestSchema)
|
|
127
|
+
const integerFieldInfo = fieldInfo.fields.integerField
|
|
70
128
|
|
|
71
|
-
|
|
72
|
-
|
|
129
|
+
// test validation rules with a valid integer
|
|
130
|
+
const result = integerFieldInfo.rules[1] ? integerFieldInfo.rules[1]("42") : undefined
|
|
73
131
|
|
|
74
|
-
|
|
132
|
+
console.log("Validation result for valid integer:", result)
|
|
75
133
|
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
134
|
+
// the validation should pass
|
|
135
|
+
expect(result).toBe(true)
|
|
136
|
+
})
|
|
137
|
+
.pipe(Effect.runPromise))
|
|
79
138
|
|
|
80
139
|
it("error message format matches regex pattern", () => {
|
|
81
140
|
// test the actual error message format from Effect Schema
|
|
@@ -95,5 +154,5 @@ it("error message format matches regex pattern", () => {
|
|
|
95
154
|
|
|
96
155
|
const numberMatch = numberErrorMessage.match(/Expected.*number.*actual\s+(.+)/i)
|
|
97
156
|
expect(numberMatch).toBeTruthy()
|
|
98
|
-
expect(numberMatch![1]).toBe(
|
|
157
|
+
expect(numberMatch![1]).toBe("\"not-a-number\"")
|
|
99
158
|
})
|
package/tsconfig.json
CHANGED
|
@@ -34,8 +34,12 @@
|
|
|
34
34
|
},
|
|
35
35
|
{
|
|
36
36
|
"name": "@effect/language-service",
|
|
37
|
+
"ignoreEffectWarningsInTscExitCode": true,
|
|
37
38
|
"diagnosticSeverity": {
|
|
38
|
-
"missingEffectServiceDependency": "error"
|
|
39
|
+
"missingEffectServiceDependency": "error",
|
|
40
|
+
"effectFnOpportunity": "warning",
|
|
41
|
+
"globalErrorInEffectFailure": "warning",
|
|
42
|
+
"preferSchemaOverJson": "warning"
|
|
39
43
|
}
|
|
40
44
|
}
|
|
41
45
|
],
|