@signalium/query 1.0.10 → 1.0.11

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 (71) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/dist/cjs/EntityMap.js +45 -7
  3. package/dist/cjs/EntityMap.js.map +1 -1
  4. package/dist/cjs/QueryClient.js +44 -3
  5. package/dist/cjs/QueryClient.js.map +1 -1
  6. package/dist/cjs/QueryResult.js +122 -79
  7. package/dist/cjs/QueryResult.js.map +1 -1
  8. package/dist/cjs/QueryStore.js +0 -573
  9. package/dist/cjs/QueryStore.js.map +1 -1
  10. package/dist/cjs/errors.js +17 -0
  11. package/dist/cjs/errors.js.map +1 -1
  12. package/dist/cjs/proxy.js +54 -14
  13. package/dist/cjs/proxy.js.map +1 -1
  14. package/dist/cjs/query.js +2 -1
  15. package/dist/cjs/query.js.map +1 -1
  16. package/dist/cjs/stores/async.js +38 -3
  17. package/dist/cjs/stores/async.js.map +1 -1
  18. package/dist/cjs/stores/shared.js +5 -1
  19. package/dist/cjs/stores/shared.js.map +1 -1
  20. package/dist/cjs/stores/sync.js +46 -10
  21. package/dist/cjs/stores/sync.js.map +1 -1
  22. package/dist/cjs/typeDefs.js +128 -5
  23. package/dist/cjs/typeDefs.js.map +1 -1
  24. package/dist/esm/EntityMap.d.ts +9 -3
  25. package/dist/esm/EntityMap.d.ts.map +1 -1
  26. package/dist/esm/EntityMap.js +46 -8
  27. package/dist/esm/EntityMap.js.map +1 -1
  28. package/dist/esm/QueryClient.d.ts +19 -1
  29. package/dist/esm/QueryClient.d.ts.map +1 -1
  30. package/dist/esm/QueryClient.js +43 -3
  31. package/dist/esm/QueryClient.js.map +1 -1
  32. package/dist/esm/QueryResult.d.ts +9 -3
  33. package/dist/esm/QueryResult.d.ts.map +1 -1
  34. package/dist/esm/QueryResult.js +122 -79
  35. package/dist/esm/QueryResult.js.map +1 -1
  36. package/dist/esm/QueryStore.d.ts +0 -104
  37. package/dist/esm/QueryStore.d.ts.map +1 -1
  38. package/dist/esm/QueryStore.js +1 -562
  39. package/dist/esm/QueryStore.js.map +1 -1
  40. package/dist/esm/errors.d.ts.map +1 -1
  41. package/dist/esm/errors.js +18 -1
  42. package/dist/esm/errors.js.map +1 -1
  43. package/dist/esm/proxy.d.ts +1 -1
  44. package/dist/esm/proxy.d.ts.map +1 -1
  45. package/dist/esm/proxy.js +54 -14
  46. package/dist/esm/proxy.js.map +1 -1
  47. package/dist/esm/query.d.ts +2 -0
  48. package/dist/esm/query.d.ts.map +1 -1
  49. package/dist/esm/query.js +2 -1
  50. package/dist/esm/query.js.map +1 -1
  51. package/dist/esm/stores/async.d.ts +3 -1
  52. package/dist/esm/stores/async.d.ts.map +1 -1
  53. package/dist/esm/stores/async.js +39 -4
  54. package/dist/esm/stores/async.js.map +1 -1
  55. package/dist/esm/stores/shared.d.ts +2 -0
  56. package/dist/esm/stores/shared.d.ts.map +1 -1
  57. package/dist/esm/stores/shared.js +2 -0
  58. package/dist/esm/stores/shared.js.map +1 -1
  59. package/dist/esm/stores/sync.d.ts +4 -2
  60. package/dist/esm/stores/sync.d.ts.map +1 -1
  61. package/dist/esm/stores/sync.js +40 -5
  62. package/dist/esm/stores/sync.js.map +1 -1
  63. package/dist/esm/type-utils.d.ts +4 -0
  64. package/dist/esm/type-utils.d.ts.map +1 -1
  65. package/dist/esm/typeDefs.d.ts +53 -5
  66. package/dist/esm/typeDefs.d.ts.map +1 -1
  67. package/dist/esm/typeDefs.js +126 -5
  68. package/dist/esm/typeDefs.js.map +1 -1
  69. package/dist/esm/types.d.ts +36 -10
  70. package/dist/esm/types.d.ts.map +1 -1
  71. package/package.json +3 -3
