@signalium/query 0.0.2 → 1.0.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 (113) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/dist/cjs/EntityMap.js +2 -2
  3. package/dist/cjs/EntityMap.js.map +1 -1
  4. package/dist/cjs/NetworkManager.js +105 -0
  5. package/dist/cjs/NetworkManager.js.map +1 -0
  6. package/dist/cjs/QueryClient.js +390 -76
  7. package/dist/cjs/QueryClient.js.map +1 -1
  8. package/dist/cjs/QueryStore.js +295 -3
  9. package/dist/cjs/QueryStore.js.map +1 -1
  10. package/dist/cjs/index.js +16 -1
  11. package/dist/cjs/index.js.map +1 -1
  12. package/dist/cjs/package.json +3 -0
  13. package/dist/cjs/parseEntities.js +3 -0
  14. package/dist/cjs/parseEntities.js.map +1 -1
  15. package/dist/cjs/proxy.js +19 -0
  16. package/dist/cjs/proxy.js.map +1 -1
  17. package/dist/cjs/query.js +40 -2
  18. package/dist/cjs/query.js.map +1 -1
  19. package/dist/cjs/stores/async.js +6 -0
  20. package/dist/cjs/stores/async.js.map +1 -0
  21. package/dist/cjs/stores/sync.js +7 -0
  22. package/dist/cjs/stores/sync.js.map +1 -0
  23. package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
  24. package/dist/cjs/type-utils.js +3 -0
  25. package/dist/cjs/type-utils.js.map +1 -0
  26. package/dist/cjs/types.js +19 -1
  27. package/dist/cjs/types.js.map +1 -1
  28. package/dist/esm/EntityMap.js +3 -3
  29. package/dist/esm/EntityMap.js.map +1 -1
  30. package/dist/esm/NetworkManager.d.ts +48 -0
  31. package/dist/esm/NetworkManager.d.ts.map +1 -0
  32. package/dist/esm/NetworkManager.js +101 -0
  33. package/dist/esm/NetworkManager.js.map +1 -0
  34. package/dist/esm/QueryClient.d.ts +81 -25
  35. package/dist/esm/QueryClient.d.ts.map +1 -1
  36. package/dist/esm/QueryClient.js +390 -76
  37. package/dist/esm/QueryClient.js.map +1 -1
  38. package/dist/esm/QueryStore.d.ts +64 -2
  39. package/dist/esm/QueryStore.d.ts.map +1 -1
  40. package/dist/esm/QueryStore.js +293 -2
  41. package/dist/esm/QueryStore.js.map +1 -1
  42. package/dist/esm/index.d.ts +5 -3
  43. package/dist/esm/index.d.ts.map +1 -1
  44. package/dist/esm/index.js +3 -1
  45. package/dist/esm/index.js.map +1 -1
  46. package/dist/esm/parseEntities.d.ts.map +1 -1
  47. package/dist/esm/parseEntities.js +3 -0
  48. package/dist/esm/parseEntities.js.map +1 -1
  49. package/dist/esm/proxy.d.ts +6 -0
  50. package/dist/esm/proxy.d.ts.map +1 -1
  51. package/dist/esm/proxy.js +18 -0
  52. package/dist/esm/proxy.js.map +1 -1
  53. package/dist/esm/query.d.ts +30 -29
  54. package/dist/esm/query.d.ts.map +1 -1
  55. package/dist/esm/query.js +39 -3
  56. package/dist/esm/query.js.map +1 -1
  57. package/dist/esm/stores/async.d.ts +2 -0
  58. package/dist/esm/stores/async.d.ts.map +1 -0
  59. package/dist/esm/stores/async.js +2 -0
  60. package/dist/esm/stores/async.js.map +1 -0
  61. package/dist/esm/stores/sync.d.ts +2 -0
  62. package/dist/esm/stores/sync.d.ts.map +1 -0
  63. package/dist/esm/stores/sync.js +2 -0
  64. package/dist/esm/stores/sync.js.map +1 -0
  65. package/dist/esm/type-utils.d.ts +12 -0
  66. package/dist/esm/type-utils.d.ts.map +1 -0
  67. package/dist/esm/type-utils.js +2 -0
  68. package/dist/esm/type-utils.js.map +1 -0
  69. package/dist/esm/types.d.ts +62 -5
  70. package/dist/esm/types.d.ts.map +1 -1
  71. package/dist/esm/types.js +18 -0
  72. package/dist/esm/types.js.map +1 -1
  73. package/index.d.ts +1 -0
  74. package/package.json +25 -7
  75. package/stores/async.d.ts +1 -0
  76. package/stores/async.js +15 -0
  77. package/stores/sync.d.ts +1 -0
  78. package/stores/sync.js +15 -0
  79. package/.turbo/turbo-build.log +0 -12
  80. package/ENTITY_STORE_DESIGN.md +0 -386
  81. package/dist/tsconfig.esm.tsbuildinfo +0 -1
  82. package/src/EntityMap.ts +0 -63
  83. package/src/QueryClient.ts +0 -482
  84. package/src/QueryStore.ts +0 -322
  85. package/src/__tests__/caching-persistence.test.ts +0 -983
  86. package/src/__tests__/entity-system.test.ts +0 -556
  87. package/src/__tests__/gc-time.test.ts +0 -327
  88. package/src/__tests__/mock-fetch.test.ts +0 -186
  89. package/src/__tests__/parse-entities.test.ts +0 -425
  90. package/src/__tests__/path-interpolation.test.ts +0 -225
  91. package/src/__tests__/reactivity.test.ts +0 -424
  92. package/src/__tests__/refetch-interval.test.ts +0 -262
  93. package/src/__tests__/rest-query-api.test.ts +0 -568
  94. package/src/__tests__/stale-time.test.ts +0 -357
  95. package/src/__tests__/type-to-string.test.ts +0 -129
  96. package/src/__tests__/utils.ts +0 -258
  97. package/src/__tests__/validation-edge-cases.test.ts +0 -821
  98. package/src/errors.ts +0 -124
  99. package/src/index.ts +0 -7
  100. package/src/parseEntities.ts +0 -213
  101. package/src/pathInterpolator.ts +0 -74
  102. package/src/proxy.ts +0 -257
  103. package/src/query.ts +0 -164
  104. package/src/react/__tests__/basic.test.tsx +0 -926
  105. package/src/react/__tests__/component.test.tsx +0 -984
  106. package/src/react/__tests__/utils.tsx +0 -71
  107. package/src/typeDefs.ts +0 -351
  108. package/src/types.ts +0 -132
  109. package/src/utils.ts +0 -66
  110. package/tsconfig.cjs.json +0 -14
  111. package/tsconfig.esm.json +0 -13
  112. package/tsconfig.json +0 -20
  113. package/vitest.config.ts +0 -65
