@tanstack/vue-query 5.53.1 → 5.53.3
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/legacy/devtools/utils.cjs.map +1 -1
- package/build/legacy/devtools/utils.js.map +1 -1
- package/build/legacy/queryClient.cjs +15 -8
- package/build/legacy/queryClient.cjs.map +1 -1
- package/build/legacy/queryClient.js +16 -9
- package/build/legacy/queryClient.js.map +1 -1
- package/build/legacy/utils.cjs.map +1 -1
- package/build/legacy/utils.js.map +1 -1
- package/build/modern/devtools/utils.cjs.map +1 -1
- package/build/modern/devtools/utils.js.map +1 -1
- package/build/modern/queryClient.cjs +15 -8
- package/build/modern/queryClient.cjs.map +1 -1
- package/build/modern/queryClient.js +16 -9
- package/build/modern/queryClient.js.map +1 -1
- package/build/modern/utils.cjs.map +1 -1
- package/build/modern/utils.js.map +1 -1
- package/package.json +2 -2
- package/src/__tests__/queryClient.test.ts +52 -3
- package/src/devtools/utils.ts +0 -1
- package/src/queryClient.ts +22 -12
- package/src/utils.ts +1 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/devtools/utils.ts"],"sourcesContent":["import type { Query } from '@tanstack/query-core'\n\ntype SortFn = (a: Query, b: Query) => number\n\
|
|
1
|
+
{"version":3,"sources":["../../../src/devtools/utils.ts"],"sourcesContent":["import type { Query } from '@tanstack/query-core'\n\ntype SortFn = (a: Query, b: Query) => number\n\nenum QueryState {\n Fetching = 0,\n Fresh,\n Stale,\n Inactive,\n Paused,\n}\n\nexport function getQueryState(query: Query): QueryState {\n if (query.state.fetchStatus === 'fetching') {\n return QueryState.Fetching\n }\n if (query.state.fetchStatus === 'paused') {\n return QueryState.Paused\n }\n if (!query.getObserversCount()) {\n return QueryState.Inactive\n }\n if (query.isStale()) {\n return QueryState.Stale\n }\n\n return QueryState.Fresh\n}\n\nexport function getQueryStateLabel(query: Query): string {\n const queryState = getQueryState(query)\n\n if (queryState === QueryState.Fetching) {\n return 'fetching'\n }\n if (queryState === QueryState.Paused) {\n return 'paused'\n }\n if (queryState === QueryState.Stale) {\n return 'stale'\n }\n if (queryState === QueryState.Inactive) {\n return 'inactive'\n }\n\n return 'fresh'\n}\n\nexport function getQueryStatusFg(query: Query): number {\n const queryState = getQueryState(query)\n\n if (queryState === QueryState.Stale) {\n return 0x000000\n }\n\n return 0xffffff\n}\n\nexport function getQueryStatusBg(query: Query): number {\n const queryState = getQueryState(query)\n\n if (queryState === QueryState.Fetching) {\n return 0x006bff\n }\n if (queryState === QueryState.Paused) {\n return 0x8c49eb\n }\n if (queryState === QueryState.Stale) {\n return 0xffb200\n }\n if (queryState === QueryState.Inactive) {\n return 0x3f4e60\n }\n\n return 0x008327\n}\n\nconst queryHashSort: SortFn = (a, b) => a.queryHash.localeCompare(b.queryHash)\n\nconst dateSort: SortFn = (a, b) =>\n a.state.dataUpdatedAt < b.state.dataUpdatedAt ? 1 : -1\n\nconst statusAndDateSort: SortFn = (a, b) => {\n if (getQueryState(a) === getQueryState(b)) {\n return dateSort(a, b)\n }\n\n return getQueryState(a) > getQueryState(b) ? 1 : -1\n}\n\nexport const sortFns: Record<string, SortFn> = {\n 'Status > Last Updated': statusAndDateSort,\n 'Query Hash': queryHashSort,\n 'Last Updated': dateSort,\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAYO,SAAS,cAAc,OAA0B;AACtD,MAAI,MAAM,MAAM,gBAAgB,YAAY;AAC1C,WAAO;AAAA,EACT;AACA,MAAI,MAAM,MAAM,gBAAgB,UAAU;AACxC,WAAO;AAAA,EACT;AACA,MAAI,CAAC,MAAM,kBAAkB,GAAG;AAC9B,WAAO;AAAA,EACT;AACA,MAAI,MAAM,QAAQ,GAAG;AACnB,WAAO;AAAA,EACT;AAEA,SAAO;AACT;AAEO,SAAS,mBAAmB,OAAsB;AACvD,QAAM,aAAa,cAAc,KAAK;AAEtC,MAAI,eAAe,kBAAqB;AACtC,WAAO;AAAA,EACT;AACA,MAAI,eAAe,gBAAmB;AACpC,WAAO;AAAA,EACT;AACA,MAAI,eAAe,eAAkB;AACnC,WAAO;AAAA,EACT;AACA,MAAI,eAAe,kBAAqB;AACtC,WAAO;AAAA,EACT;AAEA,SAAO;AACT;AAEO,SAAS,iBAAiB,OAAsB;AACrD,QAAM,aAAa,cAAc,KAAK;AAEtC,MAAI,eAAe,eAAkB;AACnC,WAAO;AAAA,EACT;AAEA,SAAO;AACT;AAEO,SAAS,iBAAiB,OAAsB;AACrD,QAAM,aAAa,cAAc,KAAK;AAEtC,MAAI,eAAe,kBAAqB;AACtC,WAAO;AAAA,EACT;AACA,MAAI,eAAe,gBAAmB;AACpC,WAAO;AAAA,EACT;AACA,MAAI,eAAe,eAAkB;AACnC,WAAO;AAAA,EACT;AACA,MAAI,eAAe,kBAAqB;AACtC,WAAO;AAAA,EACT;AAEA,SAAO;AACT;AAEA,IAAM,gBAAwB,CAAC,GAAG,MAAM,EAAE,UAAU,cAAc,EAAE,SAAS;AAE7E,IAAM,WAAmB,CAAC,GAAG,MAC3B,EAAE,MAAM,gBAAgB,EAAE,MAAM,gBAAgB,IAAI;AAEtD,IAAM,oBAA4B,CAAC,GAAG,MAAM;AAC1C,MAAI,cAAc,CAAC,MAAM,cAAc,CAAC,GAAG;AACzC,WAAO,SAAS,GAAG,CAAC;AAAA,EACtB;AAEA,SAAO,cAAc,CAAC,IAAI,cAAc,CAAC,IAAI,IAAI;AACnD;AAEO,IAAM,UAAkC;AAAA,EAC7C,yBAAyB;AAAA,EACzB,cAAc;AAAA,EACd,gBAAgB;AAClB;","names":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/devtools/utils.ts"],"sourcesContent":["import type { Query } from '@tanstack/query-core'\n\ntype SortFn = (a: Query, b: Query) => number\n\
|
|
1
|
+
{"version":3,"sources":["../../../src/devtools/utils.ts"],"sourcesContent":["import type { Query } from '@tanstack/query-core'\n\ntype SortFn = (a: Query, b: Query) => number\n\nenum QueryState {\n Fetching = 0,\n Fresh,\n Stale,\n Inactive,\n Paused,\n}\n\nexport function getQueryState(query: Query): QueryState {\n if (query.state.fetchStatus === 'fetching') {\n return QueryState.Fetching\n }\n if (query.state.fetchStatus === 'paused') {\n return QueryState.Paused\n }\n if (!query.getObserversCount()) {\n return QueryState.Inactive\n }\n if (query.isStale()) {\n return QueryState.Stale\n }\n\n return QueryState.Fresh\n}\n\nexport function getQueryStateLabel(query: Query): string {\n const queryState = getQueryState(query)\n\n if (queryState === QueryState.Fetching) {\n return 'fetching'\n }\n if (queryState === QueryState.Paused) {\n return 'paused'\n }\n if (queryState === QueryState.Stale) {\n return 'stale'\n }\n if (queryState === QueryState.Inactive) {\n return 'inactive'\n }\n\n return 'fresh'\n}\n\nexport function getQueryStatusFg(query: Query): number {\n const queryState = getQueryState(query)\n\n if (queryState === QueryState.Stale) {\n return 0x000000\n }\n\n return 0xffffff\n}\n\nexport function getQueryStatusBg(query: Query): number {\n const queryState = getQueryState(query)\n\n if (queryState === QueryState.Fetching) {\n return 0x006bff\n }\n if (queryState === QueryState.Paused) {\n return 0x8c49eb\n }\n if (queryState === QueryState.Stale) {\n return 0xffb200\n }\n if (queryState === QueryState.Inactive) {\n return 0x3f4e60\n }\n\n return 0x008327\n}\n\nconst queryHashSort: SortFn = (a, b) => a.queryHash.localeCompare(b.queryHash)\n\nconst dateSort: SortFn = (a, b) =>\n a.state.dataUpdatedAt < b.state.dataUpdatedAt ? 1 : -1\n\nconst statusAndDateSort: SortFn = (a, b) => {\n if (getQueryState(a) === getQueryState(b)) {\n return dateSort(a, b)\n }\n\n return getQueryState(a) > getQueryState(b) ? 1 : -1\n}\n\nexport const sortFns: Record<string, SortFn> = {\n 'Status > Last Updated': statusAndDateSort,\n 'Query Hash': queryHashSort,\n 'Last Updated': dateSort,\n}\n"],"mappings":";AAYO,SAAS,cAAc,OAA0B;AACtD,MAAI,MAAM,MAAM,gBAAgB,YAAY;AAC1C,WAAO;AAAA,EACT;AACA,MAAI,MAAM,MAAM,gBAAgB,UAAU;AACxC,WAAO;AAAA,EACT;AACA,MAAI,CAAC,MAAM,kBAAkB,GAAG;AAC9B,WAAO;AAAA,EACT;AACA,MAAI,MAAM,QAAQ,GAAG;AACnB,WAAO;AAAA,EACT;AAEA,SAAO;AACT;AAEO,SAAS,mBAAmB,OAAsB;AACvD,QAAM,aAAa,cAAc,KAAK;AAEtC,MAAI,eAAe,kBAAqB;AACtC,WAAO;AAAA,EACT;AACA,MAAI,eAAe,gBAAmB;AACpC,WAAO;AAAA,EACT;AACA,MAAI,eAAe,eAAkB;AACnC,WAAO;AAAA,EACT;AACA,MAAI,eAAe,kBAAqB;AACtC,WAAO;AAAA,EACT;AAEA,SAAO;AACT;AAEO,SAAS,iBAAiB,OAAsB;AACrD,QAAM,aAAa,cAAc,KAAK;AAEtC,MAAI,eAAe,eAAkB;AACnC,WAAO;AAAA,EACT;AAEA,SAAO;AACT;AAEO,SAAS,iBAAiB,OAAsB;AACrD,QAAM,aAAa,cAAc,KAAK;AAEtC,MAAI,eAAe,kBAAqB;AACtC,WAAO;AAAA,EACT;AACA,MAAI,eAAe,gBAAmB;AACpC,WAAO;AAAA,EACT;AACA,MAAI,eAAe,eAAkB;AACnC,WAAO;AAAA,EACT;AACA,MAAI,eAAe,kBAAqB;AACtC,WAAO;AAAA,EACT;AAEA,SAAO;AACT;AAEA,IAAM,gBAAwB,CAAC,GAAG,MAAM,EAAE,UAAU,cAAc,EAAE,SAAS;AAE7E,IAAM,WAAmB,CAAC,GAAG,MAC3B,EAAE,MAAM,gBAAgB,EAAE,MAAM,gBAAgB,IAAI;AAEtD,IAAM,oBAA4B,CAAC,GAAG,MAAM;AAC1C,MAAI,cAAc,CAAC,MAAM,cAAc,CAAC,GAAG;AACzC,WAAO,SAAS,GAAG,CAAC;AAAA,EACtB;AAEA,SAAO,cAAc,CAAC,IAAI,cAAc,CAAC,IAAI,IAAI;AACnD;AAEO,IAAM,UAAkC;AAAA,EAC7C,yBAAyB;AAAA,EACzB,cAAc;AAAA,EACd,gBAAgB;AAClB;","names":[]}
|
|
@@ -80,14 +80,21 @@ var QueryClient = class extends import_query_core.QueryClient {
|
|
|
80
80
|
return super.cancelQueries((0, import_utils.cloneDeepUnref)(filters), (0, import_utils.cloneDeepUnref)(options));
|
|
81
81
|
}
|
|
82
82
|
invalidateQueries(filters = {}, options = {}) {
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
83
|
+
const filtersCloned = (0, import_utils.cloneDeepUnref)(filters);
|
|
84
|
+
const optionsCloned = (0, import_utils.cloneDeepUnref)(options);
|
|
85
|
+
super.invalidateQueries(
|
|
86
|
+
{ ...filtersCloned, refetchType: "none" },
|
|
87
|
+
optionsCloned
|
|
88
|
+
);
|
|
89
|
+
if (filtersCloned.refetchType === "none") {
|
|
90
|
+
return Promise.resolve();
|
|
91
|
+
}
|
|
92
|
+
const refetchFilters = {
|
|
93
|
+
...filtersCloned,
|
|
94
|
+
type: filtersCloned.refetchType ?? filtersCloned.type ?? "active"
|
|
95
|
+
};
|
|
96
|
+
return (0, import_vue_demi.nextTick)().then(() => {
|
|
97
|
+
return super.refetchQueries(refetchFilters, optionsCloned);
|
|
91
98
|
});
|
|
92
99
|
}
|
|
93
100
|
refetchQueries(filters = {}, options = {}) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/queryClient.ts"],"sourcesContent":["import { 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 { Ref } from 'vue-demi'\nimport type { MaybeRefDeep, NoUnknown } from './types'\nimport type {\n CancelOptions,\n DataTag,\n DefaultError,\n DefaultOptions,\n EnsureQueryDataOptions,\n FetchInfiniteQueryOptions,\n FetchQueryOptions,\n InfiniteData,\n InvalidateOptions,\n InvalidateQueryFilters,\n MutationFilters,\n MutationKey,\n MutationObserverOptions,\n NoInfer,\n OmitKeyof,\n QueryClientConfig,\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 ):\n | (TTaggedQueryKey extends DataTag<unknown, infer TaggedValue>\n ? TaggedValue\n : TData)\n | 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,\n TTaggedQueryKey extends QueryKey,\n TData = TTaggedQueryKey extends DataTag<unknown, infer TaggedValue>\n ? TaggedValue\n : TQueryFnData,\n >(\n queryKey: TTaggedQueryKey,\n updater: Updater<NoInfer<TData> | undefined, NoInfer<TData> | undefined>,\n options?: MaybeRefDeep<SetDataOptions>,\n ): TData | 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 ): TData | undefined\n setQueryData<TData>(\n queryKey: MaybeRefDeep<QueryKey>,\n updater: Updater<TData | undefined, TData | undefined>,\n options: MaybeRefDeep<SetDataOptions> = {},\n ): 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(filters: MaybeRefDeep<QueryFilters> = {}): void {\n return super.removeQueries(cloneDeepUnref(filters))\n }\n\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 filters: MaybeRefDeep<QueryFilters> = {},\n options: MaybeRefDeep<CancelOptions> = {},\n ): Promise<void> {\n return super.cancelQueries(cloneDeepUnref(filters), cloneDeepUnref(options))\n }\n\n invalidateQueries(\n filters: MaybeRefDeep<InvalidateQueryFilters> = {},\n options: MaybeRefDeep<InvalidateOptions> = {},\n ): Promise<void> {\n // eslint-disable-next-line cspell/spellchecker\n // (dosipiuk): We need to delay `invalidate` 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 value.\n return new Promise((resolve) => {\n setTimeout(async () => {\n await super.invalidateQueries(\n cloneDeepUnref(filters),\n cloneDeepUnref(options),\n )\n resolve()\n }, 0)\n })\n }\n\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 queryKey: MaybeRefDeep<QueryKey>,\n options: MaybeRefDeep<\n OmitKeyof<QueryObserverOptions<unknown, any, any, any>, '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 mutationKey: MaybeRefDeep<MutationKey>,\n options: MaybeRefDeep<MutationObserverOptions<any, any, any, any>>,\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":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBAAoB;AACpB,wBAAkC;AAClC,mBAA+B;AAC/B,wBAA2B;AAC3B,2BAA8B;AA+BvB,IAAM,cAAN,cAA0B,kBAAAA,YAAG;AAAA,EAClC,YAAY,SAA4B,CAAC,GAAG;AAC1C,UAAM,iBAAiB;AAAA,MACrB,gBAAgB,OAAO;AAAA,MACvB,YAAY,OAAO,cAAc,IAAI,6BAAW;AAAA,MAChD,eAAe,OAAO,iBAAiB,IAAI,mCAAc;AAAA,IAC3D;AACA,UAAM,cAAc;AAGtB,2BAA4B,qBAAI,KAAK;AAAA,EAFrC;AAAA,EAIA,WAAW,UAAsC,CAAC,GAAW;AAC3D,WAAO,MAAM,eAAW,6BAAe,OAAO,CAAC;AAAA,EACjD;AAAA,EAEA,WAAW,UAAyC,CAAC,GAAW;AAC9D,WAAO,MAAM,eAAW,6BAAe,OAAO,CAAC;AAAA,EACjD;AAAA,EAYA,aACE,UACmB;AACnB,WAAO,MAAM,iBAAa,6BAAe,QAAQ,CAAC;AAAA,EACpD;AAAA,EAoBA,gBAME,SAGgB;AAChB,WAAO,MAAM,oBAAgB,6BAAe,OAAO,CAAC;AAAA,EACtD;AAAA,EAEA,eACE,SACsC;AACtC,WAAO,MAAM,mBAAe,6BAAe,OAAO,CAAC;AAAA,EACrD;AAAA,EAkBA,aACE,UACA,SACA,UAAwC,CAAC,GACtB;AACnB,WAAO,MAAM;AAAA,UACX,6BAAe,QAAQ;AAAA,MACvB;AAAA,UACA,6BAAe,OAAO;AAAA,IACxB;AAAA,EACF;AAAA,EAEA,eACE,SACA,SACA,UAAwC,CAAC,GACH;AACtC,WAAO,MAAM;AAAA,UACX,6BAAe,OAAO;AAAA,MACtB;AAAA,UACA,6BAAe,OAAO;AAAA,IACxB;AAAA,EACF;AAAA,EAEA,cACE,UACuC;AACvC,WAAO,MAAM,kBAAc,6BAAe,QAAQ,CAAC;AAAA,EACrD;AAAA,EAEA,cAAc,UAAsC,CAAC,GAAS;AAC5D,WAAO,MAAM,kBAAc,6BAAe,OAAO,CAAC;AAAA,EACpD;AAAA,EAEA,aACE,UAAsC,CAAC,GACvC,UAAsC,CAAC,GACxB;AACf,WAAO,MAAM,iBAAa,6BAAe,OAAO,OAAG,6BAAe,OAAO,CAAC;AAAA,EAC5E;AAAA,EAEA,cACE,UAAsC,CAAC,GACvC,UAAuC,CAAC,GACzB;AACf,WAAO,MAAM,kBAAc,6BAAe,OAAO,OAAG,6BAAe,OAAO,CAAC;AAAA,EAC7E;AAAA,EAEA,kBACE,UAAgD,CAAC,GACjD,UAA2C,CAAC,GAC7B;AAIf,WAAO,IAAI,QAAQ,CAAC,YAAY;AAC9B,iBAAW,YAAY;AACrB,cAAM,MAAM;AAAA,cACV,6BAAe,OAAO;AAAA,cACtB,6BAAe,OAAO;AAAA,QACxB;AACA,gBAAQ;AAAA,MACV,GAAG,CAAC;AAAA,IACN,CAAC;AAAA,EACH;AAAA,EAEA,eACE,UAA6C,CAAC,GAC9C,UAAwC,CAAC,GAC1B;AACf,WAAO,MAAM;AAAA,UACX,6BAAe,OAAO;AAAA,UACtB,6BAAe,OAAO;AAAA,IACxB;AAAA,EACF;AAAA,EA4BA,WAOE,SAGgB;AAChB,WAAO,MAAM,eAAW,6BAAe,OAAO,CAAC;AAAA,EACjD;AAAA,EAoBA,cAME,SAGe;AACf,WAAO,MAAM,kBAAc,6BAAe,OAAO,CAAC;AAAA,EACpD;AAAA,EAkCA,mBAOE,SAS0C;AAC1C,WAAO,MAAM,uBAAmB,6BAAe,OAAO,CAAC;AAAA,EACzD;AAAA,EAkCA,sBAOE,SASe;AACf,WAAO,MAAM,0BAAsB,6BAAe,OAAO,CAAC;AAAA,EAC5D;AAAA,EAEA,kBAAkB,SAA6C;AAC7D,UAAM,sBAAkB,6BAAe,OAAO,CAAC;AAAA,EACjD;AAAA,EAEA,iBACE,UACA,SAGM;AACN,UAAM,qBAAiB,6BAAe,QAAQ,OAAG,6BAAe,OAAO,CAAC;AAAA,EAC1E;AAAA,EAEA,iBACE,UACsE;AACtE,WAAO,MAAM,qBAAiB,6BAAe,QAAQ,CAAC;AAAA,EACxD;AAAA,EAEA,oBACE,aACA,SACM;AACN,UAAM;AAAA,UACJ,6BAAe,WAAW;AAAA,UAC1B,6BAAe,OAAO;AAAA,IACxB;AAAA,EACF;AAAA,EAEA,oBACE,aAC6C;AAC7C,WAAO,MAAM,wBAAoB,6BAAe,WAAW,CAAC;AAAA,EAC9D;AACF;","names":["QC"]}
|
|
1
|
+
{"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 { Ref } from 'vue-demi'\nimport type { MaybeRefDeep, NoUnknown } from './types'\nimport type {\n CancelOptions,\n DataTag,\n DefaultError,\n DefaultOptions,\n EnsureQueryDataOptions,\n FetchInfiniteQueryOptions,\n FetchQueryOptions,\n InfiniteData,\n InvalidateOptions,\n InvalidateQueryFilters,\n MutationFilters,\n MutationKey,\n MutationObserverOptions,\n NoInfer,\n OmitKeyof,\n QueryClientConfig,\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 ):\n | (TTaggedQueryKey extends DataTag<unknown, infer TaggedValue>\n ? TaggedValue\n : TData)\n | 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,\n TTaggedQueryKey extends QueryKey,\n TData = TTaggedQueryKey extends DataTag<unknown, infer TaggedValue>\n ? TaggedValue\n : TQueryFnData,\n >(\n queryKey: TTaggedQueryKey,\n updater: Updater<NoInfer<TData> | undefined, NoInfer<TData> | undefined>,\n options?: MaybeRefDeep<SetDataOptions>,\n ): TData | 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 ): TData | undefined\n setQueryData<TData>(\n queryKey: MaybeRefDeep<QueryKey>,\n updater: Updater<TData | undefined, TData | undefined>,\n options: MaybeRefDeep<SetDataOptions> = {},\n ): 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(filters: MaybeRefDeep<QueryFilters> = {}): void {\n return super.removeQueries(cloneDeepUnref(filters))\n }\n\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 filters: MaybeRefDeep<QueryFilters> = {},\n options: MaybeRefDeep<CancelOptions> = {},\n ): Promise<void> {\n return super.cancelQueries(cloneDeepUnref(filters), cloneDeepUnref(options))\n }\n\n invalidateQueries(\n filters: MaybeRefDeep<InvalidateQueryFilters> = {},\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 = {\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 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 queryKey: MaybeRefDeep<QueryKey>,\n options: MaybeRefDeep<\n OmitKeyof<QueryObserverOptions<unknown, any, any, any>, '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 mutationKey: MaybeRefDeep<MutationKey>,\n options: MaybeRefDeep<MutationObserverOptions<any, any, any, any>>,\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":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBAA8B;AAC9B,wBAAkC;AAClC,mBAA+B;AAC/B,wBAA2B;AAC3B,2BAA8B;AA+BvB,IAAM,cAAN,cAA0B,kBAAAA,YAAG;AAAA,EAClC,YAAY,SAA4B,CAAC,GAAG;AAC1C,UAAM,iBAAiB;AAAA,MACrB,gBAAgB,OAAO;AAAA,MACvB,YAAY,OAAO,cAAc,IAAI,6BAAW;AAAA,MAChD,eAAe,OAAO,iBAAiB,IAAI,mCAAc;AAAA,IAC3D;AACA,UAAM,cAAc;AAGtB,2BAA4B,qBAAI,KAAK;AAAA,EAFrC;AAAA,EAIA,WAAW,UAAsC,CAAC,GAAW;AAC3D,WAAO,MAAM,eAAW,6BAAe,OAAO,CAAC;AAAA,EACjD;AAAA,EAEA,WAAW,UAAyC,CAAC,GAAW;AAC9D,WAAO,MAAM,eAAW,6BAAe,OAAO,CAAC;AAAA,EACjD;AAAA,EAYA,aACE,UACmB;AACnB,WAAO,MAAM,iBAAa,6BAAe,QAAQ,CAAC;AAAA,EACpD;AAAA,EAoBA,gBAME,SAGgB;AAChB,WAAO,MAAM,oBAAgB,6BAAe,OAAO,CAAC;AAAA,EACtD;AAAA,EAEA,eACE,SACsC;AACtC,WAAO,MAAM,mBAAe,6BAAe,OAAO,CAAC;AAAA,EACrD;AAAA,EAkBA,aACE,UACA,SACA,UAAwC,CAAC,GACtB;AACnB,WAAO,MAAM;AAAA,UACX,6BAAe,QAAQ;AAAA,MACvB;AAAA,UACA,6BAAe,OAAO;AAAA,IACxB;AAAA,EACF;AAAA,EAEA,eACE,SACA,SACA,UAAwC,CAAC,GACH;AACtC,WAAO,MAAM;AAAA,UACX,6BAAe,OAAO;AAAA,MACtB;AAAA,UACA,6BAAe,OAAO;AAAA,IACxB;AAAA,EACF;AAAA,EAEA,cACE,UACuC;AACvC,WAAO,MAAM,kBAAc,6BAAe,QAAQ,CAAC;AAAA,EACrD;AAAA,EAEA,cAAc,UAAsC,CAAC,GAAS;AAC5D,WAAO,MAAM,kBAAc,6BAAe,OAAO,CAAC;AAAA,EACpD;AAAA,EAEA,aACE,UAAsC,CAAC,GACvC,UAAsC,CAAC,GACxB;AACf,WAAO,MAAM,iBAAa,6BAAe,OAAO,OAAG,6BAAe,OAAO,CAAC;AAAA,EAC5E;AAAA,EAEA,cACE,UAAsC,CAAC,GACvC,UAAuC,CAAC,GACzB;AACf,WAAO,MAAM,kBAAc,6BAAe,OAAO,OAAG,6BAAe,OAAO,CAAC;AAAA,EAC7E;AAAA,EAEA,kBACE,UAAgD,CAAC,GACjD,UAA2C,CAAC,GAC7B;AACf,UAAM,oBAAgB,6BAAe,OAAO;AAC5C,UAAM,oBAAgB,6BAAe,OAAO;AAE5C,UAAM;AAAA,MACJ,EAAE,GAAG,eAAe,aAAa,OAAO;AAAA,MACxC;AAAA,IACF;AAEA,QAAI,cAAc,gBAAgB,QAAQ;AACxC,aAAO,QAAQ,QAAQ;AAAA,IACzB;AAEA,UAAM,iBAAsC;AAAA,MAC1C,GAAG;AAAA,MACH,MAAM,cAAc,eAAe,cAAc,QAAQ;AAAA,IAC3D;AAIA,eAAO,0BAAS,EAAE,KAAK,MAAM;AAC3B,aAAO,MAAM,eAAe,gBAAgB,aAAa;AAAA,IAC3D,CAAC;AAAA,EACH;AAAA,EAEA,eACE,UAA6C,CAAC,GAC9C,UAAwC,CAAC,GAC1B;AACf,WAAO,MAAM;AAAA,UACX,6BAAe,OAAO;AAAA,UACtB,6BAAe,OAAO;AAAA,IACxB;AAAA,EACF;AAAA,EA4BA,WAOE,SAGgB;AAChB,WAAO,MAAM,eAAW,6BAAe,OAAO,CAAC;AAAA,EACjD;AAAA,EAoBA,cAME,SAGe;AACf,WAAO,MAAM,kBAAc,6BAAe,OAAO,CAAC;AAAA,EACpD;AAAA,EAkCA,mBAOE,SAS0C;AAC1C,WAAO,MAAM,uBAAmB,6BAAe,OAAO,CAAC;AAAA,EACzD;AAAA,EAkCA,sBAOE,SASe;AACf,WAAO,MAAM,0BAAsB,6BAAe,OAAO,CAAC;AAAA,EAC5D;AAAA,EAEA,kBAAkB,SAA6C;AAC7D,UAAM,sBAAkB,6BAAe,OAAO,CAAC;AAAA,EACjD;AAAA,EAEA,iBACE,UACA,SAGM;AACN,UAAM,qBAAiB,6BAAe,QAAQ,OAAG,6BAAe,OAAO,CAAC;AAAA,EAC1E;AAAA,EAEA,iBACE,UACsE;AACtE,WAAO,MAAM,qBAAiB,6BAAe,QAAQ,CAAC;AAAA,EACxD;AAAA,EAEA,oBACE,aACA,SACM;AACN,UAAM;AAAA,UACJ,6BAAe,WAAW;AAAA,UAC1B,6BAAe,OAAO;AAAA,IACxB;AAAA,EACF;AAAA,EAEA,oBACE,aAC6C;AAC7C,WAAO,MAAM,wBAAoB,6BAAe,WAAW,CAAC;AAAA,EAC9D;AACF;","names":["QC"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// src/queryClient.ts
|
|
2
|
-
import { ref } from "vue-demi";
|
|
2
|
+
import { nextTick, ref } from "vue-demi";
|
|
3
3
|
import { QueryClient as QC } from "@tanstack/query-core";
|
|
4
4
|
import { cloneDeepUnref } from "./utils.js";
|
|
5
5
|
import { QueryCache } from "./queryCache.js";
|
|
@@ -56,14 +56,21 @@ var QueryClient = class extends QC {
|
|
|
56
56
|
return super.cancelQueries(cloneDeepUnref(filters), cloneDeepUnref(options));
|
|
57
57
|
}
|
|
58
58
|
invalidateQueries(filters = {}, options = {}) {
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
59
|
+
const filtersCloned = cloneDeepUnref(filters);
|
|
60
|
+
const optionsCloned = cloneDeepUnref(options);
|
|
61
|
+
super.invalidateQueries(
|
|
62
|
+
{ ...filtersCloned, refetchType: "none" },
|
|
63
|
+
optionsCloned
|
|
64
|
+
);
|
|
65
|
+
if (filtersCloned.refetchType === "none") {
|
|
66
|
+
return Promise.resolve();
|
|
67
|
+
}
|
|
68
|
+
const refetchFilters = {
|
|
69
|
+
...filtersCloned,
|
|
70
|
+
type: filtersCloned.refetchType ?? filtersCloned.type ?? "active"
|
|
71
|
+
};
|
|
72
|
+
return nextTick().then(() => {
|
|
73
|
+
return super.refetchQueries(refetchFilters, optionsCloned);
|
|
67
74
|
});
|
|
68
75
|
}
|
|
69
76
|
refetchQueries(filters = {}, options = {}) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/queryClient.ts"],"sourcesContent":["import { 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 { Ref } from 'vue-demi'\nimport type { MaybeRefDeep, NoUnknown } from './types'\nimport type {\n CancelOptions,\n DataTag,\n DefaultError,\n DefaultOptions,\n EnsureQueryDataOptions,\n FetchInfiniteQueryOptions,\n FetchQueryOptions,\n InfiniteData,\n InvalidateOptions,\n InvalidateQueryFilters,\n MutationFilters,\n MutationKey,\n MutationObserverOptions,\n NoInfer,\n OmitKeyof,\n QueryClientConfig,\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 ):\n | (TTaggedQueryKey extends DataTag<unknown, infer TaggedValue>\n ? TaggedValue\n : TData)\n | 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,\n TTaggedQueryKey extends QueryKey,\n TData = TTaggedQueryKey extends DataTag<unknown, infer TaggedValue>\n ? TaggedValue\n : TQueryFnData,\n >(\n queryKey: TTaggedQueryKey,\n updater: Updater<NoInfer<TData> | undefined, NoInfer<TData> | undefined>,\n options?: MaybeRefDeep<SetDataOptions>,\n ): TData | 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 ): TData | undefined\n setQueryData<TData>(\n queryKey: MaybeRefDeep<QueryKey>,\n updater: Updater<TData | undefined, TData | undefined>,\n options: MaybeRefDeep<SetDataOptions> = {},\n ): 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(filters: MaybeRefDeep<QueryFilters> = {}): void {\n return super.removeQueries(cloneDeepUnref(filters))\n }\n\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 filters: MaybeRefDeep<QueryFilters> = {},\n options: MaybeRefDeep<CancelOptions> = {},\n ): Promise<void> {\n return super.cancelQueries(cloneDeepUnref(filters), cloneDeepUnref(options))\n }\n\n invalidateQueries(\n filters: MaybeRefDeep<InvalidateQueryFilters> = {},\n options: MaybeRefDeep<InvalidateOptions> = {},\n ): Promise<void> {\n // eslint-disable-next-line cspell/spellchecker\n // (dosipiuk): We need to delay `invalidate` 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 value.\n return new Promise((resolve) => {\n setTimeout(async () => {\n await super.invalidateQueries(\n cloneDeepUnref(filters),\n cloneDeepUnref(options),\n )\n resolve()\n }, 0)\n })\n }\n\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 queryKey: MaybeRefDeep<QueryKey>,\n options: MaybeRefDeep<\n OmitKeyof<QueryObserverOptions<unknown, any, any, any>, '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 mutationKey: MaybeRefDeep<MutationKey>,\n options: MaybeRefDeep<MutationObserverOptions<any, any, any, any>>,\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":[]}
|
|
1
|
+
{"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 { Ref } from 'vue-demi'\nimport type { MaybeRefDeep, NoUnknown } from './types'\nimport type {\n CancelOptions,\n DataTag,\n DefaultError,\n DefaultOptions,\n EnsureQueryDataOptions,\n FetchInfiniteQueryOptions,\n FetchQueryOptions,\n InfiniteData,\n InvalidateOptions,\n InvalidateQueryFilters,\n MutationFilters,\n MutationKey,\n MutationObserverOptions,\n NoInfer,\n OmitKeyof,\n QueryClientConfig,\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 ):\n | (TTaggedQueryKey extends DataTag<unknown, infer TaggedValue>\n ? TaggedValue\n : TData)\n | 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,\n TTaggedQueryKey extends QueryKey,\n TData = TTaggedQueryKey extends DataTag<unknown, infer TaggedValue>\n ? TaggedValue\n : TQueryFnData,\n >(\n queryKey: TTaggedQueryKey,\n updater: Updater<NoInfer<TData> | undefined, NoInfer<TData> | undefined>,\n options?: MaybeRefDeep<SetDataOptions>,\n ): TData | 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 ): TData | undefined\n setQueryData<TData>(\n queryKey: MaybeRefDeep<QueryKey>,\n updater: Updater<TData | undefined, TData | undefined>,\n options: MaybeRefDeep<SetDataOptions> = {},\n ): 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(filters: MaybeRefDeep<QueryFilters> = {}): void {\n return super.removeQueries(cloneDeepUnref(filters))\n }\n\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 filters: MaybeRefDeep<QueryFilters> = {},\n options: MaybeRefDeep<CancelOptions> = {},\n ): Promise<void> {\n return super.cancelQueries(cloneDeepUnref(filters), cloneDeepUnref(options))\n }\n\n invalidateQueries(\n filters: MaybeRefDeep<InvalidateQueryFilters> = {},\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 = {\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 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 queryKey: MaybeRefDeep<QueryKey>,\n options: MaybeRefDeep<\n OmitKeyof<QueryObserverOptions<unknown, any, any, any>, '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 mutationKey: MaybeRefDeep<MutationKey>,\n options: MaybeRefDeep<MutationObserverOptions<any, any, any, any>>,\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":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/utils.ts"],"sourcesContent":["import { isRef, unref } from 'vue-demi'\nimport type { MaybeRefDeep } from './types'\n\nexport const VUE_QUERY_CLIENT = 'VUE_QUERY_CLIENT'\n\nexport function getClientKey(key?: string) {\n const suffix = key ? `:${key}` : ''\n return `${VUE_QUERY_CLIENT}${suffix}`\n}\n\nexport function updateState(\n state: Record<string, unknown>,\n update: Record<string, any>,\n): void {\n Object.keys(state).forEach((key) => {\n state[key] = update[key]\n })\n}\n\n// Helper function for cloning deep objects where\n// the level and key is provided to the callback function.\nfunction _cloneDeep<T>(\n value: MaybeRefDeep<T>,\n customize?: (\n val: MaybeRefDeep<T>,\n key: string,\n level: number,\n ) => T | undefined,\n currentKey: string = '',\n currentLevel: number = 0,\n): T {\n if (customize) {\n const result = customize(value, currentKey, currentLevel)\n if (result === undefined && isRef(value)) {\n return result as T\n }\n if (result !== undefined) {\n return result\n }\n }\n\n if (Array.isArray(value)) {\n return value.map((val, index) =>\n _cloneDeep(val, customize, String(index), currentLevel + 1),\n ) as unknown as T\n }\n\n if (typeof value === 'object' && isPlainObject(value)) {\n const entries = Object.entries(value).map(([key, val]) => [\n key,\n _cloneDeep(val, customize, key, currentLevel + 1),\n ])\n return Object.fromEntries(entries)\n }\n\n return value as T\n}\n\nexport function cloneDeep<T>(\n value: MaybeRefDeep<T>,\n customize?: (\n val: MaybeRefDeep<T>,\n key: string,\n level: number,\n ) => T | undefined,\n): T {\n return _cloneDeep(value, customize)\n}\n\nexport function cloneDeepUnref<T>(\n obj: MaybeRefDeep<T>,\n unrefGetters = false,\n): T {\n return cloneDeep(obj, (val, key, level) => {\n // Check if we're at the top level and the key is 'queryKey'\n //\n // If so, take the recursive descent where we resolve\n // getters to values as well as refs.\n if (level === 1 && key === 'queryKey') {\n return cloneDeepUnref(val, true)\n }\n\n // Resolve getters to values if specified.\n if (unrefGetters && isFunction(val)) {\n // Cast due to older TS versions not allowing calling\n // on certain intersection types.\n return cloneDeepUnref((val as Function)(), unrefGetters)\n }\n\n // Unref refs and continue to recurse into the value.\n if (isRef(val)) {\n return cloneDeepUnref(unref(val), unrefGetters)\n }\n\n return undefined\n })\n}\n\nfunction isPlainObject(value: unknown): value is Object {\n if (Object.prototype.toString.call(value) !== '[object Object]') {\n return false\n }\n\n const prototype = Object.getPrototypeOf(value)\n return prototype === null || prototype === Object.prototype\n}\n\nfunction isFunction(value: unknown): value is Function {\n return typeof value === 'function'\n}\n\nexport function shouldThrowError<T extends (...args: Array<any>) => boolean>(\n throwOnError: boolean | T | undefined,\n params: Parameters<T>,\n): boolean {\n // Allow throwOnError function to override throwing behavior on a per-error basis\n if (typeof throwOnError === 'function') {\n return throwOnError(...params)\n }\n\n return !!throwOnError\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBAA6B;AAGtB,IAAM,mBAAmB;AAEzB,SAAS,aAAa,KAAc;AACzC,QAAM,SAAS,MAAM,IAAI,GAAG,KAAK;AACjC,SAAO,GAAG,gBAAgB,GAAG,MAAM;AACrC;AAEO,SAAS,YACd,OACA,QACM;AACN,SAAO,KAAK,KAAK,EAAE,QAAQ,CAAC,QAAQ;AAClC,UAAM,GAAG,IAAI,OAAO,GAAG;AAAA,EACzB,CAAC;AACH;AAIA,SAAS,WACP,OACA,WAKA,aAAqB,IACrB,eAAuB,GACpB;AACH,MAAI,WAAW;AACb,UAAM,SAAS,UAAU,OAAO,YAAY,YAAY;AACxD,QAAI,WAAW,cAAa,uBAAM,KAAK,GAAG;AACxC,aAAO;AAAA,IACT;AACA,QAAI,WAAW,QAAW;AACxB,aAAO;AAAA,IACT;AAAA,EACF;AAEA,MAAI,MAAM,QAAQ,KAAK,GAAG;AACxB,WAAO,MAAM;AAAA,MAAI,CAAC,KAAK,UACrB,WAAW,KAAK,WAAW,OAAO,KAAK,GAAG,eAAe,CAAC;AAAA,IAC5D;AAAA,EACF;AAEA,MAAI,OAAO,UAAU,YAAY,cAAc,KAAK,GAAG;AACrD,UAAM,UAAU,OAAO,QAAQ,KAAK,EAAE,IAAI,CAAC,CAAC,KAAK,GAAG,MAAM;AAAA,MACxD;AAAA,MACA,WAAW,KAAK,WAAW,KAAK,eAAe,CAAC;AAAA,IAClD,CAAC;AACD,WAAO,OAAO,YAAY,OAAO;AAAA,EACnC;AAEA,SAAO;AACT;AAEO,SAAS,UACd,OACA,WAKG;AACH,SAAO,WAAW,OAAO,SAAS;AACpC;AAEO,SAAS,eACd,KACA,eAAe,OACZ;AACH,SAAO,UAAU,KAAK,CAAC,KAAK,KAAK,UAAU;AAKzC,QAAI,UAAU,KAAK,QAAQ,YAAY;AACrC,aAAO,eAAe,KAAK,IAAI;AAAA,IACjC;AAGA,QAAI,gBAAgB,WAAW,GAAG,GAAG;AAGnC,aAAO,eAAgB,IAAiB,GAAG,YAAY;AAAA,IACzD;AAGA,YAAI,uBAAM,GAAG,GAAG;AACd,aAAO,mBAAe,uBAAM,GAAG,GAAG,YAAY;AAAA,IAChD;AAEA,WAAO;AAAA,EACT,CAAC;AACH;
|
|
1
|
+
{"version":3,"sources":["../../src/utils.ts"],"sourcesContent":["import { isRef, unref } from 'vue-demi'\nimport type { MaybeRefDeep } from './types'\n\nexport const VUE_QUERY_CLIENT = 'VUE_QUERY_CLIENT'\n\nexport function getClientKey(key?: string) {\n const suffix = key ? `:${key}` : ''\n return `${VUE_QUERY_CLIENT}${suffix}`\n}\n\nexport function updateState(\n state: Record<string, unknown>,\n update: Record<string, any>,\n): void {\n Object.keys(state).forEach((key) => {\n state[key] = update[key]\n })\n}\n\n// Helper function for cloning deep objects where\n// the level and key is provided to the callback function.\nfunction _cloneDeep<T>(\n value: MaybeRefDeep<T>,\n customize?: (\n val: MaybeRefDeep<T>,\n key: string,\n level: number,\n ) => T | undefined,\n currentKey: string = '',\n currentLevel: number = 0,\n): T {\n if (customize) {\n const result = customize(value, currentKey, currentLevel)\n if (result === undefined && isRef(value)) {\n return result as T\n }\n if (result !== undefined) {\n return result\n }\n }\n\n if (Array.isArray(value)) {\n return value.map((val, index) =>\n _cloneDeep(val, customize, String(index), currentLevel + 1),\n ) as unknown as T\n }\n\n if (typeof value === 'object' && isPlainObject(value)) {\n const entries = Object.entries(value).map(([key, val]) => [\n key,\n _cloneDeep(val, customize, key, currentLevel + 1),\n ])\n return Object.fromEntries(entries)\n }\n\n return value as T\n}\n\nexport function cloneDeep<T>(\n value: MaybeRefDeep<T>,\n customize?: (\n val: MaybeRefDeep<T>,\n key: string,\n level: number,\n ) => T | undefined,\n): T {\n return _cloneDeep(value, customize)\n}\n\nexport function cloneDeepUnref<T>(\n obj: MaybeRefDeep<T>,\n unrefGetters = false,\n): T {\n return cloneDeep(obj, (val, key, level) => {\n // Check if we're at the top level and the key is 'queryKey'\n //\n // If so, take the recursive descent where we resolve\n // getters to values as well as refs.\n if (level === 1 && key === 'queryKey') {\n return cloneDeepUnref(val, true)\n }\n\n // Resolve getters to values if specified.\n if (unrefGetters && isFunction(val)) {\n // Cast due to older TS versions not allowing calling\n // on certain intersection types.\n return cloneDeepUnref((val as Function)(), unrefGetters)\n }\n\n // Unref refs and continue to recurse into the value.\n if (isRef(val)) {\n return cloneDeepUnref(unref(val), unrefGetters)\n }\n\n return undefined\n })\n}\n\n// eslint-disable-next-line @typescript-eslint/no-wrapper-object-types\nfunction isPlainObject(value: unknown): value is Object {\n if (Object.prototype.toString.call(value) !== '[object Object]') {\n return false\n }\n\n const prototype = Object.getPrototypeOf(value)\n return prototype === null || prototype === Object.prototype\n}\n\nfunction isFunction(value: unknown): value is Function {\n return typeof value === 'function'\n}\n\nexport function shouldThrowError<T extends (...args: Array<any>) => boolean>(\n throwOnError: boolean | T | undefined,\n params: Parameters<T>,\n): boolean {\n // Allow throwOnError function to override throwing behavior on a per-error basis\n if (typeof throwOnError === 'function') {\n return throwOnError(...params)\n }\n\n return !!throwOnError\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBAA6B;AAGtB,IAAM,mBAAmB;AAEzB,SAAS,aAAa,KAAc;AACzC,QAAM,SAAS,MAAM,IAAI,GAAG,KAAK;AACjC,SAAO,GAAG,gBAAgB,GAAG,MAAM;AACrC;AAEO,SAAS,YACd,OACA,QACM;AACN,SAAO,KAAK,KAAK,EAAE,QAAQ,CAAC,QAAQ;AAClC,UAAM,GAAG,IAAI,OAAO,GAAG;AAAA,EACzB,CAAC;AACH;AAIA,SAAS,WACP,OACA,WAKA,aAAqB,IACrB,eAAuB,GACpB;AACH,MAAI,WAAW;AACb,UAAM,SAAS,UAAU,OAAO,YAAY,YAAY;AACxD,QAAI,WAAW,cAAa,uBAAM,KAAK,GAAG;AACxC,aAAO;AAAA,IACT;AACA,QAAI,WAAW,QAAW;AACxB,aAAO;AAAA,IACT;AAAA,EACF;AAEA,MAAI,MAAM,QAAQ,KAAK,GAAG;AACxB,WAAO,MAAM;AAAA,MAAI,CAAC,KAAK,UACrB,WAAW,KAAK,WAAW,OAAO,KAAK,GAAG,eAAe,CAAC;AAAA,IAC5D;AAAA,EACF;AAEA,MAAI,OAAO,UAAU,YAAY,cAAc,KAAK,GAAG;AACrD,UAAM,UAAU,OAAO,QAAQ,KAAK,EAAE,IAAI,CAAC,CAAC,KAAK,GAAG,MAAM;AAAA,MACxD;AAAA,MACA,WAAW,KAAK,WAAW,KAAK,eAAe,CAAC;AAAA,IAClD,CAAC;AACD,WAAO,OAAO,YAAY,OAAO;AAAA,EACnC;AAEA,SAAO;AACT;AAEO,SAAS,UACd,OACA,WAKG;AACH,SAAO,WAAW,OAAO,SAAS;AACpC;AAEO,SAAS,eACd,KACA,eAAe,OACZ;AACH,SAAO,UAAU,KAAK,CAAC,KAAK,KAAK,UAAU;AAKzC,QAAI,UAAU,KAAK,QAAQ,YAAY;AACrC,aAAO,eAAe,KAAK,IAAI;AAAA,IACjC;AAGA,QAAI,gBAAgB,WAAW,GAAG,GAAG;AAGnC,aAAO,eAAgB,IAAiB,GAAG,YAAY;AAAA,IACzD;AAGA,YAAI,uBAAM,GAAG,GAAG;AACd,aAAO,mBAAe,uBAAM,GAAG,GAAG,YAAY;AAAA,IAChD;AAEA,WAAO;AAAA,EACT,CAAC;AACH;AAGA,SAAS,cAAc,OAAiC;AACtD,MAAI,OAAO,UAAU,SAAS,KAAK,KAAK,MAAM,mBAAmB;AAC/D,WAAO;AAAA,EACT;AAEA,QAAM,YAAY,OAAO,eAAe,KAAK;AAC7C,SAAO,cAAc,QAAQ,cAAc,OAAO;AACpD;AAEA,SAAS,WAAW,OAAmC;AACrD,SAAO,OAAO,UAAU;AAC1B;AAEO,SAAS,iBACd,cACA,QACS;AAET,MAAI,OAAO,iBAAiB,YAAY;AACtC,WAAO,aAAa,GAAG,MAAM;AAAA,EAC/B;AAEA,SAAO,CAAC,CAAC;AACX;","names":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/utils.ts"],"sourcesContent":["import { isRef, unref } from 'vue-demi'\nimport type { MaybeRefDeep } from './types'\n\nexport const VUE_QUERY_CLIENT = 'VUE_QUERY_CLIENT'\n\nexport function getClientKey(key?: string) {\n const suffix = key ? `:${key}` : ''\n return `${VUE_QUERY_CLIENT}${suffix}`\n}\n\nexport function updateState(\n state: Record<string, unknown>,\n update: Record<string, any>,\n): void {\n Object.keys(state).forEach((key) => {\n state[key] = update[key]\n })\n}\n\n// Helper function for cloning deep objects where\n// the level and key is provided to the callback function.\nfunction _cloneDeep<T>(\n value: MaybeRefDeep<T>,\n customize?: (\n val: MaybeRefDeep<T>,\n key: string,\n level: number,\n ) => T | undefined,\n currentKey: string = '',\n currentLevel: number = 0,\n): T {\n if (customize) {\n const result = customize(value, currentKey, currentLevel)\n if (result === undefined && isRef(value)) {\n return result as T\n }\n if (result !== undefined) {\n return result\n }\n }\n\n if (Array.isArray(value)) {\n return value.map((val, index) =>\n _cloneDeep(val, customize, String(index), currentLevel + 1),\n ) as unknown as T\n }\n\n if (typeof value === 'object' && isPlainObject(value)) {\n const entries = Object.entries(value).map(([key, val]) => [\n key,\n _cloneDeep(val, customize, key, currentLevel + 1),\n ])\n return Object.fromEntries(entries)\n }\n\n return value as T\n}\n\nexport function cloneDeep<T>(\n value: MaybeRefDeep<T>,\n customize?: (\n val: MaybeRefDeep<T>,\n key: string,\n level: number,\n ) => T | undefined,\n): T {\n return _cloneDeep(value, customize)\n}\n\nexport function cloneDeepUnref<T>(\n obj: MaybeRefDeep<T>,\n unrefGetters = false,\n): T {\n return cloneDeep(obj, (val, key, level) => {\n // Check if we're at the top level and the key is 'queryKey'\n //\n // If so, take the recursive descent where we resolve\n // getters to values as well as refs.\n if (level === 1 && key === 'queryKey') {\n return cloneDeepUnref(val, true)\n }\n\n // Resolve getters to values if specified.\n if (unrefGetters && isFunction(val)) {\n // Cast due to older TS versions not allowing calling\n // on certain intersection types.\n return cloneDeepUnref((val as Function)(), unrefGetters)\n }\n\n // Unref refs and continue to recurse into the value.\n if (isRef(val)) {\n return cloneDeepUnref(unref(val), unrefGetters)\n }\n\n return undefined\n })\n}\n\nfunction isPlainObject(value: unknown): value is Object {\n if (Object.prototype.toString.call(value) !== '[object Object]') {\n return false\n }\n\n const prototype = Object.getPrototypeOf(value)\n return prototype === null || prototype === Object.prototype\n}\n\nfunction isFunction(value: unknown): value is Function {\n return typeof value === 'function'\n}\n\nexport function shouldThrowError<T extends (...args: Array<any>) => boolean>(\n throwOnError: boolean | T | undefined,\n params: Parameters<T>,\n): boolean {\n // Allow throwOnError function to override throwing behavior on a per-error basis\n if (typeof throwOnError === 'function') {\n return throwOnError(...params)\n }\n\n return !!throwOnError\n}\n"],"mappings":";AAAA,SAAS,OAAO,aAAa;AAGtB,IAAM,mBAAmB;AAEzB,SAAS,aAAa,KAAc;AACzC,QAAM,SAAS,MAAM,IAAI,GAAG,KAAK;AACjC,SAAO,GAAG,gBAAgB,GAAG,MAAM;AACrC;AAEO,SAAS,YACd,OACA,QACM;AACN,SAAO,KAAK,KAAK,EAAE,QAAQ,CAAC,QAAQ;AAClC,UAAM,GAAG,IAAI,OAAO,GAAG;AAAA,EACzB,CAAC;AACH;AAIA,SAAS,WACP,OACA,WAKA,aAAqB,IACrB,eAAuB,GACpB;AACH,MAAI,WAAW;AACb,UAAM,SAAS,UAAU,OAAO,YAAY,YAAY;AACxD,QAAI,WAAW,UAAa,MAAM,KAAK,GAAG;AACxC,aAAO;AAAA,IACT;AACA,QAAI,WAAW,QAAW;AACxB,aAAO;AAAA,IACT;AAAA,EACF;AAEA,MAAI,MAAM,QAAQ,KAAK,GAAG;AACxB,WAAO,MAAM;AAAA,MAAI,CAAC,KAAK,UACrB,WAAW,KAAK,WAAW,OAAO,KAAK,GAAG,eAAe,CAAC;AAAA,IAC5D;AAAA,EACF;AAEA,MAAI,OAAO,UAAU,YAAY,cAAc,KAAK,GAAG;AACrD,UAAM,UAAU,OAAO,QAAQ,KAAK,EAAE,IAAI,CAAC,CAAC,KAAK,GAAG,MAAM;AAAA,MACxD;AAAA,MACA,WAAW,KAAK,WAAW,KAAK,eAAe,CAAC;AAAA,IAClD,CAAC;AACD,WAAO,OAAO,YAAY,OAAO;AAAA,EACnC;AAEA,SAAO;AACT;AAEO,SAAS,UACd,OACA,WAKG;AACH,SAAO,WAAW,OAAO,SAAS;AACpC;AAEO,SAAS,eACd,KACA,eAAe,OACZ;AACH,SAAO,UAAU,KAAK,CAAC,KAAK,KAAK,UAAU;AAKzC,QAAI,UAAU,KAAK,QAAQ,YAAY;AACrC,aAAO,eAAe,KAAK,IAAI;AAAA,IACjC;AAGA,QAAI,gBAAgB,WAAW,GAAG,GAAG;AAGnC,aAAO,eAAgB,IAAiB,GAAG,YAAY;AAAA,IACzD;AAGA,QAAI,MAAM,GAAG,GAAG;AACd,aAAO,eAAe,MAAM,GAAG,GAAG,YAAY;AAAA,IAChD;AAEA,WAAO;AAAA,EACT,CAAC;AACH;
|
|
1
|
+
{"version":3,"sources":["../../src/utils.ts"],"sourcesContent":["import { isRef, unref } from 'vue-demi'\nimport type { MaybeRefDeep } from './types'\n\nexport const VUE_QUERY_CLIENT = 'VUE_QUERY_CLIENT'\n\nexport function getClientKey(key?: string) {\n const suffix = key ? `:${key}` : ''\n return `${VUE_QUERY_CLIENT}${suffix}`\n}\n\nexport function updateState(\n state: Record<string, unknown>,\n update: Record<string, any>,\n): void {\n Object.keys(state).forEach((key) => {\n state[key] = update[key]\n })\n}\n\n// Helper function for cloning deep objects where\n// the level and key is provided to the callback function.\nfunction _cloneDeep<T>(\n value: MaybeRefDeep<T>,\n customize?: (\n val: MaybeRefDeep<T>,\n key: string,\n level: number,\n ) => T | undefined,\n currentKey: string = '',\n currentLevel: number = 0,\n): T {\n if (customize) {\n const result = customize(value, currentKey, currentLevel)\n if (result === undefined && isRef(value)) {\n return result as T\n }\n if (result !== undefined) {\n return result\n }\n }\n\n if (Array.isArray(value)) {\n return value.map((val, index) =>\n _cloneDeep(val, customize, String(index), currentLevel + 1),\n ) as unknown as T\n }\n\n if (typeof value === 'object' && isPlainObject(value)) {\n const entries = Object.entries(value).map(([key, val]) => [\n key,\n _cloneDeep(val, customize, key, currentLevel + 1),\n ])\n return Object.fromEntries(entries)\n }\n\n return value as T\n}\n\nexport function cloneDeep<T>(\n value: MaybeRefDeep<T>,\n customize?: (\n val: MaybeRefDeep<T>,\n key: string,\n level: number,\n ) => T | undefined,\n): T {\n return _cloneDeep(value, customize)\n}\n\nexport function cloneDeepUnref<T>(\n obj: MaybeRefDeep<T>,\n unrefGetters = false,\n): T {\n return cloneDeep(obj, (val, key, level) => {\n // Check if we're at the top level and the key is 'queryKey'\n //\n // If so, take the recursive descent where we resolve\n // getters to values as well as refs.\n if (level === 1 && key === 'queryKey') {\n return cloneDeepUnref(val, true)\n }\n\n // Resolve getters to values if specified.\n if (unrefGetters && isFunction(val)) {\n // Cast due to older TS versions not allowing calling\n // on certain intersection types.\n return cloneDeepUnref((val as Function)(), unrefGetters)\n }\n\n // Unref refs and continue to recurse into the value.\n if (isRef(val)) {\n return cloneDeepUnref(unref(val), unrefGetters)\n }\n\n return undefined\n })\n}\n\n// eslint-disable-next-line @typescript-eslint/no-wrapper-object-types\nfunction isPlainObject(value: unknown): value is Object {\n if (Object.prototype.toString.call(value) !== '[object Object]') {\n return false\n }\n\n const prototype = Object.getPrototypeOf(value)\n return prototype === null || prototype === Object.prototype\n}\n\nfunction isFunction(value: unknown): value is Function {\n return typeof value === 'function'\n}\n\nexport function shouldThrowError<T extends (...args: Array<any>) => boolean>(\n throwOnError: boolean | T | undefined,\n params: Parameters<T>,\n): boolean {\n // Allow throwOnError function to override throwing behavior on a per-error basis\n if (typeof throwOnError === 'function') {\n return throwOnError(...params)\n }\n\n return !!throwOnError\n}\n"],"mappings":";AAAA,SAAS,OAAO,aAAa;AAGtB,IAAM,mBAAmB;AAEzB,SAAS,aAAa,KAAc;AACzC,QAAM,SAAS,MAAM,IAAI,GAAG,KAAK;AACjC,SAAO,GAAG,gBAAgB,GAAG,MAAM;AACrC;AAEO,SAAS,YACd,OACA,QACM;AACN,SAAO,KAAK,KAAK,EAAE,QAAQ,CAAC,QAAQ;AAClC,UAAM,GAAG,IAAI,OAAO,GAAG;AAAA,EACzB,CAAC;AACH;AAIA,SAAS,WACP,OACA,WAKA,aAAqB,IACrB,eAAuB,GACpB;AACH,MAAI,WAAW;AACb,UAAM,SAAS,UAAU,OAAO,YAAY,YAAY;AACxD,QAAI,WAAW,UAAa,MAAM,KAAK,GAAG;AACxC,aAAO;AAAA,IACT;AACA,QAAI,WAAW,QAAW;AACxB,aAAO;AAAA,IACT;AAAA,EACF;AAEA,MAAI,MAAM,QAAQ,KAAK,GAAG;AACxB,WAAO,MAAM;AAAA,MAAI,CAAC,KAAK,UACrB,WAAW,KAAK,WAAW,OAAO,KAAK,GAAG,eAAe,CAAC;AAAA,IAC5D;AAAA,EACF;AAEA,MAAI,OAAO,UAAU,YAAY,cAAc,KAAK,GAAG;AACrD,UAAM,UAAU,OAAO,QAAQ,KAAK,EAAE,IAAI,CAAC,CAAC,KAAK,GAAG,MAAM;AAAA,MACxD;AAAA,MACA,WAAW,KAAK,WAAW,KAAK,eAAe,CAAC;AAAA,IAClD,CAAC;AACD,WAAO,OAAO,YAAY,OAAO;AAAA,EACnC;AAEA,SAAO;AACT;AAEO,SAAS,UACd,OACA,WAKG;AACH,SAAO,WAAW,OAAO,SAAS;AACpC;AAEO,SAAS,eACd,KACA,eAAe,OACZ;AACH,SAAO,UAAU,KAAK,CAAC,KAAK,KAAK,UAAU;AAKzC,QAAI,UAAU,KAAK,QAAQ,YAAY;AACrC,aAAO,eAAe,KAAK,IAAI;AAAA,IACjC;AAGA,QAAI,gBAAgB,WAAW,GAAG,GAAG;AAGnC,aAAO,eAAgB,IAAiB,GAAG,YAAY;AAAA,IACzD;AAGA,QAAI,MAAM,GAAG,GAAG;AACd,aAAO,eAAe,MAAM,GAAG,GAAG,YAAY;AAAA,IAChD;AAEA,WAAO;AAAA,EACT,CAAC;AACH;AAGA,SAAS,cAAc,OAAiC;AACtD,MAAI,OAAO,UAAU,SAAS,KAAK,KAAK,MAAM,mBAAmB;AAC/D,WAAO;AAAA,EACT;AAEA,QAAM,YAAY,OAAO,eAAe,KAAK;AAC7C,SAAO,cAAc,QAAQ,cAAc,OAAO;AACpD;AAEA,SAAS,WAAW,OAAmC;AACrD,SAAO,OAAO,UAAU;AAC1B;AAEO,SAAS,iBACd,cACA,QACS;AAET,MAAI,OAAO,iBAAiB,YAAY;AACtC,WAAO,aAAa,GAAG,MAAM;AAAA,EAC/B;AAEA,SAAO,CAAC,CAAC;AACX;","names":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/devtools/utils.ts"],"sourcesContent":["import type { Query } from '@tanstack/query-core'\n\ntype SortFn = (a: Query, b: Query) => number\n\
|
|
1
|
+
{"version":3,"sources":["../../../src/devtools/utils.ts"],"sourcesContent":["import type { Query } from '@tanstack/query-core'\n\ntype SortFn = (a: Query, b: Query) => number\n\nenum QueryState {\n Fetching = 0,\n Fresh,\n Stale,\n Inactive,\n Paused,\n}\n\nexport function getQueryState(query: Query): QueryState {\n if (query.state.fetchStatus === 'fetching') {\n return QueryState.Fetching\n }\n if (query.state.fetchStatus === 'paused') {\n return QueryState.Paused\n }\n if (!query.getObserversCount()) {\n return QueryState.Inactive\n }\n if (query.isStale()) {\n return QueryState.Stale\n }\n\n return QueryState.Fresh\n}\n\nexport function getQueryStateLabel(query: Query): string {\n const queryState = getQueryState(query)\n\n if (queryState === QueryState.Fetching) {\n return 'fetching'\n }\n if (queryState === QueryState.Paused) {\n return 'paused'\n }\n if (queryState === QueryState.Stale) {\n return 'stale'\n }\n if (queryState === QueryState.Inactive) {\n return 'inactive'\n }\n\n return 'fresh'\n}\n\nexport function getQueryStatusFg(query: Query): number {\n const queryState = getQueryState(query)\n\n if (queryState === QueryState.Stale) {\n return 0x000000\n }\n\n return 0xffffff\n}\n\nexport function getQueryStatusBg(query: Query): number {\n const queryState = getQueryState(query)\n\n if (queryState === QueryState.Fetching) {\n return 0x006bff\n }\n if (queryState === QueryState.Paused) {\n return 0x8c49eb\n }\n if (queryState === QueryState.Stale) {\n return 0xffb200\n }\n if (queryState === QueryState.Inactive) {\n return 0x3f4e60\n }\n\n return 0x008327\n}\n\nconst queryHashSort: SortFn = (a, b) => a.queryHash.localeCompare(b.queryHash)\n\nconst dateSort: SortFn = (a, b) =>\n a.state.dataUpdatedAt < b.state.dataUpdatedAt ? 1 : -1\n\nconst statusAndDateSort: SortFn = (a, b) => {\n if (getQueryState(a) === getQueryState(b)) {\n return dateSort(a, b)\n }\n\n return getQueryState(a) > getQueryState(b) ? 1 : -1\n}\n\nexport const sortFns: Record<string, SortFn> = {\n 'Status > Last Updated': statusAndDateSort,\n 'Query Hash': queryHashSort,\n 'Last Updated': dateSort,\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAYO,SAAS,cAAc,OAA0B;AACtD,MAAI,MAAM,MAAM,gBAAgB,YAAY;AAC1C,WAAO;AAAA,EACT;AACA,MAAI,MAAM,MAAM,gBAAgB,UAAU;AACxC,WAAO;AAAA,EACT;AACA,MAAI,CAAC,MAAM,kBAAkB,GAAG;AAC9B,WAAO;AAAA,EACT;AACA,MAAI,MAAM,QAAQ,GAAG;AACnB,WAAO;AAAA,EACT;AAEA,SAAO;AACT;AAEO,SAAS,mBAAmB,OAAsB;AACvD,QAAM,aAAa,cAAc,KAAK;AAEtC,MAAI,eAAe,kBAAqB;AACtC,WAAO;AAAA,EACT;AACA,MAAI,eAAe,gBAAmB;AACpC,WAAO;AAAA,EACT;AACA,MAAI,eAAe,eAAkB;AACnC,WAAO;AAAA,EACT;AACA,MAAI,eAAe,kBAAqB;AACtC,WAAO;AAAA,EACT;AAEA,SAAO;AACT;AAEO,SAAS,iBAAiB,OAAsB;AACrD,QAAM,aAAa,cAAc,KAAK;AAEtC,MAAI,eAAe,eAAkB;AACnC,WAAO;AAAA,EACT;AAEA,SAAO;AACT;AAEO,SAAS,iBAAiB,OAAsB;AACrD,QAAM,aAAa,cAAc,KAAK;AAEtC,MAAI,eAAe,kBAAqB;AACtC,WAAO;AAAA,EACT;AACA,MAAI,eAAe,gBAAmB;AACpC,WAAO;AAAA,EACT;AACA,MAAI,eAAe,eAAkB;AACnC,WAAO;AAAA,EACT;AACA,MAAI,eAAe,kBAAqB;AACtC,WAAO;AAAA,EACT;AAEA,SAAO;AACT;AAEA,IAAM,gBAAwB,CAAC,GAAG,MAAM,EAAE,UAAU,cAAc,EAAE,SAAS;AAE7E,IAAM,WAAmB,CAAC,GAAG,MAC3B,EAAE,MAAM,gBAAgB,EAAE,MAAM,gBAAgB,IAAI;AAEtD,IAAM,oBAA4B,CAAC,GAAG,MAAM;AAC1C,MAAI,cAAc,CAAC,MAAM,cAAc,CAAC,GAAG;AACzC,WAAO,SAAS,GAAG,CAAC;AAAA,EACtB;AAEA,SAAO,cAAc,CAAC,IAAI,cAAc,CAAC,IAAI,IAAI;AACnD;AAEO,IAAM,UAAkC;AAAA,EAC7C,yBAAyB;AAAA,EACzB,cAAc;AAAA,EACd,gBAAgB;AAClB;","names":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/devtools/utils.ts"],"sourcesContent":["import type { Query } from '@tanstack/query-core'\n\ntype SortFn = (a: Query, b: Query) => number\n\
|
|
1
|
+
{"version":3,"sources":["../../../src/devtools/utils.ts"],"sourcesContent":["import type { Query } from '@tanstack/query-core'\n\ntype SortFn = (a: Query, b: Query) => number\n\nenum QueryState {\n Fetching = 0,\n Fresh,\n Stale,\n Inactive,\n Paused,\n}\n\nexport function getQueryState(query: Query): QueryState {\n if (query.state.fetchStatus === 'fetching') {\n return QueryState.Fetching\n }\n if (query.state.fetchStatus === 'paused') {\n return QueryState.Paused\n }\n if (!query.getObserversCount()) {\n return QueryState.Inactive\n }\n if (query.isStale()) {\n return QueryState.Stale\n }\n\n return QueryState.Fresh\n}\n\nexport function getQueryStateLabel(query: Query): string {\n const queryState = getQueryState(query)\n\n if (queryState === QueryState.Fetching) {\n return 'fetching'\n }\n if (queryState === QueryState.Paused) {\n return 'paused'\n }\n if (queryState === QueryState.Stale) {\n return 'stale'\n }\n if (queryState === QueryState.Inactive) {\n return 'inactive'\n }\n\n return 'fresh'\n}\n\nexport function getQueryStatusFg(query: Query): number {\n const queryState = getQueryState(query)\n\n if (queryState === QueryState.Stale) {\n return 0x000000\n }\n\n return 0xffffff\n}\n\nexport function getQueryStatusBg(query: Query): number {\n const queryState = getQueryState(query)\n\n if (queryState === QueryState.Fetching) {\n return 0x006bff\n }\n if (queryState === QueryState.Paused) {\n return 0x8c49eb\n }\n if (queryState === QueryState.Stale) {\n return 0xffb200\n }\n if (queryState === QueryState.Inactive) {\n return 0x3f4e60\n }\n\n return 0x008327\n}\n\nconst queryHashSort: SortFn = (a, b) => a.queryHash.localeCompare(b.queryHash)\n\nconst dateSort: SortFn = (a, b) =>\n a.state.dataUpdatedAt < b.state.dataUpdatedAt ? 1 : -1\n\nconst statusAndDateSort: SortFn = (a, b) => {\n if (getQueryState(a) === getQueryState(b)) {\n return dateSort(a, b)\n }\n\n return getQueryState(a) > getQueryState(b) ? 1 : -1\n}\n\nexport const sortFns: Record<string, SortFn> = {\n 'Status > Last Updated': statusAndDateSort,\n 'Query Hash': queryHashSort,\n 'Last Updated': dateSort,\n}\n"],"mappings":";AAYO,SAAS,cAAc,OAA0B;AACtD,MAAI,MAAM,MAAM,gBAAgB,YAAY;AAC1C,WAAO;AAAA,EACT;AACA,MAAI,MAAM,MAAM,gBAAgB,UAAU;AACxC,WAAO;AAAA,EACT;AACA,MAAI,CAAC,MAAM,kBAAkB,GAAG;AAC9B,WAAO;AAAA,EACT;AACA,MAAI,MAAM,QAAQ,GAAG;AACnB,WAAO;AAAA,EACT;AAEA,SAAO;AACT;AAEO,SAAS,mBAAmB,OAAsB;AACvD,QAAM,aAAa,cAAc,KAAK;AAEtC,MAAI,eAAe,kBAAqB;AACtC,WAAO;AAAA,EACT;AACA,MAAI,eAAe,gBAAmB;AACpC,WAAO;AAAA,EACT;AACA,MAAI,eAAe,eAAkB;AACnC,WAAO;AAAA,EACT;AACA,MAAI,eAAe,kBAAqB;AACtC,WAAO;AAAA,EACT;AAEA,SAAO;AACT;AAEO,SAAS,iBAAiB,OAAsB;AACrD,QAAM,aAAa,cAAc,KAAK;AAEtC,MAAI,eAAe,eAAkB;AACnC,WAAO;AAAA,EACT;AAEA,SAAO;AACT;AAEO,SAAS,iBAAiB,OAAsB;AACrD,QAAM,aAAa,cAAc,KAAK;AAEtC,MAAI,eAAe,kBAAqB;AACtC,WAAO;AAAA,EACT;AACA,MAAI,eAAe,gBAAmB;AACpC,WAAO;AAAA,EACT;AACA,MAAI,eAAe,eAAkB;AACnC,WAAO;AAAA,EACT;AACA,MAAI,eAAe,kBAAqB;AACtC,WAAO;AAAA,EACT;AAEA,SAAO;AACT;AAEA,IAAM,gBAAwB,CAAC,GAAG,MAAM,EAAE,UAAU,cAAc,EAAE,SAAS;AAE7E,IAAM,WAAmB,CAAC,GAAG,MAC3B,EAAE,MAAM,gBAAgB,EAAE,MAAM,gBAAgB,IAAI;AAEtD,IAAM,oBAA4B,CAAC,GAAG,MAAM;AAC1C,MAAI,cAAc,CAAC,MAAM,cAAc,CAAC,GAAG;AACzC,WAAO,SAAS,GAAG,CAAC;AAAA,EACtB;AAEA,SAAO,cAAc,CAAC,IAAI,cAAc,CAAC,IAAI,IAAI;AACnD;AAEO,IAAM,UAAkC;AAAA,EAC7C,yBAAyB;AAAA,EACzB,cAAc;AAAA,EACd,gBAAgB;AAClB;","names":[]}
|
|
@@ -80,14 +80,21 @@ var QueryClient = class extends import_query_core.QueryClient {
|
|
|
80
80
|
return super.cancelQueries((0, import_utils.cloneDeepUnref)(filters), (0, import_utils.cloneDeepUnref)(options));
|
|
81
81
|
}
|
|
82
82
|
invalidateQueries(filters = {}, options = {}) {
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
83
|
+
const filtersCloned = (0, import_utils.cloneDeepUnref)(filters);
|
|
84
|
+
const optionsCloned = (0, import_utils.cloneDeepUnref)(options);
|
|
85
|
+
super.invalidateQueries(
|
|
86
|
+
{ ...filtersCloned, refetchType: "none" },
|
|
87
|
+
optionsCloned
|
|
88
|
+
);
|
|
89
|
+
if (filtersCloned.refetchType === "none") {
|
|
90
|
+
return Promise.resolve();
|
|
91
|
+
}
|
|
92
|
+
const refetchFilters = {
|
|
93
|
+
...filtersCloned,
|
|
94
|
+
type: filtersCloned.refetchType ?? filtersCloned.type ?? "active"
|
|
95
|
+
};
|
|
96
|
+
return (0, import_vue_demi.nextTick)().then(() => {
|
|
97
|
+
return super.refetchQueries(refetchFilters, optionsCloned);
|
|
91
98
|
});
|
|
92
99
|
}
|
|
93
100
|
refetchQueries(filters = {}, options = {}) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/queryClient.ts"],"sourcesContent":["import { 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 { Ref } from 'vue-demi'\nimport type { MaybeRefDeep, NoUnknown } from './types'\nimport type {\n CancelOptions,\n DataTag,\n DefaultError,\n DefaultOptions,\n EnsureQueryDataOptions,\n FetchInfiniteQueryOptions,\n FetchQueryOptions,\n InfiniteData,\n InvalidateOptions,\n InvalidateQueryFilters,\n MutationFilters,\n MutationKey,\n MutationObserverOptions,\n NoInfer,\n OmitKeyof,\n QueryClientConfig,\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 ):\n | (TTaggedQueryKey extends DataTag<unknown, infer TaggedValue>\n ? TaggedValue\n : TData)\n | 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,\n TTaggedQueryKey extends QueryKey,\n TData = TTaggedQueryKey extends DataTag<unknown, infer TaggedValue>\n ? TaggedValue\n : TQueryFnData,\n >(\n queryKey: TTaggedQueryKey,\n updater: Updater<NoInfer<TData> | undefined, NoInfer<TData> | undefined>,\n options?: MaybeRefDeep<SetDataOptions>,\n ): TData | 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 ): TData | undefined\n setQueryData<TData>(\n queryKey: MaybeRefDeep<QueryKey>,\n updater: Updater<TData | undefined, TData | undefined>,\n options: MaybeRefDeep<SetDataOptions> = {},\n ): 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(filters: MaybeRefDeep<QueryFilters> = {}): void {\n return super.removeQueries(cloneDeepUnref(filters))\n }\n\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 filters: MaybeRefDeep<QueryFilters> = {},\n options: MaybeRefDeep<CancelOptions> = {},\n ): Promise<void> {\n return super.cancelQueries(cloneDeepUnref(filters), cloneDeepUnref(options))\n }\n\n invalidateQueries(\n filters: MaybeRefDeep<InvalidateQueryFilters> = {},\n options: MaybeRefDeep<InvalidateOptions> = {},\n ): Promise<void> {\n // eslint-disable-next-line cspell/spellchecker\n // (dosipiuk): We need to delay `invalidate` 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 value.\n return new Promise((resolve) => {\n setTimeout(async () => {\n await super.invalidateQueries(\n cloneDeepUnref(filters),\n cloneDeepUnref(options),\n )\n resolve()\n }, 0)\n })\n }\n\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 queryKey: MaybeRefDeep<QueryKey>,\n options: MaybeRefDeep<\n OmitKeyof<QueryObserverOptions<unknown, any, any, any>, '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 mutationKey: MaybeRefDeep<MutationKey>,\n options: MaybeRefDeep<MutationObserverOptions<any, any, any, any>>,\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"]}
|
|
1
|
+
{"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 { Ref } from 'vue-demi'\nimport type { MaybeRefDeep, NoUnknown } from './types'\nimport type {\n CancelOptions,\n DataTag,\n DefaultError,\n DefaultOptions,\n EnsureQueryDataOptions,\n FetchInfiniteQueryOptions,\n FetchQueryOptions,\n InfiniteData,\n InvalidateOptions,\n InvalidateQueryFilters,\n MutationFilters,\n MutationKey,\n MutationObserverOptions,\n NoInfer,\n OmitKeyof,\n QueryClientConfig,\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 ):\n | (TTaggedQueryKey extends DataTag<unknown, infer TaggedValue>\n ? TaggedValue\n : TData)\n | 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,\n TTaggedQueryKey extends QueryKey,\n TData = TTaggedQueryKey extends DataTag<unknown, infer TaggedValue>\n ? TaggedValue\n : TQueryFnData,\n >(\n queryKey: TTaggedQueryKey,\n updater: Updater<NoInfer<TData> | undefined, NoInfer<TData> | undefined>,\n options?: MaybeRefDeep<SetDataOptions>,\n ): TData | 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 ): TData | undefined\n setQueryData<TData>(\n queryKey: MaybeRefDeep<QueryKey>,\n updater: Updater<TData | undefined, TData | undefined>,\n options: MaybeRefDeep<SetDataOptions> = {},\n ): 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(filters: MaybeRefDeep<QueryFilters> = {}): void {\n return super.removeQueries(cloneDeepUnref(filters))\n }\n\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 filters: MaybeRefDeep<QueryFilters> = {},\n options: MaybeRefDeep<CancelOptions> = {},\n ): Promise<void> {\n return super.cancelQueries(cloneDeepUnref(filters), cloneDeepUnref(options))\n }\n\n invalidateQueries(\n filters: MaybeRefDeep<InvalidateQueryFilters> = {},\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 = {\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 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 queryKey: MaybeRefDeep<QueryKey>,\n options: MaybeRefDeep<\n OmitKeyof<QueryObserverOptions<unknown, any, any, any>, '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 mutationKey: MaybeRefDeep<MutationKey>,\n options: MaybeRefDeep<MutationObserverOptions<any, any, any, any>>,\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"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// src/queryClient.ts
|
|
2
|
-
import { ref } from "vue-demi";
|
|
2
|
+
import { nextTick, ref } from "vue-demi";
|
|
3
3
|
import { QueryClient as QC } from "@tanstack/query-core";
|
|
4
4
|
import { cloneDeepUnref } from "./utils.js";
|
|
5
5
|
import { QueryCache } from "./queryCache.js";
|
|
@@ -56,14 +56,21 @@ var QueryClient = class extends QC {
|
|
|
56
56
|
return super.cancelQueries(cloneDeepUnref(filters), cloneDeepUnref(options));
|
|
57
57
|
}
|
|
58
58
|
invalidateQueries(filters = {}, options = {}) {
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
59
|
+
const filtersCloned = cloneDeepUnref(filters);
|
|
60
|
+
const optionsCloned = cloneDeepUnref(options);
|
|
61
|
+
super.invalidateQueries(
|
|
62
|
+
{ ...filtersCloned, refetchType: "none" },
|
|
63
|
+
optionsCloned
|
|
64
|
+
);
|
|
65
|
+
if (filtersCloned.refetchType === "none") {
|
|
66
|
+
return Promise.resolve();
|
|
67
|
+
}
|
|
68
|
+
const refetchFilters = {
|
|
69
|
+
...filtersCloned,
|
|
70
|
+
type: filtersCloned.refetchType ?? filtersCloned.type ?? "active"
|
|
71
|
+
};
|
|
72
|
+
return nextTick().then(() => {
|
|
73
|
+
return super.refetchQueries(refetchFilters, optionsCloned);
|
|
67
74
|
});
|
|
68
75
|
}
|
|
69
76
|
refetchQueries(filters = {}, options = {}) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/queryClient.ts"],"sourcesContent":["import { 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 { Ref } from 'vue-demi'\nimport type { MaybeRefDeep, NoUnknown } from './types'\nimport type {\n CancelOptions,\n DataTag,\n DefaultError,\n DefaultOptions,\n EnsureQueryDataOptions,\n FetchInfiniteQueryOptions,\n FetchQueryOptions,\n InfiniteData,\n InvalidateOptions,\n InvalidateQueryFilters,\n MutationFilters,\n MutationKey,\n MutationObserverOptions,\n NoInfer,\n OmitKeyof,\n QueryClientConfig,\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 ):\n | (TTaggedQueryKey extends DataTag<unknown, infer TaggedValue>\n ? TaggedValue\n : TData)\n | 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,\n TTaggedQueryKey extends QueryKey,\n TData = TTaggedQueryKey extends DataTag<unknown, infer TaggedValue>\n ? TaggedValue\n : TQueryFnData,\n >(\n queryKey: TTaggedQueryKey,\n updater: Updater<NoInfer<TData> | undefined, NoInfer<TData> | undefined>,\n options?: MaybeRefDeep<SetDataOptions>,\n ): TData | 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 ): TData | undefined\n setQueryData<TData>(\n queryKey: MaybeRefDeep<QueryKey>,\n updater: Updater<TData | undefined, TData | undefined>,\n options: MaybeRefDeep<SetDataOptions> = {},\n ): 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(filters: MaybeRefDeep<QueryFilters> = {}): void {\n return super.removeQueries(cloneDeepUnref(filters))\n }\n\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 filters: MaybeRefDeep<QueryFilters> = {},\n options: MaybeRefDeep<CancelOptions> = {},\n ): Promise<void> {\n return super.cancelQueries(cloneDeepUnref(filters), cloneDeepUnref(options))\n }\n\n invalidateQueries(\n filters: MaybeRefDeep<InvalidateQueryFilters> = {},\n options: MaybeRefDeep<InvalidateOptions> = {},\n ): Promise<void> {\n // eslint-disable-next-line cspell/spellchecker\n // (dosipiuk): We need to delay `invalidate` 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 value.\n return new Promise((resolve) => {\n setTimeout(async () => {\n await super.invalidateQueries(\n cloneDeepUnref(filters),\n cloneDeepUnref(options),\n )\n resolve()\n }, 0)\n })\n }\n\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 queryKey: MaybeRefDeep<QueryKey>,\n options: MaybeRefDeep<\n OmitKeyof<QueryObserverOptions<unknown, any, any, any>, '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 mutationKey: MaybeRefDeep<MutationKey>,\n options: MaybeRefDeep<MutationObserverOptions<any, any, any, any>>,\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":[]}
|
|
1
|
+
{"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 { Ref } from 'vue-demi'\nimport type { MaybeRefDeep, NoUnknown } from './types'\nimport type {\n CancelOptions,\n DataTag,\n DefaultError,\n DefaultOptions,\n EnsureQueryDataOptions,\n FetchInfiniteQueryOptions,\n FetchQueryOptions,\n InfiniteData,\n InvalidateOptions,\n InvalidateQueryFilters,\n MutationFilters,\n MutationKey,\n MutationObserverOptions,\n NoInfer,\n OmitKeyof,\n QueryClientConfig,\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 ):\n | (TTaggedQueryKey extends DataTag<unknown, infer TaggedValue>\n ? TaggedValue\n : TData)\n | 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,\n TTaggedQueryKey extends QueryKey,\n TData = TTaggedQueryKey extends DataTag<unknown, infer TaggedValue>\n ? TaggedValue\n : TQueryFnData,\n >(\n queryKey: TTaggedQueryKey,\n updater: Updater<NoInfer<TData> | undefined, NoInfer<TData> | undefined>,\n options?: MaybeRefDeep<SetDataOptions>,\n ): TData | 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 ): TData | undefined\n setQueryData<TData>(\n queryKey: MaybeRefDeep<QueryKey>,\n updater: Updater<TData | undefined, TData | undefined>,\n options: MaybeRefDeep<SetDataOptions> = {},\n ): 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(filters: MaybeRefDeep<QueryFilters> = {}): void {\n return super.removeQueries(cloneDeepUnref(filters))\n }\n\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 filters: MaybeRefDeep<QueryFilters> = {},\n options: MaybeRefDeep<CancelOptions> = {},\n ): Promise<void> {\n return super.cancelQueries(cloneDeepUnref(filters), cloneDeepUnref(options))\n }\n\n invalidateQueries(\n filters: MaybeRefDeep<InvalidateQueryFilters> = {},\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 = {\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 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 queryKey: MaybeRefDeep<QueryKey>,\n options: MaybeRefDeep<\n OmitKeyof<QueryObserverOptions<unknown, any, any, any>, '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 mutationKey: MaybeRefDeep<MutationKey>,\n options: MaybeRefDeep<MutationObserverOptions<any, any, any, any>>,\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":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/utils.ts"],"sourcesContent":["import { isRef, unref } from 'vue-demi'\nimport type { MaybeRefDeep } from './types'\n\nexport const VUE_QUERY_CLIENT = 'VUE_QUERY_CLIENT'\n\nexport function getClientKey(key?: string) {\n const suffix = key ? `:${key}` : ''\n return `${VUE_QUERY_CLIENT}${suffix}`\n}\n\nexport function updateState(\n state: Record<string, unknown>,\n update: Record<string, any>,\n): void {\n Object.keys(state).forEach((key) => {\n state[key] = update[key]\n })\n}\n\n// Helper function for cloning deep objects where\n// the level and key is provided to the callback function.\nfunction _cloneDeep<T>(\n value: MaybeRefDeep<T>,\n customize?: (\n val: MaybeRefDeep<T>,\n key: string,\n level: number,\n ) => T | undefined,\n currentKey: string = '',\n currentLevel: number = 0,\n): T {\n if (customize) {\n const result = customize(value, currentKey, currentLevel)\n if (result === undefined && isRef(value)) {\n return result as T\n }\n if (result !== undefined) {\n return result\n }\n }\n\n if (Array.isArray(value)) {\n return value.map((val, index) =>\n _cloneDeep(val, customize, String(index), currentLevel + 1),\n ) as unknown as T\n }\n\n if (typeof value === 'object' && isPlainObject(value)) {\n const entries = Object.entries(value).map(([key, val]) => [\n key,\n _cloneDeep(val, customize, key, currentLevel + 1),\n ])\n return Object.fromEntries(entries)\n }\n\n return value as T\n}\n\nexport function cloneDeep<T>(\n value: MaybeRefDeep<T>,\n customize?: (\n val: MaybeRefDeep<T>,\n key: string,\n level: number,\n ) => T | undefined,\n): T {\n return _cloneDeep(value, customize)\n}\n\nexport function cloneDeepUnref<T>(\n obj: MaybeRefDeep<T>,\n unrefGetters = false,\n): T {\n return cloneDeep(obj, (val, key, level) => {\n // Check if we're at the top level and the key is 'queryKey'\n //\n // If so, take the recursive descent where we resolve\n // getters to values as well as refs.\n if (level === 1 && key === 'queryKey') {\n return cloneDeepUnref(val, true)\n }\n\n // Resolve getters to values if specified.\n if (unrefGetters && isFunction(val)) {\n // Cast due to older TS versions not allowing calling\n // on certain intersection types.\n return cloneDeepUnref((val as Function)(), unrefGetters)\n }\n\n // Unref refs and continue to recurse into the value.\n if (isRef(val)) {\n return cloneDeepUnref(unref(val), unrefGetters)\n }\n\n return undefined\n })\n}\n\nfunction isPlainObject(value: unknown): value is Object {\n if (Object.prototype.toString.call(value) !== '[object Object]') {\n return false\n }\n\n const prototype = Object.getPrototypeOf(value)\n return prototype === null || prototype === Object.prototype\n}\n\nfunction isFunction(value: unknown): value is Function {\n return typeof value === 'function'\n}\n\nexport function shouldThrowError<T extends (...args: Array<any>) => boolean>(\n throwOnError: boolean | T | undefined,\n params: Parameters<T>,\n): boolean {\n // Allow throwOnError function to override throwing behavior on a per-error basis\n if (typeof throwOnError === 'function') {\n return throwOnError(...params)\n }\n\n return !!throwOnError\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBAA6B;AAGtB,IAAM,mBAAmB;AAEzB,SAAS,aAAa,KAAc;AACzC,QAAM,SAAS,MAAM,IAAI,GAAG,KAAK;AACjC,SAAO,GAAG,gBAAgB,GAAG,MAAM;AACrC;AAEO,SAAS,YACd,OACA,QACM;AACN,SAAO,KAAK,KAAK,EAAE,QAAQ,CAAC,QAAQ;AAClC,UAAM,GAAG,IAAI,OAAO,GAAG;AAAA,EACzB,CAAC;AACH;AAIA,SAAS,WACP,OACA,WAKA,aAAqB,IACrB,eAAuB,GACpB;AACH,MAAI,WAAW;AACb,UAAM,SAAS,UAAU,OAAO,YAAY,YAAY;AACxD,QAAI,WAAW,cAAa,uBAAM,KAAK,GAAG;AACxC,aAAO;AAAA,IACT;AACA,QAAI,WAAW,QAAW;AACxB,aAAO;AAAA,IACT;AAAA,EACF;AAEA,MAAI,MAAM,QAAQ,KAAK,GAAG;AACxB,WAAO,MAAM;AAAA,MAAI,CAAC,KAAK,UACrB,WAAW,KAAK,WAAW,OAAO,KAAK,GAAG,eAAe,CAAC;AAAA,IAC5D;AAAA,EACF;AAEA,MAAI,OAAO,UAAU,YAAY,cAAc,KAAK,GAAG;AACrD,UAAM,UAAU,OAAO,QAAQ,KAAK,EAAE,IAAI,CAAC,CAAC,KAAK,GAAG,MAAM;AAAA,MACxD;AAAA,MACA,WAAW,KAAK,WAAW,KAAK,eAAe,CAAC;AAAA,IAClD,CAAC;AACD,WAAO,OAAO,YAAY,OAAO;AAAA,EACnC;AAEA,SAAO;AACT;AAEO,SAAS,UACd,OACA,WAKG;AACH,SAAO,WAAW,OAAO,SAAS;AACpC;AAEO,SAAS,eACd,KACA,eAAe,OACZ;AACH,SAAO,UAAU,KAAK,CAAC,KAAK,KAAK,UAAU;AAKzC,QAAI,UAAU,KAAK,QAAQ,YAAY;AACrC,aAAO,eAAe,KAAK,IAAI;AAAA,IACjC;AAGA,QAAI,gBAAgB,WAAW,GAAG,GAAG;AAGnC,aAAO,eAAgB,IAAiB,GAAG,YAAY;AAAA,IACzD;AAGA,YAAI,uBAAM,GAAG,GAAG;AACd,aAAO,mBAAe,uBAAM,GAAG,GAAG,YAAY;AAAA,IAChD;AAEA,WAAO;AAAA,EACT,CAAC;AACH;
|
|
1
|
+
{"version":3,"sources":["../../src/utils.ts"],"sourcesContent":["import { isRef, unref } from 'vue-demi'\nimport type { MaybeRefDeep } from './types'\n\nexport const VUE_QUERY_CLIENT = 'VUE_QUERY_CLIENT'\n\nexport function getClientKey(key?: string) {\n const suffix = key ? `:${key}` : ''\n return `${VUE_QUERY_CLIENT}${suffix}`\n}\n\nexport function updateState(\n state: Record<string, unknown>,\n update: Record<string, any>,\n): void {\n Object.keys(state).forEach((key) => {\n state[key] = update[key]\n })\n}\n\n// Helper function for cloning deep objects where\n// the level and key is provided to the callback function.\nfunction _cloneDeep<T>(\n value: MaybeRefDeep<T>,\n customize?: (\n val: MaybeRefDeep<T>,\n key: string,\n level: number,\n ) => T | undefined,\n currentKey: string = '',\n currentLevel: number = 0,\n): T {\n if (customize) {\n const result = customize(value, currentKey, currentLevel)\n if (result === undefined && isRef(value)) {\n return result as T\n }\n if (result !== undefined) {\n return result\n }\n }\n\n if (Array.isArray(value)) {\n return value.map((val, index) =>\n _cloneDeep(val, customize, String(index), currentLevel + 1),\n ) as unknown as T\n }\n\n if (typeof value === 'object' && isPlainObject(value)) {\n const entries = Object.entries(value).map(([key, val]) => [\n key,\n _cloneDeep(val, customize, key, currentLevel + 1),\n ])\n return Object.fromEntries(entries)\n }\n\n return value as T\n}\n\nexport function cloneDeep<T>(\n value: MaybeRefDeep<T>,\n customize?: (\n val: MaybeRefDeep<T>,\n key: string,\n level: number,\n ) => T | undefined,\n): T {\n return _cloneDeep(value, customize)\n}\n\nexport function cloneDeepUnref<T>(\n obj: MaybeRefDeep<T>,\n unrefGetters = false,\n): T {\n return cloneDeep(obj, (val, key, level) => {\n // Check if we're at the top level and the key is 'queryKey'\n //\n // If so, take the recursive descent where we resolve\n // getters to values as well as refs.\n if (level === 1 && key === 'queryKey') {\n return cloneDeepUnref(val, true)\n }\n\n // Resolve getters to values if specified.\n if (unrefGetters && isFunction(val)) {\n // Cast due to older TS versions not allowing calling\n // on certain intersection types.\n return cloneDeepUnref((val as Function)(), unrefGetters)\n }\n\n // Unref refs and continue to recurse into the value.\n if (isRef(val)) {\n return cloneDeepUnref(unref(val), unrefGetters)\n }\n\n return undefined\n })\n}\n\n// eslint-disable-next-line @typescript-eslint/no-wrapper-object-types\nfunction isPlainObject(value: unknown): value is Object {\n if (Object.prototype.toString.call(value) !== '[object Object]') {\n return false\n }\n\n const prototype = Object.getPrototypeOf(value)\n return prototype === null || prototype === Object.prototype\n}\n\nfunction isFunction(value: unknown): value is Function {\n return typeof value === 'function'\n}\n\nexport function shouldThrowError<T extends (...args: Array<any>) => boolean>(\n throwOnError: boolean | T | undefined,\n params: Parameters<T>,\n): boolean {\n // Allow throwOnError function to override throwing behavior on a per-error basis\n if (typeof throwOnError === 'function') {\n return throwOnError(...params)\n }\n\n return !!throwOnError\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBAA6B;AAGtB,IAAM,mBAAmB;AAEzB,SAAS,aAAa,KAAc;AACzC,QAAM,SAAS,MAAM,IAAI,GAAG,KAAK;AACjC,SAAO,GAAG,gBAAgB,GAAG,MAAM;AACrC;AAEO,SAAS,YACd,OACA,QACM;AACN,SAAO,KAAK,KAAK,EAAE,QAAQ,CAAC,QAAQ;AAClC,UAAM,GAAG,IAAI,OAAO,GAAG;AAAA,EACzB,CAAC;AACH;AAIA,SAAS,WACP,OACA,WAKA,aAAqB,IACrB,eAAuB,GACpB;AACH,MAAI,WAAW;AACb,UAAM,SAAS,UAAU,OAAO,YAAY,YAAY;AACxD,QAAI,WAAW,cAAa,uBAAM,KAAK,GAAG;AACxC,aAAO;AAAA,IACT;AACA,QAAI,WAAW,QAAW;AACxB,aAAO;AAAA,IACT;AAAA,EACF;AAEA,MAAI,MAAM,QAAQ,KAAK,GAAG;AACxB,WAAO,MAAM;AAAA,MAAI,CAAC,KAAK,UACrB,WAAW,KAAK,WAAW,OAAO,KAAK,GAAG,eAAe,CAAC;AAAA,IAC5D;AAAA,EACF;AAEA,MAAI,OAAO,UAAU,YAAY,cAAc,KAAK,GAAG;AACrD,UAAM,UAAU,OAAO,QAAQ,KAAK,EAAE,IAAI,CAAC,CAAC,KAAK,GAAG,MAAM;AAAA,MACxD;AAAA,MACA,WAAW,KAAK,WAAW,KAAK,eAAe,CAAC;AAAA,IAClD,CAAC;AACD,WAAO,OAAO,YAAY,OAAO;AAAA,EACnC;AAEA,SAAO;AACT;AAEO,SAAS,UACd,OACA,WAKG;AACH,SAAO,WAAW,OAAO,SAAS;AACpC;AAEO,SAAS,eACd,KACA,eAAe,OACZ;AACH,SAAO,UAAU,KAAK,CAAC,KAAK,KAAK,UAAU;AAKzC,QAAI,UAAU,KAAK,QAAQ,YAAY;AACrC,aAAO,eAAe,KAAK,IAAI;AAAA,IACjC;AAGA,QAAI,gBAAgB,WAAW,GAAG,GAAG;AAGnC,aAAO,eAAgB,IAAiB,GAAG,YAAY;AAAA,IACzD;AAGA,YAAI,uBAAM,GAAG,GAAG;AACd,aAAO,mBAAe,uBAAM,GAAG,GAAG,YAAY;AAAA,IAChD;AAEA,WAAO;AAAA,EACT,CAAC;AACH;AAGA,SAAS,cAAc,OAAiC;AACtD,MAAI,OAAO,UAAU,SAAS,KAAK,KAAK,MAAM,mBAAmB;AAC/D,WAAO;AAAA,EACT;AAEA,QAAM,YAAY,OAAO,eAAe,KAAK;AAC7C,SAAO,cAAc,QAAQ,cAAc,OAAO;AACpD;AAEA,SAAS,WAAW,OAAmC;AACrD,SAAO,OAAO,UAAU;AAC1B;AAEO,SAAS,iBACd,cACA,QACS;AAET,MAAI,OAAO,iBAAiB,YAAY;AACtC,WAAO,aAAa,GAAG,MAAM;AAAA,EAC/B;AAEA,SAAO,CAAC,CAAC;AACX;","names":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/utils.ts"],"sourcesContent":["import { isRef, unref } from 'vue-demi'\nimport type { MaybeRefDeep } from './types'\n\nexport const VUE_QUERY_CLIENT = 'VUE_QUERY_CLIENT'\n\nexport function getClientKey(key?: string) {\n const suffix = key ? `:${key}` : ''\n return `${VUE_QUERY_CLIENT}${suffix}`\n}\n\nexport function updateState(\n state: Record<string, unknown>,\n update: Record<string, any>,\n): void {\n Object.keys(state).forEach((key) => {\n state[key] = update[key]\n })\n}\n\n// Helper function for cloning deep objects where\n// the level and key is provided to the callback function.\nfunction _cloneDeep<T>(\n value: MaybeRefDeep<T>,\n customize?: (\n val: MaybeRefDeep<T>,\n key: string,\n level: number,\n ) => T | undefined,\n currentKey: string = '',\n currentLevel: number = 0,\n): T {\n if (customize) {\n const result = customize(value, currentKey, currentLevel)\n if (result === undefined && isRef(value)) {\n return result as T\n }\n if (result !== undefined) {\n return result\n }\n }\n\n if (Array.isArray(value)) {\n return value.map((val, index) =>\n _cloneDeep(val, customize, String(index), currentLevel + 1),\n ) as unknown as T\n }\n\n if (typeof value === 'object' && isPlainObject(value)) {\n const entries = Object.entries(value).map(([key, val]) => [\n key,\n _cloneDeep(val, customize, key, currentLevel + 1),\n ])\n return Object.fromEntries(entries)\n }\n\n return value as T\n}\n\nexport function cloneDeep<T>(\n value: MaybeRefDeep<T>,\n customize?: (\n val: MaybeRefDeep<T>,\n key: string,\n level: number,\n ) => T | undefined,\n): T {\n return _cloneDeep(value, customize)\n}\n\nexport function cloneDeepUnref<T>(\n obj: MaybeRefDeep<T>,\n unrefGetters = false,\n): T {\n return cloneDeep(obj, (val, key, level) => {\n // Check if we're at the top level and the key is 'queryKey'\n //\n // If so, take the recursive descent where we resolve\n // getters to values as well as refs.\n if (level === 1 && key === 'queryKey') {\n return cloneDeepUnref(val, true)\n }\n\n // Resolve getters to values if specified.\n if (unrefGetters && isFunction(val)) {\n // Cast due to older TS versions not allowing calling\n // on certain intersection types.\n return cloneDeepUnref((val as Function)(), unrefGetters)\n }\n\n // Unref refs and continue to recurse into the value.\n if (isRef(val)) {\n return cloneDeepUnref(unref(val), unrefGetters)\n }\n\n return undefined\n })\n}\n\nfunction isPlainObject(value: unknown): value is Object {\n if (Object.prototype.toString.call(value) !== '[object Object]') {\n return false\n }\n\n const prototype = Object.getPrototypeOf(value)\n return prototype === null || prototype === Object.prototype\n}\n\nfunction isFunction(value: unknown): value is Function {\n return typeof value === 'function'\n}\n\nexport function shouldThrowError<T extends (...args: Array<any>) => boolean>(\n throwOnError: boolean | T | undefined,\n params: Parameters<T>,\n): boolean {\n // Allow throwOnError function to override throwing behavior on a per-error basis\n if (typeof throwOnError === 'function') {\n return throwOnError(...params)\n }\n\n return !!throwOnError\n}\n"],"mappings":";AAAA,SAAS,OAAO,aAAa;AAGtB,IAAM,mBAAmB;AAEzB,SAAS,aAAa,KAAc;AACzC,QAAM,SAAS,MAAM,IAAI,GAAG,KAAK;AACjC,SAAO,GAAG,gBAAgB,GAAG,MAAM;AACrC;AAEO,SAAS,YACd,OACA,QACM;AACN,SAAO,KAAK,KAAK,EAAE,QAAQ,CAAC,QAAQ;AAClC,UAAM,GAAG,IAAI,OAAO,GAAG;AAAA,EACzB,CAAC;AACH;AAIA,SAAS,WACP,OACA,WAKA,aAAqB,IACrB,eAAuB,GACpB;AACH,MAAI,WAAW;AACb,UAAM,SAAS,UAAU,OAAO,YAAY,YAAY;AACxD,QAAI,WAAW,UAAa,MAAM,KAAK,GAAG;AACxC,aAAO;AAAA,IACT;AACA,QAAI,WAAW,QAAW;AACxB,aAAO;AAAA,IACT;AAAA,EACF;AAEA,MAAI,MAAM,QAAQ,KAAK,GAAG;AACxB,WAAO,MAAM;AAAA,MAAI,CAAC,KAAK,UACrB,WAAW,KAAK,WAAW,OAAO,KAAK,GAAG,eAAe,CAAC;AAAA,IAC5D;AAAA,EACF;AAEA,MAAI,OAAO,UAAU,YAAY,cAAc,KAAK,GAAG;AACrD,UAAM,UAAU,OAAO,QAAQ,KAAK,EAAE,IAAI,CAAC,CAAC,KAAK,GAAG,MAAM;AAAA,MACxD;AAAA,MACA,WAAW,KAAK,WAAW,KAAK,eAAe,CAAC;AAAA,IAClD,CAAC;AACD,WAAO,OAAO,YAAY,OAAO;AAAA,EACnC;AAEA,SAAO;AACT;AAEO,SAAS,UACd,OACA,WAKG;AACH,SAAO,WAAW,OAAO,SAAS;AACpC;AAEO,SAAS,eACd,KACA,eAAe,OACZ;AACH,SAAO,UAAU,KAAK,CAAC,KAAK,KAAK,UAAU;AAKzC,QAAI,UAAU,KAAK,QAAQ,YAAY;AACrC,aAAO,eAAe,KAAK,IAAI;AAAA,IACjC;AAGA,QAAI,gBAAgB,WAAW,GAAG,GAAG;AAGnC,aAAO,eAAgB,IAAiB,GAAG,YAAY;AAAA,IACzD;AAGA,QAAI,MAAM,GAAG,GAAG;AACd,aAAO,eAAe,MAAM,GAAG,GAAG,YAAY;AAAA,IAChD;AAEA,WAAO;AAAA,EACT,CAAC;AACH;
|
|
1
|
+
{"version":3,"sources":["../../src/utils.ts"],"sourcesContent":["import { isRef, unref } from 'vue-demi'\nimport type { MaybeRefDeep } from './types'\n\nexport const VUE_QUERY_CLIENT = 'VUE_QUERY_CLIENT'\n\nexport function getClientKey(key?: string) {\n const suffix = key ? `:${key}` : ''\n return `${VUE_QUERY_CLIENT}${suffix}`\n}\n\nexport function updateState(\n state: Record<string, unknown>,\n update: Record<string, any>,\n): void {\n Object.keys(state).forEach((key) => {\n state[key] = update[key]\n })\n}\n\n// Helper function for cloning deep objects where\n// the level and key is provided to the callback function.\nfunction _cloneDeep<T>(\n value: MaybeRefDeep<T>,\n customize?: (\n val: MaybeRefDeep<T>,\n key: string,\n level: number,\n ) => T | undefined,\n currentKey: string = '',\n currentLevel: number = 0,\n): T {\n if (customize) {\n const result = customize(value, currentKey, currentLevel)\n if (result === undefined && isRef(value)) {\n return result as T\n }\n if (result !== undefined) {\n return result\n }\n }\n\n if (Array.isArray(value)) {\n return value.map((val, index) =>\n _cloneDeep(val, customize, String(index), currentLevel + 1),\n ) as unknown as T\n }\n\n if (typeof value === 'object' && isPlainObject(value)) {\n const entries = Object.entries(value).map(([key, val]) => [\n key,\n _cloneDeep(val, customize, key, currentLevel + 1),\n ])\n return Object.fromEntries(entries)\n }\n\n return value as T\n}\n\nexport function cloneDeep<T>(\n value: MaybeRefDeep<T>,\n customize?: (\n val: MaybeRefDeep<T>,\n key: string,\n level: number,\n ) => T | undefined,\n): T {\n return _cloneDeep(value, customize)\n}\n\nexport function cloneDeepUnref<T>(\n obj: MaybeRefDeep<T>,\n unrefGetters = false,\n): T {\n return cloneDeep(obj, (val, key, level) => {\n // Check if we're at the top level and the key is 'queryKey'\n //\n // If so, take the recursive descent where we resolve\n // getters to values as well as refs.\n if (level === 1 && key === 'queryKey') {\n return cloneDeepUnref(val, true)\n }\n\n // Resolve getters to values if specified.\n if (unrefGetters && isFunction(val)) {\n // Cast due to older TS versions not allowing calling\n // on certain intersection types.\n return cloneDeepUnref((val as Function)(), unrefGetters)\n }\n\n // Unref refs and continue to recurse into the value.\n if (isRef(val)) {\n return cloneDeepUnref(unref(val), unrefGetters)\n }\n\n return undefined\n })\n}\n\n// eslint-disable-next-line @typescript-eslint/no-wrapper-object-types\nfunction isPlainObject(value: unknown): value is Object {\n if (Object.prototype.toString.call(value) !== '[object Object]') {\n return false\n }\n\n const prototype = Object.getPrototypeOf(value)\n return prototype === null || prototype === Object.prototype\n}\n\nfunction isFunction(value: unknown): value is Function {\n return typeof value === 'function'\n}\n\nexport function shouldThrowError<T extends (...args: Array<any>) => boolean>(\n throwOnError: boolean | T | undefined,\n params: Parameters<T>,\n): boolean {\n // Allow throwOnError function to override throwing behavior on a per-error basis\n if (typeof throwOnError === 'function') {\n return throwOnError(...params)\n }\n\n return !!throwOnError\n}\n"],"mappings":";AAAA,SAAS,OAAO,aAAa;AAGtB,IAAM,mBAAmB;AAEzB,SAAS,aAAa,KAAc;AACzC,QAAM,SAAS,MAAM,IAAI,GAAG,KAAK;AACjC,SAAO,GAAG,gBAAgB,GAAG,MAAM;AACrC;AAEO,SAAS,YACd,OACA,QACM;AACN,SAAO,KAAK,KAAK,EAAE,QAAQ,CAAC,QAAQ;AAClC,UAAM,GAAG,IAAI,OAAO,GAAG;AAAA,EACzB,CAAC;AACH;AAIA,SAAS,WACP,OACA,WAKA,aAAqB,IACrB,eAAuB,GACpB;AACH,MAAI,WAAW;AACb,UAAM,SAAS,UAAU,OAAO,YAAY,YAAY;AACxD,QAAI,WAAW,UAAa,MAAM,KAAK,GAAG;AACxC,aAAO;AAAA,IACT;AACA,QAAI,WAAW,QAAW;AACxB,aAAO;AAAA,IACT;AAAA,EACF;AAEA,MAAI,MAAM,QAAQ,KAAK,GAAG;AACxB,WAAO,MAAM;AAAA,MAAI,CAAC,KAAK,UACrB,WAAW,KAAK,WAAW,OAAO,KAAK,GAAG,eAAe,CAAC;AAAA,IAC5D;AAAA,EACF;AAEA,MAAI,OAAO,UAAU,YAAY,cAAc,KAAK,GAAG;AACrD,UAAM,UAAU,OAAO,QAAQ,KAAK,EAAE,IAAI,CAAC,CAAC,KAAK,GAAG,MAAM;AAAA,MACxD;AAAA,MACA,WAAW,KAAK,WAAW,KAAK,eAAe,CAAC;AAAA,IAClD,CAAC;AACD,WAAO,OAAO,YAAY,OAAO;AAAA,EACnC;AAEA,SAAO;AACT;AAEO,SAAS,UACd,OACA,WAKG;AACH,SAAO,WAAW,OAAO,SAAS;AACpC;AAEO,SAAS,eACd,KACA,eAAe,OACZ;AACH,SAAO,UAAU,KAAK,CAAC,KAAK,KAAK,UAAU;AAKzC,QAAI,UAAU,KAAK,QAAQ,YAAY;AACrC,aAAO,eAAe,KAAK,IAAI;AAAA,IACjC;AAGA,QAAI,gBAAgB,WAAW,GAAG,GAAG;AAGnC,aAAO,eAAgB,IAAiB,GAAG,YAAY;AAAA,IACzD;AAGA,QAAI,MAAM,GAAG,GAAG;AACd,aAAO,eAAe,MAAM,GAAG,GAAG,YAAY;AAAA,IAChD;AAEA,WAAO;AAAA,EACT,CAAC;AACH;AAGA,SAAS,cAAc,OAAiC;AACtD,MAAI,OAAO,UAAU,SAAS,KAAK,KAAK,MAAM,mBAAmB;AAC/D,WAAO;AAAA,EACT;AAEA,QAAM,YAAY,OAAO,eAAe,KAAK;AAC7C,SAAO,cAAc,QAAQ,cAAc,OAAO;AACpD;AAEA,SAAS,WAAW,OAAmC;AACrD,SAAO,OAAO,UAAU;AAC1B;AAEO,SAAS,iBACd,cACA,QACS;AAET,MAAI,OAAO,iBAAiB,YAAY;AACtC,WAAO,aAAa,GAAG,MAAM;AAAA,EAC/B;AAEA,SAAO,CAAC,CAAC;AACX;","names":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tanstack/vue-query",
|
|
3
|
-
"version": "5.53.
|
|
3
|
+
"version": "5.53.3",
|
|
4
4
|
"description": "Hooks for managing, caching and syncing asynchronous and remote data in Vue",
|
|
5
5
|
"author": "Damian Osipiuk",
|
|
6
6
|
"license": "MIT",
|
|
@@ -49,7 +49,7 @@
|
|
|
49
49
|
"@tanstack/match-sorter-utils": "^8.15.1",
|
|
50
50
|
"@vue/devtools-api": "^6.6.3",
|
|
51
51
|
"vue-demi": "^0.14.10",
|
|
52
|
-
"@tanstack/query-core": "5.53.
|
|
52
|
+
"@tanstack/query-core": "5.53.3"
|
|
53
53
|
},
|
|
54
54
|
"devDependencies": {
|
|
55
55
|
"@vitejs/plugin-vue": "^5.1.1",
|
|
@@ -188,7 +188,7 @@ describe('QueryCache', () => {
|
|
|
188
188
|
})
|
|
189
189
|
|
|
190
190
|
describe('invalidateQueries', () => {
|
|
191
|
-
test('should properly unwrap 2 parameter',
|
|
191
|
+
test('should properly unwrap 2 parameter', () => {
|
|
192
192
|
const queryClient = new QueryClient()
|
|
193
193
|
|
|
194
194
|
queryClient.invalidateQueries(
|
|
@@ -198,15 +198,64 @@ describe('QueryCache', () => {
|
|
|
198
198
|
{ cancelRefetch: ref(false) },
|
|
199
199
|
)
|
|
200
200
|
|
|
201
|
-
await flushPromises()
|
|
202
|
-
|
|
203
201
|
expect(QueryClientOrigin.prototype.invalidateQueries).toBeCalledWith(
|
|
204
202
|
{
|
|
205
203
|
queryKey: queryKeyUnref,
|
|
204
|
+
refetchType: 'none',
|
|
206
205
|
},
|
|
207
206
|
{ cancelRefetch: false },
|
|
208
207
|
)
|
|
209
208
|
})
|
|
209
|
+
|
|
210
|
+
// #7694
|
|
211
|
+
test('should call invalidateQueries immediately and refetchQueries after flushPromises', async () => {
|
|
212
|
+
const invalidateQueries = vi.spyOn(
|
|
213
|
+
QueryClientOrigin.prototype,
|
|
214
|
+
'invalidateQueries',
|
|
215
|
+
)
|
|
216
|
+
const refetchQueries = vi.spyOn(
|
|
217
|
+
QueryClientOrigin.prototype,
|
|
218
|
+
'refetchQueries',
|
|
219
|
+
)
|
|
220
|
+
|
|
221
|
+
const queryClient = new QueryClient()
|
|
222
|
+
|
|
223
|
+
queryClient.invalidateQueries({
|
|
224
|
+
queryKey: queryKeyRef,
|
|
225
|
+
})
|
|
226
|
+
|
|
227
|
+
expect(invalidateQueries).toBeCalled()
|
|
228
|
+
expect(refetchQueries).not.toBeCalled()
|
|
229
|
+
|
|
230
|
+
await flushPromises()
|
|
231
|
+
|
|
232
|
+
expect(refetchQueries).toBeCalled()
|
|
233
|
+
})
|
|
234
|
+
|
|
235
|
+
test('should call invalidateQueries immediately and not call refetchQueries', async () => {
|
|
236
|
+
const invalidateQueries = vi.spyOn(
|
|
237
|
+
QueryClientOrigin.prototype,
|
|
238
|
+
'invalidateQueries',
|
|
239
|
+
)
|
|
240
|
+
const refetchQueries = vi.spyOn(
|
|
241
|
+
QueryClientOrigin.prototype,
|
|
242
|
+
'refetchQueries',
|
|
243
|
+
)
|
|
244
|
+
|
|
245
|
+
const queryClient = new QueryClient()
|
|
246
|
+
|
|
247
|
+
queryClient.invalidateQueries({
|
|
248
|
+
queryKey: queryKeyRef,
|
|
249
|
+
refetchType: 'none',
|
|
250
|
+
})
|
|
251
|
+
|
|
252
|
+
expect(invalidateQueries).toBeCalled()
|
|
253
|
+
expect(refetchQueries).not.toBeCalled()
|
|
254
|
+
|
|
255
|
+
await flushPromises()
|
|
256
|
+
|
|
257
|
+
expect(refetchQueries).not.toBeCalled()
|
|
258
|
+
})
|
|
210
259
|
})
|
|
211
260
|
|
|
212
261
|
describe('refetchQueries', () => {
|
package/src/devtools/utils.ts
CHANGED
package/src/queryClient.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ref } from 'vue-demi'
|
|
1
|
+
import { nextTick, ref } from 'vue-demi'
|
|
2
2
|
import { QueryClient as QC } from '@tanstack/query-core'
|
|
3
3
|
import { cloneDeepUnref } from './utils'
|
|
4
4
|
import { QueryCache } from './queryCache'
|
|
@@ -174,17 +174,27 @@ export class QueryClient extends QC {
|
|
|
174
174
|
filters: MaybeRefDeep<InvalidateQueryFilters> = {},
|
|
175
175
|
options: MaybeRefDeep<InvalidateOptions> = {},
|
|
176
176
|
): Promise<void> {
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
177
|
+
const filtersCloned = cloneDeepUnref(filters)
|
|
178
|
+
const optionsCloned = cloneDeepUnref(options)
|
|
179
|
+
|
|
180
|
+
super.invalidateQueries(
|
|
181
|
+
{ ...filtersCloned, refetchType: 'none' },
|
|
182
|
+
optionsCloned,
|
|
183
|
+
)
|
|
184
|
+
|
|
185
|
+
if (filtersCloned.refetchType === 'none') {
|
|
186
|
+
return Promise.resolve()
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
const refetchFilters: RefetchQueryFilters = {
|
|
190
|
+
...filtersCloned,
|
|
191
|
+
type: filtersCloned.refetchType ?? filtersCloned.type ?? 'active',
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
// (dosipiuk): We need to delay `refetchQueries` execution to next macro task for all reactive values to be updated.
|
|
195
|
+
// This ensures that `context` in `queryFn` while `invalidating` along reactive variable change has correct
|
|
196
|
+
return nextTick().then(() => {
|
|
197
|
+
return super.refetchQueries(refetchFilters, optionsCloned)
|
|
188
198
|
})
|
|
189
199
|
}
|
|
190
200
|
|
package/src/utils.ts
CHANGED
|
@@ -96,6 +96,7 @@ export function cloneDeepUnref<T>(
|
|
|
96
96
|
})
|
|
97
97
|
}
|
|
98
98
|
|
|
99
|
+
// eslint-disable-next-line @typescript-eslint/no-wrapper-object-types
|
|
99
100
|
function isPlainObject(value: unknown): value is Object {
|
|
100
101
|
if (Object.prototype.toString.call(value) !== '[object Object]') {
|
|
101
102
|
return false
|