@@ -8,6 +8,7 @@ import { type AnyQueryDefinition, type QueryClient, type QueryParams } from './Q
8
8
  export declare class QueryResultImpl<T> implements BaseQueryResult<T, unknown, unknown> {
9
9
  def: AnyQueryDefinition<any, any, any>;
10
10
  queryKey: number;
11
+ storageKey: number;
11
12
  private queryClient;
12
13
  private initialized;
13
14
  private isRefetchingSignal;
@@ -18,12 +19,12 @@ export declare class QueryResultImpl<T> implements BaseQueryResult<T, unknown, u
18
19
  private allNestedRefIdsSignal;
19
20
  private refetchPromise;
20
21
  private fetchMorePromise;
21
- private attemptCount;
22
22
  private unsubscribe?;
23
- private streamUnsubscribe?;
24
23
  private relay;
25
24
  private _relayState;
26
- private wasOffline;
25
+ private wasPaused;
26
+ private currentParams;
27
+ private debounceTimer;
27
28
  private get relayState();
28
29
  private _extra;
29
30
  private get extraData();
@@ -59,6 +60,11 @@ export declare class QueryResultImpl<T> implements BaseQueryResult<T, unknown, u
59
60
  * Fetches fresh data, updates the cache, and updates updatedAt timestamp
60
61
  */
61
62
  private runQuery;
63
+ /**
64
+ * Triggers a debounced refetch. If debounce is configured, delays the fetch.
65
+ * Otherwise, calls refetch immediately.
66
+ */
67
+ private debouncedRefetch;
62
68
  refetch: () => Promise<T>;
63
69
  fetchNextPage: () => Promise<T>;
64
70
  get isRefetching(): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"QueryResult.d.ts","sourceRoot":"","sources":["../../src/QueryResult.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"QueryResult.d.ts","sourceRoot":"","sources":["../../src/QueryResult.ts"],"names":[],"mappings":"AAYA,OAAO,EAAa,eAAe,EAA+B,UAAU,EAAE,MAAM,YAAY,CAAC;AAIjG,OAAO,EAKL,KAAK,kBAAkB,EACvB,KAAK,WAAW,EAChB,KAAK,WAAW,EAGjB,MAAM,kBAAkB,CAAC;AA2S1B;;;;GAIG;AACH,qBAAa,eAAe,CAAC,CAAC,CAAE,YAAW,eAAe,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC;IAC7E,GAAG,EAAE,kBAAkB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IACvC,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAM;IAExB,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,kBAAkB,CAAkC;IAC5D,OAAO,CAAC,oBAAoB,CAAkC;IAC9D,OAAO,CAAC,SAAS,CAAiC;IAClD,OAAO,CAAC,MAAM,CAAsC;IACpD,OAAO,CAAC,MAAM,CAAsC;IAEpD,OAAO,CAAC,qBAAqB,CAAsD;IAEnF,OAAO,CAAC,cAAc,CAAqC;IAC3D,OAAO,CAAC,gBAAgB,CAAqC;IAC7D,OAAO,CAAC,WAAW,CAAC,CAAyB;IAE7C,OAAO,CAAC,KAAK,CAAkC;IAC/C,OAAO,CAAC,WAAW,CAA0C;IAC7D,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,aAAa,CAAsC;IAC3D,OAAO,CAAC,aAAa,CAAwD;IAE7E,OAAO,KAAK,UAAU,GAQrB;IAED,OAAO,CAAC,MAAM,CAA2C;IAEzD,OAAO,KAAK,SAAS,GAEpB;IAED,OAAO,CAAC,eAAe,CAA6C;IAEpE,OAAO,KAAK,cAAc,GAuCzB;gBAGC,GAAG,EAAE,kBAAkB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EACtC,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,WAAW,GAAG,SAAS;IAuHjC,IAAI,KAAK,IAAI,CAAC,GAAG,SAAS,CAEzB;IAED,IAAI,KAAK,IAAI,OAAO,CAEnB;IAED,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED,IAAI,UAAU,IAAI,OAAO,CAExB;IAED,IAAI,UAAU,IAAI,OAAO,CAExB;IAED,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED,IAAI,OAAO,IAAI,OAAO,CAErB;IAID,OAAO,KAAK,QAAQ,GAEnB;IAED,OAAO,KAAK,OAAO,GAElB;IAED,OAAO,KAAK,MAAM,GAEjB;IAGD,IAAI,CAAC,QAAQ,GAAG,CAAC,EAAE,QAAQ,GAAG,KAAK,EACjC,WAAW,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,GAAG,SAAS,EACjF,UAAU,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,GAAG,KAAK,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,GAAG,SAAS,GAClF,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAI/B,KAAK,CAAC,OAAO,GAAG,KAAK,EACnB,UAAU,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,GAAG,KAAK,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC,GAAG,IAAI,GAAG,SAAS,GAChF,OAAO,CAAC,CAAC,GAAG,OAAO,CAAC;IAIvB,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC;IAIhE,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,MAAM,CAEjC;IAMD,OAAO,CAAC,gBAAgB;IA8BxB;;OAEG;YACW,UAAU;IAwExB;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IA6CzB;;OAEG;YACW,QAAQ;IA8FtB;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAuBxB,OAAO,QAAO,OAAO,CAAC,CAAC,CAAC,CAgDtB;IAEF,aAAa,QAAO,OAAO,CAAC,CAAC,CAAC,CA0C5B;IAMF,IAAI,YAAY,IAAI,OAAO,CAE1B;IAED,IAAI,cAAc,IAAI,OAAO,CAE5B;IAED,IAAI,UAAU,IAAI,OAAO,CAExB;IAED,IAAI,WAAW,IAAI,OAAO,CAEzB;IAED,IAAI,KAAK,IAAI,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAGxC;IAED;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAiBxB;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAI9B;;;;;;OAMG;IACH,mBAAmB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAsC1D;;;OAGG;IACH,sBAAsB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAI7D,IAAI,OAAO,IAAI,OAAO,CAYrB;IAED,IAAI,QAAQ,IAAI,OAAO,CAuBtB;IAED,OAAO,CAAC,cAAc;CAgCvB"}
@@ -4,6 +4,7 @@ import { NetworkMode } from './types.js';
4
4
  import { getProxyId, parseValue } from './proxy.js';
5
5
  import { parseEntities, parseObjectEntities } from './parseEntities.js';
6
6
  import { ValidatorDef } from './typeDefs.js';
7
+ import { extractParamsForKey, queryKeyFor, } from './QueryClient.js';
7
8
  // ======================================================
8
9
  // QueryResultExtra - Manages stream orphans and optimistic inserts
9
10
  // ======================================================
@@ -254,7 +255,8 @@ class QueryResultExtra {
254
255
  */
255
256
  export class QueryResultImpl {
256
257
  def;
257
- queryKey;
258
+ queryKey; // Instance key (includes Signal identity)
259
+ storageKey = -1; // Storage key (extracted values only)
258
260
  queryClient;
259
261
  initialized = false;
260
262
  isRefetchingSignal = signal(false);
@@ -265,12 +267,12 @@ export class QueryResultImpl {
265
267
  allNestedRefIdsSignal = undefined;
266
268
  refetchPromise = undefined;
267
269
  fetchMorePromise = undefined;
268
- attemptCount = 0;
269
270
  unsubscribe = undefined;
270
- streamUnsubscribe = undefined;
271
271
  relay;
272
272
  _relayState = undefined;
273
- wasOffline = false;
273
+ wasPaused = false;
274
+ currentParams = undefined;
275
+ debounceTimer = undefined;
274
276
  get relayState() {
275
277
  const relayState = this._relayState;
276
278
  if (!relayState) {
@@ -303,7 +305,7 @@ export class QueryResultImpl {
303
305
  else {
304
306
  // Clone current params
305
307
  let hasDefinedParams = false;
306
- const clonedParams = { ...this.params };
308
+ const clonedParams = { ...this.currentParams };
307
309
  // iterate over the next page params and copy any defined values to the
308
310
  for (const [key, value] of Object.entries(nextParams)) {
309
311
  if (value !== undefined && value !== null) {
@@ -320,91 +322,96 @@ export class QueryResultImpl {
320
322
  setReactivePromise(this);
321
323
  this.def = def;
322
324
  this.queryClient = queryClient;
323
- this.queryKey = queryKey;
325
+ this.queryKey = queryKey; // Instance key (Signal identity)
324
326
  this.params = params;
325
327
  // Create the relay and handle activation/deactivation
326
328
  this.relay = relay(state => {
327
329
  this._relayState = state;
330
+ // Extract params (reading Signal values establishes tracking)
331
+ this.currentParams = extractParamsForKey(this.params);
332
+ this.storageKey = queryKeyFor(this.def, this.currentParams);
328
333
  // Load from cache first, then fetch fresh data
329
334
  this.queryClient.activateQuery(this);
330
- // Track network status for reconnect handling
331
- const networkManager = this.queryClient.networkManager;
332
- const isOnline = networkManager.getOnlineSignal().value;
333
335
  // Store initial offline state
334
- this.wasOffline = !isOnline;
336
+ const isPaused = this.isPaused;
337
+ this.wasPaused = isPaused;
335
338
  if (this.initialized) {
336
- // For any query with streams, resubscribe on reactivation
337
- if (this.def.type === "stream" /* QueryType.Stream */ ||
338
- this.def.stream) {
339
- this.setupSubscription();
340
- }
341
- if (this.def.type !== "stream" /* QueryType.Stream */) {
342
- // Check if we just came back online
343
- if (!this.wasOffline && isOnline) {
344
- // We're back online - check if we should refresh
345
- const refreshStaleOnReconnect = this.def.cache?.refreshStaleOnReconnect ?? true;
346
- if (refreshStaleOnReconnect && this.isStale) {
347
- this.refetch();
348
- }
349
- // Reset attempt count on reconnect
350
- this.attemptCount = 0;
339
+ if (!isPaused) {
340
+ // For any query with streams, resubscribe on reactivation
341
+ if (this.def.type === "stream" /* QueryType.Stream */ ||
342
+ this.def.stream) {
343
+ this.setupSubscription();
351
344
  }
352
- else if (this.isStale && !this.isPaused) {
345
+ if (this.def.type !== "stream" /* QueryType.Stream */ && this.isStale) {
353
346
  this.refetch();
354
347
  }
355
348
  }
356
- // Update wasOffline for next check
357
- this.wasOffline = !isOnline;
358
349
  }
359
350
  else {
360
351
  this.initialize();
361
352
  }
353
+ const deactivate = () => {
354
+ // Clear debounce timer if active
355
+ clearTimeout(this.debounceTimer);
356
+ this.debounceTimer = undefined;
357
+ // Last subscriber left, deactivate refetch and schedule memory eviction
358
+ // Unsubscribe from any active streams
359
+ this.unsubscribe?.();
360
+ this.unsubscribe = undefined;
361
+ // Remove from refetch manager if configured
362
+ if (this.def.type !== "stream" /* QueryType.Stream */ && this.def.cache?.refetchInterval) {
363
+ this.queryClient.refetchManager.removeQuery(this);
364
+ }
365
+ // Schedule removal from memory using the global eviction manager
366
+ // This allows quick reactivation from memory if needed again soon
367
+ // Disk cache (if configured) will still be available after eviction
368
+ // Use queryKey for instance eviction, storageKey for cache eviction
369
+ this.queryClient.memoryEvictionManager.scheduleEviction(this.queryKey);
370
+ };
362
371
  // Return deactivation callback
363
372
  return {
364
373
  update: () => {
365
- // For any query with streams, unsubscribe and resubscribe to re-establish connection
366
- if (this.def.type === "stream" /* QueryType.Stream */ ||
367
- this.def.stream) {
368
- this.setupSubscription();
369
- }
370
- // For StreamQuery, we're done - it doesn't react to network status
371
- if (this.def.type === "stream" /* QueryType.Stream */) {
374
+ const { wasPaused, isPaused } = this;
375
+ this.wasPaused = isPaused;
376
+ if (isPaused) {
377
+ deactivate();
378
+ // TODO: Add abort signal
372
379
  return;
373
380
  }
374
- // Network status changed - check if we should react
375
- const currentlyOnline = networkManager.getOnlineSignal().value;
376
- // If we just came back online
377
- if (this.wasOffline && currentlyOnline) {
378
- const refreshStaleOnReconnect = this.def.cache?.refreshStaleOnReconnect ?? true;
379
- if (refreshStaleOnReconnect && this.isStale) {
380
- state.setPromise(this.runQuery(this.params, true));
381
- }
382
- // Reset attempt count on reconnect
383
- this.attemptCount = 0;
384
- }
385
- // Update wasOffline for next check
386
- this.wasOffline = !currentlyOnline;
387
- },
388
- deactivate: () => {
389
- // Last subscriber left, deactivate refetch and schedule memory eviction
390
- // Unsubscribe from any active streams
391
- if (this.unsubscribe) {
392
- this.unsubscribe();
393
- this.unsubscribe = undefined;
381
+ // Read Signal values again to establish tracking for any new Signals
382
+ // Extract params (reading Signal values establishes tracking)
383
+ const newExtractedParams = extractParamsForKey(this.params);
384
+ const newStorageKey = queryKeyFor(this.def, newExtractedParams);
385
+ const paramsDidChange = newStorageKey !== this.storageKey;
386
+ // Check if storage key changed (comparing hash values)
387
+ if (paramsDidChange) {
388
+ // Same storage key, just Signal instances changed but values are the same
389
+ // Update params and trigger debounced refetch
390
+ this.params = newExtractedParams;
391
+ this.storageKey = newStorageKey;
394
392
  }
395
- if (this.streamUnsubscribe) {
396
- this.streamUnsubscribe();
397
- this.streamUnsubscribe = undefined;
393
+ if (wasPaused) {
394
+ this.queryClient.activateQuery(this);
395
+ if (this.def.type !== "stream" /* QueryType.Stream */) {
396
+ const refreshStaleOnReconnect = this.def.cache?.refreshStaleOnReconnect ?? true;
397
+ if (refreshStaleOnReconnect && this.isStale) {
398
+ state.setPromise(this.runQuery(this.currentParams, true));
399
+ }
400
+ }
401
+ else {
402
+ this.setupSubscription();
403
+ }
398
404
  }
399
- // Remove from refetch manager if configured
400
- if (this.def.type !== "stream" /* QueryType.Stream */ && this.def.cache?.refetchInterval) {
401
- this.queryClient.refetchManager.removeQuery(this);
405
+ else if (paramsDidChange) {
406
+ if (this.def.type !== "stream" /* QueryType.Stream */) {
407
+ this.debouncedRefetch();
408
+ }
409
+ else {
410
+ this.setupSubscription();
411
+ }
402
412
  }
403
- // Schedule removal from memory using the global eviction manager
404
- // This allows quick reactivation from memory if needed again soon
405
- // Disk cache (if configured) will still be available after eviction
406
- this.queryClient.memoryEvictionManager.scheduleEviction(this.queryKey);
407
413
  },
414
+ deactivate,
408
415
  };
409
416
  });
410
417
  }
@@ -488,8 +495,8 @@ export class QueryResultImpl {
488
495
  const state = this.relayState;
489
496
  try {
490
497
  this.initialized = true;
491
- // Load from cache first
492
- const cached = await this.queryClient.loadCachedQuery(this.def, this.queryKey);
498
+ // Load from cache first (use storage key for cache operations)
499
+ const cached = await this.queryClient.loadCachedQuery(this.def, this.storageKey);
493
500
  if (cached !== undefined) {
494
501
  // Set the cached timestamp
495
502
  this.updatedAt = cached.updatedAt;
@@ -508,6 +515,9 @@ export class QueryResultImpl {
508
515
  ? parseEntities(cached.value, shape, this.queryClient, new Set())
509
516
  : parseValue(cached.value, shape, this.def.id);
510
517
  }
518
+ if (this.isPaused) {
519
+ return;
520
+ }
511
521
  // Setup subscriptions (handles both StreamQuery and Query/InfiniteQuery with stream)
512
522
  if (this.def.type === "stream" /* QueryType.Stream */ ||
513
523
  this.def.stream) {
@@ -518,13 +528,19 @@ export class QueryResultImpl {
518
528
  if (cached !== undefined) {
519
529
  // Check if data is stale
520
530
  if (this.isStale) {
521
- // Data is stale, trigger background refetch
522
- this.refetch();
531
+ // Data is stale, trigger background refetch (with debounce if configured)
532
+ if (this.def.debounce !== undefined && this.def.debounce > 0) {
533
+ this.debouncedRefetch();
534
+ }
535
+ else {
536
+ this.refetch();
537
+ }
523
538
  }
524
539
  }
525
540
  else {
526
- // No cached data, fetch fresh
527
- state.setPromise(this.runQuery(this.params, true));
541
+ // No cached data, fetch fresh immediately (don't debounce initial fetch)
542
+ // Debounce only applies to refetches triggered by parameter changes
543
+ state.setPromise(this.runQuery(this.currentParams, true));
528
544
  }
529
545
  }
530
546
  }
@@ -554,14 +570,17 @@ export class QueryResultImpl {
554
570
  shapeDef = stream.shape;
555
571
  subscribeFn = stream.subscribeFn;
556
572
  }
557
- this.unsubscribe = subscribeFn(this.queryClient.getContext(), this.params, update => {
573
+ // Extract params (reading Signal values establishes tracking)
574
+ const extractedParams = this.currentParams;
575
+ this.unsubscribe = subscribeFn(this.queryClient.getContext(), extractedParams, update => {
558
576
  const parsedData = parseObjectEntities(update, shapeDef, this.queryClient);
559
577
  // Update the relay state
560
578
  if (this.def.type === "stream" /* QueryType.Stream */) {
561
579
  this.relayState.value = parsedData;
562
580
  this.updatedAt = Date.now();
563
581
  // Cache the data
564
- this.queryClient.saveQueryData(this.def, this.queryKey, parsedData, this.updatedAt);
582
+ // Use storage key for cache operations
583
+ this.queryClient.saveQueryData(this.def, this.storageKey, parsedData, this.updatedAt);
565
584
  }
566
585
  else {
567
586
  const allRefIds = this.getAllEntityRefs();
@@ -588,8 +607,6 @@ export class QueryResultImpl {
588
607
  try {
589
608
  const queryDef = this.def;
590
609
  const freshData = await queryDef.fetchFn(this.queryClient.getContext(), params);
591
- // Success! Reset attempt count
592
- this.attemptCount = 0;
593
610
  // Parse and cache the fresh data
594
611
  let entityRefs;
595
612
  const isInfinite = this.def.type === "infiniteQuery" /* QueryType.InfiniteQuery */;
@@ -620,14 +637,14 @@ export class QueryResultImpl {
620
637
  }
621
638
  this._nextPageParams = undefined;
622
639
  // Cache the data (synchronous, fire-and-forget)
623
- this.queryClient.saveQueryData(this.def, this.queryKey, queryData, updatedAt, entityRefs, this.getExtraForPersistence());
640
+ // Use storage key for cache operations
641
+ this.queryClient.saveQueryData(this.def, this.storageKey, queryData, updatedAt, entityRefs, this.getExtraForPersistence());
624
642
  // Update the timestamp
625
643
  this.updatedAt = Date.now();
626
644
  return queryData;
627
645
  }
628
646
  catch (error) {
629
647
  lastError = error;
630
- this.attemptCount = attempt + 1;
631
648
  // If we've exhausted retries, throw the error
632
649
  if (attempt >= retries) {
633
650
  throw error;
@@ -645,6 +662,28 @@ export class QueryResultImpl {
645
662
  throw lastError;
646
663
  }
647
664
  // ======================================================
665
+ // Private debounce methods
666
+ // ======================================================
667
+ /**
668
+ * Triggers a debounced refetch. If debounce is configured, delays the fetch.
669
+ * Otherwise, calls refetch immediately.
670
+ */
671
+ debouncedRefetch() {
672
+ // We know this is a non-stream query because we're calling refetch, which is only available on non-stream queries
673
+ const debounce = this.def.debounce;
674
+ if (debounce === undefined) {
675
+ this.refetch();
676
+ return;
677
+ }
678
+ // Clear existing timer
679
+ clearTimeout(this.debounceTimer);
680
+ // Set new timer
681
+ this.debounceTimer = setTimeout(() => {
682
+ this.debounceTimer = undefined;
683
+ this.refetch();
684
+ }, debounce);
685
+ }
686
+ // ======================================================
648
687
  // Public methods
649
688
  // ======================================================
650
689
  refetch = () => {
@@ -657,13 +696,16 @@ export class QueryResultImpl {
657
696
  if (this.refetchPromise) {
658
697
  return this.refetchPromise;
659
698
  }
699
+ // Clear debounce timer if active (manual refetch should bypass debounce)
700
+ clearTimeout(this.debounceTimer);
701
+ this.debounceTimer = undefined;
660
702
  // Clear memoized nextPageParams so it's recalculated after refetch
661
703
  this._nextPageParams = undefined;
662
704
  // Set the signal before any async operations so it's immediately visible
663
705
  // Use untrack to avoid reactive violations when called from reactive context
664
706
  this.isRefetchingSignal.value = true;
665
707
  this._version.update(v => v + 1);
666
- const promise = this.runQuery(this.params, true)
708
+ const promise = this.runQuery(this.currentParams, true)
667
709
  .then(result => {
668
710
  this.relayState.value = result;
669
711
  // Clear stream orphans and optimistic inserts on refetch
@@ -747,7 +789,8 @@ export class QueryResultImpl {
747
789
  return; // Query not initialized yet
748
790
  }
749
791
  const extra = this._extra?.getForPersistence();
750
- this.queryClient.saveQueryData(this.def, this.queryKey, this.relayState.value, this.updatedAt, this.refIds, extra);
792
+ // Use storage key for cache operations
793
+ this.queryClient.saveQueryData(this.def, this.storageKey, this.relayState.value, this.updatedAt, this.refIds, extra);
751
794
  }
752
795
  /**
753
796
  * Get extra data for persistence (converts Sets to arrays of entity ref IDs)
@@ -1 +1 @@
1
- {"version":3,"file":"QueryResult.js","sourceRoot":"","sources":["../../src/QueryResult.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"QueryResult.js","sourceRoot":"","sources":["../../src/QueryResult.ts"],"names":[],"mappings":"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"}
@@ -40,108 +40,4 @@ export interface QueryStore {
40
40
  activateQuery(queryDef: QueryDefinition<any, any, any>, queryKey: number): void;
41
41
  }
42
42
  export type MaybePromise<T> = T | Promise<T>;
43
- export interface SyncPersistentStore {
44
- has(key: string): boolean;
45
- getString(key: string): string | undefined;
46
- setString(key: string, value: string): void;
47
- getNumber(key: string): number | undefined;
48
- setNumber(key: string, value: number): void;
49
- getBuffer(key: string): Uint32Array | undefined;
50
- setBuffer(key: string, value: Uint32Array): void;
51
- delete(key: string): void;
52
- }
53
- export interface AsyncPersistentStore {
54
- has(key: string): Promise<boolean>;
55
- getString(key: string): Promise<string | undefined>;
56
- setString(key: string, value: string): Promise<void>;
57
- getNumber(key: string): Promise<number | undefined>;
58
- setNumber(key: string, value: number): Promise<void>;
59
- getBuffer(key: string): Promise<Uint32Array | undefined>;
60
- setBuffer(key: string, value: Uint32Array): Promise<void>;
61
- delete(key: string): Promise<void>;
62
- }
63
- export type StoreMessage = {
64
- type: 'saveQuery';
65
- queryDefId: string;
66
- queryKey: number;
67
- value: unknown;
68
- updatedAt: number;
69
- refIds?: number[];
70
- extra?: CachedQueryExtra;
71
- } | {
72
- type: 'saveEntity';
73
- entityKey: number;
74
- value: unknown;
75
- refIds?: number[];
76
- } | {
77
- type: 'activateQuery';
78
- queryDefId: string;
79
- queryKey: number;
80
- };
81
- export interface AsyncQueryStoreConfig {
82
- isWriter: boolean;
83
- connect: (handleMessage: (msg: StoreMessage) => void) => {
84
- sendMessage: (msg: StoreMessage) => void;
85
- };
86
- delegate?: AsyncPersistentStore;
87
- }
88
- export declare class MemoryPersistentStore implements SyncPersistentStore {
89
- private readonly kv;
90
- has(key: string): boolean;
91
- getString(key: string): string | undefined;
92
- setString(key: string, value: string): void;
93
- getNumber(key: string): number | undefined;
94
- setNumber(key: string, value: number): void;
95
- getBuffer(key: string): Uint32Array | undefined;
96
- setBuffer(key: string, value: Uint32Array): void;
97
- delete(key: string): void;
98
- }
99
- export declare const valueKeyFor: (id: number) => string;
100
- export declare const refCountKeyFor: (id: number) => string;
101
- export declare const refIdsKeyFor: (id: number) => string;
102
- export declare const updatedAtKeyFor: (id: number) => string;
103
- export declare const streamOrphanRefsKeyFor: (id: number) => string;
104
- export declare const optimisticInsertRefsKeyFor: (id: number) => string;
105
- export declare const queueKeyFor: (queryDefId: string) => string;
106
- export declare class SyncQueryStore implements QueryStore {
107
- private readonly kv;
108
- queues: Map<string, Uint32Array>;
109
- constructor(kv: SyncPersistentStore);
110
- loadQuery(queryDef: QueryDefinition<any, any, any>, queryKey: number, entityMap: EntityStore): CachedQuery | undefined;
111
- private preloadEntities;
112
- saveQuery(queryDef: QueryDefinition<any, any, any>, queryKey: number, value: unknown, updatedAt: number, refIds?: Set<number>, extra?: CachedQueryExtra): void;
113
- saveEntity(entityKey: number, value: unknown, refIds?: Set<number>): void;
114
- activateQuery(queryDef: QueryDefinition<any, any, any>, queryKey: number): void;
115
- private setValue;
116
- private deleteValue;
117
- private incrementRefCount;
118
- private decrementRefCount;
119
- }
120
- export declare class AsyncQueryStore implements QueryStore {
121
- private readonly isWriter;
122
- private readonly delegate?;
123
- private readonly sendMessage;
124
- private readonly messageQueue;
125
- private readonly queues;
126
- private queueProcessorPromise?;
127
- private resolveQueueWait?;
128
- constructor(config: AsyncQueryStoreConfig);
129
- private handleMessage;
130
- private enqueueMessage;
131
- private startQueueProcessor;
132
- private processQueue;
133
- private processMessage;
134
- loadQuery(queryDef: QueryDefinition<any, any, any>, queryKey: number, entityMap: EntityStore): Promise<CachedQuery | undefined>;
135
- private preloadEntities;
136
- saveQuery(queryDef: QueryDefinition<any, any, any>, queryKey: number, value: unknown, updatedAt: number, refIds?: Set<number>, extra?: CachedQueryExtra): void;
137
- saveEntity(entityKey: number, value: unknown, refIds?: Set<number>): void;
138
- activateQuery(queryDef: QueryDefinition<any, any, any>, queryKey: number): void;
139
- private writerSaveQuery;
140
- private writerSaveEntity;
141
- private writerActivateQuery;
142
- private setValue;
143
- private deleteValue;
144
- private incrementRefCount;
145
- private decrementRefCount;
146
- }
147
43
  //# sourceMappingURL=QueryStore.d.ts.map