@ic-reactor/react 3.12.4 → 3.12.5
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/dist/createActorHooks.d.ts +3 -3
- package/dist/createActorHooks.d.ts.map +1 -1
- package/dist/createActorHooks.js.map +1 -1
- package/dist/createMutation.d.ts +1 -1
- package/dist/createMutation.d.ts.map +1 -1
- package/dist/createMutation.js +43 -13
- package/dist/createMutation.js.map +1 -1
- package/dist/hooks/createAuthHooks.d.ts +2 -2
- package/dist/hooks/createAuthHooks.js +4 -4
- package/dist/hooks/useActorInfiniteQuery.d.ts +3 -3
- package/dist/hooks/useActorInfiniteQuery.d.ts.map +1 -1
- package/dist/hooks/useActorInfiniteQuery.js.map +1 -1
- package/dist/hooks/useActorMutation.d.ts +5 -5
- package/dist/hooks/useActorMutation.d.ts.map +1 -1
- package/dist/hooks/useActorMutation.js.map +1 -1
- package/dist/hooks/useActorSuspenseInfiniteQuery.d.ts +3 -3
- package/dist/hooks/useActorSuspenseInfiniteQuery.d.ts.map +1 -1
- package/dist/hooks/useActorSuspenseInfiniteQuery.js.map +1 -1
- package/dist/types.d.ts +12 -6
- package/dist/types.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/createActorHooks.ts +31 -11
- package/src/createMutation.ts +117 -19
- package/src/hooks/createAuthHooks.ts +4 -4
- package/src/hooks/useActorInfiniteQuery.ts +34 -6
- package/src/hooks/useActorMutation.ts +19 -7
- package/src/hooks/useActorSuspenseInfiniteQuery.ts +19 -6
- package/src/types.ts +29 -8
|
@@ -41,9 +41,9 @@ export type ActorHooks<Service, Transform extends TransformKey> = {
|
|
|
41
41
|
<Method extends FunctionName<Service>>(config: WithCallConfig<SuspenseQueryConfig<Service, Method, Transform, ReactorQueryData<ReactorReturnOk<Service, Method, Transform>>>>): UseSuspenseQueryResult<ReactorQueryData<ReactorReturnOk<Service, Method, Transform>>, ReactorReturnErr<Service, Method, Transform>>;
|
|
42
42
|
<Method extends FunctionName<Service>, TData>(config: WithCallConfig<SuspenseQueryConfig<Service, Method, Transform, TData>>): UseSuspenseQueryResult<TData, ReactorReturnErr<Service, Method, Transform>>;
|
|
43
43
|
};
|
|
44
|
-
useActorInfiniteQuery: <Method extends FunctionName<Service>, TPageParam = unknown
|
|
45
|
-
useActorSuspenseInfiniteQuery: <Method extends FunctionName<Service>, TPageParam = unknown
|
|
46
|
-
useActorMutation: <Method extends FunctionName<Service
|
|
44
|
+
useActorInfiniteQuery: <Method extends FunctionName<Service>, TPageParam = unknown, Selected = InfiniteData<ReactorQueryData<ReactorReturnOk<Service, Method, Transform>>, TPageParam>>(config: InfiniteQueryConfig<Service, Method, Transform, TPageParam, Selected>) => UseInfiniteQueryResult<Selected, ReactorReturnErr<Service, Method, Transform>>;
|
|
45
|
+
useActorSuspenseInfiniteQuery: <Method extends FunctionName<Service>, TPageParam = unknown, Selected = InfiniteData<ReactorQueryData<ReactorReturnOk<Service, Method, Transform>>, TPageParam>>(config: SuspenseInfiniteQueryConfig<Service, Method, Transform, TPageParam, Selected>) => UseSuspenseInfiniteQueryResult<Selected, ReactorReturnErr<Service, Method, Transform>>;
|
|
46
|
+
useActorMutation: <Method extends FunctionName<Service>, TOnMutateResult = unknown>(config: MutationConfig<Service, Method, Transform, TOnMutateResult>) => UseMutationResult<ReactorReturnOk<Service, Method, Transform>, ReactorReturnErr<Service, Method, Transform>, ReactorArgs<Service, Method, Transform>, TOnMutateResult>;
|
|
47
47
|
useActorMethod: <Method extends FunctionName<Service>>(config: Omit<UseActorMethodParameters<Service, Method, Transform>, "reactor">) => ReturnType<typeof useActorMethod<Service, Method, Transform>>;
|
|
48
48
|
};
|
|
49
49
|
export declare function createActorHooks<Service>(reactor: DisplayReactor<Service>): ActorHooks<Service, "display">;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createActorHooks.d.ts","sourceRoot":"","sources":["../src/createActorHooks.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,EACL,OAAO,EACP,cAAc,EACd,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,SAAS,EACT,YAAY,EACZ,WAAW,EACX,YAAY,EACb,MAAM,kBAAkB,CAAA;AACzB,OAAO,EACL,cAAc,EACd,sBAAsB,EACtB,sBAAsB,EACtB,8BAA8B,EAC9B,iBAAiB,EACjB,YAAY,EACb,MAAM,uBAAuB,CAAA;AAM9B,OAAO,EACL,cAAc,EACd,wBAAwB,EACzB,MAAM,2BAA2B,CAAA;AAClC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAC9D,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAA;AAC9E,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAE7E;;;;GAIG;AACH,KAAK,cAAc,CAAC,MAAM,IAAI,MAAM,GAAG;IACrC,gFAAgF;IAChF,UAAU,CAAC,EAAE,UAAU,CAAA;CACxB,CAAA;AAED,MAAM,MAAM,UAAU,CAAC,OAAO,EAAE,SAAS,SAAS,YAAY,IAAI;IAChE,aAAa,EAAE;QACb,CAAC,MAAM,SAAS,YAAY,CAAC,OAAO,CAAC,EACnC,MAAM,EAAE,cAAc,CACpB,WAAW,CACT,OAAO,EACP,MAAM,EACN,SAAS,EACT,gBAAgB,CAAC,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,CAC9D,CACF,GACA,cAAc,CACf,gBAAgB,CAAC,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,EAC7D,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CAC7C,CAAA;QACD,CAAC,MAAM,SAAS,YAAY,CAAC,OAAO,CAAC,EAAE,KAAK,EAC1C,MAAM,EAAE,cAAc,CAAC,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC,GACrE,cAAc,CAAC,KAAK,EAAE,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,CAAA;KACvE,CAAA;IAED,qBAAqB,EAAE;QACrB,CAAC,MAAM,SAAS,YAAY,CAAC,OAAO,CAAC,EACnC,MAAM,EAAE,cAAc,CACpB,mBAAmB,CACjB,OAAO,EACP,MAAM,EACN,SAAS,EACT,gBAAgB,CAAC,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,CAC9D,CACF,GACA,sBAAsB,CACvB,gBAAgB,CAAC,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,EAC7D,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CAC7C,CAAA;QACD,CAAC,MAAM,SAAS,YAAY,CAAC,OAAO,CAAC,EAAE,KAAK,EAC1C,MAAM,EAAE,cAAc,CACpB,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,CACvD,GACA,sBAAsB,CACvB,KAAK,EACL,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CAC7C,CAAA;KACF,CAAA;
|
|
1
|
+
{"version":3,"file":"createActorHooks.d.ts","sourceRoot":"","sources":["../src/createActorHooks.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createActorHooks.js","sourceRoot":"","sources":["../src/createActorHooks.ts"],"names":[],"mappings":"AAqCA,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAA;AACxE,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAA;AACxE,OAAO,EAAE,6BAA6B,EAAE,MAAM,0CAA0C,CAAA;AACxF,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;AAC9D,OAAO,EACL,cAAc,GAEf,MAAM,2BAA2B,CAAA;
|
|
1
|
+
{"version":3,"file":"createActorHooks.js","sourceRoot":"","sources":["../src/createActorHooks.ts"],"names":[],"mappings":"AAqCA,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAA;AACxE,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAA;AACxE,OAAO,EAAE,6BAA6B,EAAE,MAAM,0CAA0C,CAAA;AACxF,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;AAC9D,OAAO,EACL,cAAc,GAEf,MAAM,2BAA2B,CAAA;AAqIlC,MAAM,UAAU,gBAAgB,CAC9B,OAAoC;IAEpC,OAAO;QACL,aAAa,EAAE,CAAC,CAAC,MAAW,EAAE,EAAE,CAC9B,aAAa,CAAC,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,CAAC,CAGrB;QAElB,qBAAqB,EAAE,CAAC,CAAC,MAAW,EAAE,EAAE,CACtC,qBAAqB,CAAC,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,CAAC,CAGrB;QAE1B,qBAAqB,EAAE,CAAC,CAAC,MAAW,EAAE,EAAE,CACtC,qBAAqB,CAAC,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,CAAC,CAGrB;QAE1B,6BAA6B,EAAE,CAAC,CAAC,MAAW,EAAE,EAAE,CAC9C,6BAA6B,CAAC,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,CAAC,CAGrB;QAElC,gBAAgB,EAAE,CAAC,CAAC,MAAW,EAAE,EAAE,CACjC,gBAAgB,CAAC,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,CAAC,CAGrB;QAErB,cAAc,EAAE,CAAC,MAAM,EAAE,EAAE,CACzB,cAAc,CAAC,EAAE,GAAG,MAAM,EAAE,OAAO,EAIlC,CAAC;KACL,CAAA;AACH,CAAC"}
|
package/dist/createMutation.d.ts
CHANGED
|
@@ -26,5 +26,5 @@
|
|
|
26
26
|
*/
|
|
27
27
|
import type { Reactor, FunctionName, TransformKey } from "@ic-reactor/core";
|
|
28
28
|
import type { MutationConfig, MutationResult, NoInfer } from "./types.js";
|
|
29
|
-
export declare function createMutation<Service, Transform extends TransformKey, Method extends FunctionName<Service> = FunctionName<Service
|
|
29
|
+
export declare function createMutation<Service, Transform extends TransformKey, Method extends FunctionName<Service> = FunctionName<Service>, TOnMutateResult = unknown>(reactor: Reactor<Service, Transform>, config: MutationConfig<NoInfer<Service>, Method, Transform, TOnMutateResult | undefined>): MutationResult<Service, Method, Transform>;
|
|
30
30
|
//# sourceMappingURL=createMutation.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createMutation.d.ts","sourceRoot":"","sources":["../src/createMutation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAMH,OAAO,KAAK,EACV,OAAO,EACP,YAAY,EAEZ,YAAY,
|
|
1
|
+
{"version":3,"file":"createMutation.d.ts","sourceRoot":"","sources":["../src/createMutation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAMH,OAAO,KAAK,EACV,OAAO,EACP,YAAY,EAEZ,YAAY,EAGb,MAAM,kBAAkB,CAAA;AAEzB,OAAO,KAAK,EACV,cAAc,EACd,cAAc,EAEd,OAAO,EACR,MAAM,YAAY,CAAA;AA8QnB,wBAAgB,cAAc,CAC5B,OAAO,EACP,SAAS,SAAS,YAAY,EAC9B,MAAM,SAAS,YAAY,CAAC,OAAO,CAAC,GAAG,YAAY,CAAC,OAAO,CAAC,EAC5D,eAAe,GAAG,OAAO,EAEzB,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,SAAS,CAAC,EAGpC,MAAM,EAAE,cAAc,CACpB,OAAO,CAAC,OAAO,CAAC,EAChB,MAAM,EACN,SAAS,EACT,eAAe,GAAG,SAAS,CAC5B,GACA,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CAU5C"}
|
package/dist/createMutation.js
CHANGED
|
@@ -44,6 +44,25 @@ const createMutationImpl = (reactor, config) => {
|
|
|
44
44
|
* and there is no double-invalidation.
|
|
45
45
|
*/
|
|
46
46
|
const callFn = (args) => reactor.callMethod({ functionName, args, callConfig });
|
|
47
|
+
/**
|
|
48
|
+
* The factory's own `onMutate` result for each call through the hook.
|
|
49
|
+
*
|
|
50
|
+
* TanStack Query stores one `onMutate` result per mutation and hands it to
|
|
51
|
+
* every callback. That slot holds the hook's result, which the mutation also
|
|
52
|
+
* exposes as `context`, so this map holds the factory's. Each key is the
|
|
53
|
+
* context object TanStack Query creates for a call and passes to every
|
|
54
|
+
* callback of that call.
|
|
55
|
+
*/
|
|
56
|
+
const factoryOnMutateResults = new WeakMap();
|
|
57
|
+
/**
|
|
58
|
+
* The `onMutate` result a factory callback receives. A factory without its
|
|
59
|
+
* own `onMutate` gets the hook's, as it always has. TanStack Query before
|
|
60
|
+
* 5.89 passes no context, so there a factory callback gets the hook's result
|
|
61
|
+
* too.
|
|
62
|
+
*/
|
|
63
|
+
const factoryOnMutateResult = (onMutateResult, context) => (factoryOnMutate && context
|
|
64
|
+
? factoryOnMutateResults.get(context)
|
|
65
|
+
: onMutateResult);
|
|
47
66
|
/**
|
|
48
67
|
* Imperative execution for non-React usage.
|
|
49
68
|
*
|
|
@@ -85,6 +104,8 @@ const createMutationImpl = (reactor, config) => {
|
|
|
85
104
|
}
|
|
86
105
|
catch (error) {
|
|
87
106
|
if (isCanisterError(error)) {
|
|
107
|
+
// `catch` drops the type. `callMethod` rejects with this method's
|
|
108
|
+
// CanisterError, the one the hook path narrows to.
|
|
88
109
|
factoryOnCanisterError?.(error, args);
|
|
89
110
|
}
|
|
90
111
|
// `onMutate` does not run on this path, so there is no result to pass.
|
|
@@ -110,7 +131,7 @@ const createMutationImpl = (reactor, config) => {
|
|
|
110
131
|
// Use callFn (not execute) to avoid double-invalidation:
|
|
111
132
|
// factoryInvalidateQueries are handled in onSuccess below.
|
|
112
133
|
mutationFn: callFn,
|
|
113
|
-
onSuccess: async (
|
|
134
|
+
onSuccess: async (data, variables, onMutateResult, context) => {
|
|
114
135
|
// 1. Factory-level invalidation
|
|
115
136
|
if (factoryInvalidateQueries) {
|
|
116
137
|
await invalidateAll(reactor.queryClient, factoryInvalidateQueries);
|
|
@@ -120,11 +141,11 @@ const createMutationImpl = (reactor, config) => {
|
|
|
120
141
|
await invalidateAll(reactor.queryClient, hookInvalidateQueries);
|
|
121
142
|
}
|
|
122
143
|
// 3. Factory onSuccess
|
|
123
|
-
await factoryOnSuccess?.(
|
|
144
|
+
await factoryOnSuccess?.(data, variables, factoryOnMutateResult(onMutateResult, context), context);
|
|
124
145
|
// 4. Hook onSuccess
|
|
125
|
-
await restOptions.onSuccess?.(
|
|
146
|
+
await restOptions.onSuccess?.(data, variables, onMutateResult, context);
|
|
126
147
|
},
|
|
127
|
-
onError: async (error, variables,
|
|
148
|
+
onError: async (error, variables, onMutateResult, context) => {
|
|
128
149
|
if (isCanisterError(error)) {
|
|
129
150
|
factoryOnCanisterError?.(error, variables);
|
|
130
151
|
hookOnCanisterError?.(error, variables);
|
|
@@ -132,8 +153,8 @@ const createMutationImpl = (reactor, config) => {
|
|
|
132
153
|
// Awaited in order, like `onSuccess`. TanStack Query holds
|
|
133
154
|
// `onSettled` and the settled state until this promise resolves, so
|
|
134
155
|
// an async `onError` must be part of it.
|
|
135
|
-
await factoryOnError?.(error, variables, context,
|
|
136
|
-
await restOptions.onError?.(error, variables,
|
|
156
|
+
await factoryOnError?.(error, variables, factoryOnMutateResult(onMutateResult, context), context);
|
|
157
|
+
await restOptions.onError?.(error, variables, onMutateResult, context);
|
|
137
158
|
},
|
|
138
159
|
// `onMutate` and `onSettled` are composed like `onSuccess`/`onError`
|
|
139
160
|
// above. They used to arrive through the `...restOptions` spread, so a
|
|
@@ -141,13 +162,19 @@ const createMutationImpl = (reactor, config) => {
|
|
|
141
162
|
// telemetry or logging simply vanished the moment any call site passed
|
|
142
163
|
// its own, with no warning and no type error. Chaining is what a
|
|
143
164
|
// reader who has seen `onSuccess` chain already expects.
|
|
144
|
-
onMutate: async (
|
|
145
|
-
|
|
146
|
-
|
|
165
|
+
onMutate: async (variables, context) => {
|
|
166
|
+
if (factoryOnMutate) {
|
|
167
|
+
const result = await factoryOnMutate(variables, context);
|
|
168
|
+
if (context)
|
|
169
|
+
factoryOnMutateResults.set(context, result);
|
|
170
|
+
}
|
|
171
|
+
// Without a hook-level `onMutate` this is `undefined`, and
|
|
172
|
+
// THookOnMutateResult is then `unknown`.
|
|
173
|
+
return (await restOptions.onMutate?.(variables, context));
|
|
147
174
|
},
|
|
148
|
-
onSettled: async (
|
|
149
|
-
await factoryOnSettled?.(
|
|
150
|
-
await restOptions.onSettled?.(
|
|
175
|
+
onSettled: async (data, error, variables, onMutateResult, context) => {
|
|
176
|
+
await factoryOnSettled?.(data, error, variables, factoryOnMutateResult(onMutateResult, context), context);
|
|
177
|
+
await restOptions.onSettled?.(data, error, variables, onMutateResult, context);
|
|
151
178
|
},
|
|
152
179
|
}, reactor.queryClient);
|
|
153
180
|
};
|
|
@@ -156,7 +183,10 @@ const createMutationImpl = (reactor, config) => {
|
|
|
156
183
|
// ============================================================================
|
|
157
184
|
// Public Factory Function
|
|
158
185
|
// ============================================================================
|
|
159
|
-
export function createMutation(reactor,
|
|
186
|
+
export function createMutation(reactor,
|
|
187
|
+
// `execute()` runs the factory's `onSuccess` and `onError` without running
|
|
188
|
+
// its `onMutate`, so their `onMutate` result can also be `undefined`.
|
|
189
|
+
config) {
|
|
160
190
|
return createMutationImpl(reactor, config);
|
|
161
191
|
}
|
|
162
192
|
//# sourceMappingURL=createMutation.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createMutation.js","sourceRoot":"","sources":["../src/createMutation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,EACL,WAAW,GAEZ,MAAM,uBAAuB,CAAA;
|
|
1
|
+
{"version":3,"file":"createMutation.js","sourceRoot":"","sources":["../src/createMutation.ts"],"names":[],"mappings":"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"}
|
|
@@ -35,8 +35,8 @@ export interface CreateAuthHooksReturn {
|
|
|
35
35
|
* const { login, logout, principal, isAuthenticated } = useAuth()
|
|
36
36
|
*
|
|
37
37
|
* return isAuthenticated
|
|
38
|
-
* ? <button onClick={logout}>Logout {principal?.toText()}</button>
|
|
39
|
-
* : <button onClick={login}>Login with II</button>
|
|
38
|
+
* ? <button onClick={() => logout()}>Logout {principal?.toText()}</button>
|
|
39
|
+
* : <button onClick={() => login()}>Login with II</button>
|
|
40
40
|
* }
|
|
41
41
|
*/
|
|
42
42
|
export declare const createAuthHooks: (authentication: AuthenticationManager) => CreateAuthHooksReturn;
|
|
@@ -22,8 +22,8 @@ function usePrincipal(isAuthenticated, identity) {
|
|
|
22
22
|
* const { login, logout, principal, isAuthenticated } = useAuth()
|
|
23
23
|
*
|
|
24
24
|
* return isAuthenticated
|
|
25
|
-
* ? <button onClick={logout}>Logout {principal?.toText()}</button>
|
|
26
|
-
* : <button onClick={login}>Login with II</button>
|
|
25
|
+
* ? <button onClick={() => logout()}>Logout {principal?.toText()}</button>
|
|
26
|
+
* : <button onClick={() => login()}>Login with II</button>
|
|
27
27
|
* }
|
|
28
28
|
*/
|
|
29
29
|
export const createAuthHooks = (authentication) => {
|
|
@@ -64,10 +64,10 @@ export const createAuthHooks = (authentication) => {
|
|
|
64
64
|
* const { login, logout, isAuthenticated, isAuthenticating } = useAuth()
|
|
65
65
|
*
|
|
66
66
|
* if (isAuthenticated) {
|
|
67
|
-
* return <button onClick={logout}>Logout</button>
|
|
67
|
+
* return <button onClick={() => logout()}>Logout</button>
|
|
68
68
|
* }
|
|
69
69
|
* return (
|
|
70
|
-
* <button onClick={login} disabled={isAuthenticating}>
|
|
70
|
+
* <button onClick={() => login()} disabled={isAuthenticating}>
|
|
71
71
|
* {isAuthenticating ? "Connecting..." : "Login"}
|
|
72
72
|
* </button>
|
|
73
73
|
* )
|
|
@@ -21,8 +21,8 @@ export interface UseActorInfiniteQueryParameters<Service, Method extends Functio
|
|
|
21
21
|
/** Function to determine next page parameter */
|
|
22
22
|
getNextPageParam: (lastPage: ReactorQueryData<ReactorReturnOk<Service, Method, Transform>>, allPages: ReactorQueryData<ReactorReturnOk<Service, Method, Transform>>[], lastPageParam: TPageParam, allPageParams: TPageParam[]) => TPageParam | undefined | null;
|
|
23
23
|
}
|
|
24
|
-
export type UseActorInfiniteQueryConfig<Service, Method extends FunctionName<Service>, Transform extends TransformKey = "candid", TPageParam = unknown
|
|
25
|
-
export type UseActorInfiniteQueryResult<Service, Method extends FunctionName<Service>, Transform extends TransformKey = "candid", TPageParam = unknown
|
|
24
|
+
export type UseActorInfiniteQueryConfig<Service, Method extends FunctionName<Service>, Transform extends TransformKey = "candid", TPageParam = unknown, Selected = InfiniteData<ReactorQueryData<ReactorReturnOk<Service, Method, Transform>>, TPageParam>> = Omit<UseActorInfiniteQueryParameters<Service, Method, Transform, TPageParam, Selected>, "reactor">;
|
|
25
|
+
export type UseActorInfiniteQueryResult<Service, Method extends FunctionName<Service>, Transform extends TransformKey = "candid", TPageParam = unknown, Selected = InfiniteData<ReactorQueryData<ReactorReturnOk<Service, Method, Transform>>, TPageParam>> = UseInfiniteQueryResult<Selected, ReactorReturnErr<Service, Method, Transform>>;
|
|
26
26
|
/**
|
|
27
27
|
* Hook for executing infinite/paginated query calls on a canister.
|
|
28
28
|
*
|
|
@@ -35,5 +35,5 @@ export type UseActorInfiniteQueryResult<Service, Method extends FunctionName<Ser
|
|
|
35
35
|
* getNextPageParam: (lastPage) => lastPage.nextOffset,
|
|
36
36
|
* })
|
|
37
37
|
*/
|
|
38
|
-
export declare const useActorInfiniteQuery: <Service, Method extends FunctionName<Service>, Transform extends TransformKey = "candid", TPageParam = unknown
|
|
38
|
+
export declare const useActorInfiniteQuery: <Service, Method extends FunctionName<Service>, Transform extends TransformKey = "candid", TPageParam = unknown, Selected = InfiniteData<ReactorQueryData<ReactorReturnOk<Service, Method, Transform>>, TPageParam>>({ reactor, functionName, getArgs, callConfig, queryKey, ...options }: UseActorInfiniteQueryParameters<Service, Method, Transform, TPageParam, Selected>) => UseActorInfiniteQueryResult<Service, Method, Transform, TPageParam, Selected>;
|
|
39
39
|
//# sourceMappingURL=useActorInfiniteQuery.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useActorInfiniteQuery.d.ts","sourceRoot":"","sources":["../../src/hooks/useActorInfiniteQuery.ts"],"names":[],"mappings":"AACA,OAAO,EACL,QAAQ,EAER,sBAAsB,EACtB,uBAAuB,EACvB,YAAY,EACb,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EACL,YAAY,EACZ,OAAO,EACP,YAAY,EACZ,WAAW,EACX,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EACjB,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAGhD;;;GAGG;AACH,MAAM,WAAW,+BAA+B,CAC9C,OAAO,EACP,MAAM,SAAS,YAAY,CAAC,OAAO,CAAC,EACpC,SAAS,SAAS,YAAY,GAAG,QAAQ,EACzC,UAAU,GAAG,OAAO,EACpB,QAAQ,GAAG,YAAY,CACrB,gBAAgB,CAAC,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,EAC7D,UAAU,CACX,CACD,SAAQ,IAAI,CACZ,uBAAuB,CACrB,gBAAgB,CAAC,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,EAC7D,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EAC5C,QAAQ,EACR,QAAQ,EACR,UAAU,CACX,EACD,UAAU,GAAG,SAAS,GAAG,kBAAkB,GAAG,kBAAkB,CACjE;IACC,mDAAmD;IACnD,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,SAAS,CAAC,CAAA;IACpC,8CAA8C;IAC9C,YAAY,EAAE,MAAM,CAAA;IACpB,+CAA+C;IAC/C,OAAO,EAAE,CAAC,SAAS,EAAE,UAAU,KAAK,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CAAA;IAC3E,2DAA2D;IAC3D,UAAU,CAAC,EAAE,UAAU,CAAA;IACvB,wDAAwD;IACxD,QAAQ,CAAC,EAAE,QAAQ,CAAA;IACnB,6BAA6B;IAC7B,gBAAgB,EAAE,UAAU,CAAA;IAC5B,gDAAgD;IAChD,gBAAgB,EAAE,CAChB,QAAQ,EAAE,gBAAgB,CAAC,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,EACvE,QAAQ,EAAE,gBAAgB,CAAC,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,EAAE,EACzE,aAAa,EAAE,UAAU,EACzB,aAAa,EAAE,UAAU,EAAE,KACxB,UAAU,GAAG,SAAS,GAAG,IAAI,CAAA;CACnC;AAED,MAAM,MAAM,2BAA2B,CACrC,OAAO,EACP,MAAM,SAAS,YAAY,CAAC,OAAO,CAAC,EACpC,SAAS,SAAS,YAAY,GAAG,QAAQ,EACzC,UAAU,GAAG,OAAO,
|
|
1
|
+
{"version":3,"file":"useActorInfiniteQuery.d.ts","sourceRoot":"","sources":["../../src/hooks/useActorInfiniteQuery.ts"],"names":[],"mappings":"AACA,OAAO,EACL,QAAQ,EAER,sBAAsB,EACtB,uBAAuB,EACvB,YAAY,EACb,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EACL,YAAY,EACZ,OAAO,EACP,YAAY,EACZ,WAAW,EACX,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EACjB,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAGhD;;;GAGG;AACH,MAAM,WAAW,+BAA+B,CAC9C,OAAO,EACP,MAAM,SAAS,YAAY,CAAC,OAAO,CAAC,EACpC,SAAS,SAAS,YAAY,GAAG,QAAQ,EACzC,UAAU,GAAG,OAAO,EACpB,QAAQ,GAAG,YAAY,CACrB,gBAAgB,CAAC,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,EAC7D,UAAU,CACX,CACD,SAAQ,IAAI,CACZ,uBAAuB,CACrB,gBAAgB,CAAC,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,EAC7D,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EAC5C,QAAQ,EACR,QAAQ,EACR,UAAU,CACX,EACD,UAAU,GAAG,SAAS,GAAG,kBAAkB,GAAG,kBAAkB,CACjE;IACC,mDAAmD;IACnD,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,SAAS,CAAC,CAAA;IACpC,8CAA8C;IAC9C,YAAY,EAAE,MAAM,CAAA;IACpB,+CAA+C;IAC/C,OAAO,EAAE,CAAC,SAAS,EAAE,UAAU,KAAK,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CAAA;IAC3E,2DAA2D;IAC3D,UAAU,CAAC,EAAE,UAAU,CAAA;IACvB,wDAAwD;IACxD,QAAQ,CAAC,EAAE,QAAQ,CAAA;IACnB,6BAA6B;IAC7B,gBAAgB,EAAE,UAAU,CAAA;IAC5B,gDAAgD;IAChD,gBAAgB,EAAE,CAChB,QAAQ,EAAE,gBAAgB,CAAC,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,EACvE,QAAQ,EAAE,gBAAgB,CAAC,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,EAAE,EACzE,aAAa,EAAE,UAAU,EACzB,aAAa,EAAE,UAAU,EAAE,KACxB,UAAU,GAAG,SAAS,GAAG,IAAI,CAAA;CACnC;AAED,MAAM,MAAM,2BAA2B,CACrC,OAAO,EACP,MAAM,SAAS,YAAY,CAAC,OAAO,CAAC,EACpC,SAAS,SAAS,YAAY,GAAG,QAAQ,EACzC,UAAU,GAAG,OAAO,EACpB,QAAQ,GAAG,YAAY,CACrB,gBAAgB,CAAC,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,EAC7D,UAAU,CACX,IACC,IAAI,CACN,+BAA+B,CAC7B,OAAO,EACP,MAAM,EACN,SAAS,EACT,UAAU,EACV,QAAQ,CACT,EACD,SAAS,CACV,CAAA;AAED,MAAM,MAAM,2BAA2B,CACrC,OAAO,EACP,MAAM,SAAS,YAAY,CAAC,OAAO,CAAC,EACpC,SAAS,SAAS,YAAY,GAAG,QAAQ,EACzC,UAAU,GAAG,OAAO,EACpB,QAAQ,GAAG,YAAY,CACrB,gBAAgB,CAAC,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,EAC7D,UAAU,CACX,IACC,sBAAsB,CACxB,QAAQ,EACR,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CAC7C,CAAA;AAED;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,qBAAqB,GAChC,OAAO,EACP,MAAM,SAAS,YAAY,CAAC,OAAO,CAAC,EACpC,SAAS,SAAS,YAAY,GAAG,QAAQ,EACzC,UAAU,GAAG,OAAO,EACpB,QAAQ,GAAG,YAAY,CACrB,gBAAgB,CAAC,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,EAC7D,UAAU,CACX,EACD,sEAOC,+BAA+B,CAChC,OAAO,EACP,MAAM,EACN,SAAS,EACT,UAAU,EACV,QAAQ,CACT,KAAG,2BAA2B,CAC7B,OAAO,EACP,MAAM,EACN,SAAS,EACT,UAAU,EACV,QAAQ,CAmET,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useActorInfiniteQuery.js","sourceRoot":"","sources":["../../src/hooks/useActorInfiniteQuery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAA;AAC5C,OAAO,EAEL,gBAAgB,GAIjB,MAAM,uBAAuB,CAAA;AAW9B,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"useActorInfiniteQuery.js","sourceRoot":"","sources":["../../src/hooks/useActorInfiniteQuery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAA;AAC5C,OAAO,EAEL,gBAAgB,GAIjB,MAAM,uBAAuB,CAAA;AAW9B,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAgFtE;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CASnC,EACA,OAAO,EACP,YAAY,EACZ,OAAO,EACP,UAAU,EACV,QAAQ,EACR,GAAG,OAAO,EAOX,EAMC,EAAE;IACF,yEAAyE;IACzE,6EAA6E;IAC7E,2EAA2E;IAC3E,MAAM,YAAY,GAAG,OAAO,CAC1B,GAAG,EAAE,CACH,OAAO,CAAC,gBAAgB,CACtB;QACE,YAAY;QACZ,mEAAmE;QACnE,sEAAsE;QACtE,iEAAiE;QACjE,4BAA4B;QAC5B,QAAQ,EAAE,oBAAoB,CAC5B,QAAQ,EACR,SAAS,EACT,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAClC;KACF,EACD,UAAU,CACX,EACH;QACE,QAAQ;QACR,OAAO;QACP,yEAAyE;QACzE,mEAAmE;QACnE,0EAA0E;QAC1E,+CAA+C;QAC/C,OAAO,CAAC,UAAU,EAAE,QAAQ,EAAE;QAC9B,YAAY;QACZ,UAAU;QACV,OAAO;QACP,OAAO,CAAC,gBAAgB;KACzB,CACF,CAAA;IAED,wDAAwD;IACxD,MAAM,OAAO,GAAG,WAAW,CACzB,KAAK,EAAE,EAAE,SAAS,EAA6B,EAAE,EAAE;QACjD,MAAM,IAAI,GAAG,OAAO,CAAC,SAAS,CAAC,CAAA;QAC/B,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC;YACtC,YAAY;YACZ,IAAI;YACJ,UAAU;SACX,CAAC,CAAA;QACF,OAAO,kBAAkB,CACvB,MAAqD,CACtD,CAAA;IACH,CAAC,EACD,CAAC,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,UAAU,CAAC,CAC7C,CAAA;IAED,OAAO,gBAAgB,CACrB;QACE,QAAQ,EAAE,YAAY;QACtB,OAAO;QACP,GAAG,OAAO;KACJ,EACR,OAAO,CAAC,WAAW,CAOpB,CAAA;AACH,CAAC,CAAA"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { UseMutationOptions, UseMutationResult, QueryKey } from "@tanstack/react-query";
|
|
2
2
|
import { Reactor, ReactorArgs, ReactorReturnOk, FunctionName, TransformKey, ReactorReturnErr, CanisterError, ErrResult, ActorMethodReturnType, TransformReturnRegistry } from "@ic-reactor/core";
|
|
3
3
|
import { CallConfig } from "@icp-sdk/core/agent";
|
|
4
|
-
export interface UseActorMutationParameters<Service, Method extends FunctionName<Service>, Transform extends TransformKey = "candid"> extends Omit<UseMutationOptions<ReactorReturnOk<Service, Method, Transform>, ReactorReturnErr<Service, Method, Transform>, ReactorArgs<Service, Method, Transform
|
|
4
|
+
export interface UseActorMutationParameters<Service, Method extends FunctionName<Service>, Transform extends TransformKey = "candid", TOnMutateResult = unknown> extends Omit<UseMutationOptions<ReactorReturnOk<Service, Method, Transform>, ReactorReturnErr<Service, Method, Transform>, ReactorArgs<Service, Method, Transform>, TOnMutateResult>, "mutationFn"> {
|
|
5
5
|
reactor: Reactor<Service, Transform>;
|
|
6
6
|
functionName: Method;
|
|
7
7
|
callConfig?: CallConfig;
|
|
@@ -18,10 +18,10 @@ export interface UseActorMutationParameters<Service, Method extends FunctionName
|
|
|
18
18
|
* Called when the canister returns a Result { Err: E } variant.
|
|
19
19
|
* Separate from `onError`, which fires for all errors including network failures.
|
|
20
20
|
*/
|
|
21
|
-
onCanisterError?: (error: CanisterError<TransformReturnRegistry<ErrResult<ActorMethodReturnType<Service[Method]
|
|
21
|
+
onCanisterError?: (error: CanisterError<TransformReturnRegistry<ErrResult<ActorMethodReturnType<Service[Method]>>, Service>[Transform]>, variables: ReactorArgs<Service, Method, Transform>) => void;
|
|
22
22
|
}
|
|
23
|
-
export type UseActorMutationConfig<Service, Method extends FunctionName<Service>, Transform extends TransformKey = "candid"> = Omit<UseActorMutationParameters<Service, Method, Transform>, "reactor">;
|
|
24
|
-
export type UseActorMutationResult<Service, Method extends FunctionName<Service>, Transform extends TransformKey = "candid"> = UseMutationResult<ReactorReturnOk<Service, Method, Transform>, ReactorReturnErr<Service, Method, Transform>, ReactorArgs<Service, Method, Transform
|
|
23
|
+
export type UseActorMutationConfig<Service, Method extends FunctionName<Service>, Transform extends TransformKey = "candid", TOnMutateResult = unknown> = Omit<UseActorMutationParameters<Service, Method, Transform, TOnMutateResult>, "reactor">;
|
|
24
|
+
export type UseActorMutationResult<Service, Method extends FunctionName<Service>, Transform extends TransformKey = "candid", TOnMutateResult = unknown> = UseMutationResult<ReactorReturnOk<Service, Method, Transform>, ReactorReturnErr<Service, Method, Transform>, ReactorArgs<Service, Method, Transform>, TOnMutateResult>;
|
|
25
25
|
/**
|
|
26
26
|
* Hook for executing mutation calls on a canister.
|
|
27
27
|
* Use this for component-level mutation flows.
|
|
@@ -44,5 +44,5 @@ export type UseActorMutationResult<Service, Method extends FunctionName<Service>
|
|
|
44
44
|
* // Non-React execution path
|
|
45
45
|
* await transferMutation.execute([{ to: "aaaaa-aa", amount: "100" }])
|
|
46
46
|
*/
|
|
47
|
-
export declare const useActorMutation: <Service, Method extends FunctionName<Service>, Transform extends TransformKey = "candid">({ reactor, functionName, invalidateQueries, onSuccess, onError, onCanisterError, callConfig, ...options }: UseActorMutationParameters<Service, Method, Transform>) => UseActorMutationResult<Service, Method, Transform>;
|
|
47
|
+
export declare const useActorMutation: <Service, Method extends FunctionName<Service>, Transform extends TransformKey = "candid", TOnMutateResult = unknown>({ reactor, functionName, invalidateQueries, onSuccess, onError, onCanisterError, callConfig, ...options }: UseActorMutationParameters<Service, Method, Transform, TOnMutateResult>) => UseActorMutationResult<Service, Method, Transform, TOnMutateResult>;
|
|
48
48
|
//# sourceMappingURL=useActorMutation.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useActorMutation.d.ts","sourceRoot":"","sources":["../../src/hooks/useActorMutation.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,kBAAkB,EAClB,iBAAiB,EACjB,QAAQ,EACT,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EACL,OAAO,EACP,WAAW,EACX,eAAe,EACf,YAAY,EACZ,YAAY,EACZ,gBAAgB,EAEhB,aAAa,EACb,SAAS,EACT,qBAAqB,EACrB,uBAAuB,EACxB,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAEhD,MAAM,WAAW,0BAA0B,CACzC,OAAO,EACP,MAAM,SAAS,YAAY,CAAC,OAAO,CAAC,EACpC,SAAS,SAAS,YAAY,GAAG,QAAQ,
|
|
1
|
+
{"version":3,"file":"useActorMutation.d.ts","sourceRoot":"","sources":["../../src/hooks/useActorMutation.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,kBAAkB,EAClB,iBAAiB,EACjB,QAAQ,EACT,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EACL,OAAO,EACP,WAAW,EACX,eAAe,EACf,YAAY,EACZ,YAAY,EACZ,gBAAgB,EAEhB,aAAa,EACb,SAAS,EACT,qBAAqB,EACrB,uBAAuB,EACxB,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAEhD,MAAM,WAAW,0BAA0B,CACzC,OAAO,EACP,MAAM,SAAS,YAAY,CAAC,OAAO,CAAC,EACpC,SAAS,SAAS,YAAY,GAAG,QAAQ,EACzC,eAAe,GAAG,OAAO,CACzB,SAAQ,IAAI,CACZ,kBAAkB,CAChB,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EAC3C,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EAC5C,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EACvC,eAAe,CAChB,EACD,YAAY,CACb;IACC,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,SAAS,CAAC,CAAA;IACpC,YAAY,EAAE,MAAM,CAAA;IACpB,UAAU,CAAC,EAAE,UAAU,CAAA;IACvB;;;;;;OAMG;IACH,iBAAiB,CAAC,EAAE,CAAC,QAAQ,GAAG,SAAS,CAAC,EAAE,CAAA;IAC5C;;;;OAIG;IACH,eAAe,CAAC,EAAE,CAChB,KAAK,EAAE,aAAa,CAClB,uBAAuB,CACrB,SAAS,CAAC,qBAAqB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EACjD,OAAO,CACR,CAAC,SAAS,CAAC,CACb,EACD,SAAS,EAAE,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,KAC/C,IAAI,CAAA;CACV;AAED,MAAM,MAAM,sBAAsB,CAChC,OAAO,EACP,MAAM,SAAS,YAAY,CAAC,OAAO,CAAC,EACpC,SAAS,SAAS,YAAY,GAAG,QAAQ,EACzC,eAAe,GAAG,OAAO,IACvB,IAAI,CACN,0BAA0B,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,eAAe,CAAC,EACvE,SAAS,CACV,CAAA;AAED,MAAM,MAAM,sBAAsB,CAChC,OAAO,EACP,MAAM,SAAS,YAAY,CAAC,OAAO,CAAC,EACpC,SAAS,SAAS,YAAY,GAAG,QAAQ,EACzC,eAAe,GAAG,OAAO,IACvB,iBAAiB,CACnB,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EAC3C,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EAC5C,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EACvC,eAAe,CAChB,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,gBAAgB,GAC3B,OAAO,EACP,MAAM,SAAS,YAAY,CAAC,OAAO,CAAC,EACpC,SAAS,SAAS,YAAY,GAAG,QAAQ,EACzC,eAAe,GAAG,OAAO,EACzB,2GASC,0BAA0B,CAC3B,OAAO,EACP,MAAM,EACN,SAAS,EACT,eAAe,CAChB,KAAG,sBAAsB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,eAAe,CA8ErE,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useActorMutation.js","sourceRoot":"","sources":["../../src/hooks/useActorMutation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAA;AACnC,OAAO,EACL,WAAW,GAIZ,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAOL,eAAe,GAKhB,MAAM,kBAAkB,CAAA;
|
|
1
|
+
{"version":3,"file":"useActorMutation.js","sourceRoot":"","sources":["../../src/hooks/useActorMutation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAA;AACnC,OAAO,EACL,WAAW,GAIZ,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAOL,eAAe,GAKhB,MAAM,kBAAkB,CAAA;AAkEzB;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAK9B,EACA,OAAO,EACP,YAAY,EACZ,iBAAiB,EACjB,SAAS,EACT,OAAO,EACP,eAAe,EACf,UAAU,EACV,GAAG,OAAO,EAMX,EAAuE,EAAE;IACxE,MAAM,UAAU,GAAG,WAAW,CAC5B,KAAK,EAAE,IAA6C,EAAE,EAAE,CACtD,OAAO,CAAC,UAAU,CAAC,EAAE,YAAY,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,EACxD,CAAC,OAAO,EAAE,YAAY,EAAE,UAAU,CAAC,CACpC,CAAA;IAED,MAAM,aAAa,GAAG,WAAW,CAC/B,KAAK,EACH,GAAG,MASF,EACD,EAAE;QACF,IAAI,iBAAiB,EAAE,CAAC;YACtB,sEAAsE;YACtE,mEAAmE;YACnE,kEAAkE;YAClE,wEAAwE;YACxE,uEAAuE;YACvE,+DAA+D;YAC/D,MAAM,OAAO,CAAC,GAAG,CACf,iBAAiB;iBACd,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,KAAK,SAAS,CAAC;iBAC5C,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAChB,OAAO,CAAC,WAAW,CAAC,iBAAiB,CAAC,EAAE,QAAQ,EAAE,CAAC,CACpD,CACJ,CAAA;QACH,CAAC;QACD,MAAM,SAAS,EAAE,CAAC,GAAG,MAAM,CAAC,CAAA;IAC9B,CAAC,EACD,CAAC,OAAO,EAAE,iBAAiB,EAAE,SAAS,CAAC,CACxC,CAAA;IAED,MAAM,WAAW,GAAG,WAAW,CAC7B,KAAK,EACH,KAAmD,EACnD,SAAkD,EAClD,OAAgB,EAChB,QAAiB,EACjB,EAAE;QACF,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;YAC3B,eAAe,EAAE,CAAC,KAAY,EAAE,SAAS,CAAC,CAAA;QAC5C,CAAC;QACD,uEAAuE;QACvE,yEAAyE;QACzE,+DAA+D;QAC/D,MAAM,OAAO,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,OAAc,EAAE,QAAe,CAAC,CAAA;IACpE,CAAC,EACD,CAAC,eAAe,EAAE,OAAO,CAAC,CAC3B,CAAA;IAED,6EAA6E;IAC7E,2EAA2E;IAC3E,+EAA+E;IAC/E,4EAA4E;IAC5E,yEAAyE;IACzE,4EAA4E;IAC5E,+BAA+B;IAC/B,EAAE;IACF,6EAA6E;IAC7E,8EAA8E;IAC9E,6BAA6B;IAC7B,OAAO,WAAW,CAChB;QACE,GAAG,OAAO;QACV,UAAU;QACV,SAAS,EAAE,aAAa;QACxB,OAAO,EAAE,WAAW;KACrB,EACD,OAAO,CAAC,WAAW,CACpB,CAAA;AACH,CAAC,CAAA"}
|
|
@@ -21,8 +21,8 @@ export interface UseActorSuspenseInfiniteQueryParameters<Service, Method extends
|
|
|
21
21
|
/** Function to determine next page parameter */
|
|
22
22
|
getNextPageParam: (lastPage: ReactorQueryData<ReactorReturnOk<Service, Method, Transform>>, allPages: ReactorQueryData<ReactorReturnOk<Service, Method, Transform>>[], lastPageParam: TPageParam, allPageParams: TPageParam[]) => TPageParam | undefined | null;
|
|
23
23
|
}
|
|
24
|
-
export type UseActorSuspenseInfiniteQueryConfig<Service, Method extends FunctionName<Service>, Transform extends TransformKey = "candid", TPageParam = unknown
|
|
25
|
-
export type UseActorSuspenseInfiniteQueryResult<Service, Method extends FunctionName<Service>, Transform extends TransformKey = "candid", TPageParam = unknown
|
|
24
|
+
export type UseActorSuspenseInfiniteQueryConfig<Service, Method extends FunctionName<Service>, Transform extends TransformKey = "candid", TPageParam = unknown, Selected = InfiniteData<ReactorQueryData<ReactorReturnOk<Service, Method, Transform>>, TPageParam>> = Omit<UseActorSuspenseInfiniteQueryParameters<Service, Method, Transform, TPageParam, Selected>, "reactor">;
|
|
25
|
+
export type UseActorSuspenseInfiniteQueryResult<Service, Method extends FunctionName<Service>, Transform extends TransformKey = "candid", TPageParam = unknown, Selected = InfiniteData<ReactorQueryData<ReactorReturnOk<Service, Method, Transform>>, TPageParam>> = UseSuspenseInfiniteQueryResult<Selected, ReactorReturnErr<Service, Method, Transform>>;
|
|
26
26
|
/**
|
|
27
27
|
* Hook for executing suspense-enabled infinite/paginated query calls on a canister.
|
|
28
28
|
*
|
|
@@ -35,5 +35,5 @@ export type UseActorSuspenseInfiniteQueryResult<Service, Method extends Function
|
|
|
35
35
|
* getNextPageParam: (lastPage) => lastPage.nextOffset,
|
|
36
36
|
* })
|
|
37
37
|
*/
|
|
38
|
-
export declare const useActorSuspenseInfiniteQuery: <Service, Method extends FunctionName<Service>, Transform extends TransformKey = "candid", TPageParam = unknown
|
|
38
|
+
export declare const useActorSuspenseInfiniteQuery: <Service, Method extends FunctionName<Service>, Transform extends TransformKey = "candid", TPageParam = unknown, Selected = InfiniteData<ReactorQueryData<ReactorReturnOk<Service, Method, Transform>>, TPageParam>>({ reactor, functionName, getArgs, callConfig, queryKey, ...options }: UseActorSuspenseInfiniteQueryParameters<Service, Method, Transform, TPageParam, Selected>) => UseActorSuspenseInfiniteQueryResult<Service, Method, Transform, TPageParam, Selected>;
|
|
39
39
|
//# sourceMappingURL=useActorSuspenseInfiniteQuery.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useActorSuspenseInfiniteQuery.d.ts","sourceRoot":"","sources":["../../src/hooks/useActorSuspenseInfiniteQuery.ts"],"names":[],"mappings":"AACA,OAAO,EACL,QAAQ,EAER,8BAA8B,EAC9B,+BAA+B,EAC/B,YAAY,EACb,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EACL,YAAY,EACZ,OAAO,EACP,YAAY,EACZ,WAAW,EACX,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EACjB,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAGhD;;;GAGG;AACH,MAAM,WAAW,uCAAuC,CACtD,OAAO,EACP,MAAM,SAAS,YAAY,CAAC,OAAO,CAAC,EACpC,SAAS,SAAS,YAAY,GAAG,QAAQ,EACzC,UAAU,GAAG,OAAO,EACpB,QAAQ,GAAG,YAAY,CACrB,gBAAgB,CAAC,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,EAC7D,UAAU,CACX,CACD,SAAQ,IAAI,CACZ,+BAA+B,CAC7B,gBAAgB,CAAC,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,EAC7D,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EAC5C,QAAQ,EACR,QAAQ,EACR,UAAU,CACX,EACD,UAAU,GAAG,SAAS,GAAG,kBAAkB,GAAG,kBAAkB,CACjE;IACC,mDAAmD;IACnD,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,SAAS,CAAC,CAAA;IACpC,8CAA8C;IAC9C,YAAY,EAAE,MAAM,CAAA;IACpB,+CAA+C;IAC/C,OAAO,EAAE,CAAC,SAAS,EAAE,UAAU,KAAK,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CAAA;IAC3E,2DAA2D;IAC3D,UAAU,CAAC,EAAE,UAAU,CAAA;IACvB,wDAAwD;IACxD,QAAQ,CAAC,EAAE,QAAQ,CAAA;IACnB,6BAA6B;IAC7B,gBAAgB,EAAE,UAAU,CAAA;IAC5B,gDAAgD;IAChD,gBAAgB,EAAE,CAChB,QAAQ,EAAE,gBAAgB,CAAC,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,EACvE,QAAQ,EAAE,gBAAgB,CAAC,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,EAAE,EACzE,aAAa,EAAE,UAAU,EACzB,aAAa,EAAE,UAAU,EAAE,KACxB,UAAU,GAAG,SAAS,GAAG,IAAI,CAAA;CACnC;AAED,MAAM,MAAM,mCAAmC,CAC7C,OAAO,EACP,MAAM,SAAS,YAAY,CAAC,OAAO,CAAC,EACpC,SAAS,SAAS,YAAY,GAAG,QAAQ,EACzC,UAAU,GAAG,OAAO,
|
|
1
|
+
{"version":3,"file":"useActorSuspenseInfiniteQuery.d.ts","sourceRoot":"","sources":["../../src/hooks/useActorSuspenseInfiniteQuery.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useActorSuspenseInfiniteQuery.js","sourceRoot":"","sources":["../../src/hooks/useActorSuspenseInfiniteQuery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAA;AAC5C,OAAO,EAEL,wBAAwB,GAIzB,MAAM,uBAAuB,CAAA;AAW9B,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"useActorSuspenseInfiniteQuery.js","sourceRoot":"","sources":["../../src/hooks/useActorSuspenseInfiniteQuery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAA;AAC5C,OAAO,EAEL,wBAAwB,GAIzB,MAAM,uBAAuB,CAAA;AAW9B,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAgFtE;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAS3C,EACA,OAAO,EACP,YAAY,EACZ,OAAO,EACP,UAAU,EACV,QAAQ,EACR,GAAG,OAAO,EAOX,EAMC,EAAE;IACF,yEAAyE;IACzE,6EAA6E;IAC7E,2EAA2E;IAC3E,MAAM,YAAY,GAAG,OAAO,CAC1B,GAAG,EAAE,CACH,OAAO,CAAC,gBAAgB,CACtB;QACE,YAAY;QACZ,mEAAmE;QACnE,sEAAsE;QACtE,iEAAiE;QACjE,4BAA4B;QAC5B,QAAQ,EAAE,oBAAoB,CAC5B,QAAQ,EACR,SAAS,EACT,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAClC;KACF,EACD,UAAU,CACX,EACH;QACE,QAAQ;QACR,OAAO;QACP,yEAAyE;QACzE,mEAAmE;QACnE,0EAA0E;QAC1E,+CAA+C;QAC/C,OAAO,CAAC,UAAU,EAAE,QAAQ,EAAE;QAC9B,YAAY;QACZ,UAAU;QACV,OAAO;QACP,OAAO,CAAC,gBAAgB;KACzB,CACF,CAAA;IAED,wDAAwD;IACxD,MAAM,OAAO,GAAG,WAAW,CACzB,KAAK,EAAE,EAAE,SAAS,EAA6B,EAAE,EAAE;QACjD,MAAM,IAAI,GAAG,OAAO,CAAC,SAAS,CAAC,CAAA;QAC/B,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC;YACtC,YAAY;YACZ,IAAI;YACJ,UAAU;SACX,CAAC,CAAA;QACF,OAAO,kBAAkB,CACvB,MAAqD,CACtD,CAAA;IACH,CAAC,EACD,CAAC,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,UAAU,CAAC,CAC7C,CAAA;IAED,OAAO,wBAAwB,CAC7B;QACE,QAAQ,EAAE,YAAY;QACtB,OAAO;QACP,GAAG,OAAO;KACJ,EACR,OAAO,CAAC,WAAW,CAOpB,CAAA;AACH,CAAC,CAAA"}
|
package/dist/types.d.ts
CHANGED
|
@@ -176,8 +176,11 @@ export interface SuspenseQueryResult<TQueryFnData, TSelected = TQueryFnData, TEr
|
|
|
176
176
|
}
|
|
177
177
|
/**
|
|
178
178
|
* Configuration for createMutation and useActorMutation.
|
|
179
|
+
*
|
|
180
|
+
* @template TOnMutateResult - The value `onMutate` returns, which `onSuccess`,
|
|
181
|
+
* `onError` and `onSettled` receive. TypeScript infers it from `onMutate`.
|
|
179
182
|
*/
|
|
180
|
-
export interface MutationConfig<Service = BaseActor, Method extends FunctionName<Service> = FunctionName<Service>, Transform extends TransformKey = "candid"> extends Omit<UseMutationOptions<ReactorReturnOk<Service, Method, Transform>, ReactorReturnErr<Service, Method, Transform>, ReactorArgs<Service, Method, Transform
|
|
183
|
+
export interface MutationConfig<Service = BaseActor, Method extends FunctionName<Service> = FunctionName<Service>, Transform extends TransformKey = "candid", TOnMutateResult = unknown> extends Omit<UseMutationOptions<ReactorReturnOk<Service, Method, Transform>, ReactorReturnErr<Service, Method, Transform>, ReactorArgs<Service, Method, Transform>, TOnMutateResult>, "mutationFn"> {
|
|
181
184
|
/** The method to call on the canister */
|
|
182
185
|
functionName: Method;
|
|
183
186
|
/** Call configuration for the actor method */
|
|
@@ -212,17 +215,20 @@ export interface MutationConfig<Service = BaseActor, Method extends FunctionName
|
|
|
212
215
|
* })
|
|
213
216
|
* ```
|
|
214
217
|
*/
|
|
215
|
-
onCanisterError?: (error: CanisterError<
|
|
218
|
+
onCanisterError?: (error: CanisterError<TransformReturnRegistry<ErrResult<ActorMethodReturnType<Service[Method]>>, Service>[Transform]>, variables: ReactorArgs<Service, Method, Transform>) => void;
|
|
216
219
|
}
|
|
217
220
|
/**
|
|
218
221
|
* Configuration for createMutationFactory.
|
|
219
222
|
*/
|
|
220
|
-
export type MutationFactoryConfig<Service = BaseActor, Method extends FunctionName<Service> = FunctionName<Service>, Transform extends TransformKey = "candid"> = Omit<MutationConfig<Service, Method, Transform>, "onSuccess">;
|
|
223
|
+
export type MutationFactoryConfig<Service = BaseActor, Method extends FunctionName<Service> = FunctionName<Service>, Transform extends TransformKey = "candid", TOnMutateResult = unknown> = Omit<MutationConfig<Service, Method, Transform, TOnMutateResult>, "onSuccess">;
|
|
221
224
|
/**
|
|
222
225
|
* Options for useMutation hook.
|
|
223
226
|
* Extends React Query's UseMutationOptions with invalidateQueries support.
|
|
227
|
+
*
|
|
228
|
+
* @template TOnMutateResult - The value `onMutate` returns, which `onSuccess`,
|
|
229
|
+
* `onError` and `onSettled` receive. TypeScript infers it from `onMutate`.
|
|
224
230
|
*/
|
|
225
|
-
export interface MutationHookOptions<Service = BaseActor, Method extends FunctionName<Service> = FunctionName<Service>, Transform extends TransformKey = "candid"> extends Omit<UseMutationOptions<ReactorReturnOk<Service, Method, Transform>, ReactorReturnErr<Service, Method, Transform>, ReactorArgs<Service, Method, Transform
|
|
231
|
+
export interface MutationHookOptions<Service = BaseActor, Method extends FunctionName<Service> = FunctionName<Service>, Transform extends TransformKey = "candid", TOnMutateResult = unknown> extends Omit<UseMutationOptions<ReactorReturnOk<Service, Method, Transform>, ReactorReturnErr<Service, Method, Transform>, ReactorArgs<Service, Method, Transform>, TOnMutateResult>, "mutationFn"> {
|
|
226
232
|
/**
|
|
227
233
|
* Query keys to invalidate upon successful mutation.
|
|
228
234
|
* Use query.getQueryKey() to get the key from a query result.
|
|
@@ -241,7 +247,7 @@ export interface MutationHookOptions<Service = BaseActor, Method extends Functio
|
|
|
241
247
|
* @param error - The CanisterError containing the typed error value
|
|
242
248
|
* @param variables - The arguments passed to the mutation
|
|
243
249
|
*/
|
|
244
|
-
onCanisterError?: (error: CanisterError<TransformReturnRegistry<ErrResult<ActorMethodReturnType<Service[Method]
|
|
250
|
+
onCanisterError?: (error: CanisterError<TransformReturnRegistry<ErrResult<ActorMethodReturnType<Service[Method]>>, Service>[Transform]>, variables: ReactorArgs<Service, Method, Transform>) => void;
|
|
245
251
|
}
|
|
246
252
|
/**
|
|
247
253
|
* Result from createMutation.
|
|
@@ -257,7 +263,7 @@ export interface MutationResult<Service = BaseActor, Method extends FunctionName
|
|
|
257
263
|
* invalidateQueries: [userBalanceQuery], // Auto-invalidate after success!
|
|
258
264
|
* })
|
|
259
265
|
*/
|
|
260
|
-
useMutation: (options?: MutationHookOptions<Service, Method, Transform>) => UseMutationResult<ReactorReturnOk<Service, Method, Transform>, ReactorReturnErr<Service, Method, Transform>, ReactorArgs<Service, Method, Transform
|
|
266
|
+
useMutation: <TOnMutateResult = unknown>(options?: MutationHookOptions<Service, Method, Transform, TOnMutateResult>) => UseMutationResult<ReactorReturnOk<Service, Method, Transform>, ReactorReturnErr<Service, Method, Transform>, ReactorArgs<Service, Method, Transform>, TOnMutateResult>;
|
|
261
267
|
/** Execute the update call directly (outside of React) */
|
|
262
268
|
execute: (args: ReactorArgs<Service, Method, Transform>) => Promise<ReactorReturnOk<Service, Method, Transform>>;
|
|
263
269
|
}
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ic-reactor/react",
|
|
3
|
-
"version": "3.12.
|
|
3
|
+
"version": "3.12.5",
|
|
4
4
|
"description": "IC Reactor React library for building Internet Computer apps",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"module": "dist/index.js",
|
|
@@ -53,7 +53,7 @@
|
|
|
53
53
|
"author": "Behrad Deylami",
|
|
54
54
|
"license": "MIT",
|
|
55
55
|
"dependencies": {
|
|
56
|
-
"@ic-reactor/core": "^3.12.
|
|
56
|
+
"@ic-reactor/core": "^3.12.5"
|
|
57
57
|
},
|
|
58
58
|
"peerDependencies": {
|
|
59
59
|
"@icp-sdk/auth": "^8.0.0",
|
package/src/createActorHooks.ts
CHANGED
|
@@ -103,40 +103,60 @@ export type ActorHooks<Service, Transform extends TransformKey> = {
|
|
|
103
103
|
>
|
|
104
104
|
}
|
|
105
105
|
|
|
106
|
+
// `Selected` is what `select` returns, so `select` can reshape the pages the
|
|
107
|
+
// way `createInfiniteQuery` allows. Without `select` it stays `InfiniteData`.
|
|
106
108
|
useActorInfiniteQuery: <
|
|
107
109
|
Method extends FunctionName<Service>,
|
|
108
110
|
TPageParam = unknown,
|
|
109
|
-
|
|
110
|
-
config: InfiniteQueryConfig<Service, Method, Transform, TPageParam>
|
|
111
|
-
) => UseInfiniteQueryResult<
|
|
112
|
-
InfiniteData<
|
|
111
|
+
Selected = InfiniteData<
|
|
113
112
|
ReactorQueryData<ReactorReturnOk<Service, Method, Transform>>,
|
|
114
113
|
TPageParam
|
|
115
114
|
>,
|
|
115
|
+
>(
|
|
116
|
+
config: InfiniteQueryConfig<
|
|
117
|
+
Service,
|
|
118
|
+
Method,
|
|
119
|
+
Transform,
|
|
120
|
+
TPageParam,
|
|
121
|
+
Selected
|
|
122
|
+
>
|
|
123
|
+
) => UseInfiniteQueryResult<
|
|
124
|
+
Selected,
|
|
116
125
|
ReactorReturnErr<Service, Method, Transform>
|
|
117
126
|
>
|
|
118
127
|
|
|
119
128
|
useActorSuspenseInfiniteQuery: <
|
|
120
129
|
Method extends FunctionName<Service>,
|
|
121
130
|
TPageParam = unknown,
|
|
122
|
-
|
|
123
|
-
config: SuspenseInfiniteQueryConfig<Service, Method, Transform, TPageParam>
|
|
124
|
-
) => UseSuspenseInfiniteQueryResult<
|
|
125
|
-
InfiniteData<
|
|
131
|
+
Selected = InfiniteData<
|
|
126
132
|
ReactorQueryData<ReactorReturnOk<Service, Method, Transform>>,
|
|
127
133
|
TPageParam
|
|
128
134
|
>,
|
|
135
|
+
>(
|
|
136
|
+
config: SuspenseInfiniteQueryConfig<
|
|
137
|
+
Service,
|
|
138
|
+
Method,
|
|
139
|
+
Transform,
|
|
140
|
+
TPageParam,
|
|
141
|
+
Selected
|
|
142
|
+
>
|
|
143
|
+
) => UseSuspenseInfiniteQueryResult<
|
|
144
|
+
Selected,
|
|
129
145
|
ReactorReturnErr<Service, Method, Transform>
|
|
130
146
|
>
|
|
131
147
|
|
|
132
|
-
useActorMutation: <
|
|
133
|
-
|
|
148
|
+
useActorMutation: <
|
|
149
|
+
Method extends FunctionName<Service>,
|
|
150
|
+
TOnMutateResult = unknown,
|
|
151
|
+
>(
|
|
152
|
+
config: MutationConfig<Service, Method, Transform, TOnMutateResult>
|
|
134
153
|
) => UseMutationResult<
|
|
135
154
|
ReactorReturnOk<Service, Method, Transform>,
|
|
136
155
|
ReactorReturnErr<Service, Method, Transform>,
|
|
137
156
|
// Without this TVariables defaults to `unknown` and mutate/mutateAsync
|
|
138
157
|
// accept anything; the standalone hook and createMutation both pass it.
|
|
139
|
-
ReactorArgs<Service, Method, Transform
|
|
158
|
+
ReactorArgs<Service, Method, Transform>,
|
|
159
|
+
TOnMutateResult
|
|
140
160
|
>
|
|
141
161
|
|
|
142
162
|
useActorMethod: <Method extends FunctionName<Service>>(
|
package/src/createMutation.ts
CHANGED
|
@@ -35,6 +35,7 @@ import type {
|
|
|
35
35
|
ReactorArgs,
|
|
36
36
|
TransformKey,
|
|
37
37
|
ReactorReturnOk,
|
|
38
|
+
ReactorReturnErr,
|
|
38
39
|
} from "@ic-reactor/core"
|
|
39
40
|
import { isCanisterError } from "@ic-reactor/core"
|
|
40
41
|
import type {
|
|
@@ -68,9 +69,15 @@ const createMutationImpl = <
|
|
|
68
69
|
Service,
|
|
69
70
|
Method extends FunctionName<Service> = FunctionName<Service>,
|
|
70
71
|
Transform extends TransformKey = "candid",
|
|
72
|
+
TOnMutateResult = unknown,
|
|
71
73
|
>(
|
|
72
74
|
reactor: Reactor<Service, Transform>,
|
|
73
|
-
config: MutationConfig<
|
|
75
|
+
config: MutationConfig<
|
|
76
|
+
Service,
|
|
77
|
+
Method,
|
|
78
|
+
Transform,
|
|
79
|
+
TOnMutateResult | undefined
|
|
80
|
+
>
|
|
74
81
|
): MutationResult<Service, Method, Transform> => {
|
|
75
82
|
const {
|
|
76
83
|
functionName,
|
|
@@ -94,6 +101,34 @@ const createMutationImpl = <
|
|
|
94
101
|
): Promise<ReactorReturnOk<Service, Method, Transform>> =>
|
|
95
102
|
reactor.callMethod({ functionName, args, callConfig })
|
|
96
103
|
|
|
104
|
+
/**
|
|
105
|
+
* The factory's own `onMutate` result for each call through the hook.
|
|
106
|
+
*
|
|
107
|
+
* TanStack Query stores one `onMutate` result per mutation and hands it to
|
|
108
|
+
* every callback. That slot holds the hook's result, which the mutation also
|
|
109
|
+
* exposes as `context`, so this map holds the factory's. Each key is the
|
|
110
|
+
* context object TanStack Query creates for a call and passes to every
|
|
111
|
+
* callback of that call.
|
|
112
|
+
*/
|
|
113
|
+
const factoryOnMutateResults = new WeakMap<
|
|
114
|
+
MutationFunctionContext,
|
|
115
|
+
TOnMutateResult | undefined
|
|
116
|
+
>()
|
|
117
|
+
|
|
118
|
+
/**
|
|
119
|
+
* The `onMutate` result a factory callback receives. A factory without its
|
|
120
|
+
* own `onMutate` gets the hook's, as it always has. TanStack Query before
|
|
121
|
+
* 5.89 passes no context, so there a factory callback gets the hook's result
|
|
122
|
+
* too.
|
|
123
|
+
*/
|
|
124
|
+
const factoryOnMutateResult = (
|
|
125
|
+
onMutateResult: unknown,
|
|
126
|
+
context: MutationFunctionContext | undefined
|
|
127
|
+
) =>
|
|
128
|
+
(factoryOnMutate && context
|
|
129
|
+
? factoryOnMutateResults.get(context)
|
|
130
|
+
: onMutateResult) as TOnMutateResult | undefined
|
|
131
|
+
|
|
97
132
|
/**
|
|
98
133
|
* Imperative execution for non-React usage.
|
|
99
134
|
*
|
|
@@ -137,7 +172,12 @@ const createMutationImpl = <
|
|
|
137
172
|
result = await callFn(args)
|
|
138
173
|
} catch (error) {
|
|
139
174
|
if (isCanisterError(error)) {
|
|
140
|
-
|
|
175
|
+
// `catch` drops the type. `callMethod` rejects with this method's
|
|
176
|
+
// CanisterError, the one the hook path narrows to.
|
|
177
|
+
factoryOnCanisterError?.(
|
|
178
|
+
error as Parameters<NonNullable<typeof factoryOnCanisterError>>[0],
|
|
179
|
+
args
|
|
180
|
+
)
|
|
141
181
|
}
|
|
142
182
|
// `onMutate` does not run on this path, so there is no result to pass.
|
|
143
183
|
// Awaited like `onSuccess` below and like the hook path, so an async
|
|
@@ -159,8 +199,13 @@ const createMutationImpl = <
|
|
|
159
199
|
}
|
|
160
200
|
|
|
161
201
|
// Hook implementation
|
|
162
|
-
const useMutationHook = (
|
|
163
|
-
options?: MutationHookOptions<
|
|
202
|
+
const useMutationHook = <THookOnMutateResult = unknown>(
|
|
203
|
+
options?: MutationHookOptions<
|
|
204
|
+
Service,
|
|
205
|
+
Method,
|
|
206
|
+
Transform,
|
|
207
|
+
THookOnMutateResult
|
|
208
|
+
>
|
|
164
209
|
) => {
|
|
165
210
|
const baseOptions = reactor.getQueryOptions({ functionName })
|
|
166
211
|
const {
|
|
@@ -169,7 +214,12 @@ const createMutationImpl = <
|
|
|
169
214
|
...restOptions
|
|
170
215
|
} = options ?? {}
|
|
171
216
|
|
|
172
|
-
return useMutation
|
|
217
|
+
return useMutation<
|
|
218
|
+
ReactorReturnOk<Service, Method, Transform>,
|
|
219
|
+
ReactorReturnErr<Service, Method, Transform>,
|
|
220
|
+
ReactorArgs<Service, Method, Transform>,
|
|
221
|
+
THookOnMutateResult
|
|
222
|
+
>(
|
|
173
223
|
{
|
|
174
224
|
mutationKey: baseOptions.queryKey,
|
|
175
225
|
...factoryOptions,
|
|
@@ -177,7 +227,7 @@ const createMutationImpl = <
|
|
|
177
227
|
// Use callFn (not execute) to avoid double-invalidation:
|
|
178
228
|
// factoryInvalidateQueries are handled in onSuccess below.
|
|
179
229
|
mutationFn: callFn,
|
|
180
|
-
onSuccess: async (
|
|
230
|
+
onSuccess: async (data, variables, onMutateResult, context) => {
|
|
181
231
|
// 1. Factory-level invalidation
|
|
182
232
|
if (factoryInvalidateQueries) {
|
|
183
233
|
await invalidateAll(reactor.queryClient, factoryInvalidateQueries)
|
|
@@ -187,11 +237,21 @@ const createMutationImpl = <
|
|
|
187
237
|
await invalidateAll(reactor.queryClient, hookInvalidateQueries)
|
|
188
238
|
}
|
|
189
239
|
// 3. Factory onSuccess
|
|
190
|
-
await factoryOnSuccess?.(
|
|
240
|
+
await factoryOnSuccess?.(
|
|
241
|
+
data,
|
|
242
|
+
variables,
|
|
243
|
+
factoryOnMutateResult(onMutateResult, context),
|
|
244
|
+
context
|
|
245
|
+
)
|
|
191
246
|
// 4. Hook onSuccess
|
|
192
|
-
await restOptions.onSuccess?.(
|
|
247
|
+
await restOptions.onSuccess?.(
|
|
248
|
+
data,
|
|
249
|
+
variables,
|
|
250
|
+
onMutateResult,
|
|
251
|
+
context
|
|
252
|
+
)
|
|
193
253
|
},
|
|
194
|
-
onError: async (error, variables,
|
|
254
|
+
onError: async (error, variables, onMutateResult, context) => {
|
|
195
255
|
if (isCanisterError(error)) {
|
|
196
256
|
factoryOnCanisterError?.(error, variables)
|
|
197
257
|
hookOnCanisterError?.(error, variables)
|
|
@@ -199,8 +259,13 @@ const createMutationImpl = <
|
|
|
199
259
|
// Awaited in order, like `onSuccess`. TanStack Query holds
|
|
200
260
|
// `onSettled` and the settled state until this promise resolves, so
|
|
201
261
|
// an async `onError` must be part of it.
|
|
202
|
-
await factoryOnError?.(
|
|
203
|
-
|
|
262
|
+
await factoryOnError?.(
|
|
263
|
+
error,
|
|
264
|
+
variables,
|
|
265
|
+
factoryOnMutateResult(onMutateResult, context),
|
|
266
|
+
context
|
|
267
|
+
)
|
|
268
|
+
await restOptions.onError?.(error, variables, onMutateResult, context)
|
|
204
269
|
},
|
|
205
270
|
// `onMutate` and `onSettled` are composed like `onSuccess`/`onError`
|
|
206
271
|
// above. They used to arrive through the `...restOptions` spread, so a
|
|
@@ -208,13 +273,33 @@ const createMutationImpl = <
|
|
|
208
273
|
// telemetry or logging simply vanished the moment any call site passed
|
|
209
274
|
// its own, with no warning and no type error. Chaining is what a
|
|
210
275
|
// reader who has seen `onSuccess` chain already expects.
|
|
211
|
-
onMutate: async (
|
|
212
|
-
|
|
213
|
-
|
|
276
|
+
onMutate: async (variables, context) => {
|
|
277
|
+
if (factoryOnMutate) {
|
|
278
|
+
const result = await factoryOnMutate(variables, context)
|
|
279
|
+
if (context) factoryOnMutateResults.set(context, result)
|
|
280
|
+
}
|
|
281
|
+
// Without a hook-level `onMutate` this is `undefined`, and
|
|
282
|
+
// THookOnMutateResult is then `unknown`.
|
|
283
|
+
return (await restOptions.onMutate?.(
|
|
284
|
+
variables,
|
|
285
|
+
context
|
|
286
|
+
)) as THookOnMutateResult
|
|
214
287
|
},
|
|
215
|
-
onSettled: async (
|
|
216
|
-
await factoryOnSettled?.(
|
|
217
|
-
|
|
288
|
+
onSettled: async (data, error, variables, onMutateResult, context) => {
|
|
289
|
+
await factoryOnSettled?.(
|
|
290
|
+
data,
|
|
291
|
+
error,
|
|
292
|
+
variables,
|
|
293
|
+
factoryOnMutateResult(onMutateResult, context),
|
|
294
|
+
context
|
|
295
|
+
)
|
|
296
|
+
await restOptions.onSettled?.(
|
|
297
|
+
data,
|
|
298
|
+
error,
|
|
299
|
+
variables,
|
|
300
|
+
onMutateResult,
|
|
301
|
+
context
|
|
302
|
+
)
|
|
218
303
|
},
|
|
219
304
|
},
|
|
220
305
|
reactor.queryClient
|
|
@@ -232,12 +317,25 @@ export function createMutation<
|
|
|
232
317
|
Service,
|
|
233
318
|
Transform extends TransformKey,
|
|
234
319
|
Method extends FunctionName<Service> = FunctionName<Service>,
|
|
320
|
+
TOnMutateResult = unknown,
|
|
235
321
|
>(
|
|
236
322
|
reactor: Reactor<Service, Transform>,
|
|
237
|
-
|
|
323
|
+
// `execute()` runs the factory's `onSuccess` and `onError` without running
|
|
324
|
+
// its `onMutate`, so their `onMutate` result can also be `undefined`.
|
|
325
|
+
config: MutationConfig<
|
|
326
|
+
NoInfer<Service>,
|
|
327
|
+
Method,
|
|
328
|
+
Transform,
|
|
329
|
+
TOnMutateResult | undefined
|
|
330
|
+
>
|
|
238
331
|
): MutationResult<Service, Method, Transform> {
|
|
239
332
|
return createMutationImpl(
|
|
240
333
|
reactor,
|
|
241
|
-
config as MutationConfig<
|
|
334
|
+
config as MutationConfig<
|
|
335
|
+
Service,
|
|
336
|
+
Method,
|
|
337
|
+
Transform,
|
|
338
|
+
TOnMutateResult | undefined
|
|
339
|
+
>
|
|
242
340
|
)
|
|
243
341
|
}
|
|
@@ -57,8 +57,8 @@ function usePrincipal(
|
|
|
57
57
|
* const { login, logout, principal, isAuthenticated } = useAuth()
|
|
58
58
|
*
|
|
59
59
|
* return isAuthenticated
|
|
60
|
-
* ? <button onClick={logout}>Logout {principal?.toText()}</button>
|
|
61
|
-
* : <button onClick={login}>Login with II</button>
|
|
60
|
+
* ? <button onClick={() => logout()}>Logout {principal?.toText()}</button>
|
|
61
|
+
* : <button onClick={() => login()}>Login with II</button>
|
|
62
62
|
* }
|
|
63
63
|
*/
|
|
64
64
|
export const createAuthHooks = (
|
|
@@ -116,10 +116,10 @@ export const createAuthHooks = (
|
|
|
116
116
|
* const { login, logout, isAuthenticated, isAuthenticating } = useAuth()
|
|
117
117
|
*
|
|
118
118
|
* if (isAuthenticated) {
|
|
119
|
-
* return <button onClick={logout}>Logout</button>
|
|
119
|
+
* return <button onClick={() => logout()}>Logout</button>
|
|
120
120
|
* }
|
|
121
121
|
* return (
|
|
122
|
-
* <button onClick={login} disabled={isAuthenticating}>
|
|
122
|
+
* <button onClick={() => login()} disabled={isAuthenticating}>
|
|
123
123
|
* {isAuthenticating ? "Connecting..." : "Login"}
|
|
124
124
|
* </button>
|
|
125
125
|
* )
|
|
@@ -67,8 +67,18 @@ export type UseActorInfiniteQueryConfig<
|
|
|
67
67
|
Method extends FunctionName<Service>,
|
|
68
68
|
Transform extends TransformKey = "candid",
|
|
69
69
|
TPageParam = unknown,
|
|
70
|
+
Selected = InfiniteData<
|
|
71
|
+
ReactorQueryData<ReactorReturnOk<Service, Method, Transform>>,
|
|
72
|
+
TPageParam
|
|
73
|
+
>,
|
|
70
74
|
> = Omit<
|
|
71
|
-
UseActorInfiniteQueryParameters<
|
|
75
|
+
UseActorInfiniteQueryParameters<
|
|
76
|
+
Service,
|
|
77
|
+
Method,
|
|
78
|
+
Transform,
|
|
79
|
+
TPageParam,
|
|
80
|
+
Selected
|
|
81
|
+
>,
|
|
72
82
|
"reactor"
|
|
73
83
|
>
|
|
74
84
|
|
|
@@ -77,11 +87,12 @@ export type UseActorInfiniteQueryResult<
|
|
|
77
87
|
Method extends FunctionName<Service>,
|
|
78
88
|
Transform extends TransformKey = "candid",
|
|
79
89
|
TPageParam = unknown,
|
|
80
|
-
|
|
81
|
-
InfiniteData<
|
|
90
|
+
Selected = InfiniteData<
|
|
82
91
|
ReactorQueryData<ReactorReturnOk<Service, Method, Transform>>,
|
|
83
92
|
TPageParam
|
|
84
93
|
>,
|
|
94
|
+
> = UseInfiniteQueryResult<
|
|
95
|
+
Selected,
|
|
85
96
|
ReactorReturnErr<Service, Method, Transform>
|
|
86
97
|
>
|
|
87
98
|
|
|
@@ -102,6 +113,10 @@ export const useActorInfiniteQuery = <
|
|
|
102
113
|
Method extends FunctionName<Service>,
|
|
103
114
|
Transform extends TransformKey = "candid",
|
|
104
115
|
TPageParam = unknown,
|
|
116
|
+
Selected = InfiniteData<
|
|
117
|
+
ReactorQueryData<ReactorReturnOk<Service, Method, Transform>>,
|
|
118
|
+
TPageParam
|
|
119
|
+
>,
|
|
105
120
|
>({
|
|
106
121
|
reactor,
|
|
107
122
|
functionName,
|
|
@@ -113,8 +128,15 @@ export const useActorInfiniteQuery = <
|
|
|
113
128
|
Service,
|
|
114
129
|
Method,
|
|
115
130
|
Transform,
|
|
116
|
-
TPageParam
|
|
117
|
-
|
|
131
|
+
TPageParam,
|
|
132
|
+
Selected
|
|
133
|
+
>): UseActorInfiniteQueryResult<
|
|
134
|
+
Service,
|
|
135
|
+
Method,
|
|
136
|
+
Transform,
|
|
137
|
+
TPageParam,
|
|
138
|
+
Selected
|
|
139
|
+
> => {
|
|
118
140
|
// Always pass queryKey through generateQueryKey so it is merged with the
|
|
119
141
|
// reactor/function identity. Using the custom key verbatim would cause cache
|
|
120
142
|
// collisions if two different actors or methods share the same key string.
|
|
@@ -173,5 +195,11 @@ export const useActorInfiniteQuery = <
|
|
|
173
195
|
...options,
|
|
174
196
|
} as any,
|
|
175
197
|
reactor.queryClient
|
|
176
|
-
) as UseActorInfiniteQueryResult<
|
|
198
|
+
) as UseActorInfiniteQueryResult<
|
|
199
|
+
Service,
|
|
200
|
+
Method,
|
|
201
|
+
Transform,
|
|
202
|
+
TPageParam,
|
|
203
|
+
Selected
|
|
204
|
+
>
|
|
177
205
|
}
|
|
@@ -24,11 +24,13 @@ export interface UseActorMutationParameters<
|
|
|
24
24
|
Service,
|
|
25
25
|
Method extends FunctionName<Service>,
|
|
26
26
|
Transform extends TransformKey = "candid",
|
|
27
|
+
TOnMutateResult = unknown,
|
|
27
28
|
> extends Omit<
|
|
28
29
|
UseMutationOptions<
|
|
29
30
|
ReactorReturnOk<Service, Method, Transform>,
|
|
30
31
|
ReactorReturnErr<Service, Method, Transform>,
|
|
31
|
-
ReactorArgs<Service, Method, Transform
|
|
32
|
+
ReactorArgs<Service, Method, Transform>,
|
|
33
|
+
TOnMutateResult
|
|
32
34
|
>,
|
|
33
35
|
"mutationFn"
|
|
34
36
|
> {
|
|
@@ -51,7 +53,8 @@ export interface UseActorMutationParameters<
|
|
|
51
53
|
onCanisterError?: (
|
|
52
54
|
error: CanisterError<
|
|
53
55
|
TransformReturnRegistry<
|
|
54
|
-
ErrResult<ActorMethodReturnType<Service[Method]
|
|
56
|
+
ErrResult<ActorMethodReturnType<Service[Method]>>,
|
|
57
|
+
Service
|
|
55
58
|
>[Transform]
|
|
56
59
|
>,
|
|
57
60
|
variables: ReactorArgs<Service, Method, Transform>
|
|
@@ -62,16 +65,22 @@ export type UseActorMutationConfig<
|
|
|
62
65
|
Service,
|
|
63
66
|
Method extends FunctionName<Service>,
|
|
64
67
|
Transform extends TransformKey = "candid",
|
|
65
|
-
|
|
68
|
+
TOnMutateResult = unknown,
|
|
69
|
+
> = Omit<
|
|
70
|
+
UseActorMutationParameters<Service, Method, Transform, TOnMutateResult>,
|
|
71
|
+
"reactor"
|
|
72
|
+
>
|
|
66
73
|
|
|
67
74
|
export type UseActorMutationResult<
|
|
68
75
|
Service,
|
|
69
76
|
Method extends FunctionName<Service>,
|
|
70
77
|
Transform extends TransformKey = "candid",
|
|
78
|
+
TOnMutateResult = unknown,
|
|
71
79
|
> = UseMutationResult<
|
|
72
80
|
ReactorReturnOk<Service, Method, Transform>,
|
|
73
81
|
ReactorReturnErr<Service, Method, Transform>,
|
|
74
|
-
ReactorArgs<Service, Method, Transform
|
|
82
|
+
ReactorArgs<Service, Method, Transform>,
|
|
83
|
+
TOnMutateResult
|
|
75
84
|
>
|
|
76
85
|
|
|
77
86
|
/**
|
|
@@ -100,6 +109,7 @@ export const useActorMutation = <
|
|
|
100
109
|
Service,
|
|
101
110
|
Method extends FunctionName<Service>,
|
|
102
111
|
Transform extends TransformKey = "candid",
|
|
112
|
+
TOnMutateResult = unknown,
|
|
103
113
|
>({
|
|
104
114
|
reactor,
|
|
105
115
|
functionName,
|
|
@@ -112,8 +122,9 @@ export const useActorMutation = <
|
|
|
112
122
|
}: UseActorMutationParameters<
|
|
113
123
|
Service,
|
|
114
124
|
Method,
|
|
115
|
-
Transform
|
|
116
|
-
|
|
125
|
+
Transform,
|
|
126
|
+
TOnMutateResult
|
|
127
|
+
>): UseActorMutationResult<Service, Method, Transform, TOnMutateResult> => {
|
|
117
128
|
const mutationFn = useCallback(
|
|
118
129
|
async (args: ReactorArgs<Service, Method, Transform>) =>
|
|
119
130
|
reactor.callMethod({ functionName, callConfig, args }),
|
|
@@ -127,7 +138,8 @@ export const useActorMutation = <
|
|
|
127
138
|
UseMutationOptions<
|
|
128
139
|
ReactorReturnOk<Service, Method, Transform>,
|
|
129
140
|
ReactorReturnErr<Service, Method, Transform>,
|
|
130
|
-
ReactorArgs<Service, Method, Transform
|
|
141
|
+
ReactorArgs<Service, Method, Transform>,
|
|
142
|
+
TOnMutateResult
|
|
131
143
|
>["onSuccess"]
|
|
132
144
|
>
|
|
133
145
|
>
|
|
@@ -67,12 +67,17 @@ export type UseActorSuspenseInfiniteQueryConfig<
|
|
|
67
67
|
Method extends FunctionName<Service>,
|
|
68
68
|
Transform extends TransformKey = "candid",
|
|
69
69
|
TPageParam = unknown,
|
|
70
|
+
Selected = InfiniteData<
|
|
71
|
+
ReactorQueryData<ReactorReturnOk<Service, Method, Transform>>,
|
|
72
|
+
TPageParam
|
|
73
|
+
>,
|
|
70
74
|
> = Omit<
|
|
71
75
|
UseActorSuspenseInfiniteQueryParameters<
|
|
72
76
|
Service,
|
|
73
77
|
Method,
|
|
74
78
|
Transform,
|
|
75
|
-
TPageParam
|
|
79
|
+
TPageParam,
|
|
80
|
+
Selected
|
|
76
81
|
>,
|
|
77
82
|
"reactor"
|
|
78
83
|
>
|
|
@@ -82,11 +87,12 @@ export type UseActorSuspenseInfiniteQueryResult<
|
|
|
82
87
|
Method extends FunctionName<Service>,
|
|
83
88
|
Transform extends TransformKey = "candid",
|
|
84
89
|
TPageParam = unknown,
|
|
85
|
-
|
|
86
|
-
InfiniteData<
|
|
90
|
+
Selected = InfiniteData<
|
|
87
91
|
ReactorQueryData<ReactorReturnOk<Service, Method, Transform>>,
|
|
88
92
|
TPageParam
|
|
89
93
|
>,
|
|
94
|
+
> = UseSuspenseInfiniteQueryResult<
|
|
95
|
+
Selected,
|
|
90
96
|
ReactorReturnErr<Service, Method, Transform>
|
|
91
97
|
>
|
|
92
98
|
|
|
@@ -107,6 +113,10 @@ export const useActorSuspenseInfiniteQuery = <
|
|
|
107
113
|
Method extends FunctionName<Service>,
|
|
108
114
|
Transform extends TransformKey = "candid",
|
|
109
115
|
TPageParam = unknown,
|
|
116
|
+
Selected = InfiniteData<
|
|
117
|
+
ReactorQueryData<ReactorReturnOk<Service, Method, Transform>>,
|
|
118
|
+
TPageParam
|
|
119
|
+
>,
|
|
110
120
|
>({
|
|
111
121
|
reactor,
|
|
112
122
|
functionName,
|
|
@@ -118,12 +128,14 @@ export const useActorSuspenseInfiniteQuery = <
|
|
|
118
128
|
Service,
|
|
119
129
|
Method,
|
|
120
130
|
Transform,
|
|
121
|
-
TPageParam
|
|
131
|
+
TPageParam,
|
|
132
|
+
Selected
|
|
122
133
|
>): UseActorSuspenseInfiniteQueryResult<
|
|
123
134
|
Service,
|
|
124
135
|
Method,
|
|
125
136
|
Transform,
|
|
126
|
-
TPageParam
|
|
137
|
+
TPageParam,
|
|
138
|
+
Selected
|
|
127
139
|
> => {
|
|
128
140
|
// Always pass queryKey through generateQueryKey so it is merged with the
|
|
129
141
|
// reactor/function identity. Using the custom key verbatim would cause cache
|
|
@@ -187,6 +199,7 @@ export const useActorSuspenseInfiniteQuery = <
|
|
|
187
199
|
Service,
|
|
188
200
|
Method,
|
|
189
201
|
Transform,
|
|
190
|
-
TPageParam
|
|
202
|
+
TPageParam,
|
|
203
|
+
Selected
|
|
191
204
|
>
|
|
192
205
|
}
|
package/src/types.ts
CHANGED
|
@@ -339,16 +339,21 @@ export interface SuspenseQueryResult<
|
|
|
339
339
|
|
|
340
340
|
/**
|
|
341
341
|
* Configuration for createMutation and useActorMutation.
|
|
342
|
+
*
|
|
343
|
+
* @template TOnMutateResult - The value `onMutate` returns, which `onSuccess`,
|
|
344
|
+
* `onError` and `onSettled` receive. TypeScript infers it from `onMutate`.
|
|
342
345
|
*/
|
|
343
346
|
export interface MutationConfig<
|
|
344
347
|
Service = BaseActor,
|
|
345
348
|
Method extends FunctionName<Service> = FunctionName<Service>,
|
|
346
349
|
Transform extends TransformKey = "candid",
|
|
350
|
+
TOnMutateResult = unknown,
|
|
347
351
|
> extends Omit<
|
|
348
352
|
UseMutationOptions<
|
|
349
353
|
ReactorReturnOk<Service, Method, Transform>,
|
|
350
354
|
ReactorReturnErr<Service, Method, Transform>,
|
|
351
|
-
ReactorArgs<Service, Method, Transform
|
|
355
|
+
ReactorArgs<Service, Method, Transform>,
|
|
356
|
+
TOnMutateResult
|
|
352
357
|
>,
|
|
353
358
|
"mutationFn"
|
|
354
359
|
> {
|
|
@@ -387,7 +392,12 @@ export interface MutationConfig<
|
|
|
387
392
|
* ```
|
|
388
393
|
*/
|
|
389
394
|
onCanisterError?: (
|
|
390
|
-
error: CanisterError<
|
|
395
|
+
error: CanisterError<
|
|
396
|
+
TransformReturnRegistry<
|
|
397
|
+
ErrResult<ActorMethodReturnType<Service[Method]>>,
|
|
398
|
+
Service
|
|
399
|
+
>[Transform]
|
|
400
|
+
>,
|
|
391
401
|
variables: ReactorArgs<Service, Method, Transform>
|
|
392
402
|
) => void
|
|
393
403
|
}
|
|
@@ -399,21 +409,30 @@ export type MutationFactoryConfig<
|
|
|
399
409
|
Service = BaseActor,
|
|
400
410
|
Method extends FunctionName<Service> = FunctionName<Service>,
|
|
401
411
|
Transform extends TransformKey = "candid",
|
|
402
|
-
|
|
412
|
+
TOnMutateResult = unknown,
|
|
413
|
+
> = Omit<
|
|
414
|
+
MutationConfig<Service, Method, Transform, TOnMutateResult>,
|
|
415
|
+
"onSuccess"
|
|
416
|
+
>
|
|
403
417
|
|
|
404
418
|
/**
|
|
405
419
|
* Options for useMutation hook.
|
|
406
420
|
* Extends React Query's UseMutationOptions with invalidateQueries support.
|
|
421
|
+
*
|
|
422
|
+
* @template TOnMutateResult - The value `onMutate` returns, which `onSuccess`,
|
|
423
|
+
* `onError` and `onSettled` receive. TypeScript infers it from `onMutate`.
|
|
407
424
|
*/
|
|
408
425
|
export interface MutationHookOptions<
|
|
409
426
|
Service = BaseActor,
|
|
410
427
|
Method extends FunctionName<Service> = FunctionName<Service>,
|
|
411
428
|
Transform extends TransformKey = "candid",
|
|
429
|
+
TOnMutateResult = unknown,
|
|
412
430
|
> extends Omit<
|
|
413
431
|
UseMutationOptions<
|
|
414
432
|
ReactorReturnOk<Service, Method, Transform>,
|
|
415
433
|
ReactorReturnErr<Service, Method, Transform>,
|
|
416
|
-
ReactorArgs<Service, Method, Transform
|
|
434
|
+
ReactorArgs<Service, Method, Transform>,
|
|
435
|
+
TOnMutateResult
|
|
417
436
|
>,
|
|
418
437
|
"mutationFn"
|
|
419
438
|
> {
|
|
@@ -438,7 +457,8 @@ export interface MutationHookOptions<
|
|
|
438
457
|
onCanisterError?: (
|
|
439
458
|
error: CanisterError<
|
|
440
459
|
TransformReturnRegistry<
|
|
441
|
-
ErrResult<ActorMethodReturnType<Service[Method]
|
|
460
|
+
ErrResult<ActorMethodReturnType<Service[Method]>>,
|
|
461
|
+
Service
|
|
442
462
|
>[Transform]
|
|
443
463
|
>,
|
|
444
464
|
variables: ReactorArgs<Service, Method, Transform>
|
|
@@ -463,12 +483,13 @@ export interface MutationResult<
|
|
|
463
483
|
* invalidateQueries: [userBalanceQuery], // Auto-invalidate after success!
|
|
464
484
|
* })
|
|
465
485
|
*/
|
|
466
|
-
useMutation: (
|
|
467
|
-
options?: MutationHookOptions<Service, Method, Transform>
|
|
486
|
+
useMutation: <TOnMutateResult = unknown>(
|
|
487
|
+
options?: MutationHookOptions<Service, Method, Transform, TOnMutateResult>
|
|
468
488
|
) => UseMutationResult<
|
|
469
489
|
ReactorReturnOk<Service, Method, Transform>,
|
|
470
490
|
ReactorReturnErr<Service, Method, Transform>,
|
|
471
|
-
ReactorArgs<Service, Method, Transform
|
|
491
|
+
ReactorArgs<Service, Method, Transform>,
|
|
492
|
+
TOnMutateResult
|
|
472
493
|
>
|
|
473
494
|
|
|
474
495
|
/** Execute the update call directly (outside of React) */
|