@effect-app/vue 4.0.0-beta.153 → 4.0.0-beta.155
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 +15 -0
- package/dist/form.js +4 -4
- package/dist/makeClient.d.ts +15 -3
- package/dist/makeClient.d.ts.map +1 -1
- package/dist/makeClient.js +56 -13
- package/dist/query.d.ts +1 -1
- package/dist/query.d.ts.map +1 -1
- package/dist/query.js +5 -3
- package/eslint.config.mjs +2 -2
- package/package.json +5 -5
- package/src/form.ts +4 -4
- package/src/makeClient.ts +128 -16
- package/src/query.ts +4 -2
- package/test/dist/stubs.d.ts +23 -1
- package/test/dist/stubs.d.ts.map +1 -1
- package/test/dist/stubs.js +1 -1
- package/test/makeClient.test.ts +30 -1
- package/test/stubs.ts +22 -21
- package/tsconfig.json.bak +2 -2
- package/tsconfig.src.json +34 -34
- package/tsconfig.test.json +2 -2
- package/vitest.config.ts +5 -5
package/dist/query.js
CHANGED
|
@@ -29,6 +29,8 @@ export const makeQuery = (getRuntime) => {
|
|
|
29
29
|
})
|
|
30
30
|
: ref(arg);
|
|
31
31
|
const queryKey = makeQueryKey(q);
|
|
32
|
+
const projectionHash = q.queryKeyProjectionHash;
|
|
33
|
+
const baseQueryKey = projectionHash === undefined ? queryKey : [...queryKey, projectionHash];
|
|
32
34
|
const handler = q.handler;
|
|
33
35
|
const defaultOptions = {
|
|
34
36
|
// we do not want to throw errors, because we turn the success and error responses into a Result type
|
|
@@ -51,7 +53,7 @@ export const makeQuery = (getRuntime) => {
|
|
|
51
53
|
}
|
|
52
54
|
return retryCount < 5;
|
|
53
55
|
},
|
|
54
|
-
queryKey,
|
|
56
|
+
queryKey: baseQueryKey,
|
|
55
57
|
queryFn: ({ meta, signal }) => runPromise(handler
|
|
56
58
|
.pipe(Effect.tapCauseIf(Cause.hasDies, (cause) => reportRuntimeError(cause)), Effect.withSpan(`query ${q.id}`, {}, { captureStackTrace: false }), meta?.["span"] ? Effect.withParentSpan(meta["span"]) : (_) => _), { signal })
|
|
57
59
|
}
|
|
@@ -66,7 +68,7 @@ export const makeQuery = (getRuntime) => {
|
|
|
66
68
|
}
|
|
67
69
|
return retryCount < 5;
|
|
68
70
|
},
|
|
69
|
-
queryKey: [...queryKey, req],
|
|
71
|
+
queryKey: projectionHash === undefined ? [...queryKey, req] : [...queryKey, req, projectionHash],
|
|
70
72
|
queryFn: ({ meta, signal }) => runPromise(handler(req.value)
|
|
71
73
|
.pipe(Effect.tapCauseIf(Cause.hasDies, (cause) => reportRuntimeError(cause)), Effect.withSpan(`query ${q.id}`, {}, { captureStackTrace: false }), meta?.["span"] ? Effect.withParentSpan(meta["span"]) : (_) => _), { signal })
|
|
72
74
|
});
|
|
@@ -153,4 +155,4 @@ export const useUpdateQuery = () => {
|
|
|
153
155
|
};
|
|
154
156
|
return f;
|
|
155
157
|
};
|
|
156
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
158
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvcXVlcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdURBQXVEO0FBQ3ZELHNEQUFzRDtBQUN0RCx3REFBd0Q7QUFDeEQsNERBQTREO0FBQzVELE9BQU8sRUFBNE0sUUFBUSxJQUFJLGdCQUFnQixFQUFFLGNBQWMsRUFBMkQsTUFBTSxxQkFBcUIsQ0FBQTtBQUNyVixPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBZ0IsTUFBTSxFQUFFLE1BQU0sRUFBRSxDQUFDLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFHMUUsT0FBTyxFQUFFLGNBQWMsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDBCQUEwQixDQUFBO0FBRWxGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFBO0FBQ3hFLE9BQU8sS0FBSyxXQUFXLE1BQU0sd0NBQXdDLENBQUE7QUFDckUsT0FBTyxFQUFFLFFBQVEsRUFBMkMsR0FBRyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQW9CLE1BQU0sS0FBSyxDQUFBO0FBQ2pILE9BQU8sRUFBRSxZQUFZLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxVQUFVLENBQUE7QUFDM0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQStEN0MsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLENBQUksVUFBb0MsRUFBRSxFQUFFO0lBQ25FLE1BQU0sU0FBUyxHQW9DWCxDQUNGLENBRTBDLEVBQzFDLEVBQUUsQ0FDSixDQUNFLEdBQW1DO0lBQ25DLHFHQUFxRztJQUNyRyxPQUFhO0lBQ2IsT0FBTztNQUNQLEVBQUU7UUFDRixxRkFBcUY7UUFDckYsTUFBTSxVQUFVLEdBQUcsY0FBYyxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUE7UUFDL0MsTUFBTSxHQUFHLEdBQUcsR0FBRyxDQUFBO1FBQ2YsTUFBTSxHQUFHLEdBQWlCLENBQUMsR0FBRztZQUM1QixDQUFDLENB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
|
package/eslint.config.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
+
import { augmentedConfig } from "@effect-app/eslint-shared-config/eslint.base.config"
|
|
1
2
|
import path from "node:path"
|
|
2
3
|
import { fileURLToPath } from "node:url"
|
|
3
|
-
import { augmentedConfig } from "@effect-app/eslint-shared-config/eslint.base.config"
|
|
4
4
|
|
|
5
5
|
const __filename = fileURLToPath(import.meta.url)
|
|
6
6
|
const __dirname = path.dirname(__filename)
|
|
@@ -18,7 +18,7 @@ export default [
|
|
|
18
18
|
{
|
|
19
19
|
rules: {
|
|
20
20
|
"@typescript-eslint/no-empty-interface": "off",
|
|
21
|
-
"@typescript-eslint/no-explicit-any": "warn"
|
|
21
|
+
"@typescript-eslint/no-explicit-any": "warn"
|
|
22
22
|
}
|
|
23
23
|
}
|
|
24
24
|
]
|
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.155",
|
|
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.155"
|
|
15
15
|
},
|
|
16
16
|
"peerDependencies": {
|
|
17
17
|
"@effect/atom-vue": "^4.0.0-beta.57",
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
"typescript": "npm:@typescript/native-preview@beta",
|
|
31
31
|
"vite": "^8.0.10",
|
|
32
32
|
"vitest": "^4.1.5",
|
|
33
|
-
"@effect-app/eslint-shared-config": "0.6.0-beta.
|
|
33
|
+
"@effect-app/eslint-shared-config": "0.6.0-beta.15"
|
|
34
34
|
},
|
|
35
35
|
"typesVersions": {
|
|
36
36
|
"*": {
|
|
@@ -130,9 +130,9 @@
|
|
|
130
130
|
"circular:src": "madge --circular --ts-config ./tsconfig.json --extensions ts ./src",
|
|
131
131
|
"circular:dist": "madge --circular --extensions js ./dist",
|
|
132
132
|
"compile": "NODE_OPTIONS=--max-old-space-size=6144 tsgo --noEmit",
|
|
133
|
-
"lint": "NODE_OPTIONS=--max-old-space-size=6144 ESLINT_TS=1 eslint ./src",
|
|
133
|
+
"lint": "oxlint ./src && NODE_OPTIONS=--max-old-space-size=6144 ESLINT_TS=1 eslint ./src && pnpm exec dprint check --config ../../dprint.jsonc .",
|
|
134
134
|
"lint:watch": "ESLINT_TS=1 esw -w --changed --clear --ext ts,tsx .",
|
|
135
|
-
"lint-fix": "pnpm
|
|
135
|
+
"lint-fix": "oxlint --fix ./src && NODE_OPTIONS=--max-old-space-size=6144 ESLINT_TS=1 eslint --fix ./src && pnpm exec dprint fmt --config ../../dprint.jsonc .",
|
|
136
136
|
"test": "vitest",
|
|
137
137
|
"test:run": "pnpm run test run --passWithNoTests",
|
|
138
138
|
"testsuite": "pnpm lint && pnpm circular && pnpm run test:run",
|
package/src/form.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createIntl, type IntlFormatters } from "@formatjs/intl"
|
|
2
|
-
|
|
2
|
+
|
|
3
3
|
import { Cause, Exit, Option, pipe, S } from "effect-app"
|
|
4
4
|
import type { Unbranded } from "effect-app/Schema/brand"
|
|
5
5
|
import type { IsUnion } from "effect-app/utils"
|
|
@@ -268,7 +268,7 @@ function buildFieldInfo(
|
|
|
268
268
|
const nullableOrUndefined = S.AST.isUnion(property.type)
|
|
269
269
|
&& (property.type.types.includes(S.Null.ast) || property.type.types.some((_) => _._tag === "Undefined"))
|
|
270
270
|
const realSelf = nullableOrUndefined && S.AST.isUnion(property.type)
|
|
271
|
-
? property.type.types.
|
|
271
|
+
? property.type.types.find((_) => _ !== S.Null.ast && _._tag !== "Undefined")!
|
|
272
272
|
: property.type
|
|
273
273
|
const id = S.AST.resolveIdentifier(property.type)
|
|
274
274
|
const id2 = S.AST.resolveIdentifier(realSelf)
|
|
@@ -452,7 +452,7 @@ export function getMetadataFromSchema(
|
|
|
452
452
|
|
|
453
453
|
const nullable = S.AST.isUnion(ast) && ast.types.includes(S.Null.ast)
|
|
454
454
|
const realSelf = nullable && S.AST.isUnion(ast)
|
|
455
|
-
? ast.types.
|
|
455
|
+
? ast.types.find((_) => _ !== S.Null.ast)!
|
|
456
456
|
: ast
|
|
457
457
|
|
|
458
458
|
let jschema: any
|
|
@@ -465,7 +465,7 @@ export function getMetadataFromSchema(
|
|
|
465
465
|
const { $ref: _, ...rest } = jschema
|
|
466
466
|
jschema = { ...defs[jschema["$ref"].replace("#/$defs/", "")], ...rest }
|
|
467
467
|
}
|
|
468
|
-
} catch
|
|
468
|
+
} catch {
|
|
469
469
|
jschema = {}
|
|
470
470
|
}
|
|
471
471
|
// or we need to add these info directly in the refinement like the minimum
|
package/src/makeClient.ts
CHANGED
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
2
2
|
import { type InvalidateOptions, type InvalidateQueryFilters, isCancelledError, type QueryObserverResult, type RefetchOptions, type UseQueryReturnType } from "@tanstack/vue-query"
|
|
3
3
|
import { camelCase } from "change-case"
|
|
4
|
-
import { type Context, Effect, Exit, type Layer, type ManagedRuntime, Struct } from "effect-app"
|
|
4
|
+
import { type Context, Effect, Exit, Hash, type Layer, type ManagedRuntime, S, Struct } from "effect-app"
|
|
5
5
|
import { type ApiClientFactory, type Req } from "effect-app/client"
|
|
6
6
|
import type { ExtractModuleName, RequestHandler, RequestHandlers, RequestHandlerWithInput, RequestsAny } from "effect-app/client/clientFor"
|
|
7
|
-
import { extendM } from "effect-app/utils"
|
|
8
7
|
import { type Fiber } from "effect/Fiber"
|
|
9
8
|
import * as AsyncResult from "effect/unstable/reactivity/AsyncResult"
|
|
10
9
|
import { type ComputedRef, onBeforeUnmount, ref, type WatchSource } from "vue"
|
|
@@ -21,6 +20,19 @@ const mapHandler = <A, E, R, I = void, A2 = A, E2 = E, R2 = R>(
|
|
|
21
20
|
map: (self: Effect.Effect<A, E, R>, i: I) => Effect.Effect<A2, E2, R2>
|
|
22
21
|
) => Effect.isEffect(handler) ? map(handler, undefined as any) : (i: I) => map(handler(i), i)
|
|
23
22
|
|
|
23
|
+
const projectHandler = (
|
|
24
|
+
handler: Effect.Effect<any, any, any> | ((i: any) => Effect.Effect<any, any, any>),
|
|
25
|
+
successSchema: S.Top,
|
|
26
|
+
projectionSchema: S.Top
|
|
27
|
+
) =>
|
|
28
|
+
mapHandler(handler, (self) =>
|
|
29
|
+
self.pipe(
|
|
30
|
+
Effect.flatMap((a) => S.encodeEffect(successSchema)(a)),
|
|
31
|
+
Effect.flatMap((encoded) => S.decodeEffect(projectionSchema)(encoded))
|
|
32
|
+
))
|
|
33
|
+
|
|
34
|
+
const projectionSchemaHash = (schema: S.Top) => String(Hash.hash(schema.ast))
|
|
35
|
+
|
|
24
36
|
export interface CommandRequestExtensions<RT, Id extends string, I, A, E, R> {
|
|
25
37
|
/** Defines a Command based on this call, taking the `id` of the call as the `id` of the Command.
|
|
26
38
|
* The Request function will be taken as the first member of the Command, the Command required input will be the Request input.
|
|
@@ -131,6 +143,17 @@ export interface MutationExtWithInput<
|
|
|
131
143
|
* Override invalidation in client options via `queryInvalidation`.
|
|
132
144
|
*/
|
|
133
145
|
(i: I): Effect.Effect<A, E, R>
|
|
146
|
+
|
|
147
|
+
project: <ProjSchema extends S.Top>(
|
|
148
|
+
schema: ProjSchema
|
|
149
|
+
) => MutationExtWithInput<
|
|
150
|
+
RT,
|
|
151
|
+
Id,
|
|
152
|
+
I,
|
|
153
|
+
S.Schema.Type<ProjSchema>,
|
|
154
|
+
E | S.SchemaError,
|
|
155
|
+
R | S.Codec.DecodingServices<ProjSchema>
|
|
156
|
+
>
|
|
134
157
|
}
|
|
135
158
|
|
|
136
159
|
/**
|
|
@@ -147,6 +170,15 @@ export interface MutationExt<
|
|
|
147
170
|
E,
|
|
148
171
|
R
|
|
149
172
|
> extends MutationExtensions<RT, Id, void, A, E, R>, Effect.Effect<A, E, R> {
|
|
173
|
+
project: <ProjSchema extends S.Top>(
|
|
174
|
+
schema: ProjSchema
|
|
175
|
+
) => MutationExt<
|
|
176
|
+
RT,
|
|
177
|
+
Id,
|
|
178
|
+
S.Schema.Type<ProjSchema>,
|
|
179
|
+
E | S.SchemaError,
|
|
180
|
+
R | S.Codec.DecodingServices<ProjSchema>
|
|
181
|
+
>
|
|
150
182
|
}
|
|
151
183
|
|
|
152
184
|
export type MutationWithExtensions<RT, Req> = Req extends
|
|
@@ -161,6 +193,47 @@ declare const useQuery_: QueryImpl<any>["useQuery"]
|
|
|
161
193
|
// eslint-disable-next-line unused-imports/no-unused-vars
|
|
162
194
|
declare const useSuspenseQuery_: QueryImpl<any>["useSuspenseQuery"]
|
|
163
195
|
|
|
196
|
+
export interface ProjectResult<RT, I, B, E, R, Request extends Req, Id extends string> {
|
|
197
|
+
request: (i: I) => Effect.Effect<B, E, R>
|
|
198
|
+
query: Exclude<R, RT> extends never ? ReturnType<typeof useQuery_<I, E, B, Request, Id>>
|
|
199
|
+
: MissingDependencies<RT, R> & {}
|
|
200
|
+
suspense: Exclude<R, RT> extends never ? ReturnType<typeof useSuspenseQuery_<I, E, B, Request, Id>>
|
|
201
|
+
: MissingDependencies<RT, R> & {}
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
export type QueryProjection<RT, HandlerReq> = HandlerReq extends
|
|
205
|
+
RequestHandlerWithInput<infer I, infer _A, infer E, infer R, infer Request, infer Id>
|
|
206
|
+
? Request["type"] extends "query" ? {
|
|
207
|
+
project: <ProjSchema extends S.Top>(
|
|
208
|
+
schema: ProjSchema
|
|
209
|
+
) => ProjectResult<
|
|
210
|
+
RT,
|
|
211
|
+
I,
|
|
212
|
+
S.Schema.Type<ProjSchema>,
|
|
213
|
+
E | S.SchemaError,
|
|
214
|
+
R | S.Codec.DecodingServices<ProjSchema>,
|
|
215
|
+
Request,
|
|
216
|
+
Id
|
|
217
|
+
>
|
|
218
|
+
}
|
|
219
|
+
: {}
|
|
220
|
+
: HandlerReq extends RequestHandler<infer _A, infer E, infer R, infer Request, infer Id>
|
|
221
|
+
? Request["type"] extends "query" ? {
|
|
222
|
+
project: <ProjSchema extends S.Top>(
|
|
223
|
+
schema: ProjSchema
|
|
224
|
+
) => ProjectResult<
|
|
225
|
+
RT,
|
|
226
|
+
void,
|
|
227
|
+
S.Schema.Type<ProjSchema>,
|
|
228
|
+
E | S.SchemaError,
|
|
229
|
+
R | S.Codec.DecodingServices<ProjSchema>,
|
|
230
|
+
Request,
|
|
231
|
+
Id
|
|
232
|
+
>
|
|
233
|
+
}
|
|
234
|
+
: {}
|
|
235
|
+
: {}
|
|
236
|
+
|
|
164
237
|
export interface QueriesWithInput<Request extends Req, Id extends string, I, A, E> {
|
|
165
238
|
/**
|
|
166
239
|
* Read helper for query requests.
|
|
@@ -499,9 +572,21 @@ export const makeClient = <RT_, RTHooks>(
|
|
|
499
572
|
if (client[key].Request.type !== "command") {
|
|
500
573
|
return acc
|
|
501
574
|
}
|
|
502
|
-
const
|
|
503
|
-
|
|
504
|
-
|
|
575
|
+
const makeProjectedMutation = (handler: any): any => {
|
|
576
|
+
const mut: any = mutation(handler)
|
|
577
|
+
const wrap = Command.wrap({ mutate: Effect.isEffect(mut) ? () => mut : mut, id: client[key].id })
|
|
578
|
+
return Object.assign(mut, {
|
|
579
|
+
wrap,
|
|
580
|
+
project: (projectionSchema: any) => {
|
|
581
|
+
const projected = {
|
|
582
|
+
...handler,
|
|
583
|
+
handler: projectHandler(handler.handler, client[key].Request.success, projectionSchema)
|
|
584
|
+
}
|
|
585
|
+
return makeProjectedMutation(projected)
|
|
586
|
+
}
|
|
587
|
+
})
|
|
588
|
+
}
|
|
589
|
+
;(acc as any)[camelCase(key) + "Mutation"] = makeProjectedMutation(client[key] as any)
|
|
505
590
|
return acc
|
|
506
591
|
},
|
|
507
592
|
{} as {
|
|
@@ -543,25 +628,51 @@ export const makeClient = <RT_, RTHooks>(
|
|
|
543
628
|
...client[key],
|
|
544
629
|
request,
|
|
545
630
|
query: useQuery(client[key] as any),
|
|
546
|
-
suspense: useSuspenseQuery(client[key] as any)
|
|
631
|
+
suspense: useSuspenseQuery(client[key] as any),
|
|
632
|
+
project: (projectionSchema: any) => {
|
|
633
|
+
const successSchema = client[key].Request.success
|
|
634
|
+
const projectionHash = projectionSchemaHash(projectionSchema)
|
|
635
|
+
const projected = projectHandler(h_ as any, successSchema, projectionSchema)
|
|
636
|
+
const fakeHandler = {
|
|
637
|
+
handler: projected,
|
|
638
|
+
id: client[key].id,
|
|
639
|
+
Request: client[key].Request,
|
|
640
|
+
options: client[key].options,
|
|
641
|
+
queryKeyProjectionHash: projectionHash
|
|
642
|
+
}
|
|
643
|
+
return {
|
|
644
|
+
request: projected,
|
|
645
|
+
query: useQuery(fakeHandler as any),
|
|
646
|
+
suspense: useSuspenseQuery(fakeHandler as any)
|
|
647
|
+
}
|
|
648
|
+
}
|
|
547
649
|
}
|
|
548
650
|
: {
|
|
549
|
-
mutate:
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
Object.assign(
|
|
651
|
+
mutate: ((handler: any) => {
|
|
652
|
+
const makeProjectedMutation = (h: any): any => {
|
|
653
|
+
const mutate = mutation(
|
|
654
|
+
h,
|
|
655
|
+
invalidation?.[key] ? { queryInvalidation: invalidation[key] } : undefined
|
|
656
|
+
) as any
|
|
657
|
+
return Object.assign(
|
|
556
658
|
mutate,
|
|
557
659
|
{
|
|
558
660
|
wrap: Command.wrap({
|
|
559
661
|
mutate: Effect.isEffect(mutate) ? () => mutate : mutate,
|
|
560
662
|
id: client[key].id
|
|
561
|
-
})
|
|
663
|
+
}),
|
|
664
|
+
project: (projectionSchema: any) => {
|
|
665
|
+
const projected = {
|
|
666
|
+
...h,
|
|
667
|
+
handler: projectHandler(h.handler, client[key].Request.success, projectionSchema)
|
|
668
|
+
}
|
|
669
|
+
return makeProjectedMutation(projected)
|
|
670
|
+
}
|
|
562
671
|
}
|
|
563
672
|
)
|
|
564
|
-
|
|
673
|
+
}
|
|
674
|
+
return makeProjectedMutation(handler)
|
|
675
|
+
})(client[key] as any),
|
|
565
676
|
...client[key],
|
|
566
677
|
...fn, // to get the i18n key etc.
|
|
567
678
|
request,
|
|
@@ -577,7 +688,8 @@ export const makeClient = <RT_, RTHooks>(
|
|
|
577
688
|
& (QueryHandler<typeof client[Key]> extends never ? {}
|
|
578
689
|
:
|
|
579
690
|
& QueryRequestWithExtensions<QueryHandler<typeof client[Key]>>
|
|
580
|
-
& Queries<RT, QueryHandler<typeof client[Key]>>
|
|
691
|
+
& Queries<RT, QueryHandler<typeof client[Key]>>
|
|
692
|
+
& QueryProjection<RT, QueryHandler<typeof client[Key]>>)
|
|
581
693
|
& (CommandHandler<typeof client[Key]> extends never ? {}
|
|
582
694
|
: CommandRequestWithExtensions<RT | RTHooks, CommandHandler<typeof client[Key]>>)
|
|
583
695
|
& (CommandHandler<typeof client[Key]> extends never ? {}
|
package/src/query.ts
CHANGED
|
@@ -136,6 +136,8 @@ export const makeQuery = <R>(getRuntime: () => Context.Context<R>) => {
|
|
|
136
136
|
})
|
|
137
137
|
: ref(arg)
|
|
138
138
|
const queryKey = makeQueryKey(q)
|
|
139
|
+
const projectionHash = (q as { queryKeyProjectionHash?: string }).queryKeyProjectionHash
|
|
140
|
+
const baseQueryKey = projectionHash === undefined ? queryKey : [...queryKey, projectionHash]
|
|
139
141
|
const handler = q.handler
|
|
140
142
|
|
|
141
143
|
const defaultOptions = {
|
|
@@ -162,7 +164,7 @@ export const makeQuery = <R>(getRuntime: () => Context.Context<R>) => {
|
|
|
162
164
|
|
|
163
165
|
return retryCount < 5
|
|
164
166
|
},
|
|
165
|
-
queryKey,
|
|
167
|
+
queryKey: baseQueryKey,
|
|
166
168
|
queryFn: ({ meta, signal }) =>
|
|
167
169
|
runPromise(
|
|
168
170
|
handler
|
|
@@ -186,7 +188,7 @@ export const makeQuery = <R>(getRuntime: () => Context.Context<R>) => {
|
|
|
186
188
|
|
|
187
189
|
return retryCount < 5
|
|
188
190
|
},
|
|
189
|
-
queryKey: [...queryKey, req],
|
|
191
|
+
queryKey: projectionHash === undefined ? [...queryKey, req] : [...queryKey, req, projectionHash],
|
|
190
192
|
queryFn: ({ meta, signal }) =>
|
|
191
193
|
runPromise(
|
|
192
194
|
handler(req.value)
|
package/test/dist/stubs.d.ts
CHANGED
|
@@ -827,6 +827,28 @@ export declare const useClient: (options?: {
|
|
|
827
827
|
readonly moduleName: string;
|
|
828
828
|
readonly type: "command" | "query";
|
|
829
829
|
readonly "~decodingServices"?: unknown;
|
|
830
|
+
}, infer Id_1 extends string> ? Request_1["type"] extends "query" ? import("effect-app/client").RequestHandler<A_1, E_1, R_1, Request_1, Id_1> : never : never : never : never> & import("../src/makeClient.js").QueryProjection<WithToast | (ApiClientFactory | Commander | (I18n | Toast.Toast)), import("effect-app/client").RequestHandlers<never, never, M, import("effect-app/client").ExtractModuleName<M>>[Key] extends infer T ? T extends import("effect-app/client").RequestHandlers<never, never, M, import("effect-app/client").ExtractModuleName<M>>[Key] ? T extends import("effect-app/client").RequestHandlerWithInput<infer I, infer A, infer E, infer R, infer Request extends S.Top & {
|
|
831
|
+
readonly make: (...args: any[]) => any;
|
|
832
|
+
_tag: string;
|
|
833
|
+
fields: S.Struct.Fields;
|
|
834
|
+
success: S.Top;
|
|
835
|
+
error: S.Top;
|
|
836
|
+
config?: Record<string, any>;
|
|
837
|
+
readonly id: string;
|
|
838
|
+
readonly moduleName: string;
|
|
839
|
+
readonly type: "command" | "query";
|
|
840
|
+
readonly "~decodingServices"?: unknown;
|
|
841
|
+
}, infer Id extends string> ? Request["type"] extends "query" ? import("effect-app/client").RequestHandlerWithInput<I, A, E, R, Request, Id> : never : T extends import("effect-app/client").RequestHandler<infer A_1, infer E_1, infer R_1, infer Request_1 extends S.Top & {
|
|
842
|
+
readonly make: (...args: any[]) => any;
|
|
843
|
+
_tag: string;
|
|
844
|
+
fields: S.Struct.Fields;
|
|
845
|
+
success: S.Top;
|
|
846
|
+
error: S.Top;
|
|
847
|
+
config?: Record<string, any>;
|
|
848
|
+
readonly id: string;
|
|
849
|
+
readonly moduleName: string;
|
|
850
|
+
readonly type: "command" | "query";
|
|
851
|
+
readonly "~decodingServices"?: unknown;
|
|
830
852
|
}, infer Id_1 extends string> ? Request_1["type"] extends "query" ? import("effect-app/client").RequestHandler<A_1, E_1, R_1, Request_1, Id_1> : never : never : never : never>) & ((import("effect-app/client").RequestHandlers<never, never, M, import("effect-app/client").ExtractModuleName<M>>[Key] extends infer T_1 ? T_1 extends import("effect-app/client").RequestHandlers<never, never, M, import("effect-app/client").ExtractModuleName<M>>[Key] ? T_1 extends import("effect-app/client").RequestHandlerWithInput<infer I_1, infer A_2, infer E_2, infer R_2, infer Request_2 extends S.Top & {
|
|
831
853
|
readonly make: (...args: any[]) => any;
|
|
832
854
|
_tag: string;
|
|
@@ -1100,4 +1122,4 @@ export declare const useClient: (options?: {
|
|
|
1100
1122
|
};
|
|
1101
1123
|
};
|
|
1102
1124
|
export {};
|
|
1103
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1125
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R1YnMuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3N0dWJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxLQUFLLG9CQUFvQixFQUFFLE1BQU0sb0NBQW9DLENBQUE7QUFFOUUsT0FBTyxFQUFVLEtBQUssRUFBMEIsQ0FBQyxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBQ3JFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBaUIsTUFBTSxtQkFBbUIsQ0FBQTtBQUNuRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFHOUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBQy9DLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUVyQyxPQUFPLEVBQUUsS0FBSyxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQTtBQUV4RCxPQUFPLEtBQUssS0FBSyxNQUFNLGlCQUFpQixDQUFBO0FBQ3hDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQStDL0MsZUFBTyxNQUFNLFlBQVksY0FBYyxNQUFNLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxHQUFHLE1BQU0sQ0FBQyxNQUFNLEVBQUUsb0JBQW9CLEVBQUUsQ0FBQyxLQWUvRixVQUFVLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUNsRCxDQUFBO0FBRUQsZUFBTyxNQUFNLGFBQWEsY0FBYyxNQUFNLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxHQUFHLE1BQU0sQ0FBQyxNQUFNLEVBQUUsb0JBQW9CLEVBQUUsQ0FBQyxvQ0FDL0IsQ0FBQTtBQUV4RSxlQUFPLE1BQU0sZUFBZSxhQUNoQjtJQUFFLFFBQVEsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLEdBQUcsTUFBTSxDQUFDLE1BQU0sRUFBRSxvQkFBb0IsRUFBRSxDQUFDLENBQUM7SUFBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUE7Q0FBRSxnR0FTeEcsQ0FBQTs7Ozs7Ozs7QUFFRCxxQkFBYSxpQkFBa0IsU0FBUSxzQkFBeUI7Q0FBRztBQUNuRSxlQUFPLE1BQVEsZ0JBQWdCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBQXFDLENBQUE7QUFFcEUsZUFBTyxNQUFNLFlBQVk7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0FBZ0MsQ0FBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBSXpELGNBQU0sc0JBQXVCLFNBQVEsMkJBRUY7Q0FBRzs7Ozs7Ozs7OztpQkFPSCxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsT0FBTyxDQUFDOzs7Ozs7Ozs7QUFMbkUsY0FBTSxzQ0FDSixTQUFRLDJDQU1OO0NBQ0Y7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVGLGNBQU0sb0JBQXFCLFNBQVEseUJBRUE7Q0FBRztBQUV0QyxlQUFPLE1BQU0sU0FBUztJQUNwQixhQUFhO0lBQ2IsNkJBQTZCO0lBQzdCLFdBQVc7Q0FDWixDQUFBO0FBRUQsZUFBTyxNQUFNLGdCQUFnQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztDQUFvQyxDQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFHakUsY0FBTSwwQkFBMkIsU0FBUSwrQkFFTjtDQUFHOzs7Ozs7Ozs7O2lCQU1ILENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUM7Ozs7Ozs7OztBQUpuRSxjQUFNLDBDQUNKLFNBQVEsK0NBS047Q0FDRjtBQUVGLGVBQU8sTUFBTSxhQUFhO0lBQ3hCLGFBQWE7SUFDYiw2QkFBNkI7Q0FDOUIsQ0FBQTtBQUVELGVBQU8sTUFBTSxTQUFTLGFBQ1Y7SUFBRSxRQUFRLENBQUMsRUFBRSxNQUFNLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxHQUFHLE1BQU0sQ0FBQyxNQUFNLEVBQUUsb0JBQW9CLEVBQUUsQ0FBQyxDQUFDO0lBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFBO0NBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBYXhHLENBQUEifQ==
|
package/test/dist/stubs.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stubs.d.ts","sourceRoot":"","sources":["../stubs.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,oCAAoC,CAAA;AAE9E,OAAO,EAAU,KAAK,EAA0B,CAAC,EAAE,MAAM,YAAY,CAAA;AACrE,OAAO,EAAE,gBAAgB,EAAiB,MAAM,mBAAmB,CAAA;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAG9C,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAC/C,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAA;AAErC,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAExD,OAAO,KAAK,KAAK,MAAM,iBAAiB,CAAA;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"stubs.d.ts","sourceRoot":"","sources":["../stubs.ts"],"names":[],"mappings":"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"}
|
package/test/dist/stubs.js
CHANGED
|
@@ -128,4 +128,4 @@ export const useClient = (options) => {
|
|
|
128
128
|
const clientFor_ = ApiClientFactory.makeFor(Layer.empty);
|
|
129
129
|
return makeClient(() => ManagedRuntime.make(layers), clientFor_, Layer.empty);
|
|
130
130
|
};
|
|
131
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
131
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R1YnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zdHVicy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEtBQUssSUFBSSxNQUFNLGdCQUFnQixDQUFBO0FBQ3RDLE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBQ3JFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUNuRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDOUMsT0FBTyxLQUFLLGVBQWUsTUFBTSxzQ0FBc0MsQ0FBQTtBQUN2RSxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sS0FBSyxDQUFBO0FBQ3pCLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUMvQyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDckMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFBO0FBRWpELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQTtBQUN6RCxPQUFPLEtBQUssS0FBSyxNQUFNLGlCQUFpQixDQUFBO0FBQ3hDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUUvQyxNQUFNLGNBQWMsR0FBRyxDQUFDLE1BQU0sR0FBVSxFQUFFLEVBQUUsRUFBRSxDQUM1QyxLQUFLLENBQUMsTUFBTSxDQUNWLEtBQUssQ0FBQyxLQUFLLEVBQ1gsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7SUFDZixNQUFNLE9BQU8sR0FBRyxDQUFDLEVBQWlCLEVBQUUsRUFBRTtRQUNwQyxNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLEVB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
|
package/test/makeClient.test.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
2
|
+
import { S } from "effect-app"
|
|
2
3
|
import { makeQueryKey } from "../src/lib.js"
|
|
3
4
|
import { Something, SomethingElse, SomethingElseReq, SomethingReq, useClient, useExperimental } from "./stubs.js"
|
|
4
5
|
|
|
@@ -78,6 +79,7 @@ it.skip("works", () => {
|
|
|
78
79
|
const e0 = client.GetSomething2WithDependencies.wrap
|
|
79
80
|
// @ts-expect-error query request does not match Command.wrap mutation signature
|
|
80
81
|
const e000 = Command.wrap(client.GetSomething2WithDependencies)
|
|
82
|
+
const e00 = client.GetSomething2WithDependencies.request(null as any)
|
|
81
83
|
// @ts-expect-error dependencies required that are not provided
|
|
82
84
|
const e1 = client.GetSomething2WithDependencies.suspense(null as any)
|
|
83
85
|
// @ts-expect-error dependencies required that are not provided
|
|
@@ -87,9 +89,26 @@ it.skip("works", () => {
|
|
|
87
89
|
|
|
88
90
|
const g0 = client.DoSomething.wrap(null as any)
|
|
89
91
|
const g = client.DoSomething.mutate.wrap(null as any)
|
|
92
|
+
const g1 = client.DoSomething.mutate.project(S.String)
|
|
93
|
+
const g2 = g1(null as any)
|
|
94
|
+
const g3 = g1.wrap(null as any)
|
|
95
|
+
const g4 = client.helpers.doSomethingMutation.project(S.String)
|
|
96
|
+
const g5 = g4(null as any)
|
|
97
|
+
const g6 = g4.wrap(null as any)
|
|
90
98
|
// @ts-expect-error mutate no longer exposes fn, use client.DoSomething.fn
|
|
91
99
|
const h = client.DoSomething.mutate.fn(null as any)
|
|
92
100
|
|
|
101
|
+
// projection
|
|
102
|
+
// GetSomething2 uses FiniteFromString, that means Codec is String -> Number
|
|
103
|
+
// when we project that to S.String, it should work as the encoded shapes are identical
|
|
104
|
+
// aka, when we project, we skip decoding with the original codec, and instead use the provided one
|
|
105
|
+
// we have to make sure the Encoded shape of the provided projection schema matches the Encoded Shape of the original codec.
|
|
106
|
+
const projected = client.GetSomething2.project(S.String)
|
|
107
|
+
const p0 = projected.request(null as any)
|
|
108
|
+
// and we have to make sure that for query or suspense the R of the projection schema is not more than what the client was built with, otherwise they should have the MissingDependencies like in the other test cases
|
|
109
|
+
const p00 = projected.query(null as any)
|
|
110
|
+
const p = projected.suspense(null as any)
|
|
111
|
+
|
|
93
112
|
expect(true).toBe(true)
|
|
94
113
|
console.log({
|
|
95
114
|
a,
|
|
@@ -98,6 +117,7 @@ it.skip("works", () => {
|
|
|
98
117
|
b,
|
|
99
118
|
e,
|
|
100
119
|
e0,
|
|
120
|
+
e00,
|
|
101
121
|
e000,
|
|
102
122
|
e1,
|
|
103
123
|
e2,
|
|
@@ -105,6 +125,15 @@ it.skip("works", () => {
|
|
|
105
125
|
f0,
|
|
106
126
|
g0,
|
|
107
127
|
g,
|
|
108
|
-
|
|
128
|
+
g1,
|
|
129
|
+
g2,
|
|
130
|
+
g3,
|
|
131
|
+
g4,
|
|
132
|
+
g5,
|
|
133
|
+
g6,
|
|
134
|
+
h,
|
|
135
|
+
p0,
|
|
136
|
+
p00,
|
|
137
|
+
p
|
|
109
138
|
})
|
|
110
139
|
})
|
package/test/stubs.ts
CHANGED
|
@@ -26,28 +26,29 @@ const fakeToastLayer = (toasts: any[] = []) =>
|
|
|
26
26
|
toasts.splice(idx, 1)
|
|
27
27
|
}
|
|
28
28
|
}
|
|
29
|
-
const fakeToast =
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
29
|
+
const fakeToast =
|
|
30
|
+
(type: "error" | "warning" | "success" | "info") => (message: string, options?: Toast.ToastOpts) => {
|
|
31
|
+
const id = options?.id ?? Math.random().toString(36).substring(2, 15)
|
|
32
|
+
console.log(`Toast [${type}][${id}]: ${message}`, options)
|
|
33
|
+
|
|
34
|
+
options = { ...options, id }
|
|
35
|
+
const idx = toasts.findIndex((_) => _.id === id)
|
|
36
|
+
if (idx > -1) {
|
|
37
|
+
const toast = toasts[idx]
|
|
38
|
+
clearTimeout(toast.timeoutId)
|
|
39
|
+
Object.assign(toast, { type, message, options })
|
|
40
|
+
toast.timeoutId = setTimeout(() => {
|
|
41
|
+
toasts.splice(idx, 1)
|
|
42
|
+
}, options?.timeout ?? 3000)
|
|
43
|
+
} else {
|
|
44
|
+
const toast: any = { id, type, message, options }
|
|
45
|
+
toast.timeoutId = setTimeout(() => {
|
|
46
|
+
toasts.splice(idx, 1)
|
|
47
|
+
}, options?.timeout ?? 3000)
|
|
48
|
+
toasts.push(toast)
|
|
49
|
+
}
|
|
50
|
+
return id
|
|
48
51
|
}
|
|
49
|
-
return id
|
|
50
|
-
}
|
|
51
52
|
return Toast.Toast.of(Toast.wrap({
|
|
52
53
|
error: fakeToast("error"),
|
|
53
54
|
warning: fakeToast("warning"),
|
package/tsconfig.json.bak
CHANGED