@tanstack/vue-query
Version:
Hooks for managing, caching and syncing asynchronous and remote data in Vue
116 lines • 3.58 kB
JavaScript
// src/queryClient.ts
import { nextTick, ref } from "vue-demi";
import { QueryClient as QC } from "@tanstack/query-core";
import { cloneDeepUnref } from "./utils.js";
import { QueryCache } from "./queryCache.js";
import { MutationCache } from "./mutationCache.js";
var QueryClient = class extends QC {
constructor(config = {}) {
const vueQueryConfig = {
defaultOptions: config.defaultOptions,
queryCache: config.queryCache || new QueryCache(),
mutationCache: config.mutationCache || new MutationCache()
};
super(vueQueryConfig);
this.isRestoring = ref(false);
}
isFetching(filters = {}) {
return super.isFetching(cloneDeepUnref(filters));
}
isMutating(filters = {}) {
return super.isMutating(cloneDeepUnref(filters));
}
getQueryData(queryKey) {
return super.getQueryData(cloneDeepUnref(queryKey));
}
ensureQueryData(options) {
return super.ensureQueryData(cloneDeepUnref(options));
}
getQueriesData(filters) {
return super.getQueriesData(cloneDeepUnref(filters));
}
setQueryData(queryKey, updater, options = {}) {
return super.setQueryData(
cloneDeepUnref(queryKey),
updater,
cloneDeepUnref(options)
);
}
setQueriesData(filters, updater, options = {}) {
return super.setQueriesData(
cloneDeepUnref(filters),
updater,
cloneDeepUnref(options)
);
}
getQueryState(queryKey) {
return super.getQueryState(cloneDeepUnref(queryKey));
}
removeQueries(filters = {}) {
return super.removeQueries(cloneDeepUnref(filters));
}
resetQueries(filters = {}, options = {}) {
return super.resetQueries(cloneDeepUnref(filters), cloneDeepUnref(options));
}
cancelQueries(filters = {}, options = {}) {
return super.cancelQueries(cloneDeepUnref(filters), cloneDeepUnref(options));
}
invalidateQueries(filters = {}, options = {}) {
const filtersCloned = cloneDeepUnref(filters);
const optionsCloned = cloneDeepUnref(options);
super.invalidateQueries(
{ ...filtersCloned, refetchType: "none" },
optionsCloned
);
if (filtersCloned.refetchType === "none") {
return Promise.resolve();
}
const refetchFilters = {
...filtersCloned,
type: filtersCloned.refetchType ?? filtersCloned.type ?? "active"
};
return nextTick().then(() => {
return super.refetchQueries(refetchFilters, optionsCloned);
});
}
refetchQueries(filters = {}, options = {}) {
return super.refetchQueries(
cloneDeepUnref(filters),
cloneDeepUnref(options)
);
}
fetchQuery(options) {
return super.fetchQuery(cloneDeepUnref(options));
}
prefetchQuery(options) {
return super.prefetchQuery(cloneDeepUnref(options));
}
fetchInfiniteQuery(options) {
return super.fetchInfiniteQuery(cloneDeepUnref(options));
}
prefetchInfiniteQuery(options) {
return super.prefetchInfiniteQuery(cloneDeepUnref(options));
}
setDefaultOptions(options) {
super.setDefaultOptions(cloneDeepUnref(options));
}
setQueryDefaults(queryKey, options) {
super.setQueryDefaults(cloneDeepUnref(queryKey), cloneDeepUnref(options));
}
getQueryDefaults(queryKey) {
return super.getQueryDefaults(cloneDeepUnref(queryKey));
}
setMutationDefaults(mutationKey, options) {
super.setMutationDefaults(
cloneDeepUnref(mutationKey),
cloneDeepUnref(options)
);
}
getMutationDefaults(mutationKey) {
return super.getMutationDefaults(cloneDeepUnref(mutationKey));
}
};
export {
QueryClient
};
//# sourceMappingURL=queryClient.js.map