@ic-reactor/react 3.12.3 → 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/auth/authentication-manager.d.ts +1 -1
- package/dist/auth/authentication-manager.js +1 -1
- package/dist/createActorHooks.d.ts +18 -7
- 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 +73 -17
- package/dist/createMutation.js.map +1 -1
- package/dist/defineReactor.js +1 -4
- package/dist/defineReactor.js.map +1 -1
- package/dist/hooks/createAuthHooks.d.ts +7 -2
- package/dist/hooks/createAuthHooks.d.ts.map +1 -1
- package/dist/hooks/createAuthHooks.js +22 -8
- package/dist/hooks/createAuthHooks.js.map +1 -1
- 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/useActorMethod.d.ts +21 -11
- package/dist/hooks/useActorMethod.d.ts.map +1 -1
- package/dist/hooks/useActorMethod.js +29 -14
- package/dist/hooks/useActorMethod.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 +5 -2
- 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 +7 -8
- package/src/auth/authentication-manager.ts +1 -1
- package/src/createActorHooks.ts +60 -23
- package/src/createMutation.ts +153 -30
- package/src/defineReactor.ts +1 -2
- package/src/hooks/createAuthHooks.ts +34 -11
- package/src/hooks/useActorInfiniteQuery.ts +34 -6
- package/src/hooks/useActorMethod.ts +79 -38
- package/src/hooks/useActorMutation.ts +24 -9
- package/src/hooks/useActorSuspenseInfiniteQuery.ts +19 -6
- package/src/types.ts +29 -8
|
@@ -71,7 +71,7 @@ export declare class AuthenticationManager {
|
|
|
71
71
|
* module has not been loaded yet.
|
|
72
72
|
*
|
|
73
73
|
* Callers that must stay inside a user gesture use this instead of
|
|
74
|
-
*
|
|
74
|
+
* `ensureClient`; awaiting anything before opening the identity
|
|
75
75
|
* provider window loses the gesture.
|
|
76
76
|
*/
|
|
77
77
|
getPreparedClient(options?: AuthenticationClientOptions): AuthClientLike | undefined;
|
|
@@ -385,7 +385,7 @@ export class AuthenticationManager {
|
|
|
385
385
|
* module has not been loaded yet.
|
|
386
386
|
*
|
|
387
387
|
* Callers that must stay inside a user gesture use this instead of
|
|
388
|
-
*
|
|
388
|
+
* `ensureClient`; awaiting anything before opening the identity
|
|
389
389
|
* provider window loses the gesture.
|
|
390
390
|
*/
|
|
391
391
|
getPreparedClient(options) {
|
|
@@ -19,23 +19,34 @@
|
|
|
19
19
|
import { Reactor, DisplayReactor, ReactorReturnErr, ReactorReturnOk, ReactorQueryData, BaseActor, FunctionName, ReactorArgs, TransformKey } from "@ic-reactor/core";
|
|
20
20
|
import { UseQueryResult, UseSuspenseQueryResult, UseInfiniteQueryResult, UseSuspenseInfiniteQueryResult, UseMutationResult, InfiniteData } from "@tanstack/react-query";
|
|
21
21
|
import { useActorMethod, UseActorMethodParameters } from "./hooks/useActorMethod.js";
|
|
22
|
+
import type { CallConfig } from "@icp-sdk/core/agent";
|
|
22
23
|
import { InfiniteQueryConfig } from "./createInfiniteQuery.js";
|
|
23
24
|
import { SuspenseInfiniteQueryConfig } from "./createSuspenseInfiniteQuery.js";
|
|
24
25
|
import { QueryConfig, SuspenseQueryConfig, MutationConfig } from "./types.js";
|
|
26
|
+
/**
|
|
27
|
+
* The bound query hooks forward their config to `useActorQuery` and
|
|
28
|
+
* `useActorSuspenseQuery`, which take `callConfig`. `QueryConfig` is shared with
|
|
29
|
+
* `createQuery`, which does not use it, so it is added here and not there.
|
|
30
|
+
*/
|
|
31
|
+
type WithCallConfig<Config> = Config & {
|
|
32
|
+
/** Agent call configuration (canisterId override, effectiveCanisterId, etc.) */
|
|
33
|
+
callConfig?: CallConfig;
|
|
34
|
+
};
|
|
25
35
|
export type ActorHooks<Service, Transform extends TransformKey> = {
|
|
26
36
|
useActorQuery: {
|
|
27
|
-
<Method extends FunctionName<Service>>(config: QueryConfig<Service, Method, Transform, ReactorQueryData<ReactorReturnOk<Service, Method, Transform
|
|
28
|
-
<Method extends FunctionName<Service>, TData>(config: QueryConfig<Service, Method, Transform, TData
|
|
37
|
+
<Method extends FunctionName<Service>>(config: WithCallConfig<QueryConfig<Service, Method, Transform, ReactorQueryData<ReactorReturnOk<Service, Method, Transform>>>>): UseQueryResult<ReactorQueryData<ReactorReturnOk<Service, Method, Transform>>, ReactorReturnErr<Service, Method, Transform>>;
|
|
38
|
+
<Method extends FunctionName<Service>, TData>(config: WithCallConfig<QueryConfig<Service, Method, Transform, TData>>): UseQueryResult<TData, ReactorReturnErr<Service, Method, Transform>>;
|
|
29
39
|
};
|
|
30
40
|
useActorSuspenseQuery: {
|
|
31
|
-
<Method extends FunctionName<Service>>(config: SuspenseQueryConfig<Service, Method, Transform, ReactorQueryData<ReactorReturnOk<Service, Method, Transform
|
|
32
|
-
<Method extends FunctionName<Service>, TData>(config: SuspenseQueryConfig<Service, Method, Transform, TData
|
|
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
|
+
<Method extends FunctionName<Service>, TData>(config: WithCallConfig<SuspenseQueryConfig<Service, Method, Transform, TData>>): UseSuspenseQueryResult<TData, ReactorReturnErr<Service, Method, Transform>>;
|
|
33
43
|
};
|
|
34
|
-
useActorInfiniteQuery: <Method extends FunctionName<Service>, TPageParam = unknown
|
|
35
|
-
useActorSuspenseInfiniteQuery: <Method extends FunctionName<Service>, TPageParam = unknown
|
|
36
|
-
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>;
|
|
37
47
|
useActorMethod: <Method extends FunctionName<Service>>(config: Omit<UseActorMethodParameters<Service, Method, Transform>, "reactor">) => ReturnType<typeof useActorMethod<Service, Method, Transform>>;
|
|
38
48
|
};
|
|
39
49
|
export declare function createActorHooks<Service>(reactor: DisplayReactor<Service>): ActorHooks<Service, "display">;
|
|
40
50
|
export declare function createActorHooks<Service = BaseActor, Transform extends TransformKey = "candid">(reactor: Reactor<Service, Transform>): ActorHooks<Service, Transform>;
|
|
51
|
+
export {};
|
|
41
52
|
//# sourceMappingURL=createActorHooks.d.ts.map
|
|
@@ -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,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,MAAM,MAAM,UAAU,CAAC,OAAO,EAAE,SAAS,SAAS,YAAY,IAAI;IAChE,aAAa,EAAE;QACb,CAAC,MAAM,SAAS,YAAY,CAAC,OAAO,CAAC,EACnC,MAAM,EAAE,WAAW,
|
|
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;
|
|
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
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
* // Outside React (loader/service/script)
|
|
25
25
|
* await transferMutation.execute([{ to: "aaaaa-aa", amount: "1000" }])
|
|
26
26
|
*/
|
|
27
|
-
import { useMutation } from "@tanstack/react-query";
|
|
27
|
+
import { useMutation, } from "@tanstack/react-query";
|
|
28
28
|
import { isCanisterError } from "@ic-reactor/core";
|
|
29
29
|
// ============================================================================
|
|
30
30
|
// Internal helpers
|
|
@@ -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
|
*
|
|
@@ -52,28 +71,53 @@ const createMutationImpl = (reactor, config) => {
|
|
|
52
71
|
* object behaves the same through both call paths. Only hook-level callbacks
|
|
53
72
|
* are absent, because there is no hook here to supply them.
|
|
54
73
|
*
|
|
74
|
+
* The callbacks get the same `{ client, meta, mutationKey }` context
|
|
75
|
+
* TanStack Query passes them on the hook path.
|
|
76
|
+
*
|
|
55
77
|
* The error is rethrown after the callbacks run, so `await execute(...)`
|
|
56
78
|
* still rejects for the caller.
|
|
57
79
|
*
|
|
58
80
|
* Use this in route loaders, scripts, or server-side code.
|
|
59
81
|
*/
|
|
60
82
|
const execute = async (args) => {
|
|
83
|
+
// TanStack Query builds this for the hook path, and the callback types
|
|
84
|
+
// declare it as always present. None of it is mutation state, so this path
|
|
85
|
+
// builds the same object. Passing `undefined` made a callback that reads
|
|
86
|
+
// `context.client` throw here and nowhere else.
|
|
87
|
+
//
|
|
88
|
+
// The hook path takes `meta` and `mutationKey` from the client's defaulted
|
|
89
|
+
// options, so this runs the same spread through `defaultMutationOptions`.
|
|
90
|
+
// Reading `factoryOptions` alone dropped mutation defaults registered on
|
|
91
|
+
// the QueryClient (`defaultOptions.mutations`, `setMutationDefaults`).
|
|
92
|
+
const effectiveOptions = reactor.queryClient.defaultMutationOptions({
|
|
93
|
+
mutationKey: reactor.getQueryOptions({ functionName }).queryKey,
|
|
94
|
+
...factoryOptions,
|
|
95
|
+
});
|
|
96
|
+
const context = {
|
|
97
|
+
client: reactor.queryClient,
|
|
98
|
+
meta: effectiveOptions.meta,
|
|
99
|
+
mutationKey: effectiveOptions.mutationKey,
|
|
100
|
+
};
|
|
61
101
|
let result;
|
|
62
102
|
try {
|
|
63
103
|
result = await callFn(args);
|
|
64
104
|
}
|
|
65
105
|
catch (error) {
|
|
66
106
|
if (isCanisterError(error)) {
|
|
107
|
+
// `catch` drops the type. `callMethod` rejects with this method's
|
|
108
|
+
// CanisterError, the one the hook path narrows to.
|
|
67
109
|
factoryOnCanisterError?.(error, args);
|
|
68
110
|
}
|
|
69
|
-
//
|
|
70
|
-
|
|
111
|
+
// `onMutate` does not run on this path, so there is no result to pass.
|
|
112
|
+
// Awaited like `onSuccess` below and like the hook path, so an async
|
|
113
|
+
// rollback or report finishes before `execute()` rejects.
|
|
114
|
+
await factoryOnError?.(error, args, undefined, context);
|
|
71
115
|
throw error;
|
|
72
116
|
}
|
|
73
117
|
if (factoryInvalidateQueries) {
|
|
74
118
|
await invalidateAll(reactor.queryClient, factoryInvalidateQueries);
|
|
75
119
|
}
|
|
76
|
-
await factoryOnSuccess?.(result, args, undefined,
|
|
120
|
+
await factoryOnSuccess?.(result, args, undefined, context);
|
|
77
121
|
return result;
|
|
78
122
|
};
|
|
79
123
|
// Hook implementation
|
|
@@ -87,7 +131,7 @@ const createMutationImpl = (reactor, config) => {
|
|
|
87
131
|
// Use callFn (not execute) to avoid double-invalidation:
|
|
88
132
|
// factoryInvalidateQueries are handled in onSuccess below.
|
|
89
133
|
mutationFn: callFn,
|
|
90
|
-
onSuccess: async (
|
|
134
|
+
onSuccess: async (data, variables, onMutateResult, context) => {
|
|
91
135
|
// 1. Factory-level invalidation
|
|
92
136
|
if (factoryInvalidateQueries) {
|
|
93
137
|
await invalidateAll(reactor.queryClient, factoryInvalidateQueries);
|
|
@@ -97,17 +141,20 @@ const createMutationImpl = (reactor, config) => {
|
|
|
97
141
|
await invalidateAll(reactor.queryClient, hookInvalidateQueries);
|
|
98
142
|
}
|
|
99
143
|
// 3. Factory onSuccess
|
|
100
|
-
await factoryOnSuccess?.(
|
|
144
|
+
await factoryOnSuccess?.(data, variables, factoryOnMutateResult(onMutateResult, context), context);
|
|
101
145
|
// 4. Hook onSuccess
|
|
102
|
-
await restOptions.onSuccess?.(
|
|
146
|
+
await restOptions.onSuccess?.(data, variables, onMutateResult, context);
|
|
103
147
|
},
|
|
104
|
-
onError: (error, variables,
|
|
148
|
+
onError: async (error, variables, onMutateResult, context) => {
|
|
105
149
|
if (isCanisterError(error)) {
|
|
106
150
|
factoryOnCanisterError?.(error, variables);
|
|
107
151
|
hookOnCanisterError?.(error, variables);
|
|
108
152
|
}
|
|
109
|
-
|
|
110
|
-
|
|
153
|
+
// Awaited in order, like `onSuccess`. TanStack Query holds
|
|
154
|
+
// `onSettled` and the settled state until this promise resolves, so
|
|
155
|
+
// an async `onError` must be part of it.
|
|
156
|
+
await factoryOnError?.(error, variables, factoryOnMutateResult(onMutateResult, context), context);
|
|
157
|
+
await restOptions.onError?.(error, variables, onMutateResult, context);
|
|
111
158
|
},
|
|
112
159
|
// `onMutate` and `onSettled` are composed like `onSuccess`/`onError`
|
|
113
160
|
// above. They used to arrive through the `...restOptions` spread, so a
|
|
@@ -115,13 +162,19 @@ const createMutationImpl = (reactor, config) => {
|
|
|
115
162
|
// telemetry or logging simply vanished the moment any call site passed
|
|
116
163
|
// its own, with no warning and no type error. Chaining is what a
|
|
117
164
|
// reader who has seen `onSuccess` chain already expects.
|
|
118
|
-
onMutate: async (
|
|
119
|
-
|
|
120
|
-
|
|
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));
|
|
121
174
|
},
|
|
122
|
-
onSettled: async (
|
|
123
|
-
await factoryOnSettled?.(
|
|
124
|
-
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);
|
|
125
178
|
},
|
|
126
179
|
}, reactor.queryClient);
|
|
127
180
|
};
|
|
@@ -130,7 +183,10 @@ const createMutationImpl = (reactor, config) => {
|
|
|
130
183
|
// ============================================================================
|
|
131
184
|
// Public Factory Function
|
|
132
185
|
// ============================================================================
|
|
133
|
-
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) {
|
|
134
190
|
return createMutationImpl(reactor, config);
|
|
135
191
|
}
|
|
136
192
|
//# sourceMappingURL=createMutation.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createMutation.js","sourceRoot":"","sources":["../src/createMutation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"createMutation.js","sourceRoot":"","sources":["../src/createMutation.ts"],"names":[],"mappings":"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"}
|
package/dist/defineReactor.js
CHANGED
|
@@ -76,9 +76,7 @@ import { createAuthHooks } from "./hooks/createAuthHooks.js";
|
|
|
76
76
|
const createDefaultQueryClient = () => new QueryClient({
|
|
77
77
|
defaultOptions: { queries: { retry: reactorRetry } },
|
|
78
78
|
});
|
|
79
|
-
export function defineReactor(params
|
|
80
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
81
|
-
) {
|
|
79
|
+
export function defineReactor(params) {
|
|
82
80
|
const { clientManager: providedClientManager, queryClient: providedQueryClient, authentication: providedAuthentication, auth, display, agentOptions, allowEnvConfig, allowEnvRootKey, name, idlFactory, canisterId, pollingOptions, } = params;
|
|
83
81
|
// A shared AuthenticationManager updates the identity on its own
|
|
84
82
|
// ClientManager. Giving this reactor a different one would leave its calls
|
|
@@ -138,7 +136,6 @@ export function defineReactor(params
|
|
|
138
136
|
// The Reactor / DisplayReactor union cannot be expressed through the shared
|
|
139
137
|
// implementation signature, so the body is intentionally untyped here; the
|
|
140
138
|
// public overloads above carry the precise types for callers.
|
|
141
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
142
139
|
const reactor = display
|
|
143
140
|
? new DisplayReactor({
|
|
144
141
|
...reactorConfig,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defineReactor.js","sourceRoot":"","sources":["../src/defineReactor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuDG;AACH,OAAO,EACL,aAAa,EACb,OAAO,EACP,cAAc,EACd,YAAY,GACb,MAAM,kBAAkB,CAAA;AAQzB,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACnD,OAAO,EAAE,gBAAgB,EAAc,MAAM,uBAAuB,CAAA;AACpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAA;AACxE,OAAO,EAAE,yBAAyB,EAAE,MAAM,uCAAuC,CAAA;AACjF,OAAO,EAAE,4BAA4B,EAAE,MAAM,wCAAwC,CAAA;AAErF,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AA2E5D;;;;;;;;;;;GAWG;AACH,MAAM,wBAAwB,GAAG,GAAG,EAAE,CACpC,IAAI,WAAW,CAAC;IACd,cAAc,EAAE,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE;CACrD,CAAC,CAAA;AAUJ,MAAM,UAAU,aAAa,CAC3B,MAAyE;
|
|
1
|
+
{"version":3,"file":"defineReactor.js","sourceRoot":"","sources":["../src/defineReactor.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,6 +11,11 @@ export interface UseAuthReturn {
|
|
|
11
11
|
}) => Promise<void>;
|
|
12
12
|
isAuthenticated: boolean;
|
|
13
13
|
isAuthenticating: boolean;
|
|
14
|
+
/**
|
|
15
|
+
* The signed-in user's principal, or `null` while signed out. A signed-out
|
|
16
|
+
* session still holds an anonymous `identity`, and its principal is not
|
|
17
|
+
* returned here.
|
|
18
|
+
*/
|
|
14
19
|
principal: Principal | null;
|
|
15
20
|
identity: Identity | null;
|
|
16
21
|
error: Error | undefined;
|
|
@@ -30,8 +35,8 @@ export interface CreateAuthHooksReturn {
|
|
|
30
35
|
* const { login, logout, principal, isAuthenticated } = useAuth()
|
|
31
36
|
*
|
|
32
37
|
* return isAuthenticated
|
|
33
|
-
* ? <button onClick={logout}>Logout {principal?.toText()}</button>
|
|
34
|
-
* : <button onClick={login}>Login with II</button>
|
|
38
|
+
* ? <button onClick={() => logout()}>Logout {principal?.toText()}</button>
|
|
39
|
+
* : <button onClick={() => login()}>Login with II</button>
|
|
35
40
|
* }
|
|
36
41
|
*/
|
|
37
42
|
export declare const createAuthHooks: (authentication: AuthenticationManager) => CreateAuthHooksReturn;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createAuthHooks.d.ts","sourceRoot":"","sources":["../../src/hooks/createAuthHooks.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAA;AAC9E,OAAO,KAAK,EAAa,2BAA2B,EAAE,MAAM,kBAAkB,CAAA;AAC9E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAClD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACxD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAEnD,MAAM,WAAW,aAAa;IAC5B,YAAY,EAAE,MAAM,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC,CAAA;IACjD,KAAK,EAAE,CAAC,OAAO,CAAC,EAAE,2BAA2B,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAC/D,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAC1D,eAAe,EAAE,OAAO,CAAA;IACxB,gBAAgB,EAAE,OAAO,CAAA;IACzB,SAAS,EAAE,SAAS,GAAG,IAAI,CAAA;IAC3B,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAA;IACzB,KAAK,EAAE,KAAK,GAAG,SAAS,CAAA;CACzB;AAED,MAAM,WAAW,qBAAqB;IACpC,aAAa,EAAE,MAAM,UAAU,CAAA;IAC/B,gBAAgB,EAAE,MAAM,SAAS,GAAG,IAAI,CAAA;IACxC,OAAO,EAAE,MAAM,aAAa,CAAA;CAC7B;
|
|
1
|
+
{"version":3,"file":"createAuthHooks.d.ts","sourceRoot":"","sources":["../../src/hooks/createAuthHooks.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAA;AAC9E,OAAO,KAAK,EAAa,2BAA2B,EAAE,MAAM,kBAAkB,CAAA;AAC9E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAClD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACxD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAEnD,MAAM,WAAW,aAAa;IAC5B,YAAY,EAAE,MAAM,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC,CAAA;IACjD,KAAK,EAAE,CAAC,OAAO,CAAC,EAAE,2BAA2B,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAC/D,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAC1D,eAAe,EAAE,OAAO,CAAA;IACxB,gBAAgB,EAAE,OAAO,CAAA;IACzB;;;;OAIG;IACH,SAAS,EAAE,SAAS,GAAG,IAAI,CAAA;IAC3B,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAA;IACzB,KAAK,EAAE,KAAK,GAAG,SAAS,CAAA;CACzB;AAED,MAAM,WAAW,qBAAqB;IACpC,aAAa,EAAE,MAAM,UAAU,CAAA;IAC/B,gBAAgB,EAAE,MAAM,SAAS,GAAG,IAAI,CAAA;IACxC,OAAO,EAAE,MAAM,aAAa,CAAA;CAC7B;AAsBD;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,eAAe,GAC1B,gBAAgB,qBAAqB,KACpC,qBA2HF,CAAA"}
|
|
@@ -1,4 +1,17 @@
|
|
|
1
1
|
import { useSyncExternalStore, useEffect, useRef, useMemo } from "react";
|
|
2
|
+
/**
|
|
3
|
+
* The principal both hooks return.
|
|
4
|
+
*
|
|
5
|
+
* `authenticate()` and `logout()` leave the client's anonymous identity in
|
|
6
|
+
* `authState.identity` with `isAuthenticated: false`, so deriving the principal
|
|
7
|
+
* from the identity alone reported `2vxsx-fae` for a signed-out user, and
|
|
8
|
+
* `principal ? <SignedIn /> : <SignedOut />` rendered the signed-in branch.
|
|
9
|
+
* Memoized on the identity, because `getPrincipal()` may build a new object on
|
|
10
|
+
* each call and the result is often a hook dependency.
|
|
11
|
+
*/
|
|
12
|
+
function usePrincipal(isAuthenticated, identity) {
|
|
13
|
+
return useMemo(() => (isAuthenticated && identity ? identity.getPrincipal() : null), [isAuthenticated, identity]);
|
|
14
|
+
}
|
|
2
15
|
/**
|
|
3
16
|
* Create authentication hooks for managing user sessions with Internet Identity.
|
|
4
17
|
*
|
|
@@ -9,8 +22,8 @@ import { useSyncExternalStore, useEffect, useRef, useMemo } from "react";
|
|
|
9
22
|
* const { login, logout, principal, isAuthenticated } = useAuth()
|
|
10
23
|
*
|
|
11
24
|
* return isAuthenticated
|
|
12
|
-
* ? <button onClick={logout}>Logout {principal?.toText()}</button>
|
|
13
|
-
* : <button onClick={login}>Login with II</button>
|
|
25
|
+
* ? <button onClick={() => logout()}>Logout {principal?.toText()}</button>
|
|
26
|
+
* : <button onClick={() => login()}>Login with II</button>
|
|
14
27
|
* }
|
|
15
28
|
*/
|
|
16
29
|
export const createAuthHooks = (authentication) => {
|
|
@@ -51,10 +64,10 @@ export const createAuthHooks = (authentication) => {
|
|
|
51
64
|
* const { login, logout, isAuthenticated, isAuthenticating } = useAuth()
|
|
52
65
|
*
|
|
53
66
|
* if (isAuthenticated) {
|
|
54
|
-
* return <button onClick={logout}>Logout</button>
|
|
67
|
+
* return <button onClick={() => logout()}>Logout</button>
|
|
55
68
|
* }
|
|
56
69
|
* return (
|
|
57
|
-
* <button onClick={login} disabled={isAuthenticating}>
|
|
70
|
+
* <button onClick={() => login()} disabled={isAuthenticating}>
|
|
58
71
|
* {isAuthenticating ? "Connecting..." : "Login"}
|
|
59
72
|
* </button>
|
|
60
73
|
* )
|
|
@@ -81,7 +94,7 @@ export const createAuthHooks = (authentication) => {
|
|
|
81
94
|
.catch(() => undefined);
|
|
82
95
|
}
|
|
83
96
|
}, []);
|
|
84
|
-
const principal =
|
|
97
|
+
const principal = usePrincipal(isAuthenticated, identity);
|
|
85
98
|
return {
|
|
86
99
|
authenticate,
|
|
87
100
|
login,
|
|
@@ -95,7 +108,8 @@ export const createAuthHooks = (authentication) => {
|
|
|
95
108
|
};
|
|
96
109
|
/**
|
|
97
110
|
* Get the current user's Principal.
|
|
98
|
-
* Returns null if not authenticated
|
|
111
|
+
* Returns null if not authenticated, including while the signed-out session
|
|
112
|
+
* holds the anonymous identity.
|
|
99
113
|
*
|
|
100
114
|
* @example
|
|
101
115
|
* function UserInfo() {
|
|
@@ -105,8 +119,8 @@ export const createAuthHooks = (authentication) => {
|
|
|
105
119
|
* }
|
|
106
120
|
*/
|
|
107
121
|
const useUserPrincipal = () => {
|
|
108
|
-
const { identity } = useAuthState();
|
|
109
|
-
return
|
|
122
|
+
const { isAuthenticated, identity } = useAuthState();
|
|
123
|
+
return usePrincipal(isAuthenticated, identity);
|
|
110
124
|
};
|
|
111
125
|
return {
|
|
112
126
|
useAuth,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createAuthHooks.js","sourceRoot":"","sources":["../../src/hooks/createAuthHooks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"createAuthHooks.js","sourceRoot":"","sources":["../../src/hooks/createAuthHooks.ts"],"names":[],"mappings":"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"}
|
|
@@ -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":"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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;
|
|
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,5 +1,5 @@
|
|
|
1
1
|
import { type UseQueryResult, type UseMutationResult, type QueryKey, type QueryObserverOptions } from "@tanstack/react-query";
|
|
2
|
-
import { Reactor, BaseActor, FunctionName, TransformKey, ReactorArgs, ReactorReturnOk, ReactorReturnErr, FunctionType } from "@ic-reactor/core";
|
|
2
|
+
import { Reactor, BaseActor, FunctionName, TransformKey, ReactorArgs, ReactorReturnOk, ReactorQueryData, ReactorReturnErr, FunctionType } from "@ic-reactor/core";
|
|
3
3
|
import { CallConfig } from "@icp-sdk/core/agent";
|
|
4
4
|
/**
|
|
5
5
|
* Configuration for useActorMethod hook.
|
|
@@ -9,7 +9,7 @@ import { CallConfig } from "@icp-sdk/core/agent";
|
|
|
9
9
|
* Query-specific options (like refetchInterval) only apply to query methods.
|
|
10
10
|
* Mutation-specific options (like invalidateQueries) only apply to mutation methods.
|
|
11
11
|
*/
|
|
12
|
-
export interface UseActorMethodParameters<Service = BaseActor, Method extends FunctionName<Service> = FunctionName<Service>, Transform extends TransformKey = "candid"> extends Omit<QueryObserverOptions<ReactorReturnOk<Service, Method, Transform
|
|
12
|
+
export interface UseActorMethodParameters<Service = BaseActor, Method extends FunctionName<Service> = FunctionName<Service>, Transform extends TransformKey = "candid"> extends Omit<QueryObserverOptions<ReactorQueryData<ReactorReturnOk<Service, Method, Transform>>, ReactorReturnErr<Service, Method, Transform>, ReactorQueryData<ReactorReturnOk<Service, Method, Transform>>, ReactorQueryData<ReactorReturnOk<Service, Method, Transform>>, QueryKey>, "queryKey" | "queryFn"> {
|
|
13
13
|
/** The reactor instance to use for method calls */
|
|
14
14
|
reactor: Reactor<Service, Transform>;
|
|
15
15
|
/** The method name to call on the canister */
|
|
@@ -23,8 +23,11 @@ export interface UseActorMethodParameters<Service = BaseActor, Method extends Fu
|
|
|
23
23
|
/**
|
|
24
24
|
* Callback when the method call succeeds.
|
|
25
25
|
* Works for both query and mutation methods.
|
|
26
|
+
*
|
|
27
|
+
* A method's `undefined` result arrives as `null`, as in `useActorQuery`,
|
|
28
|
+
* for query and update methods alike.
|
|
26
29
|
*/
|
|
27
|
-
onSuccess?: (data: ReactorReturnOk<Service, Method, Transform
|
|
30
|
+
onSuccess?: (data: ReactorQueryData<ReactorReturnOk<Service, Method, Transform>>) => void;
|
|
28
31
|
/**
|
|
29
32
|
* Callback when the method call fails.
|
|
30
33
|
* Works for both query and mutation methods.
|
|
@@ -46,8 +49,12 @@ export type UseActorMethodConfig<Service = BaseActor, Method extends FunctionNam
|
|
|
46
49
|
* Provides a unified interface for both query and mutation methods.
|
|
47
50
|
*/
|
|
48
51
|
export interface UseActorMethodResult<Service = BaseActor, Method extends FunctionName<Service> = FunctionName<Service>, Transform extends TransformKey = "candid"> {
|
|
49
|
-
/**
|
|
50
|
-
|
|
52
|
+
/**
|
|
53
|
+
* The returned data from the method call. A method's `undefined` result is
|
|
54
|
+
* `null` here, as in `useActorQuery`, so `undefined` only means no call has
|
|
55
|
+
* settled yet.
|
|
56
|
+
*/
|
|
57
|
+
data: ReactorQueryData<ReactorReturnOk<Service, Method, Transform>> | undefined;
|
|
51
58
|
/** Whether the method is currently executing */
|
|
52
59
|
isLoading: boolean;
|
|
53
60
|
/** Alias for isLoading - whether a mutation is pending */
|
|
@@ -67,21 +74,24 @@ export interface UseActorMethodResult<Service = BaseActor, Method extends Functi
|
|
|
67
74
|
* For queries: triggers a refetch
|
|
68
75
|
* For mutations: executes the mutation with the provided args
|
|
69
76
|
*/
|
|
70
|
-
call: (args?: ReactorArgs<Service, Method, Transform>) => Promise<ReactorReturnOk<Service, Method, Transform
|
|
77
|
+
call: (args?: ReactorArgs<Service, Method, Transform>) => Promise<ReactorQueryData<ReactorReturnOk<Service, Method, Transform>> | undefined>;
|
|
71
78
|
/**
|
|
72
|
-
* Reset the state (
|
|
73
|
-
* For queries:
|
|
79
|
+
* Reset the state (data and error).
|
|
80
|
+
* For queries: resets this hook's own cache entry to its initial state, so
|
|
81
|
+
* `data` goes back to `initialData` when one was given and is cleared
|
|
82
|
+
* otherwise. An enabled hook then refetches. Other args of the same method
|
|
83
|
+
* are left alone.
|
|
74
84
|
* For mutations: resets the mutation state
|
|
75
85
|
*/
|
|
76
86
|
reset: () => void;
|
|
77
87
|
/**
|
|
78
88
|
* For queries only: Refetch the query
|
|
79
89
|
*/
|
|
80
|
-
refetch: () => Promise<ReactorReturnOk<Service, Method, Transform
|
|
90
|
+
refetch: () => Promise<ReactorQueryData<ReactorReturnOk<Service, Method, Transform>> | undefined>;
|
|
81
91
|
/** The raw query result (only available for query methods) */
|
|
82
|
-
queryResult?: UseQueryResult<ReactorReturnOk<Service, Method, Transform
|
|
92
|
+
queryResult?: UseQueryResult<ReactorQueryData<ReactorReturnOk<Service, Method, Transform>>, ReactorReturnErr<Service, Method, Transform>>;
|
|
83
93
|
/** The raw mutation result (only available for mutation methods) */
|
|
84
|
-
mutationResult?: UseMutationResult<ReactorReturnOk<Service, Method, Transform
|
|
94
|
+
mutationResult?: UseMutationResult<ReactorQueryData<ReactorReturnOk<Service, Method, Transform>>, ReactorReturnErr<Service, Method, Transform>, ReactorArgs<Service, Method, Transform>>;
|
|
85
95
|
}
|
|
86
96
|
/**
|
|
87
97
|
* A unified hook for calling canister methods that automatically handles
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useActorMethod.d.ts","sourceRoot":"","sources":["../../src/hooks/useActorMethod.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,KAAK,cAAc,EACnB,KAAK,iBAAiB,EACtB,KAAK,QAAQ,EACb,KAAK,oBAAoB,EAC1B,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EACL,OAAO,EACP,SAAS,EACT,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,eAAe,EACf,gBAAgB,EAChB,YAAY,EACb,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"useActorMethod.d.ts","sourceRoot":"","sources":["../../src/hooks/useActorMethod.ts"],"names":[],"mappings":"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"}
|