@ic-reactor/react 3.6.0 → 3.8.0
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/README.md +117 -13
- package/dist/auth/authentication-manager.d.ts +98 -0
- package/dist/auth/authentication-manager.d.ts.map +1 -0
- package/dist/auth/authentication-manager.js +532 -0
- package/dist/auth/authentication-manager.js.map +1 -0
- package/dist/auth/constants.d.ts +18 -0
- package/dist/auth/constants.d.ts.map +1 -0
- package/dist/auth/constants.js +18 -0
- package/dist/auth/constants.js.map +1 -0
- package/dist/auth/createIdentityAttributeHooks.d.ts +14 -0
- package/dist/auth/createIdentityAttributeHooks.d.ts.map +1 -0
- package/dist/auth/createIdentityAttributeHooks.js +54 -0
- package/dist/auth/createIdentityAttributeHooks.js.map +1 -0
- package/dist/auth/identity-attributes-manager.d.ts +26 -0
- package/dist/auth/identity-attributes-manager.d.ts.map +1 -0
- package/dist/auth/identity-attributes-manager.js +108 -0
- package/dist/auth/identity-attributes-manager.js.map +1 -0
- package/dist/auth/identity-attributes.d.ts +19 -0
- package/dist/auth/identity-attributes.d.ts.map +1 -0
- package/dist/auth/identity-attributes.js +170 -0
- package/dist/auth/identity-attributes.js.map +1 -0
- package/dist/auth/index.d.ts +8 -0
- package/dist/auth/index.d.ts.map +1 -0
- package/dist/auth/index.js +8 -0
- package/dist/auth/index.js.map +1 -0
- package/dist/auth/types.d.ts +182 -0
- package/dist/auth/types.d.ts.map +1 -0
- package/dist/auth/types.js +2 -0
- package/dist/auth/types.js.map +1 -0
- package/dist/createActorHooks.d.ts +16 -16
- package/dist/createActorHooks.d.ts.map +1 -1
- package/dist/createActorHooks.js +6 -6
- package/dist/createActorHooks.js.map +1 -1
- package/dist/createInfiniteQuery.d.ts +33 -33
- package/dist/createInfiniteQuery.d.ts.map +1 -1
- package/dist/createInfiniteQuery.js +6 -6
- package/dist/createInfiniteQuery.js.map +1 -1
- package/dist/createMutation.d.ts +13 -2
- package/dist/createMutation.d.ts.map +1 -1
- package/dist/createMutation.js +11 -0
- package/dist/createMutation.js.map +1 -1
- package/dist/createQuery.d.ts +13 -3
- package/dist/createQuery.d.ts.map +1 -1
- package/dist/createQuery.js +16 -6
- package/dist/createQuery.js.map +1 -1
- package/dist/createSuspenseInfiniteQuery.d.ts +32 -32
- package/dist/createSuspenseInfiniteQuery.d.ts.map +1 -1
- package/dist/createSuspenseInfiniteQuery.js +6 -6
- package/dist/createSuspenseInfiniteQuery.js.map +1 -1
- package/dist/createSuspenseQuery.d.ts +3 -3
- package/dist/createSuspenseQuery.d.ts.map +1 -1
- package/dist/createSuspenseQuery.js +1 -1
- package/dist/createSuspenseQuery.js.map +1 -1
- package/dist/defineReactor.d.ts +124 -0
- package/dist/defineReactor.d.ts.map +1 -0
- package/dist/defineReactor.js +145 -0
- package/dist/defineReactor.js.map +1 -0
- package/dist/{createAuthHooks.d.ts → hooks/createAuthHooks.d.ts} +6 -13
- package/dist/hooks/createAuthHooks.d.ts.map +1 -0
- package/dist/{createAuthHooks.js → hooks/createAuthHooks.js} +18 -58
- package/dist/hooks/createAuthHooks.js.map +1 -0
- package/dist/hooks/index.d.ts +2 -0
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/hooks/index.js +2 -0
- package/dist/hooks/index.js.map +1 -1
- package/dist/hooks/useActorInfiniteQuery.d.ts +9 -9
- package/dist/hooks/useActorInfiniteQuery.d.ts.map +1 -1
- package/dist/hooks/useActorInfiniteQuery.js +3 -1
- package/dist/hooks/useActorInfiniteQuery.js.map +1 -1
- package/dist/hooks/useActorMethod.d.ts +17 -17
- package/dist/hooks/useActorMethod.d.ts.map +1 -1
- package/dist/hooks/useActorMethod.js.map +1 -1
- package/dist/hooks/useActorMutation.d.ts +18 -7
- package/dist/hooks/useActorMutation.d.ts.map +1 -1
- package/dist/hooks/useActorMutation.js +11 -0
- package/dist/hooks/useActorMutation.js.map +1 -1
- package/dist/hooks/useActorQuery.d.ts +8 -8
- package/dist/hooks/useActorQuery.d.ts.map +1 -1
- package/dist/hooks/useActorQuery.js.map +1 -1
- package/dist/hooks/useActorSuspenseInfiniteQuery.d.ts +9 -9
- package/dist/hooks/useActorSuspenseInfiniteQuery.d.ts.map +1 -1
- package/dist/hooks/useActorSuspenseInfiniteQuery.js +3 -1
- package/dist/hooks/useActorSuspenseInfiniteQuery.js.map +1 -1
- package/dist/hooks/useActorSuspenseQuery.d.ts +8 -8
- package/dist/hooks/useActorSuspenseQuery.d.ts.map +1 -1
- package/dist/hooks/useActorSuspenseQuery.js.map +1 -1
- package/dist/index.d.ts +11 -10
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +11 -10
- package/dist/index.js.map +1 -1
- package/dist/types.d.ts +24 -24
- package/dist/types.d.ts.map +1 -1
- package/dist/utils.d.ts +3 -0
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +10 -2
- package/dist/utils.js.map +1 -1
- package/llms.txt +48 -0
- package/package.json +34 -23
- package/src/auth/authentication-manager.ts +591 -0
- package/src/auth/constants.ts +25 -0
- package/src/auth/createIdentityAttributeHooks.ts +83 -0
- package/src/auth/identity-attributes-manager.ts +136 -0
- package/src/auth/identity-attributes.ts +270 -0
- package/src/auth/index.ts +7 -0
- package/src/auth/types.ts +204 -0
- package/src/createActorHooks.ts +90 -58
- package/src/createInfiniteQuery.ts +154 -98
- package/src/createMutation.ts +35 -19
- package/src/createQuery.ts +94 -50
- package/src/createSuspenseInfiniteQuery.ts +166 -115
- package/src/createSuspenseQuery.ts +69 -43
- package/src/defineReactor.ts +272 -0
- package/src/{createAuthHooks.ts → hooks/createAuthHooks.ts} +23 -99
- package/src/hooks/index.ts +4 -0
- package/src/hooks/useActorInfiniteQuery.ts +44 -30
- package/src/hooks/useActorMethod.ts +62 -53
- package/src/hooks/useActorMutation.ts +47 -30
- package/src/hooks/useActorQuery.ts +36 -32
- package/src/hooks/useActorSuspenseInfiniteQuery.ts +56 -30
- package/src/hooks/useActorSuspenseQuery.ts +42 -32
- package/src/index.ts +12 -10
- package/src/types.ts +76 -71
- package/src/utils.ts +15 -2
- package/dist/createAuthHooks.d.ts.map +0 -1
- package/dist/createAuthHooks.js.map +0 -1
- package/src/hooks/useActorInfiniteQuery.test.tsx +0 -457
- package/src/hooks/useActorMethod.test.tsx +0 -798
- package/src/hooks/useActorMutation.test.tsx +0 -220
- package/src/hooks/useActorQuery.test.tsx +0 -287
- package/src/hooks/useActorSuspenseInfiniteQuery.test.tsx +0 -472
- package/src/hooks/useActorSuspenseQuery.test.tsx +0 -254
|
@@ -16,26 +16,26 @@
|
|
|
16
16
|
* const { data } = useActorQuery({ functionName: 'get_user' })
|
|
17
17
|
* const { mutate } = useActorMutation({ functionName: 'update_user' })
|
|
18
18
|
*/
|
|
19
|
-
import { Reactor, DisplayReactor, ReactorReturnErr, ReactorReturnOk, BaseActor, FunctionName, TransformKey } from "@ic-reactor/core";
|
|
19
|
+
import { Reactor, DisplayReactor, ReactorReturnErr, ReactorReturnOk, ReactorQueryData, BaseActor, FunctionName, TransformKey } from "@ic-reactor/core";
|
|
20
20
|
import { UseQueryResult, UseSuspenseQueryResult, UseInfiniteQueryResult, UseSuspenseInfiniteQueryResult, UseMutationResult, InfiniteData } from "@tanstack/react-query";
|
|
21
|
-
import { useActorMethod, UseActorMethodParameters } from "./hooks/useActorMethod";
|
|
22
|
-
import { InfiniteQueryConfig } from "./createInfiniteQuery";
|
|
23
|
-
import { SuspenseInfiniteQueryConfig } from "./createSuspenseInfiniteQuery";
|
|
24
|
-
import { QueryConfig, SuspenseQueryConfig, MutationConfig } from "./types";
|
|
25
|
-
export type ActorHooks<
|
|
21
|
+
import { useActorMethod, UseActorMethodParameters } from "./hooks/useActorMethod.js";
|
|
22
|
+
import { InfiniteQueryConfig } from "./createInfiniteQuery.js";
|
|
23
|
+
import { SuspenseInfiniteQueryConfig } from "./createSuspenseInfiniteQuery.js";
|
|
24
|
+
import { QueryConfig, SuspenseQueryConfig, MutationConfig } from "./types.js";
|
|
25
|
+
export type ActorHooks<Service, Transform extends TransformKey> = {
|
|
26
26
|
useActorQuery: {
|
|
27
|
-
<
|
|
28
|
-
<
|
|
27
|
+
<Method extends FunctionName<Service>>(config: QueryConfig<Service, Method, Transform, ReactorQueryData<ReactorReturnOk<Service, Method, Transform>>>): UseQueryResult<ReactorQueryData<ReactorReturnOk<Service, Method, Transform>>, ReactorReturnErr<Service, Method, Transform>>;
|
|
28
|
+
<Method extends FunctionName<Service>, TData>(config: QueryConfig<Service, Method, Transform, TData>): UseQueryResult<TData, ReactorReturnErr<Service, Method, Transform>>;
|
|
29
29
|
};
|
|
30
30
|
useActorSuspenseQuery: {
|
|
31
|
-
<
|
|
32
|
-
<
|
|
31
|
+
<Method extends FunctionName<Service>>(config: SuspenseQueryConfig<Service, Method, Transform, ReactorQueryData<ReactorReturnOk<Service, Method, Transform>>>): UseSuspenseQueryResult<ReactorQueryData<ReactorReturnOk<Service, Method, Transform>>, ReactorReturnErr<Service, Method, Transform>>;
|
|
32
|
+
<Method extends FunctionName<Service>, TData>(config: SuspenseQueryConfig<Service, Method, Transform, TData>): UseSuspenseQueryResult<TData, ReactorReturnErr<Service, Method, Transform>>;
|
|
33
33
|
};
|
|
34
|
-
useActorInfiniteQuery: <
|
|
35
|
-
useActorSuspenseInfiniteQuery: <
|
|
36
|
-
useActorMutation: <
|
|
37
|
-
useActorMethod: <
|
|
34
|
+
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>>;
|
|
35
|
+
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>>;
|
|
36
|
+
useActorMutation: <Method extends FunctionName<Service>>(config: MutationConfig<Service, Method, Transform>) => UseMutationResult<ReactorReturnOk<Service, Method, Transform>, ReactorReturnErr<Service, Method, Transform>>;
|
|
37
|
+
useActorMethod: <Method extends FunctionName<Service>>(config: Omit<UseActorMethodParameters<Service, Method, Transform>, "reactor">) => ReturnType<typeof useActorMethod<Service, Method, Transform>>;
|
|
38
38
|
};
|
|
39
|
-
export declare function createActorHooks<
|
|
40
|
-
export declare function createActorHooks<
|
|
39
|
+
export declare function createActorHooks<Service>(reactor: DisplayReactor<Service>): ActorHooks<Service, "display">;
|
|
40
|
+
export declare function createActorHooks<Service = BaseActor, Transform extends TransformKey = "candid">(reactor: Reactor<Service, Transform>): ActorHooks<Service, Transform>;
|
|
41
41
|
//# 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,SAAS,EACT,YAAY,EACZ,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,
|
|
1
|
+
{"version":3,"file":"createActorHooks.d.ts","sourceRoot":"","sources":["../src/createActorHooks.ts"],"names":[],"mappings":"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"}
|
package/dist/createActorHooks.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { useActorQuery } from "./hooks/useActorQuery";
|
|
2
|
-
import { useActorSuspenseQuery } from "./hooks/useActorSuspenseQuery";
|
|
3
|
-
import { useActorInfiniteQuery } from "./hooks/useActorInfiniteQuery";
|
|
4
|
-
import { useActorSuspenseInfiniteQuery } from "./hooks/useActorSuspenseInfiniteQuery";
|
|
5
|
-
import { useActorMutation } from "./hooks/useActorMutation";
|
|
6
|
-
import { useActorMethod, } from "./hooks/useActorMethod";
|
|
1
|
+
import { useActorQuery } from "./hooks/useActorQuery.js";
|
|
2
|
+
import { useActorSuspenseQuery } from "./hooks/useActorSuspenseQuery.js";
|
|
3
|
+
import { useActorInfiniteQuery } from "./hooks/useActorInfiniteQuery.js";
|
|
4
|
+
import { useActorSuspenseInfiniteQuery } from "./hooks/useActorSuspenseInfiniteQuery.js";
|
|
5
|
+
import { useActorMutation } from "./hooks/useActorMutation.js";
|
|
6
|
+
import { useActorMethod, } from "./hooks/useActorMethod.js";
|
|
7
7
|
export function createActorHooks(reactor) {
|
|
8
8
|
return {
|
|
9
9
|
useActorQuery: ((config) => useActorQuery({ ...config, reactor })),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createActorHooks.js","sourceRoot":"","sources":["../src/createActorHooks.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"createActorHooks.js","sourceRoot":"","sources":["../src/createActorHooks.ts"],"names":[],"mappings":"AAoCA,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;AA6FlC,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"}
|
|
@@ -21,32 +21,32 @@
|
|
|
21
21
|
* // Invalidate cache
|
|
22
22
|
* postsQuery.invalidate()
|
|
23
23
|
*/
|
|
24
|
-
import type { Reactor, FunctionName, ReactorArgs, BaseActor, TransformKey, ReactorReturnOk, ReactorReturnErr } from "@ic-reactor/core";
|
|
24
|
+
import type { Reactor, FunctionName, ReactorArgs, BaseActor, TransformKey, ReactorReturnOk, ReactorQueryData, ReactorReturnErr } from "@ic-reactor/core";
|
|
25
25
|
import { QueryKey, InfiniteData, UseInfiniteQueryResult, UseInfiniteQueryOptions, InfiniteQueryObserverOptions } from "@tanstack/react-query";
|
|
26
26
|
import { CallConfig } from "@icp-sdk/core/agent";
|
|
27
|
-
import { NoInfer } from "./types";
|
|
28
|
-
type InfiniteQueryFactoryFn<
|
|
29
|
-
(getArgs: (pageParam: TPageParam) => ReactorArgs<
|
|
27
|
+
import { NoInfer } from "./types.js";
|
|
28
|
+
type InfiniteQueryFactoryFn<Service, Method extends FunctionName<Service>, Transform extends TransformKey, TPageParam, Selected> = {
|
|
29
|
+
(getArgs: (pageParam: TPageParam) => ReactorArgs<Service, Method, Transform>): InfiniteQueryResult<InfiniteQueryPageData<Service, Method, Transform>, TPageParam, Selected, InfiniteQueryError<Service, Method, Transform>>;
|
|
30
30
|
};
|
|
31
31
|
/** The raw page data type returned by the query function */
|
|
32
|
-
export type InfiniteQueryPageData<
|
|
32
|
+
export type InfiniteQueryPageData<Service = BaseActor, Method extends FunctionName<Service> = FunctionName<Service>, Transform extends TransformKey = "candid"> = ReactorQueryData<ReactorReturnOk<Service, Method, Transform>>;
|
|
33
33
|
/** The error type for infinite queries */
|
|
34
|
-
export type InfiniteQueryError<
|
|
34
|
+
export type InfiniteQueryError<Service = BaseActor, Method extends FunctionName<Service> = FunctionName<Service>, Transform extends TransformKey = "candid"> = ReactorReturnErr<Service, Method, Transform>;
|
|
35
35
|
/**
|
|
36
36
|
* Configuration for createActorInfiniteQuery.
|
|
37
37
|
* Extends InfiniteQueryObserverOptions to accept standard TanStack Query
|
|
38
38
|
* infinite-query options at the create level (e.g. refetchInterval,
|
|
39
39
|
* refetchOnMount, refetchOnWindowFocus, retry, gcTime, networkMode).
|
|
40
40
|
*
|
|
41
|
-
* @template
|
|
42
|
-
* @template
|
|
43
|
-
* @template
|
|
41
|
+
* @template Service - The actor interface type
|
|
42
|
+
* @template Method - The method name on the actor
|
|
43
|
+
* @template Transform - The transformation key (identity, display, etc.)
|
|
44
44
|
* @template TPageParam - The type of the page parameter
|
|
45
|
-
* @template
|
|
45
|
+
* @template Selected - The type returned after select transformation
|
|
46
46
|
*/
|
|
47
|
-
export interface InfiniteQueryConfig<
|
|
47
|
+
export interface InfiniteQueryConfig<Service = BaseActor, Method extends FunctionName<Service> = FunctionName<Service>, Transform extends TransformKey = "candid", TPageParam = unknown, Selected = InfiniteData<InfiniteQueryPageData<Service, Method, Transform>, TPageParam>> extends Omit<InfiniteQueryObserverOptions<InfiniteQueryPageData<Service, Method, Transform>, InfiniteQueryError<Service, Method, Transform>, Selected, QueryKey, TPageParam>, "queryKey" | "queryFn"> {
|
|
48
48
|
/** The method to call on the canister */
|
|
49
|
-
functionName:
|
|
49
|
+
functionName: Method;
|
|
50
50
|
/** Call configuration for the actor method */
|
|
51
51
|
callConfig?: CallConfig;
|
|
52
52
|
/** Custom query key (optional, auto-generated if not provided) */
|
|
@@ -54,31 +54,31 @@ export interface InfiniteQueryConfig<A = BaseActor, M extends FunctionName<A> =
|
|
|
54
54
|
/** Initial page parameter */
|
|
55
55
|
initialPageParam: TPageParam;
|
|
56
56
|
/** Function to get args from page parameter */
|
|
57
|
-
getArgs: (pageParam: TPageParam) => ReactorArgs<
|
|
57
|
+
getArgs: (pageParam: TPageParam) => ReactorArgs<Service, Method, Transform>;
|
|
58
58
|
/** Function to determine next page parameter */
|
|
59
|
-
getNextPageParam: (lastPage: InfiniteQueryPageData<
|
|
59
|
+
getNextPageParam: (lastPage: InfiniteQueryPageData<Service, Method, Transform>, allPages: InfiniteQueryPageData<Service, Method, Transform>[], lastPageParam: TPageParam, allPageParams: TPageParam[]) => TPageParam | undefined | null;
|
|
60
60
|
/** Function to determine previous page parameter (for bi-directional) */
|
|
61
|
-
getPreviousPageParam?: (firstPage: InfiniteQueryPageData<
|
|
61
|
+
getPreviousPageParam?: (firstPage: InfiniteQueryPageData<Service, Method, Transform>, allPages: InfiniteQueryPageData<Service, Method, Transform>[], firstPageParam: TPageParam, allPageParams: TPageParam[]) => TPageParam | undefined | null;
|
|
62
62
|
}
|
|
63
63
|
/**
|
|
64
64
|
* Configuration for createActorInfiniteQueryFactory (without initialPageParam, getArgs determined at call time).
|
|
65
65
|
*/
|
|
66
|
-
export type InfiniteQueryFactoryConfig<
|
|
66
|
+
export type InfiniteQueryFactoryConfig<Service = BaseActor, Method extends FunctionName<Service> = FunctionName<Service>, Transform extends TransformKey = "candid", TPageParam = unknown, Selected = InfiniteData<InfiniteQueryPageData<Service, Method, Transform>, TPageParam>> = Omit<InfiniteQueryConfig<Service, Method, Transform, TPageParam, Selected>, "getArgs"> & {
|
|
67
67
|
/**
|
|
68
68
|
* Optional key-args derivation for factory calls.
|
|
69
69
|
* Receives the resolved args from `getArgs(initialPageParam)` and should return
|
|
70
70
|
* a stable serializable representation of the logical query identity
|
|
71
71
|
* (typically excluding pagination/cursor fields).
|
|
72
72
|
*/
|
|
73
|
-
getKeyArgs?: (args: ReactorArgs<
|
|
73
|
+
getKeyArgs?: (args: ReactorArgs<Service, Method, Transform>) => unknown;
|
|
74
74
|
};
|
|
75
75
|
/**
|
|
76
76
|
* useInfiniteQuery hook with chained select support.
|
|
77
77
|
*/
|
|
78
|
-
export interface UseInfiniteQueryWithSelect<TPageData, TPageParam,
|
|
79
|
-
(options?: Omit<UseInfiniteQueryOptions<TPageData, TError,
|
|
80
|
-
<TFinal =
|
|
81
|
-
select: (data:
|
|
78
|
+
export interface UseInfiniteQueryWithSelect<TPageData, TPageParam, Selected = InfiniteData<TPageData, TPageParam>, TError = Error> {
|
|
79
|
+
(options?: Omit<UseInfiniteQueryOptions<TPageData, TError, Selected, QueryKey, TPageParam>, "select" | "queryKey" | "queryFn" | "initialPageParam" | "getNextPageParam" | "getPreviousPageParam">): UseInfiniteQueryResult<Selected, TError>;
|
|
80
|
+
<TFinal = Selected>(options: Omit<UseInfiniteQueryOptions<TPageData, TError, TFinal, QueryKey, TPageParam>, "queryKey" | "queryFn" | "select" | "initialPageParam" | "getNextPageParam" | "getPreviousPageParam"> & {
|
|
81
|
+
select: (data: Selected) => TFinal;
|
|
82
82
|
}): UseInfiniteQueryResult<TFinal, TError>;
|
|
83
83
|
}
|
|
84
84
|
/**
|
|
@@ -86,14 +86,14 @@ export interface UseInfiniteQueryWithSelect<TPageData, TPageParam, TSelected = I
|
|
|
86
86
|
*
|
|
87
87
|
* @template TPageData - The raw page data type
|
|
88
88
|
* @template TPageParam - The page parameter type
|
|
89
|
-
* @template
|
|
89
|
+
* @template Selected - The type after select transformation
|
|
90
90
|
* @template TError - The error type
|
|
91
91
|
*/
|
|
92
|
-
export interface InfiniteQueryResult<TPageData, TPageParam,
|
|
92
|
+
export interface InfiniteQueryResult<TPageData, TPageParam, Selected = InfiniteData<TPageData, TPageParam>, TError = Error> {
|
|
93
93
|
/** Fetch first page in loader (uses ensureQueryData for cache-first) */
|
|
94
|
-
fetch: () => Promise<
|
|
94
|
+
fetch: () => Promise<Selected>;
|
|
95
95
|
/** React hook for components - supports pagination */
|
|
96
|
-
useInfiniteQuery: UseInfiniteQueryWithSelect<TPageData, TPageParam,
|
|
96
|
+
useInfiniteQuery: UseInfiniteQueryWithSelect<TPageData, TPageParam, Selected, TError>;
|
|
97
97
|
/** Invalidate the cache (refetches if query is active) */
|
|
98
98
|
invalidate: () => Promise<void>;
|
|
99
99
|
/** Get query key (for advanced React Query usage) */
|
|
@@ -103,20 +103,20 @@ export interface InfiniteQueryResult<TPageData, TPageParam, TSelected = Infinite
|
|
|
103
103
|
* Returns undefined if data is not in cache.
|
|
104
104
|
*/
|
|
105
105
|
getCacheData: {
|
|
106
|
-
():
|
|
107
|
-
<TFinal>(select: (data:
|
|
106
|
+
(): Selected | undefined;
|
|
107
|
+
<TFinal>(select: (data: Selected) => TFinal): TFinal | undefined;
|
|
108
108
|
};
|
|
109
109
|
}
|
|
110
|
-
export declare function createInfiniteQuery<
|
|
110
|
+
export declare function createInfiniteQuery<Service, Transform extends TransformKey, Method extends FunctionName<Service> = FunctionName<Service>, TPageParam = unknown, Selected = InfiniteData<InfiniteQueryPageData<Service, Method, Transform>, TPageParam>>(reactor: Reactor<Service, Transform>, config: InfiniteQueryConfig<NoInfer<Service>, Method, Transform, TPageParam, Selected>): InfiniteQueryResult<InfiniteQueryPageData<Service, Method, Transform>, TPageParam, Selected, InfiniteQueryError<Service, Method, Transform>>;
|
|
111
111
|
/**
|
|
112
112
|
* Create an infinite query factory that accepts getArgs at call time.
|
|
113
113
|
* Useful when pagination logic varies by context.
|
|
114
114
|
*
|
|
115
|
-
* @template
|
|
116
|
-
* @template
|
|
117
|
-
* @template
|
|
115
|
+
* @template Service - The actor interface type
|
|
116
|
+
* @template Method - The method name on the actor
|
|
117
|
+
* @template Transform - The transformation key (identity, display, etc.)
|
|
118
118
|
* @template TPageParam - The page parameter type
|
|
119
|
-
* @template
|
|
119
|
+
* @template Selected - The type returned after select transformation
|
|
120
120
|
*
|
|
121
121
|
* @param reactor - The Reactor instance
|
|
122
122
|
* @param config - Infinite query configuration (without getArgs)
|
|
@@ -137,6 +137,6 @@ export declare function createInfiniteQuery<A, T extends TransformKey, M extends
|
|
|
137
137
|
* const userPostsQuery = getPostsQuery((cursor) => [{ userId, cursor, limit: 10 }])
|
|
138
138
|
* const { data, fetchNextPage } = userPostsQuery.useInfiniteQuery()
|
|
139
139
|
*/
|
|
140
|
-
export declare function createInfiniteQueryFactory<
|
|
140
|
+
export declare function createInfiniteQueryFactory<Service, Transform extends TransformKey, Method extends FunctionName<Service> = FunctionName<Service>, TPageParam = unknown, Selected = InfiniteData<InfiniteQueryPageData<Service, Method, Transform>, TPageParam>>(reactor: Reactor<Service, Transform>, config: InfiniteQueryFactoryConfig<NoInfer<Service>, Method, Transform, TPageParam, Selected>): InfiniteQueryFactoryFn<Service, Method, Transform, TPageParam, Selected>;
|
|
141
141
|
export {};
|
|
142
142
|
//# sourceMappingURL=createInfiniteQuery.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createInfiniteQuery.d.ts","sourceRoot":"","sources":["../src/createInfiniteQuery.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,KAAK,EACV,OAAO,EACP,YAAY,EACZ,WAAW,EACX,SAAS,EACT,YAAY,EACZ,eAAe,EACf,gBAAgB,EACjB,MAAM,kBAAkB,CAAA;AACzB,OAAO,EACL,QAAQ,EAER,YAAY,EACZ,sBAAsB,EACtB,uBAAuB,EAGvB,4BAA4B,EAC7B,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"createInfiniteQuery.d.ts","sourceRoot":"","sources":["../src/createInfiniteQuery.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,KAAK,EACV,OAAO,EACP,YAAY,EACZ,WAAW,EACX,SAAS,EACT,YAAY,EACZ,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EACjB,MAAM,kBAAkB,CAAA;AACzB,OAAO,EACL,QAAQ,EAER,YAAY,EACZ,sBAAsB,EACtB,uBAAuB,EAGvB,4BAA4B,EAC7B,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAGpC,KAAK,sBAAsB,CACzB,OAAO,EACP,MAAM,SAAS,YAAY,CAAC,OAAO,CAAC,EACpC,SAAS,SAAS,YAAY,EAC9B,UAAU,EACV,QAAQ,IACN;IACF,CACE,OAAO,EAAE,CAAC,SAAS,EAAE,UAAU,KAAK,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,GAC1E,mBAAmB,CACpB,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EACjD,UAAU,EACV,QAAQ,EACR,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CAC/C,CAAA;CACF,CAAA;AAMD,4DAA4D;AAC5D,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,gBAAgB,CAAC,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,CAAA;AAEjE,0CAA0C;AAC1C,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,IACvC,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CAAA;AAMhD;;;;;;;;;;;GAWG;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,EACzC,UAAU,GAAG,OAAO,EACpB,QAAQ,GAAG,YAAY,CACrB,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EACjD,UAAU,CACX,CACD,SAAQ,IAAI,CACZ,4BAA4B,CAC1B,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EACjD,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EAC9C,QAAQ,EACR,QAAQ,EACR,UAAU,CACX,EACD,UAAU,GAAG,SAAS,CACvB;IACC,yCAAyC;IACzC,YAAY,EAAE,MAAM,CAAA;IACpB,8CAA8C;IAC9C,UAAU,CAAC,EAAE,UAAU,CAAA;IACvB,kEAAkE;IAClE,QAAQ,CAAC,EAAE,QAAQ,CAAA;IACnB,6BAA6B;IAC7B,gBAAgB,EAAE,UAAU,CAAA;IAC5B,+CAA+C;IAC/C,OAAO,EAAE,CAAC,SAAS,EAAE,UAAU,KAAK,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CAAA;IAC3E,gDAAgD;IAChD,gBAAgB,EAAE,CAChB,QAAQ,EAAE,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EAC3D,QAAQ,EAAE,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,EAC7D,aAAa,EAAE,UAAU,EACzB,aAAa,EAAE,UAAU,EAAE,KACxB,UAAU,GAAG,SAAS,GAAG,IAAI,CAAA;IAClC,yEAAyE;IACzE,oBAAoB,CAAC,EAAE,CACrB,SAAS,EAAE,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EAC5D,QAAQ,EAAE,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,EAC7D,cAAc,EAAE,UAAU,EAC1B,aAAa,EAAE,UAAU,EAAE,KACxB,UAAU,GAAG,SAAS,GAAG,IAAI,CAAA;CACnC;AAED;;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,UAAU,GAAG,OAAO,EACpB,QAAQ,GAAG,YAAY,CACrB,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EACjD,UAAU,CACX,IACC,IAAI,CACN,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,CAAC,EACrE,SAAS,CACV,GAAG;IACF;;;;;OAKG;IACH,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,KAAK,OAAO,CAAA;CACxE,CAAA;AAMD;;GAEG;AACH,MAAM,WAAW,0BAA0B,CACzC,SAAS,EACT,UAAU,EACV,QAAQ,GAAG,YAAY,CAAC,SAAS,EAAE,UAAU,CAAC,EAC9C,MAAM,GAAG,KAAK;IAGd,CACE,OAAO,CAAC,EAAE,IAAI,CACZ,uBAAuB,CACrB,SAAS,EACT,MAAM,EACN,QAAQ,EACR,QAAQ,EACR,UAAU,CACX,EACC,QAAQ,GACR,UAAU,GACV,SAAS,GACT,kBAAkB,GAClB,kBAAkB,GAClB,sBAAsB,CACzB,GACA,sBAAsB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;IAG3C,CAAC,MAAM,GAAG,QAAQ,EAChB,OAAO,EAAE,IAAI,CACX,uBAAuB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,CAAC,EACtE,UAAU,GACV,SAAS,GACT,QAAQ,GACR,kBAAkB,GAClB,kBAAkB,GAClB,sBAAsB,CACzB,GAAG;QACF,MAAM,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,MAAM,CAAA;KACnC,GACA,sBAAsB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAC1C;AAMD;;;;;;;GAOG;AACH,MAAM,WAAW,mBAAmB,CAClC,SAAS,EACT,UAAU,EACV,QAAQ,GAAG,YAAY,CAAC,SAAS,EAAE,UAAU,CAAC,EAC9C,MAAM,GAAG,KAAK;IAEd,wEAAwE;IACxE,KAAK,EAAE,MAAM,OAAO,CAAC,QAAQ,CAAC,CAAA;IAE9B,sDAAsD;IACtD,gBAAgB,EAAE,0BAA0B,CAC1C,SAAS,EACT,UAAU,EACV,QAAQ,EACR,MAAM,CACP,CAAA;IAED,0DAA0D;IAC1D,UAAU,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IAE/B,qDAAqD;IACrD,WAAW,EAAE,MAAM,QAAQ,CAAA;IAE3B;;;OAGG;IACH,YAAY,EAAE;QACZ,IAAI,QAAQ,GAAG,SAAS,CAAA;QACxB,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,MAAM,GAAG,MAAM,GAAG,SAAS,CAAA;KACjE,CAAA;CACF;AAmLD,wBAAgB,mBAAmB,CACjC,OAAO,EACP,SAAS,SAAS,YAAY,EAC9B,MAAM,SAAS,YAAY,CAAC,OAAO,CAAC,GAAG,YAAY,CAAC,OAAO,CAAC,EAC5D,UAAU,GAAG,OAAO,EACpB,QAAQ,GAAG,YAAY,CACrB,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EACjD,UAAU,CACX,EAED,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,SAAS,CAAC,EACpC,MAAM,EAAE,mBAAmB,CACzB,OAAO,CAAC,OAAO,CAAC,EAChB,MAAM,EACN,SAAS,EACT,UAAU,EACV,QAAQ,CACT,GACA,mBAAmB,CACpB,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EACjD,UAAU,EACV,QAAQ,EACR,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CAC/C,CAWA;AAMD;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,wBAAgB,0BAA0B,CACxC,OAAO,EACP,SAAS,SAAS,YAAY,EAC9B,MAAM,SAAS,YAAY,CAAC,OAAO,CAAC,GAAG,YAAY,CAAC,OAAO,CAAC,EAC5D,UAAU,GAAG,OAAO,EACpB,QAAQ,GAAG,YAAY,CACrB,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EACjD,UAAU,CACX,EAED,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,SAAS,CAAC,EACpC,MAAM,EAAE,0BAA0B,CAChC,OAAO,CAAC,OAAO,CAAC,EAChB,MAAM,EACN,SAAS,EACT,UAAU,EACV,QAAQ,CACT,GACA,sBAAsB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,CAAC,CAoC1E"}
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
* postsQuery.invalidate()
|
|
23
23
|
*/
|
|
24
24
|
import { useInfiniteQuery, } from "@tanstack/react-query";
|
|
25
|
-
import { mergeFactoryQueryKey } from "./utils";
|
|
25
|
+
import { mergeFactoryQueryKey, normalizeQueryData } from "./utils.js";
|
|
26
26
|
// ============================================================================
|
|
27
27
|
// Internal Implementation
|
|
28
28
|
// ============================================================================
|
|
@@ -45,7 +45,7 @@ const createInfiniteQueryImpl = (reactor, config) => {
|
|
|
45
45
|
args,
|
|
46
46
|
callConfig,
|
|
47
47
|
});
|
|
48
|
-
return result;
|
|
48
|
+
return normalizeQueryData(result);
|
|
49
49
|
};
|
|
50
50
|
// Get infinite query options for fetchInfiniteQuery
|
|
51
51
|
const getInfiniteQueryOptions = () => ({
|
|
@@ -130,11 +130,11 @@ export function createInfiniteQuery(reactor, config) {
|
|
|
130
130
|
* Create an infinite query factory that accepts getArgs at call time.
|
|
131
131
|
* Useful when pagination logic varies by context.
|
|
132
132
|
*
|
|
133
|
-
* @template
|
|
134
|
-
* @template
|
|
135
|
-
* @template
|
|
133
|
+
* @template Service - The actor interface type
|
|
134
|
+
* @template Method - The method name on the actor
|
|
135
|
+
* @template Transform - The transformation key (identity, display, etc.)
|
|
136
136
|
* @template TPageParam - The page parameter type
|
|
137
|
-
* @template
|
|
137
|
+
* @template Selected - The type returned after select transformation
|
|
138
138
|
*
|
|
139
139
|
* @param reactor - The Reactor instance
|
|
140
140
|
* @param config - Infinite query configuration (without getArgs)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createInfiniteQuery.js","sourceRoot":"","sources":["../src/createInfiniteQuery.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;
|
|
1
|
+
{"version":3,"file":"createInfiniteQuery.js","sourceRoot":"","sources":["../src/createInfiniteQuery.ts"],"names":[],"mappings":"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"}
|
package/dist/createMutation.d.ts
CHANGED
|
@@ -3,6 +3,8 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Creates unified mutation hooks for any canister method.
|
|
5
5
|
* Works with any Reactor instance.
|
|
6
|
+
* Use this when one mutation should support both React hooks and imperative
|
|
7
|
+
* execution outside React.
|
|
6
8
|
*
|
|
7
9
|
* @example
|
|
8
10
|
* const transferMutation = createMutation(reactor, {
|
|
@@ -12,8 +14,17 @@
|
|
|
12
14
|
*
|
|
13
15
|
* // In component
|
|
14
16
|
* const { mutate, isPending } = transferMutation.useMutation()
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* const transferMutation = createMutation(reactor, {
|
|
20
|
+
* functionName: "transfer",
|
|
21
|
+
* onCanisterError: (err) => console.error(err.code),
|
|
22
|
+
* })
|
|
23
|
+
*
|
|
24
|
+
* // Outside React (loader/service/script)
|
|
25
|
+
* await transferMutation.execute([{ to: "aaaaa-aa", amount: "1000" }])
|
|
15
26
|
*/
|
|
16
27
|
import type { Reactor, FunctionName, TransformKey } from "@ic-reactor/core";
|
|
17
|
-
import type { MutationConfig, MutationResult, NoInfer } from "./types";
|
|
18
|
-
export declare function createMutation<
|
|
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>;
|
|
19
30
|
//# sourceMappingURL=createMutation.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createMutation.d.ts","sourceRoot":"","sources":["../src/createMutation.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"createMutation.d.ts","sourceRoot":"","sources":["../src/createMutation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAGH,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;AAsHnB,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"}
|
package/dist/createMutation.js
CHANGED
|
@@ -3,6 +3,8 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Creates unified mutation hooks for any canister method.
|
|
5
5
|
* Works with any Reactor instance.
|
|
6
|
+
* Use this when one mutation should support both React hooks and imperative
|
|
7
|
+
* execution outside React.
|
|
6
8
|
*
|
|
7
9
|
* @example
|
|
8
10
|
* const transferMutation = createMutation(reactor, {
|
|
@@ -12,6 +14,15 @@
|
|
|
12
14
|
*
|
|
13
15
|
* // In component
|
|
14
16
|
* const { mutate, isPending } = transferMutation.useMutation()
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* const transferMutation = createMutation(reactor, {
|
|
20
|
+
* functionName: "transfer",
|
|
21
|
+
* onCanisterError: (err) => console.error(err.code),
|
|
22
|
+
* })
|
|
23
|
+
*
|
|
24
|
+
* // Outside React (loader/service/script)
|
|
25
|
+
* await transferMutation.execute([{ to: "aaaaa-aa", amount: "1000" }])
|
|
15
26
|
*/
|
|
16
27
|
import { useMutation } from "@tanstack/react-query";
|
|
17
28
|
import { isCanisterError } from "@ic-reactor/core";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createMutation.js","sourceRoot":"","sources":["../src/createMutation.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"createMutation.js","sourceRoot":"","sources":["../src/createMutation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAQnD,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAQlD,+EAA+E;AAC/E,mBAAmB;AACnB,+EAA+E;AAE/E,6EAA6E;AAC7E,KAAK,UAAU,aAAa,CAC1B,WAA6C,EAC7C,IAA8D;IAE9D,MAAM,OAAO,CAAC,GAAG,CACf,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CACpB,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,iBAAiB,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAC3E,CACF,CAAA;AACH,CAAC;AAED,+EAA+E;AAC/E,0BAA0B;AAC1B,+EAA+E;AAE/E,MAAM,kBAAkB,GAAG,CAKzB,OAAoC,EACpC,MAAkD,EACN,EAAE;IAC9C,MAAM,EACJ,YAAY,EACZ,UAAU,EACV,iBAAiB,EAAE,wBAAwB,EAC3C,SAAS,EAAE,gBAAgB,EAC3B,eAAe,EAAE,sBAAsB,EACvC,OAAO,EAAE,cAAc,EACvB,GAAG,cAAc,EAClB,GAAG,MAAM,CAAA;IAEV;;;;OAIG;IACH,MAAM,MAAM,GAAG,CACb,IAA6C,EACS,EAAE,CACxD,OAAO,CAAC,UAAU,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAA;IAExD;;;;OAIG;IACH,MAAM,OAAO,GAAG,KAAK,EACnB,IAA6C,EACS,EAAE;QACxD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,CAAA;QACjC,IAAI,wBAAwB,EAAE,CAAC;YAC7B,MAAM,aAAa,CAAC,OAAO,CAAC,WAAW,EAAE,wBAAwB,CAAC,CAAA;QACpE,CAAC;QACD,OAAO,MAAM,CAAA;IACf,CAAC,CAAA;IAED,sBAAsB;IACtB,MAAM,eAAe,GAAG,CACtB,OAAyD,EACzD,EAAE;QACF,MAAM,WAAW,GAAG,OAAO,CAAC,eAAe,CAAC,EAAE,YAAY,EAAE,CAAC,CAAA;QAC7D,MAAM,EACJ,iBAAiB,EAAE,qBAAqB,EACxC,eAAe,EAAE,mBAAmB,EACpC,GAAG,WAAW,EACf,GAAG,OAAO,IAAI,EAAE,CAAA;QAEjB,OAAO,WAAW,CAChB;YACE,WAAW,EAAE,WAAW,CAAC,QAAQ;YACjC,GAAG,cAAc;YACjB,GAAG,WAAW;YACd,yDAAyD;YACzD,2DAA2D;YAC3D,UAAU,EAAE,MAAM;YAClB,SAAS,EAAE,KAAK,EAAE,GAAG,IAAI,EAAE,EAAE;gBAC3B,gCAAgC;gBAChC,IAAI,wBAAwB,EAAE,CAAC;oBAC7B,MAAM,aAAa,CAAC,OAAO,CAAC,WAAW,EAAE,wBAAwB,CAAC,CAAA;gBACpE,CAAC;gBACD,6BAA6B;gBAC7B,IAAI,qBAAqB,EAAE,CAAC;oBAC1B,MAAM,aAAa,CAAC,OAAO,CAAC,WAAW,EAAE,qBAAqB,CAAC,CAAA;gBACjE,CAAC;gBACD,uBAAuB;gBACvB,MAAM,gBAAgB,EAAE,CAAC,GAAG,IAAI,CAAC,CAAA;gBACjC,oBAAoB;gBACpB,MAAM,WAAW,CAAC,SAAS,EAAE,CAAC,GAAG,IAAI,CAAC,CAAA;YACxC,CAAC;YACD,OAAO,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE;gBAC/C,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;oBAC3B,sBAAsB,EAAE,CAAC,KAAK,EAAE,SAAS,CAAC,CAAA;oBAC1C,mBAAmB,EAAE,CAAC,KAAK,EAAE,SAAS,CAAC,CAAA;gBACzC,CAAC;gBACD,cAAc,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAA;gBACrD,WAAW,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAA;YAC5D,CAAC;SACF,EACD,OAAO,CAAC,WAAW,CACpB,CAAA;IACH,CAAC,CAAA;IAED,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,OAAO,EAAE,CAAA;AAClD,CAAC,CAAA;AAED,+EAA+E;AAC/E,0BAA0B;AAC1B,+EAA+E;AAE/E,MAAM,UAAU,cAAc,CAK5B,OAAoC,EACpC,MAA2D;IAE3D,OAAO,kBAAkB,CACvB,OAAO,EACP,MAAoD,CACrD,CAAA;AACH,CAAC"}
|
package/dist/createQuery.d.ts
CHANGED
|
@@ -3,6 +3,8 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Creates unified fetch/hook/invalidate functions for any canister method.
|
|
5
5
|
* Works with any Reactor instance.
|
|
6
|
+
* Use this when the same read operation must work both inside React components
|
|
7
|
+
* and outside React (loaders, actions, services, tests).
|
|
6
8
|
*
|
|
7
9
|
* @example
|
|
8
10
|
* const userQuery = createQuery(todoManager, {
|
|
@@ -12,9 +14,17 @@
|
|
|
12
14
|
*
|
|
13
15
|
* // In component
|
|
14
16
|
* const { data: user } = userQuery.useQuery()
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* const userQuery = createQuery(todoManager, { functionName: "get_user", args: ["alice"] })
|
|
20
|
+
*
|
|
21
|
+
* // Outside React (loader/service/script)
|
|
22
|
+
* await userQuery.fetch()
|
|
23
|
+
* const cached = userQuery.getCacheData()
|
|
24
|
+
* await userQuery.invalidate()
|
|
15
25
|
*/
|
|
16
26
|
import type { Reactor, FunctionName, ReactorArgs, TransformKey } from "@ic-reactor/core";
|
|
17
|
-
import type { QueryFnData, QueryError, QueryConfig, QueryResult, QueryFactoryConfig, NoInfer } from "./types";
|
|
18
|
-
export declare function createQuery<
|
|
19
|
-
export declare function createQueryFactory<
|
|
27
|
+
import type { QueryFnData, QueryError, QueryConfig, QueryResult, QueryFactoryConfig, NoInfer } from "./types.js";
|
|
28
|
+
export declare function createQuery<Service, Transform extends TransformKey, Method extends FunctionName<Service> = FunctionName<Service>, Selected = QueryFnData<Service, Method, Transform>>(reactor: Reactor<Service, Transform>, config: QueryConfig<NoInfer<Service>, Method, Transform, Selected>): QueryResult<QueryFnData<Service, Method, Transform>, Selected, QueryError<Service, Method, Transform>>;
|
|
29
|
+
export declare function createQueryFactory<Service, Transform extends TransformKey, Method extends FunctionName<Service> = FunctionName<Service>, Selected = QueryFnData<Service, Method, Transform>>(reactor: Reactor<Service, Transform>, config: QueryFactoryConfig<NoInfer<Service>, Method, Transform, Selected>): (args: ReactorArgs<Service, Method, Transform>) => QueryResult<QueryFnData<Service, Method, Transform>, Selected, QueryError<Service, Method, Transform>>;
|
|
20
30
|
//# sourceMappingURL=createQuery.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createQuery.d.ts","sourceRoot":"","sources":["../src/createQuery.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"createQuery.d.ts","sourceRoot":"","sources":["../src/createQuery.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,KAAK,EACV,OAAO,EACP,YAAY,EACZ,WAAW,EACX,YAAY,EACb,MAAM,kBAAkB,CAAA;AAOzB,OAAO,KAAK,EACV,WAAW,EACX,UAAU,EACV,WAAW,EAEX,WAAW,EACX,kBAAkB,EAClB,OAAO,EACR,MAAM,YAAY,CAAA;AAoHnB,wBAAgB,WAAW,CACzB,OAAO,EACP,SAAS,SAAS,YAAY,EAC9B,MAAM,SAAS,YAAY,CAAC,OAAO,CAAC,GAAG,YAAY,CAAC,OAAO,CAAC,EAC5D,QAAQ,GAAG,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EAElD,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,SAAS,CAAC,EACpC,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC,GACjE,WAAW,CACZ,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EACvC,QAAQ,EACR,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CACvC,CAKA;AAMD,wBAAgB,kBAAkB,CAChC,OAAO,EACP,SAAS,SAAS,YAAY,EAC9B,MAAM,SAAS,YAAY,CAAC,OAAO,CAAC,GAAG,YAAY,CAAC,OAAO,CAAC,EAC5D,QAAQ,GAAG,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EAElD,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,SAAS,CAAC,EACpC,MAAM,EAAE,kBAAkB,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC,GACxE,CACD,IAAI,EAAE,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,KAC1C,WAAW,CACd,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EACvC,QAAQ,EACR,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CACvC,CA8BA"}
|
package/dist/createQuery.js
CHANGED
|
@@ -3,6 +3,8 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Creates unified fetch/hook/invalidate functions for any canister method.
|
|
5
5
|
* Works with any Reactor instance.
|
|
6
|
+
* Use this when the same read operation must work both inside React components
|
|
7
|
+
* and outside React (loaders, actions, services, tests).
|
|
6
8
|
*
|
|
7
9
|
* @example
|
|
8
10
|
* const userQuery = createQuery(todoManager, {
|
|
@@ -12,9 +14,17 @@
|
|
|
12
14
|
*
|
|
13
15
|
* // In component
|
|
14
16
|
* const { data: user } = userQuery.useQuery()
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* const userQuery = createQuery(todoManager, { functionName: "get_user", args: ["alice"] })
|
|
20
|
+
*
|
|
21
|
+
* // Outside React (loader/service/script)
|
|
22
|
+
* await userQuery.fetch()
|
|
23
|
+
* const cached = userQuery.getCacheData()
|
|
24
|
+
* await userQuery.invalidate()
|
|
15
25
|
*/
|
|
16
|
-
import { useQuery } from "@tanstack/react-query";
|
|
17
|
-
import { buildChainedSelect } from "./utils";
|
|
26
|
+
import { useQuery, } from "@tanstack/react-query";
|
|
27
|
+
import { buildChainedSelect } from "./utils.js";
|
|
18
28
|
// ============================================================================
|
|
19
29
|
// Internal Implementation
|
|
20
30
|
// ============================================================================
|
|
@@ -38,7 +48,7 @@ const createQueryImpl = (reactor, config) => {
|
|
|
38
48
|
staleTime,
|
|
39
49
|
});
|
|
40
50
|
};
|
|
41
|
-
const useQueryHook = (options) => {
|
|
51
|
+
const useQueryHook = ((options) => {
|
|
42
52
|
const baseOptions = reactor.getQueryOptions(params);
|
|
43
53
|
return useQuery({
|
|
44
54
|
queryKey: baseOptions.queryKey,
|
|
@@ -48,17 +58,17 @@ const createQueryImpl = (reactor, config) => {
|
|
|
48
58
|
queryFn: baseOptions.queryFn,
|
|
49
59
|
select: buildChainedSelect(select, options?.select),
|
|
50
60
|
}, reactor.queryClient);
|
|
51
|
-
};
|
|
61
|
+
});
|
|
52
62
|
const invalidate = async () => {
|
|
53
63
|
await reactor.queryClient.invalidateQueries({ queryKey: getQueryKey() });
|
|
54
64
|
};
|
|
55
|
-
const getCacheData = (selectFn) => {
|
|
65
|
+
const getCacheData = ((selectFn) => {
|
|
56
66
|
const raw = reactor.getQueryData(params);
|
|
57
67
|
if (raw === undefined)
|
|
58
68
|
return undefined;
|
|
59
69
|
const selected = applySelect(raw);
|
|
60
70
|
return selectFn ? selectFn(selected) : selected;
|
|
61
|
-
};
|
|
71
|
+
});
|
|
62
72
|
const setData = (updater) => {
|
|
63
73
|
return reactor.queryClient.setQueryData(getQueryKey(), updater);
|
|
64
74
|
};
|
package/dist/createQuery.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createQuery.js","sourceRoot":"","sources":["../src/createQuery.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"createQuery.js","sourceRoot":"","sources":["../src/createQuery.ts"],"names":[],"mappings":"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"}
|