@signalium/query 1.0.4 → 1.0.5

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 (89) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/dist/cjs/MemoryEvictionManager.js +43 -0
  3. package/dist/cjs/MemoryEvictionManager.js.map +1 -0
  4. package/dist/cjs/QueryClient.js +10 -599
  5. package/dist/cjs/QueryClient.js.map +1 -1
  6. package/dist/cjs/QueryResult.js +491 -0
  7. package/dist/cjs/QueryResult.js.map +1 -0
  8. package/dist/cjs/QueryStore.js +2 -6
  9. package/dist/cjs/QueryStore.js.map +1 -1
  10. package/dist/cjs/RefetchManager.js +75 -0
  11. package/dist/cjs/RefetchManager.js.map +1 -0
  12. package/dist/cjs/errors.js +13 -12
  13. package/dist/cjs/errors.js.map +1 -1
  14. package/dist/cjs/index.js +1 -11
  15. package/dist/cjs/index.js.map +1 -1
  16. package/dist/cjs/parseEntities.js +1 -1
  17. package/dist/cjs/parseEntities.js.map +1 -1
  18. package/dist/cjs/proxy.js +2 -2
  19. package/dist/cjs/proxy.js.map +1 -1
  20. package/dist/cjs/query.js +60 -19
  21. package/dist/cjs/query.js.map +1 -1
  22. package/dist/cjs/stores/async.js +290 -2
  23. package/dist/cjs/stores/async.js.map +1 -1
  24. package/dist/cjs/stores/shared.js +19 -0
  25. package/dist/cjs/stores/shared.js.map +1 -0
  26. package/dist/cjs/stores/sync.js +201 -4
  27. package/dist/cjs/stores/sync.js.map +1 -1
  28. package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
  29. package/dist/cjs/typeDefs.js +221 -116
  30. package/dist/cjs/typeDefs.js.map +1 -1
  31. package/dist/cjs/utils.js +0 -42
  32. package/dist/cjs/utils.js.map +1 -1
  33. package/dist/esm/MemoryEvictionManager.d.ts +14 -0
  34. package/dist/esm/MemoryEvictionManager.d.ts.map +1 -0
  35. package/dist/esm/MemoryEvictionManager.js +39 -0
  36. package/dist/esm/MemoryEvictionManager.js.map +1 -0
  37. package/dist/esm/QueryClient.d.ts +32 -85
  38. package/dist/esm/QueryClient.d.ts.map +1 -1
  39. package/dist/esm/QueryClient.js +7 -596
  40. package/dist/esm/QueryClient.js.map +1 -1
  41. package/dist/esm/QueryResult.d.ts +66 -0
  42. package/dist/esm/QueryResult.d.ts.map +1 -0
  43. package/dist/esm/QueryResult.js +487 -0
  44. package/dist/esm/QueryResult.js.map +1 -0
  45. package/dist/esm/QueryStore.d.ts.map +1 -1
  46. package/dist/esm/QueryStore.js +2 -6
  47. package/dist/esm/QueryStore.js.map +1 -1
  48. package/dist/esm/RefetchManager.d.ts +13 -0
  49. package/dist/esm/RefetchManager.d.ts.map +1 -0
  50. package/dist/esm/RefetchManager.js +71 -0
  51. package/dist/esm/RefetchManager.js.map +1 -0
  52. package/dist/esm/errors.d.ts.map +1 -1
  53. package/dist/esm/errors.js +13 -12
  54. package/dist/esm/errors.js.map +1 -1
  55. package/dist/esm/index.d.ts +1 -4
  56. package/dist/esm/index.d.ts.map +1 -1
  57. package/dist/esm/index.js +1 -2
  58. package/dist/esm/index.js.map +1 -1
  59. package/dist/esm/parseEntities.js +2 -2
  60. package/dist/esm/parseEntities.js.map +1 -1
  61. package/dist/esm/proxy.js +3 -3
  62. package/dist/esm/proxy.js.map +1 -1
  63. package/dist/esm/query.d.ts +2 -0
  64. package/dist/esm/query.d.ts.map +1 -1
  65. package/dist/esm/query.js +59 -20
  66. package/dist/esm/query.js.map +1 -1
  67. package/dist/esm/stores/async.d.ts +63 -1
  68. package/dist/esm/stores/async.d.ts.map +1 -1
  69. package/dist/esm/stores/async.js +289 -1
  70. package/dist/esm/stores/async.js.map +1 -1
  71. package/dist/esm/stores/shared.d.ts +8 -0
  72. package/dist/esm/stores/shared.d.ts.map +1 -0
  73. package/dist/esm/stores/shared.js +11 -0
  74. package/dist/esm/stores/shared.js.map +1 -0
  75. package/dist/esm/stores/sync.d.ts +37 -1
  76. package/dist/esm/stores/sync.d.ts.map +1 -1
  77. package/dist/esm/stores/sync.js +198 -1
  78. package/dist/esm/stores/sync.js.map +1 -1
  79. package/dist/esm/typeDefs.d.ts +25 -8
  80. package/dist/esm/typeDefs.d.ts.map +1 -1
  81. package/dist/esm/typeDefs.js +220 -116
  82. package/dist/esm/typeDefs.js.map +1 -1
  83. package/dist/esm/types.d.ts +2 -1
  84. package/dist/esm/types.d.ts.map +1 -1
  85. package/dist/esm/utils.d.ts +1 -4
  86. package/dist/esm/utils.d.ts.map +1 -1
  87. package/dist/esm/utils.js +0 -40
  88. package/dist/esm/utils.js.map +1 -1
  89. package/package.json +3 -3
