@tanstack/vue-query 4.36.1 → 4.37.0
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/types.d.ts +3 -2
- package/build/lib/types.d.ts.map +1 -1
- package/build/lib/useBaseQuery.d.ts +1 -1
- package/build/lib/useBaseQuery.d.ts.map +1 -1
- package/build/lib/useBaseQuery.esm.js +7 -1
- 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 +7 -1
- package/build/lib/useBaseQuery.mjs.map +1 -1
- package/build/lib/useQueries.d.ts.map +1 -1
- package/build/lib/useQueries.esm.js +9 -1
- package/build/lib/useQueries.esm.js.map +1 -1
- package/build/lib/useQueries.js +9 -1
- package/build/lib/useQueries.js.map +1 -1
- package/build/lib/useQueries.mjs +9 -1
- package/build/lib/useQueries.mjs.map +1 -1
- package/build/umd/index.development.js +16 -2
- 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 +1 -1
package/build/lib/types.d.ts
CHANGED
|
@@ -7,6 +7,7 @@ export declare type MaybeRefDeep<T> = MaybeRef<T extends Function ? T : T extend
|
|
|
7
7
|
[Property in keyof T]: MaybeRefDeep<T[Property]>;
|
|
8
8
|
} : T>;
|
|
9
9
|
export declare type MaybeRef<T> = Ref<T> | T;
|
|
10
|
+
export declare type MaybeRefOrGetter<T> = MaybeRef<T> | (() => T);
|
|
10
11
|
export declare type DeepUnwrapRef<T> = T extends UnwrapLeaf ? T : T extends Ref<infer U> ? DeepUnwrapRef<U> : T extends {} ? {
|
|
11
12
|
[Property in keyof T]: DeepUnwrapRef<T[Property]>;
|
|
12
13
|
} : UnwrapRef<T>;
|
|
@@ -15,10 +16,10 @@ export declare type WithQueryClientKey<T> = T & {
|
|
|
15
16
|
queryClient?: QueryClient;
|
|
16
17
|
};
|
|
17
18
|
export declare type VueQueryObserverOptions<TQueryFnData = unknown, TError = unknown, TData = TQueryFnData, TQueryData = TQueryFnData, TQueryKey extends QueryKey = QueryKey> = {
|
|
18
|
-
[Property in keyof QueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey>]: Property extends 'queryFn' ? QueryObserverOptions<TQueryFnData, TError, TData, TQueryData, DeepUnwrapRef<TQueryKey>>[Property] : MaybeRef<QueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey>[Property]>;
|
|
19
|
+
[Property in keyof QueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey>]: Property extends 'queryFn' ? QueryObserverOptions<TQueryFnData, TError, TData, TQueryData, DeepUnwrapRef<TQueryKey>>[Property] : Property extends 'enabled' ? MaybeRefOrGetter<QueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey>[Property]> : MaybeRef<QueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey>[Property]>;
|
|
19
20
|
};
|
|
20
21
|
export declare type VueInfiniteQueryObserverOptions<TQueryFnData = unknown, TError = unknown, TData = unknown, TQueryData = unknown, TQueryKey extends QueryKey = QueryKey> = {
|
|
21
|
-
[Property in keyof InfiniteQueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey>]: Property extends 'queryFn' ? InfiniteQueryObserverOptions<TQueryFnData, TError, TData, TQueryData, DeepUnwrapRef<TQueryKey>>[Property] : MaybeRef<InfiniteQueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey>[Property]>;
|
|
22
|
+
[Property in keyof InfiniteQueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey>]: Property extends 'queryFn' ? InfiniteQueryObserverOptions<TQueryFnData, TError, TData, TQueryData, DeepUnwrapRef<TQueryKey>>[Property] : Property extends 'enabled' ? MaybeRefOrGetter<QueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey>[Property]> : MaybeRef<InfiniteQueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey>[Property]>;
|
|
22
23
|
};
|
|
23
24
|
export declare type DistributiveOmit<T, K extends keyof any> = T extends any ? Omit<T, K> : never;
|
|
24
25
|
export {};
|
package/build/lib/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -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,CAwBA"}
|
|
@@ -112,7 +112,13 @@ function parseQueryArgs(arg1, arg2 = {}, arg3 = {}) {
|
|
|
112
112
|
};
|
|
113
113
|
}
|
|
114
114
|
|
|
115
|
-
|
|
115
|
+
const clondedOptions = cloneDeepUnref(options);
|
|
116
|
+
|
|
117
|
+
if (typeof clondedOptions.enabled === 'function') {
|
|
118
|
+
clondedOptions.enabled = clondedOptions.enabled();
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
return clondedOptions;
|
|
116
122
|
}
|
|
117
123
|
|
|
118
124
|
export { parseQueryArgs, useBaseQuery };
|
|
@@ -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 const clondedOptions = cloneDeepUnref(options)\n\n if (typeof clondedOptions.enabled === 'function') {\n clondedOptions.enabled = clondedOptions.enabled()\n }\n\n return clondedOptions 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","clondedOptions","cloneDeepUnref"],"mappings":"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"}
|
|
@@ -116,7 +116,13 @@ function parseQueryArgs(arg1, arg2 = {}, arg3 = {}) {
|
|
|
116
116
|
};
|
|
117
117
|
}
|
|
118
118
|
|
|
119
|
-
|
|
119
|
+
const clondedOptions = utils.cloneDeepUnref(options);
|
|
120
|
+
|
|
121
|
+
if (typeof clondedOptions.enabled === 'function') {
|
|
122
|
+
clondedOptions.enabled = clondedOptions.enabled();
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
return clondedOptions;
|
|
120
126
|
}
|
|
121
127
|
|
|
122
128
|
exports.parseQueryArgs = parseQueryArgs;
|
|
@@ -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 const clondedOptions = cloneDeepUnref(options)\n\n if (typeof clondedOptions.enabled === 'function') {\n clondedOptions.enabled = clondedOptions.enabled()\n }\n\n return clondedOptions 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","clondedOptions","cloneDeepUnref"],"mappings":"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"}
|
|
@@ -112,7 +112,13 @@ function parseQueryArgs(arg1, arg2 = {}, arg3 = {}) {
|
|
|
112
112
|
};
|
|
113
113
|
}
|
|
114
114
|
|
|
115
|
-
|
|
115
|
+
const clondedOptions = cloneDeepUnref(options);
|
|
116
|
+
|
|
117
|
+
if (typeof clondedOptions.enabled === 'function') {
|
|
118
|
+
clondedOptions.enabled = clondedOptions.enabled();
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
return clondedOptions;
|
|
116
122
|
}
|
|
117
123
|
|
|
118
124
|
export { parseQueryArgs, useBaseQuery };
|
|
@@ -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 const clondedOptions = cloneDeepUnref(options)\n\n if (typeof clondedOptions.enabled === 'function') {\n clondedOptions.enabled = clondedOptions.enabled()\n }\n\n return clondedOptions 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","clondedOptions","cloneDeepUnref"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useQueries.d.ts","sourceRoot":"","sources":["../../src/useQueries.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"useQueries.d.ts","sourceRoot":"","sources":["../../src/useQueries.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,7 +16,15 @@ function useQueries({
|
|
|
16
16
|
}
|
|
17
17
|
}
|
|
18
18
|
|
|
19
|
-
const unreffedQueries = computed(() =>
|
|
19
|
+
const unreffedQueries = computed(() => {
|
|
20
|
+
const clonedQueries = cloneDeepUnref(queries);
|
|
21
|
+
clonedQueries.map(query => {
|
|
22
|
+
if (typeof query.enabled === 'function') {
|
|
23
|
+
query.enabled = query.enabled();
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
return clonedQueries;
|
|
27
|
+
});
|
|
20
28
|
const queryClientKey = (_unreffedQueries$valu = unreffedQueries.value[0]) == null ? void 0 : _unreffedQueries$valu.queryClientKey;
|
|
21
29
|
const optionsQueryClient = (_unreffedQueries$valu2 = unreffedQueries.value[0]) == null ? void 0 : _unreffedQueries$valu2.queryClient;
|
|
22
30
|
const queryClient = (_ref = queryClientInjected != null ? queryClientInjected : optionsQueryClient) != null ? _ref : useQueryClient(queryClientKey);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useQueries.esm.js","sources":["../../src/useQueries.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { QueriesObserver } from '@tanstack/query-core'\nimport {\n computed,\n getCurrentScope,\n onScopeDispose,\n reactive,\n readonly,\n watch,\n} from 'vue-demi'\nimport { useQueryClient } from './useQueryClient'\nimport { cloneDeepUnref } from './utils'\nimport type { Ref } from 'vue-demi'\n\nimport type { QueryFunction, QueryObserverResult } from '@tanstack/query-core'\n\nimport type { UseQueryOptions } from './useQuery'\nimport type { QueryClient } from './queryClient'\n\n// Avoid TS depth-limit error in case of large array literal\ntype MAXIMUM_DEPTH = 20\n\ntype GetOptions<T> =\n // Part 1: responsible for applying explicit type parameter to function arguments, if object { queryFnData: TQueryFnData, error: TError, data: TData }\n T extends {\n queryFnData: infer TQueryFnData\n error?: infer TError\n data: infer TData\n }\n ? UseQueryOptions<TQueryFnData, TError, TData>\n : T extends { queryFnData: infer TQueryFnData; error?: infer TError }\n ? UseQueryOptions<TQueryFnData, TError>\n : T extends { data: infer TData; error?: infer TError }\n ? UseQueryOptions<unknown, TError, TData>\n : // Part 2: responsible for applying explicit type parameter to function arguments, if tuple [TQueryFnData, TError, TData]\n T extends [infer TQueryFnData, infer TError, infer TData]\n ? UseQueryOptions<TQueryFnData, TError, TData>\n : T extends [infer TQueryFnData, infer TError]\n ? UseQueryOptions<TQueryFnData, TError>\n : T extends [infer TQueryFnData]\n ? UseQueryOptions<TQueryFnData>\n : // Part 3: responsible for inferring and enforcing type if no explicit parameter was provided\n T extends {\n queryFn?: QueryFunction<infer TQueryFnData, infer TQueryKey>\n select: (data: any) => infer TData\n }\n ? UseQueryOptions<TQueryFnData, unknown, TData, TQueryKey>\n : T extends { queryFn?: QueryFunction<infer TQueryFnData, infer TQueryKey> }\n ? UseQueryOptions<TQueryFnData, unknown, TQueryFnData, TQueryKey>\n : // Fallback\n UseQueryOptions\n\ntype GetResults<T> =\n // Part 1: responsible for mapping explicit type parameter to function result, if object\n T extends { queryFnData: any; error?: infer TError; data: infer TData }\n ? QueryObserverResult<TData, TError>\n : T extends { queryFnData: infer TQueryFnData; error?: infer TError }\n ? QueryObserverResult<TQueryFnData, TError>\n : T extends { data: infer TData; error?: infer TError }\n ? QueryObserverResult<TData, TError>\n : // Part 2: responsible for mapping explicit type parameter to function result, if tuple\n T extends [any, infer TError, infer TData]\n ? QueryObserverResult<TData, TError>\n : T extends [infer TQueryFnData, infer TError]\n ? QueryObserverResult<TQueryFnData, TError>\n : T extends [infer TQueryFnData]\n ? QueryObserverResult<TQueryFnData>\n : // Part 3: responsible for mapping inferred type to results, if no explicit parameter was provided\n T extends {\n queryFn?: QueryFunction<unknown, any>\n select: (data: any) => infer TData\n }\n ? QueryObserverResult<TData>\n : T extends { queryFn?: QueryFunction<infer TQueryFnData, any> }\n ? QueryObserverResult<TQueryFnData>\n : // Fallback\n QueryObserverResult\n\n/**\n * UseQueriesOptions reducer recursively unwraps function arguments to infer/enforce type param\n */\nexport type UseQueriesOptions<\n T extends any[],\n Result extends any[] = [],\n Depth extends ReadonlyArray<number> = [],\n> = Depth['length'] extends MAXIMUM_DEPTH\n ? UseQueryOptions[]\n : T extends []\n ? []\n : T extends [infer Head]\n ? [...Result, GetOptions<Head>]\n : T extends [infer Head, ...infer Tail]\n ? UseQueriesOptions<[...Tail], [...Result, GetOptions<Head>], [...Depth, 1]>\n : unknown[] extends T\n ? T\n : // If T is *some* array but we couldn't assign unknown[] to it, then it must hold some known/homogenous type!\n // use this to infer the param types in the case of Array.map() argument\n T extends UseQueryOptions<\n infer TQueryFnData,\n infer TError,\n infer TData,\n infer TQueryKey\n >[]\n ? UseQueryOptions<TQueryFnData, TError, TData, TQueryKey>[]\n : // Fallback\n UseQueryOptions[]\n\n/**\n * UseQueriesResults reducer recursively maps type param to results\n */\nexport type UseQueriesResults<\n T extends any[],\n Result extends any[] = [],\n Depth extends ReadonlyArray<number> = [],\n> = Depth['length'] extends MAXIMUM_DEPTH\n ? QueryObserverResult[]\n : T extends []\n ? []\n : T extends [infer Head]\n ? [...Result, GetResults<Head>]\n : T extends [infer Head, ...infer Tail]\n ? UseQueriesResults<[...Tail], [...Result, GetResults<Head>], [...Depth, 1]>\n : T extends UseQueryOptions<\n infer TQueryFnData,\n infer TError,\n infer TData,\n any\n >[]\n ? // Dynamic-size (homogenous) UseQueryOptions array: map directly to array of results\n QueryObserverResult<unknown extends TData ? TQueryFnData : TData, TError>[]\n : // Fallback\n QueryObserverResult[]\n\ntype UseQueriesOptionsArg<T extends any[]> = readonly [...UseQueriesOptions<T>]\n\nexport function useQueries<T extends any[]>({\n queries,\n queryClient: queryClientInjected,\n}: {\n queries: Ref<UseQueriesOptionsArg<T>> | UseQueriesOptionsArg<T>\n queryClient?: QueryClient\n}): Readonly<UseQueriesResults<T>> {\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 unreffedQueries = computed(\n () => cloneDeepUnref(queries) as UseQueriesOptionsArg<T>,\n )\n\n const queryClientKey = unreffedQueries.value[0]?.queryClientKey\n const optionsQueryClient = unreffedQueries.value[0]?.queryClient as\n | QueryClient\n | undefined\n const queryClient =\n queryClientInjected ?? optionsQueryClient ?? useQueryClient(queryClientKey)\n if (\n process.env.NODE_ENV !== 'production' &&\n (queryClientKey || optionsQueryClient)\n ) {\n queryClient\n .getLogger()\n .error(\n `Providing queryClient to individual queries in useQueries has been deprecated and will be removed in the next major version. You can still pass queryClient as an option directly to useQueries hook.`,\n )\n }\n\n const defaultedQueries = computed(() =>\n unreffedQueries.value.map((options) => {\n const defaulted = queryClient.defaultQueryOptions(options)\n defaulted._optimisticResults = queryClient.isRestoring.value\n ? 'isRestoring'\n : 'optimistic'\n\n return defaulted\n }),\n )\n\n const observer = new QueriesObserver(queryClient, defaultedQueries.value)\n const state = reactive(observer.getCurrentResult())\n\n let unsubscribe = () => {\n // noop\n }\n\n watch(\n queryClient.isRestoring,\n (isRestoring) => {\n if (!isRestoring) {\n unsubscribe()\n unsubscribe = observer.subscribe((result) => {\n state.splice(0, result.length, ...result)\n })\n // Subscription would not fire for persisted results\n state.splice(\n 0,\n state.length,\n ...observer.getOptimisticResult(defaultedQueries.value),\n )\n }\n },\n { immediate: true },\n )\n\n watch(\n defaultedQueries,\n () => {\n observer.setQueries(defaultedQueries.value)\n state.splice(0, state.length, ...observer.getCurrentResult())\n },\n { flush: 'sync' },\n )\n\n onScopeDispose(() => {\n unsubscribe()\n })\n\n return readonly(state) as UseQueriesResults<T>\n}\n"],"names":["useQueries","queries","queryClient","queryClientInjected","process","env","NODE_ENV","getCurrentScope","console","warn","unreffedQueries","computed","cloneDeepUnref","queryClientKey","value","optionsQueryClient","useQueryClient","getLogger","error","defaultedQueries","map","options","defaulted","defaultQueryOptions","_optimisticResults","isRestoring","observer","QueriesObserver","state","reactive","getCurrentResult","unsubscribe","watch","subscribe","result","splice","length","getOptimisticResult","immediate","setQueries","flush","onScopeDispose","readonly"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useQueries.esm.js","sources":["../../src/useQueries.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { QueriesObserver } from '@tanstack/query-core'\nimport {\n computed,\n getCurrentScope,\n onScopeDispose,\n reactive,\n readonly,\n watch,\n} from 'vue-demi'\nimport { useQueryClient } from './useQueryClient'\nimport { cloneDeepUnref } from './utils'\nimport type { Ref } from 'vue-demi'\n\nimport type { QueryFunction, QueryObserverResult } from '@tanstack/query-core'\n\nimport type { UseQueryOptions } from './useQuery'\nimport type { QueryClient } from './queryClient'\n\n// Avoid TS depth-limit error in case of large array literal\ntype MAXIMUM_DEPTH = 20\n\ntype GetOptions<T> =\n // Part 1: responsible for applying explicit type parameter to function arguments, if object { queryFnData: TQueryFnData, error: TError, data: TData }\n T extends {\n queryFnData: infer TQueryFnData\n error?: infer TError\n data: infer TData\n }\n ? UseQueryOptions<TQueryFnData, TError, TData>\n : T extends { queryFnData: infer TQueryFnData; error?: infer TError }\n ? UseQueryOptions<TQueryFnData, TError>\n : T extends { data: infer TData; error?: infer TError }\n ? UseQueryOptions<unknown, TError, TData>\n : // Part 2: responsible for applying explicit type parameter to function arguments, if tuple [TQueryFnData, TError, TData]\n T extends [infer TQueryFnData, infer TError, infer TData]\n ? UseQueryOptions<TQueryFnData, TError, TData>\n : T extends [infer TQueryFnData, infer TError]\n ? UseQueryOptions<TQueryFnData, TError>\n : T extends [infer TQueryFnData]\n ? UseQueryOptions<TQueryFnData>\n : // Part 3: responsible for inferring and enforcing type if no explicit parameter was provided\n T extends {\n queryFn?: QueryFunction<infer TQueryFnData, infer TQueryKey>\n select: (data: any) => infer TData\n }\n ? UseQueryOptions<TQueryFnData, unknown, TData, TQueryKey>\n : T extends { queryFn?: QueryFunction<infer TQueryFnData, infer TQueryKey> }\n ? UseQueryOptions<TQueryFnData, unknown, TQueryFnData, TQueryKey>\n : // Fallback\n UseQueryOptions\n\ntype GetResults<T> =\n // Part 1: responsible for mapping explicit type parameter to function result, if object\n T extends { queryFnData: any; error?: infer TError; data: infer TData }\n ? QueryObserverResult<TData, TError>\n : T extends { queryFnData: infer TQueryFnData; error?: infer TError }\n ? QueryObserverResult<TQueryFnData, TError>\n : T extends { data: infer TData; error?: infer TError }\n ? QueryObserverResult<TData, TError>\n : // Part 2: responsible for mapping explicit type parameter to function result, if tuple\n T extends [any, infer TError, infer TData]\n ? QueryObserverResult<TData, TError>\n : T extends [infer TQueryFnData, infer TError]\n ? QueryObserverResult<TQueryFnData, TError>\n : T extends [infer TQueryFnData]\n ? QueryObserverResult<TQueryFnData>\n : // Part 3: responsible for mapping inferred type to results, if no explicit parameter was provided\n T extends {\n queryFn?: QueryFunction<unknown, any>\n select: (data: any) => infer TData\n }\n ? QueryObserverResult<TData>\n : T extends { queryFn?: QueryFunction<infer TQueryFnData, any> }\n ? QueryObserverResult<TQueryFnData>\n : // Fallback\n QueryObserverResult\n\n/**\n * UseQueriesOptions reducer recursively unwraps function arguments to infer/enforce type param\n */\nexport type UseQueriesOptions<\n T extends any[],\n Result extends any[] = [],\n Depth extends ReadonlyArray<number> = [],\n> = Depth['length'] extends MAXIMUM_DEPTH\n ? UseQueryOptions[]\n : T extends []\n ? []\n : T extends [infer Head]\n ? [...Result, GetOptions<Head>]\n : T extends [infer Head, ...infer Tail]\n ? UseQueriesOptions<[...Tail], [...Result, GetOptions<Head>], [...Depth, 1]>\n : unknown[] extends T\n ? T\n : // If T is *some* array but we couldn't assign unknown[] to it, then it must hold some known/homogenous type!\n // use this to infer the param types in the case of Array.map() argument\n T extends UseQueryOptions<\n infer TQueryFnData,\n infer TError,\n infer TData,\n infer TQueryKey\n >[]\n ? UseQueryOptions<TQueryFnData, TError, TData, TQueryKey>[]\n : // Fallback\n UseQueryOptions[]\n\n/**\n * UseQueriesResults reducer recursively maps type param to results\n */\nexport type UseQueriesResults<\n T extends any[],\n Result extends any[] = [],\n Depth extends ReadonlyArray<number> = [],\n> = Depth['length'] extends MAXIMUM_DEPTH\n ? QueryObserverResult[]\n : T extends []\n ? []\n : T extends [infer Head]\n ? [...Result, GetResults<Head>]\n : T extends [infer Head, ...infer Tail]\n ? UseQueriesResults<[...Tail], [...Result, GetResults<Head>], [...Depth, 1]>\n : T extends UseQueryOptions<\n infer TQueryFnData,\n infer TError,\n infer TData,\n any\n >[]\n ? // Dynamic-size (homogenous) UseQueryOptions array: map directly to array of results\n QueryObserverResult<unknown extends TData ? TQueryFnData : TData, TError>[]\n : // Fallback\n QueryObserverResult[]\n\ntype UseQueriesOptionsArg<T extends any[]> = readonly [...UseQueriesOptions<T>]\n\nexport function useQueries<T extends any[]>({\n queries,\n queryClient: queryClientInjected,\n}: {\n queries: Ref<UseQueriesOptionsArg<T>> | UseQueriesOptionsArg<T>\n queryClient?: QueryClient\n}): Readonly<UseQueriesResults<T>> {\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 unreffedQueries = computed(() => {\n const clonedQueries = cloneDeepUnref(queries)\n\n ;(clonedQueries as any[]).map((query) => {\n if (typeof query.enabled === 'function') {\n query.enabled = query.enabled()\n }\n })\n\n return clonedQueries as UseQueriesOptionsArg<T>\n })\n\n const queryClientKey = unreffedQueries.value[0]?.queryClientKey\n const optionsQueryClient = unreffedQueries.value[0]?.queryClient as\n | QueryClient\n | undefined\n const queryClient =\n queryClientInjected ?? optionsQueryClient ?? useQueryClient(queryClientKey)\n if (\n process.env.NODE_ENV !== 'production' &&\n (queryClientKey || optionsQueryClient)\n ) {\n queryClient\n .getLogger()\n .error(\n `Providing queryClient to individual queries in useQueries has been deprecated and will be removed in the next major version. You can still pass queryClient as an option directly to useQueries hook.`,\n )\n }\n\n const defaultedQueries = computed(() =>\n unreffedQueries.value.map((options) => {\n const defaulted = queryClient.defaultQueryOptions(options)\n defaulted._optimisticResults = queryClient.isRestoring.value\n ? 'isRestoring'\n : 'optimistic'\n\n return defaulted\n }),\n )\n\n const observer = new QueriesObserver(queryClient, defaultedQueries.value)\n const state = reactive(observer.getCurrentResult())\n\n let unsubscribe = () => {\n // noop\n }\n\n watch(\n queryClient.isRestoring,\n (isRestoring) => {\n if (!isRestoring) {\n unsubscribe()\n unsubscribe = observer.subscribe((result) => {\n state.splice(0, result.length, ...result)\n })\n // Subscription would not fire for persisted results\n state.splice(\n 0,\n state.length,\n ...observer.getOptimisticResult(defaultedQueries.value),\n )\n }\n },\n { immediate: true },\n )\n\n watch(\n defaultedQueries,\n () => {\n observer.setQueries(defaultedQueries.value)\n state.splice(0, state.length, ...observer.getCurrentResult())\n },\n { flush: 'sync' },\n )\n\n onScopeDispose(() => {\n unsubscribe()\n })\n\n return readonly(state) as UseQueriesResults<T>\n}\n"],"names":["useQueries","queries","queryClient","queryClientInjected","process","env","NODE_ENV","getCurrentScope","console","warn","unreffedQueries","computed","clonedQueries","cloneDeepUnref","map","query","enabled","queryClientKey","value","optionsQueryClient","useQueryClient","getLogger","error","defaultedQueries","options","defaulted","defaultQueryOptions","_optimisticResults","isRestoring","observer","QueriesObserver","state","reactive","getCurrentResult","unsubscribe","watch","subscribe","result","splice","length","getOptimisticResult","immediate","setQueries","flush","onScopeDispose","readonly"],"mappings":"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"}
|
package/build/lib/useQueries.js
CHANGED
|
@@ -20,7 +20,15 @@ function useQueries({
|
|
|
20
20
|
}
|
|
21
21
|
}
|
|
22
22
|
|
|
23
|
-
const unreffedQueries = vueDemi.computed(() =>
|
|
23
|
+
const unreffedQueries = vueDemi.computed(() => {
|
|
24
|
+
const clonedQueries = utils.cloneDeepUnref(queries);
|
|
25
|
+
clonedQueries.map(query => {
|
|
26
|
+
if (typeof query.enabled === 'function') {
|
|
27
|
+
query.enabled = query.enabled();
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
return clonedQueries;
|
|
31
|
+
});
|
|
24
32
|
const queryClientKey = (_unreffedQueries$valu = unreffedQueries.value[0]) == null ? void 0 : _unreffedQueries$valu.queryClientKey;
|
|
25
33
|
const optionsQueryClient = (_unreffedQueries$valu2 = unreffedQueries.value[0]) == null ? void 0 : _unreffedQueries$valu2.queryClient;
|
|
26
34
|
const queryClient = (_ref = queryClientInjected != null ? queryClientInjected : optionsQueryClient) != null ? _ref : useQueryClient.useQueryClient(queryClientKey);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useQueries.js","sources":["../../src/useQueries.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { QueriesObserver } from '@tanstack/query-core'\nimport {\n computed,\n getCurrentScope,\n onScopeDispose,\n reactive,\n readonly,\n watch,\n} from 'vue-demi'\nimport { useQueryClient } from './useQueryClient'\nimport { cloneDeepUnref } from './utils'\nimport type { Ref } from 'vue-demi'\n\nimport type { QueryFunction, QueryObserverResult } from '@tanstack/query-core'\n\nimport type { UseQueryOptions } from './useQuery'\nimport type { QueryClient } from './queryClient'\n\n// Avoid TS depth-limit error in case of large array literal\ntype MAXIMUM_DEPTH = 20\n\ntype GetOptions<T> =\n // Part 1: responsible for applying explicit type parameter to function arguments, if object { queryFnData: TQueryFnData, error: TError, data: TData }\n T extends {\n queryFnData: infer TQueryFnData\n error?: infer TError\n data: infer TData\n }\n ? UseQueryOptions<TQueryFnData, TError, TData>\n : T extends { queryFnData: infer TQueryFnData; error?: infer TError }\n ? UseQueryOptions<TQueryFnData, TError>\n : T extends { data: infer TData; error?: infer TError }\n ? UseQueryOptions<unknown, TError, TData>\n : // Part 2: responsible for applying explicit type parameter to function arguments, if tuple [TQueryFnData, TError, TData]\n T extends [infer TQueryFnData, infer TError, infer TData]\n ? UseQueryOptions<TQueryFnData, TError, TData>\n : T extends [infer TQueryFnData, infer TError]\n ? UseQueryOptions<TQueryFnData, TError>\n : T extends [infer TQueryFnData]\n ? UseQueryOptions<TQueryFnData>\n : // Part 3: responsible for inferring and enforcing type if no explicit parameter was provided\n T extends {\n queryFn?: QueryFunction<infer TQueryFnData, infer TQueryKey>\n select: (data: any) => infer TData\n }\n ? UseQueryOptions<TQueryFnData, unknown, TData, TQueryKey>\n : T extends { queryFn?: QueryFunction<infer TQueryFnData, infer TQueryKey> }\n ? UseQueryOptions<TQueryFnData, unknown, TQueryFnData, TQueryKey>\n : // Fallback\n UseQueryOptions\n\ntype GetResults<T> =\n // Part 1: responsible for mapping explicit type parameter to function result, if object\n T extends { queryFnData: any; error?: infer TError; data: infer TData }\n ? QueryObserverResult<TData, TError>\n : T extends { queryFnData: infer TQueryFnData; error?: infer TError }\n ? QueryObserverResult<TQueryFnData, TError>\n : T extends { data: infer TData; error?: infer TError }\n ? QueryObserverResult<TData, TError>\n : // Part 2: responsible for mapping explicit type parameter to function result, if tuple\n T extends [any, infer TError, infer TData]\n ? QueryObserverResult<TData, TError>\n : T extends [infer TQueryFnData, infer TError]\n ? QueryObserverResult<TQueryFnData, TError>\n : T extends [infer TQueryFnData]\n ? QueryObserverResult<TQueryFnData>\n : // Part 3: responsible for mapping inferred type to results, if no explicit parameter was provided\n T extends {\n queryFn?: QueryFunction<unknown, any>\n select: (data: any) => infer TData\n }\n ? QueryObserverResult<TData>\n : T extends { queryFn?: QueryFunction<infer TQueryFnData, any> }\n ? QueryObserverResult<TQueryFnData>\n : // Fallback\n QueryObserverResult\n\n/**\n * UseQueriesOptions reducer recursively unwraps function arguments to infer/enforce type param\n */\nexport type UseQueriesOptions<\n T extends any[],\n Result extends any[] = [],\n Depth extends ReadonlyArray<number> = [],\n> = Depth['length'] extends MAXIMUM_DEPTH\n ? UseQueryOptions[]\n : T extends []\n ? []\n : T extends [infer Head]\n ? [...Result, GetOptions<Head>]\n : T extends [infer Head, ...infer Tail]\n ? UseQueriesOptions<[...Tail], [...Result, GetOptions<Head>], [...Depth, 1]>\n : unknown[] extends T\n ? T\n : // If T is *some* array but we couldn't assign unknown[] to it, then it must hold some known/homogenous type!\n // use this to infer the param types in the case of Array.map() argument\n T extends UseQueryOptions<\n infer TQueryFnData,\n infer TError,\n infer TData,\n infer TQueryKey\n >[]\n ? UseQueryOptions<TQueryFnData, TError, TData, TQueryKey>[]\n : // Fallback\n UseQueryOptions[]\n\n/**\n * UseQueriesResults reducer recursively maps type param to results\n */\nexport type UseQueriesResults<\n T extends any[],\n Result extends any[] = [],\n Depth extends ReadonlyArray<number> = [],\n> = Depth['length'] extends MAXIMUM_DEPTH\n ? QueryObserverResult[]\n : T extends []\n ? []\n : T extends [infer Head]\n ? [...Result, GetResults<Head>]\n : T extends [infer Head, ...infer Tail]\n ? UseQueriesResults<[...Tail], [...Result, GetResults<Head>], [...Depth, 1]>\n : T extends UseQueryOptions<\n infer TQueryFnData,\n infer TError,\n infer TData,\n any\n >[]\n ? // Dynamic-size (homogenous) UseQueryOptions array: map directly to array of results\n QueryObserverResult<unknown extends TData ? TQueryFnData : TData, TError>[]\n : // Fallback\n QueryObserverResult[]\n\ntype UseQueriesOptionsArg<T extends any[]> = readonly [...UseQueriesOptions<T>]\n\nexport function useQueries<T extends any[]>({\n queries,\n queryClient: queryClientInjected,\n}: {\n queries: Ref<UseQueriesOptionsArg<T>> | UseQueriesOptionsArg<T>\n queryClient?: QueryClient\n}): Readonly<UseQueriesResults<T>> {\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 unreffedQueries = computed(\n () => cloneDeepUnref(queries) as UseQueriesOptionsArg<T>,\n )\n\n const queryClientKey = unreffedQueries.value[0]?.queryClientKey\n const optionsQueryClient = unreffedQueries.value[0]?.queryClient as\n | QueryClient\n | undefined\n const queryClient =\n queryClientInjected ?? optionsQueryClient ?? useQueryClient(queryClientKey)\n if (\n process.env.NODE_ENV !== 'production' &&\n (queryClientKey || optionsQueryClient)\n ) {\n queryClient\n .getLogger()\n .error(\n `Providing queryClient to individual queries in useQueries has been deprecated and will be removed in the next major version. You can still pass queryClient as an option directly to useQueries hook.`,\n )\n }\n\n const defaultedQueries = computed(() =>\n unreffedQueries.value.map((options) => {\n const defaulted = queryClient.defaultQueryOptions(options)\n defaulted._optimisticResults = queryClient.isRestoring.value\n ? 'isRestoring'\n : 'optimistic'\n\n return defaulted\n }),\n )\n\n const observer = new QueriesObserver(queryClient, defaultedQueries.value)\n const state = reactive(observer.getCurrentResult())\n\n let unsubscribe = () => {\n // noop\n }\n\n watch(\n queryClient.isRestoring,\n (isRestoring) => {\n if (!isRestoring) {\n unsubscribe()\n unsubscribe = observer.subscribe((result) => {\n state.splice(0, result.length, ...result)\n })\n // Subscription would not fire for persisted results\n state.splice(\n 0,\n state.length,\n ...observer.getOptimisticResult(defaultedQueries.value),\n )\n }\n },\n { immediate: true },\n )\n\n watch(\n defaultedQueries,\n () => {\n observer.setQueries(defaultedQueries.value)\n state.splice(0, state.length, ...observer.getCurrentResult())\n },\n { flush: 'sync' },\n )\n\n onScopeDispose(() => {\n unsubscribe()\n })\n\n return readonly(state) as UseQueriesResults<T>\n}\n"],"names":["useQueries","queries","queryClient","queryClientInjected","process","env","NODE_ENV","getCurrentScope","console","warn","unreffedQueries","computed","cloneDeepUnref","queryClientKey","value","optionsQueryClient","useQueryClient","getLogger","error","defaultedQueries","map","options","defaulted","defaultQueryOptions","_optimisticResults","isRestoring","observer","QueriesObserver","state","reactive","getCurrentResult","unsubscribe","watch","subscribe","result","splice","length","getOptimisticResult","immediate","setQueries","flush","onScopeDispose","readonly"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useQueries.js","sources":["../../src/useQueries.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { QueriesObserver } from '@tanstack/query-core'\nimport {\n computed,\n getCurrentScope,\n onScopeDispose,\n reactive,\n readonly,\n watch,\n} from 'vue-demi'\nimport { useQueryClient } from './useQueryClient'\nimport { cloneDeepUnref } from './utils'\nimport type { Ref } from 'vue-demi'\n\nimport type { QueryFunction, QueryObserverResult } from '@tanstack/query-core'\n\nimport type { UseQueryOptions } from './useQuery'\nimport type { QueryClient } from './queryClient'\n\n// Avoid TS depth-limit error in case of large array literal\ntype MAXIMUM_DEPTH = 20\n\ntype GetOptions<T> =\n // Part 1: responsible for applying explicit type parameter to function arguments, if object { queryFnData: TQueryFnData, error: TError, data: TData }\n T extends {\n queryFnData: infer TQueryFnData\n error?: infer TError\n data: infer TData\n }\n ? UseQueryOptions<TQueryFnData, TError, TData>\n : T extends { queryFnData: infer TQueryFnData; error?: infer TError }\n ? UseQueryOptions<TQueryFnData, TError>\n : T extends { data: infer TData; error?: infer TError }\n ? UseQueryOptions<unknown, TError, TData>\n : // Part 2: responsible for applying explicit type parameter to function arguments, if tuple [TQueryFnData, TError, TData]\n T extends [infer TQueryFnData, infer TError, infer TData]\n ? UseQueryOptions<TQueryFnData, TError, TData>\n : T extends [infer TQueryFnData, infer TError]\n ? UseQueryOptions<TQueryFnData, TError>\n : T extends [infer TQueryFnData]\n ? UseQueryOptions<TQueryFnData>\n : // Part 3: responsible for inferring and enforcing type if no explicit parameter was provided\n T extends {\n queryFn?: QueryFunction<infer TQueryFnData, infer TQueryKey>\n select: (data: any) => infer TData\n }\n ? UseQueryOptions<TQueryFnData, unknown, TData, TQueryKey>\n : T extends { queryFn?: QueryFunction<infer TQueryFnData, infer TQueryKey> }\n ? UseQueryOptions<TQueryFnData, unknown, TQueryFnData, TQueryKey>\n : // Fallback\n UseQueryOptions\n\ntype GetResults<T> =\n // Part 1: responsible for mapping explicit type parameter to function result, if object\n T extends { queryFnData: any; error?: infer TError; data: infer TData }\n ? QueryObserverResult<TData, TError>\n : T extends { queryFnData: infer TQueryFnData; error?: infer TError }\n ? QueryObserverResult<TQueryFnData, TError>\n : T extends { data: infer TData; error?: infer TError }\n ? QueryObserverResult<TData, TError>\n : // Part 2: responsible for mapping explicit type parameter to function result, if tuple\n T extends [any, infer TError, infer TData]\n ? QueryObserverResult<TData, TError>\n : T extends [infer TQueryFnData, infer TError]\n ? QueryObserverResult<TQueryFnData, TError>\n : T extends [infer TQueryFnData]\n ? QueryObserverResult<TQueryFnData>\n : // Part 3: responsible for mapping inferred type to results, if no explicit parameter was provided\n T extends {\n queryFn?: QueryFunction<unknown, any>\n select: (data: any) => infer TData\n }\n ? QueryObserverResult<TData>\n : T extends { queryFn?: QueryFunction<infer TQueryFnData, any> }\n ? QueryObserverResult<TQueryFnData>\n : // Fallback\n QueryObserverResult\n\n/**\n * UseQueriesOptions reducer recursively unwraps function arguments to infer/enforce type param\n */\nexport type UseQueriesOptions<\n T extends any[],\n Result extends any[] = [],\n Depth extends ReadonlyArray<number> = [],\n> = Depth['length'] extends MAXIMUM_DEPTH\n ? UseQueryOptions[]\n : T extends []\n ? []\n : T extends [infer Head]\n ? [...Result, GetOptions<Head>]\n : T extends [infer Head, ...infer Tail]\n ? UseQueriesOptions<[...Tail], [...Result, GetOptions<Head>], [...Depth, 1]>\n : unknown[] extends T\n ? T\n : // If T is *some* array but we couldn't assign unknown[] to it, then it must hold some known/homogenous type!\n // use this to infer the param types in the case of Array.map() argument\n T extends UseQueryOptions<\n infer TQueryFnData,\n infer TError,\n infer TData,\n infer TQueryKey\n >[]\n ? UseQueryOptions<TQueryFnData, TError, TData, TQueryKey>[]\n : // Fallback\n UseQueryOptions[]\n\n/**\n * UseQueriesResults reducer recursively maps type param to results\n */\nexport type UseQueriesResults<\n T extends any[],\n Result extends any[] = [],\n Depth extends ReadonlyArray<number> = [],\n> = Depth['length'] extends MAXIMUM_DEPTH\n ? QueryObserverResult[]\n : T extends []\n ? []\n : T extends [infer Head]\n ? [...Result, GetResults<Head>]\n : T extends [infer Head, ...infer Tail]\n ? UseQueriesResults<[...Tail], [...Result, GetResults<Head>], [...Depth, 1]>\n : T extends UseQueryOptions<\n infer TQueryFnData,\n infer TError,\n infer TData,\n any\n >[]\n ? // Dynamic-size (homogenous) UseQueryOptions array: map directly to array of results\n QueryObserverResult<unknown extends TData ? TQueryFnData : TData, TError>[]\n : // Fallback\n QueryObserverResult[]\n\ntype UseQueriesOptionsArg<T extends any[]> = readonly [...UseQueriesOptions<T>]\n\nexport function useQueries<T extends any[]>({\n queries,\n queryClient: queryClientInjected,\n}: {\n queries: Ref<UseQueriesOptionsArg<T>> | UseQueriesOptionsArg<T>\n queryClient?: QueryClient\n}): Readonly<UseQueriesResults<T>> {\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 unreffedQueries = computed(() => {\n const clonedQueries = cloneDeepUnref(queries)\n\n ;(clonedQueries as any[]).map((query) => {\n if (typeof query.enabled === 'function') {\n query.enabled = query.enabled()\n }\n })\n\n return clonedQueries as UseQueriesOptionsArg<T>\n })\n\n const queryClientKey = unreffedQueries.value[0]?.queryClientKey\n const optionsQueryClient = unreffedQueries.value[0]?.queryClient as\n | QueryClient\n | undefined\n const queryClient =\n queryClientInjected ?? optionsQueryClient ?? useQueryClient(queryClientKey)\n if (\n process.env.NODE_ENV !== 'production' &&\n (queryClientKey || optionsQueryClient)\n ) {\n queryClient\n .getLogger()\n .error(\n `Providing queryClient to individual queries in useQueries has been deprecated and will be removed in the next major version. You can still pass queryClient as an option directly to useQueries hook.`,\n )\n }\n\n const defaultedQueries = computed(() =>\n unreffedQueries.value.map((options) => {\n const defaulted = queryClient.defaultQueryOptions(options)\n defaulted._optimisticResults = queryClient.isRestoring.value\n ? 'isRestoring'\n : 'optimistic'\n\n return defaulted\n }),\n )\n\n const observer = new QueriesObserver(queryClient, defaultedQueries.value)\n const state = reactive(observer.getCurrentResult())\n\n let unsubscribe = () => {\n // noop\n }\n\n watch(\n queryClient.isRestoring,\n (isRestoring) => {\n if (!isRestoring) {\n unsubscribe()\n unsubscribe = observer.subscribe((result) => {\n state.splice(0, result.length, ...result)\n })\n // Subscription would not fire for persisted results\n state.splice(\n 0,\n state.length,\n ...observer.getOptimisticResult(defaultedQueries.value),\n )\n }\n },\n { immediate: true },\n )\n\n watch(\n defaultedQueries,\n () => {\n observer.setQueries(defaultedQueries.value)\n state.splice(0, state.length, ...observer.getCurrentResult())\n },\n { flush: 'sync' },\n )\n\n onScopeDispose(() => {\n unsubscribe()\n })\n\n return readonly(state) as UseQueriesResults<T>\n}\n"],"names":["useQueries","queries","queryClient","queryClientInjected","process","env","NODE_ENV","getCurrentScope","console","warn","unreffedQueries","computed","clonedQueries","cloneDeepUnref","map","query","enabled","queryClientKey","value","optionsQueryClient","useQueryClient","getLogger","error","defaultedQueries","options","defaulted","defaultQueryOptions","_optimisticResults","isRestoring","observer","QueriesObserver","state","reactive","getCurrentResult","unsubscribe","watch","subscribe","result","splice","length","getOptimisticResult","immediate","setQueries","flush","onScopeDispose","readonly"],"mappings":"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"}
|
package/build/lib/useQueries.mjs
CHANGED
|
@@ -16,7 +16,15 @@ function useQueries({
|
|
|
16
16
|
}
|
|
17
17
|
}
|
|
18
18
|
|
|
19
|
-
const unreffedQueries = computed(() =>
|
|
19
|
+
const unreffedQueries = computed(() => {
|
|
20
|
+
const clonedQueries = cloneDeepUnref(queries);
|
|
21
|
+
clonedQueries.map(query => {
|
|
22
|
+
if (typeof query.enabled === 'function') {
|
|
23
|
+
query.enabled = query.enabled();
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
return clonedQueries;
|
|
27
|
+
});
|
|
20
28
|
const queryClientKey = (_unreffedQueries$valu = unreffedQueries.value[0]) == null ? void 0 : _unreffedQueries$valu.queryClientKey;
|
|
21
29
|
const optionsQueryClient = (_unreffedQueries$valu2 = unreffedQueries.value[0]) == null ? void 0 : _unreffedQueries$valu2.queryClient;
|
|
22
30
|
const queryClient = (_ref = queryClientInjected != null ? queryClientInjected : optionsQueryClient) != null ? _ref : useQueryClient(queryClientKey);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useQueries.mjs","sources":["../../src/useQueries.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { QueriesObserver } from '@tanstack/query-core'\nimport {\n computed,\n getCurrentScope,\n onScopeDispose,\n reactive,\n readonly,\n watch,\n} from 'vue-demi'\nimport { useQueryClient } from './useQueryClient'\nimport { cloneDeepUnref } from './utils'\nimport type { Ref } from 'vue-demi'\n\nimport type { QueryFunction, QueryObserverResult } from '@tanstack/query-core'\n\nimport type { UseQueryOptions } from './useQuery'\nimport type { QueryClient } from './queryClient'\n\n// Avoid TS depth-limit error in case of large array literal\ntype MAXIMUM_DEPTH = 20\n\ntype GetOptions<T> =\n // Part 1: responsible for applying explicit type parameter to function arguments, if object { queryFnData: TQueryFnData, error: TError, data: TData }\n T extends {\n queryFnData: infer TQueryFnData\n error?: infer TError\n data: infer TData\n }\n ? UseQueryOptions<TQueryFnData, TError, TData>\n : T extends { queryFnData: infer TQueryFnData; error?: infer TError }\n ? UseQueryOptions<TQueryFnData, TError>\n : T extends { data: infer TData; error?: infer TError }\n ? UseQueryOptions<unknown, TError, TData>\n : // Part 2: responsible for applying explicit type parameter to function arguments, if tuple [TQueryFnData, TError, TData]\n T extends [infer TQueryFnData, infer TError, infer TData]\n ? UseQueryOptions<TQueryFnData, TError, TData>\n : T extends [infer TQueryFnData, infer TError]\n ? UseQueryOptions<TQueryFnData, TError>\n : T extends [infer TQueryFnData]\n ? UseQueryOptions<TQueryFnData>\n : // Part 3: responsible for inferring and enforcing type if no explicit parameter was provided\n T extends {\n queryFn?: QueryFunction<infer TQueryFnData, infer TQueryKey>\n select: (data: any) => infer TData\n }\n ? UseQueryOptions<TQueryFnData, unknown, TData, TQueryKey>\n : T extends { queryFn?: QueryFunction<infer TQueryFnData, infer TQueryKey> }\n ? UseQueryOptions<TQueryFnData, unknown, TQueryFnData, TQueryKey>\n : // Fallback\n UseQueryOptions\n\ntype GetResults<T> =\n // Part 1: responsible for mapping explicit type parameter to function result, if object\n T extends { queryFnData: any; error?: infer TError; data: infer TData }\n ? QueryObserverResult<TData, TError>\n : T extends { queryFnData: infer TQueryFnData; error?: infer TError }\n ? QueryObserverResult<TQueryFnData, TError>\n : T extends { data: infer TData; error?: infer TError }\n ? QueryObserverResult<TData, TError>\n : // Part 2: responsible for mapping explicit type parameter to function result, if tuple\n T extends [any, infer TError, infer TData]\n ? QueryObserverResult<TData, TError>\n : T extends [infer TQueryFnData, infer TError]\n ? QueryObserverResult<TQueryFnData, TError>\n : T extends [infer TQueryFnData]\n ? QueryObserverResult<TQueryFnData>\n : // Part 3: responsible for mapping inferred type to results, if no explicit parameter was provided\n T extends {\n queryFn?: QueryFunction<unknown, any>\n select: (data: any) => infer TData\n }\n ? QueryObserverResult<TData>\n : T extends { queryFn?: QueryFunction<infer TQueryFnData, any> }\n ? QueryObserverResult<TQueryFnData>\n : // Fallback\n QueryObserverResult\n\n/**\n * UseQueriesOptions reducer recursively unwraps function arguments to infer/enforce type param\n */\nexport type UseQueriesOptions<\n T extends any[],\n Result extends any[] = [],\n Depth extends ReadonlyArray<number> = [],\n> = Depth['length'] extends MAXIMUM_DEPTH\n ? UseQueryOptions[]\n : T extends []\n ? []\n : T extends [infer Head]\n ? [...Result, GetOptions<Head>]\n : T extends [infer Head, ...infer Tail]\n ? UseQueriesOptions<[...Tail], [...Result, GetOptions<Head>], [...Depth, 1]>\n : unknown[] extends T\n ? T\n : // If T is *some* array but we couldn't assign unknown[] to it, then it must hold some known/homogenous type!\n // use this to infer the param types in the case of Array.map() argument\n T extends UseQueryOptions<\n infer TQueryFnData,\n infer TError,\n infer TData,\n infer TQueryKey\n >[]\n ? UseQueryOptions<TQueryFnData, TError, TData, TQueryKey>[]\n : // Fallback\n UseQueryOptions[]\n\n/**\n * UseQueriesResults reducer recursively maps type param to results\n */\nexport type UseQueriesResults<\n T extends any[],\n Result extends any[] = [],\n Depth extends ReadonlyArray<number> = [],\n> = Depth['length'] extends MAXIMUM_DEPTH\n ? QueryObserverResult[]\n : T extends []\n ? []\n : T extends [infer Head]\n ? [...Result, GetResults<Head>]\n : T extends [infer Head, ...infer Tail]\n ? UseQueriesResults<[...Tail], [...Result, GetResults<Head>], [...Depth, 1]>\n : T extends UseQueryOptions<\n infer TQueryFnData,\n infer TError,\n infer TData,\n any\n >[]\n ? // Dynamic-size (homogenous) UseQueryOptions array: map directly to array of results\n QueryObserverResult<unknown extends TData ? TQueryFnData : TData, TError>[]\n : // Fallback\n QueryObserverResult[]\n\ntype UseQueriesOptionsArg<T extends any[]> = readonly [...UseQueriesOptions<T>]\n\nexport function useQueries<T extends any[]>({\n queries,\n queryClient: queryClientInjected,\n}: {\n queries: Ref<UseQueriesOptionsArg<T>> | UseQueriesOptionsArg<T>\n queryClient?: QueryClient\n}): Readonly<UseQueriesResults<T>> {\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 unreffedQueries = computed(\n () => cloneDeepUnref(queries) as UseQueriesOptionsArg<T>,\n )\n\n const queryClientKey = unreffedQueries.value[0]?.queryClientKey\n const optionsQueryClient = unreffedQueries.value[0]?.queryClient as\n | QueryClient\n | undefined\n const queryClient =\n queryClientInjected ?? optionsQueryClient ?? useQueryClient(queryClientKey)\n if (\n process.env.NODE_ENV !== 'production' &&\n (queryClientKey || optionsQueryClient)\n ) {\n queryClient\n .getLogger()\n .error(\n `Providing queryClient to individual queries in useQueries has been deprecated and will be removed in the next major version. You can still pass queryClient as an option directly to useQueries hook.`,\n )\n }\n\n const defaultedQueries = computed(() =>\n unreffedQueries.value.map((options) => {\n const defaulted = queryClient.defaultQueryOptions(options)\n defaulted._optimisticResults = queryClient.isRestoring.value\n ? 'isRestoring'\n : 'optimistic'\n\n return defaulted\n }),\n )\n\n const observer = new QueriesObserver(queryClient, defaultedQueries.value)\n const state = reactive(observer.getCurrentResult())\n\n let unsubscribe = () => {\n // noop\n }\n\n watch(\n queryClient.isRestoring,\n (isRestoring) => {\n if (!isRestoring) {\n unsubscribe()\n unsubscribe = observer.subscribe((result) => {\n state.splice(0, result.length, ...result)\n })\n // Subscription would not fire for persisted results\n state.splice(\n 0,\n state.length,\n ...observer.getOptimisticResult(defaultedQueries.value),\n )\n }\n },\n { immediate: true },\n )\n\n watch(\n defaultedQueries,\n () => {\n observer.setQueries(defaultedQueries.value)\n state.splice(0, state.length, ...observer.getCurrentResult())\n },\n { flush: 'sync' },\n )\n\n onScopeDispose(() => {\n unsubscribe()\n })\n\n return readonly(state) as UseQueriesResults<T>\n}\n"],"names":["useQueries","queries","queryClient","queryClientInjected","process","env","NODE_ENV","getCurrentScope","console","warn","unreffedQueries","computed","cloneDeepUnref","queryClientKey","value","optionsQueryClient","useQueryClient","getLogger","error","defaultedQueries","map","options","defaulted","defaultQueryOptions","_optimisticResults","isRestoring","observer","QueriesObserver","state","reactive","getCurrentResult","unsubscribe","watch","subscribe","result","splice","length","getOptimisticResult","immediate","setQueries","flush","onScopeDispose","readonly"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useQueries.mjs","sources":["../../src/useQueries.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { QueriesObserver } from '@tanstack/query-core'\nimport {\n computed,\n getCurrentScope,\n onScopeDispose,\n reactive,\n readonly,\n watch,\n} from 'vue-demi'\nimport { useQueryClient } from './useQueryClient'\nimport { cloneDeepUnref } from './utils'\nimport type { Ref } from 'vue-demi'\n\nimport type { QueryFunction, QueryObserverResult } from '@tanstack/query-core'\n\nimport type { UseQueryOptions } from './useQuery'\nimport type { QueryClient } from './queryClient'\n\n// Avoid TS depth-limit error in case of large array literal\ntype MAXIMUM_DEPTH = 20\n\ntype GetOptions<T> =\n // Part 1: responsible for applying explicit type parameter to function arguments, if object { queryFnData: TQueryFnData, error: TError, data: TData }\n T extends {\n queryFnData: infer TQueryFnData\n error?: infer TError\n data: infer TData\n }\n ? UseQueryOptions<TQueryFnData, TError, TData>\n : T extends { queryFnData: infer TQueryFnData; error?: infer TError }\n ? UseQueryOptions<TQueryFnData, TError>\n : T extends { data: infer TData; error?: infer TError }\n ? UseQueryOptions<unknown, TError, TData>\n : // Part 2: responsible for applying explicit type parameter to function arguments, if tuple [TQueryFnData, TError, TData]\n T extends [infer TQueryFnData, infer TError, infer TData]\n ? UseQueryOptions<TQueryFnData, TError, TData>\n : T extends [infer TQueryFnData, infer TError]\n ? UseQueryOptions<TQueryFnData, TError>\n : T extends [infer TQueryFnData]\n ? UseQueryOptions<TQueryFnData>\n : // Part 3: responsible for inferring and enforcing type if no explicit parameter was provided\n T extends {\n queryFn?: QueryFunction<infer TQueryFnData, infer TQueryKey>\n select: (data: any) => infer TData\n }\n ? UseQueryOptions<TQueryFnData, unknown, TData, TQueryKey>\n : T extends { queryFn?: QueryFunction<infer TQueryFnData, infer TQueryKey> }\n ? UseQueryOptions<TQueryFnData, unknown, TQueryFnData, TQueryKey>\n : // Fallback\n UseQueryOptions\n\ntype GetResults<T> =\n // Part 1: responsible for mapping explicit type parameter to function result, if object\n T extends { queryFnData: any; error?: infer TError; data: infer TData }\n ? QueryObserverResult<TData, TError>\n : T extends { queryFnData: infer TQueryFnData; error?: infer TError }\n ? QueryObserverResult<TQueryFnData, TError>\n : T extends { data: infer TData; error?: infer TError }\n ? QueryObserverResult<TData, TError>\n : // Part 2: responsible for mapping explicit type parameter to function result, if tuple\n T extends [any, infer TError, infer TData]\n ? QueryObserverResult<TData, TError>\n : T extends [infer TQueryFnData, infer TError]\n ? QueryObserverResult<TQueryFnData, TError>\n : T extends [infer TQueryFnData]\n ? QueryObserverResult<TQueryFnData>\n : // Part 3: responsible for mapping inferred type to results, if no explicit parameter was provided\n T extends {\n queryFn?: QueryFunction<unknown, any>\n select: (data: any) => infer TData\n }\n ? QueryObserverResult<TData>\n : T extends { queryFn?: QueryFunction<infer TQueryFnData, any> }\n ? QueryObserverResult<TQueryFnData>\n : // Fallback\n QueryObserverResult\n\n/**\n * UseQueriesOptions reducer recursively unwraps function arguments to infer/enforce type param\n */\nexport type UseQueriesOptions<\n T extends any[],\n Result extends any[] = [],\n Depth extends ReadonlyArray<number> = [],\n> = Depth['length'] extends MAXIMUM_DEPTH\n ? UseQueryOptions[]\n : T extends []\n ? []\n : T extends [infer Head]\n ? [...Result, GetOptions<Head>]\n : T extends [infer Head, ...infer Tail]\n ? UseQueriesOptions<[...Tail], [...Result, GetOptions<Head>], [...Depth, 1]>\n : unknown[] extends T\n ? T\n : // If T is *some* array but we couldn't assign unknown[] to it, then it must hold some known/homogenous type!\n // use this to infer the param types in the case of Array.map() argument\n T extends UseQueryOptions<\n infer TQueryFnData,\n infer TError,\n infer TData,\n infer TQueryKey\n >[]\n ? UseQueryOptions<TQueryFnData, TError, TData, TQueryKey>[]\n : // Fallback\n UseQueryOptions[]\n\n/**\n * UseQueriesResults reducer recursively maps type param to results\n */\nexport type UseQueriesResults<\n T extends any[],\n Result extends any[] = [],\n Depth extends ReadonlyArray<number> = [],\n> = Depth['length'] extends MAXIMUM_DEPTH\n ? QueryObserverResult[]\n : T extends []\n ? []\n : T extends [infer Head]\n ? [...Result, GetResults<Head>]\n : T extends [infer Head, ...infer Tail]\n ? UseQueriesResults<[...Tail], [...Result, GetResults<Head>], [...Depth, 1]>\n : T extends UseQueryOptions<\n infer TQueryFnData,\n infer TError,\n infer TData,\n any\n >[]\n ? // Dynamic-size (homogenous) UseQueryOptions array: map directly to array of results\n QueryObserverResult<unknown extends TData ? TQueryFnData : TData, TError>[]\n : // Fallback\n QueryObserverResult[]\n\ntype UseQueriesOptionsArg<T extends any[]> = readonly [...UseQueriesOptions<T>]\n\nexport function useQueries<T extends any[]>({\n queries,\n queryClient: queryClientInjected,\n}: {\n queries: Ref<UseQueriesOptionsArg<T>> | UseQueriesOptionsArg<T>\n queryClient?: QueryClient\n}): Readonly<UseQueriesResults<T>> {\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 unreffedQueries = computed(() => {\n const clonedQueries = cloneDeepUnref(queries)\n\n ;(clonedQueries as any[]).map((query) => {\n if (typeof query.enabled === 'function') {\n query.enabled = query.enabled()\n }\n })\n\n return clonedQueries as UseQueriesOptionsArg<T>\n })\n\n const queryClientKey = unreffedQueries.value[0]?.queryClientKey\n const optionsQueryClient = unreffedQueries.value[0]?.queryClient as\n | QueryClient\n | undefined\n const queryClient =\n queryClientInjected ?? optionsQueryClient ?? useQueryClient(queryClientKey)\n if (\n process.env.NODE_ENV !== 'production' &&\n (queryClientKey || optionsQueryClient)\n ) {\n queryClient\n .getLogger()\n .error(\n `Providing queryClient to individual queries in useQueries has been deprecated and will be removed in the next major version. You can still pass queryClient as an option directly to useQueries hook.`,\n )\n }\n\n const defaultedQueries = computed(() =>\n unreffedQueries.value.map((options) => {\n const defaulted = queryClient.defaultQueryOptions(options)\n defaulted._optimisticResults = queryClient.isRestoring.value\n ? 'isRestoring'\n : 'optimistic'\n\n return defaulted\n }),\n )\n\n const observer = new QueriesObserver(queryClient, defaultedQueries.value)\n const state = reactive(observer.getCurrentResult())\n\n let unsubscribe = () => {\n // noop\n }\n\n watch(\n queryClient.isRestoring,\n (isRestoring) => {\n if (!isRestoring) {\n unsubscribe()\n unsubscribe = observer.subscribe((result) => {\n state.splice(0, result.length, ...result)\n })\n // Subscription would not fire for persisted results\n state.splice(\n 0,\n state.length,\n ...observer.getOptimisticResult(defaultedQueries.value),\n )\n }\n },\n { immediate: true },\n )\n\n watch(\n defaultedQueries,\n () => {\n observer.setQueries(defaultedQueries.value)\n state.splice(0, state.length, ...observer.getCurrentResult())\n },\n { flush: 'sync' },\n )\n\n onScopeDispose(() => {\n unsubscribe()\n })\n\n return readonly(state) as UseQueriesResults<T>\n}\n"],"names":["useQueries","queries","queryClient","queryClientInjected","process","env","NODE_ENV","getCurrentScope","console","warn","unreffedQueries","computed","clonedQueries","cloneDeepUnref","map","query","enabled","queryClientKey","value","optionsQueryClient","useQueryClient","getLogger","error","defaultedQueries","options","defaulted","defaultQueryOptions","_optimisticResults","isRestoring","observer","QueriesObserver","state","reactive","getCurrentResult","unsubscribe","watch","subscribe","result","splice","length","getOptimisticResult","immediate","setQueries","flush","onScopeDispose","readonly"],"mappings":"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"}
|
|
@@ -4909,7 +4909,13 @@
|
|
|
4909
4909
|
};
|
|
4910
4910
|
}
|
|
4911
4911
|
|
|
4912
|
-
|
|
4912
|
+
const clondedOptions = cloneDeepUnref(options);
|
|
4913
|
+
|
|
4914
|
+
if (typeof clondedOptions.enabled === 'function') {
|
|
4915
|
+
clondedOptions.enabled = clondedOptions.enabled();
|
|
4916
|
+
}
|
|
4917
|
+
|
|
4918
|
+
return clondedOptions;
|
|
4913
4919
|
}
|
|
4914
4920
|
|
|
4915
4921
|
function useQuery(arg1, arg2, arg3) {
|
|
@@ -4930,7 +4936,15 @@
|
|
|
4930
4936
|
}
|
|
4931
4937
|
}
|
|
4932
4938
|
|
|
4933
|
-
const unreffedQueries = vueDemi.computed(() =>
|
|
4939
|
+
const unreffedQueries = vueDemi.computed(() => {
|
|
4940
|
+
const clonedQueries = cloneDeepUnref(queries);
|
|
4941
|
+
clonedQueries.map(query => {
|
|
4942
|
+
if (typeof query.enabled === 'function') {
|
|
4943
|
+
query.enabled = query.enabled();
|
|
4944
|
+
}
|
|
4945
|
+
});
|
|
4946
|
+
return clonedQueries;
|
|
4947
|
+
});
|
|
4934
4948
|
const queryClientKey = (_unreffedQueries$valu = unreffedQueries.value[0]) == null ? void 0 : _unreffedQueries$valu.queryClientKey;
|
|
4935
4949
|
const optionsQueryClient = (_unreffedQueries$valu2 = unreffedQueries.value[0]) == null ? void 0 : _unreffedQueries$valu2.queryClient;
|
|
4936
4950
|
const queryClient = (_ref = queryClientInjected != null ? queryClientInjected : optionsQueryClient) != null ? _ref : useQueryClient(queryClientKey);
|