@tanstack/vue-query 4.32.3 → 4.32.5
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/useBaseQuery.d.ts.map +1 -1
- package/build/lib/useBaseQuery.esm.js +8 -2
- package/build/lib/useBaseQuery.esm.js.map +1 -1
- package/build/lib/useBaseQuery.js +7 -1
- package/build/lib/useBaseQuery.js.map +1 -1
- package/build/lib/useBaseQuery.mjs +8 -2
- package/build/lib/useBaseQuery.mjs.map +1 -1
- package/build/lib/useMutation.d.ts.map +1 -1
- package/build/lib/useMutation.esm.js +6 -1
- package/build/lib/useMutation.esm.js.map +1 -1
- package/build/lib/useMutation.js +5 -0
- package/build/lib/useMutation.js.map +1 -1
- package/build/lib/useMutation.mjs +6 -1
- package/build/lib/useMutation.mjs.map +1 -1
- package/build/lib/utils.d.ts +1 -0
- package/build/lib/utils.d.ts.map +1 -1
- package/build/lib/utils.esm.js +10 -1
- package/build/lib/utils.esm.js.map +1 -1
- package/build/lib/utils.js +10 -0
- package/build/lib/utils.js.map +1 -1
- package/build/lib/utils.mjs +10 -1
- package/build/lib/utils.mjs.map +1 -1
- package/build/umd/index.development.js +21 -1
- 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 +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useBaseQuery.d.ts","sourceRoot":"","sources":["../../src/useBaseQuery.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useBaseQuery.d.ts","sourceRoot":"","sources":["../../src/useBaseQuery.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AACjD,OAAO,KAAK,EACV,aAAa,EACb,QAAQ,EACR,aAAa,EACb,oBAAoB,EACpB,mBAAmB,EACpB,MAAM,sBAAsB,CAAA;AAC7B,OAAO,KAAK,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;AAC3D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AACjD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAA;AAEjE,oBAAY,kBAAkB,CAC5B,KAAK,EACL,MAAM,EACN,MAAM,GAAG,mBAAmB,CAAC,KAAK,EAAE,MAAM,CAAC,IACzC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG;IAC7B,QAAQ,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAA;CAChC,CAAA;AAED,aAAK,sBAAsB,CACzB,YAAY,EACZ,MAAM,EACN,KAAK,EACL,SAAS,SAAS,QAAQ,GAAG,QAAQ,IAEnC,eAAe,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,GACvD,uBAAuB,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,CAAA;AAEnE,wBAAgB,YAAY,CAC1B,YAAY,EACZ,MAAM,EACN,KAAK,EACL,SAAS,SAAS,QAAQ,EAE1B,QAAQ,EAAE,OAAO,aAAa,EAC9B,IAAI,EACA,SAAS,GACT,sBAAsB,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,EAClE,IAAI,GACA,aAAa,CAAC,YAAY,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,GACjD,sBAAsB,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,CAAM,EACvE,IAAI,GAAE,sBAAsB,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,CAAM,GACxE,kBAAkB,CAAC,KAAK,EAAE,MAAM,CAAC,CAgGnC;AAED,wBAAgB,cAAc,CAC5B,YAAY,GAAG,OAAO,EACtB,MAAM,GAAG,OAAO,EAChB,KAAK,GAAG,YAAY,EACpB,UAAU,GAAG,YAAY,EACzB,SAAS,SAAS,QAAQ,GAAG,QAAQ,EAErC,IAAI,EACA,QAAQ,CAAC,SAAS,CAAC,GACnB,QAAQ,CAAC,sBAAsB,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,EAC5E,IAAI,GACA,QAAQ,CAAC,aAAa,CAAC,YAAY,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,GAC3D,QAAQ,CACN,sBAAsB,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,CAC1D,EACV,IAAI,GAAE,QAAQ,CACZ,sBAAsB,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,CAC1D,GACL,kBAAkB,CACnB,oBAAoB,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,CAAC,CACzE,CAkBA"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { computed, reactive, watch, onScopeDispose, toRefs, readonly, unref } from 'vue-demi';
|
|
2
2
|
import { useQueryClient } from './useQueryClient.esm.js';
|
|
3
|
-
import { updateState, isQueryKey, cloneDeepUnref } from './utils.esm.js';
|
|
3
|
+
import { updateState, shouldThrowError, isQueryKey, cloneDeepUnref } from './utils.esm.js';
|
|
4
4
|
|
|
5
5
|
function useBaseQuery(Observer, arg1, arg2 = {}, arg3 = {}) {
|
|
6
6
|
var _options$value$queryC;
|
|
@@ -61,8 +61,14 @@ function useBaseQuery(Observer, arg1, arg2 = {}, arg3 = {}) {
|
|
|
61
61
|
deep: true
|
|
62
62
|
});
|
|
63
63
|
});
|
|
64
|
-
};
|
|
64
|
+
}; // Handle error boundary
|
|
65
|
+
|
|
65
66
|
|
|
67
|
+
watch(() => state.error, error => {
|
|
68
|
+
if (state.isError && !state.isFetching && shouldThrowError(defaultedOptions.value.useErrorBoundary, [error, observer.getCurrentQuery()])) {
|
|
69
|
+
throw error;
|
|
70
|
+
}
|
|
71
|
+
});
|
|
66
72
|
return { ...toRefs(readonly(state)),
|
|
67
73
|
suspense
|
|
68
74
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useBaseQuery.esm.js","sources":["../../src/useBaseQuery.ts"],"sourcesContent":["import {\n computed,\n onScopeDispose,\n reactive,\n readonly,\n toRefs,\n unref,\n watch,\n} from 'vue-demi'\nimport { useQueryClient } from './useQueryClient'\nimport {
|
|
1
|
+
{"version":3,"file":"useBaseQuery.esm.js","sources":["../../src/useBaseQuery.ts"],"sourcesContent":["import {\n computed,\n onScopeDispose,\n reactive,\n readonly,\n toRefs,\n unref,\n watch,\n} from 'vue-demi'\nimport { useQueryClient } from './useQueryClient'\nimport {\n cloneDeepUnref,\n isQueryKey,\n shouldThrowError,\n updateState,\n} from './utils'\nimport type { ToRefs, UnwrapRef } from 'vue-demi'\nimport type {\n QueryFunction,\n QueryKey,\n QueryObserver,\n QueryObserverOptions,\n QueryObserverResult,\n} from '@tanstack/query-core'\nimport type { MaybeRef, WithQueryClientKey } from './types'\nimport type { UseQueryOptions } from './useQuery'\nimport type { UseInfiniteQueryOptions } from './useInfiniteQuery'\n\nexport type UseQueryReturnType<\n TData,\n TError,\n Result = QueryObserverResult<TData, TError>,\n> = ToRefs<Readonly<Result>> & {\n suspense: () => Promise<Result>\n}\n\ntype UseQueryOptionsGeneric<\n TQueryFnData,\n TError,\n TData,\n TQueryKey extends QueryKey = QueryKey,\n> =\n | UseQueryOptions<TQueryFnData, TError, TData, TQueryKey>\n | UseInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey>\n\nexport function useBaseQuery<\n TQueryFnData,\n TError,\n TData,\n TQueryKey extends QueryKey,\n>(\n Observer: typeof QueryObserver,\n arg1:\n | TQueryKey\n | UseQueryOptionsGeneric<TQueryFnData, TError, TData, TQueryKey>,\n arg2:\n | QueryFunction<TQueryFnData, UnwrapRef<TQueryKey>>\n | UseQueryOptionsGeneric<TQueryFnData, TError, TData, TQueryKey> = {},\n arg3: UseQueryOptionsGeneric<TQueryFnData, TError, TData, TQueryKey> = {},\n): UseQueryReturnType<TData, TError> {\n const options = computed(() => parseQueryArgs(arg1, arg2, arg3))\n\n const queryClient =\n options.value.queryClient ?? useQueryClient(options.value.queryClientKey)\n\n const defaultedOptions = computed(() => {\n const defaulted = queryClient.defaultQueryOptions(options.value)\n defaulted._optimisticResults = queryClient.isRestoring.value\n ? 'isRestoring'\n : 'optimistic'\n\n return defaulted\n })\n\n const observer = new Observer(queryClient, defaultedOptions.value)\n const state = reactive(observer.getCurrentResult())\n\n let unsubscribe = () => {\n // noop\n }\n\n watch(\n queryClient.isRestoring,\n (isRestoring) => {\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (!isRestoring) {\n unsubscribe()\n unsubscribe = observer.subscribe((result) => {\n updateState(state, result)\n })\n }\n },\n { immediate: true },\n )\n\n watch(defaultedOptions, () => {\n observer.setOptions(defaultedOptions.value)\n updateState(state, observer.getCurrentResult())\n })\n\n onScopeDispose(() => {\n unsubscribe()\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 const optimisticResult = observer.getOptimisticResult(\n defaultedOptions.value,\n )\n if (optimisticResult.isStale) {\n stopWatch()\n observer\n .fetchOptimistic(defaultedOptions.value)\n .then(resolve, reject)\n } else {\n stopWatch()\n resolve(optimisticResult)\n }\n }\n }\n\n run()\n\n stopWatch = watch(defaultedOptions, run, { deep: true })\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.useErrorBoundary, [\n error as TError,\n observer.getCurrentQuery(),\n ])\n ) {\n throw error\n }\n },\n )\n\n return {\n ...(toRefs(readonly(state)) as UseQueryReturnType<TData, TError>),\n suspense,\n }\n}\n\nexport function parseQueryArgs<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n>(\n arg1:\n | MaybeRef<TQueryKey>\n | MaybeRef<UseQueryOptionsGeneric<TQueryFnData, TError, TData, TQueryKey>>,\n arg2:\n | MaybeRef<QueryFunction<TQueryFnData, UnwrapRef<TQueryKey>>>\n | MaybeRef<\n UseQueryOptionsGeneric<TQueryFnData, TError, TData, TQueryKey>\n > = {},\n arg3: MaybeRef<\n UseQueryOptionsGeneric<TQueryFnData, TError, TData, TQueryKey>\n > = {},\n): WithQueryClientKey<\n QueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey>\n> {\n const plainArg1 = unref(arg1)\n const plainArg2 = unref(arg2)\n const plainArg3 = unref(arg3)\n\n let options = plainArg1\n\n if (!isQueryKey(plainArg1)) {\n options = plainArg1\n } else if (typeof plainArg2 === 'function') {\n options = { ...plainArg3, queryKey: plainArg1, queryFn: plainArg2 }\n } else {\n options = { ...plainArg2, queryKey: plainArg1 }\n }\n\n return cloneDeepUnref(options) as WithQueryClientKey<\n QueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey>\n >\n}\n"],"names":["useBaseQuery","Observer","arg1","arg2","arg3","options","computed","parseQueryArgs","queryClient","value","useQueryClient","queryClientKey","defaultedOptions","defaulted","defaultQueryOptions","_optimisticResults","isRestoring","observer","state","reactive","getCurrentResult","unsubscribe","watch","subscribe","result","updateState","immediate","setOptions","onScopeDispose","suspense","Promise","resolve","reject","stopWatch","run","enabled","optimisticResult","getOptimisticResult","isStale","fetchOptimistic","then","deep","error","isError","isFetching","shouldThrowError","useErrorBoundary","getCurrentQuery","toRefs","readonly","plainArg1","unref","plainArg2","plainArg3","isQueryKey","queryKey","queryFn","cloneDeepUnref"],"mappings":"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"}
|
|
@@ -65,8 +65,14 @@ function useBaseQuery(Observer, arg1, arg2 = {}, arg3 = {}) {
|
|
|
65
65
|
deep: true
|
|
66
66
|
});
|
|
67
67
|
});
|
|
68
|
-
};
|
|
68
|
+
}; // Handle error boundary
|
|
69
|
+
|
|
69
70
|
|
|
71
|
+
vueDemi.watch(() => state.error, error => {
|
|
72
|
+
if (state.isError && !state.isFetching && utils.shouldThrowError(defaultedOptions.value.useErrorBoundary, [error, observer.getCurrentQuery()])) {
|
|
73
|
+
throw error;
|
|
74
|
+
}
|
|
75
|
+
});
|
|
70
76
|
return { ...vueDemi.toRefs(vueDemi.readonly(state)),
|
|
71
77
|
suspense
|
|
72
78
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useBaseQuery.js","sources":["../../src/useBaseQuery.ts"],"sourcesContent":["import {\n computed,\n onScopeDispose,\n reactive,\n readonly,\n toRefs,\n unref,\n watch,\n} from 'vue-demi'\nimport { useQueryClient } from './useQueryClient'\nimport {
|
|
1
|
+
{"version":3,"file":"useBaseQuery.js","sources":["../../src/useBaseQuery.ts"],"sourcesContent":["import {\n computed,\n onScopeDispose,\n reactive,\n readonly,\n toRefs,\n unref,\n watch,\n} from 'vue-demi'\nimport { useQueryClient } from './useQueryClient'\nimport {\n cloneDeepUnref,\n isQueryKey,\n shouldThrowError,\n updateState,\n} from './utils'\nimport type { ToRefs, UnwrapRef } from 'vue-demi'\nimport type {\n QueryFunction,\n QueryKey,\n QueryObserver,\n QueryObserverOptions,\n QueryObserverResult,\n} from '@tanstack/query-core'\nimport type { MaybeRef, WithQueryClientKey } from './types'\nimport type { UseQueryOptions } from './useQuery'\nimport type { UseInfiniteQueryOptions } from './useInfiniteQuery'\n\nexport type UseQueryReturnType<\n TData,\n TError,\n Result = QueryObserverResult<TData, TError>,\n> = ToRefs<Readonly<Result>> & {\n suspense: () => Promise<Result>\n}\n\ntype UseQueryOptionsGeneric<\n TQueryFnData,\n TError,\n TData,\n TQueryKey extends QueryKey = QueryKey,\n> =\n | UseQueryOptions<TQueryFnData, TError, TData, TQueryKey>\n | UseInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey>\n\nexport function useBaseQuery<\n TQueryFnData,\n TError,\n TData,\n TQueryKey extends QueryKey,\n>(\n Observer: typeof QueryObserver,\n arg1:\n | TQueryKey\n | UseQueryOptionsGeneric<TQueryFnData, TError, TData, TQueryKey>,\n arg2:\n | QueryFunction<TQueryFnData, UnwrapRef<TQueryKey>>\n | UseQueryOptionsGeneric<TQueryFnData, TError, TData, TQueryKey> = {},\n arg3: UseQueryOptionsGeneric<TQueryFnData, TError, TData, TQueryKey> = {},\n): UseQueryReturnType<TData, TError> {\n const options = computed(() => parseQueryArgs(arg1, arg2, arg3))\n\n const queryClient =\n options.value.queryClient ?? useQueryClient(options.value.queryClientKey)\n\n const defaultedOptions = computed(() => {\n const defaulted = queryClient.defaultQueryOptions(options.value)\n defaulted._optimisticResults = queryClient.isRestoring.value\n ? 'isRestoring'\n : 'optimistic'\n\n return defaulted\n })\n\n const observer = new Observer(queryClient, defaultedOptions.value)\n const state = reactive(observer.getCurrentResult())\n\n let unsubscribe = () => {\n // noop\n }\n\n watch(\n queryClient.isRestoring,\n (isRestoring) => {\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (!isRestoring) {\n unsubscribe()\n unsubscribe = observer.subscribe((result) => {\n updateState(state, result)\n })\n }\n },\n { immediate: true },\n )\n\n watch(defaultedOptions, () => {\n observer.setOptions(defaultedOptions.value)\n updateState(state, observer.getCurrentResult())\n })\n\n onScopeDispose(() => {\n unsubscribe()\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 const optimisticResult = observer.getOptimisticResult(\n defaultedOptions.value,\n )\n if (optimisticResult.isStale) {\n stopWatch()\n observer\n .fetchOptimistic(defaultedOptions.value)\n .then(resolve, reject)\n } else {\n stopWatch()\n resolve(optimisticResult)\n }\n }\n }\n\n run()\n\n stopWatch = watch(defaultedOptions, run, { deep: true })\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.useErrorBoundary, [\n error as TError,\n observer.getCurrentQuery(),\n ])\n ) {\n throw error\n }\n },\n )\n\n return {\n ...(toRefs(readonly(state)) as UseQueryReturnType<TData, TError>),\n suspense,\n }\n}\n\nexport function parseQueryArgs<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n>(\n arg1:\n | MaybeRef<TQueryKey>\n | MaybeRef<UseQueryOptionsGeneric<TQueryFnData, TError, TData, TQueryKey>>,\n arg2:\n | MaybeRef<QueryFunction<TQueryFnData, UnwrapRef<TQueryKey>>>\n | MaybeRef<\n UseQueryOptionsGeneric<TQueryFnData, TError, TData, TQueryKey>\n > = {},\n arg3: MaybeRef<\n UseQueryOptionsGeneric<TQueryFnData, TError, TData, TQueryKey>\n > = {},\n): WithQueryClientKey<\n QueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey>\n> {\n const plainArg1 = unref(arg1)\n const plainArg2 = unref(arg2)\n const plainArg3 = unref(arg3)\n\n let options = plainArg1\n\n if (!isQueryKey(plainArg1)) {\n options = plainArg1\n } else if (typeof plainArg2 === 'function') {\n options = { ...plainArg3, queryKey: plainArg1, queryFn: plainArg2 }\n } else {\n options = { ...plainArg2, queryKey: plainArg1 }\n }\n\n return cloneDeepUnref(options) as WithQueryClientKey<\n QueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey>\n >\n}\n"],"names":["useBaseQuery","Observer","arg1","arg2","arg3","options","computed","parseQueryArgs","queryClient","value","useQueryClient","queryClientKey","defaultedOptions","defaulted","defaultQueryOptions","_optimisticResults","isRestoring","observer","state","reactive","getCurrentResult","unsubscribe","watch","subscribe","result","updateState","immediate","setOptions","onScopeDispose","suspense","Promise","resolve","reject","stopWatch","run","enabled","optimisticResult","getOptimisticResult","isStale","fetchOptimistic","then","deep","error","isError","isFetching","shouldThrowError","useErrorBoundary","getCurrentQuery","toRefs","readonly","plainArg1","unref","plainArg2","plainArg3","isQueryKey","queryKey","queryFn","cloneDeepUnref"],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { computed, reactive, watch, onScopeDispose, toRefs, readonly, unref } from 'vue-demi';
|
|
2
2
|
import { useQueryClient } from './useQueryClient.mjs';
|
|
3
|
-
import { updateState, isQueryKey, cloneDeepUnref } from './utils.mjs';
|
|
3
|
+
import { updateState, shouldThrowError, isQueryKey, cloneDeepUnref } from './utils.mjs';
|
|
4
4
|
|
|
5
5
|
function useBaseQuery(Observer, arg1, arg2 = {}, arg3 = {}) {
|
|
6
6
|
var _options$value$queryC;
|
|
@@ -61,8 +61,14 @@ function useBaseQuery(Observer, arg1, arg2 = {}, arg3 = {}) {
|
|
|
61
61
|
deep: true
|
|
62
62
|
});
|
|
63
63
|
});
|
|
64
|
-
};
|
|
64
|
+
}; // Handle error boundary
|
|
65
|
+
|
|
65
66
|
|
|
67
|
+
watch(() => state.error, error => {
|
|
68
|
+
if (state.isError && !state.isFetching && shouldThrowError(defaultedOptions.value.useErrorBoundary, [error, observer.getCurrentQuery()])) {
|
|
69
|
+
throw error;
|
|
70
|
+
}
|
|
71
|
+
});
|
|
66
72
|
return { ...toRefs(readonly(state)),
|
|
67
73
|
suspense
|
|
68
74
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useBaseQuery.mjs","sources":["../../src/useBaseQuery.ts"],"sourcesContent":["import {\n computed,\n onScopeDispose,\n reactive,\n readonly,\n toRefs,\n unref,\n watch,\n} from 'vue-demi'\nimport { useQueryClient } from './useQueryClient'\nimport {
|
|
1
|
+
{"version":3,"file":"useBaseQuery.mjs","sources":["../../src/useBaseQuery.ts"],"sourcesContent":["import {\n computed,\n onScopeDispose,\n reactive,\n readonly,\n toRefs,\n unref,\n watch,\n} from 'vue-demi'\nimport { useQueryClient } from './useQueryClient'\nimport {\n cloneDeepUnref,\n isQueryKey,\n shouldThrowError,\n updateState,\n} from './utils'\nimport type { ToRefs, UnwrapRef } from 'vue-demi'\nimport type {\n QueryFunction,\n QueryKey,\n QueryObserver,\n QueryObserverOptions,\n QueryObserverResult,\n} from '@tanstack/query-core'\nimport type { MaybeRef, WithQueryClientKey } from './types'\nimport type { UseQueryOptions } from './useQuery'\nimport type { UseInfiniteQueryOptions } from './useInfiniteQuery'\n\nexport type UseQueryReturnType<\n TData,\n TError,\n Result = QueryObserverResult<TData, TError>,\n> = ToRefs<Readonly<Result>> & {\n suspense: () => Promise<Result>\n}\n\ntype UseQueryOptionsGeneric<\n TQueryFnData,\n TError,\n TData,\n TQueryKey extends QueryKey = QueryKey,\n> =\n | UseQueryOptions<TQueryFnData, TError, TData, TQueryKey>\n | UseInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey>\n\nexport function useBaseQuery<\n TQueryFnData,\n TError,\n TData,\n TQueryKey extends QueryKey,\n>(\n Observer: typeof QueryObserver,\n arg1:\n | TQueryKey\n | UseQueryOptionsGeneric<TQueryFnData, TError, TData, TQueryKey>,\n arg2:\n | QueryFunction<TQueryFnData, UnwrapRef<TQueryKey>>\n | UseQueryOptionsGeneric<TQueryFnData, TError, TData, TQueryKey> = {},\n arg3: UseQueryOptionsGeneric<TQueryFnData, TError, TData, TQueryKey> = {},\n): UseQueryReturnType<TData, TError> {\n const options = computed(() => parseQueryArgs(arg1, arg2, arg3))\n\n const queryClient =\n options.value.queryClient ?? useQueryClient(options.value.queryClientKey)\n\n const defaultedOptions = computed(() => {\n const defaulted = queryClient.defaultQueryOptions(options.value)\n defaulted._optimisticResults = queryClient.isRestoring.value\n ? 'isRestoring'\n : 'optimistic'\n\n return defaulted\n })\n\n const observer = new Observer(queryClient, defaultedOptions.value)\n const state = reactive(observer.getCurrentResult())\n\n let unsubscribe = () => {\n // noop\n }\n\n watch(\n queryClient.isRestoring,\n (isRestoring) => {\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (!isRestoring) {\n unsubscribe()\n unsubscribe = observer.subscribe((result) => {\n updateState(state, result)\n })\n }\n },\n { immediate: true },\n )\n\n watch(defaultedOptions, () => {\n observer.setOptions(defaultedOptions.value)\n updateState(state, observer.getCurrentResult())\n })\n\n onScopeDispose(() => {\n unsubscribe()\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 const optimisticResult = observer.getOptimisticResult(\n defaultedOptions.value,\n )\n if (optimisticResult.isStale) {\n stopWatch()\n observer\n .fetchOptimistic(defaultedOptions.value)\n .then(resolve, reject)\n } else {\n stopWatch()\n resolve(optimisticResult)\n }\n }\n }\n\n run()\n\n stopWatch = watch(defaultedOptions, run, { deep: true })\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.useErrorBoundary, [\n error as TError,\n observer.getCurrentQuery(),\n ])\n ) {\n throw error\n }\n },\n )\n\n return {\n ...(toRefs(readonly(state)) as UseQueryReturnType<TData, TError>),\n suspense,\n }\n}\n\nexport function parseQueryArgs<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n>(\n arg1:\n | MaybeRef<TQueryKey>\n | MaybeRef<UseQueryOptionsGeneric<TQueryFnData, TError, TData, TQueryKey>>,\n arg2:\n | MaybeRef<QueryFunction<TQueryFnData, UnwrapRef<TQueryKey>>>\n | MaybeRef<\n UseQueryOptionsGeneric<TQueryFnData, TError, TData, TQueryKey>\n > = {},\n arg3: MaybeRef<\n UseQueryOptionsGeneric<TQueryFnData, TError, TData, TQueryKey>\n > = {},\n): WithQueryClientKey<\n QueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey>\n> {\n const plainArg1 = unref(arg1)\n const plainArg2 = unref(arg2)\n const plainArg3 = unref(arg3)\n\n let options = plainArg1\n\n if (!isQueryKey(plainArg1)) {\n options = plainArg1\n } else if (typeof plainArg2 === 'function') {\n options = { ...plainArg3, queryKey: plainArg1, queryFn: plainArg2 }\n } else {\n options = { ...plainArg2, queryKey: plainArg1 }\n }\n\n return cloneDeepUnref(options) as WithQueryClientKey<\n QueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey>\n >\n}\n"],"names":["useBaseQuery","Observer","arg1","arg2","arg3","options","computed","parseQueryArgs","queryClient","value","useQueryClient","queryClientKey","defaultedOptions","defaulted","defaultQueryOptions","_optimisticResults","isRestoring","observer","state","reactive","getCurrentResult","unsubscribe","watch","subscribe","result","updateState","immediate","setOptions","onScopeDispose","suspense","Promise","resolve","reject","stopWatch","run","enabled","optimisticResult","getOptimisticResult","isStale","fetchOptimistic","then","deep","error","isError","isFetching","shouldThrowError","useErrorBoundary","getCurrentQuery","toRefs","readonly","plainArg1","unref","plainArg2","plainArg3","isQueryKey","queryKey","queryFn","cloneDeepUnref"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMutation.d.ts","sourceRoot":"","sources":["../../src/useMutation.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useMutation.d.ts","sourceRoot":"","sources":["../../src/useMutation.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { computed, reactive, watch, onScopeDispose, toRefs, readonly, unref } from 'vue-demi';
|
|
2
2
|
import { MutationObserver } from '@tanstack/query-core';
|
|
3
|
-
import { updateState, isMutationKey, cloneDeepUnref } from './utils.esm.js';
|
|
3
|
+
import { updateState, shouldThrowError, isMutationKey, cloneDeepUnref } from './utils.esm.js';
|
|
4
4
|
import { useQueryClient } from './useQueryClient.esm.js';
|
|
5
5
|
|
|
6
6
|
function useMutation(arg1, arg2, arg3) {
|
|
@@ -28,6 +28,11 @@ function useMutation(arg1, arg2, arg3) {
|
|
|
28
28
|
unsubscribe();
|
|
29
29
|
});
|
|
30
30
|
const resultRefs = toRefs(readonly(state));
|
|
31
|
+
watch(() => state.error, error => {
|
|
32
|
+
if (error && shouldThrowError(options.value.useErrorBoundary, [error])) {
|
|
33
|
+
throw error;
|
|
34
|
+
}
|
|
35
|
+
});
|
|
31
36
|
return { ...resultRefs,
|
|
32
37
|
mutate,
|
|
33
38
|
mutateAsync: state.mutate,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMutation.esm.js","sources":["../../src/useMutation.ts"],"sourcesContent":["import {\n computed,\n onScopeDispose,\n reactive,\n readonly,\n toRefs,\n unref,\n watch,\n} from 'vue-demi'\nimport { MutationObserver } from '@tanstack/query-core'\nimport {
|
|
1
|
+
{"version":3,"file":"useMutation.esm.js","sources":["../../src/useMutation.ts"],"sourcesContent":["import {\n computed,\n onScopeDispose,\n reactive,\n readonly,\n toRefs,\n unref,\n watch,\n} from 'vue-demi'\nimport { MutationObserver } from '@tanstack/query-core'\nimport {\n cloneDeepUnref,\n isMutationKey,\n shouldThrowError,\n updateState,\n} from './utils'\nimport { useQueryClient } from './useQueryClient'\nimport type { ToRefs } from 'vue-demi'\nimport type {\n MutateFunction,\n MutateOptions,\n MutationFunction,\n MutationKey,\n MutationObserverOptions,\n MutationObserverResult,\n} from '@tanstack/query-core'\nimport type {\n DistributiveOmit,\n MaybeRef,\n MaybeRefDeep,\n WithQueryClientKey,\n} from './types'\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(options, () => {\n observer.setOptions(queryClient.defaultMutationOptions(options.value))\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 watch(\n () => state.error,\n (error) => {\n if (\n error &&\n shouldThrowError(options.value.useErrorBoundary, [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\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","onScopeDispose","resultRefs","toRefs","readonly","error","shouldThrowError","useErrorBoundary","mutateAsync","reset","plainArg1","unref","plainArg2","isMutationKey","plainArg3","mutationKey","mutationFn","cloneDeepUnref"],"mappings":"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"}
|
package/build/lib/useMutation.js
CHANGED
|
@@ -32,6 +32,11 @@ function useMutation(arg1, arg2, arg3) {
|
|
|
32
32
|
unsubscribe();
|
|
33
33
|
});
|
|
34
34
|
const resultRefs = vueDemi.toRefs(vueDemi.readonly(state));
|
|
35
|
+
vueDemi.watch(() => state.error, error => {
|
|
36
|
+
if (error && utils.shouldThrowError(options.value.useErrorBoundary, [error])) {
|
|
37
|
+
throw error;
|
|
38
|
+
}
|
|
39
|
+
});
|
|
35
40
|
return { ...resultRefs,
|
|
36
41
|
mutate,
|
|
37
42
|
mutateAsync: state.mutate,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMutation.js","sources":["../../src/useMutation.ts"],"sourcesContent":["import {\n computed,\n onScopeDispose,\n reactive,\n readonly,\n toRefs,\n unref,\n watch,\n} from 'vue-demi'\nimport { MutationObserver } from '@tanstack/query-core'\nimport {
|
|
1
|
+
{"version":3,"file":"useMutation.js","sources":["../../src/useMutation.ts"],"sourcesContent":["import {\n computed,\n onScopeDispose,\n reactive,\n readonly,\n toRefs,\n unref,\n watch,\n} from 'vue-demi'\nimport { MutationObserver } from '@tanstack/query-core'\nimport {\n cloneDeepUnref,\n isMutationKey,\n shouldThrowError,\n updateState,\n} from './utils'\nimport { useQueryClient } from './useQueryClient'\nimport type { ToRefs } from 'vue-demi'\nimport type {\n MutateFunction,\n MutateOptions,\n MutationFunction,\n MutationKey,\n MutationObserverOptions,\n MutationObserverResult,\n} from '@tanstack/query-core'\nimport type {\n DistributiveOmit,\n MaybeRef,\n MaybeRefDeep,\n WithQueryClientKey,\n} from './types'\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(options, () => {\n observer.setOptions(queryClient.defaultMutationOptions(options.value))\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 watch(\n () => state.error,\n (error) => {\n if (\n error &&\n shouldThrowError(options.value.useErrorBoundary, [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\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","onScopeDispose","resultRefs","toRefs","readonly","error","shouldThrowError","useErrorBoundary","mutateAsync","reset","plainArg1","unref","plainArg2","isMutationKey","plainArg3","mutationKey","mutationFn","cloneDeepUnref"],"mappings":";;;;;;;;;AAqIO,SAASA,WAAT,CAMLC,IANK,EAULC,IAVK,EAaLC,IAbK,EAgBuD;AAAA,EAAA,IAAA,qBAAA,CAAA;;AAC5D,EAAA,MAAMC,OAAO,GAAGC,gBAAQ,CAAC,MAAM;AAC7B,IAAA,OAAOC,iBAAiB,CAACL,IAAD,EAAOC,IAAP,EAAaC,IAAb,CAAxB,CAAA;AACD,GAFuB,CAAxB,CAAA;AAGA,EAAA,MAAMI,WAAW,GAAA,CAAA,qBAAA,GACfH,OAAO,CAACI,KAAR,CAAcD,WADC,KACcE,IAAAA,GAAAA,qBAAAA,GAAAA,6BAAc,CAACL,OAAO,CAACI,KAAR,CAAcE,cAAf,CAD7C,CAAA;AAEA,EAAA,MAAMC,QAAQ,GAAG,IAAIC,0BAAJ,CACfL,WADe,EAEfA,WAAW,CAACM,sBAAZ,CAAmCT,OAAO,CAACI,KAA3C,CAFe,CAAjB,CAAA;EAIA,MAAMM,KAAK,GAAGC,gBAAQ,CAACJ,QAAQ,CAACK,gBAAT,EAAD,CAAtB,CAAA;AAEA,EAAA,MAAMC,WAAW,GAAGN,QAAQ,CAACO,SAAT,CAAoBC,MAAD,IAAY;AACjDC,IAAAA,iBAAW,CAACN,KAAD,EAAQK,MAAR,CAAX,CAAA;AACD,GAFmB,CAApB,CAAA;;AAIA,EAAA,MAAME,MAAM,GAAG,CACbC,SADa,EAEbC,aAFa,KAGV;IACHZ,QAAQ,CAACU,MAAT,CAAgBC,SAAhB,EAA2BC,aAA3B,CAA0CC,CAAAA,KAA1C,CAAgD,MAAM;KAAtD,CAAA,CAAA;GAJF,CAAA;;EASAC,aAAK,CAACrB,OAAD,EAAU,MAAM;IACnBO,QAAQ,CAACe,UAAT,CAAoBnB,WAAW,CAACM,sBAAZ,CAAmCT,OAAO,CAACI,KAA3C,CAApB,CAAA,CAAA;AACD,GAFI,CAAL,CAAA;AAIAmB,EAAAA,sBAAc,CAAC,MAAM;IACnBV,WAAW,EAAA,CAAA;AACZ,GAFa,CAAd,CAAA;EAIA,MAAMW,UAAU,GAAGC,cAAM,CAACC,gBAAQ,CAAChB,KAAD,CAAT,CAAzB,CAAA;AAIAW,EAAAA,aAAK,CACH,MAAMX,KAAK,CAACiB,KADT,EAEFA,KAAD,IAAW;AACT,IAAA,IACEA,KAAK,IACLC,sBAAgB,CAAC5B,OAAO,CAACI,KAAR,CAAcyB,gBAAf,EAAiC,CAACF,KAAD,CAAjC,CAFlB,EAGE;AACA,MAAA,MAAMA,KAAN,CAAA;AACD,KAAA;AACF,GATE,CAAL,CAAA;EAYA,OAAO,EACL,GAAGH,UADE;IAELP,MAFK;IAGLa,WAAW,EAAEpB,KAAK,CAACO,MAHd;IAILc,KAAK,EAAErB,KAAK,CAACqB,KAAAA;GAJf,CAAA;AAMD,CAAA;AAEM,SAAS7B,iBAAT,CAMLL,IANK,EAULC,IAVK,EAaLC,IAbK,EAkBL;AACA,EAAA,MAAMiC,SAAS,GAAGC,aAAK,CAACpC,IAAD,CAAvB,CAAA;AACA,EAAA,MAAMqC,SAAS,GAAGD,aAAK,CAACnC,IAAD,CAAvB,CAAA;EACA,IAAIE,OAAO,GAAGgC,SAAd,CAAA;;AACA,EAAA,IAAIG,mBAAa,CAACH,SAAD,CAAjB,EAA8B;AAC5B,IAAA,IAAI,OAAOE,SAAP,KAAqB,UAAzB,EAAqC;AACnC,MAAA,MAAME,SAAS,GAAGH,aAAK,CAAClC,IAAD,CAAvB,CAAA;MACAC,OAAO,GAAG,EAAE,GAAGoC,SAAL;AAAgBC,QAAAA,WAAW,EAAEL,SAA7B;AAAwCM,QAAAA,UAAU,EAAEJ,SAAAA;OAA9D,CAAA;AACD,KAHD,MAGO;MACLlC,OAAO,GAAG,EAAE,GAAGkC,SAAL;AAAgBG,QAAAA,WAAW,EAAEL,SAAAA;OAAvC,CAAA;AACD,KAAA;AACF,GAAA;;AAED,EAAA,IAAI,OAAOA,SAAP,KAAqB,UAAzB,EAAqC;IACnChC,OAAO,GAAG,EAAE,GAAGkC,SAAL;AAAgBI,MAAAA,UAAU,EAAEN,SAAAA;KAAtC,CAAA;AACD,GAAA;;EAED,OAAOO,oBAAc,CAACvC,OAAD,CAArB,CAAA;AAMD;;;;;"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { computed, reactive, watch, onScopeDispose, toRefs, readonly, unref } from 'vue-demi';
|
|
2
2
|
import { MutationObserver } from '@tanstack/query-core';
|
|
3
|
-
import { updateState, isMutationKey, cloneDeepUnref } from './utils.mjs';
|
|
3
|
+
import { updateState, shouldThrowError, isMutationKey, cloneDeepUnref } from './utils.mjs';
|
|
4
4
|
import { useQueryClient } from './useQueryClient.mjs';
|
|
5
5
|
|
|
6
6
|
function useMutation(arg1, arg2, arg3) {
|
|
@@ -28,6 +28,11 @@ function useMutation(arg1, arg2, arg3) {
|
|
|
28
28
|
unsubscribe();
|
|
29
29
|
});
|
|
30
30
|
const resultRefs = toRefs(readonly(state));
|
|
31
|
+
watch(() => state.error, error => {
|
|
32
|
+
if (error && shouldThrowError(options.value.useErrorBoundary, [error])) {
|
|
33
|
+
throw error;
|
|
34
|
+
}
|
|
35
|
+
});
|
|
31
36
|
return { ...resultRefs,
|
|
32
37
|
mutate,
|
|
33
38
|
mutateAsync: state.mutate,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMutation.mjs","sources":["../../src/useMutation.ts"],"sourcesContent":["import {\n computed,\n onScopeDispose,\n reactive,\n readonly,\n toRefs,\n unref,\n watch,\n} from 'vue-demi'\nimport { MutationObserver } from '@tanstack/query-core'\nimport {
|
|
1
|
+
{"version":3,"file":"useMutation.mjs","sources":["../../src/useMutation.ts"],"sourcesContent":["import {\n computed,\n onScopeDispose,\n reactive,\n readonly,\n toRefs,\n unref,\n watch,\n} from 'vue-demi'\nimport { MutationObserver } from '@tanstack/query-core'\nimport {\n cloneDeepUnref,\n isMutationKey,\n shouldThrowError,\n updateState,\n} from './utils'\nimport { useQueryClient } from './useQueryClient'\nimport type { ToRefs } from 'vue-demi'\nimport type {\n MutateFunction,\n MutateOptions,\n MutationFunction,\n MutationKey,\n MutationObserverOptions,\n MutationObserverResult,\n} from '@tanstack/query-core'\nimport type {\n DistributiveOmit,\n MaybeRef,\n MaybeRefDeep,\n WithQueryClientKey,\n} from './types'\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(options, () => {\n observer.setOptions(queryClient.defaultMutationOptions(options.value))\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 watch(\n () => state.error,\n (error) => {\n if (\n error &&\n shouldThrowError(options.value.useErrorBoundary, [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\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","onScopeDispose","resultRefs","toRefs","readonly","error","shouldThrowError","useErrorBoundary","mutateAsync","reset","plainArg1","unref","plainArg2","isMutationKey","plainArg3","mutationKey","mutationFn","cloneDeepUnref"],"mappings":"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"}
|
package/build/lib/utils.d.ts
CHANGED
|
@@ -7,4 +7,5 @@ export declare function isMutationKey(value: unknown): value is MutationKey;
|
|
|
7
7
|
export declare function updateState(state: Record<string, unknown>, update: Record<string, any>): void;
|
|
8
8
|
export declare function cloneDeep<T>(value: T, customizer?: (val: unknown) => unknown | void): T;
|
|
9
9
|
export declare function cloneDeepUnref<T>(obj: T): UnwrapRef<T>;
|
|
10
|
+
export declare function shouldThrowError<T extends (...args: any[]) => boolean>(_useErrorBoundary: boolean | T | undefined, params: Parameters<T>): boolean;
|
|
10
11
|
//# sourceMappingURL=utils.d.ts.map
|
package/build/lib/utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AACjE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAEzC,eAAO,MAAM,gBAAgB,qBAAqB,CAAA;AAElD,wBAAgB,YAAY,CAAC,GAAG,CAAC,EAAE,MAAM,UAGxC;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,QAAQ,CAE5D;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,WAAW,CAElE;AAED,wBAAgB,WAAW,CACzB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC1B,IAAI,CAIN;AAED,wBAAgB,SAAS,CAAC,CAAC,EACzB,KAAK,EAAE,CAAC,EACR,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,OAAO,GAAG,IAAI,GAC5C,CAAC,CAqBH;AAED,wBAAgB,cAAc,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAMtD"}
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AACjE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAEzC,eAAO,MAAM,gBAAgB,qBAAqB,CAAA;AAElD,wBAAgB,YAAY,CAAC,GAAG,CAAC,EAAE,MAAM,UAGxC;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,QAAQ,CAE5D;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,WAAW,CAElE;AAED,wBAAgB,WAAW,CACzB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC1B,IAAI,CAIN;AAED,wBAAgB,SAAS,CAAC,CAAC,EACzB,KAAK,EAAE,CAAC,EACR,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,OAAO,GAAG,IAAI,GAC5C,CAAC,CAqBH;AAED,wBAAgB,cAAc,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAMtD;AAWD,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,EACpE,iBAAiB,EAAE,OAAO,GAAG,CAAC,GAAG,SAAS,EAC1C,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,GACpB,OAAO,CAOT"}
|
package/build/lib/utils.esm.js
CHANGED
|
@@ -54,5 +54,14 @@ function isPlainObject(value) {
|
|
|
54
54
|
return prototype === null || prototype === Object.prototype;
|
|
55
55
|
}
|
|
56
56
|
|
|
57
|
-
|
|
57
|
+
function shouldThrowError(_useErrorBoundary, params) {
|
|
58
|
+
// Allow useErrorBoundary function to override throwing behavior on a per-error basis
|
|
59
|
+
if (typeof _useErrorBoundary === 'function') {
|
|
60
|
+
return _useErrorBoundary(...params);
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
return !!_useErrorBoundary;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
export { VUE_QUERY_CLIENT, cloneDeep, cloneDeepUnref, getClientKey, isMutationKey, isQueryKey, shouldThrowError, updateState };
|
|
58
67
|
//# sourceMappingURL=utils.esm.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.esm.js","sources":["../../src/utils.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { isRef, unref } from 'vue-demi'\nimport type { MutationKey, QueryKey } from '@tanstack/query-core'\nimport type { UnwrapRef } from 'vue-demi'\n\nexport const VUE_QUERY_CLIENT = 'VUE_QUERY_CLIENT'\n\nexport function getClientKey(key?: string) {\n const suffix = key ? `:${key}` : ''\n return `${VUE_QUERY_CLIENT}${suffix}`\n}\n\nexport function isQueryKey(value: unknown): value is QueryKey {\n return Array.isArray(value)\n}\n\nexport function isMutationKey(value: unknown): value is MutationKey {\n return Array.isArray(value)\n}\n\nexport function updateState(\n state: Record<string, unknown>,\n update: Record<string, any>,\n): void {\n Object.keys(state).forEach((key) => {\n state[key] = update[key]\n })\n}\n\nexport function cloneDeep<T>(\n value: T,\n customizer?: (val: unknown) => unknown | void,\n): T {\n if (customizer) {\n const result = customizer(value)\n if (result !== undefined || isRef(value)) {\n return result as typeof value\n }\n }\n\n if (Array.isArray(value)) {\n return value.map((val) => cloneDeep(val, customizer)) as typeof value\n }\n\n if (typeof value === 'object' && isPlainObject(value)) {\n const entries = Object.entries(value).map(([key, val]) => [\n key,\n cloneDeep(val, customizer),\n ])\n return Object.fromEntries(entries)\n }\n\n return value\n}\n\nexport function cloneDeepUnref<T>(obj: T): UnwrapRef<T> {\n return cloneDeep(obj, (val) => {\n if (isRef(val)) {\n return cloneDeepUnref(unref(val))\n }\n }) as UnwrapRef<typeof obj>\n}\n\nfunction isPlainObject(value: unknown): value is Object {\n if (Object.prototype.toString.call(value) !== '[object Object]') {\n return false\n }\n\n const prototype = Object.getPrototypeOf(value)\n return prototype === null || prototype === Object.prototype\n}\n"],"names":["VUE_QUERY_CLIENT","getClientKey","key","suffix","isQueryKey","value","Array","isArray","isMutationKey","updateState","state","update","Object","keys","forEach","cloneDeep","customizer","result","undefined","isRef","map","val","isPlainObject","entries","fromEntries","cloneDeepUnref","obj","unref","prototype","toString","call","getPrototypeOf"],"mappings":";;AAAA;AAKO,MAAMA,gBAAgB,GAAG,mBAAzB;AAEA,SAASC,YAAT,CAAsBC,GAAtB,EAAoC;AACzC,EAAA,MAAMC,MAAM,GAAGD,GAAG,GAAOA,GAAAA,GAAAA,GAAP,GAAe,EAAjC,CAAA;EACA,OAAUF,EAAAA,GAAAA,gBAAV,GAA6BG,MAA7B,CAAA;AACD,CAAA;AAEM,SAASC,UAAT,CAAoBC,KAApB,EAAuD;AAC5D,EAAA,OAAOC,KAAK,CAACC,OAAN,CAAcF,KAAd,CAAP,CAAA;AACD,CAAA;AAEM,SAASG,aAAT,CAAuBH,KAAvB,EAA6D;AAClE,EAAA,OAAOC,KAAK,CAACC,OAAN,CAAcF,KAAd,CAAP,CAAA;AACD,CAAA;AAEM,SAASI,WAAT,CACLC,KADK,EAELC,MAFK,EAGC;EACNC,MAAM,CAACC,IAAP,CAAYH,KAAZ,EAAmBI,OAAnB,CAA4BZ,GAAD,IAAS;AAClCQ,IAAAA,KAAK,CAACR,GAAD,CAAL,GAAaS,MAAM,CAACT,GAAD,CAAnB,CAAA;GADF,CAAA,CAAA;AAGD,CAAA;AAEM,SAASa,SAAT,CACLV,KADK,EAELW,UAFK,EAGF;AACH,EAAA,IAAIA,UAAJ,EAAgB;AACd,IAAA,MAAMC,MAAM,GAAGD,UAAU,CAACX,KAAD,CAAzB,CAAA;;IACA,IAAIY,MAAM,KAAKC,SAAX,IAAwBC,KAAK,CAACd,KAAD,CAAjC,EAA0C;AACxC,MAAA,OAAOY,MAAP,CAAA;AACD,KAAA;AACF,GAAA;;AAED,EAAA,IAAIX,KAAK,CAACC,OAAN,CAAcF,KAAd,CAAJ,EAA0B;AACxB,IAAA,OAAOA,KAAK,CAACe,GAAN,CAAWC,GAAD,IAASN,SAAS,CAACM,GAAD,EAAML,UAAN,CAA5B,CAAP,CAAA;AACD,GAAA;;EAED,IAAI,OAAOX,KAAP,KAAiB,QAAjB,IAA6BiB,aAAa,CAACjB,KAAD,CAA9C,EAAuD;IACrD,MAAMkB,OAAO,GAAGX,MAAM,CAACW,OAAP,CAAelB,KAAf,CAAsBe,CAAAA,GAAtB,CAA0B,CAAC,CAAClB,GAAD,EAAMmB,GAAN,CAAD,KAAgB,CACxDnB,GADwD,EAExDa,SAAS,CAACM,GAAD,EAAML,UAAN,CAF+C,CAA1C,CAAhB,CAAA;AAIA,IAAA,OAAOJ,MAAM,CAACY,WAAP,CAAmBD,OAAnB,CAAP,CAAA;AACD,GAAA;;AAED,EAAA,OAAOlB,KAAP,CAAA;AACD,CAAA;AAEM,SAASoB,cAAT,CAA2BC,GAA3B,EAAiD;AACtD,EAAA,OAAOX,SAAS,CAACW,GAAD,EAAOL,GAAD,IAAS;AAC7B,IAAA,IAAIF,KAAK,CAACE,GAAD,CAAT,EAAgB;AACd,MAAA,OAAOI,cAAc,CAACE,KAAK,CAACN,GAAD,CAAN,CAArB,CAAA;AACD,KAAA;AACF,GAJe,CAAhB,CAAA;AAKD,CAAA;;AAED,SAASC,aAAT,CAAuBjB,KAAvB,EAAwD;EACtD,IAAIO,MAAM,CAACgB,SAAP,CAAiBC,QAAjB,CAA0BC,IAA1B,CAA+BzB,KAA/B,CAA0C,KAAA,iBAA9C,EAAiE;AAC/D,IAAA,OAAO,KAAP,CAAA;AACD,GAAA;;AAED,EAAA,MAAMuB,SAAS,GAAGhB,MAAM,CAACmB,cAAP,CAAsB1B,KAAtB,CAAlB,CAAA;EACA,OAAOuB,SAAS,KAAK,IAAd,IAAsBA,SAAS,KAAKhB,MAAM,CAACgB,SAAlD,CAAA;AACD;;;;"}
|
|
1
|
+
{"version":3,"file":"utils.esm.js","sources":["../../src/utils.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { isRef, unref } from 'vue-demi'\nimport type { MutationKey, QueryKey } from '@tanstack/query-core'\nimport type { UnwrapRef } from 'vue-demi'\n\nexport const VUE_QUERY_CLIENT = 'VUE_QUERY_CLIENT'\n\nexport function getClientKey(key?: string) {\n const suffix = key ? `:${key}` : ''\n return `${VUE_QUERY_CLIENT}${suffix}`\n}\n\nexport function isQueryKey(value: unknown): value is QueryKey {\n return Array.isArray(value)\n}\n\nexport function isMutationKey(value: unknown): value is MutationKey {\n return Array.isArray(value)\n}\n\nexport function updateState(\n state: Record<string, unknown>,\n update: Record<string, any>,\n): void {\n Object.keys(state).forEach((key) => {\n state[key] = update[key]\n })\n}\n\nexport function cloneDeep<T>(\n value: T,\n customizer?: (val: unknown) => unknown | void,\n): T {\n if (customizer) {\n const result = customizer(value)\n if (result !== undefined || isRef(value)) {\n return result as typeof value\n }\n }\n\n if (Array.isArray(value)) {\n return value.map((val) => cloneDeep(val, customizer)) as typeof value\n }\n\n if (typeof value === 'object' && isPlainObject(value)) {\n const entries = Object.entries(value).map(([key, val]) => [\n key,\n cloneDeep(val, customizer),\n ])\n return Object.fromEntries(entries)\n }\n\n return value\n}\n\nexport function cloneDeepUnref<T>(obj: T): UnwrapRef<T> {\n return cloneDeep(obj, (val) => {\n if (isRef(val)) {\n return cloneDeepUnref(unref(val))\n }\n }) as UnwrapRef<typeof obj>\n}\n\nfunction isPlainObject(value: unknown): value is Object {\n if (Object.prototype.toString.call(value) !== '[object Object]') {\n return false\n }\n\n const prototype = Object.getPrototypeOf(value)\n return prototype === null || prototype === Object.prototype\n}\n\nexport function shouldThrowError<T extends (...args: any[]) => boolean>(\n _useErrorBoundary: boolean | T | undefined,\n params: Parameters<T>,\n): boolean {\n // Allow useErrorBoundary function to override throwing behavior on a per-error basis\n if (typeof _useErrorBoundary === 'function') {\n return _useErrorBoundary(...params)\n }\n\n return !!_useErrorBoundary\n}\n"],"names":["VUE_QUERY_CLIENT","getClientKey","key","suffix","isQueryKey","value","Array","isArray","isMutationKey","updateState","state","update","Object","keys","forEach","cloneDeep","customizer","result","undefined","isRef","map","val","isPlainObject","entries","fromEntries","cloneDeepUnref","obj","unref","prototype","toString","call","getPrototypeOf","shouldThrowError","_useErrorBoundary","params"],"mappings":"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"}
|
package/build/lib/utils.js
CHANGED
|
@@ -58,11 +58,21 @@ function isPlainObject(value) {
|
|
|
58
58
|
return prototype === null || prototype === Object.prototype;
|
|
59
59
|
}
|
|
60
60
|
|
|
61
|
+
function shouldThrowError(_useErrorBoundary, params) {
|
|
62
|
+
// Allow useErrorBoundary function to override throwing behavior on a per-error basis
|
|
63
|
+
if (typeof _useErrorBoundary === 'function') {
|
|
64
|
+
return _useErrorBoundary(...params);
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
return !!_useErrorBoundary;
|
|
68
|
+
}
|
|
69
|
+
|
|
61
70
|
exports.VUE_QUERY_CLIENT = VUE_QUERY_CLIENT;
|
|
62
71
|
exports.cloneDeep = cloneDeep;
|
|
63
72
|
exports.cloneDeepUnref = cloneDeepUnref;
|
|
64
73
|
exports.getClientKey = getClientKey;
|
|
65
74
|
exports.isMutationKey = isMutationKey;
|
|
66
75
|
exports.isQueryKey = isQueryKey;
|
|
76
|
+
exports.shouldThrowError = shouldThrowError;
|
|
67
77
|
exports.updateState = updateState;
|
|
68
78
|
//# sourceMappingURL=utils.js.map
|
package/build/lib/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sources":["../../src/utils.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { isRef, unref } from 'vue-demi'\nimport type { MutationKey, QueryKey } from '@tanstack/query-core'\nimport type { UnwrapRef } from 'vue-demi'\n\nexport const VUE_QUERY_CLIENT = 'VUE_QUERY_CLIENT'\n\nexport function getClientKey(key?: string) {\n const suffix = key ? `:${key}` : ''\n return `${VUE_QUERY_CLIENT}${suffix}`\n}\n\nexport function isQueryKey(value: unknown): value is QueryKey {\n return Array.isArray(value)\n}\n\nexport function isMutationKey(value: unknown): value is MutationKey {\n return Array.isArray(value)\n}\n\nexport function updateState(\n state: Record<string, unknown>,\n update: Record<string, any>,\n): void {\n Object.keys(state).forEach((key) => {\n state[key] = update[key]\n })\n}\n\nexport function cloneDeep<T>(\n value: T,\n customizer?: (val: unknown) => unknown | void,\n): T {\n if (customizer) {\n const result = customizer(value)\n if (result !== undefined || isRef(value)) {\n return result as typeof value\n }\n }\n\n if (Array.isArray(value)) {\n return value.map((val) => cloneDeep(val, customizer)) as typeof value\n }\n\n if (typeof value === 'object' && isPlainObject(value)) {\n const entries = Object.entries(value).map(([key, val]) => [\n key,\n cloneDeep(val, customizer),\n ])\n return Object.fromEntries(entries)\n }\n\n return value\n}\n\nexport function cloneDeepUnref<T>(obj: T): UnwrapRef<T> {\n return cloneDeep(obj, (val) => {\n if (isRef(val)) {\n return cloneDeepUnref(unref(val))\n }\n }) as UnwrapRef<typeof obj>\n}\n\nfunction isPlainObject(value: unknown): value is Object {\n if (Object.prototype.toString.call(value) !== '[object Object]') {\n return false\n }\n\n const prototype = Object.getPrototypeOf(value)\n return prototype === null || prototype === Object.prototype\n}\n"],"names":["VUE_QUERY_CLIENT","getClientKey","key","suffix","isQueryKey","value","Array","isArray","isMutationKey","updateState","state","update","Object","keys","forEach","cloneDeep","customizer","result","undefined","isRef","map","val","isPlainObject","entries","fromEntries","cloneDeepUnref","obj","unref","prototype","toString","call","getPrototypeOf"],"mappings":";;;;;;AAAA;AAKO,MAAMA,gBAAgB,GAAG,mBAAzB;AAEA,SAASC,YAAT,CAAsBC,GAAtB,EAAoC;AACzC,EAAA,MAAMC,MAAM,GAAGD,GAAG,GAAOA,GAAAA,GAAAA,GAAP,GAAe,EAAjC,CAAA;EACA,OAAUF,EAAAA,GAAAA,gBAAV,GAA6BG,MAA7B,CAAA;AACD,CAAA;AAEM,SAASC,UAAT,CAAoBC,KAApB,EAAuD;AAC5D,EAAA,OAAOC,KAAK,CAACC,OAAN,CAAcF,KAAd,CAAP,CAAA;AACD,CAAA;AAEM,SAASG,aAAT,CAAuBH,KAAvB,EAA6D;AAClE,EAAA,OAAOC,KAAK,CAACC,OAAN,CAAcF,KAAd,CAAP,CAAA;AACD,CAAA;AAEM,SAASI,WAAT,CACLC,KADK,EAELC,MAFK,EAGC;EACNC,MAAM,CAACC,IAAP,CAAYH,KAAZ,EAAmBI,OAAnB,CAA4BZ,GAAD,IAAS;AAClCQ,IAAAA,KAAK,CAACR,GAAD,CAAL,GAAaS,MAAM,CAACT,GAAD,CAAnB,CAAA;GADF,CAAA,CAAA;AAGD,CAAA;AAEM,SAASa,SAAT,CACLV,KADK,EAELW,UAFK,EAGF;AACH,EAAA,IAAIA,UAAJ,EAAgB;AACd,IAAA,MAAMC,MAAM,GAAGD,UAAU,CAACX,KAAD,CAAzB,CAAA;;IACA,IAAIY,MAAM,KAAKC,SAAX,IAAwBC,aAAK,CAACd,KAAD,CAAjC,EAA0C;AACxC,MAAA,OAAOY,MAAP,CAAA;AACD,KAAA;AACF,GAAA;;AAED,EAAA,IAAIX,KAAK,CAACC,OAAN,CAAcF,KAAd,CAAJ,EAA0B;AACxB,IAAA,OAAOA,KAAK,CAACe,GAAN,CAAWC,GAAD,IAASN,SAAS,CAACM,GAAD,EAAML,UAAN,CAA5B,CAAP,CAAA;AACD,GAAA;;EAED,IAAI,OAAOX,KAAP,KAAiB,QAAjB,IAA6BiB,aAAa,CAACjB,KAAD,CAA9C,EAAuD;IACrD,MAAMkB,OAAO,GAAGX,MAAM,CAACW,OAAP,CAAelB,KAAf,CAAsBe,CAAAA,GAAtB,CAA0B,CAAC,CAAClB,GAAD,EAAMmB,GAAN,CAAD,KAAgB,CACxDnB,GADwD,EAExDa,SAAS,CAACM,GAAD,EAAML,UAAN,CAF+C,CAA1C,CAAhB,CAAA;AAIA,IAAA,OAAOJ,MAAM,CAACY,WAAP,CAAmBD,OAAnB,CAAP,CAAA;AACD,GAAA;;AAED,EAAA,OAAOlB,KAAP,CAAA;AACD,CAAA;AAEM,SAASoB,cAAT,CAA2BC,GAA3B,EAAiD;AACtD,EAAA,OAAOX,SAAS,CAACW,GAAD,EAAOL,GAAD,IAAS;AAC7B,IAAA,IAAIF,aAAK,CAACE,GAAD,CAAT,EAAgB;AACd,MAAA,OAAOI,cAAc,CAACE,aAAK,CAACN,GAAD,CAAN,CAArB,CAAA;AACD,KAAA;AACF,GAJe,CAAhB,CAAA;AAKD,CAAA;;AAED,SAASC,aAAT,CAAuBjB,KAAvB,EAAwD;EACtD,IAAIO,MAAM,CAACgB,SAAP,CAAiBC,QAAjB,CAA0BC,IAA1B,CAA+BzB,KAA/B,CAA0C,KAAA,iBAA9C,EAAiE;AAC/D,IAAA,OAAO,KAAP,CAAA;AACD,GAAA;;AAED,EAAA,MAAMuB,SAAS,GAAGhB,MAAM,CAACmB,cAAP,CAAsB1B,KAAtB,CAAlB,CAAA;EACA,OAAOuB,SAAS,KAAK,IAAd,IAAsBA,SAAS,KAAKhB,MAAM,CAACgB,SAAlD,CAAA;AACD
|
|
1
|
+
{"version":3,"file":"utils.js","sources":["../../src/utils.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { isRef, unref } from 'vue-demi'\nimport type { MutationKey, QueryKey } from '@tanstack/query-core'\nimport type { UnwrapRef } from 'vue-demi'\n\nexport const VUE_QUERY_CLIENT = 'VUE_QUERY_CLIENT'\n\nexport function getClientKey(key?: string) {\n const suffix = key ? `:${key}` : ''\n return `${VUE_QUERY_CLIENT}${suffix}`\n}\n\nexport function isQueryKey(value: unknown): value is QueryKey {\n return Array.isArray(value)\n}\n\nexport function isMutationKey(value: unknown): value is MutationKey {\n return Array.isArray(value)\n}\n\nexport function updateState(\n state: Record<string, unknown>,\n update: Record<string, any>,\n): void {\n Object.keys(state).forEach((key) => {\n state[key] = update[key]\n })\n}\n\nexport function cloneDeep<T>(\n value: T,\n customizer?: (val: unknown) => unknown | void,\n): T {\n if (customizer) {\n const result = customizer(value)\n if (result !== undefined || isRef(value)) {\n return result as typeof value\n }\n }\n\n if (Array.isArray(value)) {\n return value.map((val) => cloneDeep(val, customizer)) as typeof value\n }\n\n if (typeof value === 'object' && isPlainObject(value)) {\n const entries = Object.entries(value).map(([key, val]) => [\n key,\n cloneDeep(val, customizer),\n ])\n return Object.fromEntries(entries)\n }\n\n return value\n}\n\nexport function cloneDeepUnref<T>(obj: T): UnwrapRef<T> {\n return cloneDeep(obj, (val) => {\n if (isRef(val)) {\n return cloneDeepUnref(unref(val))\n }\n }) as UnwrapRef<typeof obj>\n}\n\nfunction isPlainObject(value: unknown): value is Object {\n if (Object.prototype.toString.call(value) !== '[object Object]') {\n return false\n }\n\n const prototype = Object.getPrototypeOf(value)\n return prototype === null || prototype === Object.prototype\n}\n\nexport function shouldThrowError<T extends (...args: any[]) => boolean>(\n _useErrorBoundary: boolean | T | undefined,\n params: Parameters<T>,\n): boolean {\n // Allow useErrorBoundary function to override throwing behavior on a per-error basis\n if (typeof _useErrorBoundary === 'function') {\n return _useErrorBoundary(...params)\n }\n\n return !!_useErrorBoundary\n}\n"],"names":["VUE_QUERY_CLIENT","getClientKey","key","suffix","isQueryKey","value","Array","isArray","isMutationKey","updateState","state","update","Object","keys","forEach","cloneDeep","customizer","result","undefined","isRef","map","val","isPlainObject","entries","fromEntries","cloneDeepUnref","obj","unref","prototype","toString","call","getPrototypeOf","shouldThrowError","_useErrorBoundary","params"],"mappings":"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"}
|
package/build/lib/utils.mjs
CHANGED
|
@@ -54,5 +54,14 @@ function isPlainObject(value) {
|
|
|
54
54
|
return prototype === null || prototype === Object.prototype;
|
|
55
55
|
}
|
|
56
56
|
|
|
57
|
-
|
|
57
|
+
function shouldThrowError(_useErrorBoundary, params) {
|
|
58
|
+
// Allow useErrorBoundary function to override throwing behavior on a per-error basis
|
|
59
|
+
if (typeof _useErrorBoundary === 'function') {
|
|
60
|
+
return _useErrorBoundary(...params);
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
return !!_useErrorBoundary;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
export { VUE_QUERY_CLIENT, cloneDeep, cloneDeepUnref, getClientKey, isMutationKey, isQueryKey, shouldThrowError, updateState };
|
|
58
67
|
//# sourceMappingURL=utils.mjs.map
|