@tanstack/vue-query
Version:
Hooks for managing, caching and syncing asynchronous and remote data in Vue
1 lines • 16.6 kB
Source Map (JSON)
{"version":3,"sources":["../../src/queryClient.ts"],"sourcesContent":["import { nextTick, ref } from 'vue-demi'\nimport { QueryClient as QC } from '@tanstack/query-core'\nimport { cloneDeepUnref } from './utils'\nimport { QueryCache } from './queryCache'\nimport { MutationCache } from './mutationCache'\nimport type { UseQueryOptions } from './useQuery'\nimport type { Ref } from 'vue-demi'\nimport type { MaybeRefDeep, NoUnknown, QueryClientConfig } from './types'\nimport type {\n CancelOptions,\n DefaultError,\n DefaultOptions,\n EnsureQueryDataOptions,\n FetchInfiniteQueryOptions,\n FetchQueryOptions,\n InferDataFromTag,\n InferErrorFromTag,\n InfiniteData,\n InvalidateOptions,\n InvalidateQueryFilters,\n MutationFilters,\n MutationKey,\n MutationObserverOptions,\n NoInfer,\n OmitKeyof,\n QueryFilters,\n QueryKey,\n QueryObserverOptions,\n QueryState,\n RefetchOptions,\n RefetchQueryFilters,\n ResetOptions,\n SetDataOptions,\n Updater,\n} from '@tanstack/query-core'\n\nexport class QueryClient extends QC {\n constructor(config: QueryClientConfig = {}) {\n const vueQueryConfig = {\n defaultOptions: config.defaultOptions,\n queryCache: config.queryCache || new QueryCache(),\n mutationCache: config.mutationCache || new MutationCache(),\n }\n super(vueQueryConfig)\n }\n\n isRestoring?: Ref<boolean> = ref(false)\n\n isFetching(filters: MaybeRefDeep<QueryFilters> = {}): number {\n return super.isFetching(cloneDeepUnref(filters))\n }\n\n isMutating(filters: MaybeRefDeep<MutationFilters> = {}): number {\n return super.isMutating(cloneDeepUnref(filters))\n }\n\n getQueryData<TData = unknown, TTaggedQueryKey extends QueryKey = QueryKey>(\n queryKey: TTaggedQueryKey,\n ): InferDataFromTag<TData, TTaggedQueryKey> | undefined\n getQueryData<TData = unknown>(\n queryKey: MaybeRefDeep<QueryKey>,\n ): TData | undefined\n getQueryData<TData = unknown>(\n queryKey: MaybeRefDeep<QueryKey>,\n ): TData | undefined {\n return super.getQueryData(cloneDeepUnref(queryKey))\n }\n\n ensureQueryData<\n TQueryFnData,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n options: EnsureQueryDataOptions<TQueryFnData, TError, TData, TQueryKey>,\n ): Promise<TData>\n ensureQueryData<\n TQueryFnData,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n options: MaybeRefDeep<\n EnsureQueryDataOptions<TQueryFnData, TError, TData, TQueryKey>\n >,\n ): Promise<TData>\n ensureQueryData<\n TQueryFnData,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n options: MaybeRefDeep<\n EnsureQueryDataOptions<TQueryFnData, TError, TData, TQueryKey>\n >,\n ): Promise<TData> {\n return super.ensureQueryData(cloneDeepUnref(options))\n }\n\n getQueriesData<TData = unknown>(\n filters: MaybeRefDeep<QueryFilters>,\n ): Array<[QueryKey, TData | undefined]> {\n return super.getQueriesData(cloneDeepUnref(filters))\n }\n\n setQueryData<\n TQueryFnData = unknown,\n TTaggedQueryKey extends QueryKey = QueryKey,\n TInferredQueryFnData = InferDataFromTag<TQueryFnData, TTaggedQueryKey>,\n >(\n queryKey: TTaggedQueryKey,\n updater: Updater<\n NoInfer<TInferredQueryFnData> | undefined,\n NoInfer<TInferredQueryFnData> | undefined\n >,\n options?: MaybeRefDeep<SetDataOptions>,\n ): NoInfer<TInferredQueryFnData> | undefined\n setQueryData<TQueryFnData, TData = NoUnknown<TQueryFnData>>(\n queryKey: MaybeRefDeep<QueryKey>,\n updater: Updater<NoInfer<TData> | undefined, NoInfer<TData> | undefined>,\n options?: MaybeRefDeep<SetDataOptions>,\n ): NoInfer<TData> | undefined\n setQueryData<TData>(\n queryKey: MaybeRefDeep<QueryKey>,\n updater: Updater<TData | undefined, TData | undefined>,\n options: MaybeRefDeep<SetDataOptions> = {},\n ): NoInfer<TData> | undefined {\n return super.setQueryData(\n cloneDeepUnref(queryKey),\n updater,\n cloneDeepUnref(options),\n )\n }\n\n setQueriesData<TData>(\n filters: MaybeRefDeep<QueryFilters>,\n updater: Updater<TData | undefined, TData | undefined>,\n options: MaybeRefDeep<SetDataOptions> = {},\n ): Array<[QueryKey, TData | undefined]> {\n return super.setQueriesData(\n cloneDeepUnref(filters),\n updater,\n cloneDeepUnref(options),\n )\n }\n\n getQueryState<TData = unknown, TError = DefaultError>(\n queryKey: MaybeRefDeep<QueryKey>,\n ): QueryState<TData, TError> | undefined {\n return super.getQueryState(cloneDeepUnref(queryKey))\n }\n\n removeQueries<\n TQueryFnData = unknown,\n TError = DefaultError,\n TTaggedQueryKey extends QueryKey = QueryKey,\n TInferredQueryFnData = InferDataFromTag<TQueryFnData, TTaggedQueryKey>,\n TInferredError = InferErrorFromTag<TError, TTaggedQueryKey>,\n >(filters?: QueryFilters<TTaggedQueryKey>): void\n removeQueries(filters: MaybeRefDeep<QueryFilters> = {}): void {\n return super.removeQueries(cloneDeepUnref(filters))\n }\n\n resetQueries<\n TQueryFnData = unknown,\n TError = DefaultError,\n TTaggedQueryKey extends QueryKey = QueryKey,\n TInferredQueryFnData = InferDataFromTag<TQueryFnData, TTaggedQueryKey>,\n TInferredError = InferErrorFromTag<TError, TTaggedQueryKey>,\n >(\n filters?: QueryFilters<TTaggedQueryKey>,\n options?: MaybeRefDeep<ResetOptions>,\n ): Promise<void>\n resetQueries(\n filters: MaybeRefDeep<QueryFilters> = {},\n options: MaybeRefDeep<ResetOptions> = {},\n ): Promise<void> {\n return super.resetQueries(cloneDeepUnref(filters), cloneDeepUnref(options))\n }\n\n cancelQueries<\n TQueryFnData = unknown,\n TError = DefaultError,\n TTaggedQueryKey extends QueryKey = QueryKey,\n TInferredQueryFnData = InferDataFromTag<TQueryFnData, TTaggedQueryKey>,\n TInferredError = InferErrorFromTag<TError, TTaggedQueryKey>,\n >(\n filters?: QueryFilters<TTaggedQueryKey>,\n options?: MaybeRefDeep<CancelOptions>,\n ): Promise<void>\n cancelQueries(\n filters: MaybeRefDeep<QueryFilters> = {},\n options: MaybeRefDeep<CancelOptions> = {},\n ): Promise<void> {\n return super.cancelQueries(cloneDeepUnref(filters), cloneDeepUnref(options))\n }\n\n invalidateQueries<\n TQueryFnData = unknown,\n TError = DefaultError,\n TTaggedQueryKey extends QueryKey = QueryKey,\n TInferredQueryFnData = InferDataFromTag<TQueryFnData, TTaggedQueryKey>,\n TInferredError = InferErrorFromTag<TError, TTaggedQueryKey>,\n >(\n filters?: InvalidateQueryFilters<TTaggedQueryKey>,\n options?: MaybeRefDeep<InvalidateOptions>,\n ): Promise<void>\n invalidateQueries<TTaggedQueryKey extends QueryKey = QueryKey>(\n filters: MaybeRefDeep<InvalidateQueryFilters<TTaggedQueryKey>> = {},\n options: MaybeRefDeep<InvalidateOptions> = {},\n ): Promise<void> {\n const filtersCloned = cloneDeepUnref(filters)\n const optionsCloned = cloneDeepUnref(options)\n\n super.invalidateQueries(\n { ...filtersCloned, refetchType: 'none' },\n optionsCloned,\n )\n\n if (filtersCloned.refetchType === 'none') {\n return Promise.resolve()\n }\n\n const refetchFilters: RefetchQueryFilters<TTaggedQueryKey> = {\n ...filtersCloned,\n type: filtersCloned.refetchType ?? filtersCloned.type ?? 'active',\n }\n\n // (dosipiuk): We need to delay `refetchQueries` execution to next macro task for all reactive values to be updated.\n // This ensures that `context` in `queryFn` while `invalidating` along reactive variable change has correct\n return nextTick().then(() => {\n return super.refetchQueries(refetchFilters, optionsCloned)\n })\n }\n\n refetchQueries<\n TQueryFnData = unknown,\n TError = DefaultError,\n TTaggedQueryKey extends QueryKey = QueryKey,\n TInferredQueryFnData = InferDataFromTag<TQueryFnData, TTaggedQueryKey>,\n TInferredError = InferErrorFromTag<TError, TTaggedQueryKey>,\n >(\n filters?: RefetchQueryFilters<TTaggedQueryKey>,\n options?: MaybeRefDeep<RefetchOptions>,\n ): Promise<void>\n refetchQueries(\n filters: MaybeRefDeep<RefetchQueryFilters> = {},\n options: MaybeRefDeep<RefetchOptions> = {},\n ): Promise<void> {\n return super.refetchQueries(\n cloneDeepUnref(filters),\n cloneDeepUnref(options),\n )\n }\n\n fetchQuery<\n TQueryFnData,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = never,\n >(\n options: FetchQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryKey,\n TPageParam\n >,\n ): Promise<TData>\n fetchQuery<\n TQueryFnData,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = never,\n >(\n options: MaybeRefDeep<\n FetchQueryOptions<TQueryFnData, TError, TData, TQueryKey, TPageParam>\n >,\n ): Promise<TData>\n fetchQuery<\n TQueryFnData,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = never,\n >(\n options: MaybeRefDeep<\n FetchQueryOptions<TQueryFnData, TError, TData, TQueryKey, TPageParam>\n >,\n ): Promise<TData> {\n return super.fetchQuery(cloneDeepUnref(options))\n }\n\n prefetchQuery<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n options: FetchQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n ): Promise<void>\n prefetchQuery<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n options: MaybeRefDeep<\n FetchQueryOptions<TQueryFnData, TError, TData, TQueryKey>\n >,\n ): Promise<void>\n prefetchQuery<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n options: MaybeRefDeep<\n FetchQueryOptions<TQueryFnData, TError, TData, TQueryKey>\n >,\n ): Promise<void> {\n return super.prefetchQuery(cloneDeepUnref(options))\n }\n\n fetchInfiniteQuery<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n >(\n options: FetchInfiniteQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryKey,\n TPageParam\n >,\n ): Promise<InfiniteData<TData, TPageParam>>\n fetchInfiniteQuery<\n TQueryFnData,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n >(\n options: MaybeRefDeep<\n FetchInfiniteQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryKey,\n TPageParam\n >\n >,\n ): Promise<InfiniteData<TData, TPageParam>>\n fetchInfiniteQuery<\n TQueryFnData,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n >(\n options: MaybeRefDeep<\n FetchInfiniteQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryKey,\n TPageParam\n >\n >,\n ): Promise<InfiniteData<TData, TPageParam>> {\n return super.fetchInfiniteQuery(cloneDeepUnref(options))\n }\n\n prefetchInfiniteQuery<\n TQueryFnData,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n >(\n options: FetchInfiniteQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryKey,\n TPageParam\n >,\n ): Promise<void>\n prefetchInfiniteQuery<\n TQueryFnData,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n >(\n options: MaybeRefDeep<\n FetchInfiniteQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryKey,\n TPageParam\n >\n >,\n ): Promise<void>\n prefetchInfiniteQuery<\n TQueryFnData,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n >(\n options: MaybeRefDeep<\n FetchInfiniteQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryKey,\n TPageParam\n >\n >,\n ): Promise<void> {\n return super.prefetchInfiniteQuery(cloneDeepUnref(options))\n }\n\n setDefaultOptions(options: MaybeRefDeep<DefaultOptions>): void {\n super.setDefaultOptions(cloneDeepUnref(options))\n }\n\n setQueryDefaults<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryData = TQueryFnData,\n >(\n queryKey: MaybeRefDeep<QueryKey>,\n options: MaybeRefDeep<\n Omit<UseQueryOptions<TQueryFnData, TError, TData, TQueryData>, 'queryKey'>\n >,\n ): void {\n super.setQueryDefaults(cloneDeepUnref(queryKey), cloneDeepUnref(options))\n }\n\n getQueryDefaults(\n queryKey: MaybeRefDeep<QueryKey>,\n ): OmitKeyof<QueryObserverOptions<any, any, any, any, any>, 'queryKey'> {\n return super.getQueryDefaults(cloneDeepUnref(queryKey))\n }\n\n setMutationDefaults<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TContext = unknown,\n >(\n mutationKey: MaybeRefDeep<MutationKey>,\n options: MaybeRefDeep<\n MutationObserverOptions<TData, TError, TVariables, TContext>\n >,\n ): void {\n super.setMutationDefaults(\n cloneDeepUnref(mutationKey),\n cloneDeepUnref(options),\n )\n }\n\n getMutationDefaults(\n mutationKey: MaybeRefDeep<MutationKey>,\n ): MutationObserverOptions<any, any, any, any> {\n return super.getMutationDefaults(cloneDeepUnref(mutationKey))\n }\n}\n"],"mappings":"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","names":["QC"]}