@ic-reactor/react 3.8.0 → 3.9.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.
Files changed (53) hide show
  1. package/README.md +68 -3
  2. package/dist/auth/authentication-manager.d.ts.map +1 -1
  3. package/dist/auth/authentication-manager.js +137 -21
  4. package/dist/auth/authentication-manager.js.map +1 -1
  5. package/dist/createInfiniteQuery.d.ts +11 -9
  6. package/dist/createInfiniteQuery.d.ts.map +1 -1
  7. package/dist/createInfiniteQuery.js +20 -17
  8. package/dist/createInfiniteQuery.js.map +1 -1
  9. package/dist/createMutation.d.ts.map +1 -1
  10. package/dist/createMutation.js +22 -2
  11. package/dist/createMutation.js.map +1 -1
  12. package/dist/createQuery.d.ts.map +1 -1
  13. package/dist/createQuery.js +5 -1
  14. package/dist/createQuery.js.map +1 -1
  15. package/dist/createSuspenseInfiniteQuery.d.ts +10 -9
  16. package/dist/createSuspenseInfiniteQuery.d.ts.map +1 -1
  17. package/dist/createSuspenseInfiniteQuery.js +18 -16
  18. package/dist/createSuspenseInfiniteQuery.js.map +1 -1
  19. package/dist/createSuspenseQuery.d.ts.map +1 -1
  20. package/dist/createSuspenseQuery.js +5 -1
  21. package/dist/createSuspenseQuery.js.map +1 -1
  22. package/dist/hooks/useActorInfiniteQuery.d.ts.map +1 -1
  23. package/dist/hooks/useActorInfiniteQuery.js +16 -2
  24. package/dist/hooks/useActorInfiniteQuery.js.map +1 -1
  25. package/dist/hooks/useActorMethod.d.ts.map +1 -1
  26. package/dist/hooks/useActorMethod.js +66 -33
  27. package/dist/hooks/useActorMethod.js.map +1 -1
  28. package/dist/hooks/useActorMutation.d.ts +8 -1
  29. package/dist/hooks/useActorMutation.d.ts.map +1 -1
  30. package/dist/hooks/useActorMutation.js +9 -1
  31. package/dist/hooks/useActorMutation.js.map +1 -1
  32. package/dist/hooks/useActorSuspenseInfiniteQuery.d.ts.map +1 -1
  33. package/dist/hooks/useActorSuspenseInfiniteQuery.js +16 -2
  34. package/dist/hooks/useActorSuspenseInfiniteQuery.js.map +1 -1
  35. package/dist/types.d.ts +8 -2
  36. package/dist/types.d.ts.map +1 -1
  37. package/dist/utils.d.ts +14 -5
  38. package/dist/utils.d.ts.map +1 -1
  39. package/dist/utils.js +21 -10
  40. package/dist/utils.js.map +1 -1
  41. package/package.json +2 -2
  42. package/src/auth/authentication-manager.ts +152 -21
  43. package/src/createInfiniteQuery.ts +48 -34
  44. package/src/createMutation.ts +32 -2
  45. package/src/createQuery.ts +8 -1
  46. package/src/createSuspenseInfiniteQuery.ts +44 -32
  47. package/src/createSuspenseQuery.ts +8 -1
  48. package/src/hooks/useActorInfiniteQuery.ts +25 -3
  49. package/src/hooks/useActorMethod.ts +82 -34
  50. package/src/hooks/useActorMutation.ts +19 -4
  51. package/src/hooks/useActorSuspenseInfiniteQuery.ts +25 -3
  52. package/src/types.ts +8 -2
  53. package/src/utils.ts +21 -10
