@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.
@@ -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>(config: InfiniteQueryConfig<Service, Method, Transform, TPageParam>) => UseInfiniteQueryResult<InfiniteData<ReactorQueryData<ReactorReturnOk<Service, Method, Transform>>, TPageParam>, ReactorReturnErr<Service, Method, Transform>>;
45
- useActorSuspenseInfiniteQuery: <Method extends FunctionName<Service>, TPageParam = unknown>(config: SuspenseInfiniteQueryConfig<Service, Method, Transform, TPageParam>) => UseSuspenseInfiniteQueryResult<InfiniteData<ReactorQueryData<ReactorReturnOk<Service, Method, Transform>>, TPageParam>, ReactorReturnErr<Service, Method, Transform>>;
46
- useActorMutation: <Method extends FunctionName<Service>>(config: MutationConfig<Service, Method, Transform>) => UseMutationResult<ReactorReturnOk<Service, Method, Transform>, ReactorReturnErr<Service, Method, Transform>, ReactorArgs<Service, Method, Transform>>;
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":"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"}
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;AAiHlC,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"}
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"}
@@ -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>>(reactor: Reactor<Service, Transform>, config: MutationConfig<NoInfer<Service>, Method, Transform>): MutationResult<Service, Method, Transform>;
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,EAEb,MAAM,kBAAkB,CAAA;AAEzB,OAAO,KAAK,EACV,cAAc,EACd,cAAc,EAEd,OAAO,EACR,MAAM,YAAY,CAAA;AA0LnB,wBAAgB,cAAc,CAC5B,OAAO,EACP,SAAS,SAAS,YAAY,EAC9B,MAAM,SAAS,YAAY,CAAC,OAAO,CAAC,GAAG,YAAY,CAAC,OAAO,CAAC,EAE5D,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,SAAS,CAAC,EACpC,MAAM,EAAE,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,GAC1D,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CAK5C"}
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"}
@@ -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 (...args) => {
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?.(...args);
144
+ await factoryOnSuccess?.(data, variables, factoryOnMutateResult(onMutateResult, context), context);
124
145
  // 4. Hook onSuccess
125
- await restOptions.onSuccess?.(...args);
146
+ await restOptions.onSuccess?.(data, variables, onMutateResult, context);
126
147
  },
