@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
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import { QueryKey, UseSuspenseInfiniteQueryResult, UseSuspenseInfiniteQueryOptions, InfiniteData } from "@tanstack/react-query";
|
|
2
|
-
import { FunctionName, Reactor, TransformKey, ReactorArgs, ReactorReturnOk, ReactorReturnErr } from "@ic-reactor/core";
|
|
2
|
+
import { FunctionName, Reactor, TransformKey, ReactorArgs, ReactorReturnOk, ReactorQueryData, ReactorReturnErr } from "@ic-reactor/core";
|
|
3
3
|
import { CallConfig } from "@icp-sdk/core/agent";
|
|
4
4
|
/**
|
|
5
5
|
* Parameters for useActorSuspenseInfiniteQuery hook.
|
|
6
6
|
* Extends react-query's UseSuspenseInfiniteQueryOptions with custom reactor params.
|
|
7
7
|
*/
|
|
8
|
-
export interface UseActorSuspenseInfiniteQueryParameters<
|
|
8
|
+
export interface UseActorSuspenseInfiniteQueryParameters<Service, Method extends FunctionName<Service>, Transform extends TransformKey = "candid", TPageParam = unknown, Selected = InfiniteData<ReactorQueryData<ReactorReturnOk<Service, Method, Transform>>, TPageParam>> extends Omit<UseSuspenseInfiniteQueryOptions<ReactorQueryData<ReactorReturnOk<Service, Method, Transform>>, ReactorReturnErr<Service, Method, Transform>, Selected, QueryKey, TPageParam>, "queryKey" | "queryFn" | "getNextPageParam" | "initialPageParam"> {
|
|
9
9
|
/** The reactor instance to use for method calls */
|
|
10
|
-
reactor: Reactor<
|
|
10
|
+
reactor: Reactor<Service, Transform>;
|
|
11
11
|
/** The method name to call on the canister */
|
|
12
|
-
functionName:
|
|
12
|
+
functionName: Method;
|
|
13
13
|
/** Function to get args from page parameter */
|
|
14
|
-
getArgs: (pageParam: TPageParam) => ReactorArgs<
|
|
14
|
+
getArgs: (pageParam: TPageParam) => ReactorArgs<Service, Method, Transform>;
|
|
15
15
|
/** Agent call configuration (effectiveCanisterId, etc.) */
|
|
16
16
|
callConfig?: CallConfig;
|
|
17
17
|
/** Custom query key (auto-generated if not provided) */
|
|
@@ -19,10 +19,10 @@ export interface UseActorSuspenseInfiniteQueryParameters<A, M extends FunctionNa
|
|
|
19
19
|
/** Initial page parameter */
|
|
20
20
|
initialPageParam: TPageParam;
|
|
21
21
|
/** Function to determine next page parameter */
|
|
22
|
-
getNextPageParam: (lastPage: ReactorReturnOk<
|
|
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<
|
|
25
|
-
export type UseActorSuspenseInfiniteQueryResult<
|
|
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>>;
|
|
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<A, M extends FunctionName<A>, T
|
|
|
35
35
|
* getNextPageParam: (lastPage) => lastPage.nextOffset,
|
|
36
36
|
* })
|
|
37
37
|
*/
|
|
38
|
-
export declare const useActorSuspenseInfiniteQuery: <
|
|
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>;
|
|
39
39
|
//# sourceMappingURL=useActorSuspenseInfiniteQuery.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useActorSuspenseInfiniteQuery.d.ts","sourceRoot":"","sources":["../../src/hooks/useActorSuspenseInfiniteQuery.ts"],"names":[],"mappings":"AACA,OAAO,EACL,QAAQ,EAER,8BAA8B,EAC9B,+BAA+B,EAC/B,YAAY,EACb,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EACL,YAAY,EACZ,OAAO,EACP,YAAY,EACZ,WAAW,EACX,eAAe,EACf,gBAAgB,EACjB,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"useActorSuspenseInfiniteQuery.d.ts","sourceRoot":"","sources":["../../src/hooks/useActorSuspenseInfiniteQuery.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { useMemo, useCallback } from "react";
|
|
2
2
|
import { useSuspenseInfiniteQuery, } from "@tanstack/react-query";
|
|
3
|
+
import { normalizeQueryData } from "../utils.js";
|
|
3
4
|
/**
|
|
4
5
|
* Hook for executing suspense-enabled infinite/paginated query calls on a canister.
|
|
5
6
|
*
|
|
@@ -20,11 +21,12 @@ export const useActorSuspenseInfiniteQuery = ({ reactor, functionName, getArgs,
|
|
|
20
21
|
// Memoize queryFn to prevent recreation on every render
|
|
21
22
|
const queryFn = useCallback(async ({ pageParam }) => {
|
|
22
23
|
const args = getArgs(pageParam);
|
|
23
|
-
|
|
24
|
+
const result = await reactor.callMethod({
|
|
24
25
|
functionName,
|
|
25
26
|
args,
|
|
26
27
|
callConfig,
|
|
27
28
|
});
|
|
29
|
+
return normalizeQueryData(result);
|
|
28
30
|
}, [reactor, functionName, getArgs, callConfig]);
|
|
29
31
|
return useSuspenseInfiniteQuery({
|
|
30
32
|
queryKey: baseQueryKey,
|
|
@@ -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;
|
|
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,kBAAkB,EAAE,MAAM,aAAa,CAAA;AA0EhD;;;;;;;;;;;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,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,YAAY,EAAE,QAAQ,EAAE,EAAE,UAAU,CAAC,EACtE,CAAC,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAE,UAAU,CAAC,CAC9C,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,15 +1,15 @@
|
|
|
1
1
|
import { QueryKey, QueryObserverOptions, UseSuspenseQueryResult } from "@tanstack/react-query";
|
|
2
|
-
import { FunctionName, Reactor, TransformKey, ReactorArgs, ReactorReturnOk, ReactorReturnErr } from "@ic-reactor/core";
|
|
2
|
+
import { FunctionName, Reactor, TransformKey, ReactorArgs, ReactorReturnOk, ReactorQueryData, ReactorReturnErr } from "@ic-reactor/core";
|
|
3
3
|
import { CallConfig } from "@icp-sdk/core/agent";
|
|
4
|
-
export interface UseActorSuspenseQueryParameters<
|
|
5
|
-
reactor: Reactor<
|
|
6
|
-
functionName:
|
|
7
|
-
args?: ReactorArgs<
|
|
4
|
+
export interface UseActorSuspenseQueryParameters<Service, Method extends FunctionName<Service>, Transform extends TransformKey = "candid", Selected = ReactorQueryData<ReactorReturnOk<Service, Method, Transform>>> extends Omit<QueryObserverOptions<ReactorQueryData<ReactorReturnOk<Service, Method, Transform>>, ReactorReturnErr<Service, Method, Transform>, Selected, ReactorQueryData<ReactorReturnOk<Service, Method, Transform>>, QueryKey>, "queryKey" | "queryFn"> {
|
|
5
|
+
reactor: Reactor<Service, Transform>;
|
|
6
|
+
functionName: Method;
|
|
7
|
+
args?: ReactorArgs<Service, Method, Transform>;
|
|
8
8
|
callConfig?: CallConfig;
|
|
9
9
|
queryKey?: QueryKey;
|
|
10
10
|
}
|
|
11
|
-
export type UseActorSuspenseQueryConfig<
|
|
12
|
-
export type UseActorSuspenseQueryResult<
|
|
11
|
+
export type UseActorSuspenseQueryConfig<Service, Method extends FunctionName<Service>, Transform extends TransformKey = "candid", Selected = ReactorQueryData<ReactorReturnOk<Service, Method, Transform>>> = Omit<UseActorSuspenseQueryParameters<Service, Method, Transform, Selected>, "reactor">;
|
|
12
|
+
export type UseActorSuspenseQueryResult<Service, Method extends FunctionName<Service>, Transform extends TransformKey = "candid", Selected = ReactorQueryData<ReactorReturnOk<Service, Method, Transform>>> = UseSuspenseQueryResult<Selected, ReactorReturnErr<Service, Method, Transform>>;
|
|
13
13
|
/**
|
|
14
14
|
* Hook for executing suspense-enabled query calls on a canister.
|
|
15
15
|
*
|
|
@@ -28,5 +28,5 @@ export type UseActorSuspenseQueryResult<A, M extends FunctionName<A>, T extends
|
|
|
28
28
|
* select: (user) => user.name,
|
|
29
29
|
* })
|
|
30
30
|
*/
|
|
31
|
-
export declare const useActorSuspenseQuery: <
|
|
31
|
+
export declare const useActorSuspenseQuery: <Service, Method extends FunctionName<Service>, Transform extends TransformKey = "candid", Selected = ReactorQueryData<ReactorReturnOk<Service, Method, Transform>>>({ reactor, functionName, args, callConfig, queryKey: defaultQueryKey, ...options }: UseActorSuspenseQueryParameters<Service, Method, Transform, Selected>) => UseActorSuspenseQueryResult<Service, Method, Transform, Selected>;
|
|
32
32
|
//# sourceMappingURL=useActorSuspenseQuery.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useActorSuspenseQuery.d.ts","sourceRoot":"","sources":["../../src/hooks/useActorSuspenseQuery.ts"],"names":[],"mappings":"AACA,OAAO,EACL,QAAQ,EAER,oBAAoB,EACpB,sBAAsB,EAEvB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EACL,YAAY,EACZ,OAAO,EACP,YAAY,EACZ,WAAW,EACX,eAAe,EACf,gBAAgB,EACjB,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAEhD,MAAM,WAAW,+BAA+B,CAC9C,
|
|
1
|
+
{"version":3,"file":"useActorSuspenseQuery.d.ts","sourceRoot":"","sources":["../../src/hooks/useActorSuspenseQuery.ts"],"names":[],"mappings":"AACA,OAAO,EACL,QAAQ,EAER,oBAAoB,EACpB,sBAAsB,EAEvB,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;AAEhD,MAAM,WAAW,+BAA+B,CAC9C,OAAO,EACP,MAAM,SAAS,YAAY,CAAC,OAAO,CAAC,EACpC,SAAS,SAAS,YAAY,GAAG,QAAQ,EACzC,QAAQ,GAAG,gBAAgB,CAAC,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,CACxE,SAAQ,IAAI,CACZ,oBAAoB,CAClB,gBAAgB,CAAC,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,EAC7D,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EAC5C,QAAQ,EACR,gBAAgB,CAAC,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,EAC7D,QAAQ,CACT,EACD,UAAU,GAAG,SAAS,CACvB;IACC,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,SAAS,CAAC,CAAA;IACpC,YAAY,EAAE,MAAM,CAAA;IACpB,IAAI,CAAC,EAAE,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CAAA;IAC9C,UAAU,CAAC,EAAE,UAAU,CAAA;IACvB,QAAQ,CAAC,EAAE,QAAQ,CAAA;CACpB;AAED,MAAM,MAAM,2BAA2B,CACrC,OAAO,EACP,MAAM,SAAS,YAAY,CAAC,OAAO,CAAC,EACpC,SAAS,SAAS,YAAY,GAAG,QAAQ,EACzC,QAAQ,GAAG,gBAAgB,CAAC,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,IACtE,IAAI,CACN,+BAA+B,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC,EACrE,SAAS,CACV,CAAA;AAED,MAAM,MAAM,2BAA2B,CACrC,OAAO,EACP,MAAM,SAAS,YAAY,CAAC,OAAO,CAAC,EACpC,SAAS,SAAS,YAAY,GAAG,QAAQ,EACzC,QAAQ,GAAG,gBAAgB,CAAC,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,IACtE,sBAAsB,CACxB,QAAQ,EACR,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CAC7C,CAAA;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,qBAAqB,GAChC,OAAO,EACP,MAAM,SAAS,YAAY,CAAC,OAAO,CAAC,EACpC,SAAS,SAAS,YAAY,GAAG,QAAQ,EACzC,QAAQ,GAAG,gBAAgB,CAAC,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,EACxE,oFAOC,+BAA+B,CAChC,OAAO,EACP,MAAM,EACN,SAAS,EACT,QAAQ,CACT,KAAG,2BAA2B,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,CAyBnE,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useActorSuspenseQuery.js","sourceRoot":"","sources":["../../src/hooks/useActorSuspenseQuery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAC/B,OAAO,EAEL,gBAAgB,GAIjB,MAAM,uBAAuB,CAAA;
|
|
1
|
+
{"version":3,"file":"useActorSuspenseQuery.js","sourceRoot":"","sources":["../../src/hooks/useActorSuspenseQuery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAC/B,OAAO,EAEL,gBAAgB,GAIjB,MAAM,uBAAuB,CAAA;AAsD9B;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAKnC,EACA,OAAO,EACP,YAAY,EACZ,IAAI,EACJ,UAAU,EACV,QAAQ,EAAE,eAAe,EACzB,GAAG,OAAO,EAMX,EAAqE,EAAE;IACtE,+DAA+D;IAC/D,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,OAAO,CACnC,GAAG,EAAE,CACH,OAAO,CAAC,eAAe,CAAS;QAC9B,UAAU;QACV,YAAY;QACZ,IAAI;QACJ,QAAQ,EAAE,eAAe;KAC1B,CAAC,EACJ,CAAC,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,eAAe,CAAC,CAC3D,CAAA;IAED,OAAO,gBAAgB,CACrB;QACE,gEAAgE;QAChE,OAAO,EAAE,OAGR;QACD,GAAG,OAAO;QACV,QAAQ;KACT,EACD,OAAO,CAAC,WAAW,CACpB,CAAA;AACH,CAAC,CAAA"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
export * from "@ic-reactor/core";
|
|
2
|
-
export * from "./hooks";
|
|
3
|
-
export * from "./validation";
|
|
4
|
-
export * from "./
|
|
5
|
-
export * from "./
|
|
6
|
-
export * from "./createQuery";
|
|
7
|
-
export * from "./createSuspenseQuery";
|
|
8
|
-
export * from "./createInfiniteQuery";
|
|
9
|
-
export * from "./createSuspenseInfiniteQuery";
|
|
10
|
-
export * from "./createMutation";
|
|
11
|
-
export * from "./
|
|
2
|
+
export * from "./hooks/index.js";
|
|
3
|
+
export * from "./validation.js";
|
|
4
|
+
export * from "./createActorHooks.js";
|
|
5
|
+
export * from "./defineReactor.js";
|
|
6
|
+
export * from "./createQuery.js";
|
|
7
|
+
export * from "./createSuspenseQuery.js";
|
|
8
|
+
export * from "./createInfiniteQuery.js";
|
|
9
|
+
export * from "./createSuspenseInfiniteQuery.js";
|
|
10
|
+
export * from "./createMutation.js";
|
|
11
|
+
export * from "./auth/index.js";
|
|
12
|
+
export * from "./types.js";
|
|
12
13
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,cAAc,kBAAkB,CAAA;AAGhC,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,cAAc,kBAAkB,CAAA;AAGhC,cAAc,kBAAkB,CAAA;AAGhC,cAAc,iBAAiB,CAAA;AAG/B,cAAc,uBAAuB,CAAA;AACrC,cAAc,oBAAoB,CAAA;AAElC,cAAc,kBAAkB,CAAA;AAChC,cAAc,0BAA0B,CAAA;AACxC,cAAc,0BAA0B,CAAA;AACxC,cAAc,kCAAkC,CAAA;AAChD,cAAc,qBAAqB,CAAA;AAEnC,cAAc,iBAAiB,CAAA;AAE/B,cAAc,YAAY,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -2,16 +2,17 @@
|
|
|
2
2
|
// Users can import everything from @ic-reactor/react without needing @ic-reactor/core
|
|
3
3
|
export * from "@ic-reactor/core";
|
|
4
4
|
// Re-export hooks
|
|
5
|
-
export * from "./hooks";
|
|
5
|
+
export * from "./hooks/index.js";
|
|
6
6
|
// Validation utilities for React
|
|
7
|
-
export * from "./validation";
|
|
7
|
+
export * from "./validation.js";
|
|
8
8
|
// React-specific exports
|
|
9
|
-
export * from "./
|
|
10
|
-
export * from "./
|
|
11
|
-
export * from "./createQuery";
|
|
12
|
-
export * from "./createSuspenseQuery";
|
|
13
|
-
export * from "./createInfiniteQuery";
|
|
14
|
-
export * from "./createSuspenseInfiniteQuery";
|
|
15
|
-
export * from "./createMutation";
|
|
16
|
-
export * from "./
|
|
9
|
+
export * from "./createActorHooks.js";
|
|
10
|
+
export * from "./defineReactor.js";
|
|
11
|
+
export * from "./createQuery.js";
|
|
12
|
+
export * from "./createSuspenseQuery.js";
|
|
13
|
+
export * from "./createInfiniteQuery.js";
|
|
14
|
+
export * from "./createSuspenseInfiniteQuery.js";
|
|
15
|
+
export * from "./createMutation.js";
|
|
16
|
+
export * from "./auth/index.js";
|
|
17
|
+
export * from "./types.js";
|
|
17
18
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,sDAAsD;AACtD,sFAAsF;AACtF,cAAc,kBAAkB,CAAA;AAEhC,kBAAkB;AAClB,cAAc,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,sDAAsD;AACtD,sFAAsF;AACtF,cAAc,kBAAkB,CAAA;AAEhC,kBAAkB;AAClB,cAAc,kBAAkB,CAAA;AAEhC,iCAAiC;AACjC,cAAc,iBAAiB,CAAA;AAE/B,yBAAyB;AACzB,cAAc,uBAAuB,CAAA;AACrC,cAAc,oBAAoB,CAAA;AAElC,cAAc,kBAAkB,CAAA;AAChC,cAAc,0BAA0B,CAAA;AACxC,cAAc,0BAA0B,CAAA;AACxC,cAAc,kCAAkC,CAAA;AAChD,cAAc,qBAAqB,CAAA;AAEnC,cAAc,iBAAiB,CAAA;AAE/B,cAAc,YAAY,CAAA"}
|
package/dist/types.d.ts
CHANGED
|
@@ -1,53 +1,53 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Shared type definitions for query factories (createActorQuery, createActorSuspenseQuery, etc.)
|
|
3
3
|
*/
|
|
4
|
-
import type { FunctionName, ReactorReturnOk, ReactorReturnErr, ReactorArgs, BaseActor, TransformKey, TransformReturnRegistry, ErrResult, ActorMethodReturnType } from "@ic-reactor/core";
|
|
4
|
+
import type { FunctionName, ReactorReturnOk, ReactorQueryData, ReactorReturnErr, ReactorArgs, BaseActor, TransformKey, TransformReturnRegistry, ErrResult, ActorMethodReturnType } from "@ic-reactor/core";
|
|
5
5
|
import { CanisterError } from "@ic-reactor/core";
|
|
6
6
|
import { CallConfig } from "@icp-sdk/core/agent";
|
|
7
7
|
import { QueryKey, QueryObserverOptions, UseQueryOptions, UseQueryResult, UseSuspenseQueryOptions, UseSuspenseQueryResult, UseMutationOptions, UseMutationResult } from "@tanstack/react-query";
|
|
8
8
|
export type NoInfer<T> = [T][T extends any ? 0 : never];
|
|
9
9
|
/** The raw data type returned by the query function (before select) */
|
|
10
|
-
export type QueryFnData<
|
|
10
|
+
export type QueryFnData<Service = BaseActor, Method extends FunctionName<Service> = FunctionName<Service>, Transform extends TransformKey = "candid"> = ReactorQueryData<ReactorReturnOk<Service, Method, Transform>>;
|
|
11
11
|
/** The error type for queries */
|
|
12
|
-
export type QueryError<
|
|
12
|
+
export type QueryError<Service = BaseActor, Method extends FunctionName<Service> = FunctionName<Service>, Transform extends TransformKey = "candid"> = ReactorReturnErr<Service, Method, Transform>;
|
|
13
13
|
/**
|
|
14
14
|
* Base configuration for query wrappers (shared between regular and suspense).
|
|
15
15
|
*
|
|
16
|
-
* @template
|
|
17
|
-
* @template
|
|
18
|
-
* @template
|
|
19
|
-
* @template
|
|
16
|
+
* @template Service - The actor interface type
|
|
17
|
+
* @template Method - The method name on the actor
|
|
18
|
+
* @template Transform - The transformation key (identity, display, etc.)
|
|
19
|
+
* @template Selected - The type returned after select transformation
|
|
20
20
|
*/
|
|
21
|
-
export interface BaseQueryConfig<
|
|
21
|
+
export interface BaseQueryConfig<Service = BaseActor, Method extends FunctionName<Service> = FunctionName<Service>, Transform extends TransformKey = "candid", Selected = QueryFnData<Service, Method, Transform>> extends Omit<QueryObserverOptions<QueryFnData<Service, Method, Transform>, ReactorReturnErr<Service, Method, Transform>, Selected, QueryFnData<Service, Method, Transform>, QueryKey>, "queryFn" | "queryKey"> {
|
|
22
22
|
/** The method to call on the canister */
|
|
23
|
-
functionName:
|
|
23
|
+
functionName: Method;
|
|
24
24
|
/** Arguments to pass to the method (if any) */
|
|
25
|
-
args?: ReactorArgs<
|
|
25
|
+
args?: ReactorArgs<Service, Method, Transform>;
|
|
26
26
|
/** The query key to use for this query */
|
|
27
27
|
queryKey?: QueryKey;
|
|
28
28
|
/** How long data stays fresh before refetching (default: 5 min) */
|
|
29
29
|
staleTime?: number;
|
|
30
30
|
/** Transform the raw result before returning */
|
|
31
|
-
select?: (data: QueryFnData<
|
|
31
|
+
select?: (data: QueryFnData<Service, Method, Transform>) => Selected;
|
|
32
32
|
}
|
|
33
33
|
/**
|
|
34
34
|
* Configuration for createQuery (regular useQuery).
|
|
35
35
|
* Alias for BaseQueryConfig for clarity.
|
|
36
36
|
*/
|
|
37
|
-
export type QueryConfig<
|
|
37
|
+
export type QueryConfig<Service = BaseActor, Method extends FunctionName<Service> = FunctionName<Service>, Transform extends TransformKey = "candid", Selected = QueryFnData<Service, Method, Transform>> = BaseQueryConfig<Service, Method, Transform, Selected>;
|
|
38
38
|
/**
|
|
39
39
|
* Configuration for createSuspenseQuery (useSuspenseQuery).
|
|
40
40
|
* Alias for BaseQueryConfig for clarity.
|
|
41
41
|
*/
|
|
42
|
-
export type SuspenseQueryConfig<
|
|
42
|
+
export type SuspenseQueryConfig<Service = BaseActor, Method extends FunctionName<Service> = FunctionName<Service>, Transform extends TransformKey = "candid", Selected = QueryFnData<Service, Method, Transform>> = BaseQueryConfig<Service, Method, Transform, Selected>;
|
|
43
43
|
/**
|
|
44
44
|
* Configuration for createQueryFactory (args are provided at call time).
|
|
45
45
|
*/
|
|
46
|
-
export type QueryFactoryConfig<
|
|
46
|
+
export type QueryFactoryConfig<Service = BaseActor, Method extends FunctionName<Service> = FunctionName<Service>, Transform extends TransformKey = "candid", Selected = QueryFnData<Service, Method, Transform>> = Omit<QueryConfig<Service, Method, Transform, Selected>, "args">;
|
|
47
47
|
/**
|
|
48
48
|
* Configuration for createSuspenseQueryFactory (args are provided at call time).
|
|
49
49
|
*/
|
|
50
|
-
export type SuspenseQueryFactoryConfig<
|
|
50
|
+
export type SuspenseQueryFactoryConfig<Service = BaseActor, Method extends FunctionName<Service> = FunctionName<Service>, Transform extends TransformKey = "candid", Selected = QueryFnData<Service, Method, Transform>> = Omit<SuspenseQueryConfig<Service, Method, Transform, Selected>, "args">;
|
|
51
51
|
/**
|
|
52
52
|
* useQuery hook with chained select support.
|
|
53
53
|
* - Without select: returns TSelected (from config.select)
|
|
@@ -177,9 +177,9 @@ export interface SuspenseQueryResult<TQueryFnData, TSelected = TQueryFnData, TEr
|
|
|
177
177
|
/**
|
|
178
178
|
* Configuration for createMutation and useActorMutation.
|
|
179
179
|
*/
|
|
180
|
-
export interface MutationConfig<
|
|
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"> {
|
|
181
181
|
/** The method to call on the canister */
|
|
182
|
-
functionName:
|
|
182
|
+
functionName: Method;
|
|
183
183
|
/** Call configuration for the actor method */
|
|
184
184
|
callConfig?: CallConfig;
|
|
185
185
|
/** Queries to invalidate upon successful mutation */
|
|
@@ -206,17 +206,17 @@ export interface MutationConfig<A = BaseActor, M extends FunctionName<A> = Funct
|
|
|
206
206
|
* })
|
|
207
207
|
* ```
|
|
208
208
|
*/
|
|
209
|
-
onCanisterError?: (error: CanisterError<unknown>, variables: ReactorArgs<
|
|
209
|
+
onCanisterError?: (error: CanisterError<unknown>, variables: ReactorArgs<Service, Method, Transform>) => void;
|
|
210
210
|
}
|
|
211
211
|
/**
|
|
212
212
|
* Configuration for createMutationFactory.
|
|
213
213
|
*/
|
|
214
|
-
export type MutationFactoryConfig<
|
|
214
|
+
export type MutationFactoryConfig<Service = BaseActor, Method extends FunctionName<Service> = FunctionName<Service>, Transform extends TransformKey = "candid"> = Omit<MutationConfig<Service, Method, Transform>, "onSuccess">;
|
|
215
215
|
/**
|
|
216
216
|
* Options for useMutation hook.
|
|
217
217
|
* Extends React Query's UseMutationOptions with invalidateQueries support.
|
|
218
218
|
*/
|
|
219
|
-
export interface MutationHookOptions<
|
|
219
|
+
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"> {
|
|
220
220
|
/**
|
|
221
221
|
* Query keys to invalidate upon successful mutation.
|
|
222
222
|
* Use query.getQueryKey() to get the key from a query result.
|
|
@@ -235,12 +235,12 @@ export interface MutationHookOptions<A = BaseActor, M extends FunctionName<A> =
|
|
|
235
235
|
* @param error - The CanisterError containing the typed error value
|
|
236
236
|
* @param variables - The arguments passed to the mutation
|
|
237
237
|
*/
|
|
238
|
-
onCanisterError?: (error: CanisterError<TransformReturnRegistry<ErrResult<ActorMethodReturnType<
|
|
238
|
+
onCanisterError?: (error: CanisterError<TransformReturnRegistry<ErrResult<ActorMethodReturnType<Service[Method]>>>[Transform]>, variables: ReactorArgs<Service, Method, Transform>) => void;
|
|
239
239
|
}
|
|
240
240
|
/**
|
|
241
241
|
* Result from createMutation.
|
|
242
242
|
*/
|
|
243
|
-
export interface MutationResult<
|
|
243
|
+
export interface MutationResult<Service = BaseActor, Method extends FunctionName<Service> = FunctionName<Service>, Transform extends TransformKey = "candid"> {
|
|
244
244
|
/**
|
|
245
245
|
* React hook for the mutation.
|
|
246
246
|
* Accepts options to override/extend the factory config.
|
|
@@ -251,8 +251,8 @@ export interface MutationResult<A = BaseActor, M extends FunctionName<A> = Funct
|
|
|
251
251
|
* invalidateQueries: [userBalanceQuery], // Auto-invalidate after success!
|
|
252
252
|
* })
|
|
253
253
|
*/
|
|
254
|
-
useMutation: (options?: MutationHookOptions<
|
|
254
|
+
useMutation: (options?: MutationHookOptions<Service, Method, Transform>) => UseMutationResult<ReactorReturnOk<Service, Method, Transform>, ReactorReturnErr<Service, Method, Transform>, ReactorArgs<Service, Method, Transform>>;
|
|
255
255
|
/** Execute the update call directly (outside of React) */
|
|
256
|
-
execute: (args: ReactorArgs<
|
|
256
|
+
execute: (args: ReactorArgs<Service, Method, Transform>) => Promise<ReactorReturnOk<Service, Method, Transform>>;
|
|
257
257
|
}
|
|
258
258
|
//# sourceMappingURL=types.d.ts.map
|
package/dist/types.d.ts.map
CHANGED
|
@@ -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,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,
|
|
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,qDAAqD;IACrD,iBAAiB,CAAC,EAAE,QAAQ,EAAE,CAAA;IAC9B;;;;;;;;;;;;;;;;;;;;;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"}
|
package/dist/utils.d.ts
CHANGED
|
@@ -2,11 +2,14 @@
|
|
|
2
2
|
* Shared internal utilities for query and mutation factories.
|
|
3
3
|
*/
|
|
4
4
|
import type { QueryKey } from "@tanstack/react-query";
|
|
5
|
+
import type { ReactorQueryData } from "@ic-reactor/core";
|
|
5
6
|
/**
|
|
6
7
|
* Internal query-key segment used to distinguish per-call factory args
|
|
7
8
|
* from the base query key. Not part of the public API.
|
|
8
9
|
*/
|
|
9
10
|
export declare const FACTORY_KEY_ARGS_QUERY_KEY = "__ic_reactor_factory_key_args";
|
|
11
|
+
/** Convert a direct reactor result into a value TanStack Query can cache. */
|
|
12
|
+
export declare const normalizeQueryData: <T>(value: T) => ReactorQueryData<T>;
|
|
10
13
|
/**
|
|
11
14
|
* Merge a base query key, optional per-call query key, and optional key-args
|
|
12
15
|
* into a single query key array.
|
package/dist/utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AACrD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AAGxD;;;GAGG;AACH,eAAO,MAAM,0BAA0B,kCAAkC,CAAA;AAEzE,6EAA6E;AAC7E,eAAO,MAAM,kBAAkB,GAAI,CAAC,EAAE,OAAO,CAAC,KAAG,gBAAgB,CAAC,CAAC,CACN,CAAA;AAE7D;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,YAAY,CAAC,EAAE,QAAQ,EACvB,YAAY,CAAC,EAAE,QAAQ,EACvB,OAAO,CAAC,EAAE,OAAO,GAChB,QAAQ,GAAG,SAAS,CAgBtB;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,GAAG,SAAS,EACrE,YAAY,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,KAAK,SAAS,CAAC,GAAG,SAAS,EACtD,UAAU,EAAE,CAAC,CAAC,IAAI,EAAE,SAAS,KAAK,MAAM,CAAC,GAAG,SAAS,GACpD,CAAC,OAAO,EAAE,KAAK,KAAK,SAAS,GAAG,MAAM,CAOxC"}
|
package/dist/utils.js
CHANGED
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Shared internal utilities for query and mutation factories.
|
|
3
3
|
*/
|
|
4
|
+
import { generateKey } from "@ic-reactor/core";
|
|
4
5
|
/**
|
|
5
6
|
* Internal query-key segment used to distinguish per-call factory args
|
|
6
7
|
* from the base query key. Not part of the public API.
|
|
7
8
|
*/
|
|
8
9
|
export const FACTORY_KEY_ARGS_QUERY_KEY = "__ic_reactor_factory_key_args";
|
|
10
|
+
/** Convert a direct reactor result into a value TanStack Query can cache. */
|
|
11
|
+
export const normalizeQueryData = (value) => (value === undefined ? null : value);
|
|
9
12
|
/**
|
|
10
13
|
* Merge a base query key, optional per-call query key, and optional key-args
|
|
11
14
|
* into a single query key array.
|
|
@@ -19,8 +22,13 @@ export function mergeFactoryQueryKey(baseQueryKey, callQueryKey, keyArgs) {
|
|
|
19
22
|
merged.push(...baseQueryKey);
|
|
20
23
|
if (callQueryKey)
|
|
21
24
|
merged.push(...callQueryKey);
|
|
22
|
-
if (keyArgs !== undefined)
|
|
23
|
-
|
|
25
|
+
if (keyArgs !== undefined) {
|
|
26
|
+
// Serialize keyArgs through generateKey so BigInt values (and other
|
|
27
|
+
// non-JSON-serializable Candid types such as Principal) are safely
|
|
28
|
+
// converted to strings before React Query hashes the key.
|
|
29
|
+
const safeKeyArgs = generateKey(Array.isArray(keyArgs) ? keyArgs : [keyArgs]);
|
|
30
|
+
merged.push({ [FACTORY_KEY_ARGS_QUERY_KEY]: safeKeyArgs });
|
|
31
|
+
}
|
|
24
32
|
return merged.length > 0 ? merged : undefined;
|
|
25
33
|
}
|
|
26
34
|
/**
|
package/dist/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH;;;GAGG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,+BAA+B,CAAA;AAEzE;;;;;;GAMG;AACH,MAAM,UAAU,oBAAoB,CAClC,YAAuB,EACvB,YAAuB,EACvB,OAAiB;IAEjB,MAAM,MAAM,GAAc,EAAE,CAAA;IAE5B,IAAI,YAAY;QAAE,MAAM,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,CAAA;IAC9C,IAAI,YAAY;QAAE,MAAM,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,CAAA;IAC9C,IAAI,OAAO,KAAK,SAAS;
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAE9C;;;GAGG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,+BAA+B,CAAA;AAEzE,6EAA6E;AAC7E,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAI,KAAQ,EAAuB,EAAE,CACrE,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAwB,CAAA;AAE7D;;;;;;GAMG;AACH,MAAM,UAAU,oBAAoB,CAClC,YAAuB,EACvB,YAAuB,EACvB,OAAiB;IAEjB,MAAM,MAAM,GAAc,EAAE,CAAA;IAE5B,IAAI,YAAY;QAAE,MAAM,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,CAAA;IAC9C,IAAI,YAAY;QAAE,MAAM,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,CAAA;IAC9C,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,oEAAoE;QACpE,mEAAmE;QACnE,0DAA0D;QAC1D,MAAM,WAAW,GAAG,WAAW,CAC7B,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAC7C,CAAA;QACD,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,0BAA0B,CAAC,EAAE,WAAW,EAAE,CAAC,CAAA;IAC5D,CAAC;IAED,OAAO,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAA;AAC/C,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAChC,YAAsD,EACtD,UAAqD;IAErD,OAAO,CAAC,OAAc,EAAE,EAAE;QACxB,MAAM,SAAS,GAAG,YAAY;YAC5B,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC;YACvB,CAAC,CAAE,OAAgC,CAAA;QACrC,OAAO,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IACvD,CAAC,CAAA;AACH,CAAC"}
|
package/llms.txt
ADDED
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# @ic-reactor/react — AI Quick Guide
|
|
2
|
+
|
|
3
|
+
Use this file when your app installs `@ic-reactor/react` and you need fast,
|
|
4
|
+
accurate integration guidance.
|
|
5
|
+
|
|
6
|
+
## Install
|
|
7
|
+
|
|
8
|
+
```bash
|
|
9
|
+
pnpm add @ic-reactor/react @icp-sdk/core @tanstack/react-query
|
|
10
|
+
pnpm add @icp-sdk/auth # optional auth helpers
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
## Start Here
|
|
14
|
+
|
|
15
|
+
- Fastest setup: `defineReactor(...)`
|
|
16
|
+
- Existing reactor instance: `createActorHooks(reactor)`
|
|
17
|
+
- Reusable shared operations: `createQuery(...)`, `createMutation(...)`
|
|
18
|
+
|
|
19
|
+
## Inside React vs Outside React (critical)
|
|
20
|
+
|
|
21
|
+
- Inside React components/custom hooks: `useActorQuery`, `useActorMutation`,
|
|
22
|
+
`useActorMethod`, `.useQuery()`, `.useMutation()`
|
|
23
|
+
- Outside React (loaders/actions/services/tests): `.fetch()`, `.prefetch()`,
|
|
24
|
+
`.invalidate()`, `.getCacheData()`, `.execute(args)`
|
|
25
|
+
|
|
26
|
+
Never call React hooks in loaders, actions, route modules, scripts, or tests.
|
|
27
|
+
|
|
28
|
+
## Display vs Raw Values
|
|
29
|
+
|
|
30
|
+
- Prefer `display: true` in `defineReactor(...)` (or `DisplayReactor`) for
|
|
31
|
+
UI/form code.
|
|
32
|
+
- Use raw `Reactor` when you intentionally need native `bigint`/`Principal`.
|
|
33
|
+
|
|
34
|
+
## Mutation Error Handling
|
|
35
|
+
|
|
36
|
+
For canister `Result.Err` variants, use `onCanisterError`. Keep `onError` for
|
|
37
|
+
network/agent and unexpected errors.
|
|
38
|
+
|
|
39
|
+
## Generated Files
|
|
40
|
+
|
|
41
|
+
Do not hand-edit generated `index.generated.ts` files. Put app-specific code in
|
|
42
|
+
`index.ts` wrappers or separate factory modules.
|
|
43
|
+
|
|
44
|
+
## Full References
|
|
45
|
+
|
|
46
|
+
- Full AI guide: https://ic-reactor.b3pay.net/llms-full.txt
|
|
47
|
+
- React package docs: https://ic-reactor.b3pay.net/v3/packages/react
|
|
48
|
+
- Skill install: `npx skills add B3Pay/ic-reactor-skills --full-depth --skill ic-reactor-hooks`
|