@@ -1 +1 @@
1
- {"version":3,"file":"createQuery.js","sourceRoot":"","sources":["../src/createQuery.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"createQuery.js","sourceRoot":"","sources":["../src/createQuery.ts"],"names":[],"mappings":"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"}
@@ -57,19 +57,20 @@ export interface SuspenseInfiniteQueryConfig<Service = BaseActor, Method extends
57
57
  queryKey?: QueryKey;
58
58
  /** Function to get args from page parameter */
59
59
  getArgs: (pageParam: TPageParam) => ReactorArgs<Service, Method, Transform>;
60
+ /**
61
+ * Narrows what the cache key derives from the call arguments.
62
+ *
63
+ * By default the key is scoped by `getArgs(initialPageParam)`, so two
64
+ * infinite queries on the same method with different arguments stay in
65
+ * separate cache entries. Supply this when those args embed the cursor and
66
+ * only part of them identifies the query.
67
+ */
68
+ getKeyArgs?: (args: ReactorArgs<Service, Method, Transform>) => unknown;
60
69
  }
61
70
  /**
62
71
  * Configuration for createActorSuspenseInfiniteQueryFactory (without getArgs; provided at call time).
63
72
  */
64
- export type SuspenseInfiniteQueryFactoryConfig<Service = BaseActor, Method extends FunctionName<Service> = FunctionName<Service>, Transform extends TransformKey = "candid", TPageParam = unknown, Selected = InfiniteData<SuspenseInfiniteQueryPageData<Service, Method, Transform>, TPageParam>> = Omit<SuspenseInfiniteQueryConfig<Service, Method, Transform, TPageParam, Selected>, "getArgs"> & {
65
- /**
66
- * Optional key-args derivation for factory calls.
67
- * Receives the resolved args from `getArgs(initialPageParam)` and should return
68
- * a stable serializable representation of the logical query identity
69
- * (typically excluding pagination/cursor fields).
70
- */
71
- getKeyArgs?: (args: ReactorArgs<Service, Method, Transform>) => unknown;
72
- };
73
+ export type SuspenseInfiniteQueryFactoryConfig<Service = BaseActor, Method extends FunctionName<Service> = FunctionName<Service>, Transform extends TransformKey = "candid", TPageParam = unknown, Selected = InfiniteData<SuspenseInfiniteQueryPageData<Service, Method, Transform>, TPageParam>> = Omit<SuspenseInfiniteQueryConfig<Service, Method, Transform, TPageParam, Selected>, "getArgs">;
73
74
  /**
74
75
  * useSuspenseInfiniteQuery hook with chained select support.
75
76
  */
@@ -1 +1 @@
1
- {"version":3,"file":"createSuspenseInfiniteQuery.d.ts","sourceRoot":"","sources":["../src/createSuspenseInfiniteQuery.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"createSuspenseInfiniteQuery.d.ts","sourceRoot":"","sources":["../src/createSuspenseInfiniteQuery.ts"],"names":[],"mappings":"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"}
@@ -23,18 +23,24 @@
23
23
  * // Flatten all pages
24
24
  * const allPosts = data.pages.flatMap(page => page.posts)
25
25
  */
26
+ import { useMemo } from "react";
26
27
  import { useSuspenseInfiniteQuery, } from "@tanstack/react-query";
27
- import { mergeFactoryQueryKey, normalizeQueryData } from "./utils.js";
28
+ import { buildChainedSelect, mergeFactoryQueryKey, normalizeQueryData, } from "./utils.js";
28
29
  // ============================================================================
29
30
  // Internal Implementation
30
31
  // ============================================================================
31
32
  const createSuspenseInfiniteQueryImpl = (reactor, config) => {
32
- const { functionName, callConfig, queryKey: customQueryKey, initialPageParam, getArgs, getNextPageParam, getPreviousPageParam, maxPages, staleTime = 5 * 60 * 1000, select, ...rest } = config;
33
- // Get query key from actor manager
33
+ const { functionName, callConfig, queryKey: customQueryKey, initialPageParam, getArgs, getKeyArgs, getNextPageParam, getPreviousPageParam, maxPages, staleTime = 5 * 60 * 1000, select, ...rest } = config;
34
+ // Fold the call arguments into the key — see the matching comment in
35
+ // createInfiniteQuery. Without them every infinite query on a method shares
36
+ // one cache entry, because the arguments live in a `getArgs` closure rather
37
+ // than in the config.
34
38
  const getQueryKey = () => {
39
+ const initialArgs = getArgs(initialPageParam);
40
+ const keyArgs = getKeyArgs?.(initialArgs) ?? initialArgs;
35
41
  return reactor.generateQueryKey({
36
42
  functionName,
37
- queryKey: customQueryKey,
43
+ queryKey: mergeFactoryQueryKey(customQueryKey, undefined, keyArgs),
38
44
  }, callConfig);
39
45
  };
40
46
  // Query function - accepts QueryFunctionContext
@@ -66,14 +72,9 @@ const createSuspenseInfiniteQueryImpl = (reactor, config) => {
66
72
  };
67
73
  // Implementation
68
74
  const useSuspenseInfiniteQueryHook = (options) => {
69
- // Chain the selects: raw -> config.select -> options.select
70
- const chainedSelect = (rawData) => {
71
- const firstPass = select ? select(rawData) : rawData;
72
- if (options?.select) {
73
- return options.select(firstPass);
74
- }
75
- return firstPass;
76
- };
75
+ // Memoized and identity-preserving; see buildChainedSelect for why the
76
+ // function identity matters to the observer's select-result cache.
77
+ const chainedSelect = useMemo(() => buildChainedSelect(select, options?.select), [options?.select]);
77
78
  return useSuspenseInfiniteQuery({
78
79
  queryKey: getQueryKey(),
79
80
  queryFn,
@@ -161,11 +162,12 @@ export function createSuspenseInfiniteQuery(reactor, config) {
161
162
  */
162
163
  export function createSuspenseInfiniteQueryFactory(reactor, config) {
163
164
  const factory = (getArgs, options) => {
164
- const initialArgs = getArgs(config.initialPageParam);
165
- const keyArgs = config.getKeyArgs?.(initialArgs) ?? initialArgs;
166
- const queryKey = mergeFactoryQueryKey(config.queryKey, options?.queryKey, keyArgs);
165
+ // Only the caller-supplied segments are merged here; the args-derived
166
+ // segment is added by the impl, which does it for every infinite query.
167
+ // Applying it in both places would append the args twice.
168
+ const queryKey = mergeFactoryQueryKey(config.queryKey, options?.queryKey, undefined);
167
169
  return createSuspenseInfiniteQueryImpl(reactor, {
168
- ...(({ getKeyArgs: _getKeyArgs, ...rest }) => rest)(config),
170
+ ...config,
169
171
  queryKey,
170
172
  getArgs,
171
173
  });
@@ -1 +1 @@
1
- {"version":3,"file":"createSuspenseInfiniteQuery.js","sourceRoot":"","sources":["../src/createSuspenseInfiniteQuery.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAYH,OAAO,EAEL,wBAAwB,GAOzB,MAAM,uBAAuB,CAAA;AAG9B,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAyNrE,+EAA+E;AAC/E,0BAA0B;AAC1B,+EAA+E;AAE/E,MAAM,+BAA+B,GAAG,CAUtC,OAAoC,EACpC,MAMC,EAMD,EAAE;IAKF,MAAM,EACJ,YAAY,EACZ,UAAU,EACV,QAAQ,EAAE,cAAc,EACxB,gBAAgB,EAChB,OAAO,EACP,gBAAgB,EAChB,oBAAoB,EACpB,QAAQ,EACR,SAAS,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,EACzB,MAAM,EACN,GAAG,IAAI,EACR,GAAG,MAAM,CAAA;IAEV,mCAAmC;IACnC,MAAM,WAAW,GAAG,GAAa,EAAE;QACjC,OAAO,OAAO,CAAC,gBAAgB,CAC7B;YACE,YAAY;YACZ,QAAQ,EAAE,cAAc;SACzB,EACD,UAAU,CACX,CAAA;IACH,CAAC,CAAA;IAED,gDAAgD;IAChD,MAAM,OAAO,GAAG,KAAK,EACnB,OAAmD,EAC/B,EAAE;QACtB,8EAA8E;QAC9E,MAAM,SAAS,GAAG,OAAO,CAAC,SAAuB,CAAA;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,CAAA;IAED,oDAAoD;IACpD,MAAM,uBAAuB,GAAG,GAM9B,EAAE,CAAC,CAAC;QACJ,QAAQ,EAAE,WAAW,EAAE;QACvB,OAAO;QACP,gBAAgB;QAChB,gBAAgB;QAChB,SAAS;KACV,CAAC,CAAA;IAEF,+DAA+D;IAC/D,MAAM,KAAK,GAAG,KAAK,IAAuB,EAAE;QAC1C,mEAAmE;QACnE,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,uBAAuB,CAC9D,uBAAuB,EAAE,CAC1B,CAAA;QAED,wCAAwC;QACxC,OAAO,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAE,MAA8B,CAAA;IAClE,CAAC,CAAA;IAED,iBAAiB;IACjB,MAAM,4BAA4B,GAK9B,CAAC,OAAY,EAAO,EAAE;QACxB,4DAA4D;QAC5D,MAAM,aAAa,GAAG,CAAC,OAAsB,EAAE,EAAE;YAC/C,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAA;YACpD,IAAI,OAAO,EAAE,MAAM,EAAE,CAAC;gBACpB,OAAO,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;YAClC,CAAC;YACD,OAAO,SAAS,CAAA;QAClB,CAAC,CAAA;QAED,OAAO,wBAAwB,CAC7B;YACE,QAAQ,EAAE,WAAW,EAAE;YACvB,OAAO;YACP,gBAAgB;YAChB,gBAAgB;YAChB,oBAAoB;YACpB,QAAQ;YACR,SAAS;YACT,GAAG,IAAI;YACP,GAAG,OAAO;YACV,MAAM,EAAE,aAAa;SACtB,EACD,OAAO,CAAC,WAAW,CACpB,CAAA;IACH,CAAC,CAAA;IAED,sBAAsB;IACtB,MAAM,UAAU,GAAG,KAAK,IAAmB,EAAE;QAC3C,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAA;QAC9B,MAAM,OAAO,CAAC,WAAW,CAAC,iBAAiB,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAA;IAC3D,CAAC,CAAA;IAED,uCAAuC;IACvC,MAAM,YAAY,GAAG,CAAC,QAAkC,EAAE,EAAE;QAC1D,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAA;QAC9B,MAAM,aAAa,GAAG,OAAO,CAAC,WAAW,CAAC,YAAY,CACpD,QAAQ,CACQ,CAAA;QAElB,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;YAChC,OAAO,SAAS,CAAA;QAClB,CAAC;QAED,wCAAwC;QACxC,MAAM,YAAY,GAAG,CACnB,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,aAAa,CACnC,CAAA;QAEb,kCAAkC;QAClC,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,QAAQ,CAAC,YAAY,CAAC,CAAA;QAC/B,CAAC;QAED,OAAO,YAAY,CAAA;IACrB,CAAC,CAAA;IAED,OAAO;QACL,KAAK;QACL,wBAAwB,EAAE,4BAA4B;QACtD,UAAU;QACV,WAAW;QACX,YAAY;KACb,CAAA;AACH,CAAC,CAAA;AAED,+EAA+E;AAC/E,mBAAmB;AACnB,+EAA+E;AAE/E,MAAM,UAAU,2BAA2B,CAUzC,OAAoC,EACpC,MAMC;IAOD,OAAO,+BAA+B,CACpC,OAAO,EACP,MAMC,CACF,CAAA;AACH,CAAC;AAED,+EAA+E;AAC/E,4BAA4B;AAC5B,+EAA+E;AAE/E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAEH,MAAM,UAAU,kCAAkC,CAUhD,OAAoC,EACpC,MAMC;IAQD,MAAM,OAAO,GAMT,CACF,OAA2E,EAC3E,OAA4C,EAC5C,EAAE;QACF,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAA;QACpD,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC,WAAW,CAAC,IAAI,WAAW,CAAA;QAC/D,MAAM,QAAQ,GAAG,oBAAoB,CACnC,MAAM,CAAC,QAAQ,EACf,OAAO,EAAE,QAAQ,EACjB,OAAO,CACR,CAAA;QAED,OAAO,+BAA+B,CAMpC,OAAO,EAAE;YACT,GAAG,CAAC,CAAC,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,CACjD,MAMC,CACF;YACD,QAAQ;YACR,OAAO;SAOR,CAAC,CAAA;IACJ,CAAC,CAAA;IAED,OAAO,OAAO,CAAA;AAChB,CAAC"}
1
+ {"version":3,"file":"createSuspenseInfiniteQuery.js","sourceRoot":"","sources":["../src/createSuspenseInfiniteQuery.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"createSuspenseQuery.d.ts","sourceRoot":"","sources":["../src/createSuspenseQuery.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,EACV,OAAO,EACP,YAAY,EACZ,WAAW,EACX,YAAY,EACb,MAAM,kBAAkB,CAAA;AAEzB,OAAO,KAAK,EACV,WAAW,EACX,UAAU,EACV,mBAAmB,EAEnB,mBAAmB,EACnB,0BAA0B,EAC1B,OAAO,EACR,MAAM,YAAY,CAAA;AA+GnB,wBAAgB,mBAAmB,CACjC,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,mBAAmB,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC,GACzE,mBAAmB,CACpB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EACvC,QAAQ,EACR,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CACvC,CAKA;AAMD,wBAAgB,0BAA0B,CACxC,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,0BAA0B,CAChC,OAAO,CAAC,OAAO,CAAC,EAChB,MAAM,EACN,SAAS,EACT,QAAQ,CACT,GACA,CACD,IAAI,EAAE,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,KAC1C,mBAAmB,CACtB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EACvC,QAAQ,EACR,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CACvC,CAqCA"}
1
+ {"version":3,"file":"createSuspenseQuery.d.ts","sourceRoot":"","sources":["../src/createSuspenseQuery.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,EACV,OAAO,EACP,YAAY,EACZ,WAAW,EACX,YAAY,EACb,MAAM,kBAAkB,CAAA;AAGzB,OAAO,KAAK,EACV,WAAW,EACX,UAAU,EACV,mBAAmB,EAEnB,mBAAmB,EACnB,0BAA0B,EAC1B,OAAO,EACR,MAAM,YAAY,CAAA;AAqHnB,wBAAgB,mBAAmB,CACjC,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,mBAAmB,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC,GACzE,mBAAmB,CACpB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EACvC,QAAQ,EACR,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CACvC,CAKA;AAMD,wBAAgB,0BAA0B,CACxC,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,0BAA0B,CAChC,OAAO,CAAC,OAAO,CAAC,EAChB,MAAM,EACN,SAAS,EACT,QAAQ,CACT,GACA,CACD,IAAI,EAAE,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,KAC1C,mBAAmB,CACtB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EACvC,QAAQ,EACR,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CACvC,CAqCA"}
@@ -18,6 +18,7 @@
18
18
  * // In component (wrap in Suspense)
19
19
  * const { data: user } = userQuery.useSuspenseQuery() // data is never undefined!
20
20
  */
21
+ import { useMemo } from "react";
21
22
  import { useSuspenseQuery } from "@tanstack/react-query";
22
23
  import { buildChainedSelect } from "./utils.js";
23
24
  // ============================================================================
@@ -44,13 +45,16 @@ const createSuspenseQueryImpl = (reactor, config) => {
44
45
  };
45
46
  const useSuspenseQueryHook = (options) => {
46
47
  const baseOptions = reactor.getQueryOptions(params);
48
+ // Memoized so the observer's select-result cache can hit; see
49
+ // buildChainedSelect. `select` comes from the factory config and is stable.
50
+ const chainedSelect = useMemo(() => buildChainedSelect(select, options?.select), [options?.select]);
47
51
  return useSuspenseQuery({
48
52
  queryKey: baseOptions.queryKey,
49
53
  staleTime,
50
54
  ...rest,
51
55
  ...options,
52
56
  queryFn: baseOptions.queryFn,
53
- select: buildChainedSelect(select, options?.select),
57
+ select: chainedSelect,
54
58
  }, reactor.queryClient);
55
59
  };
56
60
  const invalidate = async () => {
@@ -1 +1 @@
1
- {"version":3,"file":"createSuspenseQuery.js","sourceRoot":"","sources":["../src/createSuspenseQuery.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"createSuspenseQuery.js","sourceRoot":"","sources":["../src/createSuspenseQuery.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"useActorInfiniteQuery.d.ts","sourceRoot":"","sources":["../../src/hooks/useActorInfiniteQuery.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useActorInfiniteQuery.d.ts","sourceRoot":"","sources":["../../src/hooks/useActorInfiniteQuery.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { useMemo, useCallback } from "react";
2
2
  import { useInfiniteQuery, } from "@tanstack/react-query";
3
- import { normalizeQueryData } from "../utils.js";
3
+ import { mergeFactoryQueryKey, normalizeQueryData } from "../utils.js";
4
4
  /**
5
5
  * Hook for executing infinite/paginated query calls on a canister.
6
6
  *
@@ -17,7 +17,21 @@ export const useActorInfiniteQuery = ({ reactor, functionName, getArgs, callConf
17
17
  // Always pass queryKey through generateQueryKey so it is merged with the
18
18
  // reactor/function identity. Using the custom key verbatim would cause cache
19
19
  // collisions if two different actors or methods share the same key string.
20
- const baseQueryKey = useMemo(() => reactor.generateQueryKey({ functionName, queryKey }, callConfig), [queryKey, reactor, functionName, callConfig]);
20
+ const baseQueryKey = useMemo(() => reactor.generateQueryKey({
21
+ functionName,
22
+ // Fold the call arguments into the key. They live in the `getArgs`
23
+ // closure rather than in the config, so without this two hooks on the
24
+ // same method with different arguments share one cache entry and
25
+ // serve each other's pages.
26
+ queryKey: mergeFactoryQueryKey(queryKey, undefined, getArgs(options.initialPageParam)),
27
+ }, callConfig), [
28
+ queryKey,
29
+ reactor,
30
+ functionName,
31
+ callConfig,
32
+ getArgs,
33
+ options.initialPageParam,
34
+ ]);
21
35
  // Memoize queryFn to prevent recreation on every render
22
36
  const queryFn = useCallback(async ({ pageParam }) => {
23
37
  const args = getArgs(pageParam);
@@ -1 +1 @@
1
- {"version":3,"file":"useActorInfiniteQuery.js","sourceRoot":"","sources":["../../src/hooks/useActorInfiniteQuery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAA;AAC5C,OAAO,EAEL,gBAAgB,GAIjB,MAAM,uBAAuB,CAAA;AAW9B,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAqEhD;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAKnC,EACA,OAAO,EACP,YAAY,EACZ,OAAO,EACP,UAAU,EACV,QAAQ,EACR,GAAG,OAAO,EAMX,EAAuE,EAAE;IACxE,yEAAyE;IACzE,6EAA6E;IAC7E,2EAA2E;IAC3E,MAAM,YAAY,GAAG,OAAO,CAC1B,GAAG,EAAE,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,gBAAgB,CACrB;QACE,QAAQ,EAAE,YAAY;QACtB,OAAO;QACP,GAAG,OAAO;KACJ,EACR,OAAO,CAAC,WAAW,CACmD,CAAA;AAC1E,CAAC,CAAA"}
1
+ {"version":3,"file":"useActorInfiniteQuery.js","sourceRoot":"","sources":["../../src/hooks/useActorInfiniteQuery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAA;AAC5C,OAAO,EAEL,gBAAgB,GAIjB,MAAM,uBAAuB,CAAA;AAW9B,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAqEtE;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAKnC,EACA,OAAO,EACP,YAAY,EACZ,OAAO,EACP,UAAU,EACV,QAAQ,EACR,GAAG,OAAO,EAMX,EAAuE,EAAE;IACxE,yEAAyE;IACzE,6EAA6E;IAC7E,2EAA2E;IAC3E,MAAM,YAAY,GAAG,OAAO,CAC1B,GAAG,EAAE,CACH,OAAO,CAAC,gBAAgB,CACtB;QACE,YAAY;QACZ,mEAAmE;QACnE,sEAAsE;QACtE,iEAAiE;QACjE,4BAA4B;QAC5B,QAAQ,EAAE,oBAAoB,CAC5B,QAAQ,EACR,SAAS,EACT,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAClC;KACF,EACD,UAAU,CACX,EACH;QACE,QAAQ;QACR,OAAO;QACP,YAAY;QACZ,UAAU;QACV,OAAO;QACP,OAAO,CAAC,gBAAgB;KACzB,CACF,CAAA;IAED,wDAAwD;IACxD,MAAM,OAAO,GAAG,WAAW,CACzB,KAAK,EAAE,EAAE,SAAS,EAA6B,EAAE,EAAE;QACjD,MAAM,IAAI,GAAG,OAAO,CAAC,SAAS,CAAC,CAAA;QAC/B,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC;YACtC,YAAY;YACZ,IAAI;YACJ,UAAU;SACX,CAAC,CAAA;QACF,OAAO,kBAAkB,CACvB,MAAqD,CACtD,CAAA;IACH,CAAC,EACD,CAAC,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,UAAU,CAAC,CAC7C,CAAA;IAED,OAAO,gBAAgB,CACrB;QACE,QAAQ,EAAE,YAAY;QACtB,OAAO;QACP,GAAG,OAAO;KACJ,EACR,OAAO,CAAC,WAAW,CACmD,CAAA;AAC1E,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"useActorMethod.d.ts","sourceRoot":"","sources":["../../src/hooks/useActorMethod.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useActorMethod.d.ts","sourceRoot":"","sources":["../../src/hooks/useActorMethod.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { useCallback, useMemo } from "react";
1
+ import { useCallback, useEffect, useMemo, useRef } from "react";
2
2
  import { useQuery, useMutation, } from "@tanstack/react-query";
3
3
  /**
4
4
  * A unified hook for calling canister methods that automatically handles
@@ -12,38 +12,63 @@ export function useActorMethod({ reactor, functionName, args, callConfig, queryK
12
12
  return reactor.isQueryMethod(functionName);
13
13
  }, [reactor, functionName]);
14
14
  const functionType = isQuery ? "query" : "update";
15
- // Generate query key
16
- const queryKey = useMemo(() => {
17
- if (customQueryKey)
18
- return customQueryKey;
19
- return reactor.generateQueryKey({
20
- functionName,
21
- args,
22
- }, callConfig);
23
- }, [reactor, functionName, args, callConfig, customQueryKey]);
15
+ // Latest callbacks, read at dispatch time: this keeps a rerendered closure
16
+ // from being ignored, and keeps callback identity out of the effect deps.
17
+ const onSuccessRef = useRef(onSuccess);
18
+ const onErrorRef = useRef(onError);
19
+ onSuccessRef.current = onSuccess;
20
+ onErrorRef.current = onError;
21
+ // Build the key for a given set of call arguments.
22
+ //
23
+ // A custom `queryKey` is appended to the canister/function prefix rather than
24
+ // replacing it, matching `useActorQuery`. Used verbatim it would carry no
25
+ // canister id, so the entry would be invisible to the canister-scoped
26
+ // invalidation `ClientManager.updateAgent` runs on identity change and would
27
+ // keep serving the previous principal's data after sign-in or sign-out.
28
+ const buildQueryKey = useCallback((keyArgs) => reactor.generateQueryKey({ functionName, args: keyArgs, queryKey: customQueryKey }, callConfig), [reactor, functionName, callConfig, customQueryKey]);
29
+ const queryKey = useMemo(() => buildQueryKey(args), [buildQueryKey, args]);
24
30
  // ============================================================================
25
31
  // Query Implementation
26
32
  // ============================================================================
27
33
  const queryResult = useQuery({
28
34
  queryKey,
29
- queryFn: async () => {
30
- try {
31
- const result = await reactor.callMethod({
32
- functionName,
33
- args,
34
- callConfig,
35
- });
36
- onSuccess?.(result);
37
- return result;
38
- }
39
- catch (error) {
40
- onError?.(error);
41
- throw error;
42
- }
43
- },
35
+ // Callbacks deliberately do NOT live here: a queryFn runs once per fetch
36
+ // attempt, so `onError` fired on every retry (four times with the default
37
+ // QueryClient) and `onSuccess` never fired when data came from the cache
38
+ // or a deduped sibling. They are dispatched from the settled observer
39
+ // result below instead.
40
+ queryFn: () => reactor.callMethod({
41
+ functionName,
42
+ args,
43
+ callConfig,
44
+ }),
44
45
  enabled: isQuery && enabled,
45
46
  ...queryOptions,
46
47
  }, reactor.queryClient);
48
+ // Dispatch the query callbacks from the settled observer result, once per
49
+ // distinct outcome. TanStack v5 removed `onSuccess`/`onError` from useQuery
50
+ // for exactly this reason, so the settle timestamps are what identify a new
51
+ // result: they also advance for a cache hit on a fresh mount, which is the
52
+ // case that previously never notified at all.
53
+ const notifiedSuccessAt = useRef(undefined);
54
+ const notifiedErrorAt = useRef(undefined);
55
+ const { status, data, error, dataUpdatedAt, errorUpdatedAt } = queryResult;
56
+ useEffect(() => {
57
+ if (!isQuery)
58
+ return;
59
+ if (status === "success" && dataUpdatedAt !== notifiedSuccessAt.current) {
60
+ notifiedSuccessAt.current = dataUpdatedAt;
61
+ onSuccessRef.current?.(data);
62
+ }
63
+ }, [isQuery, status, data, dataUpdatedAt]);
64
+ useEffect(() => {
65
+ if (!isQuery)
66
+ return;
67
+ if (status === "error" && errorUpdatedAt !== notifiedErrorAt.current) {
68
+ notifiedErrorAt.current = errorUpdatedAt;
69
+ onErrorRef.current?.(error);
70
+ }
71
+ }, [isQuery, status, error, errorUpdatedAt]);
47
72
  // ============================================================================
48
73
  // Mutation Implementation
49
74
  // ============================================================================
@@ -58,7 +83,7 @@ export function useActorMethod({ reactor, functionName, args, callConfig, queryK
58
83
  return result;
59
84
  },
60
85
  onSuccess: (data) => {
61
- onSuccess?.(data);
86
+ onSuccessRef.current?.(data);
62
87
  // Invalidate specified queries after successful mutation
63
88
  if (invalidateQueries && invalidateQueries.length > 0) {
64
89
  invalidateQueries.forEach((key) => {
@@ -67,7 +92,7 @@ export function useActorMethod({ reactor, functionName, args, callConfig, queryK
67
92
  }
68
93
  },
69
94
  onError: (error) => {
70
- onError?.(error);
95
+ onErrorRef.current?.(error);
71
96
  },
72
97
  }, reactor.queryClient);
73
98
  // ============================================================================
@@ -77,9 +102,14 @@ export function useActorMethod({ reactor, functionName, args, callConfig, queryK
77
102
  if (isQuery) {
78
103
  // For queries, refetch with new args if provided
79
104
  if (callArgs !== undefined) {
105
+ // Key on the args actually being called. Reusing the hook's
106
+ // mount-time key would store this result under the previous args'
107
+ // entry — poisoning it for every other reader — and let fetchQuery
108
+ // dedupe onto an in-flight request for the old args, returning that
109
+ // response as though it answered this one.
80
110
  try {
81
111
  const result = await reactor.queryClient.fetchQuery({
82
- queryKey,
112
+ queryKey: buildQueryKey(callArgs),
83
113
  queryFn: () => reactor.callMethod({
84
114
  functionName,
85
115
  args: callArgs,
@@ -87,11 +117,16 @@ export function useActorMethod({ reactor, functionName, args, callConfig, queryK
87
117
  }),
88
118
  staleTime: 0,
89
119
  });
90
- onSuccess?.(result);
120
+ // Dispatched here rather than by the observer effect: this result
121
+ // lands under the called args' key, which the mounted observer (bound
122
+ // to the hook's own args) does not watch. That separation is also why
123
+ // this can no longer double-fire the way it did when both wrote to
124
+ // the same key.
125
+ onSuccessRef.current?.(result);
91
126
  return result;
92
127
  }
93
128
  catch (error) {
94
- onError?.(error);
129
+ onErrorRef.current?.(error);
95
130
  return undefined;
96
131
  }
97
132
  }
@@ -110,11 +145,9 @@ export function useActorMethod({ reactor, functionName, args, callConfig, queryK
110
145
  reactor,
111
146
  functionName,
112
147
  callConfig,
113
- queryKey,
148
+ buildQueryKey,
114
149
  queryResult,
115
150
  mutationResult,
116
- onSuccess,
117
- onError,
118
151
  ]);
119
152
  // ============================================================================
120
153
  // Reset Function
@@ -1 +1 @@
1
- {"version":3,"file":"useActorMethod.js","sourceRoot":"","sources":["../../src/hooks/useActorMethod.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useActorMethod.js","sourceRoot":"","sources":["../../src/hooks/useActorMethod.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,14 @@ export interface UseActorMutationParameters<Service, Method extends FunctionName
5
5
  reactor: Reactor<Service, Transform>;
6
6
  functionName: Method;
7
7
  callConfig?: CallConfig;
8
- invalidateQueries?: QueryKey[];
8
+ /**
9
+ * Queries to invalidate upon successful mutation.
10
+ *
11
+ * `undefined` entries are skipped, so the common
12
+ * `[maybeQuery?.getQueryKey()]` idiom is safe when the optional query object
13
+ * is absent.
14
+ */
15
+ invalidateQueries?: (QueryKey | undefined)[];
9
16
  /**
10
17
  * Callback for canister-level business logic errors.
11
18
  * Called when the canister returns a Result { Err: E } variant.
@@ -1 +1 @@
1
- {"version":3,"file":"useActorMutation.d.ts","sourceRoot":"","sources":["../../src/hooks/useActorMutation.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,kBAAkB,EAClB,iBAAiB,EACjB,QAAQ,EACT,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EACL,OAAO,EACP,WAAW,EACX,eAAe,EACf,YAAY,EACZ,YAAY,EACZ,gBAAgB,EAEhB,aAAa,EACb,SAAS,EACT,qBAAqB,EACrB,uBAAuB,EACxB,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAEhD,MAAM,WAAW,0BAA0B,CACzC,OAAO,EACP,MAAM,SAAS,YAAY,CAAC,OAAO,CAAC,EACpC,SAAS,SAAS,YAAY,GAAG,QAAQ,CACzC,SAAQ,IAAI,CACZ,kBAAkB,CAChB,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EAC3C,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EAC5C,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CACxC,EACD,YAAY,CACb;IACC,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,SAAS,CAAC,CAAA;IACpC,YAAY,EAAE,MAAM,CAAA;IACpB,UAAU,CAAC,EAAE,UAAU,CAAA;IACvB,iBAAiB,CAAC,EAAE,QAAQ,EAAE,CAAA;IAC9B;;;;OAIG;IACH,eAAe,CAAC,EAAE,CAChB,KAAK,EAAE,aAAa,CAClB,uBAAuB,CACrB,SAAS,CAAC,qBAAqB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAClD,CAAC,SAAS,CAAC,CACb,EACD,SAAS,EAAE,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,KAC/C,IAAI,CAAA;CACV;AAED,MAAM,MAAM,sBAAsB,CAChC,OAAO,EACP,MAAM,SAAS,YAAY,CAAC,OAAO,CAAC,EACpC,SAAS,SAAS,YAAY,GAAG,QAAQ,IACvC,IAAI,CAAC,0BAA0B,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,SAAS,CAAC,CAAA;AAE3E,MAAM,MAAM,sBAAsB,CAChC,OAAO,EACP,MAAM,SAAS,YAAY,CAAC,OAAO,CAAC,EACpC,SAAS,SAAS,YAAY,GAAG,QAAQ,IACvC,iBAAiB,CACnB,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EAC3C,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EAC5C,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CACxC,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,gBAAgB,GAC3B,OAAO,EACP,MAAM,SAAS,YAAY,CAAC,OAAO,CAAC,EACpC,SAAS,SAAS,YAAY,GAAG,QAAQ,EACzC,2GASC,0BAA0B,CAC3B,OAAO,EACP,MAAM,EACN,SAAS,CACV,KAAG,sBAAsB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CA0DpD,CAAA"}
1
+ {"version":3,"file":"useActorMutation.d.ts","sourceRoot":"","sources":["../../src/hooks/useActorMutation.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,kBAAkB,EAClB,iBAAiB,EACjB,QAAQ,EACT,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EACL,OAAO,EACP,WAAW,EACX,eAAe,EACf,YAAY,EACZ,YAAY,EACZ,gBAAgB,EAEhB,aAAa,EACb,SAAS,EACT,qBAAqB,EACrB,uBAAuB,EACxB,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAEhD,MAAM,WAAW,0BAA0B,CACzC,OAAO,EACP,MAAM,SAAS,YAAY,CAAC,OAAO,CAAC,EACpC,SAAS,SAAS,YAAY,GAAG,QAAQ,CACzC,SAAQ,IAAI,CACZ,kBAAkB,CAChB,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EAC3C,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EAC5C,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CACxC,EACD,YAAY,CACb;IACC,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,SAAS,CAAC,CAAA;IACpC,YAAY,EAAE,MAAM,CAAA;IACpB,UAAU,CAAC,EAAE,UAAU,CAAA;IACvB;;;;;;OAMG;IACH,iBAAiB,CAAC,EAAE,CAAC,QAAQ,GAAG,SAAS,CAAC,EAAE,CAAA;IAC5C;;;;OAIG;IACH,eAAe,CAAC,EAAE,CAChB,KAAK,EAAE,aAAa,CAClB,uBAAuB,CACrB,SAAS,CAAC,qBAAqB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAClD,CAAC,SAAS,CAAC,CACb,EACD,SAAS,EAAE,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,KAC/C,IAAI,CAAA;CACV;AAED,MAAM,MAAM,sBAAsB,CAChC,OAAO,EACP,MAAM,SAAS,YAAY,CAAC,OAAO,CAAC,EACpC,SAAS,SAAS,YAAY,GAAG,QAAQ,IACvC,IAAI,CAAC,0BAA0B,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,SAAS,CAAC,CAAA;AAE3E,MAAM,MAAM,sBAAsB,CAChC,OAAO,EACP,MAAM,SAAS,YAAY,CAAC,OAAO,CAAC,EACpC,SAAS,SAAS,YAAY,GAAG,QAAQ,IACvC,iBAAiB,CACnB,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EAC3C,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EAC5C,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CACxC,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,gBAAgB,GAC3B,OAAO,EACP,MAAM,SAAS,YAAY,CAAC,OAAO,CAAC,EACpC,SAAS,SAAS,YAAY,GAAG,QAAQ,EACzC,2GASC,0BAA0B,CAC3B,OAAO,EACP,MAAM,EACN,SAAS,CACV,KAAG,sBAAsB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAkEpD,CAAA"}
@@ -27,7 +27,15 @@ export const useActorMutation = ({ reactor, functionName, invalidateQueries, onS
27
27
  const mutationFn = useCallback(async (args) => reactor.callMethod({ functionName, callConfig, args }), [reactor, functionName, callConfig]);
28
28
  const handleSuccess = useCallback(async (...params) => {
29
29
  if (invalidateQueries) {
30
- await Promise.all(invalidateQueries.map((queryKey) => reactor.queryClient.invalidateQueries({ queryKey })));
30
+ // Skip undefined entries. React Query reads `{ queryKey: undefined }`
31
+ // as "match everything", so a single undefined — which the natural
32
+ // `invalidateQueries: [maybeQuery?.getQueryKey()]` idiom produces
33
+ // whenever the optional query object is absent — would invalidate every
34
+ // query in the client, including an app's unrelated non-canister ones.
35
+ // `createMutation.invalidateAll` already filters the same way.
36
+ await Promise.all(invalidateQueries
37
+ .filter((queryKey) => queryKey !== undefined)
38
+ .map((queryKey) => reactor.queryClient.invalidateQueries({ queryKey })));
31
39
  }
32
40
  await onSuccess?.(...params);
33
41
  }, [reactor, invalidateQueries, onSuccess]);
@@ -1 +1 @@
1
- {"version":3,"file":"useActorMutation.js","sourceRoot":"","sources":["../../src/hooks/useActorMutation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAA;AAC5C,OAAO,EACL,WAAW,GAIZ,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAOL,eAAe,GAKhB,MAAM,kBAAkB,CAAA;AAkDzB;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAI9B,EACA,OAAO,EACP,YAAY,EACZ,iBAAiB,EACjB,SAAS,EACT,OAAO,EACP,eAAe,EACf,UAAU,EACV,GAAG,OAAO,EAKX,EAAsD,EAAE;IACvD,MAAM,UAAU,GAAG,WAAW,CAC5B,KAAK,EAAE,IAA6C,EAAE,EAAE,CACtD,OAAO,CAAC,UAAU,CAAC,EAAE,YAAY,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,EACxD,CAAC,OAAO,EAAE,YAAY,EAAE,UAAU,CAAC,CACpC,CAAA;IAED,MAAM,aAAa,GAAG,WAAW,CAC/B,KAAK,EACH,GAAG,MAQF,EACD,EAAE;QACF,IAAI,iBAAiB,EAAE,CAAC;YACtB,MAAM,OAAO,CAAC,GAAG,CACf,iBAAiB,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CACjC,OAAO,CAAC,WAAW,CAAC,iBAAiB,CAAC,EAAE,QAAQ,EAAE,CAAC,CACpD,CACF,CAAA;QACH,CAAC;QACD,MAAM,SAAS,EAAE,CAAC,GAAG,MAAM,CAAC,CAAA;IAC9B,CAAC,EACD,CAAC,OAAO,EAAE,iBAAiB,EAAE,SAAS,CAAC,CACxC,CAAA;IAED,MAAM,WAAW,GAAG,WAAW,CAC7B,CACE,KAAmD,EACnD,SAAkD,EAClD,OAAgB,EAChB,QAAiB,EACjB,EAAE;QACF,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;YAC3B,eAAe,EAAE,CAAC,KAAY,EAAE,SAAS,CAAC,CAAA;QAC5C,CAAC;QACD,OAAO,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,OAAc,EAAE,QAAe,CAAC,CAAA;IAC9D,CAAC,EACD,CAAC,eAAe,EAAE,OAAO,CAAC,CAC3B,CAAA;IAED,MAAM,eAAe,GAAG,OAAO,CAC7B,GAAG,EAAE,CAAC,CAAC;QACL,GAAG,OAAO;QACV,UAAU;QACV,SAAS,EAAE,aAAa;QACxB,OAAO,EAAE,WAAW;KACrB,CAAC;IACF,uDAAuD;IACvD,CAAC,UAAU,EAAE,aAAa,EAAE,WAAW,CAAC,CACzC,CAAA;IAED,OAAO,WAAW,CAAC,eAAe,EAAE,OAAO,CAAC,WAAW,CAAC,CAAA;AAC1D,CAAC,CAAA"}
1
+ {"version":3,"file":"useActorMutation.js","sourceRoot":"","sources":["../../src/hooks/useActorMutation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAA;AAC5C,OAAO,EACL,WAAW,GAIZ,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAOL,eAAe,GAKhB,MAAM,kBAAkB,CAAA;AAyDzB;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAI9B,EACA,OAAO,EACP,YAAY,EACZ,iBAAiB,EACjB,SAAS,EACT,OAAO,EACP,eAAe,EACf,UAAU,EACV,GAAG,OAAO,EAKX,EAAsD,EAAE;IACvD,MAAM,UAAU,GAAG,WAAW,CAC5B,KAAK,EAAE,IAA6C,EAAE,EAAE,CACtD,OAAO,CAAC,UAAU,CAAC,EAAE,YAAY,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,EACxD,CAAC,OAAO,EAAE,YAAY,EAAE,UAAU,CAAC,CACpC,CAAA;IAED,MAAM,aAAa,GAAG,WAAW,CAC/B,KAAK,EACH,GAAG,MAQF,EACD,EAAE;QACF,IAAI,iBAAiB,EAAE,CAAC;YACtB,sEAAsE;YACtE,mEAAmE;YACnE,kEAAkE;YAClE,wEAAwE;YACxE,uEAAuE;YACvE,+DAA+D;YAC/D,MAAM,OAAO,CAAC,GAAG,CACf,iBAAiB;iBACd,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,KAAK,SAAS,CAAC;iBAC5C,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAChB,OAAO,CAAC,WAAW,CAAC,iBAAiB,CAAC,EAAE,QAAQ,EAAE,CAAC,CACpD,CACJ,CAAA;QACH,CAAC;QACD,MAAM,SAAS,EAAE,CAAC,GAAG,MAAM,CAAC,CAAA;IAC9B,CAAC,EACD,CAAC,OAAO,EAAE,iBAAiB,EAAE,SAAS,CAAC,CACxC,CAAA;IAED,MAAM,WAAW,GAAG,WAAW,CAC7B,CACE,KAAmD,EACnD,SAAkD,EAClD,OAAgB,EAChB,QAAiB,EACjB,EAAE;QACF,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;YAC3B,eAAe,EAAE,CAAC,KAAY,EAAE,SAAS,CAAC,CAAA;QAC5C,CAAC;QACD,OAAO,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,OAAc,EAAE,QAAe,CAAC,CAAA;IAC9D,CAAC,EACD,CAAC,eAAe,EAAE,OAAO,CAAC,CAC3B,CAAA;IAED,MAAM,eAAe,GAAG,OAAO,CAC7B,GAAG,EAAE,CAAC,CAAC;QACL,GAAG,OAAO;QACV,UAAU;QACV,SAAS,EAAE,aAAa;QACxB,OAAO,EAAE,WAAW;KACrB,CAAC;IACF,uDAAuD;IACvD,CAAC,UAAU,EAAE,aAAa,EAAE,WAAW,CAAC,CACzC,CAAA;IAED,OAAO,WAAW,CAAC,eAAe,EAAE,OAAO,CAAC,WAAW,CAAC,CAAA;AAC1D,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"useActorSuspenseInfiniteQuery.d.ts","sourceRoot":"","sources":["../../src/hooks/useActorSuspenseInfiniteQuery.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useActorSuspenseInfiniteQuery.d.ts","sourceRoot":"","sources":["../../src/hooks/useActorSuspenseInfiniteQuery.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { useMemo, useCallback } from "react";
2
2
  import { useSuspenseInfiniteQuery, } from "@tanstack/react-query";
3
- import { normalizeQueryData } from "../utils.js";
3
+ import { mergeFactoryQueryKey, normalizeQueryData } from "../utils.js";
4
4
  /**
5
5
  * Hook for executing suspense-enabled infinite/paginated query calls on a canister.
6
6
  *
@@ -17,7 +17,21 @@ export const useActorSuspenseInfiniteQuery = ({ reactor, functionName, getArgs,
17
17
  // Always pass queryKey through generateQueryKey so it is merged with the
18
18
  // reactor/function identity. Using the custom key verbatim would cause cache
19
19
  // collisions if two different actors or methods share the same key string.
20
- const baseQueryKey = useMemo(() => reactor.generateQueryKey({ functionName, queryKey }, callConfig), [queryKey, reactor, functionName, callConfig]);
20
+ const baseQueryKey = useMemo(() => reactor.generateQueryKey({
21
+ functionName,
22
+ // Fold the call arguments into the key. They live in the `getArgs`
23
+ // closure rather than in the config, so without this two hooks on the
24
+ // same method with different arguments share one cache entry and
25
+ // serve each other's pages.
26
+ queryKey: mergeFactoryQueryKey(queryKey, undefined, getArgs(options.initialPageParam)),
27
+ }, callConfig), [
28
+ queryKey,
29
+ reactor,
30
+ functionName,
31
+ callConfig,
32
+ getArgs,
33
+ options.initialPageParam,
34
+ ]);
21
35
  // Memoize queryFn to prevent recreation on every render
22
36
  const queryFn = useCallback(async ({ pageParam }) => {
23
37
  const args = getArgs(pageParam);
@@ -1 +1 @@
1
- {"version":3,"file":"useActorSuspenseInfiniteQuery.js","sourceRoot":"","sources":["../../src/hooks/useActorSuspenseInfiniteQuery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAA;AAC5C,OAAO,EAEL,wBAAwB,GAIzB,MAAM,uBAAuB,CAAA;AAW9B,OAAO,EAAE,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
+ {"version":3,"file":"useActorSuspenseInfiniteQuery.js","sourceRoot":"","sources":["../../src/hooks/useActorSuspenseInfiniteQuery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAA;AAC5C,OAAO,EAEL,wBAAwB,GAIzB,MAAM,uBAAuB,CAAA;AAW9B,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AA0EtE;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAK3C,EACA,OAAO,EACP,YAAY,EACZ,OAAO,EACP,UAAU,EACV,QAAQ,EACR,GAAG,OAAO,EAMX,EAKC,EAAE;IACF,yEAAyE;IACzE,6EAA6E;IAC7E,2EAA2E;IAC3E,MAAM,YAAY,GAAG,OAAO,CAC1B,GAAG,EAAE,CACH,OAAO,CAAC,gBAAgB,CACtB;QACE,YAAY;QACZ,mEAAmE;QACnE,sEAAsE;QACtE,iEAAiE;QACjE,4BAA4B;QAC5B,QAAQ,EAAE,oBAAoB,CAC5B,QAAQ,EACR,SAAS,EACT,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAClC;KACF,EACD,UAAU,CACX,EACH;QACE,QAAQ;QACR,OAAO;QACP,YAAY;QACZ,UAAU;QACV,OAAO;QACP,OAAO,CAAC,gBAAgB;KACzB,CACF,CAAA;IAED,wDAAwD;IACxD,MAAM,OAAO,GAAG,WAAW,CACzB,KAAK,EAAE,EAAE,SAAS,EAA6B,EAAE,EAAE;QACjD,MAAM,IAAI,GAAG,OAAO,CAAC,SAAS,CAAC,CAAA;QAC/B,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC;YACtC,YAAY;YACZ,IAAI;YACJ,UAAU;SACX,CAAC,CAAA;QACF,OAAO,kBAAkB,CACvB,MAAqD,CACtD,CAAA;IACH,CAAC,EACD,CAAC,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,UAAU,CAAC,CAC7C,CAAA;IAED,OAAO,wBAAwB,CAC7B;QACE,QAAQ,EAAE,YAAY;QACtB,OAAO;QACP,GAAG,OAAO;KACJ,EACR,OAAO,CAAC,WAAW,CAMpB,CAAA;AACH,CAAC,CAAA"}
package/dist/types.d.ts CHANGED
@@ -182,8 +182,14 @@ export interface MutationConfig<Service = BaseActor, Method extends FunctionName
182
182
  functionName: Method;
183
183
  /** Call configuration for the actor method */
184
184
  callConfig?: CallConfig;
185
- /** Queries to invalidate upon successful mutation */
186
- invalidateQueries?: QueryKey[];
185
+ /**
186
+ * Queries to invalidate upon successful mutation.
187
+ *
188
+ * `undefined` entries are skipped, so the common
189
+ * `[maybeQuery?.getQueryKey()]` idiom is safe when the optional query object
190
+ * is absent.
191
+ */
192
+ invalidateQueries?: (QueryKey | undefined)[];
187
193
  /**
188
194
  * Callback for canister-level business logic errors.
189
195
  * Called when the canister returns a Result { Err: E } variant.