@tanstack/vue-query 5.54.1 → 5.54.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/legacy/devtools/devtools.d.cts +1 -1
- package/build/legacy/devtools/devtools.d.ts +1 -1
- package/build/legacy/index.d.cts +1 -1
- package/build/legacy/index.d.ts +1 -1
- package/build/legacy/infiniteQueryOptions.d.cts +1 -1
- package/build/legacy/infiniteQueryOptions.d.ts +1 -1
- package/build/legacy/{queryClient-hn1RYJHC.d.ts → queryClient-Bq4NnYa7.d.ts} +4 -0
- package/build/legacy/{queryClient-DvIKsqGL.d.cts → queryClient-v1s104Ur.d.cts} +4 -0
- package/build/legacy/queryClient.d.cts +1 -1
- package/build/legacy/queryClient.d.ts +1 -1
- package/build/legacy/queryOptions.d.cts +1 -1
- package/build/legacy/queryOptions.d.ts +1 -1
- package/build/legacy/useBaseQuery.cjs +6 -2
- package/build/legacy/useBaseQuery.cjs.map +1 -1
- package/build/legacy/useBaseQuery.d.cts +1 -1
- package/build/legacy/useBaseQuery.d.ts +1 -1
- package/build/legacy/useBaseQuery.js +8 -3
- package/build/legacy/useBaseQuery.js.map +1 -1
- package/build/legacy/useInfiniteQuery.cjs.map +1 -1
- package/build/legacy/useInfiniteQuery.d.cts +1 -1
- package/build/legacy/useInfiniteQuery.d.ts +1 -1
- package/build/legacy/useInfiniteQuery.js.map +1 -1
- package/build/legacy/useIsFetching.d.cts +1 -1
- package/build/legacy/useIsFetching.d.ts +1 -1
- package/build/legacy/useMutation.cjs +3 -2
- package/build/legacy/useMutation.cjs.map +1 -1
- package/build/legacy/useMutation.d.cts +7 -4
- package/build/legacy/useMutation.d.ts +7 -4
- package/build/legacy/useMutation.js +5 -3
- package/build/legacy/useMutation.js.map +1 -1
- package/build/legacy/useMutationState.cjs +2 -2
- package/build/legacy/useMutationState.cjs.map +1 -1
- package/build/legacy/useMutationState.d.cts +3 -3
- package/build/legacy/useMutationState.d.ts +3 -3
- package/build/legacy/useMutationState.js +4 -4
- package/build/legacy/useMutationState.js.map +1 -1
- package/build/legacy/useQueries.cjs +1 -1
- package/build/legacy/useQueries.cjs.map +1 -1
- package/build/legacy/useQueries.d.cts +2 -1
- package/build/legacy/useQueries.d.ts +2 -1
- package/build/legacy/useQueries.js +2 -1
- package/build/legacy/useQueries.js.map +1 -1
- package/build/legacy/useQuery.cjs.map +1 -1
- package/build/legacy/useQuery.d.cts +1 -1
- package/build/legacy/useQuery.d.ts +1 -1
- package/build/legacy/useQuery.js.map +1 -1
- package/build/legacy/useQueryClient.d.cts +1 -1
- package/build/legacy/useQueryClient.d.ts +1 -1
- 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.map +1 -1
- package/build/legacy/vueQueryPlugin.d.cts +1 -1
- package/build/legacy/vueQueryPlugin.d.ts +1 -1
- package/build/modern/devtools/devtools.d.cts +1 -1
- package/build/modern/devtools/devtools.d.ts +1 -1
- package/build/modern/index.d.cts +1 -1
- package/build/modern/index.d.ts +1 -1
- package/build/modern/infiniteQueryOptions.d.cts +1 -1
- package/build/modern/infiniteQueryOptions.d.ts +1 -1
- package/build/modern/{queryClient-hn1RYJHC.d.ts → queryClient-Bq4NnYa7.d.ts} +4 -0
- package/build/modern/{queryClient-DvIKsqGL.d.cts → queryClient-v1s104Ur.d.cts} +4 -0
- package/build/modern/queryClient.d.cts +1 -1
- package/build/modern/queryClient.d.ts +1 -1
- package/build/modern/queryOptions.d.cts +1 -1
- package/build/modern/queryOptions.d.ts +1 -1
- package/build/modern/useBaseQuery.cjs +6 -2
- package/build/modern/useBaseQuery.cjs.map +1 -1
- package/build/modern/useBaseQuery.d.cts +1 -1
- package/build/modern/useBaseQuery.d.ts +1 -1
- package/build/modern/useBaseQuery.js +8 -3
- package/build/modern/useBaseQuery.js.map +1 -1
- package/build/modern/useInfiniteQuery.cjs.map +1 -1
- package/build/modern/useInfiniteQuery.d.cts +1 -1
- package/build/modern/useInfiniteQuery.d.ts +1 -1
- package/build/modern/useInfiniteQuery.js.map +1 -1
- package/build/modern/useIsFetching.d.cts +1 -1
- package/build/modern/useIsFetching.d.ts +1 -1
- package/build/modern/useMutation.cjs +3 -2
- package/build/modern/useMutation.cjs.map +1 -1
- package/build/modern/useMutation.d.cts +7 -4
- package/build/modern/useMutation.d.ts +7 -4
- package/build/modern/useMutation.js +5 -3
- package/build/modern/useMutation.js.map +1 -1
- package/build/modern/useMutationState.cjs +2 -2
- package/build/modern/useMutationState.cjs.map +1 -1
- package/build/modern/useMutationState.d.cts +3 -3
- package/build/modern/useMutationState.d.ts +3 -3
- package/build/modern/useMutationState.js +4 -4
- package/build/modern/useMutationState.js.map +1 -1
- package/build/modern/useQueries.cjs +1 -1
- package/build/modern/useQueries.cjs.map +1 -1
- package/build/modern/useQueries.d.cts +2 -1
- package/build/modern/useQueries.d.ts +2 -1
- package/build/modern/useQueries.js +2 -1
- package/build/modern/useQueries.js.map +1 -1
- package/build/modern/useQuery.cjs.map +1 -1
- package/build/modern/useQuery.d.cts +1 -1
- package/build/modern/useQuery.d.ts +1 -1
- package/build/modern/useQuery.js.map +1 -1
- package/build/modern/useQueryClient.d.cts +1 -1
- package/build/modern/useQueryClient.d.ts +1 -1
- 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.map +1 -1
- package/build/modern/vueQueryPlugin.d.cts +1 -1
- package/build/modern/vueQueryPlugin.d.ts +1 -1
- package/package.json +1 -1
- package/src/useBaseQuery.ts +12 -3
- package/src/useInfiniteQuery.ts +2 -0
- package/src/useMutation.ts +18 -5
- package/src/useMutationState.ts +8 -6
- package/src/useQueries.ts +7 -1
- package/src/useQuery.ts +31 -27
- package/src/utils.ts +1 -1
package/build/legacy/index.d.cts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export * from '@tanstack/query-core';
|
|
2
2
|
export { useQueryClient } from './useQueryClient.cjs';
|
|
3
3
|
export { VueQueryPlugin, VueQueryPluginOptions } from './vueQueryPlugin.cjs';
|
|
4
|
-
export { D as DefinedInitialQueryOptions, Q as QueryClient, d as UndefinedInitialQueryOptions, e as UseInfiniteQueryOptions, f as UseInfiniteQueryReturnType, c as UseQueryDefinedReturnType, U as UseQueryOptions, b as UseQueryReturnType, a as useInfiniteQuery, u as useQuery } from './queryClient-
|
|
4
|
+
export { D as DefinedInitialQueryOptions, Q as QueryClient, d as UndefinedInitialQueryOptions, e as UseInfiniteQueryOptions, f as UseInfiniteQueryReturnType, c as UseQueryDefinedReturnType, U as UseQueryOptions, b as UseQueryReturnType, a as useInfiniteQuery, u as useQuery } from './queryClient-v1s104Ur.cjs';
|
|
5
5
|
export { QueryCache } from './queryCache.cjs';
|
|
6
6
|
export { queryOptions } from './queryOptions.cjs';
|
|
7
7
|
export { DefinedInitialDataInfiniteOptions, UndefinedInitialDataInfiniteOptions, infiniteQueryOptions } from './infiniteQueryOptions.cjs';
|
package/build/legacy/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export * from '@tanstack/query-core';
|
|
2
2
|
export { useQueryClient } from './useQueryClient.js';
|
|
3
3
|
export { VueQueryPlugin, VueQueryPluginOptions } from './vueQueryPlugin.js';
|
|
4
|
-
export { D as DefinedInitialQueryOptions, Q as QueryClient, d as UndefinedInitialQueryOptions, e as UseInfiniteQueryOptions, f as UseInfiniteQueryReturnType, c as UseQueryDefinedReturnType, U as UseQueryOptions, b as UseQueryReturnType, a as useInfiniteQuery, u as useQuery } from './queryClient-
|
|
4
|
+
export { D as DefinedInitialQueryOptions, Q as QueryClient, d as UndefinedInitialQueryOptions, e as UseInfiniteQueryOptions, f as UseInfiniteQueryReturnType, c as UseQueryDefinedReturnType, U as UseQueryOptions, b as UseQueryReturnType, a as useInfiniteQuery, u as useQuery } from './queryClient-Bq4NnYa7.js';
|
|
5
5
|
export { QueryCache } from './queryCache.js';
|
|
6
6
|
export { queryOptions } from './queryOptions.js';
|
|
7
7
|
export { DefinedInitialDataInfiniteOptions, UndefinedInitialDataInfiniteOptions, infiniteQueryOptions } from './infiniteQueryOptions.js';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { DefaultError, InfiniteData, QueryKey, DataTag } from '@tanstack/query-core';
|
|
2
|
-
import { e as UseInfiniteQueryOptions } from './queryClient-
|
|
2
|
+
import { e as UseInfiniteQueryOptions } from './queryClient-v1s104Ur.cjs';
|
|
3
3
|
import 'vue-demi';
|
|
4
4
|
import './types.cjs';
|
|
5
5
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { DefaultError, InfiniteData, QueryKey, DataTag } from '@tanstack/query-core';
|
|
2
|
-
import { e as UseInfiniteQueryOptions } from './queryClient-
|
|
2
|
+
import { e as UseInfiniteQueryOptions } from './queryClient-Bq4NnYa7.js';
|
|
3
3
|
import 'vue-demi';
|
|
4
4
|
import './types.js';
|
|
5
5
|
|
|
@@ -4,6 +4,8 @@ import { MaybeRefOrGetter, DeepUnwrapRef, MaybeRefDeep, MaybeRef, NoUnknown } fr
|
|
|
4
4
|
|
|
5
5
|
type UseInfiniteQueryOptions<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryData = TQueryFnData, TQueryKey extends QueryKey = QueryKey, TPageParam = unknown> = {
|
|
6
6
|
[Property in keyof InfiniteQueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey, TPageParam>]: Property extends 'enabled' ? MaybeRefOrGetter<InfiniteQueryObserverOptions<TQueryFnData, TError, TData, TQueryData, DeepUnwrapRef<TQueryKey>>[Property]> : MaybeRefDeep<InfiniteQueryObserverOptions<TQueryFnData, TError, TData, TQueryData, DeepUnwrapRef<TQueryKey>, TPageParam>[Property]>;
|
|
7
|
+
} & {
|
|
8
|
+
shallow?: boolean;
|
|
7
9
|
};
|
|
8
10
|
type UseInfiniteQueryReturnType<TData, TError> = UseBaseQueryReturnType<TData, TError, InfiniteQueryObserverResult<TData, TError>>;
|
|
9
11
|
declare function useInfiniteQuery<TQueryFnData, TError = DefaultError, TData = InfiniteData<TQueryFnData>, TQueryKey extends QueryKey = QueryKey, TPageParam = unknown>(options: UseInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryFnData, TQueryKey, TPageParam>, queryClient?: QueryClient): UseInfiniteQueryReturnType<TData, TError>;
|
|
@@ -19,6 +21,8 @@ declare function useBaseQuery<TQueryFnData, TError, TData, TQueryData, TQueryKey
|
|
|
19
21
|
type NonUndefinedGuard<T> = T extends undefined ? never : T;
|
|
20
22
|
type UseQueryOptions<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryData = TQueryFnData, TQueryKey extends QueryKey = QueryKey> = MaybeRef<{
|
|
21
23
|
[Property in keyof QueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey>]: Property extends 'enabled' ? MaybeRefOrGetter<QueryObserverOptions<TQueryFnData, TError, TData, TQueryData, DeepUnwrapRef<TQueryKey>>[Property]> : MaybeRefDeep<QueryObserverOptions<TQueryFnData, TError, TData, TQueryData, DeepUnwrapRef<TQueryKey>>[Property]>;
|
|
24
|
+
} & {
|
|
25
|
+
shallow?: boolean;
|
|
22
26
|
}>;
|
|
23
27
|
type UndefinedInitialQueryOptions<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey> = UseQueryOptions<TQueryFnData, TError, TData, TQueryFnData, TQueryKey> & {
|
|
24
28
|
initialData?: undefined;
|
|
@@ -4,6 +4,8 @@ import { MaybeRefOrGetter, DeepUnwrapRef, MaybeRefDeep, MaybeRef, NoUnknown } fr
|
|
|
4
4
|
|
|
5
5
|
type UseInfiniteQueryOptions<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryData = TQueryFnData, TQueryKey extends QueryKey = QueryKey, TPageParam = unknown> = {
|
|
6
6
|
[Property in keyof InfiniteQueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey, TPageParam>]: Property extends 'enabled' ? MaybeRefOrGetter<InfiniteQueryObserverOptions<TQueryFnData, TError, TData, TQueryData, DeepUnwrapRef<TQueryKey>>[Property]> : MaybeRefDeep<InfiniteQueryObserverOptions<TQueryFnData, TError, TData, TQueryData, DeepUnwrapRef<TQueryKey>, TPageParam>[Property]>;
|
|
7
|
+
} & {
|
|
8
|
+
shallow?: boolean;
|
|
7
9
|
};
|
|
8
10
|
type UseInfiniteQueryReturnType<TData, TError> = UseBaseQueryReturnType<TData, TError, InfiniteQueryObserverResult<TData, TError>>;
|
|
9
11
|
declare function useInfiniteQuery<TQueryFnData, TError = DefaultError, TData = InfiniteData<TQueryFnData>, TQueryKey extends QueryKey = QueryKey, TPageParam = unknown>(options: UseInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryFnData, TQueryKey, TPageParam>, queryClient?: QueryClient): UseInfiniteQueryReturnType<TData, TError>;
|
|
@@ -19,6 +21,8 @@ declare function useBaseQuery<TQueryFnData, TError, TData, TQueryData, TQueryKey
|
|
|
19
21
|
type NonUndefinedGuard<T> = T extends undefined ? never : T;
|
|
20
22
|
type UseQueryOptions<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryData = TQueryFnData, TQueryKey extends QueryKey = QueryKey> = MaybeRef<{
|
|
21
23
|
[Property in keyof QueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey>]: Property extends 'enabled' ? MaybeRefOrGetter<QueryObserverOptions<TQueryFnData, TError, TData, TQueryData, DeepUnwrapRef<TQueryKey>>[Property]> : MaybeRefDeep<QueryObserverOptions<TQueryFnData, TError, TData, TQueryData, DeepUnwrapRef<TQueryKey>>[Property]>;
|
|
24
|
+
} & {
|
|
25
|
+
shallow?: boolean;
|
|
22
26
|
}>;
|
|
23
27
|
type UndefinedInitialQueryOptions<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey> = UseQueryOptions<TQueryFnData, TError, TData, TQueryFnData, TQueryKey> & {
|
|
24
28
|
initialData?: undefined;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { DefaultError, QueryKey, DataTag } from '@tanstack/query-core';
|
|
2
|
-
import { d as UndefinedInitialQueryOptions, D as DefinedInitialQueryOptions } from './queryClient-
|
|
2
|
+
import { d as UndefinedInitialQueryOptions, D as DefinedInitialQueryOptions } from './queryClient-v1s104Ur.cjs';
|
|
3
3
|
import 'vue-demi';
|
|
4
4
|
import './types.cjs';
|
|
5
5
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { DefaultError, QueryKey, DataTag } from '@tanstack/query-core';
|
|
2
|
-
import { d as UndefinedInitialQueryOptions, D as DefinedInitialQueryOptions } from './queryClient-
|
|
2
|
+
import { d as UndefinedInitialQueryOptions, D as DefinedInitialQueryOptions } from './queryClient-Bq4NnYa7.js';
|
|
3
3
|
import 'vue-demi';
|
|
4
4
|
import './types.js';
|
|
5
5
|
|
|
@@ -45,7 +45,7 @@ function useBaseQuery(Observer, options, queryClient) {
|
|
|
45
45
|
return defaulted;
|
|
46
46
|
});
|
|
47
47
|
const observer = new Observer(client, defaultedOptions.value);
|
|
48
|
-
const state = (0, import_vue_demi.
|
|
48
|
+
const state = (0, import_vue_demi.shallowReactive)(observer.getCurrentResult());
|
|
49
49
|
let unsubscribe = () => {
|
|
50
50
|
};
|
|
51
51
|
(0, import_vue_demi.watch)(
|
|
@@ -117,7 +117,11 @@ function useBaseQuery(Observer, options, queryClient) {
|
|
|
117
117
|
}
|
|
118
118
|
}
|
|
119
119
|
);
|
|
120
|
-
const
|
|
120
|
+
const readonlyState = process.env.NODE_ENV === "production" ? state : (
|
|
121
|
+
// @ts-expect-error
|
|
122
|
+
defaultedOptions.value.shallow ? (0, import_vue_demi.shallowReadonly)(state) : (0, import_vue_demi.readonly)(state)
|
|
123
|
+
);
|
|
124
|
+
const object = (0, import_vue_demi.toRefs)(readonlyState);
|
|
121
125
|
for (const key in state) {
|
|
122
126
|
if (typeof state[key] === "function") {
|
|
123
127
|
object[key] = state[key];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/useBaseQuery.ts"],"sourcesContent":["import {\n computed,\n getCurrentScope,\n onScopeDispose,\n
|
|
1
|
+
{"version":3,"sources":["../../src/useBaseQuery.ts"],"sourcesContent":["import {\n computed,\n getCurrentScope,\n onScopeDispose,\n readonly,\n shallowReactive,\n shallowReadonly,\n toRefs,\n watch,\n} from 'vue-demi'\nimport { useQueryClient } from './useQueryClient'\nimport { cloneDeepUnref, shouldThrowError, updateState } from './utils'\nimport type { Ref } from 'vue-demi'\nimport type {\n DefaultedQueryObserverOptions,\n QueryKey,\n QueryObserver,\n QueryObserverResult,\n} from '@tanstack/query-core'\nimport type { QueryClient } from './queryClient'\nimport type { UseQueryOptions } from './useQuery'\nimport type { UseInfiniteQueryOptions } from './useInfiniteQuery'\n\nexport type UseBaseQueryReturnType<\n TData,\n TError,\n TResult = QueryObserverResult<TData, TError>,\n> = {\n [K in keyof TResult]: K extends\n | 'fetchNextPage'\n | 'fetchPreviousPage'\n | 'refetch'\n ? TResult[K]\n : Ref<Readonly<TResult>[K]>\n} & {\n suspense: () => Promise<TResult>\n}\n\ntype UseQueryOptionsGeneric<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n> =\n | UseQueryOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey>\n | UseInfiniteQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey,\n TPageParam\n >\n\nexport function useBaseQuery<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey extends QueryKey,\n TPageParam,\n>(\n Observer: typeof QueryObserver,\n options: UseQueryOptionsGeneric<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey,\n TPageParam\n >,\n queryClient?: QueryClient,\n): UseBaseQueryReturnType<TData, TError> {\n if (process.env.NODE_ENV === 'development') {\n if (!getCurrentScope()) {\n console.warn(\n 'vue-query composable like \"useQuery()\" should only be used inside a \"setup()\" function or a running effect scope. They might otherwise lead to memory leaks.',\n )\n }\n }\n\n const client = queryClient || useQueryClient()\n\n const defaultedOptions = computed(() => {\n const clonedOptions = cloneDeepUnref(options as any)\n\n if (typeof clonedOptions.enabled === 'function') {\n clonedOptions.enabled = clonedOptions.enabled()\n }\n\n const defaulted: DefaultedQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n > = client.defaultQueryOptions(clonedOptions)\n\n defaulted._optimisticResults = client.isRestoring.value\n ? 'isRestoring'\n : 'optimistic'\n\n return defaulted\n })\n\n const observer = new Observer(client, defaultedOptions.value)\n const state = shallowReactive(observer.getCurrentResult())\n\n let unsubscribe = () => {\n // noop\n }\n\n watch(\n client.isRestoring,\n (isRestoring) => {\n if (!isRestoring) {\n unsubscribe()\n unsubscribe = observer.subscribe((result) => {\n updateState(state, result)\n })\n }\n },\n { immediate: true },\n )\n\n const updater = () => {\n observer.setOptions(defaultedOptions.value)\n updateState(state, observer.getCurrentResult())\n }\n\n watch(defaultedOptions, updater)\n\n onScopeDispose(() => {\n unsubscribe()\n })\n\n // fix #5910\n const refetch = (...args: Parameters<(typeof state)['refetch']>) => {\n updater()\n return state.refetch(...args)\n }\n\n const suspense = () => {\n return new Promise<QueryObserverResult<TData, TError>>(\n (resolve, reject) => {\n let stopWatch = () => {\n // noop\n }\n const run = () => {\n if (defaultedOptions.value.enabled !== false) {\n // fix #6133\n observer.setOptions(defaultedOptions.value)\n const optimisticResult = observer.getOptimisticResult(\n defaultedOptions.value,\n )\n if (optimisticResult.isStale) {\n stopWatch()\n observer\n .fetchOptimistic(defaultedOptions.value)\n .then(resolve, (error: TError) => {\n if (\n shouldThrowError(defaultedOptions.value.throwOnError, [\n error,\n observer.getCurrentQuery(),\n ])\n ) {\n reject(error)\n } else {\n resolve(observer.getCurrentResult())\n }\n })\n } else {\n stopWatch()\n resolve(optimisticResult)\n }\n }\n }\n\n run()\n\n stopWatch = watch(defaultedOptions, run)\n },\n )\n }\n\n // Handle error boundary\n watch(\n () => state.error,\n (error) => {\n if (\n state.isError &&\n !state.isFetching &&\n shouldThrowError(defaultedOptions.value.throwOnError, [\n error as TError,\n observer.getCurrentQuery(),\n ])\n ) {\n throw error\n }\n },\n )\n\n const readonlyState =\n process.env.NODE_ENV === 'production'\n ? state\n : // @ts-expect-error\n defaultedOptions.value.shallow\n ? shallowReadonly(state)\n : readonly(state)\n\n const object: any = toRefs(readonlyState)\n for (const key in state) {\n if (typeof state[key as keyof typeof state] === 'function') {\n object[key] = state[key as keyof typeof state]\n }\n }\n\n object.suspense = suspense\n object.refetch = refetch\n\n return object as UseBaseQueryReturnType<TData, TError>\n}\n"],"mappings":"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","names":[]}
|
|
@@ -3,8 +3,9 @@ import {
|
|
|
3
3
|
computed,
|
|
4
4
|
getCurrentScope,
|
|
5
5
|
onScopeDispose,
|
|
6
|
-
reactive,
|
|
7
6
|
readonly,
|
|
7
|
+
shallowReactive,
|
|
8
|
+
shallowReadonly,
|
|
8
9
|
toRefs,
|
|
9
10
|
watch
|
|
10
11
|
} from "vue-demi";
|
|
@@ -29,7 +30,7 @@ function useBaseQuery(Observer, options, queryClient) {
|
|
|
29
30
|
return defaulted;
|
|
30
31
|
});
|
|
31
32
|
const observer = new Observer(client, defaultedOptions.value);
|
|
32
|
-
const state =
|
|
33
|
+
const state = shallowReactive(observer.getCurrentResult());
|
|
33
34
|
let unsubscribe = () => {
|
|
34
35
|
};
|
|
35
36
|
watch(
|
|
@@ -101,7 +102,11 @@ function useBaseQuery(Observer, options, queryClient) {
|
|
|
101
102
|
}
|
|
102
103
|
}
|
|
103
104
|
);
|
|
104
|
-
const
|
|
105
|
+
const readonlyState = process.env.NODE_ENV === "production" ? state : (
|
|
106
|
+
// @ts-expect-error
|
|
107
|
+
defaultedOptions.value.shallow ? shallowReadonly(state) : readonly(state)
|
|
108
|
+
);
|
|
109
|
+
const object = toRefs(readonlyState);
|
|
105
110
|
for (const key in state) {
|
|
106
111
|
if (typeof state[key] === "function") {
|
|
107
112
|
object[key] = state[key];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/useBaseQuery.ts"],"sourcesContent":["import {\n computed,\n getCurrentScope,\n onScopeDispose,\n
|
|
1
|
+
{"version":3,"sources":["../../src/useBaseQuery.ts"],"sourcesContent":["import {\n computed,\n getCurrentScope,\n onScopeDispose,\n readonly,\n shallowReactive,\n shallowReadonly,\n toRefs,\n watch,\n} from 'vue-demi'\nimport { useQueryClient } from './useQueryClient'\nimport { cloneDeepUnref, shouldThrowError, updateState } from './utils'\nimport type { Ref } from 'vue-demi'\nimport type {\n DefaultedQueryObserverOptions,\n QueryKey,\n QueryObserver,\n QueryObserverResult,\n} from '@tanstack/query-core'\nimport type { QueryClient } from './queryClient'\nimport type { UseQueryOptions } from './useQuery'\nimport type { UseInfiniteQueryOptions } from './useInfiniteQuery'\n\nexport type UseBaseQueryReturnType<\n TData,\n TError,\n TResult = QueryObserverResult<TData, TError>,\n> = {\n [K in keyof TResult]: K extends\n | 'fetchNextPage'\n | 'fetchPreviousPage'\n | 'refetch'\n ? TResult[K]\n : Ref<Readonly<TResult>[K]>\n} & {\n suspense: () => Promise<TResult>\n}\n\ntype UseQueryOptionsGeneric<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n> =\n | UseQueryOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey>\n | UseInfiniteQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey,\n TPageParam\n >\n\nexport function useBaseQuery<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey extends QueryKey,\n TPageParam,\n>(\n Observer: typeof QueryObserver,\n options: UseQueryOptionsGeneric<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey,\n TPageParam\n >,\n queryClient?: QueryClient,\n): UseBaseQueryReturnType<TData, TError> {\n if (process.env.NODE_ENV === 'development') {\n if (!getCurrentScope()) {\n console.warn(\n 'vue-query composable like \"useQuery()\" should only be used inside a \"setup()\" function or a running effect scope. They might otherwise lead to memory leaks.',\n )\n }\n }\n\n const client = queryClient || useQueryClient()\n\n const defaultedOptions = computed(() => {\n const clonedOptions = cloneDeepUnref(options as any)\n\n if (typeof clonedOptions.enabled === 'function') {\n clonedOptions.enabled = clonedOptions.enabled()\n }\n\n const defaulted: DefaultedQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n > = client.defaultQueryOptions(clonedOptions)\n\n defaulted._optimisticResults = client.isRestoring.value\n ? 'isRestoring'\n : 'optimistic'\n\n return defaulted\n })\n\n const observer = new Observer(client, defaultedOptions.value)\n const state = shallowReactive(observer.getCurrentResult())\n\n let unsubscribe = () => {\n // noop\n }\n\n watch(\n client.isRestoring,\n (isRestoring) => {\n if (!isRestoring) {\n unsubscribe()\n unsubscribe = observer.subscribe((result) => {\n updateState(state, result)\n })\n }\n },\n { immediate: true },\n )\n\n const updater = () => {\n observer.setOptions(defaultedOptions.value)\n updateState(state, observer.getCurrentResult())\n }\n\n watch(defaultedOptions, updater)\n\n onScopeDispose(() => {\n unsubscribe()\n })\n\n // fix #5910\n const refetch = (...args: Parameters<(typeof state)['refetch']>) => {\n updater()\n return state.refetch(...args)\n }\n\n const suspense = () => {\n return new Promise<QueryObserverResult<TData, TError>>(\n (resolve, reject) => {\n let stopWatch = () => {\n // noop\n }\n const run = () => {\n if (defaultedOptions.value.enabled !== false) {\n // fix #6133\n observer.setOptions(defaultedOptions.value)\n const optimisticResult = observer.getOptimisticResult(\n defaultedOptions.value,\n )\n if (optimisticResult.isStale) {\n stopWatch()\n observer\n .fetchOptimistic(defaultedOptions.value)\n .then(resolve, (error: TError) => {\n if (\n shouldThrowError(defaultedOptions.value.throwOnError, [\n error,\n observer.getCurrentQuery(),\n ])\n ) {\n reject(error)\n } else {\n resolve(observer.getCurrentResult())\n }\n })\n } else {\n stopWatch()\n resolve(optimisticResult)\n }\n }\n }\n\n run()\n\n stopWatch = watch(defaultedOptions, run)\n },\n )\n }\n\n // Handle error boundary\n watch(\n () => state.error,\n (error) => {\n if (\n state.isError &&\n !state.isFetching &&\n shouldThrowError(defaultedOptions.value.throwOnError, [\n error as TError,\n observer.getCurrentQuery(),\n ])\n ) {\n throw error\n }\n },\n )\n\n const readonlyState =\n process.env.NODE_ENV === 'production'\n ? state\n : // @ts-expect-error\n defaultedOptions.value.shallow\n ? shallowReadonly(state)\n : readonly(state)\n\n const object: any = toRefs(readonlyState)\n for (const key in state) {\n if (typeof state[key as keyof typeof state] === 'function') {\n object[key] = state[key as keyof typeof state]\n }\n }\n\n object.suspense = suspense\n object.refetch = refetch\n\n return object as UseBaseQueryReturnType<TData, TError>\n}\n"],"mappings":"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","names":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/useInfiniteQuery.ts"],"sourcesContent":["import { InfiniteQueryObserver } from '@tanstack/query-core'\nimport { useBaseQuery } from './useBaseQuery'\nimport type {\n DefaultError,\n InfiniteData,\n InfiniteQueryObserverOptions,\n InfiniteQueryObserverResult,\n QueryKey,\n QueryObserver,\n} from '@tanstack/query-core'\n\nimport type { UseBaseQueryReturnType } from './useBaseQuery'\n\nimport type { DeepUnwrapRef, MaybeRefDeep, MaybeRefOrGetter } from './types'\nimport type { QueryClient } from './queryClient'\n\nexport type UseInfiniteQueryOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n> = {\n [Property in keyof InfiniteQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey,\n TPageParam\n >]: Property extends 'enabled'\n ? MaybeRefOrGetter<\n InfiniteQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n DeepUnwrapRef<TQueryKey>\n >[Property]\n >\n : MaybeRefDeep<\n InfiniteQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n DeepUnwrapRef<TQueryKey>,\n TPageParam\n >[Property]\n >\n}\n\nexport type UseInfiniteQueryReturnType<TData, TError> = UseBaseQueryReturnType<\n TData,\n TError,\n InfiniteQueryObserverResult<TData, TError>\n>\n\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): UseInfiniteQueryReturnType<TData, TError> {\n return useBaseQuery(\n InfiniteQueryObserver as typeof QueryObserver,\n options,\n queryClient,\n ) as UseInfiniteQueryReturnType<TData, TError>\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAAsC;AACtC,0BAA6B;
|
|
1
|
+
{"version":3,"sources":["../../src/useInfiniteQuery.ts"],"sourcesContent":["import { InfiniteQueryObserver } from '@tanstack/query-core'\nimport { useBaseQuery } from './useBaseQuery'\nimport type {\n DefaultError,\n InfiniteData,\n InfiniteQueryObserverOptions,\n InfiniteQueryObserverResult,\n QueryKey,\n QueryObserver,\n} from '@tanstack/query-core'\n\nimport type { UseBaseQueryReturnType } from './useBaseQuery'\n\nimport type { DeepUnwrapRef, MaybeRefDeep, MaybeRefOrGetter } from './types'\nimport type { QueryClient } from './queryClient'\n\nexport type UseInfiniteQueryOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n> = {\n [Property in keyof InfiniteQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey,\n TPageParam\n >]: Property extends 'enabled'\n ? MaybeRefOrGetter<\n InfiniteQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n DeepUnwrapRef<TQueryKey>\n >[Property]\n >\n : MaybeRefDeep<\n InfiniteQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n DeepUnwrapRef<TQueryKey>,\n TPageParam\n >[Property]\n >\n} & {\n shallow?: boolean\n}\n\nexport type UseInfiniteQueryReturnType<TData, TError> = UseBaseQueryReturnType<\n TData,\n TError,\n InfiniteQueryObserverResult<TData, TError>\n>\n\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): UseInfiniteQueryReturnType<TData, TError> {\n return useBaseQuery(\n InfiniteQueryObserver as typeof QueryObserver,\n options,\n queryClient,\n ) as UseInfiniteQueryReturnType<TData, TError>\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAAsC;AACtC,0BAA6B;AA4DtB,SAAS,iBAOd,SAQA,aAC2C;AAC3C,aAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;","names":[]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import '@tanstack/query-core';
|
|
2
|
-
export { e as UseInfiniteQueryOptions, f as UseInfiniteQueryReturnType, a as useInfiniteQuery } from './queryClient-
|
|
2
|
+
export { e as UseInfiniteQueryOptions, f as UseInfiniteQueryReturnType, a as useInfiniteQuery } from './queryClient-v1s104Ur.cjs';
|
|
3
3
|
import './types.cjs';
|
|
4
4
|
import 'vue-demi';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import '@tanstack/query-core';
|
|
2
|
-
export { e as UseInfiniteQueryOptions, f as UseInfiniteQueryReturnType, a as useInfiniteQuery } from './queryClient-
|
|
2
|
+
export { e as UseInfiniteQueryOptions, f as UseInfiniteQueryReturnType, a as useInfiniteQuery } from './queryClient-Bq4NnYa7.js';
|
|
3
3
|
import './types.js';
|
|
4
4
|
import 'vue-demi';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/useInfiniteQuery.ts"],"sourcesContent":["import { InfiniteQueryObserver } from '@tanstack/query-core'\nimport { useBaseQuery } from './useBaseQuery'\nimport type {\n DefaultError,\n InfiniteData,\n InfiniteQueryObserverOptions,\n InfiniteQueryObserverResult,\n QueryKey,\n QueryObserver,\n} from '@tanstack/query-core'\n\nimport type { UseBaseQueryReturnType } from './useBaseQuery'\n\nimport type { DeepUnwrapRef, MaybeRefDeep, MaybeRefOrGetter } from './types'\nimport type { QueryClient } from './queryClient'\n\nexport type UseInfiniteQueryOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n> = {\n [Property in keyof InfiniteQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey,\n TPageParam\n >]: Property extends 'enabled'\n ? MaybeRefOrGetter<\n InfiniteQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n DeepUnwrapRef<TQueryKey>\n >[Property]\n >\n : MaybeRefDeep<\n InfiniteQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n DeepUnwrapRef<TQueryKey>,\n TPageParam\n >[Property]\n >\n}\n\nexport type UseInfiniteQueryReturnType<TData, TError> = UseBaseQueryReturnType<\n TData,\n TError,\n InfiniteQueryObserverResult<TData, TError>\n>\n\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): UseInfiniteQueryReturnType<TData, TError> {\n return useBaseQuery(\n InfiniteQueryObserver as typeof QueryObserver,\n options,\n queryClient,\n ) as UseInfiniteQueryReturnType<TData, TError>\n}\n"],"mappings":";AAAA,SAAS,6BAA6B;AACtC,SAAS,oBAAoB;
|
|
1
|
+
{"version":3,"sources":["../../src/useInfiniteQuery.ts"],"sourcesContent":["import { InfiniteQueryObserver } from '@tanstack/query-core'\nimport { useBaseQuery } from './useBaseQuery'\nimport type {\n DefaultError,\n InfiniteData,\n InfiniteQueryObserverOptions,\n InfiniteQueryObserverResult,\n QueryKey,\n QueryObserver,\n} from '@tanstack/query-core'\n\nimport type { UseBaseQueryReturnType } from './useBaseQuery'\n\nimport type { DeepUnwrapRef, MaybeRefDeep, MaybeRefOrGetter } from './types'\nimport type { QueryClient } from './queryClient'\n\nexport type UseInfiniteQueryOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n> = {\n [Property in keyof InfiniteQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey,\n TPageParam\n >]: Property extends 'enabled'\n ? MaybeRefOrGetter<\n InfiniteQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n DeepUnwrapRef<TQueryKey>\n >[Property]\n >\n : MaybeRefDeep<\n InfiniteQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n DeepUnwrapRef<TQueryKey>,\n TPageParam\n >[Property]\n >\n} & {\n shallow?: boolean\n}\n\nexport type UseInfiniteQueryReturnType<TData, TError> = UseBaseQueryReturnType<\n TData,\n TError,\n InfiniteQueryObserverResult<TData, TError>\n>\n\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): UseInfiniteQueryReturnType<TData, TError> {\n return useBaseQuery(\n InfiniteQueryObserver as typeof QueryObserver,\n options,\n queryClient,\n ) as UseInfiniteQueryReturnType<TData, TError>\n}\n"],"mappings":";AAAA,SAAS,6BAA6B;AACtC,SAAS,oBAAoB;AA4DtB,SAAS,iBAOd,SAQA,aAC2C;AAC3C,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;","names":[]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Ref } from 'vue-demi';
|
|
2
2
|
import { QueryFilters as QueryFilters$1 } from '@tanstack/query-core';
|
|
3
3
|
import { MaybeRefDeep } from './types.cjs';
|
|
4
|
-
import { Q as QueryClient } from './queryClient-
|
|
4
|
+
import { Q as QueryClient } from './queryClient-v1s104Ur.cjs';
|
|
5
5
|
|
|
6
6
|
type QueryFilters = MaybeRefDeep<QueryFilters$1>;
|
|
7
7
|
declare function useIsFetching(fetchingFilters?: MaybeRefDeep<QueryFilters$1>, queryClient?: QueryClient): Ref<number>;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Ref } from 'vue-demi';
|
|
2
2
|
import { QueryFilters as QueryFilters$1 } from '@tanstack/query-core';
|
|
3
3
|
import { MaybeRefDeep } from './types.js';
|
|
4
|
-
import { Q as QueryClient } from './queryClient-
|
|
4
|
+
import { Q as QueryClient } from './queryClient-Bq4NnYa7.js';
|
|
5
5
|
|
|
6
6
|
type QueryFilters = MaybeRefDeep<QueryFilters$1>;
|
|
7
7
|
declare function useIsFetching(fetchingFilters?: MaybeRefDeep<QueryFilters$1>, queryClient?: QueryClient): Ref<number>;
|
|
@@ -40,7 +40,7 @@ function useMutation(mutationOptions, queryClient) {
|
|
|
40
40
|
return client.defaultMutationOptions((0, import_utils.cloneDeepUnref)(mutationOptions));
|
|
41
41
|
});
|
|
42
42
|
const observer = new import_query_core.MutationObserver(client, options.value);
|
|
43
|
-
const state = (0, import_vue_demi.
|
|
43
|
+
const state = (0, import_vue_demi.shallowReactive)(observer.getCurrentResult());
|
|
44
44
|
const unsubscribe = observer.subscribe((result) => {
|
|
45
45
|
(0, import_utils.updateState)(state, result);
|
|
46
46
|
});
|
|
@@ -54,7 +54,8 @@ function useMutation(mutationOptions, queryClient) {
|
|
|
54
54
|
(0, import_vue_demi.onScopeDispose)(() => {
|
|
55
55
|
unsubscribe();
|
|
56
56
|
});
|
|
57
|
-
const
|
|
57
|
+
const readonlyState = process.env.NODE_ENV === "production" ? state : options.value.shallow ? (0, import_vue_demi.shallowReadonly)(state) : (0, import_vue_demi.readonly)(state);
|
|
58
|
+
const resultRefs = (0, import_vue_demi.toRefs)(readonlyState);
|
|
58
59
|
(0, import_vue_demi.watch)(
|
|
59
60
|
() => state.error,
|
|
60
61
|
(error) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/useMutation.ts"],"sourcesContent":["import {\n computed,\n getCurrentScope,\n onScopeDispose,\n
|
|
1
|
+
{"version":3,"sources":["../../src/useMutation.ts"],"sourcesContent":["import {\n computed,\n getCurrentScope,\n onScopeDispose,\n readonly,\n shallowReactive,\n shallowReadonly,\n toRefs,\n watch,\n} from 'vue-demi'\nimport { MutationObserver } from '@tanstack/query-core'\nimport { cloneDeepUnref, shouldThrowError, updateState } from './utils'\nimport { useQueryClient } from './useQueryClient'\nimport type { ToRefs } from 'vue-demi'\nimport type {\n DefaultError,\n MutateFunction,\n MutateOptions,\n MutationObserverOptions,\n MutationObserverResult,\n} from '@tanstack/query-core'\nimport type { DistributiveOmit, MaybeRefDeep } from './types'\nimport type { QueryClient } from './queryClient'\n\ntype MutationResult<TData, TError, TVariables, TContext> = DistributiveOmit<\n MutationObserverResult<TData, TError, TVariables, TContext>,\n 'mutate' | 'reset'\n>\n\ntype UseMutationOptionsBase<TData, TError, TVariables, TContext> =\n MutationObserverOptions<TData, TError, TVariables, TContext> & {\n shallow?: boolean\n }\n\nexport type UseMutationOptions<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TContext = unknown,\n> = MaybeRefDeep<UseMutationOptionsBase<TData, TError, TVariables, TContext>>\n\ntype MutateSyncFunction<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TContext = unknown,\n> = (\n ...options: Parameters<MutateFunction<TData, TError, TVariables, TContext>>\n) => void\n\nexport type UseMutationReturnType<\n TData,\n TError,\n TVariables,\n TContext,\n TResult = MutationResult<TData, TError, TVariables, TContext>,\n> = ToRefs<Readonly<TResult>> & {\n mutate: MutateSyncFunction<TData, TError, TVariables, TContext>\n mutateAsync: MutateFunction<TData, TError, TVariables, TContext>\n reset: MutationObserverResult<TData, TError, TVariables, TContext>['reset']\n}\n\nexport function useMutation<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TContext = unknown,\n>(\n mutationOptions: MaybeRefDeep<\n UseMutationOptionsBase<TData, TError, TVariables, TContext>\n >,\n queryClient?: QueryClient,\n): UseMutationReturnType<TData, TError, TVariables, TContext> {\n if (process.env.NODE_ENV === 'development') {\n if (!getCurrentScope()) {\n console.warn(\n 'vue-query composable like \"useQuery()\" should only be used inside a \"setup()\" function or a running effect scope. They might otherwise lead to memory leaks.',\n )\n }\n }\n\n const client = queryClient || useQueryClient()\n const options = computed(() => {\n return client.defaultMutationOptions(cloneDeepUnref(mutationOptions))\n })\n const observer = new MutationObserver(client, options.value)\n const state = shallowReactive(observer.getCurrentResult())\n\n const unsubscribe = observer.subscribe((result) => {\n updateState(state, result)\n })\n\n const mutate = (\n variables: TVariables,\n mutateOptions?: MutateOptions<TData, TError, TVariables, TContext>,\n ) => {\n observer.mutate(variables, mutateOptions).catch(() => {\n // This is intentional\n })\n }\n\n watch(options, () => {\n observer.setOptions(options.value)\n })\n\n onScopeDispose(() => {\n unsubscribe()\n })\n\n const readonlyState =\n process.env.NODE_ENV === 'production'\n ? state\n : options.value.shallow\n ? shallowReadonly(state)\n : readonly(state)\n\n const resultRefs = toRefs(readonlyState) as ToRefs<\n Readonly<MutationResult<TData, TError, TVariables, TContext>>\n >\n\n watch(\n () => state.error,\n (error) => {\n if (\n error &&\n shouldThrowError(options.value.throwOnError, [error as TError])\n ) {\n throw error\n }\n },\n )\n\n return {\n ...resultRefs,\n mutate,\n mutateAsync: state.mutate,\n reset: state.reset,\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBASO;AACP,wBAAiC;AACjC,mBAA8D;AAC9D,4BAA+B;AAkDxB,SAAS,YAMd,iBAGA,aAC4D;AAC5D,MAAI,QAAQ,IAAI,aAAa,eAAe;AAC1C,QAAI,KAAC,iCAAgB,GAAG;AACtB,cAAQ;AAAA,QACN;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAEA,QAAM,SAAS,mBAAe,sCAAe;AAC7C,QAAM,cAAU,0BAAS,MAAM;AAC7B,WAAO,OAAO,2BAAuB,6BAAe,eAAe,CAAC;AAAA,EACtE,CAAC;AACD,QAAM,WAAW,IAAI,mCAAiB,QAAQ,QAAQ,KAAK;AAC3D,QAAM,YAAQ,iCAAgB,SAAS,iBAAiB,CAAC;AAEzD,QAAM,cAAc,SAAS,UAAU,CAAC,WAAW;AACjD,kCAAY,OAAO,MAAM;AAAA,EAC3B,CAAC;AAED,QAAM,SAAS,CACb,WACA,kBACG;AACH,aAAS,OAAO,WAAW,aAAa,EAAE,MAAM,MAAM;AAAA,IAEtD,CAAC;AAAA,EACH;AAEA,6BAAM,SAAS,MAAM;AACnB,aAAS,WAAW,QAAQ,KAAK;AAAA,EACnC,CAAC;AAED,sCAAe,MAAM;AACnB,gBAAY;AAAA,EACd,CAAC;AAED,QAAM,gBACJ,QAAQ,IAAI,aAAa,eACrB,QACA,QAAQ,MAAM,cACZ,iCAAgB,KAAK,QACrB,0BAAS,KAAK;AAEtB,QAAM,iBAAa,wBAAO,aAAa;AAIvC;AAAA,IACE,MAAM,MAAM;AAAA,IACZ,CAAC,UAAU;AACT,UACE,aACA,+BAAiB,QAAQ,MAAM,cAAc,CAAC,KAAe,CAAC,GAC9D;AACA,cAAM;AAAA,MACR;AAAA,IACF;AAAA,EACF;AAEA,SAAO;AAAA,IACL,GAAG;AAAA,IACH;AAAA,IACA,aAAa,MAAM;AAAA,IACnB,OAAO,MAAM;AAAA,EACf;AACF;","names":[]}
|
|
@@ -1,16 +1,19 @@
|
|
|
1
1
|
import { ToRefs } from 'vue-demi';
|
|
2
|
-
import { DefaultError,
|
|
2
|
+
import { DefaultError, MutateFunction, MutationObserverResult, MutationObserverOptions } from '@tanstack/query-core';
|
|
3
3
|
import { MaybeRefDeep, DistributiveOmit } from './types.cjs';
|
|
4
|
-
import { Q as QueryClient } from './queryClient-
|
|
4
|
+
import { Q as QueryClient } from './queryClient-v1s104Ur.cjs';
|
|
5
5
|
|
|
6
6
|
type MutationResult<TData, TError, TVariables, TContext> = DistributiveOmit<MutationObserverResult<TData, TError, TVariables, TContext>, 'mutate' | 'reset'>;
|
|
7
|
-
type
|
|
7
|
+
type UseMutationOptionsBase<TData, TError, TVariables, TContext> = MutationObserverOptions<TData, TError, TVariables, TContext> & {
|
|
8
|
+
shallow?: boolean;
|
|
9
|
+
};
|
|
10
|
+
type UseMutationOptions<TData = unknown, TError = DefaultError, TVariables = void, TContext = unknown> = MaybeRefDeep<UseMutationOptionsBase<TData, TError, TVariables, TContext>>;
|
|
8
11
|
type MutateSyncFunction<TData = unknown, TError = DefaultError, TVariables = void, TContext = unknown> = (...options: Parameters<MutateFunction<TData, TError, TVariables, TContext>>) => void;
|
|
9
12
|
type UseMutationReturnType<TData, TError, TVariables, TContext, TResult = MutationResult<TData, TError, TVariables, TContext>> = ToRefs<Readonly<TResult>> & {
|
|
10
13
|
mutate: MutateSyncFunction<TData, TError, TVariables, TContext>;
|
|
11
14
|
mutateAsync: MutateFunction<TData, TError, TVariables, TContext>;
|
|
12
15
|
reset: MutationObserverResult<TData, TError, TVariables, TContext>['reset'];
|
|
13
16
|
};
|
|
14
|
-
declare function useMutation<TData = unknown, TError = DefaultError, TVariables = void, TContext = unknown>(mutationOptions: MaybeRefDeep<
|
|
17
|
+
declare function useMutation<TData = unknown, TError = DefaultError, TVariables = void, TContext = unknown>(mutationOptions: MaybeRefDeep<UseMutationOptionsBase<TData, TError, TVariables, TContext>>, queryClient?: QueryClient): UseMutationReturnType<TData, TError, TVariables, TContext>;
|
|
15
18
|
|
|
16
19
|
export { type UseMutationOptions, type UseMutationReturnType, useMutation };
|
|
@@ -1,16 +1,19 @@
|
|
|
1
1
|
import { ToRefs } from 'vue-demi';
|
|
2
|
-
import { DefaultError,
|
|
2
|
+
import { DefaultError, MutateFunction, MutationObserverResult, MutationObserverOptions } from '@tanstack/query-core';
|
|
3
3
|
import { MaybeRefDeep, DistributiveOmit } from './types.js';
|
|
4
|
-
import { Q as QueryClient } from './queryClient-
|
|
4
|
+
import { Q as QueryClient } from './queryClient-Bq4NnYa7.js';
|
|
5
5
|
|
|
6
6
|
type MutationResult<TData, TError, TVariables, TContext> = DistributiveOmit<MutationObserverResult<TData, TError, TVariables, TContext>, 'mutate' | 'reset'>;
|
|
7
|
-
type
|
|
7
|
+
type UseMutationOptionsBase<TData, TError, TVariables, TContext> = MutationObserverOptions<TData, TError, TVariables, TContext> & {
|
|
8
|
+
shallow?: boolean;
|
|
9
|
+
};
|
|
10
|
+
type UseMutationOptions<TData = unknown, TError = DefaultError, TVariables = void, TContext = unknown> = MaybeRefDeep<UseMutationOptionsBase<TData, TError, TVariables, TContext>>;
|
|
8
11
|
type MutateSyncFunction<TData = unknown, TError = DefaultError, TVariables = void, TContext = unknown> = (...options: Parameters<MutateFunction<TData, TError, TVariables, TContext>>) => void;
|
|
9
12
|
type UseMutationReturnType<TData, TError, TVariables, TContext, TResult = MutationResult<TData, TError, TVariables, TContext>> = ToRefs<Readonly<TResult>> & {
|
|
10
13
|
mutate: MutateSyncFunction<TData, TError, TVariables, TContext>;
|
|
11
14
|
mutateAsync: MutateFunction<TData, TError, TVariables, TContext>;
|
|
12
15
|
reset: MutationObserverResult<TData, TError, TVariables, TContext>['reset'];
|
|
13
16
|
};
|
|
14
|
-
declare function useMutation<TData = unknown, TError = DefaultError, TVariables = void, TContext = unknown>(mutationOptions: MaybeRefDeep<
|
|
17
|
+
declare function useMutation<TData = unknown, TError = DefaultError, TVariables = void, TContext = unknown>(mutationOptions: MaybeRefDeep<UseMutationOptionsBase<TData, TError, TVariables, TContext>>, queryClient?: QueryClient): UseMutationReturnType<TData, TError, TVariables, TContext>;
|
|
15
18
|
|
|
16
19
|
export { type UseMutationOptions, type UseMutationReturnType, useMutation };
|
|
@@ -3,8 +3,9 @@ import {
|
|
|
3
3
|
computed,
|
|
4
4
|
getCurrentScope,
|
|
5
5
|
onScopeDispose,
|
|
6
|
-
reactive,
|
|
7
6
|
readonly,
|
|
7
|
+
shallowReactive,
|
|
8
|
+
shallowReadonly,
|
|
8
9
|
toRefs,
|
|
9
10
|
watch
|
|
10
11
|
} from "vue-demi";
|
|
@@ -24,7 +25,7 @@ function useMutation(mutationOptions, queryClient) {
|
|
|
24
25
|
return client.defaultMutationOptions(cloneDeepUnref(mutationOptions));
|
|
25
26
|
});
|
|
26
27
|
const observer = new MutationObserver(client, options.value);
|
|
27
|
-
const state =
|
|
28
|
+
const state = shallowReactive(observer.getCurrentResult());
|
|
28
29
|
const unsubscribe = observer.subscribe((result) => {
|
|
29
30
|
updateState(state, result);
|
|
30
31
|
});
|
|
@@ -38,7 +39,8 @@ function useMutation(mutationOptions, queryClient) {
|
|
|
38
39
|
onScopeDispose(() => {
|
|
39
40
|
unsubscribe();
|
|
40
41
|
});
|
|
41
|
-
const
|
|
42
|
+
const readonlyState = process.env.NODE_ENV === "production" ? state : options.value.shallow ? shallowReadonly(state) : readonly(state);
|
|
43
|
+
const resultRefs = toRefs(readonlyState);
|
|
42
44
|
watch(
|
|
43
45
|
() => state.error,
|
|
44
46
|
(error) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/useMutation.ts"],"sourcesContent":["import {\n computed,\n getCurrentScope,\n onScopeDispose,\n
|
|
1
|
+
{"version":3,"sources":["../../src/useMutation.ts"],"sourcesContent":["import {\n computed,\n getCurrentScope,\n onScopeDispose,\n readonly,\n shallowReactive,\n shallowReadonly,\n toRefs,\n watch,\n} from 'vue-demi'\nimport { MutationObserver } from '@tanstack/query-core'\nimport { cloneDeepUnref, shouldThrowError, updateState } from './utils'\nimport { useQueryClient } from './useQueryClient'\nimport type { ToRefs } from 'vue-demi'\nimport type {\n DefaultError,\n MutateFunction,\n MutateOptions,\n MutationObserverOptions,\n MutationObserverResult,\n} from '@tanstack/query-core'\nimport type { DistributiveOmit, MaybeRefDeep } from './types'\nimport type { QueryClient } from './queryClient'\n\ntype MutationResult<TData, TError, TVariables, TContext> = DistributiveOmit<\n MutationObserverResult<TData, TError, TVariables, TContext>,\n 'mutate' | 'reset'\n>\n\ntype UseMutationOptionsBase<TData, TError, TVariables, TContext> =\n MutationObserverOptions<TData, TError, TVariables, TContext> & {\n shallow?: boolean\n }\n\nexport type UseMutationOptions<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TContext = unknown,\n> = MaybeRefDeep<UseMutationOptionsBase<TData, TError, TVariables, TContext>>\n\ntype MutateSyncFunction<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TContext = unknown,\n> = (\n ...options: Parameters<MutateFunction<TData, TError, TVariables, TContext>>\n) => void\n\nexport type UseMutationReturnType<\n TData,\n TError,\n TVariables,\n TContext,\n TResult = MutationResult<TData, TError, TVariables, TContext>,\n> = ToRefs<Readonly<TResult>> & {\n mutate: MutateSyncFunction<TData, TError, TVariables, TContext>\n mutateAsync: MutateFunction<TData, TError, TVariables, TContext>\n reset: MutationObserverResult<TData, TError, TVariables, TContext>['reset']\n}\n\nexport function useMutation<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TContext = unknown,\n>(\n mutationOptions: MaybeRefDeep<\n UseMutationOptionsBase<TData, TError, TVariables, TContext>\n >,\n queryClient?: QueryClient,\n): UseMutationReturnType<TData, TError, TVariables, TContext> {\n if (process.env.NODE_ENV === 'development') {\n if (!getCurrentScope()) {\n console.warn(\n 'vue-query composable like \"useQuery()\" should only be used inside a \"setup()\" function or a running effect scope. They might otherwise lead to memory leaks.',\n )\n }\n }\n\n const client = queryClient || useQueryClient()\n const options = computed(() => {\n return client.defaultMutationOptions(cloneDeepUnref(mutationOptions))\n })\n const observer = new MutationObserver(client, options.value)\n const state = shallowReactive(observer.getCurrentResult())\n\n const unsubscribe = observer.subscribe((result) => {\n updateState(state, result)\n })\n\n const mutate = (\n variables: TVariables,\n mutateOptions?: MutateOptions<TData, TError, TVariables, TContext>,\n ) => {\n observer.mutate(variables, mutateOptions).catch(() => {\n // This is intentional\n })\n }\n\n watch(options, () => {\n observer.setOptions(options.value)\n })\n\n onScopeDispose(() => {\n unsubscribe()\n })\n\n const readonlyState =\n process.env.NODE_ENV === 'production'\n ? state\n : options.value.shallow\n ? shallowReadonly(state)\n : readonly(state)\n\n const resultRefs = toRefs(readonlyState) as ToRefs<\n Readonly<MutationResult<TData, TError, TVariables, TContext>>\n >\n\n watch(\n () => state.error,\n (error) => {\n if (\n error &&\n shouldThrowError(options.value.throwOnError, [error as TError])\n ) {\n throw error\n }\n },\n )\n\n return {\n ...resultRefs,\n mutate,\n mutateAsync: state.mutate,\n reset: state.reset,\n }\n}\n"],"mappings":";AAAA;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,SAAS,wBAAwB;AACjC,SAAS,gBAAgB,kBAAkB,mBAAmB;AAC9D,SAAS,sBAAsB;AAkDxB,SAAS,YAMd,iBAGA,aAC4D;AAC5D,MAAI,QAAQ,IAAI,aAAa,eAAe;AAC1C,QAAI,CAAC,gBAAgB,GAAG;AACtB,cAAQ;AAAA,QACN;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAEA,QAAM,SAAS,eAAe,eAAe;AAC7C,QAAM,UAAU,SAAS,MAAM;AAC7B,WAAO,OAAO,uBAAuB,eAAe,eAAe,CAAC;AAAA,EACtE,CAAC;AACD,QAAM,WAAW,IAAI,iBAAiB,QAAQ,QAAQ,KAAK;AAC3D,QAAM,QAAQ,gBAAgB,SAAS,iBAAiB,CAAC;AAEzD,QAAM,cAAc,SAAS,UAAU,CAAC,WAAW;AACjD,gBAAY,OAAO,MAAM;AAAA,EAC3B,CAAC;AAED,QAAM,SAAS,CACb,WACA,kBACG;AACH,aAAS,OAAO,WAAW,aAAa,EAAE,MAAM,MAAM;AAAA,IAEtD,CAAC;AAAA,EACH;AAEA,QAAM,SAAS,MAAM;AACnB,aAAS,WAAW,QAAQ,KAAK;AAAA,EACnC,CAAC;AAED,iBAAe,MAAM;AACnB,gBAAY;AAAA,EACd,CAAC;AAED,QAAM,gBACJ,QAAQ,IAAI,aAAa,eACrB,QACA,QAAQ,MAAM,UACZ,gBAAgB,KAAK,IACrB,SAAS,KAAK;AAEtB,QAAM,aAAa,OAAO,aAAa;AAIvC;AAAA,IACE,MAAM,MAAM;AAAA,IACZ,CAAC,UAAU;AACT,UACE,SACA,iBAAiB,QAAQ,MAAM,cAAc,CAAC,KAAe,CAAC,GAC9D;AACA,cAAM;AAAA,MACR;AAAA,IACF;AAAA,EACF;AAEA,SAAO;AAAA,IACL,GAAG;AAAA,IACH;AAAA,IACA,aAAa,MAAM;AAAA,IACnB,OAAO,MAAM;AAAA,EACf;AACF;","names":[]}
|
|
@@ -56,7 +56,7 @@ function getResult(mutationCache, options) {
|
|
|
56
56
|
function useMutationState(options = {}, queryClient) {
|
|
57
57
|
const filters = (0, import_vue_demi.computed)(() => (0, import_utils.cloneDeepUnref)(options.filters));
|
|
58
58
|
const mutationCache = (queryClient || (0, import_useQueryClient.useQueryClient)()).getMutationCache();
|
|
59
|
-
const state = (0, import_vue_demi.
|
|
59
|
+
const state = (0, import_vue_demi.shallowRef)(getResult(mutationCache, options));
|
|
60
60
|
const unsubscribe = mutationCache.subscribe(() => {
|
|
61
61
|
const result = getResult(mutationCache, options);
|
|
62
62
|
state.value = result;
|
|
@@ -67,7 +67,7 @@ function useMutationState(options = {}, queryClient) {
|
|
|
67
67
|
(0, import_vue_demi.onScopeDispose)(() => {
|
|
68
68
|
unsubscribe();
|
|
69
69
|
});
|
|
70
|
-
return (0, import_vue_demi.
|
|
70
|
+
return (0, import_vue_demi.shallowReadonly)(state);
|
|
71
71
|
}
|
|
72
72
|
// Annotate the CommonJS export names for ESM import in node:
|
|
73
73
|
0 && (module.exports = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/useMutationState.ts"],"sourcesContent":["import {\n computed,\n getCurrentScope,\n onScopeDispose,\n
|
|
1
|
+
{"version":3,"sources":["../../src/useMutationState.ts"],"sourcesContent":["import {\n computed,\n getCurrentScope,\n onScopeDispose,\n shallowReadonly,\n shallowRef,\n watch,\n} from 'vue-demi'\nimport { useQueryClient } from './useQueryClient'\nimport { cloneDeepUnref } from './utils'\nimport type { Ref } from 'vue-demi'\nimport type {\n MutationFilters as MF,\n Mutation,\n MutationState,\n} from '@tanstack/query-core'\nimport type { QueryClient } from './queryClient'\nimport type { MaybeRefDeep } from './types'\nimport type { MutationCache } from './mutationCache'\n\nexport type MutationFilters = MaybeRefDeep<MF>\n\nexport function useIsMutating(\n filters: MutationFilters = {},\n queryClient?: QueryClient,\n): Ref<number> {\n if (process.env.NODE_ENV === 'development') {\n if (!getCurrentScope()) {\n console.warn(\n 'vue-query composable like \"useQuery()\" should only be used inside a \"setup()\" function or a running effect scope. They might otherwise lead to memory leaks.',\n )\n }\n }\n\n const client = queryClient || useQueryClient()\n\n const mutationState = useMutationState(\n {\n filters: computed(() => ({\n ...cloneDeepUnref(filters),\n status: 'pending' as const,\n })),\n },\n client,\n )\n const length = computed(() => mutationState.value.length)\n\n return length\n}\n\nexport type MutationStateOptions<TResult = MutationState> = {\n filters?: MutationFilters\n select?: (mutation: Mutation) => TResult\n}\n\nfunction getResult<TResult = MutationState>(\n mutationCache: MutationCache,\n options: MutationStateOptions<TResult>,\n): Array<TResult> {\n return mutationCache\n .findAll(options.filters)\n .map(\n (mutation): TResult =>\n (options.select ? options.select(mutation) : mutation.state) as TResult,\n )\n}\n\nexport function useMutationState<TResult = MutationState>(\n options: MutationStateOptions<TResult> = {},\n queryClient?: QueryClient,\n): Readonly<Ref<Array<TResult>>> {\n const filters = computed(() => cloneDeepUnref(options.filters))\n const mutationCache = (queryClient || useQueryClient()).getMutationCache()\n const state = shallowRef(getResult(mutationCache, options)) as Ref<\n Array<TResult>\n >\n const unsubscribe = mutationCache.subscribe(() => {\n const result = getResult(mutationCache, options)\n state.value = result\n })\n\n watch(filters, () => {\n state.value = getResult(mutationCache, options)\n })\n\n onScopeDispose(() => {\n unsubscribe()\n })\n\n return shallowReadonly(state)\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBAOO;AACP,4BAA+B;AAC/B,mBAA+B;AAaxB,SAAS,cACd,UAA2B,CAAC,GAC5B,aACa;AACb,MAAI,QAAQ,IAAI,aAAa,eAAe;AAC1C,QAAI,KAAC,iCAAgB,GAAG;AACtB,cAAQ;AAAA,QACN;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAEA,QAAM,SAAS,mBAAe,sCAAe;AAE7C,QAAM,gBAAgB;AAAA,IACpB;AAAA,MACE,aAAS,0BAAS,OAAO;AAAA,QACvB,OAAG,6BAAe,OAAO;AAAA,QACzB,QAAQ;AAAA,MACV,EAAE;AAAA,IACJ;AAAA,IACA;AAAA,EACF;AACA,QAAM,aAAS,0BAAS,MAAM,cAAc,MAAM,MAAM;AAExD,SAAO;AACT;AAOA,SAAS,UACP,eACA,SACgB;AAChB,SAAO,cACJ,QAAQ,QAAQ,OAAO,EACvB;AAAA,IACC,CAAC,aACE,QAAQ,SAAS,QAAQ,OAAO,QAAQ,IAAI,SAAS;AAAA,EAC1D;AACJ;AAEO,SAAS,iBACd,UAAyC,CAAC,GAC1C,aAC+B;AAC/B,QAAM,cAAU,0BAAS,UAAM,6BAAe,QAAQ,OAAO,CAAC;AAC9D,QAAM,iBAAiB,mBAAe,sCAAe,GAAG,iBAAiB;AACzE,QAAM,YAAQ,4BAAW,UAAU,eAAe,OAAO,CAAC;AAG1D,QAAM,cAAc,cAAc,UAAU,MAAM;AAChD,UAAM,SAAS,UAAU,eAAe,OAAO;AAC/C,UAAM,QAAQ;AAAA,EAChB,CAAC;AAED,6BAAM,SAAS,MAAM;AACnB,UAAM,QAAQ,UAAU,eAAe,OAAO;AAAA,EAChD,CAAC;AAED,sCAAe,MAAM;AACnB,gBAAY;AAAA,EACd,CAAC;AAED,aAAO,iCAAgB,KAAK;AAC9B;","names":[]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { Ref
|
|
1
|
+
import { Ref } from 'vue-demi';
|
|
2
2
|
import { MutationFilters as MutationFilters$1, MutationState, Mutation } from '@tanstack/query-core';
|
|
3
|
-
import { Q as QueryClient } from './queryClient-
|
|
3
|
+
import { Q as QueryClient } from './queryClient-v1s104Ur.cjs';
|
|
4
4
|
import { MaybeRefDeep } from './types.cjs';
|
|
5
5
|
|
|
6
6
|
type MutationFilters = MaybeRefDeep<MutationFilters$1>;
|
|
@@ -9,6 +9,6 @@ type MutationStateOptions<TResult = MutationState> = {
|
|
|
9
9
|
filters?: MutationFilters;
|
|
10
10
|
select?: (mutation: Mutation) => TResult;
|
|
11
11
|
};
|
|
12
|
-
declare function useMutationState<TResult = MutationState>(options?: MutationStateOptions<TResult>, queryClient?: QueryClient):
|
|
12
|
+
declare function useMutationState<TResult = MutationState>(options?: MutationStateOptions<TResult>, queryClient?: QueryClient): Readonly<Ref<Array<TResult>>>;
|
|
13
13
|
|
|
14
14
|
export { type MutationFilters, type MutationStateOptions, useIsMutating, useMutationState };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { Ref
|
|
1
|
+
import { Ref } from 'vue-demi';
|
|
2
2
|
import { MutationFilters as MutationFilters$1, MutationState, Mutation } from '@tanstack/query-core';
|
|
3
|
-
import { Q as QueryClient } from './queryClient-
|
|
3
|
+
import { Q as QueryClient } from './queryClient-Bq4NnYa7.js';
|
|
4
4
|
import { MaybeRefDeep } from './types.js';
|
|
5
5
|
|
|
6
6
|
type MutationFilters = MaybeRefDeep<MutationFilters$1>;
|
|
@@ -9,6 +9,6 @@ type MutationStateOptions<TResult = MutationState> = {
|
|
|
9
9
|
filters?: MutationFilters;
|
|
10
10
|
select?: (mutation: Mutation) => TResult;
|
|
11
11
|
};
|
|
12
|
-
declare function useMutationState<TResult = MutationState>(options?: MutationStateOptions<TResult>, queryClient?: QueryClient):
|
|
12
|
+
declare function useMutationState<TResult = MutationState>(options?: MutationStateOptions<TResult>, queryClient?: QueryClient): Readonly<Ref<Array<TResult>>>;
|
|
13
13
|
|
|
14
14
|
export { type MutationFilters, type MutationStateOptions, useIsMutating, useMutationState };
|