127
- onError: async (error, variables, context, mutation) => {
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, mutation);
136
- await restOptions.onError?.(error, variables, context, mutation);
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 (...params) => {
145
- await factoryOnMutate?.(...params);
146
- return await restOptions.onMutate?.(...params);
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 (...params) => {
149
- await factoryOnSettled?.(...params);
150
- await restOptions.onSettled?.(...params);
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, config) {
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":"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"}
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> = Omit<UseActorInfiniteQueryParameters<Service, Method, Transform, TPageParam>, "reactor">;
25
- export type UseActorInfiniteQueryResult<Service, Method extends FunctionName<Service>, Transform extends TransformKey = "candid", TPageParam = unknown> = UseInfiniteQueryResult<InfiniteData<ReactorQueryData<ReactorReturnOk<Service, Method, Transform>>, TPageParam>, ReactorReturnErr<Service, Method, Transform>>;
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>({ reactor, functionName, getArgs, callConfig, queryKey, ...options }: UseActorInfiniteQueryParameters<Service, Method, Transform, TPageParam>) => UseActorInfiniteQueryResult<Service, Method, Transform, TPageParam>;
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":"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"}
1
+ {"version":3,"file":"useActorInfiniteQuery.d.ts","sourceRoot":"","sources":["../../src/hooks/useActorInfiniteQuery.ts"],"names":[],"mappings":"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"}
@@ -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;AAqEtE;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAKnC,EACA,OAAO,EACP,YAAY,EACZ,OAAO,EACP,UAAU,EACV,QAAQ,EACR,GAAG,OAAO,EAMX,EAAuE,EAAE;IACxE,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,CACmD,CAAA;AAC1E,CAAC,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>>, "mutationFn"> {
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]>>>[Transform]>, variables: ReactorArgs<Service, Method, Transform>) => void;
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,CACzC,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,CACxC,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,CAClD,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,IACvC,IAAI,CAAC,0BAA0B,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,SAAS,CAAC,CAAA;AAE3E,MAAM,MAAM,sBAAsB,CAChC,OAAO,EACP,MAAM,SAAS,YAAY,CAAC,OAAO,CAAC,EACpC,SAAS,SAAS,YAAY,GAAG,QAAQ,IACvC,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,CACxC,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,gBAAgB,GAC3B,OAAO,EACP,MAAM,SAAS,YAAY,CAAC,OAAO,CAAC,EACpC,SAAS,SAAS,YAAY,GAAG,QAAQ,EACzC,2GASC,0BAA0B,CAC3B,OAAO,EACP,MAAM,EACN,SAAS,CACV,KAAG,sBAAsB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CA6EpD,CAAA"}
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;AAyDzB;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAI9B,EACA,OAAO,EACP,YAAY,EACZ,iBAAiB,EACjB,SAAS,EACT,OAAO,EACP,eAAe,EACf,UAAU,EACV,GAAG,OAAO,EAKX,EAAsD,EAAE;IACvD,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,MAQF,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"}
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> = Omit<UseActorSuspenseInfiniteQueryParameters<Service, Method, Transform, TPageParam>, "reactor">;
25
- export type UseActorSuspenseInfiniteQueryResult<Service, Method extends FunctionName<Service>, Transform extends TransformKey = "candid", TPageParam = unknown> = UseSuspenseInfiniteQueryResult<InfiniteData<ReactorQueryData<ReactorReturnOk<Service, Method, Transform>>, TPageParam>, ReactorReturnErr<Service, Method, Transform>>;
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>({ reactor, functionName, getArgs, callConfig, queryKey, ...options }: UseActorSuspenseInfiniteQueryParameters<Service, Method, Transform, TPageParam>) => UseActorSuspenseInfiniteQueryResult<Service, Method, Transform, TPageParam>;
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":"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"}
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;AA0EtE;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAK3C,EACA,OAAO,EACP,YAAY,EACZ,OAAO,EACP,UAAU,EACV,QAAQ,EACR,GAAG,OAAO,EAMX,EAKC,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,CAMpB,CAAA;AACH,CAAC,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>>, "mutationFn"> {
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<unknown>, variables: ReactorArgs<Service, Method, Transform>) => void;
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>>, "mutationFn"> {
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]>>>[Transform]>, variables: ReactorArgs<Service, Method, Transform>) => void;
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
  }
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EACV,YAAY,EACZ,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,WAAW,EACX,SAAS,EACT,YAAY,EACZ,uBAAuB,EACvB,SAAS,EACT,qBAAqB,EACtB,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAChD,OAAO,EACL,QAAQ,EACR,oBAAoB,EACpB,eAAe,EACf,cAAc,EACd,uBAAuB,EACvB,sBAAsB,EACtB,kBAAkB,EAClB,iBAAiB,EAClB,MAAM,uBAAuB,CAAA;AAQ9B,MAAM,MAAM,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC,CAAA;AAKvD,uEAAuE;AACvE,MAAM,MAAM,WAAW,CACrB,OAAO,GAAG,SAAS,EACnB,MAAM,SAAS,YAAY,CAAC,OAAO,CAAC,GAAG,YAAY,CAAC,OAAO,CAAC,EAC5D,SAAS,SAAS,YAAY,GAAG,QAAQ,IACvC,gBAAgB,CAAC,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,CAAA;AAEjE,iCAAiC;AACjC,MAAM,MAAM,UAAU,CACpB,OAAO,GAAG,SAAS,EACnB,MAAM,SAAS,YAAY,CAAC,OAAO,CAAC,GAAG,YAAY,CAAC,OAAO,CAAC,EAC5D,SAAS,SAAS,YAAY,GAAG,QAAQ,IACvC,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CAAA;AAMhD;;;;;;;GAOG;AACH,MAAM,WAAW,eAAe,CAC9B,OAAO,GAAG,SAAS,EACnB,MAAM,SAAS,YAAY,CAAC,OAAO,CAAC,GAAG,YAAY,CAAC,OAAO,CAAC,EAC5D,SAAS,SAAS,YAAY,GAAG,QAAQ,EACzC,QAAQ,GAAG,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CAClD,SAAQ,IAAI,CACZ,oBAAoB,CAClB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EACvC,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EAC5C,QAAQ,EACR,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EACvC,QAAQ,CACT,EACD,SAAS,GAAG,UAAU,CACvB;IACC,yCAAyC;IACzC,YAAY,EAAE,MAAM,CAAA;IACpB,+CAA+C;IAC/C,IAAI,CAAC,EAAE,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CAAA;IAC9C,0CAA0C;IAC1C,QAAQ,CAAC,EAAE,QAAQ,CAAA;IACnB,mEAAmE;IACnE,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,gDAAgD;IAChD,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,KAAK,QAAQ,CAAA;CACrE;AAED;;;GAGG;AACH,MAAM,MAAM,WAAW,CACrB,OAAO,GAAG,SAAS,EACnB,MAAM,SAAS,YAAY,CAAC,OAAO,CAAC,GAAG,YAAY,CAAC,OAAO,CAAC,EAC5D,SAAS,SAAS,YAAY,GAAG,QAAQ,EACzC,QAAQ,GAAG,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,IAChD,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAA;AAEzD;;;GAGG;AACH,MAAM,MAAM,mBAAmB,CAC7B,OAAO,GAAG,SAAS,EACnB,MAAM,SAAS,YAAY,CAAC,OAAO,CAAC,GAAG,YAAY,CAAC,OAAO,CAAC,EAC5D,SAAS,SAAS,YAAY,GAAG,QAAQ,EACzC,QAAQ,GAAG,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,IAChD,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAA;AAMzD;;GAEG;AACH,MAAM,MAAM,kBAAkB,CAC5B,OAAO,GAAG,SAAS,EACnB,MAAM,SAAS,YAAY,CAAC,OAAO,CAAC,GAAG,YAAY,CAAC,OAAO,CAAC,EAC5D,SAAS,SAAS,YAAY,GAAG,QAAQ,EACzC,QAAQ,GAAG,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,IAChD,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAA;AAEnE;;GAEG;AACH,MAAM,MAAM,0BAA0B,CACpC,OAAO,GAAG,SAAS,EACnB,MAAM,SAAS,YAAY,CAAC,OAAO,CAAC,GAAG,YAAY,CAAC,OAAO,CAAC,EAC5D,SAAS,SAAS,YAAY,GAAG,QAAQ,EACzC,QAAQ,GAAG,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,IAChD,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAA;AAM3E;;;;;;;GAOG;AACH,MAAM,WAAW,kBAAkB,CACjC,YAAY,EACZ,SAAS,GAAG,YAAY,EACxB,MAAM,GAAG,KAAK;IAId,CACE,OAAO,CAAC,EAAE,IAAI,CACZ,eAAe,CAAC,YAAY,EAAE,MAAM,EAAE,SAAS,CAAC,EAChD,UAAU,GAAG,SAAS,CACvB,GAAG;QACF,MAAM,CAAC,EAAE,SAAS,CAAA;KACnB,GACA,cAAc,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;IAGpC,CAAC,MAAM,GAAG,SAAS,EACjB,OAAO,EAAE,IAAI,CACX,eAAe,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,CAAC,EAC7C,UAAU,GAAG,SAAS,GAAG,QAAQ,CAClC,GAAG;QACF,MAAM,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,MAAM,CAAA;KACpC,GACA,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAClC;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,0BAA0B,CACzC,YAAY,EACZ,SAAS,GAAG,YAAY,EACxB,MAAM,GAAG,KAAK;IAId,CACE,OAAO,CAAC,EAAE,IAAI,CACZ,uBAAuB,CAAC,YAAY,EAAE,MAAM,EAAE,SAAS,CAAC,EACxD,UAAU,GAAG,SAAS,CACvB,GAAG;QACF,MAAM,CAAC,EAAE,SAAS,CAAA;KACnB,GACA,sBAAsB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;IAG5C,CAAC,MAAM,GAAG,SAAS,EACjB,OAAO,EAAE,IAAI,CACX,uBAAuB,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,CAAC,EACrD,UAAU,GAAG,SAAS,GAAG,QAAQ,CAClC,GAAG;QACF,MAAM,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,MAAM,CAAA;KACpC,GACA,sBAAsB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAC1C;AAMD;;;;;;GAMG;AACH,MAAM,WAAW,eAAe,CAC9B,YAAY,EACZ,SAAS,GAAG,YAAY,EACxB,OAAO,GAAG,KAAK;IAEf,kEAAkE;IAClE,KAAK,EAAE,MAAM,OAAO,CAAC,SAAS,CAAC,CAAA;IAE/B;;;;;;;;;OASG;IACH,QAAQ,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IAE7B,0DAA0D;IAC1D,UAAU,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IAE/B,qDAAqD;IACrD,WAAW,EAAE,MAAM,QAAQ,CAAA;IAE3B;;;;;;;;;;;;;;OAcG;IACH,YAAY,EAAE;QACZ,IAAI,SAAS,GAAG,SAAS,CAAA;QACzB,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,MAAM,GAAG,MAAM,GAAG,SAAS,CAAA;KAClE,CAAA;IAED;;;;;;;;;;;;;OAaG;IACH,OAAO,EAAE,CACP,OAAO,EACH,YAAY,GACZ,CAAC,CAAC,GAAG,EAAE,YAAY,GAAG,SAAS,KAAK,YAAY,GAAG,SAAS,CAAC,KAC9D,YAAY,GAAG,SAAS,CAAA;CAC9B;AAED;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,WAAW,CAC1B,YAAY,EACZ,SAAS,GAAG,YAAY,EACxB,MAAM,GAAG,KAAK,CACd,SAAQ,eAAe,CAAC,YAAY,EAAE,SAAS,EAAE,MAAM,CAAC;IACxD,6EAA6E;IAC7E,QAAQ,EAAE,kBAAkB,CAAC,YAAY,EAAE,SAAS,EAAE,MAAM,CAAC,CAAA;CAC9D;AAED;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,mBAAmB,CAClC,YAAY,EACZ,SAAS,GAAG,YAAY,EACxB,MAAM,GAAG,KAAK,CACd,SAAQ,eAAe,CAAC,YAAY,EAAE,SAAS,EAAE,MAAM,CAAC;IACxD,4EAA4E;IAC5E,gBAAgB,EAAE,0BAA0B,CAAC,YAAY,EAAE,SAAS,EAAE,MAAM,CAAC,CAAA;CAC9E;AAMD;;GAEG;AACH,MAAM,WAAW,cAAc,CAC7B,OAAO,GAAG,SAAS,EACnB,MAAM,SAAS,YAAY,CAAC,OAAO,CAAC,GAAG,YAAY,CAAC,OAAO,CAAC,EAC5D,SAAS,SAAS,YAAY,GAAG,QAAQ,CACzC,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,CACxC,EACD,YAAY,CACb;IACC,yCAAyC;IACzC,YAAY,EAAE,MAAM,CAAA;IACpB,8CAA8C;IAC9C,UAAU,CAAC,EAAE,UAAU,CAAA;IACvB;;;;;;OAMG;IACH,iBAAiB,CAAC,EAAE,CAAC,QAAQ,GAAG,SAAS,CAAC,EAAE,CAAA;IAC5C;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,eAAe,CAAC,EAAE,CAChB,KAAK,EAAE,aAAa,CAAC,OAAO,CAAC,EAC7B,SAAS,EAAE,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,KAC/C,IAAI,CAAA;CACV;AAED;;GAEG;AACH,MAAM,MAAM,qBAAqB,CAC/B,OAAO,GAAG,SAAS,EACnB,MAAM,SAAS,YAAY,CAAC,OAAO,CAAC,GAAG,YAAY,CAAC,OAAO,CAAC,EAC5D,SAAS,SAAS,YAAY,GAAG,QAAQ,IACvC,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,WAAW,CAAC,CAAA;AAEjE;;;GAGG;AACH,MAAM,WAAW,mBAAmB,CAClC,OAAO,GAAG,SAAS,EACnB,MAAM,SAAS,YAAY,CAAC,OAAO,CAAC,GAAG,YAAY,CAAC,OAAO,CAAC,EAC5D,SAAS,SAAS,YAAY,GAAG,QAAQ,CACzC,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,CACxC,EACD,YAAY,CACb;IACC;;;;;;;;;OASG;IACH,iBAAiB,CAAC,EAAE,CAAC,QAAQ,GAAG,SAAS,CAAC,EAAE,CAAA;IAC5C;;;;;;OAMG;IACH,eAAe,CAAC,EAAE,CAChB,KAAK,EAAE,aAAa,CAClB,uBAAuB,CACrB,SAAS,CAAC,qBAAqB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAClD,CAAC,SAAS,CAAC,CACb,EACD,SAAS,EAAE,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,KAC/C,IAAI,CAAA;CACV;AAED;;GAEG;AACH,MAAM,WAAW,cAAc,CAC7B,OAAO,GAAG,SAAS,EACnB,MAAM,SAAS,YAAY,CAAC,OAAO,CAAC,GAAG,YAAY,CAAC,OAAO,CAAC,EAC5D,SAAS,SAAS,YAAY,GAAG,QAAQ;IAEzC;;;;;;;;;OASG;IACH,WAAW,EAAE,CACX,OAAO,CAAC,EAAE,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,KACtD,iBAAiB,CACpB,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,CACxC,CAAA;IAED,0DAA0D;IAC1D,OAAO,EAAE,CACP,IAAI,EAAE,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,KAC1C,OAAO,CAAC,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,CAAA;CAC1D"}
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.4",
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.4"
56
+ "@ic-reactor/core": "^3.12.5"
57
57
  },
