@tanstack/react-query-persist-client 4.0.0 → 4.0.2
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.
- package/build/cjs/react-query/build/esm/index.js +301 -0
- package/build/cjs/react-query/build/esm/index.js.map +1 -0
- package/build/cjs/react-query-persist-client/src/PersistQueryClientProvider.js +3 -3
- package/build/cjs/react-query-persist-client/src/PersistQueryClientProvider.js.map +1 -1
- package/build/esm/index.js +269 -9
- package/build/esm/index.js.map +1 -1
- package/build/stats-html.html +1 -1
- package/build/stats.json +249 -0
- package/build/types/packages/query-core/src/focusManager.d.ts +16 -0
- package/build/types/packages/query-core/src/hydration.d.ts +34 -0
- package/build/types/packages/query-core/src/index.d.ts +20 -0
- package/build/types/packages/query-core/src/infiniteQueryBehavior.d.ts +15 -0
- package/build/types/packages/query-core/src/infiniteQueryObserver.d.ts +18 -0
- package/build/types/packages/query-core/src/logger.d.ts +8 -0
- package/build/types/packages/query-core/src/mutation.d.ts +70 -0
- package/build/types/packages/query-core/src/mutationCache.d.ts +52 -0
- package/build/types/packages/query-core/src/mutationObserver.d.ts +23 -0
- package/build/types/packages/query-core/src/notifyManager.d.ts +18 -0
- package/build/types/packages/query-core/src/onlineManager.d.ts +16 -0
- package/build/types/packages/query-core/src/queriesObserver.d.ts +23 -0
- package/build/types/packages/query-core/src/query.d.ts +119 -0
- package/build/types/packages/query-core/src/queryCache.d.ts +59 -0
- package/build/types/packages/query-core/src/queryClient.d.ts +65 -0
- package/build/types/packages/query-core/src/queryObserver.d.ts +61 -0
- package/build/types/packages/query-core/src/removable.d.ts +9 -0
- package/build/types/packages/query-core/src/retryer.d.ts +33 -0
- package/build/types/packages/query-core/src/subscribable.d.ts +10 -0
- package/build/types/packages/query-core/src/types.d.ts +417 -0
- package/build/types/packages/query-core/src/utils.d.ts +99 -0
- package/build/types/packages/react-query/src/Hydrate.d.ts +10 -0
- package/build/types/packages/react-query/src/QueryClientProvider.d.ts +24 -0
- package/build/types/packages/react-query/src/QueryErrorResetBoundary.d.ts +12 -0
- package/build/types/packages/react-query/src/index.d.ts +17 -0
- package/build/types/packages/react-query/src/isRestoring.d.ts +3 -0
- package/build/types/packages/react-query/src/reactBatchedUpdates.d.ts +2 -0
- package/build/types/packages/react-query/src/setBatchUpdatesFn.d.ts +1 -0
- package/build/types/packages/react-query/src/types.d.ts +35 -0
- package/build/types/packages/react-query/src/useBaseQuery.d.ts +3 -0
- package/build/types/packages/react-query/src/useInfiniteQuery.d.ts +5 -0
- package/build/types/packages/react-query/src/useIsFetching.d.ts +7 -0
- package/build/types/packages/react-query/src/useIsMutating.d.ts +7 -0
- package/build/types/packages/react-query/src/useMutation.d.ts +6 -0
- package/build/types/packages/react-query/src/useQueries.d.ts +49 -0
- package/build/types/packages/react-query/src/useQuery.d.ts +20 -0
- package/build/types/packages/react-query/src/utils.d.ts +1 -0
- package/build/types/packages/react-query-persist-client/src/PersistQueryClientProvider.d.ts +8 -0
- package/build/types/packages/react-query-persist-client/src/__tests__/PersistQueryClientProvider.test.d.ts +1 -0
- package/build/types/packages/react-query-persist-client/src/__tests__/persist.test.d.ts +1 -0
- package/build/types/packages/react-query-persist-client/src/index.d.ts +3 -0
- package/build/types/packages/react-query-persist-client/src/persist.d.ts +58 -0
- package/build/types/packages/react-query-persist-client/src/retryStrategies.d.ts +7 -0
- package/build/types/tests/utils.d.ts +24 -0
- package/build/umd/index.development.js +274 -14
- package/build/umd/index.development.js.map +1 -1
- package/build/umd/index.production.js +22 -2
- package/build/umd/index.production.js.map +1 -1
- package/package.json +3 -3
- package/build/cjs/PersistQueryClientProvider.js +0 -83
- package/build/cjs/PersistQueryClientProvider.js.map +0 -1
- package/build/cjs/index.js +0 -27
- package/build/cjs/index.js.map +0 -1
- package/build/cjs/persist.js +0 -119
- package/build/cjs/persist.js.map +0 -1
- package/build/cjs/retryStrategies.js +0 -39
- package/build/cjs/retryStrategies.js.map +0 -1
package/build/esm/index.js
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
* @license MIT
|
|
10
10
|
*/
|
|
11
11
|
import * as React from 'react';
|
|
12
|
-
import
|
|
12
|
+
import 'use-sync-external-store/shim';
|
|
13
13
|
|
|
14
14
|
/**
|
|
15
15
|
* query-core
|
|
@@ -21,7 +21,7 @@ import { QueryClientProvider, IsRestoringProvider } from '@tanstack/react-query'
|
|
|
21
21
|
*
|
|
22
22
|
* @license MIT
|
|
23
23
|
*/
|
|
24
|
-
class Subscribable {
|
|
24
|
+
class Subscribable$1 {
|
|
25
25
|
constructor() {
|
|
26
26
|
this.listeners = [];
|
|
27
27
|
this.subscribe = this.subscribe.bind(this);
|
|
@@ -50,16 +50,16 @@ class Subscribable {
|
|
|
50
50
|
|
|
51
51
|
// TYPES
|
|
52
52
|
// UTILS
|
|
53
|
-
const isServer = typeof window === 'undefined';
|
|
53
|
+
const isServer$1 = typeof window === 'undefined';
|
|
54
54
|
|
|
55
|
-
class FocusManager extends Subscribable {
|
|
55
|
+
class FocusManager$1 extends Subscribable$1 {
|
|
56
56
|
constructor() {
|
|
57
57
|
super();
|
|
58
58
|
|
|
59
59
|
this.setup = onFocus => {
|
|
60
60
|
// addEventListener does not exist in React Native, but window does
|
|
61
61
|
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
|
|
62
|
-
if (!isServer && window.addEventListener) {
|
|
62
|
+
if (!isServer$1 && window.addEventListener) {
|
|
63
63
|
const listener = () => onFocus(); // Listen to visibillitychange and focus
|
|
64
64
|
|
|
65
65
|
|
|
@@ -131,16 +131,16 @@ class FocusManager extends Subscribable {
|
|
|
131
131
|
}
|
|
132
132
|
|
|
133
133
|
}
|
|
134
|
-
new FocusManager();
|
|
134
|
+
new FocusManager$1();
|
|
135
135
|
|
|
136
|
-
class OnlineManager extends Subscribable {
|
|
136
|
+
class OnlineManager$1 extends Subscribable$1 {
|
|
137
137
|
constructor() {
|
|
138
138
|
super();
|
|
139
139
|
|
|
140
140
|
this.setup = onOnline => {
|
|
141
141
|
// addEventListener does not exist in React Native, but window does
|
|
142
142
|
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
|
|
143
|
-
if (!isServer && window.addEventListener) {
|
|
143
|
+
if (!isServer$1 && window.addEventListener) {
|
|
144
144
|
const listener = () => onOnline(); // Listen to online
|
|
145
145
|
|
|
146
146
|
|
|
@@ -211,7 +211,7 @@ class OnlineManager extends Subscribable {
|
|
|
211
211
|
}
|
|
212
212
|
|
|
213
213
|
}
|
|
214
|
-
new OnlineManager();
|
|
214
|
+
new OnlineManager$1();
|
|
215
215
|
|
|
216
216
|
// TYPES
|
|
217
217
|
// FUNCTIONS
|
|
@@ -423,6 +423,266 @@ function _extends() {
|
|
|
423
423
|
return _extends.apply(this, arguments);
|
|
424
424
|
}
|
|
425
425
|
|
|
426
|
+
/**
|
|
427
|
+
* react-query
|
|
428
|
+
*
|
|
429
|
+
* Copyright (c) TanStack
|
|
430
|
+
*
|
|
431
|
+
* This source code is licensed under the MIT license found in the
|
|
432
|
+
* LICENSE.md file in the root directory of this source tree.
|
|
433
|
+
*
|
|
434
|
+
* @license MIT
|
|
435
|
+
*/
|
|
436
|
+
|
|
437
|
+
/**
|
|
438
|
+
* query-core
|
|
439
|
+
*
|
|
440
|
+
* Copyright (c) TanStack
|
|
441
|
+
*
|
|
442
|
+
* This source code is licensed under the MIT license found in the
|
|
443
|
+
* LICENSE.md file in the root directory of this source tree.
|
|
444
|
+
*
|
|
445
|
+
* @license MIT
|
|
446
|
+
*/
|
|
447
|
+
class Subscribable {
|
|
448
|
+
constructor() {
|
|
449
|
+
this.listeners = [];
|
|
450
|
+
this.subscribe = this.subscribe.bind(this);
|
|
451
|
+
}
|
|
452
|
+
|
|
453
|
+
subscribe(listener) {
|
|
454
|
+
this.listeners.push(listener);
|
|
455
|
+
this.onSubscribe();
|
|
456
|
+
return () => {
|
|
457
|
+
this.listeners = this.listeners.filter(x => x !== listener);
|
|
458
|
+
this.onUnsubscribe();
|
|
459
|
+
};
|
|
460
|
+
}
|
|
461
|
+
|
|
462
|
+
hasListeners() {
|
|
463
|
+
return this.listeners.length > 0;
|
|
464
|
+
}
|
|
465
|
+
|
|
466
|
+
onSubscribe() {// Do nothing
|
|
467
|
+
}
|
|
468
|
+
|
|
469
|
+
onUnsubscribe() {// Do nothing
|
|
470
|
+
}
|
|
471
|
+
|
|
472
|
+
}
|
|
473
|
+
|
|
474
|
+
// TYPES
|
|
475
|
+
// UTILS
|
|
476
|
+
const isServer = typeof window === 'undefined';
|
|
477
|
+
|
|
478
|
+
class FocusManager extends Subscribable {
|
|
479
|
+
constructor() {
|
|
480
|
+
super();
|
|
481
|
+
|
|
482
|
+
this.setup = onFocus => {
|
|
483
|
+
// addEventListener does not exist in React Native, but window does
|
|
484
|
+
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
|
|
485
|
+
if (!isServer && window.addEventListener) {
|
|
486
|
+
const listener = () => onFocus(); // Listen to visibillitychange and focus
|
|
487
|
+
|
|
488
|
+
|
|
489
|
+
window.addEventListener('visibilitychange', listener, false);
|
|
490
|
+
window.addEventListener('focus', listener, false);
|
|
491
|
+
return () => {
|
|
492
|
+
// Be sure to unsubscribe if a new handler is set
|
|
493
|
+
window.removeEventListener('visibilitychange', listener);
|
|
494
|
+
window.removeEventListener('focus', listener);
|
|
495
|
+
};
|
|
496
|
+
}
|
|
497
|
+
};
|
|
498
|
+
}
|
|
499
|
+
|
|
500
|
+
onSubscribe() {
|
|
501
|
+
if (!this.cleanup) {
|
|
502
|
+
this.setEventListener(this.setup);
|
|
503
|
+
}
|
|
504
|
+
}
|
|
505
|
+
|
|
506
|
+
onUnsubscribe() {
|
|
507
|
+
if (!this.hasListeners()) {
|
|
508
|
+
var _this$cleanup;
|
|
509
|
+
|
|
510
|
+
(_this$cleanup = this.cleanup) == null ? void 0 : _this$cleanup.call(this);
|
|
511
|
+
this.cleanup = undefined;
|
|
512
|
+
}
|
|
513
|
+
}
|
|
514
|
+
|
|
515
|
+
setEventListener(setup) {
|
|
516
|
+
var _this$cleanup2;
|
|
517
|
+
|
|
518
|
+
this.setup = setup;
|
|
519
|
+
(_this$cleanup2 = this.cleanup) == null ? void 0 : _this$cleanup2.call(this);
|
|
520
|
+
this.cleanup = setup(focused => {
|
|
521
|
+
if (typeof focused === 'boolean') {
|
|
522
|
+
this.setFocused(focused);
|
|
523
|
+
} else {
|
|
524
|
+
this.onFocus();
|
|
525
|
+
}
|
|
526
|
+
});
|
|
527
|
+
}
|
|
528
|
+
|
|
529
|
+
setFocused(focused) {
|
|
530
|
+
this.focused = focused;
|
|
531
|
+
|
|
532
|
+
if (focused) {
|
|
533
|
+
this.onFocus();
|
|
534
|
+
}
|
|
535
|
+
}
|
|
536
|
+
|
|
537
|
+
onFocus() {
|
|
538
|
+
this.listeners.forEach(listener => {
|
|
539
|
+
listener();
|
|
540
|
+
});
|
|
541
|
+
}
|
|
542
|
+
|
|
543
|
+
isFocused() {
|
|
544
|
+
if (typeof this.focused === 'boolean') {
|
|
545
|
+
return this.focused;
|
|
546
|
+
} // document global can be unavailable in react native
|
|
547
|
+
|
|
548
|
+
|
|
549
|
+
if (typeof document === 'undefined') {
|
|
550
|
+
return true;
|
|
551
|
+
}
|
|
552
|
+
|
|
553
|
+
return [undefined, 'visible', 'prerender'].includes(document.visibilityState);
|
|
554
|
+
}
|
|
555
|
+
|
|
556
|
+
}
|
|
557
|
+
new FocusManager();
|
|
558
|
+
|
|
559
|
+
class OnlineManager extends Subscribable {
|
|
560
|
+
constructor() {
|
|
561
|
+
super();
|
|
562
|
+
|
|
563
|
+
this.setup = onOnline => {
|
|
564
|
+
// addEventListener does not exist in React Native, but window does
|
|
565
|
+
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
|
|
566
|
+
if (!isServer && window.addEventListener) {
|
|
567
|
+
const listener = () => onOnline(); // Listen to online
|
|
568
|
+
|
|
569
|
+
|
|
570
|
+
window.addEventListener('online', listener, false);
|
|
571
|
+
window.addEventListener('offline', listener, false);
|
|
572
|
+
return () => {
|
|
573
|
+
// Be sure to unsubscribe if a new handler is set
|
|
574
|
+
window.removeEventListener('online', listener);
|
|
575
|
+
window.removeEventListener('offline', listener);
|
|
576
|
+
};
|
|
577
|
+
}
|
|
578
|
+
};
|
|
579
|
+
}
|
|
580
|
+
|
|
581
|
+
onSubscribe() {
|
|
582
|
+
if (!this.cleanup) {
|
|
583
|
+
this.setEventListener(this.setup);
|
|
584
|
+
}
|
|
585
|
+
}
|
|
586
|
+
|
|
587
|
+
onUnsubscribe() {
|
|
588
|
+
if (!this.hasListeners()) {
|
|
589
|
+
var _this$cleanup;
|
|
590
|
+
|
|
591
|
+
(_this$cleanup = this.cleanup) == null ? void 0 : _this$cleanup.call(this);
|
|
592
|
+
this.cleanup = undefined;
|
|
593
|
+
}
|
|
594
|
+
}
|
|
595
|
+
|
|
596
|
+
setEventListener(setup) {
|
|
597
|
+
var _this$cleanup2;
|
|
598
|
+
|
|
599
|
+
this.setup = setup;
|
|
600
|
+
(_this$cleanup2 = this.cleanup) == null ? void 0 : _this$cleanup2.call(this);
|
|
601
|
+
this.cleanup = setup(online => {
|
|
602
|
+
if (typeof online === 'boolean') {
|
|
603
|
+
this.setOnline(online);
|
|
604
|
+
} else {
|
|
605
|
+
this.onOnline();
|
|
606
|
+
}
|
|
607
|
+
});
|
|
608
|
+
}
|
|
609
|
+
|
|
610
|
+
setOnline(online) {
|
|
611
|
+
this.online = online;
|
|
612
|
+
|
|
613
|
+
if (online) {
|
|
614
|
+
this.onOnline();
|
|
615
|
+
}
|
|
616
|
+
}
|
|
617
|
+
|
|
618
|
+
onOnline() {
|
|
619
|
+
this.listeners.forEach(listener => {
|
|
620
|
+
listener();
|
|
621
|
+
});
|
|
622
|
+
}
|
|
623
|
+
|
|
624
|
+
isOnline() {
|
|
625
|
+
if (typeof this.online === 'boolean') {
|
|
626
|
+
return this.online;
|
|
627
|
+
}
|
|
628
|
+
|
|
629
|
+
if (typeof navigator === 'undefined' || typeof navigator.onLine === 'undefined') {
|
|
630
|
+
return true;
|
|
631
|
+
}
|
|
632
|
+
|
|
633
|
+
return navigator.onLine;
|
|
634
|
+
}
|
|
635
|
+
|
|
636
|
+
}
|
|
637
|
+
new OnlineManager();
|
|
638
|
+
|
|
639
|
+
const defaultContext = /*#__PURE__*/React.createContext(undefined);
|
|
640
|
+
const QueryClientSharingContext = /*#__PURE__*/React.createContext(false); // If we are given a context, we will use it.
|
|
641
|
+
// Otherwise, if contextSharing is on, we share the first and at least one
|
|
642
|
+
// instance of the context across the window
|
|
643
|
+
// to ensure that if React Query is used across
|
|
644
|
+
// different bundles or microfrontends they will
|
|
645
|
+
// all use the same **instance** of context, regardless
|
|
646
|
+
// of module scoping.
|
|
647
|
+
|
|
648
|
+
function getQueryClientContext(context, contextSharing) {
|
|
649
|
+
if (context) {
|
|
650
|
+
return context;
|
|
651
|
+
}
|
|
652
|
+
|
|
653
|
+
if (contextSharing && typeof window !== 'undefined') {
|
|
654
|
+
if (!window.ReactQueryClientContext) {
|
|
655
|
+
window.ReactQueryClientContext = defaultContext;
|
|
656
|
+
}
|
|
657
|
+
|
|
658
|
+
return window.ReactQueryClientContext;
|
|
659
|
+
}
|
|
660
|
+
|
|
661
|
+
return defaultContext;
|
|
662
|
+
}
|
|
663
|
+
const QueryClientProvider = ({
|
|
664
|
+
client,
|
|
665
|
+
children,
|
|
666
|
+
context,
|
|
667
|
+
contextSharing = false
|
|
668
|
+
}) => {
|
|
669
|
+
React.useEffect(() => {
|
|
670
|
+
client.mount();
|
|
671
|
+
return () => {
|
|
672
|
+
client.unmount();
|
|
673
|
+
};
|
|
674
|
+
}, [client]);
|
|
675
|
+
const Context = getQueryClientContext(context, contextSharing);
|
|
676
|
+
return /*#__PURE__*/React.createElement(QueryClientSharingContext.Provider, {
|
|
677
|
+
value: !context && contextSharing
|
|
678
|
+
}, /*#__PURE__*/React.createElement(Context.Provider, {
|
|
679
|
+
value: client
|
|
680
|
+
}, children));
|
|
681
|
+
};
|
|
682
|
+
|
|
683
|
+
const IsRestoringContext = /*#__PURE__*/React.createContext(false);
|
|
684
|
+
const IsRestoringProvider = IsRestoringContext.Provider;
|
|
685
|
+
|
|
426
686
|
const PersistQueryClientProvider = ({
|
|
427
687
|
client,
|
|
428
688
|
children,
|