@tanstack/query-core 5.15.4 → 5.17.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.
- package/build/legacy/hydration.d.cts +1 -1
- package/build/legacy/hydration.d.ts +1 -1
- package/build/legacy/index.d.cts +1 -1
- package/build/legacy/index.d.ts +1 -1
- package/build/legacy/infiniteQueryBehavior.d.cts +1 -1
- package/build/legacy/infiniteQueryBehavior.d.ts +1 -1
- package/build/legacy/infiniteQueryObserver.d.cts +1 -1
- package/build/legacy/infiniteQueryObserver.d.ts +1 -1
- package/build/legacy/mutation.d.cts +1 -1
- package/build/legacy/mutation.d.ts +1 -1
- package/build/legacy/mutationCache.d.cts +1 -1
- package/build/legacy/mutationCache.d.ts +1 -1
- package/build/legacy/mutationObserver.d.cts +1 -1
- package/build/legacy/mutationObserver.d.ts +1 -1
- package/build/legacy/notifyManager.cjs +8 -4
- package/build/legacy/notifyManager.cjs.map +1 -1
- package/build/legacy/notifyManager.d.cts +3 -0
- package/build/legacy/notifyManager.d.ts +3 -0
- package/build/legacy/notifyManager.js +8 -4
- package/build/legacy/notifyManager.js.map +1 -1
- package/build/legacy/queriesObserver.cjs +2 -3
- package/build/legacy/queriesObserver.cjs.map +1 -1
- package/build/legacy/queriesObserver.d.cts +1 -1
- package/build/legacy/queriesObserver.d.ts +1 -1
- package/build/legacy/queriesObserver.js +2 -3
- package/build/legacy/queriesObserver.js.map +1 -1
- package/build/legacy/query.d.cts +1 -1
- package/build/legacy/query.d.ts +1 -1
- package/build/legacy/queryCache.d.cts +1 -1
- package/build/legacy/queryCache.d.ts +1 -1
- package/build/legacy/{queryClient-ztzbWIOA.d.cts → queryClient-ZM0hKLC_.d.cts} +1 -6
- package/build/legacy/{queryClient-j9i6YgPc.d.ts → queryClient-mVGWb1w6.d.ts} +1 -6
- package/build/legacy/queryClient.d.cts +1 -1
- package/build/legacy/queryClient.d.ts +1 -1
- package/build/legacy/queryObserver.d.cts +1 -1
- package/build/legacy/queryObserver.d.ts +1 -1
- package/build/legacy/retryer.d.cts +1 -1
- package/build/legacy/retryer.d.ts +1 -1
- package/build/legacy/types.d.cts +1 -1
- package/build/legacy/types.d.ts +1 -1
- package/build/legacy/utils.cjs +0 -5
- package/build/legacy/utils.cjs.map +1 -1
- package/build/legacy/utils.d.cts +1 -1
- package/build/legacy/utils.d.ts +1 -1
- package/build/legacy/utils.js +0 -4
- package/build/legacy/utils.js.map +1 -1
- package/build/modern/hydration.d.cts +1 -1
- package/build/modern/hydration.d.ts +1 -1
- package/build/modern/index.d.cts +1 -1
- package/build/modern/index.d.ts +1 -1
- package/build/modern/infiniteQueryBehavior.d.cts +1 -1
- package/build/modern/infiniteQueryBehavior.d.ts +1 -1
- package/build/modern/infiniteQueryObserver.d.cts +1 -1
- package/build/modern/infiniteQueryObserver.d.ts +1 -1
- package/build/modern/mutation.d.cts +1 -1
- package/build/modern/mutation.d.ts +1 -1
- package/build/modern/mutationCache.d.cts +1 -1
- package/build/modern/mutationCache.d.ts +1 -1
- package/build/modern/mutationObserver.d.cts +1 -1
- package/build/modern/mutationObserver.d.ts +1 -1
- package/build/modern/notifyManager.cjs +8 -4
- package/build/modern/notifyManager.cjs.map +1 -1
- package/build/modern/notifyManager.d.cts +3 -0
- package/build/modern/notifyManager.d.ts +3 -0
- package/build/modern/notifyManager.js +8 -4
- package/build/modern/notifyManager.js.map +1 -1
- package/build/modern/queriesObserver.cjs +2 -3
- package/build/modern/queriesObserver.cjs.map +1 -1
- package/build/modern/queriesObserver.d.cts +1 -1
- package/build/modern/queriesObserver.d.ts +1 -1
- package/build/modern/queriesObserver.js +2 -3
- package/build/modern/queriesObserver.js.map +1 -1
- package/build/modern/query.d.cts +1 -1
- package/build/modern/query.d.ts +1 -1
- package/build/modern/queryCache.d.cts +1 -1
- package/build/modern/queryCache.d.ts +1 -1
- package/build/modern/{queryClient-ztzbWIOA.d.cts → queryClient-ZM0hKLC_.d.cts} +1 -6
- package/build/modern/{queryClient-j9i6YgPc.d.ts → queryClient-mVGWb1w6.d.ts} +1 -6
- package/build/modern/queryClient.d.cts +1 -1
- package/build/modern/queryClient.d.ts +1 -1
- package/build/modern/queryObserver.d.cts +1 -1
- package/build/modern/queryObserver.d.ts +1 -1
- package/build/modern/retryer.d.cts +1 -1
- package/build/modern/retryer.d.ts +1 -1
- package/build/modern/types.d.cts +1 -1
- package/build/modern/types.d.ts +1 -1
- package/build/modern/utils.cjs +0 -5
- package/build/modern/utils.cjs.map +1 -1
- package/build/modern/utils.d.cts +1 -1
- package/build/modern/utils.d.ts +1 -1
- package/build/modern/utils.js +0 -4
- package/build/modern/utils.js.map +1 -1
- package/package.json +1 -1
- package/src/notifyManager.ts +10 -4
- package/src/queriesObserver.ts +7 -3
- package/src/tests/notifyManager.test.tsx +19 -1
- package/src/tests/utils.test.tsx +1 -14
- package/src/utils.ts +0 -8
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { o as Mutation, n as Query, H as QueryOptions, ap as MutationOptions, b as QueryClient, al as MutationKey, p as MutationState, an as MutationMeta, q as QueryKey, l as QueryState, B as QueryMeta } from './queryClient-
|
|
1
|
+
import { o as Mutation, n as Query, H as QueryOptions, ap as MutationOptions, b as QueryClient, al as MutationKey, p as MutationState, an as MutationMeta, q as QueryKey, l as QueryState, B as QueryMeta } from './queryClient-ZM0hKLC_.cjs';
|
|
2
2
|
import './removable.cjs';
|
|
3
3
|
import './subscribable.cjs';
|
|
4
4
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { o as Mutation, n as Query, H as QueryOptions, ap as MutationOptions, b as QueryClient, al as MutationKey, p as MutationState, an as MutationMeta, q as QueryKey, l as QueryState, B as QueryMeta } from './queryClient-
|
|
1
|
+
import { o as Mutation, n as Query, H as QueryOptions, ap as MutationOptions, b as QueryClient, al as MutationKey, p as MutationState, an as MutationMeta, q as QueryKey, l as QueryState, B as QueryMeta } from './queryClient-mVGWb1w6.js';
|
|
2
2
|
import './removable.js';
|
|
3
3
|
import './subscribable.js';
|
|
4
4
|
|
package/build/legacy/index.d.cts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { aB as CancelOptions, C as CancelledError, t as DataTag, D as DefaultError, aA as DefaultOptions, V as DefaultedInfiniteQueryObserverOptions, O as DefaultedQueryObserverOptions, aj as DefinedInfiniteQueryObserverResult, ac as DefinedQueryObserverResult, Y as FetchInfiniteQueryOptions, a3 as FetchNextPageOptions, a4 as FetchPreviousPageOptions, X as FetchQueryOptions, a6 as FetchStatus, z as GetNextPageParamFunction, G as GetPreviousPageParamFunction, A as InfiniteData, ae as InfiniteQueryObserverBaseResult, ag as InfiniteQueryObserverLoadingErrorResult, af as InfiniteQueryObserverLoadingResult, S as InfiniteQueryObserverOptions, ah as InfiniteQueryObserverRefetchErrorResult, ak as InfiniteQueryObserverResult, ai as InfiniteQueryObserverSuccessResult, K as InfiniteQueryPageParamsOptions, I as InitialDataFunction, J as InitialPageParam, a1 as InvalidateOptions, $ as InvalidateQueryFilters, as as MutateFunction, ar as MutateOptions, o as Mutation, M as MutationCache, d as MutationCacheNotifyEvent, f as MutationFilters, ao as MutationFunction, al as MutationKey, an as MutationMeta, e as MutationObserver, at as MutationObserverBaseResult, aw as MutationObserverErrorResult, au as MutationObserverIdleResult, av as MutationObserverLoadingResult, aq as MutationObserverOptions, ay as MutationObserverResult, ax as MutationObserverSuccessResult, ap as MutationOptions, p as MutationState, am as MutationStatus, E as NetworkMode, N as NoInfer, aE as NotifyEvent, aD as NotifyEventType, F as NotifyOnChangeProps, P as PlaceholderDataFunction, x as QueriesPlaceholderDataFunction, n as Query, Q as QueryCache, a as QueryCacheNotifyEvent, b as QueryClient, az as QueryClientConfig, g as QueryFilters, u as QueryFunction, w as QueryFunctionContext, q as QueryKey, y as QueryKeyHashFunction, B as QueryMeta, c as QueryObserver, a7 as QueryObserverBaseResult, a9 as QueryObserverLoadingErrorResult, a8 as QueryObserverLoadingResult, L as QueryObserverOptions, aa as QueryObserverRefetchErrorResult, ad as QueryObserverResult, ab as QueryObserverSuccessResult, H as QueryOptions, v as QueryPersister, l as QueryState, a5 as QueryStatus, _ as RefetchOptions, a0 as RefetchQueryFilters, R as Register, a2 as ResetOptions, Z as ResultOptions, aC as SetDataOptions, T as ThrowOnError, U as Updater, W as WithRequired, s as dataTagSymbol, h as hashKey, j as isCancelledError, i as isServer, k as keepPreviousData, m as matchQuery, r as replaceEqualDeep } from './queryClient-
|
|
1
|
+
export { aB as CancelOptions, C as CancelledError, t as DataTag, D as DefaultError, aA as DefaultOptions, V as DefaultedInfiniteQueryObserverOptions, O as DefaultedQueryObserverOptions, aj as DefinedInfiniteQueryObserverResult, ac as DefinedQueryObserverResult, Y as FetchInfiniteQueryOptions, a3 as FetchNextPageOptions, a4 as FetchPreviousPageOptions, X as FetchQueryOptions, a6 as FetchStatus, z as GetNextPageParamFunction, G as GetPreviousPageParamFunction, A as InfiniteData, ae as InfiniteQueryObserverBaseResult, ag as InfiniteQueryObserverLoadingErrorResult, af as InfiniteQueryObserverLoadingResult, S as InfiniteQueryObserverOptions, ah as InfiniteQueryObserverRefetchErrorResult, ak as InfiniteQueryObserverResult, ai as InfiniteQueryObserverSuccessResult, K as InfiniteQueryPageParamsOptions, I as InitialDataFunction, J as InitialPageParam, a1 as InvalidateOptions, $ as InvalidateQueryFilters, as as MutateFunction, ar as MutateOptions, o as Mutation, M as MutationCache, d as MutationCacheNotifyEvent, f as MutationFilters, ao as MutationFunction, al as MutationKey, an as MutationMeta, e as MutationObserver, at as MutationObserverBaseResult, aw as MutationObserverErrorResult, au as MutationObserverIdleResult, av as MutationObserverLoadingResult, aq as MutationObserverOptions, ay as MutationObserverResult, ax as MutationObserverSuccessResult, ap as MutationOptions, p as MutationState, am as MutationStatus, E as NetworkMode, N as NoInfer, aE as NotifyEvent, aD as NotifyEventType, F as NotifyOnChangeProps, P as PlaceholderDataFunction, x as QueriesPlaceholderDataFunction, n as Query, Q as QueryCache, a as QueryCacheNotifyEvent, b as QueryClient, az as QueryClientConfig, g as QueryFilters, u as QueryFunction, w as QueryFunctionContext, q as QueryKey, y as QueryKeyHashFunction, B as QueryMeta, c as QueryObserver, a7 as QueryObserverBaseResult, a9 as QueryObserverLoadingErrorResult, a8 as QueryObserverLoadingResult, L as QueryObserverOptions, aa as QueryObserverRefetchErrorResult, ad as QueryObserverResult, ab as QueryObserverSuccessResult, H as QueryOptions, v as QueryPersister, l as QueryState, a5 as QueryStatus, _ as RefetchOptions, a0 as RefetchQueryFilters, R as Register, a2 as ResetOptions, Z as ResultOptions, aC as SetDataOptions, T as ThrowOnError, U as Updater, W as WithRequired, s as dataTagSymbol, h as hashKey, j as isCancelledError, i as isServer, k as keepPreviousData, m as matchQuery, r as replaceEqualDeep } from './queryClient-ZM0hKLC_.cjs';
|
|
2
2
|
export { QueriesObserver, QueriesObserverOptions } from './queriesObserver.cjs';
|
|
3
3
|
export { InfiniteQueryObserver } from './infiniteQueryObserver.cjs';
|
|
4
4
|
export { notifyManager } from './notifyManager.cjs';
|
package/build/legacy/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { aB as CancelOptions, C as CancelledError, t as DataTag, D as DefaultError, aA as DefaultOptions, V as DefaultedInfiniteQueryObserverOptions, O as DefaultedQueryObserverOptions, aj as DefinedInfiniteQueryObserverResult, ac as DefinedQueryObserverResult, Y as FetchInfiniteQueryOptions, a3 as FetchNextPageOptions, a4 as FetchPreviousPageOptions, X as FetchQueryOptions, a6 as FetchStatus, z as GetNextPageParamFunction, G as GetPreviousPageParamFunction, A as InfiniteData, ae as InfiniteQueryObserverBaseResult, ag as InfiniteQueryObserverLoadingErrorResult, af as InfiniteQueryObserverLoadingResult, S as InfiniteQueryObserverOptions, ah as InfiniteQueryObserverRefetchErrorResult, ak as InfiniteQueryObserverResult, ai as InfiniteQueryObserverSuccessResult, K as InfiniteQueryPageParamsOptions, I as InitialDataFunction, J as InitialPageParam, a1 as InvalidateOptions, $ as InvalidateQueryFilters, as as MutateFunction, ar as MutateOptions, o as Mutation, M as MutationCache, d as MutationCacheNotifyEvent, f as MutationFilters, ao as MutationFunction, al as MutationKey, an as MutationMeta, e as MutationObserver, at as MutationObserverBaseResult, aw as MutationObserverErrorResult, au as MutationObserverIdleResult, av as MutationObserverLoadingResult, aq as MutationObserverOptions, ay as MutationObserverResult, ax as MutationObserverSuccessResult, ap as MutationOptions, p as MutationState, am as MutationStatus, E as NetworkMode, N as NoInfer, aE as NotifyEvent, aD as NotifyEventType, F as NotifyOnChangeProps, P as PlaceholderDataFunction, x as QueriesPlaceholderDataFunction, n as Query, Q as QueryCache, a as QueryCacheNotifyEvent, b as QueryClient, az as QueryClientConfig, g as QueryFilters, u as QueryFunction, w as QueryFunctionContext, q as QueryKey, y as QueryKeyHashFunction, B as QueryMeta, c as QueryObserver, a7 as QueryObserverBaseResult, a9 as QueryObserverLoadingErrorResult, a8 as QueryObserverLoadingResult, L as QueryObserverOptions, aa as QueryObserverRefetchErrorResult, ad as QueryObserverResult, ab as QueryObserverSuccessResult, H as QueryOptions, v as QueryPersister, l as QueryState, a5 as QueryStatus, _ as RefetchOptions, a0 as RefetchQueryFilters, R as Register, a2 as ResetOptions, Z as ResultOptions, aC as SetDataOptions, T as ThrowOnError, U as Updater, W as WithRequired, s as dataTagSymbol, h as hashKey, j as isCancelledError, i as isServer, k as keepPreviousData, m as matchQuery, r as replaceEqualDeep } from './queryClient-
|
|
1
|
+
export { aB as CancelOptions, C as CancelledError, t as DataTag, D as DefaultError, aA as DefaultOptions, V as DefaultedInfiniteQueryObserverOptions, O as DefaultedQueryObserverOptions, aj as DefinedInfiniteQueryObserverResult, ac as DefinedQueryObserverResult, Y as FetchInfiniteQueryOptions, a3 as FetchNextPageOptions, a4 as FetchPreviousPageOptions, X as FetchQueryOptions, a6 as FetchStatus, z as GetNextPageParamFunction, G as GetPreviousPageParamFunction, A as InfiniteData, ae as InfiniteQueryObserverBaseResult, ag as InfiniteQueryObserverLoadingErrorResult, af as InfiniteQueryObserverLoadingResult, S as InfiniteQueryObserverOptions, ah as InfiniteQueryObserverRefetchErrorResult, ak as InfiniteQueryObserverResult, ai as InfiniteQueryObserverSuccessResult, K as InfiniteQueryPageParamsOptions, I as InitialDataFunction, J as InitialPageParam, a1 as InvalidateOptions, $ as InvalidateQueryFilters, as as MutateFunction, ar as MutateOptions, o as Mutation, M as MutationCache, d as MutationCacheNotifyEvent, f as MutationFilters, ao as MutationFunction, al as MutationKey, an as MutationMeta, e as MutationObserver, at as MutationObserverBaseResult, aw as MutationObserverErrorResult, au as MutationObserverIdleResult, av as MutationObserverLoadingResult, aq as MutationObserverOptions, ay as MutationObserverResult, ax as MutationObserverSuccessResult, ap as MutationOptions, p as MutationState, am as MutationStatus, E as NetworkMode, N as NoInfer, aE as NotifyEvent, aD as NotifyEventType, F as NotifyOnChangeProps, P as PlaceholderDataFunction, x as QueriesPlaceholderDataFunction, n as Query, Q as QueryCache, a as QueryCacheNotifyEvent, b as QueryClient, az as QueryClientConfig, g as QueryFilters, u as QueryFunction, w as QueryFunctionContext, q as QueryKey, y as QueryKeyHashFunction, B as QueryMeta, c as QueryObserver, a7 as QueryObserverBaseResult, a9 as QueryObserverLoadingErrorResult, a8 as QueryObserverLoadingResult, L as QueryObserverOptions, aa as QueryObserverRefetchErrorResult, ad as QueryObserverResult, ab as QueryObserverSuccessResult, H as QueryOptions, v as QueryPersister, l as QueryState, a5 as QueryStatus, _ as RefetchOptions, a0 as RefetchQueryFilters, R as Register, a2 as ResetOptions, Z as ResultOptions, aC as SetDataOptions, T as ThrowOnError, U as Updater, W as WithRequired, s as dataTagSymbol, h as hashKey, j as isCancelledError, i as isServer, k as keepPreviousData, m as matchQuery, r as replaceEqualDeep } from './queryClient-mVGWb1w6.js';
|
|
2
2
|
export { QueriesObserver, QueriesObserverOptions } from './queriesObserver.js';
|
|
3
3
|
export { InfiniteQueryObserver } from './infiniteQueryObserver.js';
|
|
4
4
|
export { notifyManager } from './notifyManager.js';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { aF as QueryBehavior, A as InfiniteData, K as InfiniteQueryPageParamsOptions } from './queryClient-
|
|
1
|
+
import { aF as QueryBehavior, A as InfiniteData, K as InfiniteQueryPageParamsOptions } from './queryClient-ZM0hKLC_.cjs';
|
|
2
2
|
import './removable.cjs';
|
|
3
3
|
import './subscribable.cjs';
|
|
4
4
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { aF as QueryBehavior, A as InfiniteData, K as InfiniteQueryPageParamsOptions } from './queryClient-
|
|
1
|
+
import { aF as QueryBehavior, A as InfiniteData, K as InfiniteQueryPageParamsOptions } from './queryClient-mVGWb1w6.js';
|
|
2
2
|
import './removable.js';
|
|
3
3
|
import './subscribable.js';
|
|
4
4
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { D as DefaultError, A as InfiniteData, q as QueryKey, c as QueryObserver, ak as InfiniteQueryObserverResult, aG as ObserverFetchOptions, b as QueryClient, S as InfiniteQueryObserverOptions, aH as NotifyOptions, V as DefaultedInfiniteQueryObserverOptions, a3 as FetchNextPageOptions, a4 as FetchPreviousPageOptions, n as Query } from './queryClient-
|
|
1
|
+
import { D as DefaultError, A as InfiniteData, q as QueryKey, c as QueryObserver, ak as InfiniteQueryObserverResult, aG as ObserverFetchOptions, b as QueryClient, S as InfiniteQueryObserverOptions, aH as NotifyOptions, V as DefaultedInfiniteQueryObserverOptions, a3 as FetchNextPageOptions, a4 as FetchPreviousPageOptions, n as Query } from './queryClient-ZM0hKLC_.cjs';
|
|
2
2
|
import './removable.cjs';
|
|
3
3
|
import './subscribable.cjs';
|
|
4
4
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { D as DefaultError, A as InfiniteData, q as QueryKey, c as QueryObserver, ak as InfiniteQueryObserverResult, aG as ObserverFetchOptions, b as QueryClient, S as InfiniteQueryObserverOptions, aH as NotifyOptions, V as DefaultedInfiniteQueryObserverOptions, a3 as FetchNextPageOptions, a4 as FetchPreviousPageOptions, n as Query } from './queryClient-
|
|
1
|
+
import { D as DefaultError, A as InfiniteData, q as QueryKey, c as QueryObserver, ak as InfiniteQueryObserverResult, aG as ObserverFetchOptions, b as QueryClient, S as InfiniteQueryObserverOptions, aH as NotifyOptions, V as DefaultedInfiniteQueryObserverOptions, a3 as FetchNextPageOptions, a4 as FetchPreviousPageOptions, n as Query } from './queryClient-mVGWb1w6.js';
|
|
2
2
|
import './removable.js';
|
|
3
3
|
import './subscribable.js';
|
|
4
4
|
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import './removable.cjs';
|
|
2
|
-
export {
|
|
2
|
+
export { aX as Action, o as Mutation, p as MutationState, aY as getDefaultState } from './queryClient-ZM0hKLC_.cjs';
|
|
3
3
|
import './subscribable.cjs';
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import './removable.js';
|
|
2
|
-
export {
|
|
2
|
+
export { aX as Action, o as Mutation, p as MutationState, aY as getDefaultState } from './queryClient-mVGWb1w6.js';
|
|
3
3
|
import './subscribable.js';
|
|
@@ -24,7 +24,6 @@ __export(notifyManager_exports, {
|
|
|
24
24
|
notifyManager: () => notifyManager
|
|
25
25
|
});
|
|
26
26
|
module.exports = __toCommonJS(notifyManager_exports);
|
|
27
|
-
var import_utils = require("./utils.cjs");
|
|
28
27
|
function createNotifyManager() {
|
|
29
28
|
let queue = [];
|
|
30
29
|
let transactions = 0;
|
|
@@ -34,6 +33,10 @@ function createNotifyManager() {
|
|
|
34
33
|
let batchNotifyFn = (callback) => {
|
|
35
34
|
callback();
|
|
36
35
|
};
|
|
36
|
+
let scheduleFn = (cb) => setTimeout(cb, 0);
|
|
37
|
+
const setScheduler = (fn) => {
|
|
38
|
+
scheduleFn = fn;
|
|
39
|
+
};
|
|
37
40
|
const batch = (callback) => {
|
|
38
41
|
let result;
|
|
39
42
|
transactions++;
|
|
@@ -51,7 +54,7 @@ function createNotifyManager() {
|
|
|
51
54
|
if (transactions) {
|
|
52
55
|
queue.push(callback);
|
|
53
56
|
} else {
|
|
54
|
-
(
|
|
57
|
+
scheduleFn(() => {
|
|
55
58
|
notifyFn(callback);
|
|
56
59
|
});
|
|
57
60
|
}
|
|
@@ -67,7 +70,7 @@ function createNotifyManager() {
|
|
|
67
70
|
const originalQueue = queue;
|
|
68
71
|
queue = [];
|
|
69
72
|
if (originalQueue.length) {
|
|
70
|
-
(
|
|
73
|
+
scheduleFn(() => {
|
|
71
74
|
batchNotifyFn(() => {
|
|
72
75
|
originalQueue.forEach((callback) => {
|
|
73
76
|
notifyFn(callback);
|
|
@@ -87,7 +90,8 @@ function createNotifyManager() {
|
|
|
87
90
|
batchCalls,
|
|
88
91
|
schedule,
|
|
89
92
|
setNotifyFunction,
|
|
90
|
-
setBatchNotifyFunction
|
|
93
|
+
setBatchNotifyFunction,
|
|
94
|
+
setScheduler
|
|
91
95
|
};
|
|
92
96
|
}
|
|
93
97
|
var notifyManager = createNotifyManager();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/notifyManager.ts"],"sourcesContent":["
|
|
1
|
+
{"version":3,"sources":["../../src/notifyManager.ts"],"sourcesContent":["// TYPES\n\ntype NotifyCallback = () => void\n\ntype NotifyFunction = (callback: () => void) => void\n\ntype BatchNotifyFunction = (callback: () => void) => void\n\ntype BatchCallsCallback<T extends Array<unknown>> = (...args: T) => void\n\ntype ScheduleFunction = (callback: () => void) => void\n\nexport function createNotifyManager() {\n let queue: Array<NotifyCallback> = []\n let transactions = 0\n let notifyFn: NotifyFunction = (callback) => {\n callback()\n }\n let batchNotifyFn: BatchNotifyFunction = (callback: () => void) => {\n callback()\n }\n let scheduleFn: ScheduleFunction = (cb) => setTimeout(cb, 0)\n\n const setScheduler = (fn: ScheduleFunction) => {\n scheduleFn = fn\n }\n\n const batch = <T>(callback: () => T): T => {\n let result\n transactions++\n try {\n result = callback()\n } finally {\n transactions--\n if (!transactions) {\n flush()\n }\n }\n return result\n }\n\n const schedule = (callback: NotifyCallback): void => {\n if (transactions) {\n queue.push(callback)\n } else {\n scheduleFn(() => {\n notifyFn(callback)\n })\n }\n }\n\n /**\n * All calls to the wrapped function will be batched.\n */\n const batchCalls = <T extends Array<unknown>>(\n callback: BatchCallsCallback<T>,\n ): BatchCallsCallback<T> => {\n return (...args) => {\n schedule(() => {\n callback(...args)\n })\n }\n }\n\n const flush = (): void => {\n const originalQueue = queue\n queue = []\n if (originalQueue.length) {\n scheduleFn(() => {\n batchNotifyFn(() => {\n originalQueue.forEach((callback) => {\n notifyFn(callback)\n })\n })\n })\n }\n }\n\n /**\n * Use this method to set a custom notify function.\n * This can be used to for example wrap notifications with `React.act` while running tests.\n */\n const setNotifyFunction = (fn: NotifyFunction) => {\n notifyFn = fn\n }\n\n /**\n * Use this method to set a custom function to batch notifications together into a single tick.\n * By default React Query will use the batch function provided by ReactDOM or React Native.\n */\n const setBatchNotifyFunction = (fn: BatchNotifyFunction) => {\n batchNotifyFn = fn\n }\n\n return {\n batch,\n batchCalls,\n schedule,\n setNotifyFunction,\n setBatchNotifyFunction,\n setScheduler,\n } as const\n}\n\n// SINGLETON\nexport const notifyManager = createNotifyManager()\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAYO,SAAS,sBAAsB;AACpC,MAAI,QAA+B,CAAC;AACpC,MAAI,eAAe;AACnB,MAAI,WAA2B,CAAC,aAAa;AAC3C,aAAS;AAAA,EACX;AACA,MAAI,gBAAqC,CAAC,aAAyB;AACjE,aAAS;AAAA,EACX;AACA,MAAI,aAA+B,CAAC,OAAO,WAAW,IAAI,CAAC;AAE3D,QAAM,eAAe,CAAC,OAAyB;AAC7C,iBAAa;AAAA,EACf;AAEA,QAAM,QAAQ,CAAI,aAAyB;AACzC,QAAI;AACJ;AACA,QAAI;AACF,eAAS,SAAS;AAAA,IACpB,UAAE;AACA;AACA,UAAI,CAAC,cAAc;AACjB,cAAM;AAAA,MACR;AAAA,IACF;AACA,WAAO;AAAA,EACT;AAEA,QAAM,WAAW,CAAC,aAAmC;AACnD,QAAI,cAAc;AAChB,YAAM,KAAK,QAAQ;AAAA,IACrB,OAAO;AACL,iBAAW,MAAM;AACf,iBAAS,QAAQ;AAAA,MACnB,CAAC;AAAA,IACH;AAAA,EACF;AAKA,QAAM,aAAa,CACjB,aAC0B;AAC1B,WAAO,IAAI,SAAS;AAClB,eAAS,MAAM;AACb,iBAAS,GAAG,IAAI;AAAA,MAClB,CAAC;AAAA,IACH;AAAA,EACF;AAEA,QAAM,QAAQ,MAAY;AACxB,UAAM,gBAAgB;AACtB,YAAQ,CAAC;AACT,QAAI,cAAc,QAAQ;AACxB,iBAAW,MAAM;AACf,sBAAc,MAAM;AAClB,wBAAc,QAAQ,CAAC,aAAa;AAClC,qBAAS,QAAQ;AAAA,UACnB,CAAC;AAAA,QACH,CAAC;AAAA,MACH,CAAC;AAAA,IACH;AAAA,EACF;AAMA,QAAM,oBAAoB,CAAC,OAAuB;AAChD,eAAW;AAAA,EACb;AAMA,QAAM,yBAAyB,CAAC,OAA4B;AAC1D,oBAAgB;AAAA,EAClB;AAEA,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;AAGO,IAAM,gBAAgB,oBAAoB;","names":[]}
|
|
@@ -2,12 +2,14 @@ type NotifyCallback = () => void;
|
|
|
2
2
|
type NotifyFunction = (callback: () => void) => void;
|
|
3
3
|
type BatchNotifyFunction = (callback: () => void) => void;
|
|
4
4
|
type BatchCallsCallback<T extends Array<unknown>> = (...args: T) => void;
|
|
5
|
+
type ScheduleFunction = (callback: () => void) => void;
|
|
5
6
|
declare function createNotifyManager(): {
|
|
6
7
|
readonly batch: <T>(callback: () => T) => T;
|
|
7
8
|
readonly batchCalls: <T_1 extends unknown[]>(callback: BatchCallsCallback<T_1>) => BatchCallsCallback<T_1>;
|
|
8
9
|
readonly schedule: (callback: NotifyCallback) => void;
|
|
9
10
|
readonly setNotifyFunction: (fn: NotifyFunction) => void;
|
|
10
11
|
readonly setBatchNotifyFunction: (fn: BatchNotifyFunction) => void;
|
|
12
|
+
readonly setScheduler: (fn: ScheduleFunction) => void;
|
|
11
13
|
};
|
|
12
14
|
declare const notifyManager: {
|
|
13
15
|
readonly batch: <T>(callback: () => T) => T;
|
|
@@ -15,6 +17,7 @@ declare const notifyManager: {
|
|
|
15
17
|
readonly schedule: (callback: NotifyCallback) => void;
|
|
16
18
|
readonly setNotifyFunction: (fn: NotifyFunction) => void;
|
|
17
19
|
readonly setBatchNotifyFunction: (fn: BatchNotifyFunction) => void;
|
|
20
|
+
readonly setScheduler: (fn: ScheduleFunction) => void;
|
|
18
21
|
};
|
|
19
22
|
|
|
20
23
|
export { createNotifyManager, notifyManager };
|
|
@@ -2,12 +2,14 @@ type NotifyCallback = () => void;
|
|
|
2
2
|
type NotifyFunction = (callback: () => void) => void;
|
|
3
3
|
type BatchNotifyFunction = (callback: () => void) => void;
|
|
4
4
|
type BatchCallsCallback<T extends Array<unknown>> = (...args: T) => void;
|
|
5
|
+
type ScheduleFunction = (callback: () => void) => void;
|
|
5
6
|
declare function createNotifyManager(): {
|
|
6
7
|
readonly batch: <T>(callback: () => T) => T;
|
|
7
8
|
readonly batchCalls: <T_1 extends unknown[]>(callback: BatchCallsCallback<T_1>) => BatchCallsCallback<T_1>;
|
|
8
9
|
readonly schedule: (callback: NotifyCallback) => void;
|
|
9
10
|
readonly setNotifyFunction: (fn: NotifyFunction) => void;
|
|
10
11
|
readonly setBatchNotifyFunction: (fn: BatchNotifyFunction) => void;
|
|
12
|
+
readonly setScheduler: (fn: ScheduleFunction) => void;
|
|
11
13
|
};
|
|
12
14
|
declare const notifyManager: {
|
|
13
15
|
readonly batch: <T>(callback: () => T) => T;
|
|
@@ -15,6 +17,7 @@ declare const notifyManager: {
|
|
|
15
17
|
readonly schedule: (callback: NotifyCallback) => void;
|
|
16
18
|
readonly setNotifyFunction: (fn: NotifyFunction) => void;
|
|
17
19
|
readonly setBatchNotifyFunction: (fn: BatchNotifyFunction) => void;
|
|
20
|
+
readonly setScheduler: (fn: ScheduleFunction) => void;
|
|
18
21
|
};
|
|
19
22
|
|
|
20
23
|
export { createNotifyManager, notifyManager };
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import "./chunk-2HYBKCYP.js";
|
|
2
2
|
|
|
3
3
|
// src/notifyManager.ts
|
|
4
|
-
import { scheduleMicrotask } from "./utils.js";
|
|
5
4
|
function createNotifyManager() {
|
|
6
5
|
let queue = [];
|
|
7
6
|
let transactions = 0;
|
|
@@ -11,6 +10,10 @@ function createNotifyManager() {
|
|
|
11
10
|
let batchNotifyFn = (callback) => {
|
|
12
11
|
callback();
|
|
13
12
|
};
|
|
13
|
+
let scheduleFn = (cb) => setTimeout(cb, 0);
|
|
14
|
+
const setScheduler = (fn) => {
|
|
15
|
+
scheduleFn = fn;
|
|
16
|
+
};
|
|
14
17
|
const batch = (callback) => {
|
|
15
18
|
let result;
|
|
16
19
|
transactions++;
|
|
@@ -28,7 +31,7 @@ function createNotifyManager() {
|
|
|
28
31
|
if (transactions) {
|
|
29
32
|
queue.push(callback);
|
|
30
33
|
} else {
|
|
31
|
-
|
|
34
|
+
scheduleFn(() => {
|
|
32
35
|
notifyFn(callback);
|
|
33
36
|
});
|
|
34
37
|
}
|
|
@@ -44,7 +47,7 @@ function createNotifyManager() {
|
|
|
44
47
|
const originalQueue = queue;
|
|
45
48
|
queue = [];
|
|
46
49
|
if (originalQueue.length) {
|
|
47
|
-
|
|
50
|
+
scheduleFn(() => {
|
|
48
51
|
batchNotifyFn(() => {
|
|
49
52
|
originalQueue.forEach((callback) => {
|
|
50
53
|
notifyFn(callback);
|
|
@@ -64,7 +67,8 @@ function createNotifyManager() {
|
|
|
64
67
|
batchCalls,
|
|
65
68
|
schedule,
|
|
66
69
|
setNotifyFunction,
|
|
67
|
-
setBatchNotifyFunction
|
|
70
|
+
setBatchNotifyFunction,
|
|
71
|
+
setScheduler
|
|
68
72
|
};
|
|
69
73
|
}
|
|
70
74
|
var notifyManager = createNotifyManager();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/notifyManager.ts"],"sourcesContent":["
|
|
1
|
+
{"version":3,"sources":["../../src/notifyManager.ts"],"sourcesContent":["// TYPES\n\ntype NotifyCallback = () => void\n\ntype NotifyFunction = (callback: () => void) => void\n\ntype BatchNotifyFunction = (callback: () => void) => void\n\ntype BatchCallsCallback<T extends Array<unknown>> = (...args: T) => void\n\ntype ScheduleFunction = (callback: () => void) => void\n\nexport function createNotifyManager() {\n let queue: Array<NotifyCallback> = []\n let transactions = 0\n let notifyFn: NotifyFunction = (callback) => {\n callback()\n }\n let batchNotifyFn: BatchNotifyFunction = (callback: () => void) => {\n callback()\n }\n let scheduleFn: ScheduleFunction = (cb) => setTimeout(cb, 0)\n\n const setScheduler = (fn: ScheduleFunction) => {\n scheduleFn = fn\n }\n\n const batch = <T>(callback: () => T): T => {\n let result\n transactions++\n try {\n result = callback()\n } finally {\n transactions--\n if (!transactions) {\n flush()\n }\n }\n return result\n }\n\n const schedule = (callback: NotifyCallback): void => {\n if (transactions) {\n queue.push(callback)\n } else {\n scheduleFn(() => {\n notifyFn(callback)\n })\n }\n }\n\n /**\n * All calls to the wrapped function will be batched.\n */\n const batchCalls = <T extends Array<unknown>>(\n callback: BatchCallsCallback<T>,\n ): BatchCallsCallback<T> => {\n return (...args) => {\n schedule(() => {\n callback(...args)\n })\n }\n }\n\n const flush = (): void => {\n const originalQueue = queue\n queue = []\n if (originalQueue.length) {\n scheduleFn(() => {\n batchNotifyFn(() => {\n originalQueue.forEach((callback) => {\n notifyFn(callback)\n })\n })\n })\n }\n }\n\n /**\n * Use this method to set a custom notify function.\n * This can be used to for example wrap notifications with `React.act` while running tests.\n */\n const setNotifyFunction = (fn: NotifyFunction) => {\n notifyFn = fn\n }\n\n /**\n * Use this method to set a custom function to batch notifications together into a single tick.\n * By default React Query will use the batch function provided by ReactDOM or React Native.\n */\n const setBatchNotifyFunction = (fn: BatchNotifyFunction) => {\n batchNotifyFn = fn\n }\n\n return {\n batch,\n batchCalls,\n schedule,\n setNotifyFunction,\n setBatchNotifyFunction,\n setScheduler,\n } as const\n}\n\n// SINGLETON\nexport const notifyManager = createNotifyManager()\n"],"mappings":";;;AAYO,SAAS,sBAAsB;AACpC,MAAI,QAA+B,CAAC;AACpC,MAAI,eAAe;AACnB,MAAI,WAA2B,CAAC,aAAa;AAC3C,aAAS;AAAA,EACX;AACA,MAAI,gBAAqC,CAAC,aAAyB;AACjE,aAAS;AAAA,EACX;AACA,MAAI,aAA+B,CAAC,OAAO,WAAW,IAAI,CAAC;AAE3D,QAAM,eAAe,CAAC,OAAyB;AAC7C,iBAAa;AAAA,EACf;AAEA,QAAM,QAAQ,CAAI,aAAyB;AACzC,QAAI;AACJ;AACA,QAAI;AACF,eAAS,SAAS;AAAA,IACpB,UAAE;AACA;AACA,UAAI,CAAC,cAAc;AACjB,cAAM;AAAA,MACR;AAAA,IACF;AACA,WAAO;AAAA,EACT;AAEA,QAAM,WAAW,CAAC,aAAmC;AACnD,QAAI,cAAc;AAChB,YAAM,KAAK,QAAQ;AAAA,IACrB,OAAO;AACL,iBAAW,MAAM;AACf,iBAAS,QAAQ;AAAA,MACnB,CAAC;AAAA,IACH;AAAA,EACF;AAKA,QAAM,aAAa,CACjB,aAC0B;AAC1B,WAAO,IAAI,SAAS;AAClB,eAAS,MAAM;AACb,iBAAS,GAAG,IAAI;AAAA,MAClB,CAAC;AAAA,IACH;AAAA,EACF;AAEA,QAAM,QAAQ,MAAY;AACxB,UAAM,gBAAgB;AACtB,YAAQ,CAAC;AACT,QAAI,cAAc,QAAQ;AACxB,iBAAW,MAAM;AACf,sBAAc,MAAM;AAClB,wBAAc,QAAQ,CAAC,aAAa;AAClC,qBAAS,QAAQ;AAAA,UACnB,CAAC;AAAA,QACH,CAAC;AAAA,MACH,CAAC;AAAA,IACH;AAAA,EACF;AAMA,QAAM,oBAAoB,CAAC,OAAuB;AAChD,eAAW;AAAA,EACb;AAMA,QAAM,yBAAyB,CAAC,OAA4B;AAC1D,oBAAgB;AAAA,EAClB;AAEA,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;AAGO,IAAM,gBAAgB,oBAAoB;","names":[]}
|
|
@@ -73,8 +73,7 @@ var QueriesObserver = class extends import_subscribable.Subscribable {
|
|
|
73
73
|
__privateAdd(this, _options, void 0);
|
|
74
74
|
__privateAdd(this, _combinedResult, void 0);
|
|
75
75
|
__privateSet(this, _client, client);
|
|
76
|
-
__privateSet(this, _queries,
|
|
77
|
-
__privateSet(this, _options, options);
|
|
76
|
+
__privateSet(this, _queries, []);
|
|
78
77
|
__privateSet(this, _observers, []);
|
|
79
78
|
__privateMethod(this, _setResult, setResult_fn).call(this, []);
|
|
80
79
|
this.setQueries(queries, options);
|
|
@@ -115,7 +114,7 @@ var QueriesObserver = class extends import_subscribable.Subscribable {
|
|
|
115
114
|
const hasIndexChange = newObservers.some(
|
|
116
115
|
(observer, index) => observer !== prevObservers[index]
|
|
117
116
|
);
|
|
118
|
-
if (prevObservers.length === newObservers.length && !hasIndexChange) {
|
|
117
|
+
if (prevObservers.length === newObservers.length && !hasIndexChange && newObservers.length > 0) {
|
|
119
118
|
return;
|
|
120
119
|
}
|
|
121
120
|
__privateSet(this, _observers, newObservers);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/queriesObserver.ts"],"sourcesContent":["import { notifyManager } from './notifyManager'\nimport { QueryObserver } from './queryObserver'\nimport { Subscribable } from './subscribable'\nimport { replaceEqualDeep } from './utils'\nimport type {\n DefaultedQueryObserverOptions,\n QueryObserverOptions,\n QueryObserverResult,\n} from './types'\nimport type { QueryClient } from './queryClient'\nimport type { NotifyOptions } from './queryObserver'\n\nfunction difference<T>(array1: Array<T>, array2: Array<T>): Array<T> {\n return array1.filter((x) => !array2.includes(x))\n}\n\nfunction replaceAt<T>(array: Array<T>, index: number, value: T): Array<T> {\n const copy = array.slice(0)\n copy[index] = value\n return copy\n}\n\ntype QueriesObserverListener = (result: Array<QueryObserverResult>) => void\n\nexport interface QueriesObserverOptions<\n TCombinedResult = Array<QueryObserverResult>,\n> {\n combine?: (result: Array<QueryObserverResult>) => TCombinedResult\n}\n\nexport class QueriesObserver<\n TCombinedResult = Array<QueryObserverResult>,\n> extends Subscribable<QueriesObserverListener> {\n #client: QueryClient\n #result!: Array<QueryObserverResult>\n #queries: Array<QueryObserverOptions>\n #observers: Array<QueryObserver>\n #options?: QueriesObserverOptions<TCombinedResult>\n #combinedResult!: TCombinedResult\n\n constructor(\n client: QueryClient,\n queries: Array<QueryObserverOptions>,\n options?: QueriesObserverOptions<TCombinedResult>,\n ) {\n super()\n\n this.#client = client\n this.#queries = queries\n this.#options = options\n this.#observers = []\n\n this.#setResult([])\n this.setQueries(queries, options)\n }\n\n #setResult(value: Array<QueryObserverResult>) {\n this.#result = value\n this.#combinedResult = this.#combineResult(value)\n }\n\n protected onSubscribe(): void {\n if (this.listeners.size === 1) {\n this.#observers.forEach((observer) => {\n observer.subscribe((result) => {\n this.#onUpdate(observer, result)\n })\n })\n }\n }\n\n protected onUnsubscribe(): void {\n if (!this.listeners.size) {\n this.destroy()\n }\n }\n\n destroy(): void {\n this.listeners = new Set()\n this.#observers.forEach((observer) => {\n observer.destroy()\n })\n }\n\n setQueries(\n queries: Array<QueryObserverOptions>,\n options?: QueriesObserverOptions<TCombinedResult>,\n notifyOptions?: NotifyOptions,\n ): void {\n this.#queries = queries\n this.#options = options\n\n notifyManager.batch(() => {\n const prevObservers = this.#observers\n\n const newObserverMatches = this.#findMatchingObservers(this.#queries)\n\n // set options for the new observers to notify of changes\n newObserverMatches.forEach((match) =>\n match.observer.setOptions(match.defaultedQueryOptions, notifyOptions),\n )\n\n const newObservers = newObserverMatches.map((match) => match.observer)\n const newResult = newObservers.map((observer) =>\n observer.getCurrentResult(),\n )\n\n const hasIndexChange = newObservers.some(\n (observer, index) => observer !== prevObservers[index],\n )\n if (prevObservers.length === newObservers.length && !hasIndexChange) {\n return\n }\n\n this.#observers = newObservers\n this.#setResult(newResult)\n\n if (!this.hasListeners()) {\n return\n }\n\n difference(prevObservers, newObservers).forEach((observer) => {\n observer.destroy()\n })\n\n difference(newObservers, prevObservers).forEach((observer) => {\n observer.subscribe((result) => {\n this.#onUpdate(observer, result)\n })\n })\n\n this.#notify()\n })\n }\n\n getCurrentResult(): TCombinedResult {\n return this.#combinedResult\n }\n\n getQueries() {\n return this.#observers.map((observer) => observer.getCurrentQuery())\n }\n\n getObservers() {\n return this.#observers\n }\n\n getOptimisticResult(\n queries: Array<QueryObserverOptions>,\n ): [\n rawResult: Array<QueryObserverResult>,\n combineResult: (r?: Array<QueryObserverResult>) => TCombinedResult,\n trackResult: () => Array<QueryObserverResult>,\n ] {\n const matches = this.#findMatchingObservers(queries)\n const result = matches.map((match) =>\n match.observer.getOptimisticResult(match.defaultedQueryOptions),\n )\n\n return [\n result,\n (r?: Array<QueryObserverResult>) => {\n return this.#combineResult(r ?? result)\n },\n () => {\n return matches.map((match, index) => {\n const observerResult = result[index]!\n return !match.defaultedQueryOptions.notifyOnChangeProps\n ? match.observer.trackResult(observerResult)\n : observerResult\n })\n },\n ]\n }\n\n #combineResult(input: Array<QueryObserverResult>): TCombinedResult {\n const combine = this.#options?.combine\n if (combine) {\n return replaceEqualDeep(this.#combinedResult, combine(input))\n }\n return input as any\n }\n\n #findMatchingObservers(\n queries: Array<QueryObserverOptions>,\n ): Array<QueryObserverMatch> {\n const prevObservers = this.#observers\n const prevObserversMap = new Map(\n prevObservers.map((observer) => [observer.options.queryHash, observer]),\n )\n\n const defaultedQueryOptions = queries.map((options) =>\n this.#client.defaultQueryOptions(options),\n )\n\n const matchingObservers: Array<QueryObserverMatch> =\n defaultedQueryOptions.flatMap((defaultedOptions) => {\n const match = prevObserversMap.get(defaultedOptions.queryHash)\n if (match != null) {\n return [{ defaultedQueryOptions: defaultedOptions, observer: match }]\n }\n return []\n })\n\n const matchedQueryHashes = new Set(\n matchingObservers.map((match) => match.defaultedQueryOptions.queryHash),\n )\n const unmatchedQueries = defaultedQueryOptions.filter(\n (defaultedOptions) => !matchedQueryHashes.has(defaultedOptions.queryHash),\n )\n\n const getObserver = (options: QueryObserverOptions): QueryObserver => {\n const defaultedOptions = this.#client.defaultQueryOptions(options)\n const currentObserver = this.#observers.find(\n (o) => o.options.queryHash === defaultedOptions.queryHash,\n )\n return (\n currentObserver ?? new QueryObserver(this.#client, defaultedOptions)\n )\n }\n\n const newOrReusedObservers: Array<QueryObserverMatch> =\n unmatchedQueries.map((options) => {\n return {\n defaultedQueryOptions: options,\n observer: getObserver(options),\n }\n })\n\n const sortMatchesByOrderOfQueries = (\n a: QueryObserverMatch,\n b: QueryObserverMatch,\n ): number =>\n defaultedQueryOptions.indexOf(a.defaultedQueryOptions) -\n defaultedQueryOptions.indexOf(b.defaultedQueryOptions)\n\n return matchingObservers\n .concat(newOrReusedObservers)\n .sort(sortMatchesByOrderOfQueries)\n }\n\n #onUpdate(observer: QueryObserver, result: QueryObserverResult): void {\n const index = this.#observers.indexOf(observer)\n if (index !== -1) {\n this.#setResult(replaceAt(this.#result, index, result))\n this.#notify()\n }\n }\n\n #notify(): void {\n notifyManager.batch(() => {\n this.listeners.forEach((listener) => {\n listener(this.#result)\n })\n })\n }\n}\n\ntype QueryObserverMatch = {\n defaultedQueryOptions: DefaultedQueryObserverOptions\n observer: QueryObserver\n}\n"],"mappings":"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","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../src/queriesObserver.ts"],"sourcesContent":["import { notifyManager } from './notifyManager'\nimport { QueryObserver } from './queryObserver'\nimport { Subscribable } from './subscribable'\nimport { replaceEqualDeep } from './utils'\nimport type {\n DefaultedQueryObserverOptions,\n QueryObserverOptions,\n QueryObserverResult,\n} from './types'\nimport type { QueryClient } from './queryClient'\nimport type { NotifyOptions } from './queryObserver'\n\nfunction difference<T>(array1: Array<T>, array2: Array<T>): Array<T> {\n return array1.filter((x) => !array2.includes(x))\n}\n\nfunction replaceAt<T>(array: Array<T>, index: number, value: T): Array<T> {\n const copy = array.slice(0)\n copy[index] = value\n return copy\n}\n\ntype QueriesObserverListener = (result: Array<QueryObserverResult>) => void\n\nexport interface QueriesObserverOptions<\n TCombinedResult = Array<QueryObserverResult>,\n> {\n combine?: (result: Array<QueryObserverResult>) => TCombinedResult\n}\n\nexport class QueriesObserver<\n TCombinedResult = Array<QueryObserverResult>,\n> extends Subscribable<QueriesObserverListener> {\n #client: QueryClient\n #result!: Array<QueryObserverResult>\n #queries: Array<QueryObserverOptions>\n #observers: Array<QueryObserver>\n #options?: QueriesObserverOptions<TCombinedResult>\n #combinedResult!: TCombinedResult\n\n constructor(\n client: QueryClient,\n queries: Array<QueryObserverOptions>,\n options?: QueriesObserverOptions<TCombinedResult>,\n ) {\n super()\n\n this.#client = client\n this.#queries = []\n this.#observers = []\n\n this.#setResult([])\n this.setQueries(queries, options)\n }\n\n #setResult(value: Array<QueryObserverResult>) {\n this.#result = value\n this.#combinedResult = this.#combineResult(value)\n }\n\n protected onSubscribe(): void {\n if (this.listeners.size === 1) {\n this.#observers.forEach((observer) => {\n observer.subscribe((result) => {\n this.#onUpdate(observer, result)\n })\n })\n }\n }\n\n protected onUnsubscribe(): void {\n if (!this.listeners.size) {\n this.destroy()\n }\n }\n\n destroy(): void {\n this.listeners = new Set()\n this.#observers.forEach((observer) => {\n observer.destroy()\n })\n }\n\n setQueries(\n queries: Array<QueryObserverOptions>,\n options?: QueriesObserverOptions<TCombinedResult>,\n notifyOptions?: NotifyOptions,\n ): void {\n this.#queries = queries\n this.#options = options\n\n notifyManager.batch(() => {\n const prevObservers = this.#observers\n\n const newObserverMatches = this.#findMatchingObservers(this.#queries)\n\n // set options for the new observers to notify of changes\n newObserverMatches.forEach((match) =>\n match.observer.setOptions(match.defaultedQueryOptions, notifyOptions),\n )\n\n const newObservers = newObserverMatches.map((match) => match.observer)\n const newResult = newObservers.map((observer) =>\n observer.getCurrentResult(),\n )\n\n const hasIndexChange = newObservers.some(\n (observer, index) => observer !== prevObservers[index],\n )\n\n if (\n prevObservers.length === newObservers.length &&\n !hasIndexChange &&\n newObservers.length > 0\n ) {\n return\n }\n\n this.#observers = newObservers\n this.#setResult(newResult)\n\n if (!this.hasListeners()) {\n return\n }\n\n difference(prevObservers, newObservers).forEach((observer) => {\n observer.destroy()\n })\n\n difference(newObservers, prevObservers).forEach((observer) => {\n observer.subscribe((result) => {\n this.#onUpdate(observer, result)\n })\n })\n\n this.#notify()\n })\n }\n\n getCurrentResult(): TCombinedResult {\n return this.#combinedResult\n }\n\n getQueries() {\n return this.#observers.map((observer) => observer.getCurrentQuery())\n }\n\n getObservers() {\n return this.#observers\n }\n\n getOptimisticResult(\n queries: Array<QueryObserverOptions>,\n ): [\n rawResult: Array<QueryObserverResult>,\n combineResult: (r?: Array<QueryObserverResult>) => TCombinedResult,\n trackResult: () => Array<QueryObserverResult>,\n ] {\n const matches = this.#findMatchingObservers(queries)\n const result = matches.map((match) =>\n match.observer.getOptimisticResult(match.defaultedQueryOptions),\n )\n\n return [\n result,\n (r?: Array<QueryObserverResult>) => {\n return this.#combineResult(r ?? result)\n },\n () => {\n return matches.map((match, index) => {\n const observerResult = result[index]!\n return !match.defaultedQueryOptions.notifyOnChangeProps\n ? match.observer.trackResult(observerResult)\n : observerResult\n })\n },\n ]\n }\n\n #combineResult(input: Array<QueryObserverResult>): TCombinedResult {\n const combine = this.#options?.combine\n if (combine) {\n return replaceEqualDeep(this.#combinedResult, combine(input))\n }\n return input as any\n }\n\n #findMatchingObservers(\n queries: Array<QueryObserverOptions>,\n ): Array<QueryObserverMatch> {\n const prevObservers = this.#observers\n const prevObserversMap = new Map(\n prevObservers.map((observer) => [observer.options.queryHash, observer]),\n )\n\n const defaultedQueryOptions = queries.map((options) =>\n this.#client.defaultQueryOptions(options),\n )\n\n const matchingObservers: Array<QueryObserverMatch> =\n defaultedQueryOptions.flatMap((defaultedOptions) => {\n const match = prevObserversMap.get(defaultedOptions.queryHash)\n if (match != null) {\n return [{ defaultedQueryOptions: defaultedOptions, observer: match }]\n }\n return []\n })\n\n const matchedQueryHashes = new Set(\n matchingObservers.map((match) => match.defaultedQueryOptions.queryHash),\n )\n const unmatchedQueries = defaultedQueryOptions.filter(\n (defaultedOptions) => !matchedQueryHashes.has(defaultedOptions.queryHash),\n )\n\n const getObserver = (options: QueryObserverOptions): QueryObserver => {\n const defaultedOptions = this.#client.defaultQueryOptions(options)\n const currentObserver = this.#observers.find(\n (o) => o.options.queryHash === defaultedOptions.queryHash,\n )\n return (\n currentObserver ?? new QueryObserver(this.#client, defaultedOptions)\n )\n }\n\n const newOrReusedObservers: Array<QueryObserverMatch> =\n unmatchedQueries.map((options) => {\n return {\n defaultedQueryOptions: options,\n observer: getObserver(options),\n }\n })\n\n const sortMatchesByOrderOfQueries = (\n a: QueryObserverMatch,\n b: QueryObserverMatch,\n ): number =>\n defaultedQueryOptions.indexOf(a.defaultedQueryOptions) -\n defaultedQueryOptions.indexOf(b.defaultedQueryOptions)\n\n return matchingObservers\n .concat(newOrReusedObservers)\n .sort(sortMatchesByOrderOfQueries)\n }\n\n #onUpdate(observer: QueryObserver, result: QueryObserverResult): void {\n const index = this.#observers.indexOf(observer)\n if (index !== -1) {\n this.#setResult(replaceAt(this.#result, index, result))\n this.#notify()\n }\n }\n\n #notify(): void {\n notifyManager.batch(() => {\n this.listeners.forEach((listener) => {\n listener(this.#result)\n })\n })\n }\n}\n\ntype QueryObserverMatch = {\n defaultedQueryOptions: DefaultedQueryObserverOptions\n observer: QueryObserver\n}\n"],"mappings":"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","names":[]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ad as QueryObserverResult, b as QueryClient, L as QueryObserverOptions, aH as NotifyOptions, n as Query, q as QueryKey, c as QueryObserver } from './queryClient-
|
|
1
|
+
import { ad as QueryObserverResult, b as QueryClient, L as QueryObserverOptions, aH as NotifyOptions, n as Query, q as QueryKey, c as QueryObserver } from './queryClient-ZM0hKLC_.cjs';
|
|
2
2
|
import { Subscribable } from './subscribable.cjs';
|
|
3
3
|
import './removable.cjs';
|
|
4
4
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ad as QueryObserverResult, b as QueryClient, L as QueryObserverOptions, aH as NotifyOptions, n as Query, q as QueryKey, c as QueryObserver } from './queryClient-
|
|
1
|
+
import { ad as QueryObserverResult, b as QueryClient, L as QueryObserverOptions, aH as NotifyOptions, n as Query, q as QueryKey, c as QueryObserver } from './queryClient-mVGWb1w6.js';
|
|
2
2
|
import { Subscribable } from './subscribable.js';
|
|
3
3
|
import './removable.js';
|
|
4
4
|
|
|
@@ -34,8 +34,7 @@ var QueriesObserver = class extends Subscribable {
|
|
|
34
34
|
__privateAdd(this, _options, void 0);
|
|
35
35
|
__privateAdd(this, _combinedResult, void 0);
|
|
36
36
|
__privateSet(this, _client, client);
|
|
37
|
-
__privateSet(this, _queries,
|
|
38
|
-
__privateSet(this, _options, options);
|
|
37
|
+
__privateSet(this, _queries, []);
|
|
39
38
|
__privateSet(this, _observers, []);
|
|
40
39
|
__privateMethod(this, _setResult, setResult_fn).call(this, []);
|
|
41
40
|
this.setQueries(queries, options);
|
|
@@ -76,7 +75,7 @@ var QueriesObserver = class extends Subscribable {
|
|
|
76
75
|
const hasIndexChange = newObservers.some(
|
|
77
76
|
(observer, index) => observer !== prevObservers[index]
|
|
78
77
|
);
|
|
79
|
-
if (prevObservers.length === newObservers.length && !hasIndexChange) {
|
|
78
|
+
if (prevObservers.length === newObservers.length && !hasIndexChange && newObservers.length > 0) {
|
|
80
79
|
return;
|
|
81
80
|
}
|
|
82
81
|
__privateSet(this, _observers, newObservers);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/queriesObserver.ts"],"sourcesContent":["import { notifyManager } from './notifyManager'\nimport { QueryObserver } from './queryObserver'\nimport { Subscribable } from './subscribable'\nimport { replaceEqualDeep } from './utils'\nimport type {\n DefaultedQueryObserverOptions,\n QueryObserverOptions,\n QueryObserverResult,\n} from './types'\nimport type { QueryClient } from './queryClient'\nimport type { NotifyOptions } from './queryObserver'\n\nfunction difference<T>(array1: Array<T>, array2: Array<T>): Array<T> {\n return array1.filter((x) => !array2.includes(x))\n}\n\nfunction replaceAt<T>(array: Array<T>, index: number, value: T): Array<T> {\n const copy = array.slice(0)\n copy[index] = value\n return copy\n}\n\ntype QueriesObserverListener = (result: Array<QueryObserverResult>) => void\n\nexport interface QueriesObserverOptions<\n TCombinedResult = Array<QueryObserverResult>,\n> {\n combine?: (result: Array<QueryObserverResult>) => TCombinedResult\n}\n\nexport class QueriesObserver<\n TCombinedResult = Array<QueryObserverResult>,\n> extends Subscribable<QueriesObserverListener> {\n #client: QueryClient\n #result!: Array<QueryObserverResult>\n #queries: Array<QueryObserverOptions>\n #observers: Array<QueryObserver>\n #options?: QueriesObserverOptions<TCombinedResult>\n #combinedResult!: TCombinedResult\n\n constructor(\n client: QueryClient,\n queries: Array<QueryObserverOptions>,\n options?: QueriesObserverOptions<TCombinedResult>,\n ) {\n super()\n\n this.#client = client\n this.#queries = queries\n this.#options = options\n this.#observers = []\n\n this.#setResult([])\n this.setQueries(queries, options)\n }\n\n #setResult(value: Array<QueryObserverResult>) {\n this.#result = value\n this.#combinedResult = this.#combineResult(value)\n }\n\n protected onSubscribe(): void {\n if (this.listeners.size === 1) {\n this.#observers.forEach((observer) => {\n observer.subscribe((result) => {\n this.#onUpdate(observer, result)\n })\n })\n }\n }\n\n protected onUnsubscribe(): void {\n if (!this.listeners.size) {\n this.destroy()\n }\n }\n\n destroy(): void {\n this.listeners = new Set()\n this.#observers.forEach((observer) => {\n observer.destroy()\n })\n }\n\n setQueries(\n queries: Array<QueryObserverOptions>,\n options?: QueriesObserverOptions<TCombinedResult>,\n notifyOptions?: NotifyOptions,\n ): void {\n this.#queries = queries\n this.#options = options\n\n notifyManager.batch(() => {\n const prevObservers = this.#observers\n\n const newObserverMatches = this.#findMatchingObservers(this.#queries)\n\n // set options for the new observers to notify of changes\n newObserverMatches.forEach((match) =>\n match.observer.setOptions(match.defaultedQueryOptions, notifyOptions),\n )\n\n const newObservers = newObserverMatches.map((match) => match.observer)\n const newResult = newObservers.map((observer) =>\n observer.getCurrentResult(),\n )\n\n const hasIndexChange = newObservers.some(\n (observer, index) => observer !== prevObservers[index],\n )\n if (prevObservers.length === newObservers.length && !hasIndexChange) {\n return\n }\n\n this.#observers = newObservers\n this.#setResult(newResult)\n\n if (!this.hasListeners()) {\n return\n }\n\n difference(prevObservers, newObservers).forEach((observer) => {\n observer.destroy()\n })\n\n difference(newObservers, prevObservers).forEach((observer) => {\n observer.subscribe((result) => {\n this.#onUpdate(observer, result)\n })\n })\n\n this.#notify()\n })\n }\n\n getCurrentResult(): TCombinedResult {\n return this.#combinedResult\n }\n\n getQueries() {\n return this.#observers.map((observer) => observer.getCurrentQuery())\n }\n\n getObservers() {\n return this.#observers\n }\n\n getOptimisticResult(\n queries: Array<QueryObserverOptions>,\n ): [\n rawResult: Array<QueryObserverResult>,\n combineResult: (r?: Array<QueryObserverResult>) => TCombinedResult,\n trackResult: () => Array<QueryObserverResult>,\n ] {\n const matches = this.#findMatchingObservers(queries)\n const result = matches.map((match) =>\n match.observer.getOptimisticResult(match.defaultedQueryOptions),\n )\n\n return [\n result,\n (r?: Array<QueryObserverResult>) => {\n return this.#combineResult(r ?? result)\n },\n () => {\n return matches.map((match, index) => {\n const observerResult = result[index]!\n return !match.defaultedQueryOptions.notifyOnChangeProps\n ? match.observer.trackResult(observerResult)\n : observerResult\n })\n },\n ]\n }\n\n #combineResult(input: Array<QueryObserverResult>): TCombinedResult {\n const combine = this.#options?.combine\n if (combine) {\n return replaceEqualDeep(this.#combinedResult, combine(input))\n }\n return input as any\n }\n\n #findMatchingObservers(\n queries: Array<QueryObserverOptions>,\n ): Array<QueryObserverMatch> {\n const prevObservers = this.#observers\n const prevObserversMap = new Map(\n prevObservers.map((observer) => [observer.options.queryHash, observer]),\n )\n\n const defaultedQueryOptions = queries.map((options) =>\n this.#client.defaultQueryOptions(options),\n )\n\n const matchingObservers: Array<QueryObserverMatch> =\n defaultedQueryOptions.flatMap((defaultedOptions) => {\n const match = prevObserversMap.get(defaultedOptions.queryHash)\n if (match != null) {\n return [{ defaultedQueryOptions: defaultedOptions, observer: match }]\n }\n return []\n })\n\n const matchedQueryHashes = new Set(\n matchingObservers.map((match) => match.defaultedQueryOptions.queryHash),\n )\n const unmatchedQueries = defaultedQueryOptions.filter(\n (defaultedOptions) => !matchedQueryHashes.has(defaultedOptions.queryHash),\n )\n\n const getObserver = (options: QueryObserverOptions): QueryObserver => {\n const defaultedOptions = this.#client.defaultQueryOptions(options)\n const currentObserver = this.#observers.find(\n (o) => o.options.queryHash === defaultedOptions.queryHash,\n )\n return (\n currentObserver ?? new QueryObserver(this.#client, defaultedOptions)\n )\n }\n\n const newOrReusedObservers: Array<QueryObserverMatch> =\n unmatchedQueries.map((options) => {\n return {\n defaultedQueryOptions: options,\n observer: getObserver(options),\n }\n })\n\n const sortMatchesByOrderOfQueries = (\n a: QueryObserverMatch,\n b: QueryObserverMatch,\n ): number =>\n defaultedQueryOptions.indexOf(a.defaultedQueryOptions) -\n defaultedQueryOptions.indexOf(b.defaultedQueryOptions)\n\n return matchingObservers\n .concat(newOrReusedObservers)\n .sort(sortMatchesByOrderOfQueries)\n }\n\n #onUpdate(observer: QueryObserver, result: QueryObserverResult): void {\n const index = this.#observers.indexOf(observer)\n if (index !== -1) {\n this.#setResult(replaceAt(this.#result, index, result))\n this.#notify()\n }\n }\n\n #notify(): void {\n notifyManager.batch(() => {\n this.listeners.forEach((listener) => {\n listener(this.#result)\n })\n })\n }\n}\n\ntype QueryObserverMatch = {\n defaultedQueryOptions: DefaultedQueryObserverOptions\n observer: QueryObserver\n}\n"],"mappings":"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","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../src/queriesObserver.ts"],"sourcesContent":["import { notifyManager } from './notifyManager'\nimport { QueryObserver } from './queryObserver'\nimport { Subscribable } from './subscribable'\nimport { replaceEqualDeep } from './utils'\nimport type {\n DefaultedQueryObserverOptions,\n QueryObserverOptions,\n QueryObserverResult,\n} from './types'\nimport type { QueryClient } from './queryClient'\nimport type { NotifyOptions } from './queryObserver'\n\nfunction difference<T>(array1: Array<T>, array2: Array<T>): Array<T> {\n return array1.filter((x) => !array2.includes(x))\n}\n\nfunction replaceAt<T>(array: Array<T>, index: number, value: T): Array<T> {\n const copy = array.slice(0)\n copy[index] = value\n return copy\n}\n\ntype QueriesObserverListener = (result: Array<QueryObserverResult>) => void\n\nexport interface QueriesObserverOptions<\n TCombinedResult = Array<QueryObserverResult>,\n> {\n combine?: (result: Array<QueryObserverResult>) => TCombinedResult\n}\n\nexport class QueriesObserver<\n TCombinedResult = Array<QueryObserverResult>,\n> extends Subscribable<QueriesObserverListener> {\n #client: QueryClient\n #result!: Array<QueryObserverResult>\n #queries: Array<QueryObserverOptions>\n #observers: Array<QueryObserver>\n #options?: QueriesObserverOptions<TCombinedResult>\n #combinedResult!: TCombinedResult\n\n constructor(\n client: QueryClient,\n queries: Array<QueryObserverOptions>,\n options?: QueriesObserverOptions<TCombinedResult>,\n ) {\n super()\n\n this.#client = client\n this.#queries = []\n this.#observers = []\n\n this.#setResult([])\n this.setQueries(queries, options)\n }\n\n #setResult(value: Array<QueryObserverResult>) {\n this.#result = value\n this.#combinedResult = this.#combineResult(value)\n }\n\n protected onSubscribe(): void {\n if (this.listeners.size === 1) {\n this.#observers.forEach((observer) => {\n observer.subscribe((result) => {\n this.#onUpdate(observer, result)\n })\n })\n }\n }\n\n protected onUnsubscribe(): void {\n if (!this.listeners.size) {\n this.destroy()\n }\n }\n\n destroy(): void {\n this.listeners = new Set()\n this.#observers.forEach((observer) => {\n observer.destroy()\n })\n }\n\n setQueries(\n queries: Array<QueryObserverOptions>,\n options?: QueriesObserverOptions<TCombinedResult>,\n notifyOptions?: NotifyOptions,\n ): void {\n this.#queries = queries\n this.#options = options\n\n notifyManager.batch(() => {\n const prevObservers = this.#observers\n\n const newObserverMatches = this.#findMatchingObservers(this.#queries)\n\n // set options for the new observers to notify of changes\n newObserverMatches.forEach((match) =>\n match.observer.setOptions(match.defaultedQueryOptions, notifyOptions),\n )\n\n const newObservers = newObserverMatches.map((match) => match.observer)\n const newResult = newObservers.map((observer) =>\n observer.getCurrentResult(),\n )\n\n const hasIndexChange = newObservers.some(\n (observer, index) => observer !== prevObservers[index],\n )\n\n if (\n prevObservers.length === newObservers.length &&\n !hasIndexChange &&\n newObservers.length > 0\n ) {\n return\n }\n\n this.#observers = newObservers\n this.#setResult(newResult)\n\n if (!this.hasListeners()) {\n return\n }\n\n difference(prevObservers, newObservers).forEach((observer) => {\n observer.destroy()\n })\n\n difference(newObservers, prevObservers).forEach((observer) => {\n observer.subscribe((result) => {\n this.#onUpdate(observer, result)\n })\n })\n\n this.#notify()\n })\n }\n\n getCurrentResult(): TCombinedResult {\n return this.#combinedResult\n }\n\n getQueries() {\n return this.#observers.map((observer) => observer.getCurrentQuery())\n }\n\n getObservers() {\n return this.#observers\n }\n\n getOptimisticResult(\n queries: Array<QueryObserverOptions>,\n ): [\n rawResult: Array<QueryObserverResult>,\n combineResult: (r?: Array<QueryObserverResult>) => TCombinedResult,\n trackResult: () => Array<QueryObserverResult>,\n ] {\n const matches = this.#findMatchingObservers(queries)\n const result = matches.map((match) =>\n match.observer.getOptimisticResult(match.defaultedQueryOptions),\n )\n\n return [\n result,\n (r?: Array<QueryObserverResult>) => {\n return this.#combineResult(r ?? result)\n },\n () => {\n return matches.map((match, index) => {\n const observerResult = result[index]!\n return !match.defaultedQueryOptions.notifyOnChangeProps\n ? match.observer.trackResult(observerResult)\n : observerResult\n })\n },\n ]\n }\n\n #combineResult(input: Array<QueryObserverResult>): TCombinedResult {\n const combine = this.#options?.combine\n if (combine) {\n return replaceEqualDeep(this.#combinedResult, combine(input))\n }\n return input as any\n }\n\n #findMatchingObservers(\n queries: Array<QueryObserverOptions>,\n ): Array<QueryObserverMatch> {\n const prevObservers = this.#observers\n const prevObserversMap = new Map(\n prevObservers.map((observer) => [observer.options.queryHash, observer]),\n )\n\n const defaultedQueryOptions = queries.map((options) =>\n this.#client.defaultQueryOptions(options),\n )\n\n const matchingObservers: Array<QueryObserverMatch> =\n defaultedQueryOptions.flatMap((defaultedOptions) => {\n const match = prevObserversMap.get(defaultedOptions.queryHash)\n if (match != null) {\n return [{ defaultedQueryOptions: defaultedOptions, observer: match }]\n }\n return []\n })\n\n const matchedQueryHashes = new Set(\n matchingObservers.map((match) => match.defaultedQueryOptions.queryHash),\n )\n const unmatchedQueries = defaultedQueryOptions.filter(\n (defaultedOptions) => !matchedQueryHashes.has(defaultedOptions.queryHash),\n )\n\n const getObserver = (options: QueryObserverOptions): QueryObserver => {\n const defaultedOptions = this.#client.defaultQueryOptions(options)\n const currentObserver = this.#observers.find(\n (o) => o.options.queryHash === defaultedOptions.queryHash,\n )\n return (\n currentObserver ?? new QueryObserver(this.#client, defaultedOptions)\n )\n }\n\n const newOrReusedObservers: Array<QueryObserverMatch> =\n unmatchedQueries.map((options) => {\n return {\n defaultedQueryOptions: options,\n observer: getObserver(options),\n }\n })\n\n const sortMatchesByOrderOfQueries = (\n a: QueryObserverMatch,\n b: QueryObserverMatch,\n ): number =>\n defaultedQueryOptions.indexOf(a.defaultedQueryOptions) -\n defaultedQueryOptions.indexOf(b.defaultedQueryOptions)\n\n return matchingObservers\n .concat(newOrReusedObservers)\n .sort(sortMatchesByOrderOfQueries)\n }\n\n #onUpdate(observer: QueryObserver, result: QueryObserverResult): void {\n const index = this.#observers.indexOf(observer)\n if (index !== -1) {\n this.#setResult(replaceAt(this.#result, index, result))\n this.#notify()\n }\n }\n\n #notify(): void {\n notifyManager.batch(() => {\n this.listeners.forEach((listener) => {\n listener(this.#result)\n })\n })\n }\n}\n\ntype QueryObserverMatch = {\n defaultedQueryOptions: DefaultedQueryObserverOptions\n observer: QueryObserver\n}\n"],"mappings":"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","names":[]}
|
package/build/legacy/query.d.cts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import './removable.cjs';
|
|
2
|
-
export {
|
|
2
|
+
export { b6 as Action, b2 as FetchContext, b3 as FetchDirection, b4 as FetchMeta, b5 as FetchOptions, n as Query, aF as QueryBehavior, l as QueryState, b7 as SetStateOptions } from './queryClient-ZM0hKLC_.cjs';
|
|
3
3
|
import './subscribable.cjs';
|
package/build/legacy/query.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import './removable.js';
|
|
2
|
-
export {
|
|
2
|
+
export { b6 as Action, b2 as FetchContext, b3 as FetchDirection, b4 as FetchMeta, b5 as FetchOptions, n as Query, aF as QueryBehavior, l as QueryState, b7 as SetStateOptions } from './queryClient-mVGWb1w6.js';
|
|
3
3
|
import './subscribable.js';
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { Q as QueryCache, a as QueryCacheNotifyEvent,
|
|
1
|
+
export { Q as QueryCache, a as QueryCacheNotifyEvent, b8 as QueryStore } from './queryClient-ZM0hKLC_.cjs';
|
|
2
2
|
import './subscribable.cjs';
|
|
3
3
|
import './removable.cjs';
|
|
@@ -91,11 +91,6 @@ declare function shallowEqualObjects<T>(a: T, b: T): boolean;
|
|
|
91
91
|
declare function isPlainArray(value: unknown): boolean;
|
|
92
92
|
declare function isPlainObject(o: any): o is Object;
|
|
93
93
|
declare function sleep(ms: number): Promise<void>;
|
|
94
|
-
/**
|
|
95
|
-
* Schedules a microtask.
|
|
96
|
-
* This can be useful to schedule state updates after rendering.
|
|
97
|
-
*/
|
|
98
|
-
declare function scheduleMicrotask(callback: () => void): void;
|
|
99
94
|
declare function replaceData<TData, TOptions extends QueryOptions<any, any, any, any>>(prevData: TData | undefined, data: TData, options: TOptions): TData;
|
|
100
95
|
declare function keepPreviousData<T>(previousData: T | undefined): T | undefined;
|
|
101
96
|
declare function addToEnd<T>(items: Array<T>, item: T, max?: number): Array<T>;
|
|
@@ -929,4 +924,4 @@ declare class QueryClient {
|
|
|
929
924
|
clear(): void;
|
|
930
925
|
}
|
|
931
926
|
|
|
932
|
-
export { type InvalidateQueryFilters as $, type InfiniteData as A, type QueryMeta as B, CancelledError as C, type DefaultError as D, type NetworkMode as E, type NotifyOnChangeProps as F, type GetPreviousPageParamFunction as G, type QueryOptions as H, type InitialDataFunction as I, type InitialPageParam as J, type InfiniteQueryPageParamsOptions as K, type QueryObserverOptions as L, MutationCache as M, type NoInfer as N, type DefaultedQueryObserverOptions as O, type PlaceholderDataFunction as P, QueryCache as Q, type Register as R, type InfiniteQueryObserverOptions as S, type ThrowOnError as T, type Updater as U, type DefaultedInfiniteQueryObserverOptions as V, type WithRequired as W, type FetchQueryOptions as X, type FetchInfiniteQueryOptions as Y, type ResultOptions as Z, type RefetchOptions as _, type QueryCacheNotifyEvent as a, type
|
|
927
|
+
export { type InvalidateQueryFilters as $, type InfiniteData as A, type QueryMeta as B, CancelledError as C, type DefaultError as D, type NetworkMode as E, type NotifyOnChangeProps as F, type GetPreviousPageParamFunction as G, type QueryOptions as H, type InitialDataFunction as I, type InitialPageParam as J, type InfiniteQueryPageParamsOptions as K, type QueryObserverOptions as L, MutationCache as M, type NoInfer as N, type DefaultedQueryObserverOptions as O, type PlaceholderDataFunction as P, QueryCache as Q, type Register as R, type InfiniteQueryObserverOptions as S, type ThrowOnError as T, type Updater as U, type DefaultedInfiniteQueryObserverOptions as V, type WithRequired as W, type FetchQueryOptions as X, type FetchInfiniteQueryOptions as Y, type ResultOptions as Z, type RefetchOptions as _, type QueryCacheNotifyEvent as a, type RetryDelayValue as a$, type RefetchQueryFilters as a0, type InvalidateOptions as a1, type ResetOptions as a2, type FetchNextPageOptions as a3, type FetchPreviousPageOptions as a4, type QueryStatus as a5, type FetchStatus as a6, type QueryObserverBaseResult as a7, type QueryObserverLoadingResult as a8, type QueryObserverLoadingErrorResult as a9, type DefaultOptions as aA, type CancelOptions as aB, type SetDataOptions as aC, type NotifyEventType as aD, type NotifyEvent as aE, type QueryBehavior as aF, type ObserverFetchOptions as aG, type NotifyOptions as aH, type QueryTypeFilter as aI, noop as aJ, functionalUpdate as aK, isValidTimeout as aL, timeUntilStale as aM, matchMutation as aN, hashQueryKeyByOptions as aO, partialMatchKey as aP, shallowEqualObjects as aQ, isPlainArray as aR, isPlainObject as aS, sleep as aT, replaceData as aU, addToEnd as aV, addToStart as aW, type Action$1 as aX, getDefaultState as aY, type Retryer as aZ, type RetryValue as a_, type QueryObserverRefetchErrorResult as aa, type QueryObserverSuccessResult as ab, type DefinedQueryObserverResult as ac, type QueryObserverResult as ad, type InfiniteQueryObserverBaseResult as ae, type InfiniteQueryObserverLoadingResult as af, type InfiniteQueryObserverLoadingErrorResult as ag, type InfiniteQueryObserverRefetchErrorResult as ah, type InfiniteQueryObserverSuccessResult as ai, type DefinedInfiniteQueryObserverResult as aj, type InfiniteQueryObserverResult as ak, type MutationKey as al, type MutationStatus as am, type MutationMeta as an, type MutationFunction as ao, type MutationOptions as ap, type MutationObserverOptions as aq, type MutateOptions as ar, type MutateFunction as as, type MutationObserverBaseResult as at, type MutationObserverIdleResult as au, type MutationObserverLoadingResult as av, type MutationObserverErrorResult as aw, type MutationObserverSuccessResult as ax, type MutationObserverResult as ay, type QueryClientConfig as az, QueryClient as b, canFetch as b0, createRetryer as b1, type FetchContext as b2, type FetchDirection as b3, type FetchMeta as b4, type FetchOptions as b5, type Action as b6, type SetStateOptions as b7, type QueryStore as b8, QueryObserver as c, type MutationCacheNotifyEvent as d, MutationObserver as e, type MutationFilters as f, type QueryFilters as g, hashKey as h, isServer as i, isCancelledError as j, keepPreviousData as k, type QueryState as l, matchQuery as m, Query as n, Mutation as o, type MutationState as p, type QueryKey as q, replaceEqualDeep as r, dataTagSymbol as s, type DataTag as t, type QueryFunction as u, type QueryPersister as v, type QueryFunctionContext as w, type QueriesPlaceholderDataFunction as x, type QueryKeyHashFunction as y, type GetNextPageParamFunction as z };
|
|
@@ -91,11 +91,6 @@ declare function shallowEqualObjects<T>(a: T, b: T): boolean;
|
|
|
91
91
|
declare function isPlainArray(value: unknown): boolean;
|
|
92
92
|
declare function isPlainObject(o: any): o is Object;
|
|
93
93
|
declare function sleep(ms: number): Promise<void>;
|
|
94
|
-
/**
|
|
95
|
-
* Schedules a microtask.
|
|
96
|
-
* This can be useful to schedule state updates after rendering.
|
|
97
|
-
*/
|
|
98
|
-
declare function scheduleMicrotask(callback: () => void): void;
|
|
99
94
|
declare function replaceData<TData, TOptions extends QueryOptions<any, any, any, any>>(prevData: TData | undefined, data: TData, options: TOptions): TData;
|
|
100
95
|
declare function keepPreviousData<T>(previousData: T | undefined): T | undefined;
|
|
101
96
|
declare function addToEnd<T>(items: Array<T>, item: T, max?: number): Array<T>;
|
|
@@ -929,4 +924,4 @@ declare class QueryClient {
|
|
|
929
924
|
clear(): void;
|
|
930
925
|
}
|
|
931
926
|
|
|
932
|
-
export { type InvalidateQueryFilters as $, type InfiniteData as A, type QueryMeta as B, CancelledError as C, type DefaultError as D, type NetworkMode as E, type NotifyOnChangeProps as F, type GetPreviousPageParamFunction as G, type QueryOptions as H, type InitialDataFunction as I, type InitialPageParam as J, type InfiniteQueryPageParamsOptions as K, type QueryObserverOptions as L, MutationCache as M, type NoInfer as N, type DefaultedQueryObserverOptions as O, type PlaceholderDataFunction as P, QueryCache as Q, type Register as R, type InfiniteQueryObserverOptions as S, type ThrowOnError as T, type Updater as U, type DefaultedInfiniteQueryObserverOptions as V, type WithRequired as W, type FetchQueryOptions as X, type FetchInfiniteQueryOptions as Y, type ResultOptions as Z, type RefetchOptions as _, type QueryCacheNotifyEvent as a, type
|
|
927
|
+
export { type InvalidateQueryFilters as $, type InfiniteData as A, type QueryMeta as B, CancelledError as C, type DefaultError as D, type NetworkMode as E, type NotifyOnChangeProps as F, type GetPreviousPageParamFunction as G, type QueryOptions as H, type InitialDataFunction as I, type InitialPageParam as J, type InfiniteQueryPageParamsOptions as K, type QueryObserverOptions as L, MutationCache as M, type NoInfer as N, type DefaultedQueryObserverOptions as O, type PlaceholderDataFunction as P, QueryCache as Q, type Register as R, type InfiniteQueryObserverOptions as S, type ThrowOnError as T, type Updater as U, type DefaultedInfiniteQueryObserverOptions as V, type WithRequired as W, type FetchQueryOptions as X, type FetchInfiniteQueryOptions as Y, type ResultOptions as Z, type RefetchOptions as _, type QueryCacheNotifyEvent as a, type RetryDelayValue as a$, type RefetchQueryFilters as a0, type InvalidateOptions as a1, type ResetOptions as a2, type FetchNextPageOptions as a3, type FetchPreviousPageOptions as a4, type QueryStatus as a5, type FetchStatus as a6, type QueryObserverBaseResult as a7, type QueryObserverLoadingResult as a8, type QueryObserverLoadingErrorResult as a9, type DefaultOptions as aA, type CancelOptions as aB, type SetDataOptions as aC, type NotifyEventType as aD, type NotifyEvent as aE, type QueryBehavior as aF, type ObserverFetchOptions as aG, type NotifyOptions as aH, type QueryTypeFilter as aI, noop as aJ, functionalUpdate as aK, isValidTimeout as aL, timeUntilStale as aM, matchMutation as aN, hashQueryKeyByOptions as aO, partialMatchKey as aP, shallowEqualObjects as aQ, isPlainArray as aR, isPlainObject as aS, sleep as aT, replaceData as aU, addToEnd as aV, addToStart as aW, type Action$1 as aX, getDefaultState as aY, type Retryer as aZ, type RetryValue as a_, type QueryObserverRefetchErrorResult as aa, type QueryObserverSuccessResult as ab, type DefinedQueryObserverResult as ac, type QueryObserverResult as ad, type InfiniteQueryObserverBaseResult as ae, type InfiniteQueryObserverLoadingResult as af, type InfiniteQueryObserverLoadingErrorResult as ag, type InfiniteQueryObserverRefetchErrorResult as ah, type InfiniteQueryObserverSuccessResult as ai, type DefinedInfiniteQueryObserverResult as aj, type InfiniteQueryObserverResult as ak, type MutationKey as al, type MutationStatus as am, type MutationMeta as an, type MutationFunction as ao, type MutationOptions as ap, type MutationObserverOptions as aq, type MutateOptions as ar, type MutateFunction as as, type MutationObserverBaseResult as at, type MutationObserverIdleResult as au, type MutationObserverLoadingResult as av, type MutationObserverErrorResult as aw, type MutationObserverSuccessResult as ax, type MutationObserverResult as ay, type QueryClientConfig as az, QueryClient as b, canFetch as b0, createRetryer as b1, type FetchContext as b2, type FetchDirection as b3, type FetchMeta as b4, type FetchOptions as b5, type Action as b6, type SetStateOptions as b7, type QueryStore as b8, QueryObserver as c, type MutationCacheNotifyEvent as d, MutationObserver as e, type MutationFilters as f, type QueryFilters as g, hashKey as h, isServer as i, isCancelledError as j, keepPreviousData as k, type QueryState as l, matchQuery as m, Query as n, Mutation as o, type MutationState as p, type QueryKey as q, replaceEqualDeep as r, dataTagSymbol as s, type DataTag as t, type QueryFunction as u, type QueryPersister as v, type QueryFunctionContext as w, type QueriesPlaceholderDataFunction as x, type QueryKeyHashFunction as y, type GetNextPageParamFunction as z };
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import './subscribable.cjs';
|
|
2
|
-
export { aH as NotifyOptions, aG as ObserverFetchOptions, c as QueryObserver } from './queryClient-
|
|
2
|
+
export { aH as NotifyOptions, aG as ObserverFetchOptions, c as QueryObserver } from './queryClient-ZM0hKLC_.cjs';
|
|
3
3
|
import './removable.cjs';
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import './subscribable.js';
|
|
2
|
-
export { aH as NotifyOptions, aG as ObserverFetchOptions, c as QueryObserver } from './queryClient-
|
|
2
|
+
export { aH as NotifyOptions, aG as ObserverFetchOptions, c as QueryObserver } from './queryClient-mVGWb1w6.js';
|
|
3
3
|
import './removable.js';
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { C as CancelledError,
|
|
1
|
+
export { C as CancelledError, a$ as RetryDelayValue, a_ as RetryValue, aZ as Retryer, b0 as canFetch, b1 as createRetryer, j as isCancelledError } from './queryClient-ZM0hKLC_.cjs';
|
|
2
2
|
import './removable.cjs';
|
|
3
3
|
import './subscribable.cjs';
|