@tanstack/query-core 5.0.0-alpha.48 → 5.0.0-alpha.49

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 (41) hide show
  1. package/package.json +2 -2
  2. package/build/lib/_virtual/_rollupPluginBabelHelpers.esm.js +0 -13
  3. package/build/lib/_virtual/_rollupPluginBabelHelpers.esm.js.map +0 -1
  4. package/build/lib/focusManager.esm.js +0 -87
  5. package/build/lib/focusManager.esm.js.map +0 -1
  6. package/build/lib/hydration.esm.js +0 -87
  7. package/build/lib/hydration.esm.js.map +0 -1
  8. package/build/lib/index.esm.js +0 -14
  9. package/build/lib/index.esm.js.map +0 -1
  10. package/build/lib/infiniteQueryBehavior.esm.js +0 -127
  11. package/build/lib/infiniteQueryBehavior.esm.js.map +0 -1
  12. package/build/lib/infiniteQueryObserver.esm.js +0 -76
  13. package/build/lib/infiniteQueryObserver.esm.js.map +0 -1
  14. package/build/lib/mutation.esm.js +0 -259
  15. package/build/lib/mutation.esm.js.map +0 -1
  16. package/build/lib/mutationCache.esm.js +0 -96
  17. package/build/lib/mutationCache.esm.js.map +0 -1
  18. package/build/lib/mutationObserver.esm.js +0 -126
  19. package/build/lib/mutationObserver.esm.js.map +0 -1
  20. package/build/lib/notifyManager.esm.js +0 -89
  21. package/build/lib/notifyManager.esm.js.map +0 -1
  22. package/build/lib/onlineManager.esm.js +0 -88
  23. package/build/lib/onlineManager.esm.js.map +0 -1
  24. package/build/lib/queriesObserver.esm.js +0 -205
  25. package/build/lib/queriesObserver.esm.js.map +0 -1
  26. package/build/lib/query.esm.js +0 -469
  27. package/build/lib/query.esm.js.map +0 -1
  28. package/build/lib/queryCache.esm.js +0 -109
  29. package/build/lib/queryCache.esm.js.map +0 -1
  30. package/build/lib/queryClient.esm.js +0 -320
  31. package/build/lib/queryClient.esm.js.map +0 -1
  32. package/build/lib/queryObserver.esm.js +0 -528
  33. package/build/lib/queryObserver.esm.js.map +0 -1
  34. package/build/lib/removable.esm.js +0 -36
  35. package/build/lib/removable.esm.js.map +0 -1
  36. package/build/lib/retryer.esm.js +0 -153
  37. package/build/lib/retryer.esm.js.map +0 -1
  38. package/build/lib/subscribable.esm.js +0 -26
  39. package/build/lib/subscribable.esm.js.map +0 -1
  40. package/build/lib/utils.esm.js +0 -227
  41. package/build/lib/utils.esm.js.map +0 -1
