@tanstack/vue-query 4.20.4 → 4.20.9
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/README.md +3 -3
- package/build/lib/useBaseQuery.esm.js +4 -4
- package/build/lib/useBaseQuery.esm.js.map +1 -1
- package/build/lib/useBaseQuery.js +3 -3
- package/build/lib/useBaseQuery.js.map +1 -1
- package/build/lib/useBaseQuery.mjs +4 -4
- package/build/lib/useBaseQuery.mjs.map +1 -1
- package/build/lib/useIsFetching.esm.js +3 -3
- package/build/lib/useIsFetching.esm.js.map +1 -1
- package/build/lib/useIsFetching.js +2 -2
- package/build/lib/useIsFetching.js.map +1 -1
- package/build/lib/useIsFetching.mjs +3 -3
- package/build/lib/useIsFetching.mjs.map +1 -1
- package/build/lib/useIsMutating.esm.js +3 -3
- package/build/lib/useIsMutating.esm.js.map +1 -1
- package/build/lib/useIsMutating.js +2 -2
- package/build/lib/useIsMutating.js.map +1 -1
- package/build/lib/useIsMutating.mjs +3 -3
- package/build/lib/useIsMutating.mjs.map +1 -1
- package/build/lib/useMutation.esm.js +4 -4
- package/build/lib/useMutation.esm.js.map +1 -1
- package/build/lib/useMutation.js +3 -3
- package/build/lib/useMutation.js.map +1 -1
- package/build/lib/useMutation.mjs +4 -4
- package/build/lib/useMutation.mjs.map +1 -1
- package/build/umd/index.development.js +17 -10
- package/build/umd/index.development.js.map +1 -1
- package/build/umd/index.production.js +1 -1
- package/build/umd/index.production.js.map +1 -1
- package/package.json +2 -2
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { computed, reactive, watch, onScopeDispose, toRefs, readonly,
|
|
1
|
+
import { computed, reactive, watch, onScopeDispose, toRefs, readonly, unref } from 'vue-demi';
|
|
2
2
|
import { MutationObserver } from '@tanstack/query-core';
|
|
3
3
|
import { updateState, isMutationKey, cloneDeepUnref } from './utils.mjs';
|
|
4
4
|
import { useQueryClient } from './useQueryClient.mjs';
|
|
@@ -37,13 +37,13 @@ function useMutation(arg1, arg2, arg3) {
|
|
|
37
37
|
};
|
|
38
38
|
}
|
|
39
39
|
function parseMutationArgs(arg1, arg2, arg3) {
|
|
40
|
-
const plainArg1 =
|
|
41
|
-
const plainArg2 =
|
|
40
|
+
const plainArg1 = unref(arg1);
|
|
41
|
+
const plainArg2 = unref(arg2);
|
|
42
42
|
let options = plainArg1;
|
|
43
43
|
|
|
44
44
|
if (isMutationKey(plainArg1)) {
|
|
45
45
|
if (typeof plainArg2 === 'function') {
|
|
46
|
-
const plainArg3 =
|
|
46
|
+
const plainArg3 = unref(arg3);
|
|
47
47
|
options = { ...plainArg3,
|
|
48
48
|
mutationKey: plainArg1,
|
|
49
49
|
mutationFn: plainArg2
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMutation.mjs","sources":["../../src/useMutation.ts"],"sourcesContent":["import {\n onScopeDispose,\n reactive,\n readonly,\n toRefs,\n watch,\n computed,\n
|
|
1
|
+
{"version":3,"file":"useMutation.mjs","sources":["../../src/useMutation.ts"],"sourcesContent":["import {\n onScopeDispose,\n reactive,\n readonly,\n toRefs,\n watch,\n computed,\n unref,\n} from 'vue-demi'\nimport type { ToRefs } from 'vue-demi'\nimport type {\n MutateOptions,\n MutationFunction,\n MutationKey,\n MutateFunction,\n MutationObserverResult,\n MutationObserverOptions,\n} from '@tanstack/query-core'\nimport type {\n WithQueryClientKey,\n MaybeRef,\n MaybeRefDeep,\n DistributiveOmit,\n} from './types'\nimport { MutationObserver } from '@tanstack/query-core'\nimport { cloneDeepUnref, updateState, isMutationKey } from './utils'\nimport { useQueryClient } from './useQueryClient'\n\ntype MutationResult<TData, TError, TVariables, TContext> = DistributiveOmit<\n MutationObserverResult<TData, TError, TVariables, TContext>,\n 'mutate' | 'reset'\n>\n\nexport type UseMutationOptions<TData, TError, TVariables, TContext> =\n WithQueryClientKey<\n MutationObserverOptions<TData, TError, TVariables, TContext>\n >\n\nexport type VueMutationObserverOptions<\n TData = unknown,\n TError = unknown,\n TVariables = void,\n TContext = unknown,\n> = {\n [Property in keyof UseMutationOptions<\n TData,\n TError,\n TVariables,\n TContext\n >]: MaybeRefDeep<\n UseMutationOptions<TData, TError, TVariables, TContext>[Property]\n >\n}\n\ntype MutateSyncFunction<\n TData = unknown,\n TError = unknown,\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 Result = MutationResult<TData, TError, TVariables, TContext>,\n> = ToRefs<Readonly<Result>> & {\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 = unknown,\n TVariables = void,\n TContext = unknown,\n>(\n options: MaybeRef<\n VueMutationObserverOptions<TData, TError, TVariables, TContext>\n >,\n): UseMutationReturnType<TData, TError, TVariables, TContext>\nexport function useMutation<\n TData = unknown,\n TError = unknown,\n TVariables = void,\n TContext = unknown,\n>(\n mutationFn: MaybeRef<MutationFunction<TData, TVariables>>,\n options?: MaybeRef<\n Omit<\n VueMutationObserverOptions<TData, TError, TVariables, TContext>,\n 'mutationFn'\n >\n >,\n): UseMutationReturnType<TData, TError, TVariables, TContext>\nexport function useMutation<\n TData = unknown,\n TError = unknown,\n TVariables = void,\n TContext = unknown,\n>(\n mutationKey: MaybeRef<MutationKey>,\n options?: MaybeRef<\n Omit<\n VueMutationObserverOptions<TData, TError, TVariables, TContext>,\n 'mutationKey'\n >\n >,\n): UseMutationReturnType<TData, TError, TVariables, TContext>\nexport function useMutation<\n TData = unknown,\n TError = unknown,\n TVariables = void,\n TContext = unknown,\n>(\n mutationKey: MaybeRef<MutationKey>,\n mutationFn?: MaybeRef<MutationFunction<TData, TVariables>>,\n options?: MaybeRef<\n Omit<\n VueMutationObserverOptions<TData, TError, TVariables, TContext>,\n 'mutationKey' | 'mutationFn'\n >\n >,\n): UseMutationReturnType<TData, TError, TVariables, TContext>\nexport function useMutation<\n TData = unknown,\n TError = unknown,\n TVariables = void,\n TContext = unknown,\n>(\n arg1:\n | MaybeRef<MutationKey>\n | MaybeRef<MutationFunction<TData, TVariables>>\n | MaybeRef<VueMutationObserverOptions<TData, TError, TVariables, TContext>>,\n arg2?:\n | MaybeRef<MutationFunction<TData, TVariables>>\n | MaybeRef<VueMutationObserverOptions<TData, TError, TVariables, TContext>>,\n arg3?: MaybeRef<\n VueMutationObserverOptions<TData, TError, TVariables, TContext>\n >,\n): UseMutationReturnType<TData, TError, TVariables, TContext> {\n const options = computed(() => {\n return parseMutationArgs(arg1, arg2, arg3)\n })\n const queryClient =\n options.value.queryClient ?? useQueryClient(options.value.queryClientKey)\n const observer = new MutationObserver(\n queryClient,\n queryClient.defaultMutationOptions(options.value),\n )\n const state = reactive(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(\n options,\n () => {\n observer.setOptions(queryClient.defaultMutationOptions(options.value))\n },\n { deep: true },\n )\n\n onScopeDispose(() => {\n unsubscribe()\n })\n\n const resultRefs = toRefs(readonly(state)) as unknown as ToRefs<\n Readonly<MutationResult<TData, TError, TVariables, TContext>>\n >\n\n return {\n ...resultRefs,\n mutate,\n mutateAsync: state.mutate,\n reset: state.reset,\n }\n}\n\nexport function parseMutationArgs<\n TData = unknown,\n TError = unknown,\n TVariables = void,\n TContext = unknown,\n>(\n arg1:\n | MaybeRef<MutationKey>\n | MaybeRef<MutationFunction<TData, TVariables>>\n | MaybeRef<VueMutationObserverOptions<TData, TError, TVariables, TContext>>,\n arg2?:\n | MaybeRef<MutationFunction<TData, TVariables>>\n | MaybeRef<VueMutationObserverOptions<TData, TError, TVariables, TContext>>,\n arg3?: MaybeRef<\n VueMutationObserverOptions<TData, TError, TVariables, TContext>\n >,\n): WithQueryClientKey<\n MutationObserverOptions<TData, TError, TVariables, TContext>\n> {\n const plainArg1 = unref(arg1)\n const plainArg2 = unref(arg2)\n let options = plainArg1\n if (isMutationKey(plainArg1)) {\n if (typeof plainArg2 === 'function') {\n const plainArg3 = unref(arg3)\n options = { ...plainArg3, mutationKey: plainArg1, mutationFn: plainArg2 }\n } else {\n options = { ...plainArg2, mutationKey: plainArg1 }\n }\n }\n\n if (typeof plainArg1 === 'function') {\n options = { ...plainArg2, mutationFn: plainArg1 }\n }\n\n return cloneDeepUnref(options) as UseMutationOptions<\n TData,\n TError,\n TVariables,\n TContext\n >\n}\n"],"names":["useMutation","arg1","arg2","arg3","options","computed","parseMutationArgs","queryClient","value","useQueryClient","queryClientKey","observer","MutationObserver","defaultMutationOptions","state","reactive","getCurrentResult","unsubscribe","subscribe","result","updateState","mutate","variables","mutateOptions","catch","watch","setOptions","deep","onScopeDispose","resultRefs","toRefs","readonly","mutateAsync","reset","plainArg1","unref","plainArg2","isMutationKey","plainArg3","mutationKey","mutationFn","cloneDeepUnref"],"mappings":"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"}
|
|
@@ -1855,6 +1855,7 @@
|
|
|
1855
1855
|
this.defaultOptions = config.defaultOptions || {};
|
|
1856
1856
|
this.queryDefaults = [];
|
|
1857
1857
|
this.mutationDefaults = [];
|
|
1858
|
+
this.mountCount = 0;
|
|
1858
1859
|
|
|
1859
1860
|
if (config.logger) {
|
|
1860
1861
|
this.logger.error("Passing a custom logger has been deprecated and will be removed in the next major version.");
|
|
@@ -1862,6 +1863,8 @@
|
|
|
1862
1863
|
}
|
|
1863
1864
|
|
|
1864
1865
|
mount() {
|
|
1866
|
+
this.mountCount++;
|
|
1867
|
+
if (this.mountCount !== 1) return;
|
|
1865
1868
|
this.unsubscribeFocus = focusManager.subscribe(() => {
|
|
1866
1869
|
if (focusManager.isFocused()) {
|
|
1867
1870
|
this.resumePausedMutations();
|
|
@@ -1879,8 +1882,12 @@
|
|
|
1879
1882
|
unmount() {
|
|
1880
1883
|
var _this$unsubscribeFocu, _this$unsubscribeOnli;
|
|
1881
1884
|
|
|
1885
|
+
this.mountCount--;
|
|
1886
|
+
if (this.mountCount !== 0) return;
|
|
1882
1887
|
(_this$unsubscribeFocu = this.unsubscribeFocus) == null ? void 0 : _this$unsubscribeFocu.call(this);
|
|
1888
|
+
this.unsubscribeFocus = undefined;
|
|
1883
1889
|
(_this$unsubscribeOnli = this.unsubscribeOnline) == null ? void 0 : _this$unsubscribeOnli.call(this);
|
|
1890
|
+
this.unsubscribeOnline = undefined;
|
|
1884
1891
|
}
|
|
1885
1892
|
|
|
1886
1893
|
isFetching(arg1, arg2) {
|
|
@@ -4727,9 +4734,9 @@
|
|
|
4727
4734
|
};
|
|
4728
4735
|
}
|
|
4729
4736
|
function parseQueryArgs(arg1, arg2 = {}, arg3 = {}) {
|
|
4730
|
-
const plainArg1 = vueDemi.
|
|
4731
|
-
const plainArg2 = vueDemi.
|
|
4732
|
-
const plainArg3 = vueDemi.
|
|
4737
|
+
const plainArg1 = vueDemi.unref(arg1);
|
|
4738
|
+
const plainArg2 = vueDemi.unref(arg2);
|
|
4739
|
+
const plainArg3 = vueDemi.unref(arg3);
|
|
4733
4740
|
let options = plainArg1;
|
|
4734
4741
|
|
|
4735
4742
|
if (!isQueryKey(plainArg1)) {
|
|
@@ -4849,13 +4856,13 @@
|
|
|
4849
4856
|
};
|
|
4850
4857
|
}
|
|
4851
4858
|
function parseMutationArgs(arg1, arg2, arg3) {
|
|
4852
|
-
const plainArg1 = vueDemi.
|
|
4853
|
-
const plainArg2 = vueDemi.
|
|
4859
|
+
const plainArg1 = vueDemi.unref(arg1);
|
|
4860
|
+
const plainArg2 = vueDemi.unref(arg2);
|
|
4854
4861
|
let options = plainArg1;
|
|
4855
4862
|
|
|
4856
4863
|
if (isMutationKey(plainArg1)) {
|
|
4857
4864
|
if (typeof plainArg2 === 'function') {
|
|
4858
|
-
const plainArg3 = vueDemi.
|
|
4865
|
+
const plainArg3 = vueDemi.unref(arg3);
|
|
4859
4866
|
options = { ...plainArg3,
|
|
4860
4867
|
mutationKey: plainArg1,
|
|
4861
4868
|
mutationFn: plainArg2
|
|
@@ -4896,8 +4903,8 @@
|
|
|
4896
4903
|
return isFetching;
|
|
4897
4904
|
}
|
|
4898
4905
|
function parseFilterArgs$1(arg1, arg2 = {}) {
|
|
4899
|
-
const plainArg1 = vueDemi.
|
|
4900
|
-
const plainArg2 = vueDemi.
|
|
4906
|
+
const plainArg1 = vueDemi.unref(arg1);
|
|
4907
|
+
const plainArg2 = vueDemi.unref(arg2);
|
|
4901
4908
|
let options = plainArg1;
|
|
4902
4909
|
|
|
4903
4910
|
if (isQueryKey(plainArg1)) {
|
|
@@ -4932,8 +4939,8 @@
|
|
|
4932
4939
|
return isMutating;
|
|
4933
4940
|
}
|
|
4934
4941
|
function parseFilterArgs(arg1, arg2 = {}) {
|
|
4935
|
-
const plainArg1 = vueDemi.
|
|
4936
|
-
const plainArg2 = vueDemi.
|
|
4942
|
+
const plainArg1 = vueDemi.unref(arg1);
|
|
4943
|
+
const plainArg2 = vueDemi.unref(arg2);
|
|
4937
4944
|
let options = plainArg1;
|
|
4938
4945
|
|
|
4939
4946
|
if (isQueryKey(plainArg1)) {
|