@@ -12,11 +12,12 @@
12
12
  */
13
13
  import { relay, context, signal } from 'signalium';
14
14
  import { hashValue, setReactivePromise } from 'signalium/utils';
15
+ import { NetworkMode, } from './types.js';
15
16
  import { parseValue } from './proxy.js';
16
17
  import { parseEntities } from './parseEntities.js';
17
18
  import { EntityStore } from './EntityMap.js';
18
19
  import { ValidatorDef } from './typeDefs.js';
19
- // QueryInstance is now merged into QueryResultImpl below
20
+ import { NetworkManager } from './NetworkManager.js';
20
21
  const queryKeyFor = (queryDef, params) => {
21
22
  return hashValue([queryDef.id, params]);
22
23
  };
@@ -35,6 +36,9 @@ class RefetchManager {
35
36
  this.intervalId = setTimeout(() => this.tick(), tickInterval);
36
37
  }
37
38
  addQuery(instance) {
39
+ if (instance.def.type === "stream" /* QueryType.Stream */) {
40
+ return; // Streams don't have refetch intervals
41
+ }
38
42
  const interval = instance.def.cache?.refetchInterval;
39
43
  if (!interval) {
40
44
  return;
@@ -49,6 +53,9 @@ class RefetchManager {
49
53
  bucket.add(instance);
50
54
  }
51
55
  removeQuery(query) {
56
+ if (query.def.type === "stream" /* QueryType.Stream */) {
57
+ return; // Streams don't have refetch intervals
58
+ }
52
59
  const interval = query.def.cache?.refetchInterval;
53
60
  if (!interval) {
54
61
  return;
@@ -128,45 +135,136 @@ class MemoryEvictionManager {
128
135
  * This class combines the old QueryInstance and QueryResultImpl into a single entity.
129
136
  */
130
137
  export class QueryResultImpl {
131
- // Fields from old QueryInstance
132
138
  def;
139
+ queryKey;
140
+ queryClient;
133
141
  initialized = false;
134
- isRefetchingSignal;
142
+ isRefetchingSignal = signal(false);
143
+ isFetchingMoreSignal = signal(false);
135
144
  updatedAt = undefined;
136
- // References for refetch functionality
137
- queryClient;
138
- queryKey;
139
- params;
145
+ params = undefined;
146
+ refIds = undefined;
147
+ refetchPromise = undefined;
148
+ fetchMorePromise = undefined;
149
+ attemptCount = 0;
150
+ unsubscribe = undefined;
140
151
  relay;
141
- relayState = undefined;
152
+ _relayState = undefined;
153
+ wasOffline = false;
154
+ get relayState() {
155
+ const relayState = this._relayState;
156
+ if (!relayState) {
157
+ throw new Error('Relay state not initialized');
158
+ }
159
+ return relayState;
160
+ }
161
+ _nextPageParams = undefined;
162
+ get nextPageParams() {
163
+ // Streams don't have pagination
164
+ if (this.def.type === "stream" /* QueryType.Stream */) {
165
+ return null;
166
+ }
167
+ let params = this._nextPageParams;
168
+ const value = this.relayState.value;
169
+ if (params === undefined && value !== undefined) {
170
+ if (!Array.isArray(value)) {
171
+ throw new Error('Query result is not an array, this is a bug');
172
+ }
173
+ const infiniteDef = this.def;
174
+ const nextParams = infiniteDef.pagination?.getNextPageParams?.(value[value.length - 1]);
175
+ if (nextParams === undefined) {
176
+ // store null to indicate that there is no next page, but we've already calculated
177
+ params = null;
178
+ }
179
+ else {
180
+ // Clone current params
181
+ let hasDefinedParams = false;
182
+ const clonedParams = { ...this.params };
183
+ // iterate over the next page params and copy any defined values to the
184
+ for (const [key, value] of Object.entries(nextParams)) {
185
+ if (value !== undefined && value !== null) {
186
+ clonedParams[key] = value;
187
+ hasDefinedParams = true;
188
+ }
189
+ }
190
+ this._nextPageParams = params = hasDefinedParams ? clonedParams : null;
191
+ }
192
+ }
193
+ return params ?? null;
194
+ }
142
195
  constructor(def, queryClient, queryKey, params) {
143
196
  setReactivePromise(this);
144
197
  this.def = def;
145
198
  this.queryClient = queryClient;
146
199
  this.queryKey = queryKey;
147
200
  this.params = params;
148
- this.isRefetchingSignal = signal(false);
149
201
  // Create the relay and handle activation/deactivation
150
202
  this.relay = relay(state => {
151
- this.relayState = state;
203
+ this._relayState = state;
152
204
  // Load from cache first, then fetch fresh data
153
205
  this.queryClient.activateQuery(this);
206
+ // Track network status for reconnect handling
207
+ const networkManager = this.queryClient.networkManager;
208
+ const isOnline = networkManager.getOnlineSignal().value;
209
+ // Store initial offline state
210
+ this.wasOffline = !isOnline;
154
211
  if (this.initialized) {
155
- if (this.isStale()) {
156
- this.refetch();
212
+ if (this.def.type === "stream" /* QueryType.Stream */) {
213
+ this.setupSubscription();
157
214
  }
215
+ else {
216
+ // Check if we just came back online
217
+ if (!this.wasOffline && isOnline) {
218
+ // We're back online - check if we should refresh
219
+ const refreshStaleOnReconnect = this.def.cache?.refreshStaleOnReconnect ?? true;
220
+ if (refreshStaleOnReconnect && this.isStale) {
221
+ this.refetch();
222
+ }
223
+ // Reset attempt count on reconnect
224
+ this.attemptCount = 0;
225
+ }
226
+ else if (this.isStale && !this.isPaused) {
227
+ this.refetch();
228
+ }
229
+ }
230
+ // Update wasOffline for next check
231
+ this.wasOffline = !isOnline;
158
232
  }
159
233
  else {
160
- this.initialize(state);
234
+ this.initialize();
161
235
  }
162
236
  // Return deactivation callback
163
237
  return {
164
238
  update: () => {
165
- state.setPromise(this.runQuery());
239
+ // For streams, unsubscribe and resubscribe to re-establish connection
240
+ if (this.def.type === "stream" /* QueryType.Stream */) {
241
+ this.setupSubscription();
242
+ return;
243
+ }
244
+ // Network status changed - check if we should react
245
+ const currentlyOnline = networkManager.getOnlineSignal().value;
246
+ // If we just came back online
247
+ if (this.wasOffline && currentlyOnline) {
248
+ const refreshStaleOnReconnect = this.def.cache?.refreshStaleOnReconnect ?? true;
249
+ if (refreshStaleOnReconnect && this.isStale) {
250
+ state.setPromise(this.runQuery(this.params, true));
251
+ }
252
+ // Reset attempt count on reconnect
253
+ this.attemptCount = 0;
254
+ }
255
+ // Update wasOffline for next check
256
+ this.wasOffline = !currentlyOnline;
166
257
  },
167
258
  deactivate: () => {
168
259
  // Last subscriber left, deactivate refetch and schedule memory eviction
169
- if (this.def.cache?.refetchInterval) {
260
+ if (this.def.type === "stream" /* QueryType.Stream */) {
261
+ // Unsubscribe from stream
262
+ if (this.unsubscribe) {
263
+ this.unsubscribe();
264
+ this.unsubscribe = undefined;
265
+ }
266
+ }
267
+ else if (this.def.cache?.refetchInterval) {
170
268
  this.queryClient.refetchManager.removeQuery(this);
171
269
  }
172
270
  // Schedule removal from memory using the global eviction manager
@@ -177,6 +275,9 @@ export class QueryResultImpl {
177
275
  };
178
276
  });
179
277
  }
278
+ // ======================================================
279
+ // ReactivePromise properties
280
+ // =====================================================
180
281
  get value() {
181
282
  return this.relay.value;
182
283
  }
@@ -198,12 +299,6 @@ export class QueryResultImpl {
198
299
  get isReady() {
199
300
  return this.relay.isReady;
200
301
  }
201
- get isRefetching() {
202
- return this.isRefetchingSignal.value;
203
- }
204
- get isFetching() {
205
- return this.relay.isPending || this.isRefetching;
206
- }
207
302
  // TODO: Intimate APIs needed for `useReactive`, this is a code smell and
208
303
  // we should find a better way to entangle these more generically
209
304
  get _version() {
@@ -225,51 +320,17 @@ export class QueryResultImpl {
225
320
  finally(onfinally) {
226
321
  return this.relay.finally(onfinally);
227
322
  }
228
- // Additional methods
229
- async refetch() {
230
- this.isRefetchingSignal.value = true;
231
- try {
232
- const result = await this.runQuery();
233
- if (this.relayState) {
234
- this.relayState.value = result;
235
- // Update the version to trigger a re-render for direct React consumers
236
- // e.g. `useReactive(query, params)`
237
- this._version.update(v => v + 1);
238
- }
239
- return result;
240
- }
241
- finally {
242
- this.isRefetchingSignal.value = false;
243
- }
244
- }
245
- /**
246
- * Fetches fresh data, updates the cache, and updates updatedAt timestamp
247
- */
248
- async runQuery() {
249
- const freshData = await this.def.fetchFn(this.queryClient.getContext(), this.params);
250
- // Parse and cache the fresh data
251
- const entityRefs = new Set();
252
- const shape = this.def.shape;
253
- const parsedData = shape instanceof ValidatorDef
254
- ? parseEntities(freshData, shape, this.queryClient, entityRefs)
255
- : parseValue(freshData, shape, this.def.id);
256
- // Cache the data (synchronous, fire-and-forget)
257
- this.queryClient.saveQueryData(this.def, this.queryKey, freshData, entityRefs);
258
- // Update the timestamp
259
- this.updatedAt = Date.now();
260
- return parsedData;
261
- }
262
- isStale() {
263
- if (this.updatedAt === undefined) {
264
- return true; // No data yet, needs fetch
265
- }
266
- const staleTime = this.def.cache?.staleTime ?? 0;
267
- return Date.now() - this.updatedAt >= staleTime;
323
+ get [Symbol.toStringTag]() {
324
+ return 'QueryResult';
268
325
  }
326
+ // ======================================================
327
+ // Internal fetch methods
328
+ // ======================================================
269
329
  /**
270
330
  * Initialize the query by loading from cache and fetching if stale
271
331
  */
272
- async initialize(state) {
332
+ async initialize() {
333
+ const state = this.relayState;
273
334
  try {
274
335
  this.initialized = true;
275
336
  // Load from cache first
@@ -282,15 +343,24 @@ export class QueryResultImpl {
282
343
  : parseValue(cached.value, shape, this.def.id);
283
344
  // Set the cached timestamp
284
345
  this.updatedAt = cached.updatedAt;
285
- // Check if data is stale
286
- if (this.isStale()) {
287
- // Data is stale, trigger background refetch
288
- this.refetch();
289
- }
346
+ // Set the cached reference IDs
347
+ this.refIds = cached.refIds;
348
+ }
349
+ if (this.def.type === "stream" /* QueryType.Stream */) {
350
+ this.setupSubscription();
290
351
  }
291
352
  else {
292
- // No cached data, fetch fresh
293
- state.setPromise(this.runQuery());
353
+ if (cached !== undefined) {
354
+ // Check if data is stale
355
+ if (this.isStale) {
356
+ // Data is stale, trigger background refetch
357
+ this.refetch();
358
+ }
359
+ }
360
+ else {
361
+ // No cached data, fetch fresh
362
+ state.setPromise(this.runQuery(this.params, true));
363
+ }
294
364
  }
295
365
  }
296
366
  catch (error) {
@@ -298,9 +368,245 @@ export class QueryResultImpl {
298
368
  state.setError(error);
299
369
  }
300
370
  }
301
- // Make it work with Symbol.toStringTag for Promise detection
302
- get [Symbol.toStringTag]() {
303
- return 'QueryResult';
371
+ /**
372
+ * Handle stream updates by merging with existing entity.
373
+ * Deep merging is handled automatically by parseEntities/setEntity.
374
+ */
375
+ setupSubscription() {
376
+ this.unsubscribe?.();
377
+ const streamDef = this.def;
378
+ this.unsubscribe = streamDef.subscribeFn(this.queryClient.getContext(), this.params, update => {
379
+ const shapeDef = this.def.shape;
380
+ const entityRefs = this.refIds ?? new Set();
381
+ const parsedData = parseEntities(update, shapeDef, this.queryClient, entityRefs);
382
+ // Update the relay state
383
+ this.relayState.value = parsedData;
384
+ this.updatedAt = Date.now();
385
+ this.refIds = entityRefs;
386
+ // Cache the data
387
+ this.queryClient.saveQueryData(this.def, this.queryKey, parsedData, this.updatedAt, entityRefs);
388
+ });
389
+ }
390
+ /**
391
+ * Fetches fresh data, updates the cache, and updates updatedAt timestamp
392
+ */
393
+ async runQuery(params, reset = false) {
394
+ // Check if paused before attempting fetch
395
+ if (this.isPaused) {
396
+ throw new Error('Query is paused due to network status');
397
+ }
398
+ const { retries, retryDelay } = this.getRetryConfig();
399
+ let lastError;
400
+ // Attempt fetch with retries
401
+ for (let attempt = 0; attempt <= retries; attempt++) {
402
+ try {
403
+ const queryDef = this.def;
404
+ const freshData = await queryDef.fetchFn(this.queryClient.getContext(), params);
405
+ // Success! Reset attempt count
406
+ this.attemptCount = 0;
407
+ // Parse and cache the fresh data
408
+ let entityRefs;
409
+ const isInfinite = this.def.type === "infiniteQuery" /* QueryType.InfiniteQuery */;
410
+ if (isInfinite && !reset && this.refIds !== undefined) {
411
+ entityRefs = this.refIds;
412
+ }
413
+ else {
414
+ entityRefs = new Set();
415
+ }
416
+ const shape = this.def.shape;
417
+ const parsedData = shape instanceof ValidatorDef
418
+ ? parseEntities(freshData, shape, this.queryClient, entityRefs)
419
+ : parseValue(freshData, shape, this.def.id);
420
+ let queryData;
421
+ if (isInfinite) {
422
+ const prevQueryData = this.relayState.value;
423
+ queryData = reset || prevQueryData === undefined ? [parsedData] : [...prevQueryData, parsedData];
424
+ }
425
+ else {
426
+ queryData = parsedData;
427
+ }
428
+ let updatedAt;
429
+ if (reset) {
430
+ updatedAt = this.updatedAt = Date.now();
431
+ }
432
+ else {
433
+ updatedAt = this.updatedAt ??= Date.now();
434
+ }
435
+ this._nextPageParams = undefined;
436
+ // Cache the data (synchronous, fire-and-forget)
437
+ this.queryClient.saveQueryData(this.def, this.queryKey, queryData, updatedAt, entityRefs);
438
+ // Update the timestamp
439
+ this.updatedAt = Date.now();
440
+ return queryData;
441
+ }
442
+ catch (error) {
443
+ lastError = error;
444
+ this.attemptCount = attempt + 1;
445
+ // If we've exhausted retries, throw the error
446
+ if (attempt >= retries) {
447
+ throw error;
448
+ }
449
+ // Wait before retrying (unless paused)
450
+ const delay = retryDelay(attempt);
451
+ await new Promise(resolve => setTimeout(resolve, delay));
452
+ // Check if paused during retry delay
453
+ if (this.isPaused) {
454
+ throw new Error('Query is paused due to network status');
455
+ }
456
+ }
457
+ }
458
+ // Should never reach here, but TypeScript needs it
459
+ throw lastError;
460
+ }
461
+ // ======================================================
462
+ // Public methods
463
+ // ======================================================
464
+ refetch() {
465
+ if (this.def.type === "stream" /* QueryType.Stream */) {
466
+ throw new Error('Cannot refetch a stream query');
467
+ }
468
+ if (this.fetchMorePromise) {
469
+ throw new Error('Query is fetching more, cannot refetch');
470
+ }
471
+ if (this.refetchPromise) {
472
+ return this.refetchPromise;
473
+ }
474
+ // Clear memoized nextPageParams so it's recalculated after refetch
475
+ this._nextPageParams = undefined;
476
+ // Set the signal before any async operations so it's immediately visible
477
+ // Use untrack to avoid reactive violations when called from reactive context
478
+ this.isRefetchingSignal.value = true;
479
+ this._version.update(v => v + 1);
480
+ const promise = this.runQuery(this.params, true)
481
+ .then(result => {
482
+ this.relayState.value = result;
483
+ return result;
484
+ })
485
+ .catch((error) => {
486
+ this.relayState.setError(error);
487
+ return Promise.reject(error);
488
+ })
489
+ .finally(() => {
490
+ this._version.update(v => v + 1);
491
+ this.isRefetchingSignal.value = false;
492
+ this.refetchPromise = undefined;
493
+ });
494
+ this.refetchPromise = promise;
495
+ return promise;
496
+ }
497
+ fetchNextPage() {
498
+ if (this.def.type === "stream" /* QueryType.Stream */) {
499
+ throw new Error('Cannot fetch next page on a stream query');
500
+ }
501
+ if (this.refetchPromise) {
502
+ return Promise.reject(new Error('Query is refetching, cannot fetch next page'));
503
+ }
504
+ if (this.fetchMorePromise) {
505
+ return this.fetchMorePromise;
506
+ }
507
+ // Read nextPageParams in untracked context to avoid reactive violations
508
+ const nextPageParams = this.nextPageParams;
509
+ if (!nextPageParams) {
510
+ return Promise.reject(new Error('No next page params'));
511
+ }
512
+ // Set the signal before any async operations so it's immediately visible
513
+ // Use untrack to avoid reactive violations when called from reactive context
514
+ this.isFetchingMoreSignal.value = true;
515
+ this._version.update(v => v + 1);
516
+ const promise = this.runQuery(nextPageParams, false)
517
+ .then(result => {
518
+ this.relayState.value = result;
519
+ return result;
520
+ })
521
+ .catch((error) => {
522
+ this.relayState.setError(error);
523
+ return Promise.reject(error);
524
+ })
525
+ .finally(() => {
526
+ this._version.update(v => v + 1);
527
+ this.isFetchingMoreSignal.value = false;
528
+ this.fetchMorePromise = undefined;
529
+ });
530
+ this.fetchMorePromise = promise;
531
+ return promise;
532
+ }
533
+ // ======================================================
534
+ // Public properties
535
+ // ======================================================
536
+ get isRefetching() {
537
+ return this.isRefetchingSignal.value;
538
+ }
539
+ get isFetchingMore() {
540
+ return this.isFetchingMoreSignal.value;
541
+ }
542
+ get isFetching() {
543
+ return this.relay.isPending || this.isRefetching || this.isFetchingMore;
544
+ }
545
+ get hasNextPage() {
546
+ return this.nextPageParams !== null;
547
+ }
548
+ get isStale() {
549
+ // Streams are never stale - they're always receiving updates
550
+ if (this.def.type === "stream" /* QueryType.Stream */) {
551
+ return false;
552
+ }
553
+ if (this.updatedAt === undefined) {
554
+ return true; // No data yet, needs fetch
555
+ }
556
+ const staleTime = this.def.cache?.staleTime ?? 0;
557
+ return Date.now() - this.updatedAt >= staleTime;
558
+ }
559
+ get isPaused() {
560
+ // Streams handle their own connection state
561
+ if (this.def.type === "stream" /* QueryType.Stream */) {
562
+ return false;
563
+ }
564
+ const networkMode = this.def.cache?.networkMode ?? NetworkMode.Online;
565
+ const networkManager = this.queryClient.networkManager;
566
+ // Read the online signal to make this reactive
567
+ const isOnline = networkManager.getOnlineSignal().value;
568
+ switch (networkMode) {
569
+ case NetworkMode.Always:
570
+ return false;
571
+ case NetworkMode.Online:
572
+ return !isOnline;
573
+ case NetworkMode.OfflineFirst:
574
+ // Only paused if we have no cached data AND we're offline
575
+ return !isOnline && this.updatedAt === undefined;
576
+ default:
577
+ return false;
578
+ }
579
+ }
580
+ getRetryConfig() {
581
+ // Streams don't have retry config
582
+ if (this.def.type === "stream" /* QueryType.Stream */) {
583
+ return { retries: 0, retryDelay: () => 0 };
584
+ }
585
+ const retryOption = this.def.cache?.retry;
586
+ const isServer = this.queryClient.isServer;
587
+ // Default retry count: 3 on client, 0 on server
588
+ let retries;
589
+ let retryDelay;
590
+ if (retryOption === false) {
591
+ retries = 0;
592
+ }
593
+ else if (retryOption === undefined) {
594
+ retries = isServer ? 0 : 3;
595
+ }
596
+ else if (typeof retryOption === 'number') {
597
+ retries = retryOption;
598
+ }
599
+ else {
600
+ retries = retryOption.retries;
601
+ }
602
+ // Default exponential backoff: 1000ms * 2^attempt
603
+ if (typeof retryOption === 'object' && retryOption.retryDelay) {
604
+ retryDelay = retryOption.retryDelay;
605
+ }
606
+ else {
607
+ retryDelay = (attempt) => 1000 * Math.pow(2, attempt);
608
+ }
609
+ return { retries, retryDelay };
304
610
  }
305
611
  }
306
612
  export class QueryClient {
@@ -310,22 +616,30 @@ export class QueryClient {
310
616
  queryInstances = new Map();
311
617
  memoryEvictionManager;
312
618
  refetchManager;
313
- constructor(store, context = { fetch }) {
619
+ networkManager;
620
+ isServer;
621
+ constructor(store, context = { fetch }, networkManager) {
314
622
  this.store = store;
315
623
  this.context = context;
316
624
  this.memoryEvictionManager = new MemoryEvictionManager(this, this.context.evictionMultiplier);
317
625
  this.refetchManager = new RefetchManager(this.context.refetchMultiplier);
626
+ this.networkManager = networkManager ?? new NetworkManager();
627
+ this.isServer = typeof window === 'undefined';
318
628
  }
319
629
  getContext() {
320
630
  return this.context;
321
631
  }
322
- saveQueryData(queryDef, queryKey, data, entityRefs) {
323
- this.store.saveQuery(queryDef, queryKey, data, entityRefs);
632
+ saveQueryData(queryDef, queryKey, data, updatedAt, entityRefs) {
633
+ // QueryStore expects the base definition structure
634
+ this.store.saveQuery(queryDef, queryKey, data, updatedAt, entityRefs);
324
635
  }
325
636
  activateQuery(queryInstance) {
326
637
  const { def, queryKey } = queryInstance;
327
638
  this.store.activateQuery(def, queryKey);
328
- this.refetchManager.addQuery(queryInstance);
639
+ // Only add to refetch manager if it's not a stream
640
+ if (def.type !== "stream" /* QueryType.Stream */ && def.cache?.refetchInterval) {
641
+ this.refetchManager.addQuery(queryInstance);
642
+ }
329
643
  this.memoryEvictionManager.cancelEviction(queryKey);
330
644
  }
331
645
  loadCachedQuery(queryDef, queryKey) {
@@ -1 +1 @@
1
- {"version":3,"file":"QueryClient.js","sourceRoot":"","sources":["../../src/QueryClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"QueryClient.js","sourceRoot":"","sources":["../../src/QueryClient.ts"],"names":[],"mappings":"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"}