@tanstack/vue-query 4.36.1 → 4.36.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/lib/useBaseQuery.d.ts +1 -1
- package/build/lib/useBaseQuery.d.ts.map +1 -1
- package/build/lib/useBaseQuery.esm.js.map +1 -1
- package/build/lib/useBaseQuery.js.map +1 -1
- package/build/lib/useBaseQuery.mjs.map +1 -1
- package/build/umd/index.development.js.map +1 -1
- package/build/umd/index.production.js.map +1 -1
- package/package.json +1 -1
|
@@ -4,7 +4,7 @@ import type { DeepUnwrapRef, MaybeRef, WithQueryClientKey } from './types';
|
|
|
4
4
|
import type { UseQueryOptions } from './useQuery';
|
|
5
5
|
import type { UseInfiniteQueryOptions } from './useInfiniteQuery';
|
|
6
6
|
export declare type UseQueryReturnType<TData, TError, Result = QueryObserverResult<TData, TError>> = {
|
|
7
|
-
[K in keyof Result]:
|
|
7
|
+
[K in keyof Result]: K extends 'fetchNextPage' | 'fetchPreviousPage' | 'refetch' | 'remove' ? Result[K] : ToRef<Readonly<Result>[K]>;
|
|
8
8
|
} & {
|
|
9
9
|
suspense: () => Promise<Result>;
|
|
10
10
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useBaseQuery.d.ts","sourceRoot":"","sources":["../../src/useBaseQuery.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,UAAU,CAAA;AACrC,OAAO,KAAK,EACV,aAAa,EACb,QAAQ,EACR,aAAa,EACb,oBAAoB,EACpB,mBAAmB,EACpB,MAAM,sBAAsB,CAAA;AAC7B,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;AAC1E,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;KACD,CAAC,IAAI,MAAM,MAAM,GAAG,
|
|
1
|
+
{"version":3,"file":"useBaseQuery.d.ts","sourceRoot":"","sources":["../../src/useBaseQuery.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,UAAU,CAAA;AACrC,OAAO,KAAK,EACV,aAAa,EACb,QAAQ,EACR,aAAa,EACb,oBAAoB,EACpB,mBAAmB,EACpB,MAAM,sBAAsB,CAAA;AAC7B,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;AAC1E,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;KACD,CAAC,IAAI,MAAM,MAAM,GAAG,CAAC,SAClB,eAAe,GACf,mBAAmB,GACnB,SAAS,GACT,QAAQ,GACR,MAAM,CAAC,CAAC,CAAC,GACT,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;CAC/B,GAAG;IACF,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,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,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,GAC/D,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,CAAC,KAAK,EAAE,MAAM,CAAC,CAuHnC;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,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,GAC/D,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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useBaseQuery.esm.js","sources":["../../src/useBaseQuery.ts"],"sourcesContent":["import {\n computed,\n getCurrentScope,\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 { ToRef } from 'vue-demi'\nimport type {\n QueryFunction,\n QueryKey,\n QueryObserver,\n QueryObserverOptions,\n QueryObserverResult,\n} from '@tanstack/query-core'\nimport type { DeepUnwrapRef, 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> = {\n [K in keyof Result]: Result[K] extends (...args: any[]) => any\n ? Result[K]\n : ToRef<Result[K]>\n} & {\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 | MaybeRef<TQueryKey>\n | MaybeRef<UseQueryOptionsGeneric<TQueryFnData, TError, TData, TQueryKey>>,\n arg2:\n | MaybeRef<QueryFunction<TQueryFnData, DeepUnwrapRef<TQueryKey>>>\n | MaybeRef<\n UseQueryOptionsGeneric<TQueryFnData, TError, TData, TQueryKey>\n > = {},\n arg3: MaybeRef<\n UseQueryOptionsGeneric<TQueryFnData, TError, TData, TQueryKey>\n > = {},\n): UseQueryReturnType<TData, TError> {\n if (process.env.NODE_ENV === 'development') {\n if (!getCurrentScope()) {\n console.warn(\n 'vue-query composables like \"uesQuery()\" 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 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 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 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)\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 const object: any = toRefs(readonly(state))\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 UseQueryReturnType<TData, TError>\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, DeepUnwrapRef<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","process","env","NODE_ENV","getCurrentScope","console","warn","options","computed","parseQueryArgs","queryClient","value","useQueryClient","queryClientKey","defaultedOptions","defaulted","defaultQueryOptions","_optimisticResults","isRestoring","observer","state","reactive","getCurrentResult","unsubscribe","watch","subscribe","result","updateState","immediate","updater","setOptions","onScopeDispose","refetch","args","suspense","Promise","resolve","reject","stopWatch","run","enabled","optimisticResult","getOptimisticResult","isStale","fetchOptimistic","then","error","isError","isFetching","shouldThrowError","useErrorBoundary","getCurrentQuery","object","toRefs","readonly","key","plainArg1","unref","plainArg2","plainArg3","isQueryKey","queryKey","queryFn","cloneDeepUnref"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useBaseQuery.esm.js","sources":["../../src/useBaseQuery.ts"],"sourcesContent":["import {\n computed,\n getCurrentScope,\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 { ToRef } from 'vue-demi'\nimport type {\n QueryFunction,\n QueryKey,\n QueryObserver,\n QueryObserverOptions,\n QueryObserverResult,\n} from '@tanstack/query-core'\nimport type { DeepUnwrapRef, 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> = {\n [K in keyof Result]: K extends\n | 'fetchNextPage'\n | 'fetchPreviousPage'\n | 'refetch'\n | 'remove'\n ? Result[K]\n : ToRef<Readonly<Result>[K]>\n} & {\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 | MaybeRef<TQueryKey>\n | MaybeRef<UseQueryOptionsGeneric<TQueryFnData, TError, TData, TQueryKey>>,\n arg2:\n | MaybeRef<QueryFunction<TQueryFnData, DeepUnwrapRef<TQueryKey>>>\n | MaybeRef<\n UseQueryOptionsGeneric<TQueryFnData, TError, TData, TQueryKey>\n > = {},\n arg3: MaybeRef<\n UseQueryOptionsGeneric<TQueryFnData, TError, TData, TQueryKey>\n > = {},\n): UseQueryReturnType<TData, TError> {\n if (process.env.NODE_ENV === 'development') {\n if (!getCurrentScope()) {\n console.warn(\n 'vue-query composables like \"uesQuery()\" 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 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 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 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)\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 const object: any = toRefs(readonly(state))\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 UseQueryReturnType<TData, TError>\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, DeepUnwrapRef<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","process","env","NODE_ENV","getCurrentScope","console","warn","options","computed","parseQueryArgs","queryClient","value","useQueryClient","queryClientKey","defaultedOptions","defaulted","defaultQueryOptions","_optimisticResults","isRestoring","observer","state","reactive","getCurrentResult","unsubscribe","watch","subscribe","result","updateState","immediate","updater","setOptions","onScopeDispose","refetch","args","suspense","Promise","resolve","reject","stopWatch","run","enabled","optimisticResult","getOptimisticResult","isStale","fetchOptimistic","then","error","isError","isFetching","shouldThrowError","useErrorBoundary","getCurrentQuery","object","toRefs","readonly","key","plainArg1","unref","plainArg2","plainArg3","isQueryKey","queryKey","queryFn","cloneDeepUnref"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useBaseQuery.js","sources":["../../src/useBaseQuery.ts"],"sourcesContent":["import {\n computed,\n getCurrentScope,\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 { ToRef } from 'vue-demi'\nimport type {\n QueryFunction,\n QueryKey,\n QueryObserver,\n QueryObserverOptions,\n QueryObserverResult,\n} from '@tanstack/query-core'\nimport type { DeepUnwrapRef, 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> = {\n [K in keyof Result]: Result[K] extends (...args: any[]) => any\n ? Result[K]\n : ToRef<Result[K]>\n} & {\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 | MaybeRef<TQueryKey>\n | MaybeRef<UseQueryOptionsGeneric<TQueryFnData, TError, TData, TQueryKey>>,\n arg2:\n | MaybeRef<QueryFunction<TQueryFnData, DeepUnwrapRef<TQueryKey>>>\n | MaybeRef<\n UseQueryOptionsGeneric<TQueryFnData, TError, TData, TQueryKey>\n > = {},\n arg3: MaybeRef<\n UseQueryOptionsGeneric<TQueryFnData, TError, TData, TQueryKey>\n > = {},\n): UseQueryReturnType<TData, TError> {\n if (process.env.NODE_ENV === 'development') {\n if (!getCurrentScope()) {\n console.warn(\n 'vue-query composables like \"uesQuery()\" 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 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 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 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)\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 const object: any = toRefs(readonly(state))\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 UseQueryReturnType<TData, TError>\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, DeepUnwrapRef<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","process","env","NODE_ENV","getCurrentScope","console","warn","options","computed","parseQueryArgs","queryClient","value","useQueryClient","queryClientKey","defaultedOptions","defaulted","defaultQueryOptions","_optimisticResults","isRestoring","observer","state","reactive","getCurrentResult","unsubscribe","watch","subscribe","result","updateState","immediate","updater","setOptions","onScopeDispose","refetch","args","suspense","Promise","resolve","reject","stopWatch","run","enabled","optimisticResult","getOptimisticResult","isStale","fetchOptimistic","then","error","isError","isFetching","shouldThrowError","useErrorBoundary","getCurrentQuery","object","toRefs","readonly","key","plainArg1","unref","plainArg2","plainArg3","isQueryKey","queryKey","queryFn","cloneDeepUnref"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useBaseQuery.js","sources":["../../src/useBaseQuery.ts"],"sourcesContent":["import {\n computed,\n getCurrentScope,\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 { ToRef } from 'vue-demi'\nimport type {\n QueryFunction,\n QueryKey,\n QueryObserver,\n QueryObserverOptions,\n QueryObserverResult,\n} from '@tanstack/query-core'\nimport type { DeepUnwrapRef, 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> = {\n [K in keyof Result]: K extends\n | 'fetchNextPage'\n | 'fetchPreviousPage'\n | 'refetch'\n | 'remove'\n ? Result[K]\n : ToRef<Readonly<Result>[K]>\n} & {\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 | MaybeRef<TQueryKey>\n | MaybeRef<UseQueryOptionsGeneric<TQueryFnData, TError, TData, TQueryKey>>,\n arg2:\n | MaybeRef<QueryFunction<TQueryFnData, DeepUnwrapRef<TQueryKey>>>\n | MaybeRef<\n UseQueryOptionsGeneric<TQueryFnData, TError, TData, TQueryKey>\n > = {},\n arg3: MaybeRef<\n UseQueryOptionsGeneric<TQueryFnData, TError, TData, TQueryKey>\n > = {},\n): UseQueryReturnType<TData, TError> {\n if (process.env.NODE_ENV === 'development') {\n if (!getCurrentScope()) {\n console.warn(\n 'vue-query composables like \"uesQuery()\" 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 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 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 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)\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 const object: any = toRefs(readonly(state))\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 UseQueryReturnType<TData, TError>\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, DeepUnwrapRef<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","process","env","NODE_ENV","getCurrentScope","console","warn","options","computed","parseQueryArgs","queryClient","value","useQueryClient","queryClientKey","defaultedOptions","defaulted","defaultQueryOptions","_optimisticResults","isRestoring","observer","state","reactive","getCurrentResult","unsubscribe","watch","subscribe","result","updateState","immediate","updater","setOptions","onScopeDispose","refetch","args","suspense","Promise","resolve","reject","stopWatch","run","enabled","optimisticResult","getOptimisticResult","isStale","fetchOptimistic","then","error","isError","isFetching","shouldThrowError","useErrorBoundary","getCurrentQuery","object","toRefs","readonly","key","plainArg1","unref","plainArg2","plainArg3","isQueryKey","queryKey","queryFn","cloneDeepUnref"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useBaseQuery.mjs","sources":["../../src/useBaseQuery.ts"],"sourcesContent":["import {\n computed,\n getCurrentScope,\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 { ToRef } from 'vue-demi'\nimport type {\n QueryFunction,\n QueryKey,\n QueryObserver,\n QueryObserverOptions,\n QueryObserverResult,\n} from '@tanstack/query-core'\nimport type { DeepUnwrapRef, 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> = {\n [K in keyof Result]: Result[K] extends (...args: any[]) => any\n ? Result[K]\n : ToRef<Result[K]>\n} & {\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 | MaybeRef<TQueryKey>\n | MaybeRef<UseQueryOptionsGeneric<TQueryFnData, TError, TData, TQueryKey>>,\n arg2:\n | MaybeRef<QueryFunction<TQueryFnData, DeepUnwrapRef<TQueryKey>>>\n | MaybeRef<\n UseQueryOptionsGeneric<TQueryFnData, TError, TData, TQueryKey>\n > = {},\n arg3: MaybeRef<\n UseQueryOptionsGeneric<TQueryFnData, TError, TData, TQueryKey>\n > = {},\n): UseQueryReturnType<TData, TError> {\n if (process.env.NODE_ENV === 'development') {\n if (!getCurrentScope()) {\n console.warn(\n 'vue-query composables like \"uesQuery()\" 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 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 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 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)\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 const object: any = toRefs(readonly(state))\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 UseQueryReturnType<TData, TError>\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, DeepUnwrapRef<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","process","env","NODE_ENV","getCurrentScope","console","warn","options","computed","parseQueryArgs","queryClient","value","useQueryClient","queryClientKey","defaultedOptions","defaulted","defaultQueryOptions","_optimisticResults","isRestoring","observer","state","reactive","getCurrentResult","unsubscribe","watch","subscribe","result","updateState","immediate","updater","setOptions","onScopeDispose","refetch","args","suspense","Promise","resolve","reject","stopWatch","run","enabled","optimisticResult","getOptimisticResult","isStale","fetchOptimistic","then","error","isError","isFetching","shouldThrowError","useErrorBoundary","getCurrentQuery","object","toRefs","readonly","key","plainArg1","unref","plainArg2","plainArg3","isQueryKey","queryKey","queryFn","cloneDeepUnref"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useBaseQuery.mjs","sources":["../../src/useBaseQuery.ts"],"sourcesContent":["import {\n computed,\n getCurrentScope,\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 { ToRef } from 'vue-demi'\nimport type {\n QueryFunction,\n QueryKey,\n QueryObserver,\n QueryObserverOptions,\n QueryObserverResult,\n} from '@tanstack/query-core'\nimport type { DeepUnwrapRef, 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> = {\n [K in keyof Result]: K extends\n | 'fetchNextPage'\n | 'fetchPreviousPage'\n | 'refetch'\n | 'remove'\n ? Result[K]\n : ToRef<Readonly<Result>[K]>\n} & {\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 | MaybeRef<TQueryKey>\n | MaybeRef<UseQueryOptionsGeneric<TQueryFnData, TError, TData, TQueryKey>>,\n arg2:\n | MaybeRef<QueryFunction<TQueryFnData, DeepUnwrapRef<TQueryKey>>>\n | MaybeRef<\n UseQueryOptionsGeneric<TQueryFnData, TError, TData, TQueryKey>\n > = {},\n arg3: MaybeRef<\n UseQueryOptionsGeneric<TQueryFnData, TError, TData, TQueryKey>\n > = {},\n): UseQueryReturnType<TData, TError> {\n if (process.env.NODE_ENV === 'development') {\n if (!getCurrentScope()) {\n console.warn(\n 'vue-query composables like \"uesQuery()\" 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 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 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 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)\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 const object: any = toRefs(readonly(state))\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 UseQueryReturnType<TData, TError>\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, DeepUnwrapRef<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","process","env","NODE_ENV","getCurrentScope","console","warn","options","computed","parseQueryArgs","queryClient","value","useQueryClient","queryClientKey","defaultedOptions","defaulted","defaultQueryOptions","_optimisticResults","isRestoring","observer","state","reactive","getCurrentResult","unsubscribe","watch","subscribe","result","updateState","immediate","updater","setOptions","onScopeDispose","refetch","args","suspense","Promise","resolve","reject","stopWatch","run","enabled","optimisticResult","getOptimisticResult","isStale","fetchOptimistic","then","error","isError","isFetching","shouldThrowError","useErrorBoundary","getCurrentQuery","object","toRefs","readonly","key","plainArg1","unref","plainArg2","plainArg3","isQueryKey","queryKey","queryFn","cloneDeepUnref"],"mappings":"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"}
|