@@ -1,469 +0,0 @@
1
- import { classPrivateFieldLooseBase as _classPrivateFieldLooseBase, classPrivateFieldLooseKey as _classPrivateFieldLooseKey } from './_virtual/_rollupPluginBabelHelpers.esm.js';
2
- import { replaceData, noop, timeUntilStale } from './utils.esm.js';
3
- import { notifyManager } from './notifyManager.esm.js';
4
- import { createRetryer, isCancelledError, canFetch } from './retryer.esm.js';
5
- import { Removable } from './removable.esm.js';
6
-
7
- // TYPES
8
- var _initialState = /*#__PURE__*/_classPrivateFieldLooseKey("initialState");
9
- var _revertState = /*#__PURE__*/_classPrivateFieldLooseKey("revertState");
10
- var _cache = /*#__PURE__*/_classPrivateFieldLooseKey("cache");
11
- var _promise = /*#__PURE__*/_classPrivateFieldLooseKey("promise");
12
- var _retryer = /*#__PURE__*/_classPrivateFieldLooseKey("retryer");
13
- var _observers = /*#__PURE__*/_classPrivateFieldLooseKey("observers");
14
- var _defaultOptions = /*#__PURE__*/_classPrivateFieldLooseKey("defaultOptions");
15
- var _abortSignalConsumed = /*#__PURE__*/_classPrivateFieldLooseKey("abortSignalConsumed");
16
- var _setOptions = /*#__PURE__*/_classPrivateFieldLooseKey("setOptions");
17
- var _dispatch = /*#__PURE__*/_classPrivateFieldLooseKey("dispatch");
18
- // CLASS
19
-
20
- class Query extends Removable {
21
- constructor(config) {
22
- super();
23
- Object.defineProperty(this, _dispatch, {
24
- value: _dispatch2
25
- });
26
- Object.defineProperty(this, _setOptions, {
27
- value: _setOptions2
28
- });
29
- Object.defineProperty(this, _initialState, {
30
- writable: true,
31
- value: void 0
32
- });
33
- Object.defineProperty(this, _revertState, {
34
- writable: true,
35
- value: void 0
36
- });
37
- Object.defineProperty(this, _cache, {
38
- writable: true,
39
- value: void 0
40
- });
41
- Object.defineProperty(this, _promise, {
42
- writable: true,
43
- value: void 0
44
- });
45
- Object.defineProperty(this, _retryer, {
46
- writable: true,
47
- value: void 0
48
- });
49
- Object.defineProperty(this, _observers, {
50
- writable: true,
51
- value: void 0
52
- });
53
- Object.defineProperty(this, _defaultOptions, {
54
- writable: true,
55
- value: void 0
56
- });
57
- Object.defineProperty(this, _abortSignalConsumed, {
58
- writable: true,
59
- value: void 0
60
- });
61
- _classPrivateFieldLooseBase(this, _abortSignalConsumed)[_abortSignalConsumed] = false;
62
- _classPrivateFieldLooseBase(this, _defaultOptions)[_defaultOptions] = config.defaultOptions;
63
- _classPrivateFieldLooseBase(this, _setOptions)[_setOptions](config.options);
64
- _classPrivateFieldLooseBase(this, _observers)[_observers] = [];
65
- _classPrivateFieldLooseBase(this, _cache)[_cache] = config.cache;
66
- this.queryKey = config.queryKey;
67
- this.queryHash = config.queryHash;
68
- _classPrivateFieldLooseBase(this, _initialState)[_initialState] = config.state || getDefaultState(this.options);
69
- this.state = _classPrivateFieldLooseBase(this, _initialState)[_initialState];
70
- this.scheduleGc();
71
- }
72
- get meta() {
73
- return this.options.meta;
74
- }
75
- optionalRemove() {
76
- if (!_classPrivateFieldLooseBase(this, _observers)[_observers].length && this.state.fetchStatus === 'idle') {
77
- _classPrivateFieldLooseBase(this, _cache)[_cache].remove(this);
78
- }
79
- }
80
- setData(newData, options) {
81
- const data = replaceData(this.state.data, newData, this.options);
82
-
83
- // Set data and mark it as cached
84
- _classPrivateFieldLooseBase(this, _dispatch)[_dispatch]({
85
- data,
86
- type: 'success',
87
- dataUpdatedAt: options == null ? void 0 : options.updatedAt,
88
- manual: options == null ? void 0 : options.manual
89
- });
90
- return data;
91
- }
92
- setState(state, setStateOptions) {
93
- _classPrivateFieldLooseBase(this, _dispatch)[_dispatch]({
94
- type: 'setState',
95
- state,
96
- setStateOptions
97
- });
98
- }
99
- cancel(options) {
100
- var _classPrivateFieldLoo;
101
- const promise = _classPrivateFieldLooseBase(this, _promise)[_promise];
102
- (_classPrivateFieldLoo = _classPrivateFieldLooseBase(this, _retryer)[_retryer]) == null ? void 0 : _classPrivateFieldLoo.cancel(options);
103
- return promise ? promise.then(noop).catch(noop) : Promise.resolve();
104
- }
105
- destroy() {
106
- super.destroy();
107
- this.cancel({
108
- silent: true
109
- });
110
- }
111
- reset() {
112
- this.destroy();
113
- this.setState(_classPrivateFieldLooseBase(this, _initialState)[_initialState]);
114
- }
115
- isActive() {
116
- return _classPrivateFieldLooseBase(this, _observers)[_observers].some(observer => observer.options.enabled !== false);
117
- }
118
- isDisabled() {
119
- return this.getObserversCount() > 0 && !this.isActive();
120
- }
121
- isStale() {
122
- return this.state.isInvalidated || !this.state.dataUpdatedAt || _classPrivateFieldLooseBase(this, _observers)[_observers].some(observer => observer.getCurrentResult().isStale);
123
- }
124
- isStaleByTime(staleTime = 0) {
125
- return this.state.isInvalidated || !this.state.dataUpdatedAt || !timeUntilStale(this.state.dataUpdatedAt, staleTime);
126
- }
127
- onFocus() {
128
- var _classPrivateFieldLoo2;
129
- const observer = _classPrivateFieldLooseBase(this, _observers)[_observers].find(x => x.shouldFetchOnWindowFocus());
130
- observer == null ? void 0 : observer.refetch({
131
- cancelRefetch: false
132
- });
133
-
134
- // Continue fetch if currently paused
135
- (_classPrivateFieldLoo2 = _classPrivateFieldLooseBase(this, _retryer)[_retryer]) == null ? void 0 : _classPrivateFieldLoo2.continue();
136
- }
137
- onOnline() {
138
- var _classPrivateFieldLoo3;
139
- const observer = _classPrivateFieldLooseBase(this, _observers)[_observers].find(x => x.shouldFetchOnReconnect());
140
- observer == null ? void 0 : observer.refetch({
141
- cancelRefetch: false
142
- });
143
-
144
- // Continue fetch if currently paused
145
- (_classPrivateFieldLoo3 = _classPrivateFieldLooseBase(this, _retryer)[_retryer]) == null ? void 0 : _classPrivateFieldLoo3.continue();
146
- }
147
- addObserver(observer) {
148
- if (_classPrivateFieldLooseBase(this, _observers)[_observers].indexOf(observer) === -1) {
149
- _classPrivateFieldLooseBase(this, _observers)[_observers].push(observer);
150
-
151
- // Stop the query from being garbage collected
152
- this.clearGcTimeout();
153
- _classPrivateFieldLooseBase(this, _cache)[_cache].notify({
154
- type: 'observerAdded',
155
- query: this,
156
- observer
157
- });
158
- }
159
- }
160
- removeObserver(observer) {
161
- if (_classPrivateFieldLooseBase(this, _observers)[_observers].indexOf(observer) !== -1) {
162
- _classPrivateFieldLooseBase(this, _observers)[_observers] = _classPrivateFieldLooseBase(this, _observers)[_observers].filter(x => x !== observer);
163
- if (!_classPrivateFieldLooseBase(this, _observers)[_observers].length) {
164
- // If the transport layer does not support cancellation
165
- // we'll let the query continue so the result can be cached
166
- if (_classPrivateFieldLooseBase(this, _retryer)[_retryer]) {
167
- if (_classPrivateFieldLooseBase(this, _abortSignalConsumed)[_abortSignalConsumed]) {
168
- _classPrivateFieldLooseBase(this, _retryer)[_retryer].cancel({
169
- revert: true
170
- });
171
- } else {
172
- _classPrivateFieldLooseBase(this, _retryer)[_retryer].cancelRetry();
173
- }
174
- }
175
- this.scheduleGc();
176
- }
177
- _classPrivateFieldLooseBase(this, _cache)[_cache].notify({
178
- type: 'observerRemoved',
179
- query: this,
180
- observer
181
- });
182
- }
183
- }
184
- getObserversCount() {
185
- return _classPrivateFieldLooseBase(this, _observers)[_observers].length;
186
- }
187
- invalidate() {
188
- if (!this.state.isInvalidated) {
189
- _classPrivateFieldLooseBase(this, _dispatch)[_dispatch]({
190
- type: 'invalidate'
191
- });
192
- }
193
- }
194
- fetch(options, fetchOptions) {
195
- var _this$options$behavio, _context$fetchOptions;
196
- if (this.state.fetchStatus !== 'idle') {
197
- if (this.state.dataUpdatedAt && fetchOptions != null && fetchOptions.cancelRefetch) {
198
- // Silently cancel current fetch if the user wants to cancel refetches
199
- this.cancel({
200
- silent: true
201
- });
202
- } else if (_classPrivateFieldLooseBase(this, _promise)[_promise]) {
203
- var _classPrivateFieldLoo4;
204
- // make sure that retries that were potentially cancelled due to unmounts can continue
205
- (_classPrivateFieldLoo4 = _classPrivateFieldLooseBase(this, _retryer)[_retryer]) == null ? void 0 : _classPrivateFieldLoo4.continueRetry();
206
- // Return current promise if we are already fetching
207
- return _classPrivateFieldLooseBase(this, _promise)[_promise];
208
- }
209
- }
210
-
211
- // Update config if passed, otherwise the config from the last execution is used
212
- if (options) {
213
- _classPrivateFieldLooseBase(this, _setOptions)[_setOptions](options);
214
- }
215
-
216
- // Use the options from the first observer with a query function if no function is found.
217
- // This can happen when the query is hydrated or created with setQueryData.
218
- if (!this.options.queryFn) {
219
- const observer = _classPrivateFieldLooseBase(this, _observers)[_observers].find(x => x.options.queryFn);
220
- if (observer) {
221
- _classPrivateFieldLooseBase(this, _setOptions)[_setOptions](observer.options);
222
- }
223
- }
224
- if (process.env.NODE_ENV !== 'production') {
225
- if (!Array.isArray(this.options.queryKey)) {
226
- console.error(`As of v4, queryKey needs to be an Array. If you are using a string like 'repoData', please change it to an Array, e.g. ['repoData']`);
227
- }
228
- }
229
- const abortController = new AbortController();
230
-
231
- // Create query function context
232
- const queryFnContext = {
233
- queryKey: this.queryKey,
234
- meta: this.meta
235
- };
236
-
237
- // Adds an enumerable signal property to the object that
238
- // which sets abortSignalConsumed to true when the signal
239
- // is read.
240
- const addSignalProperty = object => {
241
- Object.defineProperty(object, 'signal', {
242
- enumerable: true,
243
- get: () => {
244
- _classPrivateFieldLooseBase(this, _abortSignalConsumed)[_abortSignalConsumed] = true;
245
- return abortController.signal;
246
- }
247
- });
248
- };
249
- addSignalProperty(queryFnContext);
250
-
251
- // Create fetch function
252
- const fetchFn = () => {
253
- if (!this.options.queryFn) {
254
- return Promise.reject(new Error('Missing queryFn'));
255
- }
256
- _classPrivateFieldLooseBase(this, _abortSignalConsumed)[_abortSignalConsumed] = false;
257
- return this.options.queryFn(queryFnContext);
258
- };
259
-
260
- // Trigger behavior hook
261
- const context = {
262
- fetchOptions,
263
- options: this.options,
264
- queryKey: this.queryKey,
265
- state: this.state,
266
- fetchFn
267
- };
268
- addSignalProperty(context);
269
- (_this$options$behavio = this.options.behavior) == null ? void 0 : _this$options$behavio.onFetch(context);
270
-
271
- // Store state in case the current fetch needs to be reverted
272
- _classPrivateFieldLooseBase(this, _revertState)[_revertState] = this.state;
273
-
274
- // Set to fetching state if not already in it
275
- if (this.state.fetchStatus === 'idle' || this.state.fetchMeta !== ((_context$fetchOptions = context.fetchOptions) == null ? void 0 : _context$fetchOptions.meta)) {
276
- var _context$fetchOptions2;
277
- _classPrivateFieldLooseBase(this, _dispatch)[_dispatch]({
278
- type: 'fetch',
279
- meta: (_context$fetchOptions2 = context.fetchOptions) == null ? void 0 : _context$fetchOptions2.meta
280
- });
281
- }
282
- const onError = error => {
283
- // Optimistically update state if needed
284
- if (!(isCancelledError(error) && error.silent)) {
285
- _classPrivateFieldLooseBase(this, _dispatch)[_dispatch]({
286
- type: 'error',
287
- error: error
288
- });
289
- }
290
- if (!isCancelledError(error)) {
291
- var _classPrivateFieldLoo5, _classPrivateFieldLoo6, _classPrivateFieldLoo7, _classPrivateFieldLoo8;
292
- // Notify cache callback
293
- (_classPrivateFieldLoo5 = (_classPrivateFieldLoo6 = _classPrivateFieldLooseBase(this, _cache)[_cache].config).onError) == null ? void 0 : _classPrivateFieldLoo5.call(_classPrivateFieldLoo6, error, this);
294
- (_classPrivateFieldLoo7 = (_classPrivateFieldLoo8 = _classPrivateFieldLooseBase(this, _cache)[_cache].config).onSettled) == null ? void 0 : _classPrivateFieldLoo7.call(_classPrivateFieldLoo8, this.state.data, error, this);
295
- }
296
- if (!this.isFetchingOptimistic) {
297
- // Schedule query gc after fetching
298
- this.scheduleGc();
299
- }
300
- this.isFetchingOptimistic = false;
301
- };
302
-
303
- // Try to fetch the data
304
- _classPrivateFieldLooseBase(this, _retryer)[_retryer] = createRetryer({
305
- fn: context.fetchFn,
306
- abort: abortController.abort.bind(abortController),
307
- onSuccess: data => {
308
- var _classPrivateFieldLoo9, _classPrivateFieldLoo10, _classPrivateFieldLoo11, _classPrivateFieldLoo12;
309
- if (typeof data === 'undefined') {
310
- if (process.env.NODE_ENV !== 'production') {
311
- console.error(`Query data cannot be undefined. Please make sure to return a value other than undefined from your query function. Affected query key: ${this.queryHash}`);
312
- }
313
- onError(new Error(`${this.queryHash} data is undefined`));
314
- return;
315
- }
316
- this.setData(data);
317
-
318
- // Notify cache callback
319
- (_classPrivateFieldLoo9 = (_classPrivateFieldLoo10 = _classPrivateFieldLooseBase(this, _cache)[_cache].config).onSuccess) == null ? void 0 : _classPrivateFieldLoo9.call(_classPrivateFieldLoo10, data, this);
320
- (_classPrivateFieldLoo11 = (_classPrivateFieldLoo12 = _classPrivateFieldLooseBase(this, _cache)[_cache].config).onSettled) == null ? void 0 : _classPrivateFieldLoo11.call(_classPrivateFieldLoo12, data, this.state.error, this);
321
- if (!this.isFetchingOptimistic) {
322
- // Schedule query gc after fetching
323
- this.scheduleGc();
324
- }
325
- this.isFetchingOptimistic = false;
326
- },
327
- onError,
328
- onFail: (failureCount, error) => {
329
- _classPrivateFieldLooseBase(this, _dispatch)[_dispatch]({
330
- type: 'failed',
331
- failureCount,
332
- error
333
- });
334
- },
335
- onPause: () => {
336
- _classPrivateFieldLooseBase(this, _dispatch)[_dispatch]({
337
- type: 'pause'
338
- });
339
- },
340
- onContinue: () => {
341
- _classPrivateFieldLooseBase(this, _dispatch)[_dispatch]({
342
- type: 'continue'
343
- });
344
- },
345
- retry: context.options.retry,
346
- retryDelay: context.options.retryDelay,
347
- networkMode: context.options.networkMode
348
- });
349
- _classPrivateFieldLooseBase(this, _promise)[_promise] = _classPrivateFieldLooseBase(this, _retryer)[_retryer].promise;
350
- return _classPrivateFieldLooseBase(this, _promise)[_promise];
351
- }
352
- }
353
- function _setOptions2(options) {
354
- this.options = {
355
- ..._classPrivateFieldLooseBase(this, _defaultOptions)[_defaultOptions],
356
- ...options
357
- };
358
- this.updateGcTime(this.options.gcTime);
359
- }
360
- function _dispatch2(action) {
361
- const reducer = state => {
362
- var _action$meta, _action$dataUpdatedAt;
363
- switch (action.type) {
364
- case 'failed':
365
- return {
366
- ...state,
367
- fetchFailureCount: action.failureCount,
368
- fetchFailureReason: action.error
369
- };
370
- case 'pause':
371
- return {
372
- ...state,
373
- fetchStatus: 'paused'
374
- };
375
- case 'continue':
376
- return {
377
- ...state,
378
- fetchStatus: 'fetching'
379
- };
380
- case 'fetch':
381
- return {
382
- ...state,
383
- fetchFailureCount: 0,
384
- fetchFailureReason: null,
385
- fetchMeta: (_action$meta = action.meta) != null ? _action$meta : null,
386
- fetchStatus: canFetch(this.options.networkMode) ? 'fetching' : 'paused',
387
- ...(!state.dataUpdatedAt && {
388
- error: null,
389
- status: 'pending'
390
- })
391
- };
392
- case 'success':
393
- return {
394
- ...state,
395
- data: action.data,
396
- dataUpdateCount: state.dataUpdateCount + 1,
397
- dataUpdatedAt: (_action$dataUpdatedAt = action.dataUpdatedAt) != null ? _action$dataUpdatedAt : Date.now(),
398
- error: null,
399
- isInvalidated: false,
400
- status: 'success',
401
- ...(!action.manual && {
402
- fetchStatus: 'idle',
403
- fetchFailureCount: 0,
404
- fetchFailureReason: null
405
- })
406
- };
407
- case 'error':
408
- const error = action.error;
409
- if (isCancelledError(error) && error.revert && _classPrivateFieldLooseBase(this, _revertState)[_revertState]) {
410
- return {
411
- ..._classPrivateFieldLooseBase(this, _revertState)[_revertState]
412
- };
413
- }
414
- return {
415
- ...state,
416
- error: error,
417
- errorUpdateCount: state.errorUpdateCount + 1,
418
- errorUpdatedAt: Date.now(),
419
- fetchFailureCount: state.fetchFailureCount + 1,
420
- fetchFailureReason: error,
421
- fetchStatus: 'idle',
422
- status: 'error'
423
- };
424
- case 'invalidate':
425
- return {
426
- ...state,
427
- isInvalidated: true
428
- };
429
- case 'setState':
430
- return {
431
- ...state,
432
- ...action.state
433
- };
434
- }
435
- };
436
- this.state = reducer(this.state);
437
- notifyManager.batch(() => {
438
- _classPrivateFieldLooseBase(this, _observers)[_observers].forEach(observer => {
439
- observer.onQueryUpdate();
440
- });
441
- _classPrivateFieldLooseBase(this, _cache)[_cache].notify({
442
- query: this,
443
- type: 'updated',
444
- action
445
- });
446
- });
447
- }
448
- function getDefaultState(options) {
449
- const data = typeof options.initialData === 'function' ? options.initialData() : options.initialData;
450
- const hasData = typeof data !== 'undefined';
451
- const initialDataUpdatedAt = hasData ? typeof options.initialDataUpdatedAt === 'function' ? options.initialDataUpdatedAt() : options.initialDataUpdatedAt : 0;
452
- return {
453
- data,
454
- dataUpdateCount: 0,
455
- dataUpdatedAt: hasData ? initialDataUpdatedAt != null ? initialDataUpdatedAt : Date.now() : 0,
456
- error: null,
457
- errorUpdateCount: 0,
458
- errorUpdatedAt: 0,
459
- fetchFailureCount: 0,
460
- fetchFailureReason: null,
461
- fetchMeta: null,
462
- isInvalidated: false,
463
- status: hasData ? 'success' : 'pending',
464
- fetchStatus: 'idle'
465
- };
466
- }
467
-
468
- export { Query };
469
- //# sourceMappingURL=query.esm.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"query.esm.js","sources":["../../src/query.ts"],"sourcesContent":["import { noop, replaceData, timeUntilStale } from './utils'\nimport type {\n InitialDataFunction,\n QueryKey,\n QueryOptions,\n QueryStatus,\n QueryFunctionContext,\n QueryMeta,\n CancelOptions,\n SetDataOptions,\n FetchStatus,\n DefaultError,\n} from './types'\nimport type { QueryCache } from './queryCache'\nimport type { QueryObserver } from './queryObserver'\nimport { notifyManager } from './notifyManager'\nimport type { Retryer } from './retryer'\nimport { isCancelledError, canFetch, createRetryer } from './retryer'\nimport { Removable } from './removable'\n\n// TYPES\n\ninterface QueryConfig<\n TQueryFnData,\n TError,\n TData,\n TQueryKey extends QueryKey = QueryKey,\n> {\n cache: QueryCache\n queryKey: TQueryKey\n queryHash: string\n options?: QueryOptions<TQueryFnData, TError, TData, TQueryKey>\n defaultOptions?: QueryOptions<TQueryFnData, TError, TData, TQueryKey>\n state?: QueryState<TData, TError>\n}\n\nexport interface QueryState<TData = unknown, TError = DefaultError> {\n data: TData | undefined\n dataUpdateCount: number\n dataUpdatedAt: number\n error: TError | null\n errorUpdateCount: number\n errorUpdatedAt: number\n fetchFailureCount: number\n fetchFailureReason: TError | null\n fetchMeta: FetchMeta | null\n isInvalidated: boolean\n status: QueryStatus\n fetchStatus: FetchStatus\n}\n\nexport interface FetchContext<\n TQueryFnData,\n TError,\n TData,\n TQueryKey extends QueryKey = QueryKey,\n> {\n fetchFn: () => unknown | Promise<unknown>\n fetchOptions?: FetchOptions\n signal: AbortSignal\n options: QueryOptions<TQueryFnData, TError, TData, any>\n queryKey: TQueryKey\n state: QueryState<TData, TError>\n}\n\nexport interface QueryBehavior<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> {\n onFetch: (\n context: FetchContext<TQueryFnData, TError, TData, TQueryKey>,\n ) => void\n}\n\nexport type FetchDirection = 'forward' | 'backward'\n\nexport interface FetchMeta {\n fetchMore?: { direction: FetchDirection }\n}\n\nexport interface FetchOptions {\n cancelRefetch?: boolean\n meta?: FetchMeta\n}\n\ninterface FailedAction<TError> {\n type: 'failed'\n failureCount: number\n error: TError\n}\n\ninterface FetchAction {\n type: 'fetch'\n meta?: FetchMeta\n}\n\ninterface SuccessAction<TData> {\n data: TData | undefined\n type: 'success'\n dataUpdatedAt?: number\n manual?: boolean\n}\n\ninterface ErrorAction<TError> {\n type: 'error'\n error: TError\n}\n\ninterface InvalidateAction {\n type: 'invalidate'\n}\n\ninterface PauseAction {\n type: 'pause'\n}\n\ninterface ContinueAction {\n type: 'continue'\n}\n\ninterface SetStateAction<TData, TError> {\n type: 'setState'\n state: Partial<QueryState<TData, TError>>\n setStateOptions?: SetStateOptions\n}\n\nexport type Action<TData, TError> =\n | ContinueAction\n | ErrorAction<TError>\n | FailedAction<TError>\n | FetchAction\n | InvalidateAction\n | PauseAction\n | SetStateAction<TData, TError>\n | SuccessAction<TData>\n\nexport interface SetStateOptions {\n meta?: any\n}\n\n// CLASS\n\nexport class Query<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> extends Removable {\n queryKey: TQueryKey\n queryHash: string\n options!: QueryOptions<TQueryFnData, TError, TData, TQueryKey>\n state: QueryState<TData, TError>\n isFetchingOptimistic?: boolean\n\n #initialState: QueryState<TData, TError>\n #revertState?: QueryState<TData, TError>\n #cache: QueryCache\n #promise?: Promise<TData>\n #retryer?: Retryer<TData>\n #observers: QueryObserver<any, any, any, any, any>[]\n #defaultOptions?: QueryOptions<TQueryFnData, TError, TData, TQueryKey>\n #abortSignalConsumed: boolean\n\n constructor(config: QueryConfig<TQueryFnData, TError, TData, TQueryKey>) {\n super()\n\n this.#abortSignalConsumed = false\n this.#defaultOptions = config.defaultOptions\n this.#setOptions(config.options)\n this.#observers = []\n this.#cache = config.cache\n this.queryKey = config.queryKey\n this.queryHash = config.queryHash\n this.#initialState = config.state || getDefaultState(this.options)\n this.state = this.#initialState\n this.scheduleGc()\n }\n get meta(): QueryMeta | undefined {\n return this.options.meta\n }\n\n #setOptions(\n options?: QueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n ): void {\n this.options = { ...this.#defaultOptions, ...options }\n\n this.updateGcTime(this.options.gcTime)\n }\n\n protected optionalRemove() {\n if (!this.#observers.length && this.state.fetchStatus === 'idle') {\n this.#cache.remove(this)\n }\n }\n\n setData(\n newData: TData,\n options?: SetDataOptions & { manual: boolean },\n ): TData {\n const data = replaceData(this.state.data, newData, this.options)\n\n // Set data and mark it as cached\n this.#dispatch({\n data,\n type: 'success',\n dataUpdatedAt: options?.updatedAt,\n manual: options?.manual,\n })\n\n return data\n }\n\n setState(\n state: Partial<QueryState<TData, TError>>,\n setStateOptions?: SetStateOptions,\n ): void {\n this.#dispatch({ type: 'setState', state, setStateOptions })\n }\n\n cancel(options?: CancelOptions): Promise<void> {\n const promise = this.#promise\n this.#retryer?.cancel(options)\n return promise ? promise.then(noop).catch(noop) : Promise.resolve()\n }\n\n destroy(): void {\n super.destroy()\n\n this.cancel({ silent: true })\n }\n\n reset(): void {\n this.destroy()\n this.setState(this.#initialState)\n }\n\n isActive(): boolean {\n return this.#observers.some(\n (observer) => observer.options.enabled !== false,\n )\n }\n\n isDisabled(): boolean {\n return this.getObserversCount() > 0 && !this.isActive()\n }\n\n isStale(): boolean {\n return (\n this.state.isInvalidated ||\n !this.state.dataUpdatedAt ||\n this.#observers.some((observer) => observer.getCurrentResult().isStale)\n )\n }\n\n isStaleByTime(staleTime = 0): boolean {\n return (\n this.state.isInvalidated ||\n !this.state.dataUpdatedAt ||\n !timeUntilStale(this.state.dataUpdatedAt, staleTime)\n )\n }\n\n onFocus(): void {\n const observer = this.#observers.find((x) => x.shouldFetchOnWindowFocus())\n\n observer?.refetch({ cancelRefetch: false })\n\n // Continue fetch if currently paused\n this.#retryer?.continue()\n }\n\n onOnline(): void {\n const observer = this.#observers.find((x) => x.shouldFetchOnReconnect())\n\n observer?.refetch({ cancelRefetch: false })\n\n // Continue fetch if currently paused\n this.#retryer?.continue()\n }\n\n addObserver(observer: QueryObserver<any, any, any, any, any>): void {\n if (this.#observers.indexOf(observer) === -1) {\n this.#observers.push(observer)\n\n // Stop the query from being garbage collected\n this.clearGcTimeout()\n\n this.#cache.notify({ type: 'observerAdded', query: this, observer })\n }\n }\n\n removeObserver(observer: QueryObserver<any, any, any, any, any>): void {\n if (this.#observers.indexOf(observer) !== -1) {\n this.#observers = this.#observers.filter((x) => x !== observer)\n\n if (!this.#observers.length) {\n // If the transport layer does not support cancellation\n // we'll let the query continue so the result can be cached\n if (this.#retryer) {\n if (this.#abortSignalConsumed) {\n this.#retryer.cancel({ revert: true })\n } else {\n this.#retryer.cancelRetry()\n }\n }\n\n this.scheduleGc()\n }\n\n this.#cache.notify({ type: 'observerRemoved', query: this, observer })\n }\n }\n\n getObserversCount(): number {\n return this.#observers.length\n }\n\n invalidate(): void {\n if (!this.state.isInvalidated) {\n this.#dispatch({ type: 'invalidate' })\n }\n }\n\n fetch(\n options?: QueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n fetchOptions?: FetchOptions,\n ): Promise<TData> {\n if (this.state.fetchStatus !== 'idle') {\n if (this.state.dataUpdatedAt && fetchOptions?.cancelRefetch) {\n // Silently cancel current fetch if the user wants to cancel refetches\n this.cancel({ silent: true })\n } else if (this.#promise) {\n // make sure that retries that were potentially cancelled due to unmounts can continue\n this.#retryer?.continueRetry()\n // Return current promise if we are already fetching\n return this.#promise\n }\n }\n\n // Update config if passed, otherwise the config from the last execution is used\n if (options) {\n this.#setOptions(options)\n }\n\n // Use the options from the first observer with a query function if no function is found.\n // This can happen when the query is hydrated or created with setQueryData.\n if (!this.options.queryFn) {\n const observer = this.#observers.find((x) => x.options.queryFn)\n if (observer) {\n this.#setOptions(observer.options)\n }\n }\n\n if (process.env.NODE_ENV !== 'production') {\n if (!Array.isArray(this.options.queryKey)) {\n console.error(\n `As of v4, queryKey needs to be an Array. If you are using a string like 'repoData', please change it to an Array, e.g. ['repoData']`,\n )\n }\n }\n\n const abortController = new AbortController()\n\n // Create query function context\n const queryFnContext: Omit<QueryFunctionContext<TQueryKey>, 'signal'> = {\n queryKey: this.queryKey,\n meta: this.meta,\n }\n\n // Adds an enumerable signal property to the object that\n // which sets abortSignalConsumed to true when the signal\n // is read.\n const addSignalProperty = (object: unknown) => {\n Object.defineProperty(object, 'signal', {\n enumerable: true,\n get: () => {\n this.#abortSignalConsumed = true\n return abortController.signal\n },\n })\n }\n\n addSignalProperty(queryFnContext)\n\n // Create fetch function\n const fetchFn = () => {\n if (!this.options.queryFn) {\n return Promise.reject(new Error('Missing queryFn'))\n }\n this.#abortSignalConsumed = false\n return this.options.queryFn(\n queryFnContext as QueryFunctionContext<TQueryKey>,\n )\n }\n\n // Trigger behavior hook\n const context: Omit<\n FetchContext<TQueryFnData, TError, TData, TQueryKey>,\n 'signal'\n > = {\n fetchOptions,\n options: this.options,\n queryKey: this.queryKey,\n state: this.state,\n fetchFn,\n }\n\n addSignalProperty(context)\n\n this.options.behavior?.onFetch(\n context as FetchContext<TQueryFnData, TError, TData, TQueryKey>,\n )\n\n // Store state in case the current fetch needs to be reverted\n this.#revertState = this.state\n\n // Set to fetching state if not already in it\n if (\n this.state.fetchStatus === 'idle' ||\n this.state.fetchMeta !== context.fetchOptions?.meta\n ) {\n this.#dispatch({ type: 'fetch', meta: context.fetchOptions?.meta })\n }\n\n const onError = (error: TError | { silent?: boolean }) => {\n // Optimistically update state if needed\n if (!(isCancelledError(error) && error.silent)) {\n this.#dispatch({\n type: 'error',\n error: error as TError,\n })\n }\n\n if (!isCancelledError(error)) {\n // Notify cache callback\n this.#cache.config.onError?.(\n error as any,\n this as Query<any, any, any, any>,\n )\n this.#cache.config.onSettled?.(\n this.state.data,\n error as any,\n this as Query<any, any, any, any>,\n )\n }\n\n if (!this.isFetchingOptimistic) {\n // Schedule query gc after fetching\n this.scheduleGc()\n }\n this.isFetchingOptimistic = false\n }\n\n // Try to fetch the data\n this.#retryer = createRetryer({\n fn: context.fetchFn as () => Promise<TData>,\n abort: abortController.abort.bind(abortController),\n onSuccess: (data) => {\n if (typeof data === 'undefined') {\n if (process.env.NODE_ENV !== 'production') {\n console.error(\n `Query data cannot be undefined. Please make sure to return a value other than undefined from your query function. Affected query key: ${this.queryHash}`,\n )\n }\n onError(new Error(`${this.queryHash} data is undefined`) as any)\n return\n }\n\n this.setData(data)\n\n // Notify cache callback\n this.#cache.config.onSuccess?.(data, this as Query<any, any, any, any>)\n this.#cache.config.onSettled?.(\n data,\n this.state.error as any,\n this as Query<any, any, any, any>,\n )\n\n if (!this.isFetchingOptimistic) {\n // Schedule query gc after fetching\n this.scheduleGc()\n }\n this.isFetchingOptimistic = false\n },\n onError,\n onFail: (failureCount, error) => {\n this.#dispatch({ type: 'failed', failureCount, error })\n },\n onPause: () => {\n this.#dispatch({ type: 'pause' })\n },\n onContinue: () => {\n this.#dispatch({ type: 'continue' })\n },\n retry: context.options.retry,\n retryDelay: context.options.retryDelay,\n networkMode: context.options.networkMode,\n })\n\n this.#promise = this.#retryer.promise\n\n return this.#promise\n }\n\n #dispatch(action: Action<TData, TError>): void {\n const reducer = (\n state: QueryState<TData, TError>,\n ): QueryState<TData, TError> => {\n switch (action.type) {\n case 'failed':\n return {\n ...state,\n fetchFailureCount: action.failureCount,\n fetchFailureReason: action.error,\n }\n case 'pause':\n return {\n ...state,\n fetchStatus: 'paused',\n }\n case 'continue':\n return {\n ...state,\n fetchStatus: 'fetching',\n }\n case 'fetch':\n return {\n ...state,\n fetchFailureCount: 0,\n fetchFailureReason: null,\n fetchMeta: action.meta ?? null,\n fetchStatus: canFetch(this.options.networkMode)\n ? 'fetching'\n : 'paused',\n ...(!state.dataUpdatedAt && {\n error: null,\n status: 'pending',\n }),\n }\n case 'success':\n return {\n ...state,\n data: action.data,\n dataUpdateCount: state.dataUpdateCount + 1,\n dataUpdatedAt: action.dataUpdatedAt ?? Date.now(),\n error: null,\n isInvalidated: false,\n status: 'success',\n ...(!action.manual && {\n fetchStatus: 'idle',\n fetchFailureCount: 0,\n fetchFailureReason: null,\n }),\n }\n case 'error':\n const error = action.error as unknown\n\n if (isCancelledError(error) && error.revert && this.#revertState) {\n return { ...this.#revertState }\n }\n\n return {\n ...state,\n error: error as TError,\n errorUpdateCount: state.errorUpdateCount + 1,\n errorUpdatedAt: Date.now(),\n fetchFailureCount: state.fetchFailureCount + 1,\n fetchFailureReason: error as TError,\n fetchStatus: 'idle',\n status: 'error',\n }\n case 'invalidate':\n return {\n ...state,\n isInvalidated: true,\n }\n case 'setState':\n return {\n ...state,\n ...action.state,\n }\n }\n }\n\n this.state = reducer(this.state)\n\n notifyManager.batch(() => {\n this.#observers.forEach((observer) => {\n observer.onQueryUpdate()\n })\n\n this.#cache.notify({ query: this, type: 'updated', action })\n })\n }\n}\n\nfunction getDefaultState<\n TQueryFnData,\n TError,\n TData,\n TQueryKey extends QueryKey,\n>(\n options: QueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n): QueryState<TData, TError> {\n const data =\n typeof options.initialData === 'function'\n ? (options.initialData as InitialDataFunction<TData>)()\n : options.initialData\n\n const hasData = typeof data !== 'undefined'\n\n const initialDataUpdatedAt = hasData\n ? typeof options.initialDataUpdatedAt === 'function'\n ? (options.initialDataUpdatedAt as () => number | undefined)()\n : options.initialDataUpdatedAt\n : 0\n\n return {\n data,\n dataUpdateCount: 0,\n dataUpdatedAt: hasData ? initialDataUpdatedAt ?? Date.now() : 0,\n error: null,\n errorUpdateCount: 0,\n errorUpdatedAt: 0,\n fetchFailureCount: 0,\n fetchFailureReason: null,\n fetchMeta: null,\n isInvalidated: false,\n status: hasData ? 'success' : 'pending',\n fetchStatus: 'idle',\n }\n}\n"],"names":["_initialState","_classPrivateFieldLooseKey","_revertState","_cache","_promise","_retryer","_observers","_defaultOptions","_abortSignalConsumed","_setOptions","_dispatch","Query","Removable","constructor","config","Object","defineProperty","value","_dispatch2","_setOptions2","writable","_classPrivateFieldLooseBase","defaultOptions","options","cache","queryKey","queryHash","state","getDefaultState","scheduleGc","meta","optionalRemove","length","fetchStatus","remove","setData","newData","data","replaceData","type","dataUpdatedAt","updatedAt","manual","setState","setStateOptions","cancel","_classPrivateFieldLoo","promise","then","noop","catch","Promise","resolve","destroy","silent","reset","isActive","some","observer","enabled","isDisabled","getObserversCount","isStale","isInvalidated","getCurrentResult","isStaleByTime","staleTime","timeUntilStale","onFocus","_classPrivateFieldLoo2","find","x","shouldFetchOnWindowFocus","refetch","cancelRefetch","continue","onOnline","_classPrivateFieldLoo3","shouldFetchOnReconnect","addObserver","indexOf","push","clearGcTimeout","notify","query","removeObserver","filter","revert","cancelRetry","invalidate","fetch","fetchOptions","_this$options$behavio","_context$fetchOptions","_classPrivateFieldLoo4","continueRetry","queryFn","process","env","NODE_ENV","Array","isArray","console","error","abortController","AbortController","queryFnContext","addSignalProperty","object","enumerable","get","signal","fetchFn","reject","Error","context","behavior","onFetch","fetchMeta","_context$fetchOptions2","onError","isCancelledError","_classPrivateFieldLoo5","_classPrivateFieldLoo6","_classPrivateFieldLoo7","_classPrivateFieldLoo8","call","onSettled","isFetchingOptimistic","createRetryer","fn","abort","bind","onSuccess","_classPrivateFieldLoo9","_classPrivateFieldLoo10","_classPrivateFieldLoo11","_classPrivateFieldLoo12","onFail","failureCount","onPause","onContinue","retry","retryDelay","networkMode","updateGcTime","gcTime","action","reducer","_action$meta","_action$dataUpdatedAt","fetchFailureCount","fetchFailureReason","canFetch","status","dataUpdateCount","Date","now","errorUpdateCount","errorUpdatedAt","notifyManager","batch","forEach","onQueryUpdate","initialData","hasData","initialDataUpdatedAt"],"mappings":"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"}
@@ -1,109 +0,0 @@
1
- import { classPrivateFieldLooseBase as _classPrivateFieldLooseBase, classPrivateFieldLooseKey as _classPrivateFieldLooseKey } from './_virtual/_rollupPluginBabelHelpers.esm.js';
2
- import { hashQueryKeyByOptions, matchQuery } from './utils.esm.js';
3
- import { Query } from './query.esm.js';
4
- import { notifyManager } from './notifyManager.esm.js';
5
- import { Subscribable } from './subscribable.esm.js';
6
-
7
- // TYPES
8
- var _queries = /*#__PURE__*/_classPrivateFieldLooseKey("queries");
9
- // CLASS
10
-
11
- class QueryCache extends Subscribable {
12
- constructor(config = {}) {
13
- super();
14
- Object.defineProperty(this, _queries, {
15
- writable: true,
16
- value: void 0
17
- });
18
- this.config = config;
19
- _classPrivateFieldLooseBase(this, _queries)[_queries] = new Map();
20
- }
21
- build(client, options, state) {
22
- var _options$queryHash;
23
- const queryKey = options.queryKey;
24
- const queryHash = (_options$queryHash = options.queryHash) != null ? _options$queryHash : hashQueryKeyByOptions(queryKey, options);
25
- let query = this.get(queryHash);
26
- if (!query) {
27
- query = new Query({
28
- cache: this,
29
- queryKey,
30
- queryHash,
31
- options: client.defaultQueryOptions(options),
32
- state,
33
- defaultOptions: client.getQueryDefaults(queryKey)
34
- });
35
- this.add(query);
36
- }
37
- return query;
38
- }
39
- add(query) {
40
- if (!_classPrivateFieldLooseBase(this, _queries)[_queries].has(query.queryHash)) {
41
- _classPrivateFieldLooseBase(this, _queries)[_queries].set(query.queryHash, query);
42
- this.notify({
43
- type: 'added',
44
- query
45
- });
46
- }
47
- }
48
- remove(query) {
49
- const queryInMap = _classPrivateFieldLooseBase(this, _queries)[_queries].get(query.queryHash);
50
- if (queryInMap) {
51
- query.destroy();
52
- if (queryInMap === query) {
53
- _classPrivateFieldLooseBase(this, _queries)[_queries].delete(query.queryHash);
54
- }
55
- this.notify({
56
- type: 'removed',
57
- query
58
- });
59
- }
60
- }
61
- clear() {
62
- notifyManager.batch(() => {
63
- this.getAll().forEach(query => {
64
- this.remove(query);
65
- });
66
- });
67
- }
68
- get(queryHash) {
69
- return _classPrivateFieldLooseBase(this, _queries)[_queries].get(queryHash);
70
- }
71
- getAll() {
72
- return [..._classPrivateFieldLooseBase(this, _queries)[_queries].values()];
73
- }
74
- find(filters) {
75
- const defaultedFilters = {
76
- exact: true,
77
- ...filters
78
- };
79
- return this.getAll().find(query => matchQuery(defaultedFilters, query));
80
- }
81
- findAll(filters = {}) {
82
- const queries = this.getAll();
83
- return Object.keys(filters).length > 0 ? queries.filter(query => matchQuery(filters, query)) : queries;
84
- }
85
- notify(event) {
86
- notifyManager.batch(() => {
87
- this.listeners.forEach(listener => {
88
- listener(event);
89
- });
90
- });
91
- }
92
- onFocus() {
93
- notifyManager.batch(() => {
94
- this.getAll().forEach(query => {
95
- query.onFocus();
96
- });
97
- });
98
- }
99
- onOnline() {
100
- notifyManager.batch(() => {
101
- this.getAll().forEach(query => {
102
- query.onOnline();
103
- });
104
- });
105
- }
106
- }
107
-
108
- export { QueryCache };
109
- //# sourceMappingURL=queryCache.esm.js.map