@tanstack/react-query 5.0.0-alpha.50 → 5.0.0-alpha.52
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/lib/HydrationBoundary.cjs +50 -0
- package/build/lib/{HydrationBoundary.mjs.map → HydrationBoundary.cjs.map} +1 -1
- package/build/lib/HydrationBoundary.js +8 -29
- package/build/lib/HydrationBoundary.js.map +1 -1
- package/build/lib/QueryClientProvider.cjs +54 -0
- package/build/lib/{QueryClientProvider.mjs.map → QueryClientProvider.cjs.map} +1 -1
- package/build/lib/QueryClientProvider.js +6 -29
- package/build/lib/QueryClientProvider.js.map +1 -1
- package/build/lib/QueryErrorResetBoundary.cjs +60 -0
- package/build/lib/{QueryErrorResetBoundary.mjs.map → QueryErrorResetBoundary.cjs.map} +1 -1
- package/build/lib/QueryErrorResetBoundary.js +6 -28
- package/build/lib/QueryErrorResetBoundary.js.map +1 -1
- package/build/lib/errorBoundaryUtils.cjs +51 -0
- package/build/lib/{errorBoundaryUtils.mjs.map → errorBoundaryUtils.cjs.map} +1 -1
- package/build/lib/errorBoundaryUtils.js +5 -28
- package/build/lib/errorBoundaryUtils.js.map +1 -1
- package/build/lib/index.cjs +39 -0
- package/build/lib/index.cjs.map +1 -0
- package/build/lib/index.js +11 -38
- package/build/lib/index.js.map +1 -1
- package/build/lib/isRestoring.cjs +31 -0
- package/build/lib/{isRestoring.mjs.map → isRestoring.cjs.map} +1 -1
- package/build/lib/isRestoring.js +4 -26
- package/build/lib/isRestoring.js.map +1 -1
- package/build/lib/{suspense.mjs → suspense.cjs} +7 -2
- package/build/lib/{suspense.mjs.map → suspense.cjs.map} +1 -1
- package/build/lib/suspense.js +1 -6
- package/build/lib/suspense.js.map +1 -1
- package/build/lib/useBaseQuery.cjs +73 -0
- package/build/lib/{useBaseQuery.mjs.map → useBaseQuery.cjs.map} +1 -1
- package/build/lib/useBaseQuery.js +21 -42
- package/build/lib/useBaseQuery.js.map +1 -1
- package/build/lib/useInfiniteQuery.cjs +15 -0
- package/build/lib/{useInfiniteQuery.mjs.map → useInfiniteQuery.cjs.map} +1 -1
- package/build/lib/useInfiniteQuery.js +5 -7
- package/build/lib/useInfiniteQuery.js.map +1 -1
- package/build/lib/useIsFetching.cjs +34 -0
- package/build/lib/{useIsFetching.mjs.map → useIsFetching.cjs.map} +1 -1
- package/build/lib/useIsFetching.js +6 -27
- package/build/lib/useIsFetching.js.map +1 -1
- package/build/lib/useMutation.cjs +54 -0
- package/build/lib/{useMutation.mjs.map → useMutation.cjs.map} +1 -1
- package/build/lib/useMutation.js +11 -32
- package/build/lib/useMutation.js.map +1 -1
- package/build/lib/useMutationState.cjs +60 -0
- package/build/lib/{useMutationState.mjs.map → useMutationState.cjs.map} +1 -1
- package/build/lib/useMutationState.js +12 -34
- package/build/lib/useMutationState.js.map +1 -1
- package/build/lib/useQueries.cjs +99 -0
- package/build/lib/{useQueries.mjs.map → useQueries.cjs.map} +1 -1
- package/build/lib/useQueries.js +26 -47
- package/build/lib/useQueries.js.map +1 -1
- package/build/lib/useQuery.cjs +19 -0
- package/build/lib/{useQuery.mjs.map → useQuery.cjs.map} +1 -1
- package/build/lib/useQuery.js +4 -7
- package/build/lib/useQuery.js.map +1 -1
- package/build/lib/{utils.mjs → utils.cjs} +4 -2
- package/build/lib/{utils.mjs.map → utils.cjs.map} +1 -1
- package/build/lib/utils.js +1 -3
- package/build/lib/utils.js.map +1 -1
- package/package.json +8 -7
- package/build/lib/HydrationBoundary.mjs +0 -29
- package/build/lib/QueryClientProvider.mjs +0 -31
- package/build/lib/QueryErrorResetBoundary.mjs +0 -38
- package/build/lib/errorBoundaryUtils.mjs +0 -28
- package/build/lib/index.mjs +0 -12
- package/build/lib/index.mjs.map +0 -1
- package/build/lib/isRestoring.mjs +0 -9
- package/build/lib/useBaseQuery.mjs +0 -52
- package/build/lib/useInfiniteQuery.mjs +0 -13
- package/build/lib/useIsFetching.mjs +0 -13
- package/build/lib/useMutation.mjs +0 -33
- package/build/lib/useMutationState.mjs +0 -38
- package/build/lib/useQueries.mjs +0 -78
- package/build/lib/useQuery.mjs +0 -16
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
var React = require('react');
|
|
5
|
+
|
|
6
|
+
function _interopNamespaceDefault(e) {
|
|
7
|
+
var n = Object.create(null);
|
|
8
|
+
if (e) {
|
|
9
|
+
Object.keys(e).forEach(function (k) {
|
|
10
|
+
if (k !== 'default') {
|
|
11
|
+
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
12
|
+
Object.defineProperty(n, k, d.get ? d : {
|
|
13
|
+
enumerable: true,
|
|
14
|
+
get: function () { return e[k]; }
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
n.default = e;
|
|
20
|
+
return Object.freeze(n);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
var React__namespace = /*#__PURE__*/_interopNamespaceDefault(React);
|
|
24
|
+
|
|
25
|
+
const IsRestoringContext = /*#__PURE__*/React__namespace.createContext(false);
|
|
26
|
+
const useIsRestoring = () => React__namespace.useContext(IsRestoringContext);
|
|
27
|
+
const IsRestoringProvider = IsRestoringContext.Provider;
|
|
28
|
+
|
|
29
|
+
exports.IsRestoringProvider = IsRestoringProvider;
|
|
30
|
+
exports.useIsRestoring = useIsRestoring;
|
|
31
|
+
//# sourceMappingURL=isRestoring.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"isRestoring.
|
|
1
|
+
{"version":3,"file":"isRestoring.cjs","sources":["../../src/isRestoring.tsx"],"sourcesContent":["'use client'\nimport * as React from 'react'\n\nconst IsRestoringContext = React.createContext(false)\n\nexport const useIsRestoring = () => React.useContext(IsRestoringContext)\nexport const IsRestoringProvider = IsRestoringContext.Provider\n"],"names":["IsRestoringProvider"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAGA;AAEO;AACMA;;;"}
|
package/build/lib/isRestoring.js
CHANGED
|
@@ -1,31 +1,9 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
|
|
2
|
+
import * as React from 'react';
|
|
3
3
|
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
function _interopNamespaceDefault(e) {
|
|
7
|
-
var n = Object.create(null);
|
|
8
|
-
if (e) {
|
|
9
|
-
Object.keys(e).forEach(function (k) {
|
|
10
|
-
if (k !== 'default') {
|
|
11
|
-
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
12
|
-
Object.defineProperty(n, k, d.get ? d : {
|
|
13
|
-
enumerable: true,
|
|
14
|
-
get: function () { return e[k]; }
|
|
15
|
-
});
|
|
16
|
-
}
|
|
17
|
-
});
|
|
18
|
-
}
|
|
19
|
-
n.default = e;
|
|
20
|
-
return Object.freeze(n);
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
var React__namespace = /*#__PURE__*/_interopNamespaceDefault(React);
|
|
24
|
-
|
|
25
|
-
const IsRestoringContext = /*#__PURE__*/React__namespace.createContext(false);
|
|
26
|
-
const useIsRestoring = () => React__namespace.useContext(IsRestoringContext);
|
|
4
|
+
const IsRestoringContext = /*#__PURE__*/React.createContext(false);
|
|
5
|
+
const useIsRestoring = () => React.useContext(IsRestoringContext);
|
|
27
6
|
const IsRestoringProvider = IsRestoringContext.Provider;
|
|
28
7
|
|
|
29
|
-
|
|
30
|
-
exports.useIsRestoring = useIsRestoring;
|
|
8
|
+
export { IsRestoringProvider, useIsRestoring };
|
|
31
9
|
//# sourceMappingURL=isRestoring.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"isRestoring.js","sources":["../../src/isRestoring.tsx"],"sourcesContent":["'use client'\nimport * as React from 'react'\n\nconst IsRestoringContext = React.createContext(false)\n\nexport const useIsRestoring = () => React.useContext(IsRestoringContext)\nexport const IsRestoringProvider = IsRestoringContext.Provider\n"],"names":["IsRestoringProvider"],"mappings":"
|
|
1
|
+
{"version":3,"file":"isRestoring.js","sources":["../../src/isRestoring.tsx"],"sourcesContent":["'use client'\nimport * as React from 'react'\n\nconst IsRestoringContext = React.createContext(false)\n\nexport const useIsRestoring = () => React.useContext(IsRestoringContext)\nexport const IsRestoringProvider = IsRestoringContext.Provider\n"],"names":["IsRestoringProvider"],"mappings":";;;AAGA;AAEO;AACMA;;"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
1
3
|
const ensureStaleTime = defaultedOptions => {
|
|
2
4
|
if (defaultedOptions.suspense) {
|
|
3
5
|
// Always set stale time when using suspense to prevent
|
|
@@ -13,5 +15,8 @@ const fetchOptimistic = (defaultedOptions, observer, errorResetBoundary) => obse
|
|
|
13
15
|
errorResetBoundary.clearReset();
|
|
14
16
|
});
|
|
15
17
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
+
exports.ensureStaleTime = ensureStaleTime;
|
|
19
|
+
exports.fetchOptimistic = fetchOptimistic;
|
|
20
|
+
exports.shouldSuspend = shouldSuspend;
|
|
21
|
+
exports.willFetch = willFetch;
|
|
22
|
+
//# sourceMappingURL=suspense.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"suspense.
|
|
1
|
+
{"version":3,"file":"suspense.cjs","sources":["../../src/suspense.ts"],"sourcesContent":["import type {\n DefaultedQueryObserverOptions,\n QueryObserverResult,\n QueryKey,\n QueryObserver,\n} from '@tanstack/query-core'\nimport type { QueryErrorResetBoundaryValue } from './QueryErrorResetBoundary'\n\nexport const ensureStaleTime = (\n defaultedOptions: DefaultedQueryObserverOptions<any, any, any, any, any>,\n) => {\n if (defaultedOptions.suspense) {\n // Always set stale time when using suspense to prevent\n // fetching again when directly mounting after suspending\n if (typeof defaultedOptions.staleTime !== 'number') {\n defaultedOptions.staleTime = 1000\n }\n }\n}\n\nexport const willFetch = (\n result: QueryObserverResult<any, any>,\n isRestoring: boolean,\n) => result.isLoading && result.isFetching && !isRestoring\n\nexport const shouldSuspend = (\n defaultedOptions:\n | DefaultedQueryObserverOptions<any, any, any, any, any>\n | undefined,\n result: QueryObserverResult<any, any>,\n isRestoring: boolean,\n) => defaultedOptions?.suspense && willFetch(result, isRestoring)\n\nexport const fetchOptimistic = <\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey extends QueryKey,\n>(\n defaultedOptions: DefaultedQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n observer: QueryObserver<TQueryFnData, TError, TData, TQueryData, TQueryKey>,\n errorResetBoundary: QueryErrorResetBoundaryValue,\n) =>\n observer.fetchOptimistic(defaultedOptions).catch(() => {\n errorResetBoundary.clearReset()\n })\n"],"names":["ensureStaleTime","defaultedOptions","suspense","staleTime","willFetch","result","isRestoring","isLoading","isFetching","shouldSuspend","fetchOptimistic","observer","errorResetBoundary","catch","clearReset"],"mappings":";;AAQaA,MAAAA,eAAe,GAC1BC,gBAAwE,IACrE;EACH,IAAIA,gBAAgB,CAACC,QAAQ,EAAE;AAC7B;AACA;AACA,IAAA,IAAI,OAAOD,gBAAgB,CAACE,SAAS,KAAK,QAAQ,EAAE;MAClDF,gBAAgB,CAACE,SAAS,GAAG,IAAI,CAAA;AACnC,KAAA;AACF,GAAA;AACF,EAAC;MAEYC,SAAS,GAAGA,CACvBC,MAAqC,EACrCC,WAAoB,KACjBD,MAAM,CAACE,SAAS,IAAIF,MAAM,CAACG,UAAU,IAAI,CAACF,YAAW;MAE7CG,aAAa,GAAGA,CAC3BR,gBAEa,EACbI,MAAqC,EACrCC,WAAoB,KACjBL,gBAAgB,EAAEC,QAAQ,IAAIE,SAAS,CAACC,MAAM,EAAEC,WAAW,EAAC;MAEpDI,eAAe,GAAGA,CAO7BT,gBAMC,EACDU,QAA2E,EAC3EC,kBAAgD,KAEhDD,QAAQ,CAACD,eAAe,CAACT,gBAAgB,CAAC,CAACY,KAAK,CAAC,MAAM;EACrDD,kBAAkB,CAACE,UAAU,EAAE,CAAA;AACjC,CAAC;;;;;;;"}
|
package/build/lib/suspense.js
CHANGED
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
1
|
const ensureStaleTime = defaultedOptions => {
|
|
4
2
|
if (defaultedOptions.suspense) {
|
|
5
3
|
// Always set stale time when using suspense to prevent
|
|
@@ -15,8 +13,5 @@ const fetchOptimistic = (defaultedOptions, observer, errorResetBoundary) => obse
|
|
|
15
13
|
errorResetBoundary.clearReset();
|
|
16
14
|
});
|
|
17
15
|
|
|
18
|
-
|
|
19
|
-
exports.fetchOptimistic = fetchOptimistic;
|
|
20
|
-
exports.shouldSuspend = shouldSuspend;
|
|
21
|
-
exports.willFetch = willFetch;
|
|
16
|
+
export { ensureStaleTime, fetchOptimistic, shouldSuspend, willFetch };
|
|
22
17
|
//# sourceMappingURL=suspense.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"suspense.js","sources":["../../src/suspense.ts"],"sourcesContent":["import type {\n DefaultedQueryObserverOptions,\n QueryObserverResult,\n QueryKey,\n QueryObserver,\n} from '@tanstack/query-core'\nimport type { QueryErrorResetBoundaryValue } from './QueryErrorResetBoundary'\n\nexport const ensureStaleTime = (\n defaultedOptions: DefaultedQueryObserverOptions<any, any, any, any, any>,\n) => {\n if (defaultedOptions.suspense) {\n // Always set stale time when using suspense to prevent\n // fetching again when directly mounting after suspending\n if (typeof defaultedOptions.staleTime !== 'number') {\n defaultedOptions.staleTime = 1000\n }\n }\n}\n\nexport const willFetch = (\n result: QueryObserverResult<any, any>,\n isRestoring: boolean,\n) => result.isLoading && result.isFetching && !isRestoring\n\nexport const shouldSuspend = (\n defaultedOptions:\n | DefaultedQueryObserverOptions<any, any, any, any, any>\n | undefined,\n result: QueryObserverResult<any, any>,\n isRestoring: boolean,\n) => defaultedOptions?.suspense && willFetch(result, isRestoring)\n\nexport const fetchOptimistic = <\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey extends QueryKey,\n>(\n defaultedOptions: DefaultedQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n observer: QueryObserver<TQueryFnData, TError, TData, TQueryData, TQueryKey>,\n errorResetBoundary: QueryErrorResetBoundaryValue,\n) =>\n observer.fetchOptimistic(defaultedOptions).catch(() => {\n errorResetBoundary.clearReset()\n })\n"],"names":["ensureStaleTime","defaultedOptions","suspense","staleTime","willFetch","result","isRestoring","isLoading","isFetching","shouldSuspend","fetchOptimistic","observer","errorResetBoundary","catch","clearReset"],"mappings":"
|
|
1
|
+
{"version":3,"file":"suspense.js","sources":["../../src/suspense.ts"],"sourcesContent":["import type {\n DefaultedQueryObserverOptions,\n QueryObserverResult,\n QueryKey,\n QueryObserver,\n} from '@tanstack/query-core'\nimport type { QueryErrorResetBoundaryValue } from './QueryErrorResetBoundary'\n\nexport const ensureStaleTime = (\n defaultedOptions: DefaultedQueryObserverOptions<any, any, any, any, any>,\n) => {\n if (defaultedOptions.suspense) {\n // Always set stale time when using suspense to prevent\n // fetching again when directly mounting after suspending\n if (typeof defaultedOptions.staleTime !== 'number') {\n defaultedOptions.staleTime = 1000\n }\n }\n}\n\nexport const willFetch = (\n result: QueryObserverResult<any, any>,\n isRestoring: boolean,\n) => result.isLoading && result.isFetching && !isRestoring\n\nexport const shouldSuspend = (\n defaultedOptions:\n | DefaultedQueryObserverOptions<any, any, any, any, any>\n | undefined,\n result: QueryObserverResult<any, any>,\n isRestoring: boolean,\n) => defaultedOptions?.suspense && willFetch(result, isRestoring)\n\nexport const fetchOptimistic = <\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey extends QueryKey,\n>(\n defaultedOptions: DefaultedQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n observer: QueryObserver<TQueryFnData, TError, TData, TQueryData, TQueryKey>,\n errorResetBoundary: QueryErrorResetBoundaryValue,\n) =>\n observer.fetchOptimistic(defaultedOptions).catch(() => {\n errorResetBoundary.clearReset()\n })\n"],"names":["ensureStaleTime","defaultedOptions","suspense","staleTime","willFetch","result","isRestoring","isLoading","isFetching","shouldSuspend","fetchOptimistic","observer","errorResetBoundary","catch","clearReset"],"mappings":"AAQaA,MAAAA,eAAe,GAC1BC,gBAAwE,IACrE;EACH,IAAIA,gBAAgB,CAACC,QAAQ,EAAE;AAC7B;AACA;AACA,IAAA,IAAI,OAAOD,gBAAgB,CAACE,SAAS,KAAK,QAAQ,EAAE;MAClDF,gBAAgB,CAACE,SAAS,GAAG,IAAI,CAAA;AACnC,KAAA;AACF,GAAA;AACF,EAAC;MAEYC,SAAS,GAAGA,CACvBC,MAAqC,EACrCC,WAAoB,KACjBD,MAAM,CAACE,SAAS,IAAIF,MAAM,CAACG,UAAU,IAAI,CAACF,YAAW;MAE7CG,aAAa,GAAGA,CAC3BR,gBAEa,EACbI,MAAqC,EACrCC,WAAoB,KACjBL,gBAAgB,EAAEC,QAAQ,IAAIE,SAAS,CAACC,MAAM,EAAEC,WAAW,EAAC;MAEpDI,eAAe,GAAGA,CAO7BT,gBAMC,EACDU,QAA2E,EAC3EC,kBAAgD,KAEhDD,QAAQ,CAACD,eAAe,CAACT,gBAAgB,CAAC,CAACY,KAAK,CAAC,MAAM;EACrDD,kBAAkB,CAACE,UAAU,EAAE,CAAA;AACjC,CAAC;;;;"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
var React = require('react');
|
|
5
|
+
var queryCore = require('@tanstack/query-core');
|
|
6
|
+
var QueryErrorResetBoundary = require('./QueryErrorResetBoundary.cjs');
|
|
7
|
+
var QueryClientProvider = require('./QueryClientProvider.cjs');
|
|
8
|
+
var isRestoring = require('./isRestoring.cjs');
|
|
9
|
+
var errorBoundaryUtils = require('./errorBoundaryUtils.cjs');
|
|
10
|
+
var suspense = require('./suspense.cjs');
|
|
11
|
+
|
|
12
|
+
function _interopNamespaceDefault(e) {
|
|
13
|
+
var n = Object.create(null);
|
|
14
|
+
if (e) {
|
|
15
|
+
Object.keys(e).forEach(function (k) {
|
|
16
|
+
if (k !== 'default') {
|
|
17
|
+
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
18
|
+
Object.defineProperty(n, k, d.get ? d : {
|
|
19
|
+
enumerable: true,
|
|
20
|
+
get: function () { return e[k]; }
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
n.default = e;
|
|
26
|
+
return Object.freeze(n);
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
var React__namespace = /*#__PURE__*/_interopNamespaceDefault(React);
|
|
30
|
+
|
|
31
|
+
function useBaseQuery(options, Observer, queryClient) {
|
|
32
|
+
const client = QueryClientProvider.useQueryClient(queryClient);
|
|
33
|
+
const isRestoring$1 = isRestoring.useIsRestoring();
|
|
34
|
+
const errorResetBoundary = QueryErrorResetBoundary.useQueryErrorResetBoundary();
|
|
35
|
+
const defaultedOptions = client.defaultQueryOptions(options);
|
|
36
|
+
|
|
37
|
+
// Make sure results are optimistically set in fetching state before subscribing or updating options
|
|
38
|
+
defaultedOptions._optimisticResults = isRestoring$1 ? 'isRestoring' : 'optimistic';
|
|
39
|
+
suspense.ensureStaleTime(defaultedOptions);
|
|
40
|
+
errorBoundaryUtils.ensurePreventErrorBoundaryRetry(defaultedOptions, errorResetBoundary);
|
|
41
|
+
errorBoundaryUtils.useClearResetErrorBoundary(errorResetBoundary);
|
|
42
|
+
const [observer] = React__namespace.useState(() => new Observer(client, defaultedOptions));
|
|
43
|
+
const result = observer.getOptimisticResult(defaultedOptions);
|
|
44
|
+
React__namespace.useSyncExternalStore(React__namespace.useCallback(onStoreChange => isRestoring$1 ? () => undefined : observer.subscribe(queryCore.notifyManager.batchCalls(onStoreChange)), [observer, isRestoring$1]), () => observer.getCurrentResult(), () => observer.getCurrentResult());
|
|
45
|
+
React__namespace.useEffect(() => {
|
|
46
|
+
// Do not notify on updates because of changes in the options because
|
|
47
|
+
// these changes should already be reflected in the optimistic result.
|
|
48
|
+
observer.setOptions(defaultedOptions, {
|
|
49
|
+
listeners: false
|
|
50
|
+
});
|
|
51
|
+
}, [defaultedOptions, observer]);
|
|
52
|
+
|
|
53
|
+
// Handle suspense
|
|
54
|
+
if (suspense.shouldSuspend(defaultedOptions, result, isRestoring$1)) {
|
|
55
|
+
throw suspense.fetchOptimistic(defaultedOptions, observer, errorResetBoundary);
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
// Handle error boundary
|
|
59
|
+
if (errorBoundaryUtils.getHasError({
|
|
60
|
+
result,
|
|
61
|
+
errorResetBoundary,
|
|
62
|
+
throwOnError: defaultedOptions.throwOnError,
|
|
63
|
+
query: observer.getCurrentQuery()
|
|
64
|
+
})) {
|
|
65
|
+
throw result.error;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
// Handle result property usage tracking
|
|
69
|
+
return !defaultedOptions.notifyOnChangeProps ? observer.trackResult(result) : result;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
exports.useBaseQuery = useBaseQuery;
|
|
73
|
+
//# sourceMappingURL=useBaseQuery.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useBaseQuery.
|
|
1
|
+
{"version":3,"file":"useBaseQuery.cjs","sources":["../../src/useBaseQuery.ts"],"sourcesContent":["'use client'\nimport * as React from 'react'\n\nimport type { QueryClient, QueryKey, QueryObserver } from '@tanstack/query-core'\nimport { notifyManager } from '@tanstack/query-core'\nimport { useQueryErrorResetBoundary } from './QueryErrorResetBoundary'\nimport { useQueryClient } from './QueryClientProvider'\nimport type { UseBaseQueryOptions } from './types'\nimport { useIsRestoring } from './isRestoring'\nimport {\n ensurePreventErrorBoundaryRetry,\n getHasError,\n useClearResetErrorBoundary,\n} from './errorBoundaryUtils'\nimport { ensureStaleTime, shouldSuspend, fetchOptimistic } from './suspense'\n\nexport function useBaseQuery<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey extends QueryKey,\n>(\n options: UseBaseQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n Observer: typeof QueryObserver,\n queryClient?: QueryClient,\n) {\n const client = useQueryClient(queryClient)\n const isRestoring = useIsRestoring()\n const errorResetBoundary = useQueryErrorResetBoundary()\n const defaultedOptions = client.defaultQueryOptions(options)\n\n // Make sure results are optimistically set in fetching state before subscribing or updating options\n defaultedOptions._optimisticResults = isRestoring\n ? 'isRestoring'\n : 'optimistic'\n\n ensureStaleTime(defaultedOptions)\n ensurePreventErrorBoundaryRetry(defaultedOptions, errorResetBoundary)\n\n useClearResetErrorBoundary(errorResetBoundary)\n\n const [observer] = React.useState(\n () =>\n new Observer<TQueryFnData, TError, TData, TQueryData, TQueryKey>(\n client,\n defaultedOptions,\n ),\n )\n\n const result = observer.getOptimisticResult(defaultedOptions)\n\n React.useSyncExternalStore(\n React.useCallback(\n (onStoreChange) =>\n isRestoring\n ? () => undefined\n : observer.subscribe(notifyManager.batchCalls(onStoreChange)),\n [observer, isRestoring],\n ),\n () => observer.getCurrentResult(),\n () => observer.getCurrentResult(),\n )\n\n React.useEffect(() => {\n // Do not notify on updates because of changes in the options because\n // these changes should already be reflected in the optimistic result.\n observer.setOptions(defaultedOptions, { listeners: false })\n }, [defaultedOptions, observer])\n\n // Handle suspense\n if (shouldSuspend(defaultedOptions, result, isRestoring)) {\n throw fetchOptimistic(defaultedOptions, observer, errorResetBoundary)\n }\n\n // Handle error boundary\n if (\n getHasError({\n result,\n errorResetBoundary,\n throwOnError: defaultedOptions.throwOnError,\n query: observer.getCurrentQuery(),\n })\n ) {\n throw result.error\n }\n\n // Handle result property usage tracking\n return !defaultedOptions.notifyOnChangeProps\n ? observer.trackResult(result)\n : result\n}\n"],"names":["defaultedOptions","ensurePreventErrorBoundaryRetry","observer","listeners","query"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgBO;AAiBL;AACA;AACA;AACA;;AAEA;AACAA;;AAKAC;;AAIA;AAQA;;;AAeE;AACA;AACAC;AAAwCC;AAAiB;AAC3D;;AAEA;;AAEE;AACF;;AAEA;AACA;;;;AAKIC;AACF;;AAGF;;AAEA;AACA;AAGF;;"}
|
|
@@ -1,48 +1,27 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
var errorBoundaryUtils = require('./errorBoundaryUtils.js');
|
|
10
|
-
var suspense = require('./suspense.js');
|
|
11
|
-
|
|
12
|
-
function _interopNamespaceDefault(e) {
|
|
13
|
-
var n = Object.create(null);
|
|
14
|
-
if (e) {
|
|
15
|
-
Object.keys(e).forEach(function (k) {
|
|
16
|
-
if (k !== 'default') {
|
|
17
|
-
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
18
|
-
Object.defineProperty(n, k, d.get ? d : {
|
|
19
|
-
enumerable: true,
|
|
20
|
-
get: function () { return e[k]; }
|
|
21
|
-
});
|
|
22
|
-
}
|
|
23
|
-
});
|
|
24
|
-
}
|
|
25
|
-
n.default = e;
|
|
26
|
-
return Object.freeze(n);
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
var React__namespace = /*#__PURE__*/_interopNamespaceDefault(React);
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import { notifyManager } from '@tanstack/query-core';
|
|
4
|
+
import { useQueryErrorResetBoundary } from './QueryErrorResetBoundary.js';
|
|
5
|
+
import { useQueryClient } from './QueryClientProvider.js';
|
|
6
|
+
import { useIsRestoring } from './isRestoring.js';
|
|
7
|
+
import { ensurePreventErrorBoundaryRetry, useClearResetErrorBoundary, getHasError } from './errorBoundaryUtils.js';
|
|
8
|
+
import { ensureStaleTime, shouldSuspend, fetchOptimistic } from './suspense.js';
|
|
30
9
|
|
|
31
10
|
function useBaseQuery(options, Observer, queryClient) {
|
|
32
|
-
const client =
|
|
33
|
-
const isRestoring
|
|
34
|
-
const errorResetBoundary =
|
|
11
|
+
const client = useQueryClient(queryClient);
|
|
12
|
+
const isRestoring = useIsRestoring();
|
|
13
|
+
const errorResetBoundary = useQueryErrorResetBoundary();
|
|
35
14
|
const defaultedOptions = client.defaultQueryOptions(options);
|
|
36
15
|
|
|
37
16
|
// Make sure results are optimistically set in fetching state before subscribing or updating options
|
|
38
|
-
defaultedOptions._optimisticResults = isRestoring
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
const [observer] =
|
|
17
|
+
defaultedOptions._optimisticResults = isRestoring ? 'isRestoring' : 'optimistic';
|
|
18
|
+
ensureStaleTime(defaultedOptions);
|
|
19
|
+
ensurePreventErrorBoundaryRetry(defaultedOptions, errorResetBoundary);
|
|
20
|
+
useClearResetErrorBoundary(errorResetBoundary);
|
|
21
|
+
const [observer] = React.useState(() => new Observer(client, defaultedOptions));
|
|
43
22
|
const result = observer.getOptimisticResult(defaultedOptions);
|
|
44
|
-
|
|
45
|
-
|
|
23
|
+
React.useSyncExternalStore(React.useCallback(onStoreChange => isRestoring ? () => undefined : observer.subscribe(notifyManager.batchCalls(onStoreChange)), [observer, isRestoring]), () => observer.getCurrentResult(), () => observer.getCurrentResult());
|
|
24
|
+
React.useEffect(() => {
|
|
46
25
|
// Do not notify on updates because of changes in the options because
|
|
47
26
|
// these changes should already be reflected in the optimistic result.
|
|
48
27
|
observer.setOptions(defaultedOptions, {
|
|
@@ -51,12 +30,12 @@ function useBaseQuery(options, Observer, queryClient) {
|
|
|
51
30
|
}, [defaultedOptions, observer]);
|
|
52
31
|
|
|
53
32
|
// Handle suspense
|
|
54
|
-
if (
|
|
55
|
-
throw
|
|
33
|
+
if (shouldSuspend(defaultedOptions, result, isRestoring)) {
|
|
34
|
+
throw fetchOptimistic(defaultedOptions, observer, errorResetBoundary);
|
|
56
35
|
}
|
|
57
36
|
|
|
58
37
|
// Handle error boundary
|
|
59
|
-
if (
|
|
38
|
+
if (getHasError({
|
|
60
39
|
result,
|
|
61
40
|
errorResetBoundary,
|
|
62
41
|
throwOnError: defaultedOptions.throwOnError,
|
|
@@ -69,5 +48,5 @@ function useBaseQuery(options, Observer, queryClient) {
|
|
|
69
48
|
return !defaultedOptions.notifyOnChangeProps ? observer.trackResult(result) : result;
|
|
70
49
|
}
|
|
71
50
|
|
|
72
|
-
|
|
51
|
+
export { useBaseQuery };
|
|
73
52
|
//# sourceMappingURL=useBaseQuery.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useBaseQuery.js","sources":["../../src/useBaseQuery.ts"],"sourcesContent":["'use client'\nimport * as React from 'react'\n\nimport type { QueryClient, QueryKey, QueryObserver } from '@tanstack/query-core'\nimport { notifyManager } from '@tanstack/query-core'\nimport { useQueryErrorResetBoundary } from './QueryErrorResetBoundary'\nimport { useQueryClient } from './QueryClientProvider'\nimport type { UseBaseQueryOptions } from './types'\nimport { useIsRestoring } from './isRestoring'\nimport {\n ensurePreventErrorBoundaryRetry,\n getHasError,\n useClearResetErrorBoundary,\n} from './errorBoundaryUtils'\nimport { ensureStaleTime, shouldSuspend, fetchOptimistic } from './suspense'\n\nexport function useBaseQuery<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey extends QueryKey,\n>(\n options: UseBaseQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n Observer: typeof QueryObserver,\n queryClient?: QueryClient,\n) {\n const client = useQueryClient(queryClient)\n const isRestoring = useIsRestoring()\n const errorResetBoundary = useQueryErrorResetBoundary()\n const defaultedOptions = client.defaultQueryOptions(options)\n\n // Make sure results are optimistically set in fetching state before subscribing or updating options\n defaultedOptions._optimisticResults = isRestoring\n ? 'isRestoring'\n : 'optimistic'\n\n ensureStaleTime(defaultedOptions)\n ensurePreventErrorBoundaryRetry(defaultedOptions, errorResetBoundary)\n\n useClearResetErrorBoundary(errorResetBoundary)\n\n const [observer] = React.useState(\n () =>\n new Observer<TQueryFnData, TError, TData, TQueryData, TQueryKey>(\n client,\n defaultedOptions,\n ),\n )\n\n const result = observer.getOptimisticResult(defaultedOptions)\n\n React.useSyncExternalStore(\n React.useCallback(\n (onStoreChange) =>\n isRestoring\n ? () => undefined\n : observer.subscribe(notifyManager.batchCalls(onStoreChange)),\n [observer, isRestoring],\n ),\n () => observer.getCurrentResult(),\n () => observer.getCurrentResult(),\n )\n\n React.useEffect(() => {\n // Do not notify on updates because of changes in the options because\n // these changes should already be reflected in the optimistic result.\n observer.setOptions(defaultedOptions, { listeners: false })\n }, [defaultedOptions, observer])\n\n // Handle suspense\n if (shouldSuspend(defaultedOptions, result, isRestoring)) {\n throw fetchOptimistic(defaultedOptions, observer, errorResetBoundary)\n }\n\n // Handle error boundary\n if (\n getHasError({\n result,\n errorResetBoundary,\n throwOnError: defaultedOptions.throwOnError,\n query: observer.getCurrentQuery(),\n })\n ) {\n throw result.error\n }\n\n // Handle result property usage tracking\n return !defaultedOptions.notifyOnChangeProps\n ? observer.trackResult(result)\n : result\n}\n"],"names":["defaultedOptions","ensurePreventErrorBoundaryRetry","observer","listeners","query"],"mappings":"
|
|
1
|
+
{"version":3,"file":"useBaseQuery.js","sources":["../../src/useBaseQuery.ts"],"sourcesContent":["'use client'\nimport * as React from 'react'\n\nimport type { QueryClient, QueryKey, QueryObserver } from '@tanstack/query-core'\nimport { notifyManager } from '@tanstack/query-core'\nimport { useQueryErrorResetBoundary } from './QueryErrorResetBoundary'\nimport { useQueryClient } from './QueryClientProvider'\nimport type { UseBaseQueryOptions } from './types'\nimport { useIsRestoring } from './isRestoring'\nimport {\n ensurePreventErrorBoundaryRetry,\n getHasError,\n useClearResetErrorBoundary,\n} from './errorBoundaryUtils'\nimport { ensureStaleTime, shouldSuspend, fetchOptimistic } from './suspense'\n\nexport function useBaseQuery<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey extends QueryKey,\n>(\n options: UseBaseQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n Observer: typeof QueryObserver,\n queryClient?: QueryClient,\n) {\n const client = useQueryClient(queryClient)\n const isRestoring = useIsRestoring()\n const errorResetBoundary = useQueryErrorResetBoundary()\n const defaultedOptions = client.defaultQueryOptions(options)\n\n // Make sure results are optimistically set in fetching state before subscribing or updating options\n defaultedOptions._optimisticResults = isRestoring\n ? 'isRestoring'\n : 'optimistic'\n\n ensureStaleTime(defaultedOptions)\n ensurePreventErrorBoundaryRetry(defaultedOptions, errorResetBoundary)\n\n useClearResetErrorBoundary(errorResetBoundary)\n\n const [observer] = React.useState(\n () =>\n new Observer<TQueryFnData, TError, TData, TQueryData, TQueryKey>(\n client,\n defaultedOptions,\n ),\n )\n\n const result = observer.getOptimisticResult(defaultedOptions)\n\n React.useSyncExternalStore(\n React.useCallback(\n (onStoreChange) =>\n isRestoring\n ? () => undefined\n : observer.subscribe(notifyManager.batchCalls(onStoreChange)),\n [observer, isRestoring],\n ),\n () => observer.getCurrentResult(),\n () => observer.getCurrentResult(),\n )\n\n React.useEffect(() => {\n // Do not notify on updates because of changes in the options because\n // these changes should already be reflected in the optimistic result.\n observer.setOptions(defaultedOptions, { listeners: false })\n }, [defaultedOptions, observer])\n\n // Handle suspense\n if (shouldSuspend(defaultedOptions, result, isRestoring)) {\n throw fetchOptimistic(defaultedOptions, observer, errorResetBoundary)\n }\n\n // Handle error boundary\n if (\n getHasError({\n result,\n errorResetBoundary,\n throwOnError: defaultedOptions.throwOnError,\n query: observer.getCurrentQuery(),\n })\n ) {\n throw result.error\n }\n\n // Handle result property usage tracking\n return !defaultedOptions.notifyOnChangeProps\n ? observer.trackResult(result)\n : result\n}\n"],"names":["defaultedOptions","ensurePreventErrorBoundaryRetry","observer","listeners","query"],"mappings":";;;;;;;;;AAgBO;AAiBL;AACA;AACA;AACA;;AAEA;AACAA;;AAKAC;;AAIA;AAQA;;;AAeE;AACA;AACAC;AAAwCC;AAAiB;AAC3D;;AAEA;;AAEE;AACF;;AAEA;AACA;;;;AAKIC;AACF;;AAGF;;AAEA;AACA;AAGF;;"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
var queryCore = require('@tanstack/query-core');
|
|
5
|
+
var useBaseQuery = require('./useBaseQuery.cjs');
|
|
6
|
+
|
|
7
|
+
// HOOK
|
|
8
|
+
function useInfiniteQuery(options, queryClient) {
|
|
9
|
+
return useBaseQuery.useBaseQuery(options,
|
|
10
|
+
// eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion
|
|
11
|
+
queryCore.InfiniteQueryObserver, queryClient);
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
exports.useInfiniteQuery = useInfiniteQuery;
|
|
15
|
+
//# sourceMappingURL=useInfiniteQuery.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useInfiniteQuery.
|
|
1
|
+
{"version":3,"file":"useInfiniteQuery.cjs","sources":["../../src/useInfiniteQuery.ts"],"sourcesContent":["'use client'\nimport type {\n QueryObserver,\n QueryKey,\n QueryClient,\n DefaultError,\n InfiniteData,\n} from '@tanstack/query-core'\nimport { InfiniteQueryObserver } from '@tanstack/query-core'\nimport type { UseInfiniteQueryOptions, UseInfiniteQueryResult } from './types'\nimport { useBaseQuery } from './useBaseQuery'\n\n// HOOK\nexport function useInfiniteQuery<\n TQueryFnData,\n TError = DefaultError,\n TData = InfiniteData<TQueryFnData>,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n>(\n options: UseInfiniteQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryFnData,\n TQueryKey,\n TPageParam\n >,\n queryClient?: QueryClient,\n): UseInfiniteQueryResult<TData, TError> {\n return useBaseQuery(\n options,\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion\n InfiniteQueryObserver as typeof QueryObserver,\n queryClient,\n ) as UseInfiniteQueryResult<TData, TError>\n}\n"],"names":[],"mappings":";;;;;;AAYA;AACO;;AAmBH;;AAIJ;;"}
|
|
@@ -1,15 +1,13 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
var queryCore = require('@tanstack/query-core');
|
|
5
|
-
var useBaseQuery = require('./useBaseQuery.js');
|
|
2
|
+
import { InfiniteQueryObserver } from '@tanstack/query-core';
|
|
3
|
+
import { useBaseQuery } from './useBaseQuery.js';
|
|
6
4
|
|
|
7
5
|
// HOOK
|
|
8
6
|
function useInfiniteQuery(options, queryClient) {
|
|
9
|
-
return useBaseQuery
|
|
7
|
+
return useBaseQuery(options,
|
|
10
8
|
// eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion
|
|
11
|
-
|
|
9
|
+
InfiniteQueryObserver, queryClient);
|
|
12
10
|
}
|
|
13
11
|
|
|
14
|
-
|
|
12
|
+
export { useInfiniteQuery };
|
|
15
13
|
//# sourceMappingURL=useInfiniteQuery.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useInfiniteQuery.js","sources":["../../src/useInfiniteQuery.ts"],"sourcesContent":["'use client'\nimport type {\n QueryObserver,\n QueryKey,\n QueryClient,\n DefaultError,\n InfiniteData,\n} from '@tanstack/query-core'\nimport { InfiniteQueryObserver } from '@tanstack/query-core'\nimport type { UseInfiniteQueryOptions, UseInfiniteQueryResult } from './types'\nimport { useBaseQuery } from './useBaseQuery'\n\n// HOOK\nexport function useInfiniteQuery<\n TQueryFnData,\n TError = DefaultError,\n TData = InfiniteData<TQueryFnData>,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n>(\n options: UseInfiniteQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryFnData,\n TQueryKey,\n TPageParam\n >,\n queryClient?: QueryClient,\n): UseInfiniteQueryResult<TData, TError> {\n return useBaseQuery(\n options,\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion\n InfiniteQueryObserver as typeof QueryObserver,\n queryClient,\n ) as UseInfiniteQueryResult<TData, TError>\n}\n"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useInfiniteQuery.js","sources":["../../src/useInfiniteQuery.ts"],"sourcesContent":["'use client'\nimport type {\n QueryObserver,\n QueryKey,\n QueryClient,\n DefaultError,\n InfiniteData,\n} from '@tanstack/query-core'\nimport { InfiniteQueryObserver } from '@tanstack/query-core'\nimport type { UseInfiniteQueryOptions, UseInfiniteQueryResult } from './types'\nimport { useBaseQuery } from './useBaseQuery'\n\n// HOOK\nexport function useInfiniteQuery<\n TQueryFnData,\n TError = DefaultError,\n TData = InfiniteData<TQueryFnData>,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n>(\n options: UseInfiniteQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryFnData,\n TQueryKey,\n TPageParam\n >,\n queryClient?: QueryClient,\n): UseInfiniteQueryResult<TData, TError> {\n return useBaseQuery(\n options,\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion\n InfiniteQueryObserver as typeof QueryObserver,\n queryClient,\n ) as UseInfiniteQueryResult<TData, TError>\n}\n"],"names":[],"mappings":";;;;AAYA;AACO;;AAmBH;;AAIJ;;"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
var React = require('react');
|
|
5
|
+
var queryCore = require('@tanstack/query-core');
|
|
6
|
+
var QueryClientProvider = require('./QueryClientProvider.cjs');
|
|
7
|
+
|
|
8
|
+
function _interopNamespaceDefault(e) {
|
|
9
|
+
var n = Object.create(null);
|
|
10
|
+
if (e) {
|
|
11
|
+
Object.keys(e).forEach(function (k) {
|
|
12
|
+
if (k !== 'default') {
|
|
13
|
+
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
14
|
+
Object.defineProperty(n, k, d.get ? d : {
|
|
15
|
+
enumerable: true,
|
|
16
|
+
get: function () { return e[k]; }
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
n.default = e;
|
|
22
|
+
return Object.freeze(n);
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
var React__namespace = /*#__PURE__*/_interopNamespaceDefault(React);
|
|
26
|
+
|
|
27
|
+
function useIsFetching(filters, queryClient) {
|
|
28
|
+
const client = QueryClientProvider.useQueryClient(queryClient);
|
|
29
|
+
const queryCache = client.getQueryCache();
|
|
30
|
+
return React__namespace.useSyncExternalStore(React__namespace.useCallback(onStoreChange => queryCache.subscribe(queryCore.notifyManager.batchCalls(onStoreChange)), [queryCache]), () => client.isFetching(filters), () => client.isFetching(filters));
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
exports.useIsFetching = useIsFetching;
|
|
34
|
+
//# sourceMappingURL=useIsFetching.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useIsFetching.
|
|
1
|
+
{"version":3,"file":"useIsFetching.cjs","sources":["../../src/useIsFetching.ts"],"sourcesContent":["'use client'\nimport * as React from 'react'\nimport type { QueryClient, QueryFilters } from '@tanstack/query-core'\nimport { notifyManager } from '@tanstack/query-core'\n\nimport { useQueryClient } from './QueryClientProvider'\n\nexport function useIsFetching(\n filters?: QueryFilters,\n queryClient?: QueryClient,\n): number {\n const client = useQueryClient(queryClient)\n const queryCache = client.getQueryCache()\n\n return React.useSyncExternalStore(\n React.useCallback(\n (onStoreChange) =>\n queryCache.subscribe(notifyManager.batchCalls(onStoreChange)),\n [queryCache],\n ),\n () => client.isFetching(filters),\n () => client.isFetching(filters),\n )\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAOO;AAIL;AACA;AAEA;AASF;;"}
|
|
@@ -1,34 +1,13 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
var queryCore = require('@tanstack/query-core');
|
|
6
|
-
var QueryClientProvider = require('./QueryClientProvider.js');
|
|
7
|
-
|
|
8
|
-
function _interopNamespaceDefault(e) {
|
|
9
|
-
var n = Object.create(null);
|
|
10
|
-
if (e) {
|
|
11
|
-
Object.keys(e).forEach(function (k) {
|
|
12
|
-
if (k !== 'default') {
|
|
13
|
-
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
14
|
-
Object.defineProperty(n, k, d.get ? d : {
|
|
15
|
-
enumerable: true,
|
|
16
|
-
get: function () { return e[k]; }
|
|
17
|
-
});
|
|
18
|
-
}
|
|
19
|
-
});
|
|
20
|
-
}
|
|
21
|
-
n.default = e;
|
|
22
|
-
return Object.freeze(n);
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
var React__namespace = /*#__PURE__*/_interopNamespaceDefault(React);
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import { notifyManager } from '@tanstack/query-core';
|
|
4
|
+
import { useQueryClient } from './QueryClientProvider.js';
|
|
26
5
|
|
|
27
6
|
function useIsFetching(filters, queryClient) {
|
|
28
|
-
const client =
|
|
7
|
+
const client = useQueryClient(queryClient);
|
|
29
8
|
const queryCache = client.getQueryCache();
|
|
30
|
-
return
|
|
9
|
+
return React.useSyncExternalStore(React.useCallback(onStoreChange => queryCache.subscribe(notifyManager.batchCalls(onStoreChange)), [queryCache]), () => client.isFetching(filters), () => client.isFetching(filters));
|
|
31
10
|
}
|
|
32
11
|
|
|
33
|
-
|
|
12
|
+
export { useIsFetching };
|
|
34
13
|
//# sourceMappingURL=useIsFetching.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useIsFetching.js","sources":["../../src/useIsFetching.ts"],"sourcesContent":["'use client'\nimport * as React from 'react'\nimport type { QueryClient, QueryFilters } from '@tanstack/query-core'\nimport { notifyManager } from '@tanstack/query-core'\n\nimport { useQueryClient } from './QueryClientProvider'\n\nexport function useIsFetching(\n filters?: QueryFilters,\n queryClient?: QueryClient,\n): number {\n const client = useQueryClient(queryClient)\n const queryCache = client.getQueryCache()\n\n return React.useSyncExternalStore(\n React.useCallback(\n (onStoreChange) =>\n queryCache.subscribe(notifyManager.batchCalls(onStoreChange)),\n [queryCache],\n ),\n () => client.isFetching(filters),\n () => client.isFetching(filters),\n )\n}\n"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useIsFetching.js","sources":["../../src/useIsFetching.ts"],"sourcesContent":["'use client'\nimport * as React from 'react'\nimport type { QueryClient, QueryFilters } from '@tanstack/query-core'\nimport { notifyManager } from '@tanstack/query-core'\n\nimport { useQueryClient } from './QueryClientProvider'\n\nexport function useIsFetching(\n filters?: QueryFilters,\n queryClient?: QueryClient,\n): number {\n const client = useQueryClient(queryClient)\n const queryCache = client.getQueryCache()\n\n return React.useSyncExternalStore(\n React.useCallback(\n (onStoreChange) =>\n queryCache.subscribe(notifyManager.batchCalls(onStoreChange)),\n [queryCache],\n ),\n () => client.isFetching(filters),\n () => client.isFetching(filters),\n )\n}\n"],"names":[],"mappings":";;;;;AAOO;AAIL;AACA;AAEA;AASF;;"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
var React = require('react');
|
|
5
|
+
var queryCore = require('@tanstack/query-core');
|
|
6
|
+
var QueryClientProvider = require('./QueryClientProvider.cjs');
|
|
7
|
+
var utils = require('./utils.cjs');
|
|
8
|
+
|
|
9
|
+
function _interopNamespaceDefault(e) {
|
|
10
|
+
var n = Object.create(null);
|
|
11
|
+
if (e) {
|
|
12
|
+
Object.keys(e).forEach(function (k) {
|
|
13
|
+
if (k !== 'default') {
|
|
14
|
+
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
15
|
+
Object.defineProperty(n, k, d.get ? d : {
|
|
16
|
+
enumerable: true,
|
|
17
|
+
get: function () { return e[k]; }
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
n.default = e;
|
|
23
|
+
return Object.freeze(n);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
var React__namespace = /*#__PURE__*/_interopNamespaceDefault(React);
|
|
27
|
+
|
|
28
|
+
// HOOK
|
|
29
|
+
|
|
30
|
+
function useMutation(options, queryClient) {
|
|
31
|
+
const client = QueryClientProvider.useQueryClient(queryClient);
|
|
32
|
+
const [observer] = React__namespace.useState(() => new queryCore.MutationObserver(client, options));
|
|
33
|
+
React__namespace.useEffect(() => {
|
|
34
|
+
observer.setOptions(options);
|
|
35
|
+
}, [observer, options]);
|
|
36
|
+
const result = React__namespace.useSyncExternalStore(React__namespace.useCallback(onStoreChange => observer.subscribe(queryCore.notifyManager.batchCalls(onStoreChange)), [observer]), () => observer.getCurrentResult(), () => observer.getCurrentResult());
|
|
37
|
+
const mutate = React__namespace.useCallback((variables, mutateOptions) => {
|
|
38
|
+
observer.mutate(variables, mutateOptions).catch(noop);
|
|
39
|
+
}, [observer]);
|
|
40
|
+
if (result.error && utils.shouldThrowError(observer.options.throwOnError, [result.error])) {
|
|
41
|
+
throw result.error;
|
|
42
|
+
}
|
|
43
|
+
return {
|
|
44
|
+
...result,
|
|
45
|
+
mutate,
|
|
46
|
+
mutateAsync: result.mutate
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
51
|
+
function noop() {}
|
|
52
|
+
|
|
53
|
+
exports.useMutation = useMutation;
|
|
54
|
+
//# sourceMappingURL=useMutation.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMutation.
|
|
1
|
+
{"version":3,"file":"useMutation.cjs","sources":["../../src/useMutation.ts"],"sourcesContent":["'use client'\nimport * as React from 'react'\nimport type { QueryClient, DefaultError } from '@tanstack/query-core'\nimport { notifyManager, MutationObserver } from '@tanstack/query-core'\nimport { useQueryClient } from './QueryClientProvider'\nimport type {\n UseMutateFunction,\n UseMutationOptions,\n UseMutationResult,\n} from './types'\nimport { shouldThrowError } from './utils'\n\n// HOOK\n\nexport function useMutation<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TContext = unknown,\n>(\n options: UseMutationOptions<TData, TError, TVariables, TContext>,\n queryClient?: QueryClient,\n): UseMutationResult<TData, TError, TVariables, TContext> {\n const client = useQueryClient(queryClient)\n\n const [observer] = React.useState(\n () =>\n new MutationObserver<TData, TError, TVariables, TContext>(\n client,\n options,\n ),\n )\n\n React.useEffect(() => {\n observer.setOptions(options)\n }, [observer, options])\n\n const result = React.useSyncExternalStore(\n React.useCallback(\n (onStoreChange) =>\n observer.subscribe(notifyManager.batchCalls(onStoreChange)),\n [observer],\n ),\n () => observer.getCurrentResult(),\n () => observer.getCurrentResult(),\n )\n\n const mutate = React.useCallback<\n UseMutateFunction<TData, TError, TVariables, TContext>\n >(\n (variables, mutateOptions) => {\n observer.mutate(variables, mutateOptions).catch(noop)\n },\n [observer],\n )\n\n if (\n result.error &&\n shouldThrowError(observer.options.throwOnError, [result.error])\n ) {\n throw result.error\n }\n\n return { ...result, mutate, mutateAsync: result.mutate }\n}\n\n// eslint-disable-next-line @typescript-eslint/no-empty-function\nfunction noop() {}\n"],"names":["observer"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAYA;;AAEO;AASL;AAEA;;AASEA;AACF;AAEA;;;AAeE;AAIF;;AAKA;;AAES;;;;AACX;;AAEA;AACA;;"}
|
package/build/lib/useMutation.js
CHANGED
|
@@ -1,43 +1,22 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
var QueryClientProvider = require('./QueryClientProvider.js');
|
|
7
|
-
var utils = require('./utils.js');
|
|
8
|
-
|
|
9
|
-
function _interopNamespaceDefault(e) {
|
|
10
|
-
var n = Object.create(null);
|
|
11
|
-
if (e) {
|
|
12
|
-
Object.keys(e).forEach(function (k) {
|
|
13
|
-
if (k !== 'default') {
|
|
14
|
-
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
15
|
-
Object.defineProperty(n, k, d.get ? d : {
|
|
16
|
-
enumerable: true,
|
|
17
|
-
get: function () { return e[k]; }
|
|
18
|
-
});
|
|
19
|
-
}
|
|
20
|
-
});
|
|
21
|
-
}
|
|
22
|
-
n.default = e;
|
|
23
|
-
return Object.freeze(n);
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
var React__namespace = /*#__PURE__*/_interopNamespaceDefault(React);
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import { MutationObserver, notifyManager } from '@tanstack/query-core';
|
|
4
|
+
import { useQueryClient } from './QueryClientProvider.js';
|
|
5
|
+
import { shouldThrowError } from './utils.js';
|
|
27
6
|
|
|
28
7
|
// HOOK
|
|
29
8
|
|
|
30
9
|
function useMutation(options, queryClient) {
|
|
31
|
-
const client =
|
|
32
|
-
const [observer] =
|
|
33
|
-
|
|
10
|
+
const client = useQueryClient(queryClient);
|
|
11
|
+
const [observer] = React.useState(() => new MutationObserver(client, options));
|
|
12
|
+
React.useEffect(() => {
|
|
34
13
|
observer.setOptions(options);
|
|
35
14
|
}, [observer, options]);
|
|
36
|
-
const result =
|
|
37
|
-
const mutate =
|
|
15
|
+
const result = React.useSyncExternalStore(React.useCallback(onStoreChange => observer.subscribe(notifyManager.batchCalls(onStoreChange)), [observer]), () => observer.getCurrentResult(), () => observer.getCurrentResult());
|
|
16
|
+
const mutate = React.useCallback((variables, mutateOptions) => {
|
|
38
17
|
observer.mutate(variables, mutateOptions).catch(noop);
|
|
39
18
|
}, [observer]);
|
|
40
|
-
if (result.error &&
|
|
19
|
+
if (result.error && shouldThrowError(observer.options.throwOnError, [result.error])) {
|
|
41
20
|
throw result.error;
|
|
42
21
|
}
|
|
43
22
|
return {
|
|
@@ -50,5 +29,5 @@ function useMutation(options, queryClient) {
|
|
|
50
29
|
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
51
30
|
function noop() {}
|
|
52
31
|
|
|
53
|
-
|
|
32
|
+
export { useMutation };
|
|
54
33
|
//# sourceMappingURL=useMutation.js.map
|