@effect-app/vue 4.0.0-beta.271 → 4.0.0-beta.273
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 +16 -0
- package/dist/atomQuery.d.ts +90 -0
- package/dist/atomQuery.d.ts.map +1 -0
- package/dist/atomQuery.js +275 -0
- package/dist/internal/tanstackQuery.d.ts +8 -0
- package/dist/internal/tanstackQuery.d.ts.map +1 -0
- package/dist/internal/tanstackQuery.js +145 -0
- package/dist/makeClient.d.ts +75 -13
- package/dist/makeClient.d.ts.map +1 -1
- package/dist/makeClient.js +203 -78
- package/dist/mutate.d.ts +20 -12
- package/dist/mutate.d.ts.map +1 -1
- package/dist/mutate.js +65 -64
- package/dist/query.d.ts +114 -12
- package/dist/query.d.ts.map +1 -1
- package/dist/query.js +275 -179
- package/docs/atom-query-api-redesign.md +191 -0
- package/package.json +2 -2
- package/src/atomQuery.ts +361 -0
- package/src/internal/tanstackQuery.ts +221 -0
- package/src/makeClient.ts +382 -91
- package/src/mutate.ts +101 -110
- package/src/query.ts +564 -243
- package/test/dist/stubs.d.ts +169 -2
- package/test/dist/stubs.d.ts.map +1 -1
- package/test/dist/stubs.js +11 -6
- package/test/makeClient.test.ts +110 -0
- package/test/stubs.ts +10 -5
- package/tsconfig.json.bak +72 -14
package/test/dist/stubs.d.ts
CHANGED
|
@@ -2000,6 +2000,41 @@ declare const SomethingGetStructNullable_base: S.Opaque<SomethingGetStructNullab
|
|
|
2000
2000
|
};
|
|
2001
2001
|
declare class SomethingGetStructNullable extends SomethingGetStructNullable_base {
|
|
2002
2002
|
}
|
|
2003
|
+
declare const SomethingStreamQuery_base: S.Opaque<SomethingStreamQuery, typeof S.ExtendedSchemaNoEncoded, S.Struct<{
|
|
2004
|
+
readonly _tag: S.tag<"StreamQuery">;
|
|
2005
|
+
} & {
|
|
2006
|
+
id: S.String;
|
|
2007
|
+
}>, {}> & {
|
|
2008
|
+
readonly fields: {
|
|
2009
|
+
readonly _tag: S.tag<"StreamQuery">;
|
|
2010
|
+
} & {
|
|
2011
|
+
id: S.String;
|
|
2012
|
+
};
|
|
2013
|
+
readonly _tag: "StreamQuery";
|
|
2014
|
+
readonly success: S.FiniteFromString;
|
|
2015
|
+
readonly error: S.Never;
|
|
2016
|
+
readonly config: Omit<Omit<RpcContextMap.GetContextConfig<{}> & Record<string, any> & {
|
|
2017
|
+
error?: never;
|
|
2018
|
+
}, "invalidatesQueries"> & {
|
|
2019
|
+
success: S.FiniteFromString;
|
|
2020
|
+
} & Partial<{
|
|
2021
|
+
readonly invalidatesQueries: import("effect-app/client").InvalidationCallback<never, {
|
|
2022
|
+
readonly id: string;
|
|
2023
|
+
}, number, never>;
|
|
2024
|
+
readonly invalidationResources?: never;
|
|
2025
|
+
}>, "error" | "stream" | "success">;
|
|
2026
|
+
readonly id: "Something.StreamQuery";
|
|
2027
|
+
readonly moduleName: "Something";
|
|
2028
|
+
readonly type: "query";
|
|
2029
|
+
readonly stream: true;
|
|
2030
|
+
readonly middleware?: {
|
|
2031
|
+
requestContextMap: {};
|
|
2032
|
+
requestContext: never;
|
|
2033
|
+
};
|
|
2034
|
+
readonly "~invalidationResources"?: never;
|
|
2035
|
+
};
|
|
2036
|
+
declare class SomethingStreamQuery extends SomethingStreamQuery_base {
|
|
2037
|
+
}
|
|
2003
2038
|
declare const OperationProgress_base: S.EnhancedClass<OperationProgress, import("effect/Schema").Struct<{
|
|
2004
2039
|
readonly _tag: S.tag<"OperationProgress">;
|
|
2005
2040
|
} & {
|
|
@@ -2102,6 +2137,7 @@ export declare const Something: {
|
|
|
2102
2137
|
DoMixed: typeof SomethingDoMixed;
|
|
2103
2138
|
DoSomething: typeof SomethingDoSomething;
|
|
2104
2139
|
GetStructNullable: typeof SomethingGetStructNullable;
|
|
2140
|
+
StreamQuery: typeof SomethingStreamQuery;
|
|
2105
2141
|
StreamWithoutFinal: typeof SomethingStreamWithoutFinal;
|
|
2106
2142
|
StreamWithFinal: typeof SomethingStreamWithFinal;
|
|
2107
2143
|
};
|
|
@@ -3009,6 +3045,7 @@ export declare const useClient: (options?: {
|
|
|
3009
3045
|
}) => {
|
|
3010
3046
|
Command: import("../src/makeUseCommand.js").CommanderResolved<WithToast | (ApiClientFactory | Commander | (I18n | Toast.Toast)), never>;
|
|
3011
3047
|
useCommand: () => import("../src/makeUseCommand.js").CommanderResolved<WithToast | (ApiClientFactory | Commander | (I18n | Toast.Toast)), never>;
|
|
3048
|
+
tanstackQueryClient: import("@tanstack/vue-query").QueryClient;
|
|
3012
3049
|
clientFor: <M extends import("effect-app/client").RequestsAny, Resources extends [{ [K in keyof M]: M[K] extends infer T ? T extends M[K] ? T extends {
|
|
3013
3050
|
readonly type: "command";
|
|
3014
3051
|
readonly "~invalidationResources"?: infer Resources_1;
|
|
@@ -3501,6 +3538,32 @@ export declare const useClient: (options?: {
|
|
|
3501
3538
|
readonly type: "command" | "query";
|
|
3502
3539
|
readonly stream: boolean;
|
|
3503
3540
|
readonly middleware?: unknown;
|
|
3541
|
+
}, infer Id extends string> ? Request["type"] extends "query" ? import("effect-app/client").RequestHandlerWithInput<I_1, A, E, R_1, Request, Id> : never : never : never : never) extends never ? never : `${import("../src/makeClient.js").ToCamel<string & Key>}QueryFamily`]: import("../src/makeClient.js").Queries<WithToast | (ApiClientFactory | Commander | (I18n | Toast.Toast)), 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, infer E, infer R_1, infer Request extends S.Top & {
|
|
3542
|
+
readonly make: (...args: any[]) => any;
|
|
3543
|
+
_tag: string;
|
|
3544
|
+
fields: S.Struct.Fields;
|
|
3545
|
+
success: S.Top;
|
|
3546
|
+
error: S.Top;
|
|
3547
|
+
final?: S.Top;
|
|
3548
|
+
config?: Record<string, any>;
|
|
3549
|
+
readonly id: string;
|
|
3550
|
+
readonly moduleName: string;
|
|
3551
|
+
readonly type: "command" | "query";
|
|
3552
|
+
readonly stream: boolean;
|
|
3553
|
+
readonly middleware?: unknown;
|
|
3554
|
+
}, infer Id extends string> ? Request["type"] extends "query" ? import("effect-app/client").RequestHandlerWithInput<I_1, A, E, R_1, Request, Id> : never : never : never : never>["family"]; } & { [Key in keyof import("effect-app/client").RequestHandlers<never, never, M, import("effect-app/client").ExtractModuleName<M>> as (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, infer E, infer R_1, infer Request extends S.Top & {
|
|
3555
|
+
readonly make: (...args: any[]) => any;
|
|
3556
|
+
_tag: string;
|
|
3557
|
+
fields: S.Struct.Fields;
|
|
3558
|
+
success: S.Top;
|
|
3559
|
+
error: S.Top;
|
|
3560
|
+
final?: S.Top;
|
|
3561
|
+
config?: Record<string, any>;
|
|
3562
|
+
readonly id: string;
|
|
3563
|
+
readonly moduleName: string;
|
|
3564
|
+
readonly type: "command" | "query";
|
|
3565
|
+
readonly stream: boolean;
|
|
3566
|
+
readonly middleware?: unknown;
|
|
3504
3567
|
}, infer Id extends string> ? Request["type"] extends "query" ? import("effect-app/client").RequestHandlerWithInput<I_1, A, E, R_1, Request, Id> : never : never : never : never) extends never ? never : `${import("../src/makeClient.js").ToCamel<string & Key>}Query`]: import("../src/makeClient.js").Queries<WithToast | (ApiClientFactory | Commander | (I18n | Toast.Toast)), 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, infer E, infer R_1, infer Request extends S.Top & {
|
|
3505
3568
|
readonly make: (...args: any[]) => any;
|
|
3506
3569
|
_tag: string;
|
|
@@ -3527,6 +3590,32 @@ export declare const useClient: (options?: {
|
|
|
3527
3590
|
readonly type: "command" | "query";
|
|
3528
3591
|
readonly stream: boolean;
|
|
3529
3592
|
readonly middleware?: unknown;
|
|
3593
|
+
}, infer Id extends string> ? Request["type"] extends "query" ? import("effect-app/client").RequestHandlerWithInput<I_1, A, E, R_1, Request, Id> : never : never : never : never) extends never ? never : `${import("../src/makeClient.js").ToCamel<string & Key>}QueryNew`]: import("../src/makeClient.js").Queries<WithToast | (ApiClientFactory | Commander | (I18n | Toast.Toast)), 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, infer E, infer R_1, infer Request extends S.Top & {
|
|
3594
|
+
readonly make: (...args: any[]) => any;
|
|
3595
|
+
_tag: string;
|
|
3596
|
+
fields: S.Struct.Fields;
|
|
3597
|
+
success: S.Top;
|
|
3598
|
+
error: S.Top;
|
|
3599
|
+
final?: S.Top;
|
|
3600
|
+
config?: Record<string, any>;
|
|
3601
|
+
readonly id: string;
|
|
3602
|
+
readonly moduleName: string;
|
|
3603
|
+
readonly type: "command" | "query";
|
|
3604
|
+
readonly stream: boolean;
|
|
3605
|
+
readonly middleware?: unknown;
|
|
3606
|
+
}, infer Id extends string> ? Request["type"] extends "query" ? import("effect-app/client").RequestHandlerWithInput<I_1, A, E, R_1, Request, Id> : never : never : never : never>["queryNew"]; } & { [Key in keyof import("effect-app/client").RequestHandlers<never, never, M, import("effect-app/client").ExtractModuleName<M>> as (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, infer E, infer R_1, infer Request extends S.Top & {
|
|
3607
|
+
readonly make: (...args: any[]) => any;
|
|
3608
|
+
_tag: string;
|
|
3609
|
+
fields: S.Struct.Fields;
|
|
3610
|
+
success: S.Top;
|
|
3611
|
+
error: S.Top;
|
|
3612
|
+
final?: S.Top;
|
|
3613
|
+
config?: Record<string, any>;
|
|
3614
|
+
readonly id: string;
|
|
3615
|
+
readonly moduleName: string;
|
|
3616
|
+
readonly type: "command" | "query";
|
|
3617
|
+
readonly stream: boolean;
|
|
3618
|
+
readonly middleware?: unknown;
|
|
3530
3619
|
}, infer Id extends string> ? Request["type"] extends "query" ? import("effect-app/client").RequestHandlerWithInput<I_1, A, E, R_1, Request, Id> : never : never : never : never) extends never ? never : `${import("../src/makeClient.js").ToCamel<string & Key>}SuspenseQuery`]: import("../src/makeClient.js").Queries<WithToast | (ApiClientFactory | Commander | (I18n | Toast.Toast)), 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, infer E, infer R_1, infer Request extends S.Top & {
|
|
3531
3620
|
readonly make: (...args: any[]) => any;
|
|
3532
3621
|
_tag: string;
|
|
@@ -3540,7 +3629,59 @@ export declare const useClient: (options?: {
|
|
|
3540
3629
|
readonly type: "command" | "query";
|
|
3541
3630
|
readonly stream: boolean;
|
|
3542
3631
|
readonly middleware?: unknown;
|
|
3543
|
-
}, infer Id extends string> ? Request["type"] extends "query" ? import("effect-app/client").RequestHandlerWithInput<I_1, A, E, R_1, Request, Id> : never : never : never : never>["suspense"]; } & { [Key in keyof import("effect-app/client").RequestHandlers<never, never, M, import("effect-app/client").ExtractModuleName<M>> as (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").
|
|
3632
|
+
}, infer Id extends string> ? Request["type"] extends "query" ? import("effect-app/client").RequestHandlerWithInput<I_1, A, E, R_1, Request, Id> : never : never : never : never>["suspense"]; } & { [Key in keyof import("effect-app/client").RequestHandlers<never, never, M, import("effect-app/client").ExtractModuleName<M>> as (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, infer E, infer R_1, infer Request extends S.Top & {
|
|
3633
|
+
readonly make: (...args: any[]) => any;
|
|
3634
|
+
_tag: string;
|
|
3635
|
+
fields: S.Struct.Fields;
|
|
3636
|
+
success: S.Top;
|
|
3637
|
+
error: S.Top;
|
|
3638
|
+
final?: S.Top;
|
|
3639
|
+
config?: Record<string, any>;
|
|
3640
|
+
readonly id: string;
|
|
3641
|
+
readonly moduleName: string;
|
|
3642
|
+
readonly type: "command" | "query";
|
|
3643
|
+
readonly stream: boolean;
|
|
3644
|
+
readonly middleware?: unknown;
|
|
3645
|
+
}, infer Id extends string> ? Request["type"] extends "query" ? import("effect-app/client").RequestHandlerWithInput<I_1, A, E, R_1, Request, Id> : never : never : never : never) extends never ? never : `${import("../src/makeClient.js").ToCamel<string & Key>}SuspenseQueryNew`]: import("../src/makeClient.js").Queries<WithToast | (ApiClientFactory | Commander | (I18n | Toast.Toast)), 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, infer E, infer R_1, infer Request extends S.Top & {
|
|
3646
|
+
readonly make: (...args: any[]) => any;
|
|
3647
|
+
_tag: string;
|
|
3648
|
+
fields: S.Struct.Fields;
|
|
3649
|
+
success: S.Top;
|
|
3650
|
+
error: S.Top;
|
|
3651
|
+
final?: S.Top;
|
|
3652
|
+
config?: Record<string, any>;
|
|
3653
|
+
readonly id: string;
|
|
3654
|
+
readonly moduleName: string;
|
|
3655
|
+
readonly type: "command" | "query";
|
|
3656
|
+
readonly stream: boolean;
|
|
3657
|
+
readonly middleware?: unknown;
|
|
3658
|
+
}, infer Id extends string> ? Request["type"] extends "query" ? import("effect-app/client").RequestHandlerWithInput<I_1, A, E, R_1, Request, Id> : never : never : never : never>["suspenseNew"]; } & { [Key in keyof import("effect-app/client").RequestHandlers<never, never, M, import("effect-app/client").ExtractModuleName<M>> as (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").RequestStreamHandlerWithInput<infer I_1, infer A, infer E, infer R_1, infer Request extends S.Top & {
|
|
3659
|
+
readonly make: (...args: any[]) => any;
|
|
3660
|
+
_tag: string;
|
|
3661
|
+
fields: S.Struct.Fields;
|
|
3662
|
+
success: S.Top;
|
|
3663
|
+
error: S.Top;
|
|
3664
|
+
final?: S.Top;
|
|
3665
|
+
config?: Record<string, any>;
|
|
3666
|
+
readonly id: string;
|
|
3667
|
+
readonly moduleName: string;
|
|
3668
|
+
readonly type: "command" | "query";
|
|
3669
|
+
readonly stream: boolean;
|
|
3670
|
+
readonly middleware?: unknown;
|
|
3671
|
+
}, infer Id extends string, infer Final> ? [Request_1["stream"], Request_1["type"]] extends [true, "query"] ? import("effect-app/client").RequestStreamHandlerWithInput<I_2, A_1, E_1, R_2, Request_1, Id_1, Final> : never : never : never : never) extends never ? never : `${import("../src/makeClient.js").ToCamel<string & Key>}QueryFamily`]: import("../src/makeClient.js").StreamQueries<WithToast | (ApiClientFactory | Commander | (I18n | Toast.Toast)), 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").RequestStreamHandlerWithInput<infer I_1, infer A, infer E, infer R_1, infer Request extends S.Top & {
|
|
3672
|
+
readonly make: (...args: any[]) => any;
|
|
3673
|
+
_tag: string;
|
|
3674
|
+
fields: S.Struct.Fields;
|
|
3675
|
+
success: S.Top;
|
|
3676
|
+
error: S.Top;
|
|
3677
|
+
final?: S.Top;
|
|
3678
|
+
config?: Record<string, any>;
|
|
3679
|
+
readonly id: string;
|
|
3680
|
+
readonly moduleName: string;
|
|
3681
|
+
readonly type: "command" | "query";
|
|
3682
|
+
readonly stream: boolean;
|
|
3683
|
+
readonly middleware?: unknown;
|
|
3684
|
+
}, infer Id extends string, infer Final> ? [Request_1["stream"], Request_1["type"]] extends [true, "query"] ? import("effect-app/client").RequestStreamHandlerWithInput<I_2, A_1, E_1, R_2, Request_1, Id_1, Final> : never : never : never : never>["family"]; } & { [Key in keyof import("effect-app/client").RequestHandlers<never, never, M, import("effect-app/client").ExtractModuleName<M>> as (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").RequestStreamHandlerWithInput<infer I_1, infer A, infer E, infer R_1, infer Request extends S.Top & {
|
|
3544
3685
|
readonly make: (...args: any[]) => any;
|
|
3545
3686
|
_tag: string;
|
|
3546
3687
|
fields: S.Struct.Fields;
|
|
@@ -3566,7 +3707,33 @@ export declare const useClient: (options?: {
|
|
|
3566
3707
|
readonly type: "command" | "query";
|
|
3567
3708
|
readonly stream: boolean;
|
|
3568
3709
|
readonly middleware?: unknown;
|
|
3569
|
-
}, infer Id extends string, infer Final> ? [Request_1["stream"], Request_1["type"]] extends [true, "query"] ? import("effect-app/client").RequestStreamHandlerWithInput<I_2, A_1, E_1, R_2, Request_1, Id_1, Final> : never : never : never : never>["query"]; }
|
|
3710
|
+
}, infer Id extends string, infer Final> ? [Request_1["stream"], Request_1["type"]] extends [true, "query"] ? import("effect-app/client").RequestStreamHandlerWithInput<I_2, A_1, E_1, R_2, Request_1, Id_1, Final> : never : never : never : never>["query"]; } & { [Key in keyof import("effect-app/client").RequestHandlers<never, never, M, import("effect-app/client").ExtractModuleName<M>> as (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").RequestStreamHandlerWithInput<infer I_1, infer A, infer E, infer R_1, infer Request extends S.Top & {
|
|
3711
|
+
readonly make: (...args: any[]) => any;
|
|
3712
|
+
_tag: string;
|
|
3713
|
+
fields: S.Struct.Fields;
|
|
3714
|
+
success: S.Top;
|
|
3715
|
+
error: S.Top;
|
|
3716
|
+
final?: S.Top;
|
|
3717
|
+
config?: Record<string, any>;
|
|
3718
|
+
readonly id: string;
|
|
3719
|
+
readonly moduleName: string;
|
|
3720
|
+
readonly type: "command" | "query";
|
|
3721
|
+
readonly stream: boolean;
|
|
3722
|
+
readonly middleware?: unknown;
|
|
3723
|
+
}, infer Id extends string, infer Final> ? [Request_1["stream"], Request_1["type"]] extends [true, "query"] ? import("effect-app/client").RequestStreamHandlerWithInput<I_2, A_1, E_1, R_2, Request_1, Id_1, Final> : never : never : never : never) extends never ? never : `${import("../src/makeClient.js").ToCamel<string & Key>}QueryNew`]: import("../src/makeClient.js").StreamQueries<WithToast | (ApiClientFactory | Commander | (I18n | Toast.Toast)), 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").RequestStreamHandlerWithInput<infer I_1, infer A, infer E, infer R_1, infer Request extends S.Top & {
|
|
3724
|
+
readonly make: (...args: any[]) => any;
|
|
3725
|
+
_tag: string;
|
|
3726
|
+
fields: S.Struct.Fields;
|
|
3727
|
+
success: S.Top;
|
|
3728
|
+
error: S.Top;
|
|
3729
|
+
final?: S.Top;
|
|
3730
|
+
config?: Record<string, any>;
|
|
3731
|
+
readonly id: string;
|
|
3732
|
+
readonly moduleName: string;
|
|
3733
|
+
readonly type: "command" | "query";
|
|
3734
|
+
readonly stream: boolean;
|
|
3735
|
+
readonly middleware?: unknown;
|
|
3736
|
+
}, infer Id extends string, infer Final> ? [Request_1["stream"], Request_1["type"]] extends [true, "query"] ? import("effect-app/client").RequestStreamHandlerWithInput<I_2, A_1, E_1, R_2, Request_1, Id_1, Final> : never : never : never : never>["queryNew"]; };
|
|
3570
3737
|
};
|
|
3571
3738
|
};
|
|
3572
3739
|
export {};
|
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;
|
|
1
|
+
{"version":3,"file":"stubs.d.ts","sourceRoot":"","sources":["../stubs.ts"],"names":[],"mappings":"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"}
|
package/test/dist/stubs.js
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import * as Intl from "@formatjs/intl";
|
|
2
|
-
import { QueryClient, VueQueryPlugin } from "@tanstack/vue-query";
|
|
3
2
|
import { ApiClientFactory, makeRpcClient } from "effect-app/client";
|
|
4
3
|
import * as Effect from "effect-app/Effect";
|
|
5
4
|
import * as Layer from "effect-app/Layer";
|
|
@@ -167,6 +166,13 @@ class SomethingGetStructNullable extends SomethingQuery()("GetStructNullable", {
|
|
|
167
166
|
success: S.Struct({ a: S.NullOr(S.String) })
|
|
168
167
|
}) {
|
|
169
168
|
}
|
|
169
|
+
class SomethingStreamQuery extends SomethingQuery()("StreamQuery", {
|
|
170
|
+
id: S.String
|
|
171
|
+
}, {
|
|
172
|
+
stream: true,
|
|
173
|
+
success: S.FiniteFromString
|
|
174
|
+
}) {
|
|
175
|
+
}
|
|
170
176
|
/** Stream event: intermediate progress update. */
|
|
171
177
|
export class OperationProgress extends S.TaggedClass()("OperationProgress", {
|
|
172
178
|
completed: S.NonNegativeInt,
|
|
@@ -206,6 +212,7 @@ export const Something = {
|
|
|
206
212
|
DoMixed: SomethingDoMixed,
|
|
207
213
|
DoSomething: SomethingDoSomething,
|
|
208
214
|
GetStructNullable: SomethingGetStructNullable,
|
|
215
|
+
StreamQuery: SomethingStreamQuery,
|
|
209
216
|
StreamWithoutFinal: SomethingStreamWithoutFinal,
|
|
210
217
|
StreamWithFinal: SomethingStreamWithFinal
|
|
211
218
|
};
|
|
@@ -235,11 +242,9 @@ export const useClient = (options) => {
|
|
|
235
242
|
const layers = Layer.mergeAll(CommanderLayer, WithToastLayer, FakeToastLayer, FakeIntlLayer, api);
|
|
236
243
|
const clientFor_ = ApiClientFactory.makeFor(Layer.empty);
|
|
237
244
|
const rawClient = makeClient(() => ManagedRuntime.make(layers), clientFor_, Layer.empty);
|
|
238
|
-
// Provide a Vue injection context so
|
|
239
|
-
//
|
|
245
|
+
// Provide a Vue injection context so composition-API hooks called during client
|
|
246
|
+
// initialisation work outside a component setup() function.
|
|
240
247
|
const vueApp = createApp({});
|
|
241
|
-
const testQueryClientConfig = { defaultOptions: { queries: { retry: false }, mutations: { retry: false } } };
|
|
242
|
-
vueApp.use(VueQueryPlugin, { queryClient: new QueryClient(testQueryClientConfig) });
|
|
243
248
|
const origClientFor = rawClient.clientFor;
|
|
244
249
|
const clientFor = function (m, ...args) {
|
|
245
250
|
const proxy = origClientFor(m, ...args);
|
|
@@ -256,4 +261,4 @@ export const useClient = (options) => {
|
|
|
256
261
|
};
|
|
257
262
|
return { ...rawClient, clientFor };
|
|
258
263
|
};
|
|
259
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R1YnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zdHVicy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEtBQUssSUFBSSxNQUFNLGdCQUFnQixDQUFBO0FBQ3RDLE9BQU8sRUFBRSxXQUFXLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFDakUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBQ25FLE9BQU8sS0FBSyxNQUFNLE1BQU0sbUJBQW1CLENBQUE7QUFDM0MsT0FBTyxLQUFLLEtBQUssTUFBTSxrQkFBa0IsQ0FBQTtBQUN6QyxPQUFPLEtBQUssTUFBTSxNQUFNLG1CQUFtQixDQUFBO0FBQzNDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUM5QyxPQUFPLEtBQUssQ0FBQyxNQUFNLG1CQUFtQixDQUFBO0FBQ3RDLE9BQU8sS0FBSyxJQUFJLE1BQU0sYUFBYSxDQUFBO0FBQ25DLE9BQU8sS0FBSyxjQUFjLE1BQU0sdUJBQXVCLENBQUE7QUFDdkQsT0FBTyxLQUFLLGVBQWUsTUFBTSxzQ0FBc0MsQ0FBQTtBQUN2RSxPQUFPLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLEtBQUssQ0FBQTtBQUNwQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFDL0MsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQ3JDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQTtBQUVqRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMEJBQTBCLENBQUE7QUFDekQsT0FBTyxLQUFLLEtBQUssTUFBTSxpQkFBaUIsQ0FBQTtBQUN4QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFFL0MsTUFBTSxjQUFjLEdBQUcsQ0FBQyxNQUFNLEdBQVUsRUFBRSxFQUFFLEVB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
|
|
264
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R1YnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zdHVicy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEtBQUssSUFBSSxNQUFNLGdCQUFnQixDQUFBO0FBQ3RDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUNuRSxPQUFPLEtBQUssTUFBTSxNQUFNLG1CQUFtQixDQUFBO0FBQzNDLE9BQU8sS0FBSyxLQUFLLE1BQU0sa0JBQWtCLENBQUE7QUFDekMsT0FBTyxLQUFLLE1BQU0sTUFBTSxtQkFBbUIsQ0FBQTtBQUMzQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDOUMsT0FBTyxLQUFLLENBQUMsTUFBTSxtQkFBbUIsQ0FBQTtBQUN0QyxPQUFPLEtBQUssSUFBSSxNQUFNLGFBQWEsQ0FBQTtBQUNuQyxPQUFPLEtBQUssY0FBYyxNQUFNLHVCQUF1QixDQUFBO0FBQ3ZELE9BQU8sS0FBSyxlQUFlLE1BQU0sc0NBQXNDLENBQUE7QUFDdkUsT0FBTyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxLQUFLLENBQUE7QUFDcEMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBQy9DLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUNyQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFFakQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDBCQUEwQixDQUFBO0FBQ3pELE9BQU8sS0FBSyxLQUFLLE1BQU0saUJBQWlCLENBQUE7QUFDeEMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBRS9DLE1BQU0sY0FBYyxHQUFHLENBQUMsTUFBTSxHQUFVLEVBQUUsRUFBRSxFQUFFLENBQzVDLEtBQUssQ0FBQyxNQUFNLENBQ1YsS0FBSyxDQUFDLEtBQUssRUFDWCxNQUFN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
|
package/test/makeClient.test.ts
CHANGED
|
@@ -2,9 +2,15 @@
|
|
|
2
2
|
import { expect, expectTypeOf, it } from "@effect/vitest"
|
|
3
3
|
import { configureInvalidation, makeQueryKey } from "effect-app/client"
|
|
4
4
|
import type { HandlerInput } from "effect-app/client/clientFor"
|
|
5
|
+
import * as Effect from "effect-app/Effect"
|
|
5
6
|
import * as S from "effect-app/Schema"
|
|
6
7
|
import * as Exit from "effect/Exit"
|
|
8
|
+
import * as Fiber from "effect/Fiber"
|
|
9
|
+
import { TestClock } from "effect/testing"
|
|
10
|
+
import * as Atom from "effect/unstable/reactivity/Atom"
|
|
7
11
|
import type { CommandFromRequest } from "../src/makeClient.js"
|
|
12
|
+
import { combineQueryInvalidators, invalidateQueries } from "../src/mutate.js"
|
|
13
|
+
import { useAtomQuery, useAtomSuspense } from "../src/query.js"
|
|
8
14
|
import { Something, SomethingElse, SomethingElseReq, SomethingReq, useClient, useExperimental } from "./stubs.js"
|
|
9
15
|
|
|
10
16
|
const somethingInvalidationResources = {
|
|
@@ -38,6 +44,10 @@ it("TaggedRequestFor .moduleName and request .id / .moduleName", () => {
|
|
|
38
44
|
])
|
|
39
45
|
|
|
40
46
|
expectTypeOf(invalidates.invalidatesQueries).toBeFunction()
|
|
47
|
+
configureInvalidation<{ Something: typeof Something }>()((_queryKey) => [
|
|
48
|
+
// @ts-expect-error predicate filters are not supported by the atom query engine
|
|
49
|
+
{ filters: { predicate: () => true } }
|
|
50
|
+
])
|
|
41
51
|
configureInvalidation<{ Something: typeof Something }>()((_queryKey, { Something }) => {
|
|
42
52
|
// @ts-expect-error commands are intentionally excluded from configured resources
|
|
43
53
|
void Something.DoSomething
|
|
@@ -171,6 +181,33 @@ it("clientFor handler shape — props variants", () => {
|
|
|
171
181
|
client.DoMixed.handler({ name: "y" })
|
|
172
182
|
})
|
|
173
183
|
|
|
184
|
+
it.effect("mutation invalidation awaits the injected query invalidator", () =>
|
|
185
|
+
Effect.gen(function*() {
|
|
186
|
+
const recorded: Array<readonly [string, ReadonlyArray<unknown>]> = []
|
|
187
|
+
const keys = [["$Something"], ["$Something", "GetSomething2"]]
|
|
188
|
+
const queryInvalidator = combineQueryInvalidators(
|
|
189
|
+
{ invalidateAndAwait: (keys) => Effect.sync(() => keys.forEach((key) => recorded.push(["atom", key]))) },
|
|
190
|
+
{ invalidateAndAwait: (keys) => Effect.sync(() => keys.forEach((key) => recorded.push(["tanstack", key]))) }
|
|
191
|
+
)
|
|
192
|
+
const mutate = invalidateQueries(
|
|
193
|
+
{ id: "Something.DoSomething" },
|
|
194
|
+
{ queryInvalidation: () => keys },
|
|
195
|
+
queryInvalidator
|
|
196
|
+
)
|
|
197
|
+
|
|
198
|
+
const fiber = yield* Effect.forkChild(mutate(Effect.succeed(123), { id: "abc" }))
|
|
199
|
+
yield* TestClock.adjust("1 millis")
|
|
200
|
+
const result = yield* Fiber.join(fiber)
|
|
201
|
+
|
|
202
|
+
expect(result).toBe(123)
|
|
203
|
+
expect(recorded).toEqual([
|
|
204
|
+
["atom", keys[0]],
|
|
205
|
+
["atom", keys[1]],
|
|
206
|
+
["tanstack", keys[0]],
|
|
207
|
+
["tanstack", keys[1]]
|
|
208
|
+
])
|
|
209
|
+
}))
|
|
210
|
+
|
|
174
211
|
it("client[Key].Input — extracted input type per props variant", () => {
|
|
175
212
|
const { clientFor } = useClient()
|
|
176
213
|
const client = clientFor(
|
|
@@ -199,10 +236,23 @@ it("client[Key].Input — extracted input type per props variant", () => {
|
|
|
199
236
|
expectTypeOf<typeof client.DoMixed.Input>().toEqualTypeOf<HandlerArg>()
|
|
200
237
|
|
|
201
238
|
// Stream handlers — Input now extracts via RequestStreamHandlerWithInput fallback.
|
|
239
|
+
expectTypeOf(client.StreamQuery.Input).toEqualTypeOf<{ readonly id: string; readonly _tag?: "StreamQuery" }>()
|
|
202
240
|
expectTypeOf(client.StreamWithoutFinal.Input).toEqualTypeOf<
|
|
203
241
|
{ readonly id: string; readonly _tag?: "StreamWithoutFinal" }
|
|
204
242
|
>()
|
|
205
243
|
expectTypeOf(client.StreamWithFinal.Input).toEqualTypeOf<{ readonly id: string; readonly _tag?: "StreamWithFinal" }>()
|
|
244
|
+
|
|
245
|
+
const assertStreamQueryTypes = () => {
|
|
246
|
+
const streamAtom = client.StreamQuery.atom({ id: "abc" })
|
|
247
|
+
expectTypeOf(streamAtom).toEqualTypeOf<Atom.Writable<Atom.PullResult<number, never>, void>>()
|
|
248
|
+
const streamView = client.StreamQuery.queryNew({ id: "abc" })
|
|
249
|
+
expectTypeOf(streamView.items.value).toEqualTypeOf<ReadonlyArray<number>>()
|
|
250
|
+
expectTypeOf(streamView.latest.value).toEqualTypeOf<number | undefined>()
|
|
251
|
+
expectTypeOf(streamView.done.value).toBeBoolean()
|
|
252
|
+
expectTypeOf(streamView.pull).toBeFunction()
|
|
253
|
+
expectTypeOf(streamView.pullAndAwait).toBeFunction()
|
|
254
|
+
}
|
|
255
|
+
void assertStreamQueryTypes
|
|
206
256
|
})
|
|
207
257
|
|
|
208
258
|
it("CommandFromRequest input shape — props variants", () => {
|
|
@@ -286,6 +336,66 @@ it.skip("query type tests", () => {
|
|
|
286
336
|
expectTypeOf(val4).toEqualTypeOf<string>()
|
|
287
337
|
})
|
|
288
338
|
|
|
339
|
+
it("additive atom query api type tests", () => {
|
|
340
|
+
const { clientFor } = useClient()
|
|
341
|
+
const client = clientFor(
|
|
342
|
+
Something,
|
|
343
|
+
undefined,
|
|
344
|
+
somethingInvalidationResources
|
|
345
|
+
)
|
|
346
|
+
|
|
347
|
+
if (false as boolean) {
|
|
348
|
+
const family = client.GetSomething2.family
|
|
349
|
+
const familyAtom = family({ id: "a" })
|
|
350
|
+
expectTypeOf<Atom.Success<typeof familyAtom>>().toEqualTypeOf<number>()
|
|
351
|
+
|
|
352
|
+
const mappedFamilyAtom = Atom.mapResult(familyAtom, (data) => data.toString())
|
|
353
|
+
expectTypeOf<Atom.Success<typeof mappedFamilyAtom>>().toEqualTypeOf<string>()
|
|
354
|
+
expectTypeOf(useAtomQuery(() => mappedFamilyAtom).data.value).toEqualTypeOf<string | undefined>()
|
|
355
|
+
useAtomSuspense(() => mappedFamilyAtom).then((view) => {
|
|
356
|
+
expectTypeOf(view[1].value).toEqualTypeOf<string>()
|
|
357
|
+
return view
|
|
358
|
+
})
|
|
359
|
+
|
|
360
|
+
const atom = client.GetSomething2.atom({ id: "a" })
|
|
361
|
+
expectTypeOf<Atom.Success<typeof atom>>().toEqualTypeOf<number>()
|
|
362
|
+
// @ts-expect-error raw atom exposure does not accept Vue select projections
|
|
363
|
+
client.GetSomething2.atom({ id: "a" }, { select: (data) => data.toString() })
|
|
364
|
+
|
|
365
|
+
const query = client.GetSomething2.queryNew({ id: "a" })
|
|
366
|
+
expectTypeOf(query.data.value).toEqualTypeOf<number | undefined>()
|
|
367
|
+
|
|
368
|
+
const selected = client.GetSomething2.queryNew({ id: "a" }, { select: (data) => data.toString() })
|
|
369
|
+
expectTypeOf(selected.data.value).toEqualTypeOf<string | undefined>()
|
|
370
|
+
|
|
371
|
+
client.GetSomething2.suspenseNew({ id: "a" }, { select: (data) => data.toString() }).then((view) => {
|
|
372
|
+
expectTypeOf(view[1].value).toEqualTypeOf<string>()
|
|
373
|
+
return view
|
|
374
|
+
})
|
|
375
|
+
|
|
376
|
+
const projected = client.GetSomething2.project(S.String)
|
|
377
|
+
const projectedFamilyAtom = projected.family({ id: "a" })
|
|
378
|
+
expectTypeOf<Atom.Success<typeof projectedFamilyAtom>>().toEqualTypeOf<string>()
|
|
379
|
+
const projectedAtom = projected.atom({ id: "a" })
|
|
380
|
+
expectTypeOf<Atom.Success<typeof projectedAtom>>().toEqualTypeOf<string>()
|
|
381
|
+
expectTypeOf(projected.queryNew({ id: "a" }).data.value).toEqualTypeOf<string | undefined>()
|
|
382
|
+
projected.suspenseNew({ id: "a" }).then((view) => {
|
|
383
|
+
expectTypeOf(view[1].value).toEqualTypeOf<string>()
|
|
384
|
+
return view
|
|
385
|
+
})
|
|
386
|
+
|
|
387
|
+
const helperFamilyAtom = client.helpers.getSomething2QueryFamily({ id: "a" })
|
|
388
|
+
expectTypeOf<Atom.Success<typeof helperFamilyAtom>>().toEqualTypeOf<number>()
|
|
389
|
+
expectTypeOf(client.helpers.getSomething2QueryNew({ id: "a" }).data.value).toEqualTypeOf<number | undefined>()
|
|
390
|
+
client.helpers.getSomething2SuspenseQueryNew({ id: "a" }).then((view) => {
|
|
391
|
+
expectTypeOf(view[1].value).toEqualTypeOf<number>()
|
|
392
|
+
return view
|
|
393
|
+
})
|
|
394
|
+
}
|
|
395
|
+
|
|
396
|
+
expect(true).toBe(true)
|
|
397
|
+
})
|
|
398
|
+
|
|
289
399
|
it.skip("works", () => {
|
|
290
400
|
const { clientFor } = useClient()
|
|
291
401
|
const client = clientFor(Something, undefined, somethingInvalidationResources)
|
package/test/stubs.ts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
2
2
|
import { type MessageFormatElement } from "@formatjs/icu-messageformat-parser"
|
|
3
3
|
import * as Intl from "@formatjs/intl"
|
|
4
|
-
import { QueryClient, VueQueryPlugin } from "@tanstack/vue-query"
|
|
5
4
|
import { ApiClientFactory, makeRpcClient } from "effect-app/client"
|
|
6
5
|
import * as Effect from "effect-app/Effect"
|
|
7
6
|
import * as Layer from "effect-app/Layer"
|
|
@@ -201,6 +200,13 @@ class SomethingGetStructNullable extends SomethingQuery<SomethingGetStructNullab
|
|
|
201
200
|
success: S.Struct({ a: S.NullOr(S.String) })
|
|
202
201
|
}) {}
|
|
203
202
|
|
|
203
|
+
class SomethingStreamQuery extends SomethingQuery<SomethingStreamQuery>()("StreamQuery", {
|
|
204
|
+
id: S.String
|
|
205
|
+
}, {
|
|
206
|
+
stream: true,
|
|
207
|
+
success: S.FiniteFromString
|
|
208
|
+
}) {}
|
|
209
|
+
|
|
204
210
|
/** Stream event: intermediate progress update. */
|
|
205
211
|
export class OperationProgress extends S.TaggedClass<OperationProgress>()("OperationProgress", {
|
|
206
212
|
completed: S.NonNegativeInt,
|
|
@@ -240,6 +246,7 @@ export const Something = {
|
|
|
240
246
|
DoMixed: SomethingDoMixed,
|
|
241
247
|
DoSomething: SomethingDoSomething,
|
|
242
248
|
GetStructNullable: SomethingGetStructNullable,
|
|
249
|
+
StreamQuery: SomethingStreamQuery,
|
|
243
250
|
StreamWithoutFinal: SomethingStreamWithoutFinal,
|
|
244
251
|
StreamWithFinal: SomethingStreamWithFinal
|
|
245
252
|
}
|
|
@@ -280,11 +287,9 @@ export const useClient = (
|
|
|
280
287
|
const clientFor_ = ApiClientFactory.makeFor(Layer.empty)
|
|
281
288
|
const rawClient = makeClient(() => ManagedRuntime.make(layers), clientFor_, Layer.empty)
|
|
282
289
|
|
|
283
|
-
// Provide a Vue injection context so
|
|
284
|
-
//
|
|
290
|
+
// Provide a Vue injection context so composition-API hooks called during client
|
|
291
|
+
// initialisation work outside a component setup() function.
|
|
285
292
|
const vueApp = createApp({})
|
|
286
|
-
const testQueryClientConfig = { defaultOptions: { queries: { retry: false }, mutations: { retry: false } } }
|
|
287
|
-
vueApp.use(VueQueryPlugin, { queryClient: new QueryClient(testQueryClientConfig) })
|
|
288
293
|
|
|
289
294
|
const origClientFor = rawClient.clientFor
|
|
290
295
|
const clientFor: typeof origClientFor = function(m, ...args) {
|