@@ -10,605 +10,16 @@
10
10
  * - Signalium-based reactivity for entity updates
11
11
  * - Self-contained validator (no external dependencies except Signalium)
12
12
  */
13
- import { relay, context, signal } from 'signalium';
14
- import { hashValue, setReactivePromise } from 'signalium/utils';
15
- import { NetworkMode, } from './types.js';
16
- import { parseValue } from './proxy.js';
17
- import { parseEntities } from './parseEntities.js';
13
+ import { context } from 'signalium';
14
+ import { hashValue } from 'signalium/utils';
18
15
  import { EntityStore } from './EntityMap.js';
19
- import { ValidatorDef } from './typeDefs.js';
20
16
  import { NetworkManager } from './NetworkManager.js';
21
- const queryKeyFor = (queryDef, params) => {
22
- return hashValue([queryDef.id, params]);
17
+ import { QueryResultImpl } from './QueryResult.js';
18
+ import { RefetchManager } from './RefetchManager.js';
19
+ import { MemoryEvictionManager } from './MemoryEvictionManager.js';
20
+ export const queryKeyFor = (queryDef, params) => {
21
+ return hashValue([queryDef.id, queryDef.shapeKey, params]);
23
22
  };
24
- const BASE_TICK_INTERVAL = 1000; // 1 second
25
- // Refetch interval manager - uses a fixed 1-second tick
26
- class RefetchManager {
27
- multiplier;
28
- intervalId;
29
- clock = 0; // Increments by 1000ms on each tick
30
- // Buckets: Map of actual interval -> Set of query instances
31
- buckets = new Map();
32
- constructor(multiplier = 1) {
33
- this.multiplier = multiplier;
34
- // Start the timer immediately and keep it running
35
- const tickInterval = BASE_TICK_INTERVAL * this.multiplier;
36
- this.intervalId = setTimeout(() => this.tick(), tickInterval);
37
- }
38
- addQuery(instance) {
39
- if (instance.def.type === "stream" /* QueryType.Stream */) {
40
- return; // Streams don't have refetch intervals
41
- }
42
- const interval = instance.def.cache?.refetchInterval;
43
- if (!interval) {
44
- return;
45
- }
46
- const actualInterval = interval * this.multiplier;
47
- // Add to bucket by actual interval
48
- let bucket = this.buckets.get(actualInterval);
49
- if (!bucket) {
50
- bucket = new Set();
51
- this.buckets.set(actualInterval, bucket);
52
- }
53
- bucket.add(instance);
54
- }
55
- removeQuery(query) {
56
- if (query.def.type === "stream" /* QueryType.Stream */) {
57
- return; // Streams don't have refetch intervals
58
- }
59
- const interval = query.def.cache?.refetchInterval;
60
- if (!interval) {
61
- return;
62
- }
63
- const actualInterval = interval * this.multiplier;
64
- // Remove from bucket
65
- const bucket = this.buckets.get(actualInterval);
66
- if (bucket) {
67
- bucket.delete(query);
68
- if (bucket.size === 0) {
69
- this.buckets.delete(actualInterval);
70
- }
71
- }
72
- }
73
- tick() {
74
- this.clock += BASE_TICK_INTERVAL * this.multiplier;
75
- // Only process buckets where clock is aligned with the interval
76
- for (const [interval, bucket] of this.buckets.entries()) {
77
- if (this.clock % interval === 0) {
78
- // Process all queries in this bucket
79
- for (const query of bucket) {
80
- // Skip if already fetching - let the current fetch complete
81
- if (query && !query.isFetching) {
82
- query.refetch();
83
- }
84
- }
85
- }
86
- }
87
- const tickInterval = BASE_TICK_INTERVAL * this.multiplier;
88
- this.intervalId = setTimeout(() => this.tick(), tickInterval);
89
- }
90
- destroy() {
91
- clearTimeout(this.intervalId);
92
- }
93
- }
94
- const EVICTION_INTERVAL = 60 * 1000; // 1 minute
95
- // Memory eviction manager - uses a single interval with rotating sets to avoid timeout overhead
96
- class MemoryEvictionManager {
97
- queryClient;
98
- multiplier;
99
- intervalId;
100
- currentFlush = new Set(); // Queries to evict on next tick
101
- nextFlush = new Set(); // Queries to evict on tick after next
102
- constructor(queryClient, multiplier = 1) {
103
- this.queryClient = queryClient;
104
- this.multiplier = multiplier;
105
- this.intervalId = setInterval(this.tick, EVICTION_INTERVAL * this.multiplier);
106
- }
107
- scheduleEviction(queryKey) {
108
- // Add to nextFlush so it waits at least one full interval
109
- // This prevents immediate eviction if scheduled right before a tick
110
- this.nextFlush.add(queryKey);
111
- }
112
- cancelEviction(queryKey) {
113
- // Remove from both sets to handle reactivation
114
- this.currentFlush.delete(queryKey);
115
- this.nextFlush.delete(queryKey);
116
- }
117
- tick = () => {
118
- if (!this.queryClient)
119
- return;
120
- // Evict all queries in currentFlush
121
- for (const queryKey of this.currentFlush) {
122
- this.queryClient.queryInstances.delete(queryKey);
123
- }
124
- // Rotate: currentFlush becomes nextFlush, nextFlush becomes empty
125
- this.currentFlush = this.nextFlush;
126
- this.nextFlush = new Set();
127
- };
128
- destroy() {
129
- clearInterval(this.intervalId);
130
- }
131
- }
132
- /**
133
- * QueryResult wraps a DiscriminatedReactivePromise and adds additional functionality
134
- * like refetch, while forwarding all the base relay properties.
135
- * This class combines the old QueryInstance and QueryResultImpl into a single entity.
136
- */
137
- export class QueryResultImpl {
138
- def;
139
- queryKey;
140
- queryClient;
141
- initialized = false;
142
- isRefetchingSignal = signal(false);
143
- isFetchingMoreSignal = signal(false);
144
- updatedAt = undefined;
145
- params = undefined;
146
- refIds = undefined;
147
- refetchPromise = undefined;
148
- fetchMorePromise = undefined;
149
- attemptCount = 0;
150
- unsubscribe = undefined;
151
- relay;
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
- }
195
- constructor(def, queryClient, queryKey, params) {
196
- setReactivePromise(this);
197
- this.def = def;
198
- this.queryClient = queryClient;
199
- this.queryKey = queryKey;
200
- this.params = params;
201
- // Create the relay and handle activation/deactivation
202
- this.relay = relay(state => {
203
- this._relayState = state;
204
- // Load from cache first, then fetch fresh data
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;
211
- if (this.initialized) {
212
- if (this.def.type === "stream" /* QueryType.Stream */) {
213
- this.setupSubscription();
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;
232
- }
233
- else {
234
- this.initialize();
235
- }
236
- // Return deactivation callback
237
- return {
238
- update: () => {
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;
257
- },
258
- deactivate: () => {
259
- // Last subscriber left, deactivate refetch and schedule memory eviction
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) {
268
- this.queryClient.refetchManager.removeQuery(this);
269
- }
270
- // Schedule removal from memory using the global eviction manager
271
- // This allows quick reactivation from memory if needed again soon
272
- // Disk cache (if configured) will still be available after eviction
273
- this.queryClient.memoryEvictionManager.scheduleEviction(this.queryKey);
274
- },
275
- };
276
- });
277
- }
278
- // ======================================================
279
- // ReactivePromise properties
280
- // =====================================================
281
- get value() {
282
- return this.relay.value;
283
- }
284
- get error() {
285
- return this.relay.error;
286
- }
287
- get isPending() {
288
- return this.relay.isPending;
289
- }
290
- get isRejected() {
291
- return this.relay.isRejected;
292
- }
293
- get isResolved() {
294
- return this.relay.isResolved;
295
- }
296
- get isSettled() {
297
- return this.relay.isSettled;
298
- }
299
- get isReady() {
300
- return this.relay.isReady;
301
- }
302
- // TODO: Intimate APIs needed for `useReactive`, this is a code smell and
303
- // we should find a better way to entangle these more generically
304
- get _version() {
305
- return this.relay._version;
306
- }
307
- get _signal() {
308
- return this.relay._signal;
309
- }
310
- get _flags() {
311
- return this.relay._flags;
312
- }
313
- // Forward Promise methods
314
- then(onfulfilled, onrejected) {
315
- return this.relay.then(onfulfilled, onrejected);
316
- }
317
- catch(onrejected) {
318
- return this.relay.catch(onrejected);
319
- }
320
- finally(onfinally) {
321
- return this.relay.finally(onfinally);
322
- }
323
- get [Symbol.toStringTag]() {
324
- return 'QueryResult';
325
- }
326
- // ======================================================
327
- // Internal fetch methods
328
- // ======================================================
329
- /**
330
- * Initialize the query by loading from cache and fetching if stale
331
- */
332
- async initialize() {
333
- const state = this.relayState;
334
- try {
335
- this.initialized = true;
336
- // Load from cache first
337
- const cached = await this.queryClient.loadCachedQuery(this.def, this.queryKey);
338
- if (cached !== undefined) {
339
- const shape = this.def.shape;
340
- state.value =
341
- shape instanceof ValidatorDef
342
- ? parseEntities(cached.value, shape, this.queryClient, new Set())
343
- : parseValue(cached.value, shape, this.def.id);
344
- // Set the cached timestamp
345
- this.updatedAt = cached.updatedAt;
346
- // Set the cached reference IDs
347
- this.refIds = cached.refIds;
348
- }
349
- if (this.def.type === "stream" /* QueryType.Stream */) {
350
- this.setupSubscription();
351
- }
352
- else {
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
- }
364
- }
365
- }
366
- catch (error) {
367
- // Relay will handle the error state automatically
368
- state.setError(error);
369
- }
370
- }
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 };
610
- }
611
- }
612
23
  export class QueryClient {
613
24
  store;
614
25
  context;
@@ -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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"}