Skip to content

Commit

Permalink
fix: always watch useQueries (#239)
Browse files Browse the repository at this point in the history
  • Loading branch information
DamianOsipiuk committed Sep 9, 2022
1 parent d1a67a1 commit d0bb50b
Showing 1 changed file with 8 additions and 14 deletions.
22 changes: 8 additions & 14 deletions src/vuejs/useQueries.ts
Original file line number Diff line number Diff line change
@@ -1,14 +1,6 @@
/* eslint-disable @typescript-eslint/no-explicit-any */
import { QueriesObserver } from "@tanstack/query-core";
import {
onScopeDispose,
reactive,
readonly,
watch,
Ref,
isRef,
isReactive,
} from "vue-demi";
import { onScopeDispose, reactive, readonly, watch, Ref } from "vue-demi";

import type { QueryFunction, QueryObserverResult } from "@tanstack/query-core";

Expand Down Expand Up @@ -139,7 +131,7 @@ export function useQueries<T extends any[]>({
}): Readonly<UseQueriesResults<T>> {
const unreffedQueries = cloneDeepUnref(queries) as UseQueriesOptionsArg<T>;

const queryClientKey = unreffedQueries[0]?.queryClientKey;
const queryClientKey = unreffedQueries[0].queryClientKey;
const queryClient = useQueryClient(queryClientKey);
const defaultedQueries = unreffedQueries.map((options) => {
return queryClient.defaultQueryOptions(options);
Expand All @@ -152,16 +144,18 @@ export function useQueries<T extends any[]>({
state.splice(0, state.length, ...result);
});

if (isRef(queries) || isReactive(queries)) {
watch(queries, () => {
watch(
() => queries,
() => {
const defaulted = (
cloneDeepUnref(queries) as UseQueriesOptionsArg<T>
).map((options) => {
return queryClient.defaultQueryOptions(options);
});
observer.setQueries(defaulted);
});
}
},
{ deep: true }
);

onScopeDispose(() => {
unsubscribe();
Expand Down

0 comments on commit d0bb50b

Please sign in to comment.