58
58
  "peerDependencies": {
59
59
  "@icp-sdk/auth": "^8.0.0",
@@ -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: <Method extends FunctionName<Service>>(
133
- config: MutationConfig<Service, Method, Transform>
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>>(
@@ -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<Service, Method, Transform>
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
- factoryOnCanisterError?.(error, args)
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<Service, Method, Transform>
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 (...args) => {
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?.(...args)
240
+ await factoryOnSuccess?.(
241
+ data,
242
+ variables,
243
+ factoryOnMutateResult(onMutateResult, context),
244
+ context
245
+ )
191
246
  // 4. Hook onSuccess
192
- await restOptions.onSuccess?.(...args)
247
+ await restOptions.onSuccess?.(
248
+ data,
249
+ variables,
250
+ onMutateResult,
251
+ context
252
+ )
193
253
  },
194
- onError: async (error, variables, context, mutation) => {
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?.(error, variables, context, mutation)
203
- await restOptions.onError?.(error, variables, context, mutation)
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 (...params) => {
212
- await factoryOnMutate?.(...params)
213
- return await restOptions.onMutate?.(...params)
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 (...params) => {
216
- await factoryOnSettled?.(...params)
217
- await restOptions.onSettled?.(...params)
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
- config: MutationConfig<NoInfer<Service>, Method, Transform>
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<Service, Method, Transform>
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<Service, Method, Transform, TPageParam>,
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
- > = UseInfiniteQueryResult<
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
- >): UseActorInfiniteQueryResult<Service, Method, Transform, TPageParam> => {
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<Service, Method, Transform, TPageParam>
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
- > = Omit<UseActorMutationParameters<Service, Method, Transform>, "reactor">
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
- >): UseActorMutationResult<Service, Method, Transform> => {
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
- > = UseSuspenseInfiniteQueryResult<
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<unknown>,
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
- > = Omit<MutationConfig<Service, Method, Transform>, "onSuccess">
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) */