@tanstack/vue-query 5.0.0-alpha.6 → 5.0.0-alpha.7

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.
Files changed (48) hide show
  1. package/build/lib/devtools/devtools.esm.js +0 -1
  2. package/build/lib/devtools/devtools.esm.js.map +1 -1
  3. package/build/lib/devtools/devtools.js +0 -1
  4. package/build/lib/devtools/devtools.js.map +1 -1
  5. package/build/lib/devtools/devtools.mjs +0 -1
  6. package/build/lib/devtools/devtools.mjs.map +1 -1
  7. package/build/lib/devtools/utils.esm.js +0 -1
  8. package/build/lib/devtools/utils.esm.js.map +1 -1
  9. package/build/lib/devtools/utils.js +0 -1
  10. package/build/lib/devtools/utils.js.map +1 -1
  11. package/build/lib/devtools/utils.mjs +0 -1
  12. package/build/lib/devtools/utils.mjs.map +1 -1
  13. package/build/lib/index.d.ts +2 -2
  14. package/build/lib/index.esm.js +1 -1
  15. package/build/lib/index.js +3 -2
  16. package/build/lib/index.js.map +1 -1
  17. package/build/lib/index.mjs +1 -1
  18. package/build/lib/useMutationState.d.ts +11 -0
  19. package/build/lib/useMutationState.esm.js +33 -0
  20. package/build/lib/useMutationState.esm.js.map +1 -0
  21. package/build/lib/useMutationState.js +36 -0
  22. package/build/lib/useMutationState.js.map +1 -0
  23. package/build/lib/useMutationState.mjs +33 -0
  24. package/build/lib/useMutationState.mjs.map +1 -0
  25. package/build/lib/useQueries.esm.js +2 -2
  26. package/build/lib/useQueries.esm.js.map +1 -1
  27. package/build/lib/useQueries.js +2 -2
  28. package/build/lib/useQueries.js.map +1 -1
  29. package/build/lib/useQueries.mjs +2 -2
  30. package/build/lib/useQueries.mjs.map +1 -1
  31. package/build/lib/vueQueryPlugin.esm.js +0 -2
  32. package/build/lib/vueQueryPlugin.esm.js.map +1 -1
  33. package/build/lib/vueQueryPlugin.js +0 -2
  34. package/build/lib/vueQueryPlugin.js.map +1 -1
  35. package/build/lib/vueQueryPlugin.mjs +0 -2
  36. package/build/lib/vueQueryPlugin.mjs.map +1 -1
  37. package/build/umd/index.development.js +23 -17
  38. package/build/umd/index.development.js.map +1 -1
  39. package/build/umd/index.production.js +1 -1
  40. package/build/umd/index.production.js.map +1 -1
  41. package/package.json +3 -3
  42. package/build/lib/useIsMutating.d.ts +0 -6
  43. package/build/lib/useIsMutating.esm.js +0 -24
  44. package/build/lib/useIsMutating.esm.js.map +0 -1
  45. package/build/lib/useIsMutating.js +0 -26
  46. package/build/lib/useIsMutating.js.map +0 -1
  47. package/build/lib/useIsMutating.mjs +0 -24
  48. package/build/lib/useIsMutating.mjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"useQueries.esm.js","sources":["../../src/useQueries.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { QueriesObserver } from '@tanstack/query-core'\nimport type {\n QueriesPlaceholderDataFunction,\n QueryKey,\n} from '@tanstack/query-core'\nimport type { Ref } from 'vue-demi'\nimport { computed, onScopeDispose, readonly, ref, watch } from 'vue-demi'\n\nimport type { QueryFunction, QueryObserverResult } from '@tanstack/query-core'\n\nimport { useQueryClient } from './useQueryClient'\nimport { cloneDeepUnref } from './utils'\nimport type { UseQueryOptions } from './useQuery'\nimport type { QueryClient } from './queryClient'\nimport type { DistributiveOmit, MaybeRefDeep } from './types'\n\n// This defines the `UseQueryOptions` that are accepted in `QueriesOptions` & `GetOptions`.\n// `placeholderData` function does not have a parameter\ntype UseQueryOptionsForUseQueries<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> = DistributiveOmit<\n UseQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n 'placeholderData'\n> & {\n placeholderData?: TQueryFnData | QueriesPlaceholderDataFunction<TQueryFnData>\n}\n\n// Avoid TS depth-limit error in case of large array literal\ntype MAXIMUM_DEPTH = 20\n\ntype GetOptions<T> =\n // Part 1: responsible for applying explicit type parameter to function arguments, if object { queryFnData: TQueryFnData, error: TError, data: TData }\n T extends {\n queryFnData: infer TQueryFnData\n error?: infer TError\n data: infer TData\n }\n ? UseQueryOptionsForUseQueries<TQueryFnData, TError, TData>\n : T extends { queryFnData: infer TQueryFnData; error?: infer TError }\n ? UseQueryOptionsForUseQueries<TQueryFnData, TError>\n : T extends { data: infer TData; error?: infer TError }\n ? UseQueryOptionsForUseQueries<unknown, TError, TData>\n : // Part 2: responsible for applying explicit type parameter to function arguments, if tuple [TQueryFnData, TError, TData]\n T extends [infer TQueryFnData, infer TError, infer TData]\n ? UseQueryOptionsForUseQueries<TQueryFnData, TError, TData>\n : T extends [infer TQueryFnData, infer TError]\n ? UseQueryOptionsForUseQueries<TQueryFnData, TError>\n : T extends [infer TQueryFnData]\n ? UseQueryOptionsForUseQueries<TQueryFnData>\n : // Part 3: responsible for inferring and enforcing type if no explicit parameter was provided\n T extends {\n queryFn?: QueryFunction<infer TQueryFnData, infer TQueryKey>\n select: (data: any) => infer TData\n }\n ? UseQueryOptionsForUseQueries<TQueryFnData, Error, TData, TQueryKey>\n : T extends { queryFn?: QueryFunction<infer TQueryFnData, infer TQueryKey> }\n ? UseQueryOptionsForUseQueries<TQueryFnData, Error, TQueryFnData, TQueryKey>\n : // Fallback\n UseQueryOptionsForUseQueries\n\ntype GetResults<T> =\n // Part 1: responsible for mapping explicit type parameter to function result, if object\n T extends { queryFnData: any; error?: infer TError; data: infer TData }\n ? QueryObserverResult<TData, TError>\n : T extends { queryFnData: infer TQueryFnData; error?: infer TError }\n ? QueryObserverResult<TQueryFnData, TError>\n : T extends { data: infer TData; error?: infer TError }\n ? QueryObserverResult<TData, TError>\n : // Part 2: responsible for mapping explicit type parameter to function result, if tuple\n T extends [any, infer TError, infer TData]\n ? QueryObserverResult<TData, TError>\n : T extends [infer TQueryFnData, infer TError]\n ? QueryObserverResult<TQueryFnData, TError>\n : T extends [infer TQueryFnData]\n ? QueryObserverResult<TQueryFnData>\n : // Part 3: responsible for mapping inferred type to results, if no explicit parameter was provided\n T extends {\n queryFn?: QueryFunction<unknown, any>\n select: (data: any) => infer TData\n }\n ? QueryObserverResult<TData>\n : T extends { queryFn?: QueryFunction<infer TQueryFnData, any> }\n ? QueryObserverResult<TQueryFnData>\n : // Fallback\n QueryObserverResult\n\n/**\n * UseQueriesOptions reducer recursively unwraps function arguments to infer/enforce type param\n */\nexport type UseQueriesOptions<\n T extends any[],\n Result extends any[] = [],\n Depth extends ReadonlyArray<number> = [],\n> = Depth['length'] extends MAXIMUM_DEPTH\n ? UseQueryOptionsForUseQueries[]\n : T extends []\n ? []\n : T extends [infer Head]\n ? [...Result, GetOptions<Head>]\n : T extends [infer Head, ...infer Tail]\n ? UseQueriesOptions<[...Tail], [...Result, GetOptions<Head>], [...Depth, 1]>\n : unknown[] extends T\n ? T\n : // If T is *some* array but we couldn't assign unknown[] to it, then it must hold some known/homogenous type!\n // use this to infer the param types in the case of Array.map() argument\n T extends UseQueryOptionsForUseQueries<\n infer TQueryFnData,\n infer TError,\n infer TData,\n infer TQueryKey\n >[]\n ? UseQueryOptionsForUseQueries<TQueryFnData, TError, TData, TQueryKey>[]\n : // Fallback\n UseQueryOptionsForUseQueries[]\n\n/**\n * UseQueriesResults reducer recursively maps type param to results\n */\nexport type UseQueriesResults<\n T extends any[],\n Result extends any[] = [],\n Depth extends ReadonlyArray<number> = [],\n> = Depth['length'] extends MAXIMUM_DEPTH\n ? QueryObserverResult[]\n : T extends []\n ? []\n : T extends [infer Head]\n ? [...Result, GetResults<Head>]\n : T extends [infer Head, ...infer Tail]\n ? UseQueriesResults<[...Tail], [...Result, GetResults<Head>], [...Depth, 1]>\n : T extends UseQueryOptionsForUseQueries<\n infer TQueryFnData,\n infer TError,\n infer TData,\n any\n >[]\n ? // Dynamic-size (homogenous) UseQueryOptions array: map directly to array of results\n QueryObserverResult<unknown extends TData ? TQueryFnData : TData, TError>[]\n : // Fallback\n QueryObserverResult[]\n\ntype UseQueriesOptionsArg<T extends any[]> = readonly [...UseQueriesOptions<T>]\n\nexport function useQueries<T extends any[]>(\n {\n queries,\n }: {\n queries: MaybeRefDeep<UseQueriesOptionsArg<T>>\n },\n queryClient?: QueryClient,\n): Readonly<Ref<UseQueriesResults<T>>> {\n const client = queryClient || useQueryClient()\n\n const defaultedQueries = computed(() =>\n cloneDeepUnref(queries).map((options) => {\n const defaulted = client.defaultQueryOptions(options)\n defaulted._optimisticResults = client.isRestoring.value\n ? 'isRestoring'\n : 'optimistic'\n\n return defaulted\n }),\n )\n\n const observer = new QueriesObserver(client, defaultedQueries.value)\n const state = ref(observer.getCurrentResult())\n\n const unsubscribe = ref(() => {\n // noop\n })\n\n watch(\n client.isRestoring,\n (isRestoring) => {\n if (!isRestoring) {\n unsubscribe.value()\n unsubscribe.value = observer.subscribe((result) => {\n state.value.splice(0, result.length, ...result)\n })\n // Subscription would not fire for persisted results\n state.value.splice(\n 0,\n state.value.length,\n ...observer.getOptimisticResult(defaultedQueries.value),\n )\n }\n },\n { immediate: true },\n )\n\n watch(\n defaultedQueries,\n () => {\n observer.setQueries(defaultedQueries.value)\n state.value.splice(0, state.value.length, ...observer.getCurrentResult())\n },\n { deep: true },\n )\n\n onScopeDispose(() => {\n unsubscribe.value()\n })\n\n return readonly(state) as Readonly<Ref<UseQueriesResults<T>>>\n}\n"],"names":["useQueries","queries","queryClient","client","useQueryClient","defaultedQueries","computed","cloneDeepUnref","map","options","defaulted","defaultQueryOptions","_optimisticResults","isRestoring","value","observer","QueriesObserver","state","ref","getCurrentResult","unsubscribe","watch","subscribe","result","splice","length","getOptimisticResult","immediate","setQueries","deep","onScopeDispose","readonly"],"mappings":";;;;;AAAA;AAmJO,SAASA,UAAU,CACxB;AACEC,EAAAA,OAAAA;AAGF,CAAC,EACDC,WAAyB,EACY;AACrC,EAAA,MAAMC,MAAM,GAAGD,WAAW,IAAIE,cAAc,EAAE,CAAA;AAE9C,EAAA,MAAMC,gBAAgB,GAAGC,QAAQ,CAAC,MAChCC,cAAc,CAACN,OAAO,CAAC,CAACO,GAAG,CAAEC,OAAO,IAAK;AACvC,IAAA,MAAMC,SAAS,GAAGP,MAAM,CAACQ,mBAAmB,CAACF,OAAO,CAAC,CAAA;IACrDC,SAAS,CAACE,kBAAkB,GAAGT,MAAM,CAACU,WAAW,CAACC,KAAK,GACnD,aAAa,GACb,YAAY,CAAA;AAEhB,IAAA,OAAOJ,SAAS,CAAA;AAClB,GAAC,CAAC,CACH,CAAA;EAED,MAAMK,QAAQ,GAAG,IAAIC,eAAe,CAACb,MAAM,EAAEE,gBAAgB,CAACS,KAAK,CAAC,CAAA;EACpE,MAAMG,KAAK,GAAGC,GAAG,CAACH,QAAQ,CAACI,gBAAgB,EAAE,CAAC,CAAA;AAE9C,EAAA,MAAMC,WAAW,GAAGF,GAAG,CAAC,MAAM;AAC5B;AAAA,GACD,CAAC,CAAA;AAEFG,EAAAA,KAAK,CACHlB,MAAM,CAACU,WAAW,EACjBA,WAAW,IAAK;IACf,IAAI,CAACA,WAAW,EAAE;MAChBO,WAAW,CAACN,KAAK,EAAE,CAAA;MACnBM,WAAW,CAACN,KAAK,GAAGC,QAAQ,CAACO,SAAS,CAAEC,MAAM,IAAK;AACjDN,QAAAA,KAAK,CAACH,KAAK,CAACU,MAAM,CAAC,CAAC,EAAED,MAAM,CAACE,MAAM,EAAE,GAAGF,MAAM,CAAC,CAAA;AACjD,OAAC,CAAC,CAAA;AACF;MACAN,KAAK,CAACH,KAAK,CAACU,MAAM,CAChB,CAAC,EACDP,KAAK,CAACH,KAAK,CAACW,MAAM,EAClB,GAAGV,QAAQ,CAACW,mBAAmB,CAACrB,gBAAgB,CAACS,KAAK,CAAC,CACxD,CAAA;AACH,KAAA;AACF,GAAC,EACD;AAAEa,IAAAA,SAAS,EAAE,IAAA;AAAK,GAAC,CACpB,CAAA;EAEDN,KAAK,CACHhB,gBAAgB,EAChB,MAAM;AACJU,IAAAA,QAAQ,CAACa,UAAU,CAACvB,gBAAgB,CAACS,KAAK,CAAC,CAAA;AAC3CG,IAAAA,KAAK,CAACH,KAAK,CAACU,MAAM,CAAC,CAAC,EAAEP,KAAK,CAACH,KAAK,CAACW,MAAM,EAAE,GAAGV,QAAQ,CAACI,gBAAgB,EAAE,CAAC,CAAA;AAC3E,GAAC,EACD;AAAEU,IAAAA,IAAI,EAAE,IAAA;AAAK,GAAC,CACf,CAAA;AAEDC,EAAAA,cAAc,CAAC,MAAM;IACnBV,WAAW,CAACN,KAAK,EAAE,CAAA;AACrB,GAAC,CAAC,CAAA;EAEF,OAAOiB,QAAQ,CAACd,KAAK,CAAC,CAAA;AACxB;;;;"}
1
+ {"version":3,"file":"useQueries.esm.js","sources":["../../src/useQueries.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { QueriesObserver } from '@tanstack/query-core'\nimport type {\n QueriesPlaceholderDataFunction,\n QueryKey,\n} from '@tanstack/query-core'\nimport type { Ref } from 'vue-demi'\nimport { computed, onScopeDispose, readonly, ref, watch } from 'vue-demi'\n\nimport type { QueryFunction, QueryObserverResult } from '@tanstack/query-core'\n\nimport { useQueryClient } from './useQueryClient'\nimport { cloneDeepUnref } from './utils'\nimport type { UseQueryOptions } from './useQuery'\nimport type { QueryClient } from './queryClient'\nimport type { DistributiveOmit, MaybeRefDeep } from './types'\n\n// This defines the `UseQueryOptions` that are accepted in `QueriesOptions` & `GetOptions`.\n// `placeholderData` function does not have a parameter\ntype UseQueryOptionsForUseQueries<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> = DistributiveOmit<\n UseQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n 'placeholderData'\n> & {\n placeholderData?: TQueryFnData | QueriesPlaceholderDataFunction<TQueryFnData>\n}\n\n// Avoid TS depth-limit error in case of large array literal\ntype MAXIMUM_DEPTH = 20\n\ntype GetOptions<T> =\n // Part 1: responsible for applying explicit type parameter to function arguments, if object { queryFnData: TQueryFnData, error: TError, data: TData }\n T extends {\n queryFnData: infer TQueryFnData\n error?: infer TError\n data: infer TData\n }\n ? UseQueryOptionsForUseQueries<TQueryFnData, TError, TData>\n : T extends { queryFnData: infer TQueryFnData; error?: infer TError }\n ? UseQueryOptionsForUseQueries<TQueryFnData, TError>\n : T extends { data: infer TData; error?: infer TError }\n ? UseQueryOptionsForUseQueries<unknown, TError, TData>\n : // Part 2: responsible for applying explicit type parameter to function arguments, if tuple [TQueryFnData, TError, TData]\n T extends [infer TQueryFnData, infer TError, infer TData]\n ? UseQueryOptionsForUseQueries<TQueryFnData, TError, TData>\n : T extends [infer TQueryFnData, infer TError]\n ? UseQueryOptionsForUseQueries<TQueryFnData, TError>\n : T extends [infer TQueryFnData]\n ? UseQueryOptionsForUseQueries<TQueryFnData>\n : // Part 3: responsible for inferring and enforcing type if no explicit parameter was provided\n T extends {\n queryFn?: QueryFunction<infer TQueryFnData, infer TQueryKey>\n select: (data: any) => infer TData\n }\n ? UseQueryOptionsForUseQueries<TQueryFnData, Error, TData, TQueryKey>\n : T extends { queryFn?: QueryFunction<infer TQueryFnData, infer TQueryKey> }\n ? UseQueryOptionsForUseQueries<TQueryFnData, Error, TQueryFnData, TQueryKey>\n : // Fallback\n UseQueryOptionsForUseQueries\n\ntype GetResults<T> =\n // Part 1: responsible for mapping explicit type parameter to function result, if object\n T extends { queryFnData: any; error?: infer TError; data: infer TData }\n ? QueryObserverResult<TData, TError>\n : T extends { queryFnData: infer TQueryFnData; error?: infer TError }\n ? QueryObserverResult<TQueryFnData, TError>\n : T extends { data: infer TData; error?: infer TError }\n ? QueryObserverResult<TData, TError>\n : // Part 2: responsible for mapping explicit type parameter to function result, if tuple\n T extends [any, infer TError, infer TData]\n ? QueryObserverResult<TData, TError>\n : T extends [infer TQueryFnData, infer TError]\n ? QueryObserverResult<TQueryFnData, TError>\n : T extends [infer TQueryFnData]\n ? QueryObserverResult<TQueryFnData>\n : // Part 3: responsible for mapping inferred type to results, if no explicit parameter was provided\n T extends {\n queryFn?: QueryFunction<unknown, any>\n select: (data: any) => infer TData\n }\n ? QueryObserverResult<TData>\n : T extends { queryFn?: QueryFunction<infer TQueryFnData, any> }\n ? QueryObserverResult<TQueryFnData>\n : // Fallback\n QueryObserverResult\n\n/**\n * UseQueriesOptions reducer recursively unwraps function arguments to infer/enforce type param\n */\nexport type UseQueriesOptions<\n T extends any[],\n Result extends any[] = [],\n Depth extends ReadonlyArray<number> = [],\n> = Depth['length'] extends MAXIMUM_DEPTH\n ? UseQueryOptionsForUseQueries[]\n : T extends []\n ? []\n : T extends [infer Head]\n ? [...Result, GetOptions<Head>]\n : T extends [infer Head, ...infer Tail]\n ? UseQueriesOptions<[...Tail], [...Result, GetOptions<Head>], [...Depth, 1]>\n : unknown[] extends T\n ? T\n : // If T is *some* array but we couldn't assign unknown[] to it, then it must hold some known/homogenous type!\n // use this to infer the param types in the case of Array.map() argument\n T extends UseQueryOptionsForUseQueries<\n infer TQueryFnData,\n infer TError,\n infer TData,\n infer TQueryKey\n >[]\n ? UseQueryOptionsForUseQueries<TQueryFnData, TError, TData, TQueryKey>[]\n : // Fallback\n UseQueryOptionsForUseQueries[]\n\n/**\n * UseQueriesResults reducer recursively maps type param to results\n */\nexport type UseQueriesResults<\n T extends any[],\n Result extends any[] = [],\n Depth extends ReadonlyArray<number> = [],\n> = Depth['length'] extends MAXIMUM_DEPTH\n ? QueryObserverResult[]\n : T extends []\n ? []\n : T extends [infer Head]\n ? [...Result, GetResults<Head>]\n : T extends [infer Head, ...infer Tail]\n ? UseQueriesResults<[...Tail], [...Result, GetResults<Head>], [...Depth, 1]>\n : T extends UseQueryOptionsForUseQueries<\n infer TQueryFnData,\n infer TError,\n infer TData,\n any\n >[]\n ? // Dynamic-size (homogenous) UseQueryOptions array: map directly to array of results\n QueryObserverResult<unknown extends TData ? TQueryFnData : TData, TError>[]\n : // Fallback\n QueryObserverResult[]\n\ntype UseQueriesOptionsArg<T extends any[]> = readonly [...UseQueriesOptions<T>]\n\nexport function useQueries<T extends any[]>(\n {\n queries,\n }: {\n queries: MaybeRefDeep<UseQueriesOptionsArg<T>>\n },\n queryClient?: QueryClient,\n): Readonly<Ref<UseQueriesResults<T>>> {\n const client = queryClient || useQueryClient()\n\n const defaultedQueries = computed(() =>\n cloneDeepUnref(queries).map((options) => {\n const defaulted = client.defaultQueryOptions(options)\n defaulted._optimisticResults = client.isRestoring.value\n ? 'isRestoring'\n : 'optimistic'\n\n return defaulted\n }),\n )\n\n const observer = new QueriesObserver(client, defaultedQueries.value)\n const state = ref(observer.getCurrentResult())\n\n const unsubscribe = ref(() => {\n // noop\n })\n\n watch(\n client.isRestoring,\n (isRestoring) => {\n if (!isRestoring) {\n unsubscribe.value()\n unsubscribe.value = observer.subscribe((result) => {\n state.value.splice(0, result.length, ...result)\n })\n // Subscription would not fire for persisted results\n state.value = observer.getOptimisticResult(defaultedQueries.value)\n }\n },\n { immediate: true },\n )\n\n watch(\n defaultedQueries,\n () => {\n observer.setQueries(defaultedQueries.value)\n state.value = observer.getCurrentResult()\n },\n { deep: true },\n )\n\n onScopeDispose(() => {\n unsubscribe.value()\n })\n\n return readonly(state) as Readonly<Ref<UseQueriesResults<T>>>\n}\n"],"names":["useQueries","queries","queryClient","client","useQueryClient","defaultedQueries","computed","cloneDeepUnref","map","options","defaulted","defaultQueryOptions","_optimisticResults","isRestoring","value","observer","QueriesObserver","state","ref","getCurrentResult","unsubscribe","watch","subscribe","result","splice","length","getOptimisticResult","immediate","setQueries","deep","onScopeDispose","readonly"],"mappings":";;;;;AAAA;AAmJO,SAASA,UAAU,CACxB;AACEC,EAAAA,OAAAA;AAGF,CAAC,EACDC,WAAyB,EACY;AACrC,EAAA,MAAMC,MAAM,GAAGD,WAAW,IAAIE,cAAc,EAAE,CAAA;AAE9C,EAAA,MAAMC,gBAAgB,GAAGC,QAAQ,CAAC,MAChCC,cAAc,CAACN,OAAO,CAAC,CAACO,GAAG,CAAEC,OAAO,IAAK;AACvC,IAAA,MAAMC,SAAS,GAAGP,MAAM,CAACQ,mBAAmB,CAACF,OAAO,CAAC,CAAA;IACrDC,SAAS,CAACE,kBAAkB,GAAGT,MAAM,CAACU,WAAW,CAACC,KAAK,GACnD,aAAa,GACb,YAAY,CAAA;AAEhB,IAAA,OAAOJ,SAAS,CAAA;AAClB,GAAC,CAAC,CACH,CAAA;EAED,MAAMK,QAAQ,GAAG,IAAIC,eAAe,CAACb,MAAM,EAAEE,gBAAgB,CAACS,KAAK,CAAC,CAAA;EACpE,MAAMG,KAAK,GAAGC,GAAG,CAACH,QAAQ,CAACI,gBAAgB,EAAE,CAAC,CAAA;AAE9C,EAAA,MAAMC,WAAW,GAAGF,GAAG,CAAC,MAAM;AAC5B;AAAA,GACD,CAAC,CAAA;AAEFG,EAAAA,KAAK,CACHlB,MAAM,CAACU,WAAW,EACjBA,WAAW,IAAK;IACf,IAAI,CAACA,WAAW,EAAE;MAChBO,WAAW,CAACN,KAAK,EAAE,CAAA;MACnBM,WAAW,CAACN,KAAK,GAAGC,QAAQ,CAACO,SAAS,CAAEC,MAAM,IAAK;AACjDN,QAAAA,KAAK,CAACH,KAAK,CAACU,MAAM,CAAC,CAAC,EAAED,MAAM,CAACE,MAAM,EAAE,GAAGF,MAAM,CAAC,CAAA;AACjD,OAAC,CAAC,CAAA;AACF;MACAN,KAAK,CAACH,KAAK,GAAGC,QAAQ,CAACW,mBAAmB,CAACrB,gBAAgB,CAACS,KAAK,CAAC,CAAA;AACpE,KAAA;AACF,GAAC,EACD;AAAEa,IAAAA,SAAS,EAAE,IAAA;AAAK,GAAC,CACpB,CAAA;EAEDN,KAAK,CACHhB,gBAAgB,EAChB,MAAM;AACJU,IAAAA,QAAQ,CAACa,UAAU,CAACvB,gBAAgB,CAACS,KAAK,CAAC,CAAA;AAC3CG,IAAAA,KAAK,CAACH,KAAK,GAAGC,QAAQ,CAACI,gBAAgB,EAAE,CAAA;AAC3C,GAAC,EACD;AAAEU,IAAAA,IAAI,EAAE,IAAA;AAAK,GAAC,CACf,CAAA;AAEDC,EAAAA,cAAc,CAAC,MAAM;IACnBV,WAAW,CAACN,KAAK,EAAE,CAAA;AACrB,GAAC,CAAC,CAAA;EAEF,OAAOiB,QAAQ,CAACd,KAAK,CAAC,CAAA;AACxB;;;;"}
@@ -27,14 +27,14 @@ function useQueries({
27
27
  state.value.splice(0, result.length, ...result);
28
28
  });
29
29
  // Subscription would not fire for persisted results
30
- state.value.splice(0, state.value.length, ...observer.getOptimisticResult(defaultedQueries.value));
30
+ state.value = observer.getOptimisticResult(defaultedQueries.value);
31
31
  }
32
32
  }, {
33
33
  immediate: true
34
34
  });
35
35
  vueDemi.watch(defaultedQueries, () => {
36
36
  observer.setQueries(defaultedQueries.value);
37
- state.value.splice(0, state.value.length, ...observer.getCurrentResult());
37
+ state.value = observer.getCurrentResult();
38
38
  }, {
39
39
  deep: true
40
40
  });
@@ -1 +1 @@
1
- {"version":3,"file":"useQueries.js","sources":["../../src/useQueries.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { QueriesObserver } from '@tanstack/query-core'\nimport type {\n QueriesPlaceholderDataFunction,\n QueryKey,\n} from '@tanstack/query-core'\nimport type { Ref } from 'vue-demi'\nimport { computed, onScopeDispose, readonly, ref, watch } from 'vue-demi'\n\nimport type { QueryFunction, QueryObserverResult } from '@tanstack/query-core'\n\nimport { useQueryClient } from './useQueryClient'\nimport { cloneDeepUnref } from './utils'\nimport type { UseQueryOptions } from './useQuery'\nimport type { QueryClient } from './queryClient'\nimport type { DistributiveOmit, MaybeRefDeep } from './types'\n\n// This defines the `UseQueryOptions` that are accepted in `QueriesOptions` & `GetOptions`.\n// `placeholderData` function does not have a parameter\ntype UseQueryOptionsForUseQueries<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> = DistributiveOmit<\n UseQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n 'placeholderData'\n> & {\n placeholderData?: TQueryFnData | QueriesPlaceholderDataFunction<TQueryFnData>\n}\n\n// Avoid TS depth-limit error in case of large array literal\ntype MAXIMUM_DEPTH = 20\n\ntype GetOptions<T> =\n // Part 1: responsible for applying explicit type parameter to function arguments, if object { queryFnData: TQueryFnData, error: TError, data: TData }\n T extends {\n queryFnData: infer TQueryFnData\n error?: infer TError\n data: infer TData\n }\n ? UseQueryOptionsForUseQueries<TQueryFnData, TError, TData>\n : T extends { queryFnData: infer TQueryFnData; error?: infer TError }\n ? UseQueryOptionsForUseQueries<TQueryFnData, TError>\n : T extends { data: infer TData; error?: infer TError }\n ? UseQueryOptionsForUseQueries<unknown, TError, TData>\n : // Part 2: responsible for applying explicit type parameter to function arguments, if tuple [TQueryFnData, TError, TData]\n T extends [infer TQueryFnData, infer TError, infer TData]\n ? UseQueryOptionsForUseQueries<TQueryFnData, TError, TData>\n : T extends [infer TQueryFnData, infer TError]\n ? UseQueryOptionsForUseQueries<TQueryFnData, TError>\n : T extends [infer TQueryFnData]\n ? UseQueryOptionsForUseQueries<TQueryFnData>\n : // Part 3: responsible for inferring and enforcing type if no explicit parameter was provided\n T extends {\n queryFn?: QueryFunction<infer TQueryFnData, infer TQueryKey>\n select: (data: any) => infer TData\n }\n ? UseQueryOptionsForUseQueries<TQueryFnData, Error, TData, TQueryKey>\n : T extends { queryFn?: QueryFunction<infer TQueryFnData, infer TQueryKey> }\n ? UseQueryOptionsForUseQueries<TQueryFnData, Error, TQueryFnData, TQueryKey>\n : // Fallback\n UseQueryOptionsForUseQueries\n\ntype GetResults<T> =\n // Part 1: responsible for mapping explicit type parameter to function result, if object\n T extends { queryFnData: any; error?: infer TError; data: infer TData }\n ? QueryObserverResult<TData, TError>\n : T extends { queryFnData: infer TQueryFnData; error?: infer TError }\n ? QueryObserverResult<TQueryFnData, TError>\n : T extends { data: infer TData; error?: infer TError }\n ? QueryObserverResult<TData, TError>\n : // Part 2: responsible for mapping explicit type parameter to function result, if tuple\n T extends [any, infer TError, infer TData]\n ? QueryObserverResult<TData, TError>\n : T extends [infer TQueryFnData, infer TError]\n ? QueryObserverResult<TQueryFnData, TError>\n : T extends [infer TQueryFnData]\n ? QueryObserverResult<TQueryFnData>\n : // Part 3: responsible for mapping inferred type to results, if no explicit parameter was provided\n T extends {\n queryFn?: QueryFunction<unknown, any>\n select: (data: any) => infer TData\n }\n ? QueryObserverResult<TData>\n : T extends { queryFn?: QueryFunction<infer TQueryFnData, any> }\n ? QueryObserverResult<TQueryFnData>\n : // Fallback\n QueryObserverResult\n\n/**\n * UseQueriesOptions reducer recursively unwraps function arguments to infer/enforce type param\n */\nexport type UseQueriesOptions<\n T extends any[],\n Result extends any[] = [],\n Depth extends ReadonlyArray<number> = [],\n> = Depth['length'] extends MAXIMUM_DEPTH\n ? UseQueryOptionsForUseQueries[]\n : T extends []\n ? []\n : T extends [infer Head]\n ? [...Result, GetOptions<Head>]\n : T extends [infer Head, ...infer Tail]\n ? UseQueriesOptions<[...Tail], [...Result, GetOptions<Head>], [...Depth, 1]>\n : unknown[] extends T\n ? T\n : // If T is *some* array but we couldn't assign unknown[] to it, then it must hold some known/homogenous type!\n // use this to infer the param types in the case of Array.map() argument\n T extends UseQueryOptionsForUseQueries<\n infer TQueryFnData,\n infer TError,\n infer TData,\n infer TQueryKey\n >[]\n ? UseQueryOptionsForUseQueries<TQueryFnData, TError, TData, TQueryKey>[]\n : // Fallback\n UseQueryOptionsForUseQueries[]\n\n/**\n * UseQueriesResults reducer recursively maps type param to results\n */\nexport type UseQueriesResults<\n T extends any[],\n Result extends any[] = [],\n Depth extends ReadonlyArray<number> = [],\n> = Depth['length'] extends MAXIMUM_DEPTH\n ? QueryObserverResult[]\n : T extends []\n ? []\n : T extends [infer Head]\n ? [...Result, GetResults<Head>]\n : T extends [infer Head, ...infer Tail]\n ? UseQueriesResults<[...Tail], [...Result, GetResults<Head>], [...Depth, 1]>\n : T extends UseQueryOptionsForUseQueries<\n infer TQueryFnData,\n infer TError,\n infer TData,\n any\n >[]\n ? // Dynamic-size (homogenous) UseQueryOptions array: map directly to array of results\n QueryObserverResult<unknown extends TData ? TQueryFnData : TData, TError>[]\n : // Fallback\n QueryObserverResult[]\n\ntype UseQueriesOptionsArg<T extends any[]> = readonly [...UseQueriesOptions<T>]\n\nexport function useQueries<T extends any[]>(\n {\n queries,\n }: {\n queries: MaybeRefDeep<UseQueriesOptionsArg<T>>\n },\n queryClient?: QueryClient,\n): Readonly<Ref<UseQueriesResults<T>>> {\n const client = queryClient || useQueryClient()\n\n const defaultedQueries = computed(() =>\n cloneDeepUnref(queries).map((options) => {\n const defaulted = client.defaultQueryOptions(options)\n defaulted._optimisticResults = client.isRestoring.value\n ? 'isRestoring'\n : 'optimistic'\n\n return defaulted\n }),\n )\n\n const observer = new QueriesObserver(client, defaultedQueries.value)\n const state = ref(observer.getCurrentResult())\n\n const unsubscribe = ref(() => {\n // noop\n })\n\n watch(\n client.isRestoring,\n (isRestoring) => {\n if (!isRestoring) {\n unsubscribe.value()\n unsubscribe.value = observer.subscribe((result) => {\n state.value.splice(0, result.length, ...result)\n })\n // Subscription would not fire for persisted results\n state.value.splice(\n 0,\n state.value.length,\n ...observer.getOptimisticResult(defaultedQueries.value),\n )\n }\n },\n { immediate: true },\n )\n\n watch(\n defaultedQueries,\n () => {\n observer.setQueries(defaultedQueries.value)\n state.value.splice(0, state.value.length, ...observer.getCurrentResult())\n },\n { deep: true },\n )\n\n onScopeDispose(() => {\n unsubscribe.value()\n })\n\n return readonly(state) as Readonly<Ref<UseQueriesResults<T>>>\n}\n"],"names":["useQueries","queries","queryClient","client","useQueryClient","defaultedQueries","computed","cloneDeepUnref","map","options","defaulted","defaultQueryOptions","_optimisticResults","isRestoring","value","observer","QueriesObserver","state","ref","getCurrentResult","unsubscribe","watch","subscribe","result","splice","length","getOptimisticResult","immediate","setQueries","deep","onScopeDispose","readonly"],"mappings":";;;;;;;AAAA;AAmJO,SAASA,UAAU,CACxB;AACEC,EAAAA,OAAAA;AAGF,CAAC,EACDC,WAAyB,EACY;AACrC,EAAA,MAAMC,MAAM,GAAGD,WAAW,IAAIE,6BAAc,EAAE,CAAA;AAE9C,EAAA,MAAMC,gBAAgB,GAAGC,gBAAQ,CAAC,MAChCC,oBAAc,CAACN,OAAO,CAAC,CAACO,GAAG,CAAEC,OAAO,IAAK;AACvC,IAAA,MAAMC,SAAS,GAAGP,MAAM,CAACQ,mBAAmB,CAACF,OAAO,CAAC,CAAA;IACrDC,SAAS,CAACE,kBAAkB,GAAGT,MAAM,CAACU,WAAW,CAACC,KAAK,GACnD,aAAa,GACb,YAAY,CAAA;AAEhB,IAAA,OAAOJ,SAAS,CAAA;AAClB,GAAC,CAAC,CACH,CAAA;EAED,MAAMK,QAAQ,GAAG,IAAIC,yBAAe,CAACb,MAAM,EAAEE,gBAAgB,CAACS,KAAK,CAAC,CAAA;EACpE,MAAMG,KAAK,GAAGC,WAAG,CAACH,QAAQ,CAACI,gBAAgB,EAAE,CAAC,CAAA;AAE9C,EAAA,MAAMC,WAAW,GAAGF,WAAG,CAAC,MAAM;AAC5B;AAAA,GACD,CAAC,CAAA;AAEFG,EAAAA,aAAK,CACHlB,MAAM,CAACU,WAAW,EACjBA,WAAW,IAAK;IACf,IAAI,CAACA,WAAW,EAAE;MAChBO,WAAW,CAACN,KAAK,EAAE,CAAA;MACnBM,WAAW,CAACN,KAAK,GAAGC,QAAQ,CAACO,SAAS,CAAEC,MAAM,IAAK;AACjDN,QAAAA,KAAK,CAACH,KAAK,CAACU,MAAM,CAAC,CAAC,EAAED,MAAM,CAACE,MAAM,EAAE,GAAGF,MAAM,CAAC,CAAA;AACjD,OAAC,CAAC,CAAA;AACF;MACAN,KAAK,CAACH,KAAK,CAACU,MAAM,CAChB,CAAC,EACDP,KAAK,CAACH,KAAK,CAACW,MAAM,EAClB,GAAGV,QAAQ,CAACW,mBAAmB,CAACrB,gBAAgB,CAACS,KAAK,CAAC,CACxD,CAAA;AACH,KAAA;AACF,GAAC,EACD;AAAEa,IAAAA,SAAS,EAAE,IAAA;AAAK,GAAC,CACpB,CAAA;EAEDN,aAAK,CACHhB,gBAAgB,EAChB,MAAM;AACJU,IAAAA,QAAQ,CAACa,UAAU,CAACvB,gBAAgB,CAACS,KAAK,CAAC,CAAA;AAC3CG,IAAAA,KAAK,CAACH,KAAK,CAACU,MAAM,CAAC,CAAC,EAAEP,KAAK,CAACH,KAAK,CAACW,MAAM,EAAE,GAAGV,QAAQ,CAACI,gBAAgB,EAAE,CAAC,CAAA;AAC3E,GAAC,EACD;AAAEU,IAAAA,IAAI,EAAE,IAAA;AAAK,GAAC,CACf,CAAA;AAEDC,EAAAA,sBAAc,CAAC,MAAM;IACnBV,WAAW,CAACN,KAAK,EAAE,CAAA;AACrB,GAAC,CAAC,CAAA;EAEF,OAAOiB,gBAAQ,CAACd,KAAK,CAAC,CAAA;AACxB;;;;"}
1
+ {"version":3,"file":"useQueries.js","sources":["../../src/useQueries.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { QueriesObserver } from '@tanstack/query-core'\nimport type {\n QueriesPlaceholderDataFunction,\n QueryKey,\n} from '@tanstack/query-core'\nimport type { Ref } from 'vue-demi'\nimport { computed, onScopeDispose, readonly, ref, watch } from 'vue-demi'\n\nimport type { QueryFunction, QueryObserverResult } from '@tanstack/query-core'\n\nimport { useQueryClient } from './useQueryClient'\nimport { cloneDeepUnref } from './utils'\nimport type { UseQueryOptions } from './useQuery'\nimport type { QueryClient } from './queryClient'\nimport type { DistributiveOmit, MaybeRefDeep } from './types'\n\n// This defines the `UseQueryOptions` that are accepted in `QueriesOptions` & `GetOptions`.\n// `placeholderData` function does not have a parameter\ntype UseQueryOptionsForUseQueries<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> = DistributiveOmit<\n UseQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n 'placeholderData'\n> & {\n placeholderData?: TQueryFnData | QueriesPlaceholderDataFunction<TQueryFnData>\n}\n\n// Avoid TS depth-limit error in case of large array literal\ntype MAXIMUM_DEPTH = 20\n\ntype GetOptions<T> =\n // Part 1: responsible for applying explicit type parameter to function arguments, if object { queryFnData: TQueryFnData, error: TError, data: TData }\n T extends {\n queryFnData: infer TQueryFnData\n error?: infer TError\n data: infer TData\n }\n ? UseQueryOptionsForUseQueries<TQueryFnData, TError, TData>\n : T extends { queryFnData: infer TQueryFnData; error?: infer TError }\n ? UseQueryOptionsForUseQueries<TQueryFnData, TError>\n : T extends { data: infer TData; error?: infer TError }\n ? UseQueryOptionsForUseQueries<unknown, TError, TData>\n : // Part 2: responsible for applying explicit type parameter to function arguments, if tuple [TQueryFnData, TError, TData]\n T extends [infer TQueryFnData, infer TError, infer TData]\n ? UseQueryOptionsForUseQueries<TQueryFnData, TError, TData>\n : T extends [infer TQueryFnData, infer TError]\n ? UseQueryOptionsForUseQueries<TQueryFnData, TError>\n : T extends [infer TQueryFnData]\n ? UseQueryOptionsForUseQueries<TQueryFnData>\n : // Part 3: responsible for inferring and enforcing type if no explicit parameter was provided\n T extends {\n queryFn?: QueryFunction<infer TQueryFnData, infer TQueryKey>\n select: (data: any) => infer TData\n }\n ? UseQueryOptionsForUseQueries<TQueryFnData, Error, TData, TQueryKey>\n : T extends { queryFn?: QueryFunction<infer TQueryFnData, infer TQueryKey> }\n ? UseQueryOptionsForUseQueries<TQueryFnData, Error, TQueryFnData, TQueryKey>\n : // Fallback\n UseQueryOptionsForUseQueries\n\ntype GetResults<T> =\n // Part 1: responsible for mapping explicit type parameter to function result, if object\n T extends { queryFnData: any; error?: infer TError; data: infer TData }\n ? QueryObserverResult<TData, TError>\n : T extends { queryFnData: infer TQueryFnData; error?: infer TError }\n ? QueryObserverResult<TQueryFnData, TError>\n : T extends { data: infer TData; error?: infer TError }\n ? QueryObserverResult<TData, TError>\n : // Part 2: responsible for mapping explicit type parameter to function result, if tuple\n T extends [any, infer TError, infer TData]\n ? QueryObserverResult<TData, TError>\n : T extends [infer TQueryFnData, infer TError]\n ? QueryObserverResult<TQueryFnData, TError>\n : T extends [infer TQueryFnData]\n ? QueryObserverResult<TQueryFnData>\n : // Part 3: responsible for mapping inferred type to results, if no explicit parameter was provided\n T extends {\n queryFn?: QueryFunction<unknown, any>\n select: (data: any) => infer TData\n }\n ? QueryObserverResult<TData>\n : T extends { queryFn?: QueryFunction<infer TQueryFnData, any> }\n ? QueryObserverResult<TQueryFnData>\n : // Fallback\n QueryObserverResult\n\n/**\n * UseQueriesOptions reducer recursively unwraps function arguments to infer/enforce type param\n */\nexport type UseQueriesOptions<\n T extends any[],\n Result extends any[] = [],\n Depth extends ReadonlyArray<number> = [],\n> = Depth['length'] extends MAXIMUM_DEPTH\n ? UseQueryOptionsForUseQueries[]\n : T extends []\n ? []\n : T extends [infer Head]\n ? [...Result, GetOptions<Head>]\n : T extends [infer Head, ...infer Tail]\n ? UseQueriesOptions<[...Tail], [...Result, GetOptions<Head>], [...Depth, 1]>\n : unknown[] extends T\n ? T\n : // If T is *some* array but we couldn't assign unknown[] to it, then it must hold some known/homogenous type!\n // use this to infer the param types in the case of Array.map() argument\n T extends UseQueryOptionsForUseQueries<\n infer TQueryFnData,\n infer TError,\n infer TData,\n infer TQueryKey\n >[]\n ? UseQueryOptionsForUseQueries<TQueryFnData, TError, TData, TQueryKey>[]\n : // Fallback\n UseQueryOptionsForUseQueries[]\n\n/**\n * UseQueriesResults reducer recursively maps type param to results\n */\nexport type UseQueriesResults<\n T extends any[],\n Result extends any[] = [],\n Depth extends ReadonlyArray<number> = [],\n> = Depth['length'] extends MAXIMUM_DEPTH\n ? QueryObserverResult[]\n : T extends []\n ? []\n : T extends [infer Head]\n ? [...Result, GetResults<Head>]\n : T extends [infer Head, ...infer Tail]\n ? UseQueriesResults<[...Tail], [...Result, GetResults<Head>], [...Depth, 1]>\n : T extends UseQueryOptionsForUseQueries<\n infer TQueryFnData,\n infer TError,\n infer TData,\n any\n >[]\n ? // Dynamic-size (homogenous) UseQueryOptions array: map directly to array of results\n QueryObserverResult<unknown extends TData ? TQueryFnData : TData, TError>[]\n : // Fallback\n QueryObserverResult[]\n\ntype UseQueriesOptionsArg<T extends any[]> = readonly [...UseQueriesOptions<T>]\n\nexport function useQueries<T extends any[]>(\n {\n queries,\n }: {\n queries: MaybeRefDeep<UseQueriesOptionsArg<T>>\n },\n queryClient?: QueryClient,\n): Readonly<Ref<UseQueriesResults<T>>> {\n const client = queryClient || useQueryClient()\n\n const defaultedQueries = computed(() =>\n cloneDeepUnref(queries).map((options) => {\n const defaulted = client.defaultQueryOptions(options)\n defaulted._optimisticResults = client.isRestoring.value\n ? 'isRestoring'\n : 'optimistic'\n\n return defaulted\n }),\n )\n\n const observer = new QueriesObserver(client, defaultedQueries.value)\n const state = ref(observer.getCurrentResult())\n\n const unsubscribe = ref(() => {\n // noop\n })\n\n watch(\n client.isRestoring,\n (isRestoring) => {\n if (!isRestoring) {\n unsubscribe.value()\n unsubscribe.value = observer.subscribe((result) => {\n state.value.splice(0, result.length, ...result)\n })\n // Subscription would not fire for persisted results\n state.value = observer.getOptimisticResult(defaultedQueries.value)\n }\n },\n { immediate: true },\n )\n\n watch(\n defaultedQueries,\n () => {\n observer.setQueries(defaultedQueries.value)\n state.value = observer.getCurrentResult()\n },\n { deep: true },\n )\n\n onScopeDispose(() => {\n unsubscribe.value()\n })\n\n return readonly(state) as Readonly<Ref<UseQueriesResults<T>>>\n}\n"],"names":["useQueries","queries","queryClient","client","useQueryClient","defaultedQueries","computed","cloneDeepUnref","map","options","defaulted","defaultQueryOptions","_optimisticResults","isRestoring","value","observer","QueriesObserver","state","ref","getCurrentResult","unsubscribe","watch","subscribe","result","splice","length","getOptimisticResult","immediate","setQueries","deep","onScopeDispose","readonly"],"mappings":";;;;;;;AAAA;AAmJO,SAASA,UAAU,CACxB;AACEC,EAAAA,OAAAA;AAGF,CAAC,EACDC,WAAyB,EACY;AACrC,EAAA,MAAMC,MAAM,GAAGD,WAAW,IAAIE,6BAAc,EAAE,CAAA;AAE9C,EAAA,MAAMC,gBAAgB,GAAGC,gBAAQ,CAAC,MAChCC,oBAAc,CAACN,OAAO,CAAC,CAACO,GAAG,CAAEC,OAAO,IAAK;AACvC,IAAA,MAAMC,SAAS,GAAGP,MAAM,CAACQ,mBAAmB,CAACF,OAAO,CAAC,CAAA;IACrDC,SAAS,CAACE,kBAAkB,GAAGT,MAAM,CAACU,WAAW,CAACC,KAAK,GACnD,aAAa,GACb,YAAY,CAAA;AAEhB,IAAA,OAAOJ,SAAS,CAAA;AAClB,GAAC,CAAC,CACH,CAAA;EAED,MAAMK,QAAQ,GAAG,IAAIC,yBAAe,CAACb,MAAM,EAAEE,gBAAgB,CAACS,KAAK,CAAC,CAAA;EACpE,MAAMG,KAAK,GAAGC,WAAG,CAACH,QAAQ,CAACI,gBAAgB,EAAE,CAAC,CAAA;AAE9C,EAAA,MAAMC,WAAW,GAAGF,WAAG,CAAC,MAAM;AAC5B;AAAA,GACD,CAAC,CAAA;AAEFG,EAAAA,aAAK,CACHlB,MAAM,CAACU,WAAW,EACjBA,WAAW,IAAK;IACf,IAAI,CAACA,WAAW,EAAE;MAChBO,WAAW,CAACN,KAAK,EAAE,CAAA;MACnBM,WAAW,CAACN,KAAK,GAAGC,QAAQ,CAACO,SAAS,CAAEC,MAAM,IAAK;AACjDN,QAAAA,KAAK,CAACH,KAAK,CAACU,MAAM,CAAC,CAAC,EAAED,MAAM,CAACE,MAAM,EAAE,GAAGF,MAAM,CAAC,CAAA;AACjD,OAAC,CAAC,CAAA;AACF;MACAN,KAAK,CAACH,KAAK,GAAGC,QAAQ,CAACW,mBAAmB,CAACrB,gBAAgB,CAACS,KAAK,CAAC,CAAA;AACpE,KAAA;AACF,GAAC,EACD;AAAEa,IAAAA,SAAS,EAAE,IAAA;AAAK,GAAC,CACpB,CAAA;EAEDN,aAAK,CACHhB,gBAAgB,EAChB,MAAM;AACJU,IAAAA,QAAQ,CAACa,UAAU,CAACvB,gBAAgB,CAACS,KAAK,CAAC,CAAA;AAC3CG,IAAAA,KAAK,CAACH,KAAK,GAAGC,QAAQ,CAACI,gBAAgB,EAAE,CAAA;AAC3C,GAAC,EACD;AAAEU,IAAAA,IAAI,EAAE,IAAA;AAAK,GAAC,CACf,CAAA;AAEDC,EAAAA,sBAAc,CAAC,MAAM;IACnBV,WAAW,CAACN,KAAK,EAAE,CAAA;AACrB,GAAC,CAAC,CAAA;EAEF,OAAOiB,gBAAQ,CAACd,KAAK,CAAC,CAAA;AACxB;;;;"}
@@ -25,14 +25,14 @@ function useQueries({
25
25
  state.value.splice(0, result.length, ...result);
26
26
  });
27
27
  // Subscription would not fire for persisted results
28
- state.value.splice(0, state.value.length, ...observer.getOptimisticResult(defaultedQueries.value));
28
+ state.value = observer.getOptimisticResult(defaultedQueries.value);
29
29
  }
30
30
  }, {
31
31
  immediate: true
32
32
  });
33
33
  watch(defaultedQueries, () => {
34
34
  observer.setQueries(defaultedQueries.value);
35
- state.value.splice(0, state.value.length, ...observer.getCurrentResult());
35
+ state.value = observer.getCurrentResult();
36
36
  }, {
37
37
  deep: true
38
38
  });
@@ -1 +1 @@
1
- {"version":3,"file":"useQueries.mjs","sources":["../../src/useQueries.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { QueriesObserver } from '@tanstack/query-core'\nimport type {\n QueriesPlaceholderDataFunction,\n QueryKey,\n} from '@tanstack/query-core'\nimport type { Ref } from 'vue-demi'\nimport { computed, onScopeDispose, readonly, ref, watch } from 'vue-demi'\n\nimport type { QueryFunction, QueryObserverResult } from '@tanstack/query-core'\n\nimport { useQueryClient } from './useQueryClient'\nimport { cloneDeepUnref } from './utils'\nimport type { UseQueryOptions } from './useQuery'\nimport type { QueryClient } from './queryClient'\nimport type { DistributiveOmit, MaybeRefDeep } from './types'\n\n// This defines the `UseQueryOptions` that are accepted in `QueriesOptions` & `GetOptions`.\n// `placeholderData` function does not have a parameter\ntype UseQueryOptionsForUseQueries<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> = DistributiveOmit<\n UseQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n 'placeholderData'\n> & {\n placeholderData?: TQueryFnData | QueriesPlaceholderDataFunction<TQueryFnData>\n}\n\n// Avoid TS depth-limit error in case of large array literal\ntype MAXIMUM_DEPTH = 20\n\ntype GetOptions<T> =\n // Part 1: responsible for applying explicit type parameter to function arguments, if object { queryFnData: TQueryFnData, error: TError, data: TData }\n T extends {\n queryFnData: infer TQueryFnData\n error?: infer TError\n data: infer TData\n }\n ? UseQueryOptionsForUseQueries<TQueryFnData, TError, TData>\n : T extends { queryFnData: infer TQueryFnData; error?: infer TError }\n ? UseQueryOptionsForUseQueries<TQueryFnData, TError>\n : T extends { data: infer TData; error?: infer TError }\n ? UseQueryOptionsForUseQueries<unknown, TError, TData>\n : // Part 2: responsible for applying explicit type parameter to function arguments, if tuple [TQueryFnData, TError, TData]\n T extends [infer TQueryFnData, infer TError, infer TData]\n ? UseQueryOptionsForUseQueries<TQueryFnData, TError, TData>\n : T extends [infer TQueryFnData, infer TError]\n ? UseQueryOptionsForUseQueries<TQueryFnData, TError>\n : T extends [infer TQueryFnData]\n ? UseQueryOptionsForUseQueries<TQueryFnData>\n : // Part 3: responsible for inferring and enforcing type if no explicit parameter was provided\n T extends {\n queryFn?: QueryFunction<infer TQueryFnData, infer TQueryKey>\n select: (data: any) => infer TData\n }\n ? UseQueryOptionsForUseQueries<TQueryFnData, Error, TData, TQueryKey>\n : T extends { queryFn?: QueryFunction<infer TQueryFnData, infer TQueryKey> }\n ? UseQueryOptionsForUseQueries<TQueryFnData, Error, TQueryFnData, TQueryKey>\n : // Fallback\n UseQueryOptionsForUseQueries\n\ntype GetResults<T> =\n // Part 1: responsible for mapping explicit type parameter to function result, if object\n T extends { queryFnData: any; error?: infer TError; data: infer TData }\n ? QueryObserverResult<TData, TError>\n : T extends { queryFnData: infer TQueryFnData; error?: infer TError }\n ? QueryObserverResult<TQueryFnData, TError>\n : T extends { data: infer TData; error?: infer TError }\n ? QueryObserverResult<TData, TError>\n : // Part 2: responsible for mapping explicit type parameter to function result, if tuple\n T extends [any, infer TError, infer TData]\n ? QueryObserverResult<TData, TError>\n : T extends [infer TQueryFnData, infer TError]\n ? QueryObserverResult<TQueryFnData, TError>\n : T extends [infer TQueryFnData]\n ? QueryObserverResult<TQueryFnData>\n : // Part 3: responsible for mapping inferred type to results, if no explicit parameter was provided\n T extends {\n queryFn?: QueryFunction<unknown, any>\n select: (data: any) => infer TData\n }\n ? QueryObserverResult<TData>\n : T extends { queryFn?: QueryFunction<infer TQueryFnData, any> }\n ? QueryObserverResult<TQueryFnData>\n : // Fallback\n QueryObserverResult\n\n/**\n * UseQueriesOptions reducer recursively unwraps function arguments to infer/enforce type param\n */\nexport type UseQueriesOptions<\n T extends any[],\n Result extends any[] = [],\n Depth extends ReadonlyArray<number> = [],\n> = Depth['length'] extends MAXIMUM_DEPTH\n ? UseQueryOptionsForUseQueries[]\n : T extends []\n ? []\n : T extends [infer Head]\n ? [...Result, GetOptions<Head>]\n : T extends [infer Head, ...infer Tail]\n ? UseQueriesOptions<[...Tail], [...Result, GetOptions<Head>], [...Depth, 1]>\n : unknown[] extends T\n ? T\n : // If T is *some* array but we couldn't assign unknown[] to it, then it must hold some known/homogenous type!\n // use this to infer the param types in the case of Array.map() argument\n T extends UseQueryOptionsForUseQueries<\n infer TQueryFnData,\n infer TError,\n infer TData,\n infer TQueryKey\n >[]\n ? UseQueryOptionsForUseQueries<TQueryFnData, TError, TData, TQueryKey>[]\n : // Fallback\n UseQueryOptionsForUseQueries[]\n\n/**\n * UseQueriesResults reducer recursively maps type param to results\n */\nexport type UseQueriesResults<\n T extends any[],\n Result extends any[] = [],\n Depth extends ReadonlyArray<number> = [],\n> = Depth['length'] extends MAXIMUM_DEPTH\n ? QueryObserverResult[]\n : T extends []\n ? []\n : T extends [infer Head]\n ? [...Result, GetResults<Head>]\n : T extends [infer Head, ...infer Tail]\n ? UseQueriesResults<[...Tail], [...Result, GetResults<Head>], [...Depth, 1]>\n : T extends UseQueryOptionsForUseQueries<\n infer TQueryFnData,\n infer TError,\n infer TData,\n any\n >[]\n ? // Dynamic-size (homogenous) UseQueryOptions array: map directly to array of results\n QueryObserverResult<unknown extends TData ? TQueryFnData : TData, TError>[]\n : // Fallback\n QueryObserverResult[]\n\ntype UseQueriesOptionsArg<T extends any[]> = readonly [...UseQueriesOptions<T>]\n\nexport function useQueries<T extends any[]>(\n {\n queries,\n }: {\n queries: MaybeRefDeep<UseQueriesOptionsArg<T>>\n },\n queryClient?: QueryClient,\n): Readonly<Ref<UseQueriesResults<T>>> {\n const client = queryClient || useQueryClient()\n\n const defaultedQueries = computed(() =>\n cloneDeepUnref(queries).map((options) => {\n const defaulted = client.defaultQueryOptions(options)\n defaulted._optimisticResults = client.isRestoring.value\n ? 'isRestoring'\n : 'optimistic'\n\n return defaulted\n }),\n )\n\n const observer = new QueriesObserver(client, defaultedQueries.value)\n const state = ref(observer.getCurrentResult())\n\n const unsubscribe = ref(() => {\n // noop\n })\n\n watch(\n client.isRestoring,\n (isRestoring) => {\n if (!isRestoring) {\n unsubscribe.value()\n unsubscribe.value = observer.subscribe((result) => {\n state.value.splice(0, result.length, ...result)\n })\n // Subscription would not fire for persisted results\n state.value.splice(\n 0,\n state.value.length,\n ...observer.getOptimisticResult(defaultedQueries.value),\n )\n }\n },\n { immediate: true },\n )\n\n watch(\n defaultedQueries,\n () => {\n observer.setQueries(defaultedQueries.value)\n state.value.splice(0, state.value.length, ...observer.getCurrentResult())\n },\n { deep: true },\n )\n\n onScopeDispose(() => {\n unsubscribe.value()\n })\n\n return readonly(state) as Readonly<Ref<UseQueriesResults<T>>>\n}\n"],"names":["useQueries","queries","queryClient","client","useQueryClient","defaultedQueries","computed","cloneDeepUnref","map","options","defaulted","defaultQueryOptions","_optimisticResults","isRestoring","value","observer","QueriesObserver","state","ref","getCurrentResult","unsubscribe","watch","subscribe","result","splice","length","getOptimisticResult","immediate","setQueries","deep","onScopeDispose","readonly"],"mappings":";;;;;AAAA;AAmJO,SAASA,UAAU,CACxB;AACEC,EAAAA,OAAAA;AAGF,CAAC,EACDC,WAAyB,EACY;AACrC,EAAA,MAAMC,MAAM,GAAGD,WAAW,IAAIE,cAAc,EAAE,CAAA;AAE9C,EAAA,MAAMC,gBAAgB,GAAGC,QAAQ,CAAC,MAChCC,cAAc,CAACN,OAAO,CAAC,CAACO,GAAG,CAAEC,OAAO,IAAK;AACvC,IAAA,MAAMC,SAAS,GAAGP,MAAM,CAACQ,mBAAmB,CAACF,OAAO,CAAC,CAAA;IACrDC,SAAS,CAACE,kBAAkB,GAAGT,MAAM,CAACU,WAAW,CAACC,KAAK,GACnD,aAAa,GACb,YAAY,CAAA;AAEhB,IAAA,OAAOJ,SAAS,CAAA;AAClB,GAAC,CAAC,CACH,CAAA;EAED,MAAMK,QAAQ,GAAG,IAAIC,eAAe,CAACb,MAAM,EAAEE,gBAAgB,CAACS,KAAK,CAAC,CAAA;EACpE,MAAMG,KAAK,GAAGC,GAAG,CAACH,QAAQ,CAACI,gBAAgB,EAAE,CAAC,CAAA;AAE9C,EAAA,MAAMC,WAAW,GAAGF,GAAG,CAAC,MAAM;AAC5B;AAAA,GACD,CAAC,CAAA;AAEFG,EAAAA,KAAK,CACHlB,MAAM,CAACU,WAAW,EACjBA,WAAW,IAAK;IACf,IAAI,CAACA,WAAW,EAAE;MAChBO,WAAW,CAACN,KAAK,EAAE,CAAA;MACnBM,WAAW,CAACN,KAAK,GAAGC,QAAQ,CAACO,SAAS,CAAEC,MAAM,IAAK;AACjDN,QAAAA,KAAK,CAACH,KAAK,CAACU,MAAM,CAAC,CAAC,EAAED,MAAM,CAACE,MAAM,EAAE,GAAGF,MAAM,CAAC,CAAA;AACjD,OAAC,CAAC,CAAA;AACF;MACAN,KAAK,CAACH,KAAK,CAACU,MAAM,CAChB,CAAC,EACDP,KAAK,CAACH,KAAK,CAACW,MAAM,EAClB,GAAGV,QAAQ,CAACW,mBAAmB,CAACrB,gBAAgB,CAACS,KAAK,CAAC,CACxD,CAAA;AACH,KAAA;AACF,GAAC,EACD;AAAEa,IAAAA,SAAS,EAAE,IAAA;AAAK,GAAC,CACpB,CAAA;EAEDN,KAAK,CACHhB,gBAAgB,EAChB,MAAM;AACJU,IAAAA,QAAQ,CAACa,UAAU,CAACvB,gBAAgB,CAACS,KAAK,CAAC,CAAA;AAC3CG,IAAAA,KAAK,CAACH,KAAK,CAACU,MAAM,CAAC,CAAC,EAAEP,KAAK,CAACH,KAAK,CAACW,MAAM,EAAE,GAAGV,QAAQ,CAACI,gBAAgB,EAAE,CAAC,CAAA;AAC3E,GAAC,EACD;AAAEU,IAAAA,IAAI,EAAE,IAAA;AAAK,GAAC,CACf,CAAA;AAEDC,EAAAA,cAAc,CAAC,MAAM;IACnBV,WAAW,CAACN,KAAK,EAAE,CAAA;AACrB,GAAC,CAAC,CAAA;EAEF,OAAOiB,QAAQ,CAACd,KAAK,CAAC,CAAA;AACxB;;;;"}
1
+ {"version":3,"file":"useQueries.mjs","sources":["../../src/useQueries.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { QueriesObserver } from '@tanstack/query-core'\nimport type {\n QueriesPlaceholderDataFunction,\n QueryKey,\n} from '@tanstack/query-core'\nimport type { Ref } from 'vue-demi'\nimport { computed, onScopeDispose, readonly, ref, watch } from 'vue-demi'\n\nimport type { QueryFunction, QueryObserverResult } from '@tanstack/query-core'\n\nimport { useQueryClient } from './useQueryClient'\nimport { cloneDeepUnref } from './utils'\nimport type { UseQueryOptions } from './useQuery'\nimport type { QueryClient } from './queryClient'\nimport type { DistributiveOmit, MaybeRefDeep } from './types'\n\n// This defines the `UseQueryOptions` that are accepted in `QueriesOptions` & `GetOptions`.\n// `placeholderData` function does not have a parameter\ntype UseQueryOptionsForUseQueries<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> = DistributiveOmit<\n UseQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n 'placeholderData'\n> & {\n placeholderData?: TQueryFnData | QueriesPlaceholderDataFunction<TQueryFnData>\n}\n\n// Avoid TS depth-limit error in case of large array literal\ntype MAXIMUM_DEPTH = 20\n\ntype GetOptions<T> =\n // Part 1: responsible for applying explicit type parameter to function arguments, if object { queryFnData: TQueryFnData, error: TError, data: TData }\n T extends {\n queryFnData: infer TQueryFnData\n error?: infer TError\n data: infer TData\n }\n ? UseQueryOptionsForUseQueries<TQueryFnData, TError, TData>\n : T extends { queryFnData: infer TQueryFnData; error?: infer TError }\n ? UseQueryOptionsForUseQueries<TQueryFnData, TError>\n : T extends { data: infer TData; error?: infer TError }\n ? UseQueryOptionsForUseQueries<unknown, TError, TData>\n : // Part 2: responsible for applying explicit type parameter to function arguments, if tuple [TQueryFnData, TError, TData]\n T extends [infer TQueryFnData, infer TError, infer TData]\n ? UseQueryOptionsForUseQueries<TQueryFnData, TError, TData>\n : T extends [infer TQueryFnData, infer TError]\n ? UseQueryOptionsForUseQueries<TQueryFnData, TError>\n : T extends [infer TQueryFnData]\n ? UseQueryOptionsForUseQueries<TQueryFnData>\n : // Part 3: responsible for inferring and enforcing type if no explicit parameter was provided\n T extends {\n queryFn?: QueryFunction<infer TQueryFnData, infer TQueryKey>\n select: (data: any) => infer TData\n }\n ? UseQueryOptionsForUseQueries<TQueryFnData, Error, TData, TQueryKey>\n : T extends { queryFn?: QueryFunction<infer TQueryFnData, infer TQueryKey> }\n ? UseQueryOptionsForUseQueries<TQueryFnData, Error, TQueryFnData, TQueryKey>\n : // Fallback\n UseQueryOptionsForUseQueries\n\ntype GetResults<T> =\n // Part 1: responsible for mapping explicit type parameter to function result, if object\n T extends { queryFnData: any; error?: infer TError; data: infer TData }\n ? QueryObserverResult<TData, TError>\n : T extends { queryFnData: infer TQueryFnData; error?: infer TError }\n ? QueryObserverResult<TQueryFnData, TError>\n : T extends { data: infer TData; error?: infer TError }\n ? QueryObserverResult<TData, TError>\n : // Part 2: responsible for mapping explicit type parameter to function result, if tuple\n T extends [any, infer TError, infer TData]\n ? QueryObserverResult<TData, TError>\n : T extends [infer TQueryFnData, infer TError]\n ? QueryObserverResult<TQueryFnData, TError>\n : T extends [infer TQueryFnData]\n ? QueryObserverResult<TQueryFnData>\n : // Part 3: responsible for mapping inferred type to results, if no explicit parameter was provided\n T extends {\n queryFn?: QueryFunction<unknown, any>\n select: (data: any) => infer TData\n }\n ? QueryObserverResult<TData>\n : T extends { queryFn?: QueryFunction<infer TQueryFnData, any> }\n ? QueryObserverResult<TQueryFnData>\n : // Fallback\n QueryObserverResult\n\n/**\n * UseQueriesOptions reducer recursively unwraps function arguments to infer/enforce type param\n */\nexport type UseQueriesOptions<\n T extends any[],\n Result extends any[] = [],\n Depth extends ReadonlyArray<number> = [],\n> = Depth['length'] extends MAXIMUM_DEPTH\n ? UseQueryOptionsForUseQueries[]\n : T extends []\n ? []\n : T extends [infer Head]\n ? [...Result, GetOptions<Head>]\n : T extends [infer Head, ...infer Tail]\n ? UseQueriesOptions<[...Tail], [...Result, GetOptions<Head>], [...Depth, 1]>\n : unknown[] extends T\n ? T\n : // If T is *some* array but we couldn't assign unknown[] to it, then it must hold some known/homogenous type!\n // use this to infer the param types in the case of Array.map() argument\n T extends UseQueryOptionsForUseQueries<\n infer TQueryFnData,\n infer TError,\n infer TData,\n infer TQueryKey\n >[]\n ? UseQueryOptionsForUseQueries<TQueryFnData, TError, TData, TQueryKey>[]\n : // Fallback\n UseQueryOptionsForUseQueries[]\n\n/**\n * UseQueriesResults reducer recursively maps type param to results\n */\nexport type UseQueriesResults<\n T extends any[],\n Result extends any[] = [],\n Depth extends ReadonlyArray<number> = [],\n> = Depth['length'] extends MAXIMUM_DEPTH\n ? QueryObserverResult[]\n : T extends []\n ? []\n : T extends [infer Head]\n ? [...Result, GetResults<Head>]\n : T extends [infer Head, ...infer Tail]\n ? UseQueriesResults<[...Tail], [...Result, GetResults<Head>], [...Depth, 1]>\n : T extends UseQueryOptionsForUseQueries<\n infer TQueryFnData,\n infer TError,\n infer TData,\n any\n >[]\n ? // Dynamic-size (homogenous) UseQueryOptions array: map directly to array of results\n QueryObserverResult<unknown extends TData ? TQueryFnData : TData, TError>[]\n : // Fallback\n QueryObserverResult[]\n\ntype UseQueriesOptionsArg<T extends any[]> = readonly [...UseQueriesOptions<T>]\n\nexport function useQueries<T extends any[]>(\n {\n queries,\n }: {\n queries: MaybeRefDeep<UseQueriesOptionsArg<T>>\n },\n queryClient?: QueryClient,\n): Readonly<Ref<UseQueriesResults<T>>> {\n const client = queryClient || useQueryClient()\n\n const defaultedQueries = computed(() =>\n cloneDeepUnref(queries).map((options) => {\n const defaulted = client.defaultQueryOptions(options)\n defaulted._optimisticResults = client.isRestoring.value\n ? 'isRestoring'\n : 'optimistic'\n\n return defaulted\n }),\n )\n\n const observer = new QueriesObserver(client, defaultedQueries.value)\n const state = ref(observer.getCurrentResult())\n\n const unsubscribe = ref(() => {\n // noop\n })\n\n watch(\n client.isRestoring,\n (isRestoring) => {\n if (!isRestoring) {\n unsubscribe.value()\n unsubscribe.value = observer.subscribe((result) => {\n state.value.splice(0, result.length, ...result)\n })\n // Subscription would not fire for persisted results\n state.value = observer.getOptimisticResult(defaultedQueries.value)\n }\n },\n { immediate: true },\n )\n\n watch(\n defaultedQueries,\n () => {\n observer.setQueries(defaultedQueries.value)\n state.value = observer.getCurrentResult()\n },\n { deep: true },\n )\n\n onScopeDispose(() => {\n unsubscribe.value()\n })\n\n return readonly(state) as Readonly<Ref<UseQueriesResults<T>>>\n}\n"],"names":["useQueries","queries","queryClient","client","useQueryClient","defaultedQueries","computed","cloneDeepUnref","map","options","defaulted","defaultQueryOptions","_optimisticResults","isRestoring","value","observer","QueriesObserver","state","ref","getCurrentResult","unsubscribe","watch","subscribe","result","splice","length","getOptimisticResult","immediate","setQueries","deep","onScopeDispose","readonly"],"mappings":";;;;;AAAA;AAmJO,SAASA,UAAU,CACxB;AACEC,EAAAA,OAAAA;AAGF,CAAC,EACDC,WAAyB,EACY;AACrC,EAAA,MAAMC,MAAM,GAAGD,WAAW,IAAIE,cAAc,EAAE,CAAA;AAE9C,EAAA,MAAMC,gBAAgB,GAAGC,QAAQ,CAAC,MAChCC,cAAc,CAACN,OAAO,CAAC,CAACO,GAAG,CAAEC,OAAO,IAAK;AACvC,IAAA,MAAMC,SAAS,GAAGP,MAAM,CAACQ,mBAAmB,CAACF,OAAO,CAAC,CAAA;IACrDC,SAAS,CAACE,kBAAkB,GAAGT,MAAM,CAACU,WAAW,CAACC,KAAK,GACnD,aAAa,GACb,YAAY,CAAA;AAEhB,IAAA,OAAOJ,SAAS,CAAA;AAClB,GAAC,CAAC,CACH,CAAA;EAED,MAAMK,QAAQ,GAAG,IAAIC,eAAe,CAACb,MAAM,EAAEE,gBAAgB,CAACS,KAAK,CAAC,CAAA;EACpE,MAAMG,KAAK,GAAGC,GAAG,CAACH,QAAQ,CAACI,gBAAgB,EAAE,CAAC,CAAA;AAE9C,EAAA,MAAMC,WAAW,GAAGF,GAAG,CAAC,MAAM;AAC5B;AAAA,GACD,CAAC,CAAA;AAEFG,EAAAA,KAAK,CACHlB,MAAM,CAACU,WAAW,EACjBA,WAAW,IAAK;IACf,IAAI,CAACA,WAAW,EAAE;MAChBO,WAAW,CAACN,KAAK,EAAE,CAAA;MACnBM,WAAW,CAACN,KAAK,GAAGC,QAAQ,CAACO,SAAS,CAAEC,MAAM,IAAK;AACjDN,QAAAA,KAAK,CAACH,KAAK,CAACU,MAAM,CAAC,CAAC,EAAED,MAAM,CAACE,MAAM,EAAE,GAAGF,MAAM,CAAC,CAAA;AACjD,OAAC,CAAC,CAAA;AACF;MACAN,KAAK,CAACH,KAAK,GAAGC,QAAQ,CAACW,mBAAmB,CAACrB,gBAAgB,CAACS,KAAK,CAAC,CAAA;AACpE,KAAA;AACF,GAAC,EACD;AAAEa,IAAAA,SAAS,EAAE,IAAA;AAAK,GAAC,CACpB,CAAA;EAEDN,KAAK,CACHhB,gBAAgB,EAChB,MAAM;AACJU,IAAAA,QAAQ,CAACa,UAAU,CAACvB,gBAAgB,CAACS,KAAK,CAAC,CAAA;AAC3CG,IAAAA,KAAK,CAACH,KAAK,GAAGC,QAAQ,CAACI,gBAAgB,EAAE,CAAA;AAC3C,GAAC,EACD;AAAEU,IAAAA,IAAI,EAAE,IAAA;AAAK,GAAC,CACf,CAAA;AAEDC,EAAAA,cAAc,CAAC,MAAM;IACnBV,WAAW,CAACN,KAAK,EAAE,CAAA;AACrB,GAAC,CAAC,CAAA;EAEF,OAAOiB,QAAQ,CAACd,KAAK,CAAC,CAAA;AACxB;;;;"}
@@ -41,8 +41,6 @@ const VueQueryPlugin = {
41
41
  originalUnmount();
42
42
  };
43
43
  }
44
-
45
- /* istanbul ignore next */
46
44
  if (isVue2) {
47
45
  app.mixin({
48
46
  beforeCreate() {
@@ -1 +1 @@
1
- {"version":3,"file":"vueQueryPlugin.esm.js","sources":["../../src/vueQueryPlugin.ts"],"sourcesContent":["import { isVue2 } from 'vue-demi'\nimport { isServer } from '@tanstack/query-core'\nimport type { QueryClientConfig } from '@tanstack/query-core'\n\nimport { QueryClient } from './queryClient'\nimport { getClientKey } from './utils'\nimport { setupDevtools } from './devtools/devtools'\nimport type { MaybeRefDeep } from './types'\n\ntype ClientPersister = (client: QueryClient) => [() => void, Promise<void>]\n\ninterface CommonOptions {\n queryClientKey?: string\n clientPersister?: ClientPersister\n}\n\ninterface ConfigOptions extends CommonOptions {\n queryClientConfig?: MaybeRefDeep<QueryClientConfig>\n}\n\ninterface ClientOptions extends CommonOptions {\n queryClient?: QueryClient\n}\n\nexport type VueQueryPluginOptions = ConfigOptions | ClientOptions\n\nexport const VueQueryPlugin = {\n install: (app: any, options: VueQueryPluginOptions = {}) => {\n const clientKey = getClientKey(options.queryClientKey)\n let client: QueryClient\n\n if ('queryClient' in options && options.queryClient) {\n client = options.queryClient\n } else {\n const clientConfig =\n 'queryClientConfig' in options ? options.queryClientConfig : undefined\n client = new QueryClient(clientConfig)\n }\n\n if (!isServer) {\n client.mount()\n }\n\n let persisterUnmount = () => {\n // noop\n }\n\n if (options.clientPersister) {\n client.isRestoring.value = true\n const [unmount, promise] = options.clientPersister(client)\n persisterUnmount = unmount\n promise.then(() => {\n client.isRestoring.value = false\n })\n }\n\n const cleanup = () => {\n client.unmount()\n persisterUnmount()\n }\n\n if (app.onUnmount) {\n app.onUnmount(cleanup)\n } else {\n const originalUnmount = app.unmount\n app.unmount = function vueQueryUnmount() {\n cleanup()\n originalUnmount()\n }\n }\n\n /* istanbul ignore next */\n if (isVue2) {\n app.mixin({\n beforeCreate() {\n // HACK: taken from provide(): https://github.com/vuejs/composition-api/blob/master/src/apis/inject.ts#L30\n if (!this._provided) {\n const provideCache = {}\n Object.defineProperty(this, '_provided', {\n get: () => provideCache,\n set: (v) => Object.assign(provideCache, v),\n })\n }\n\n this._provided[clientKey] = client\n\n if (process.env.NODE_ENV === 'development') {\n if (this === this.$root) {\n setupDevtools(this, client)\n }\n }\n },\n })\n } else {\n app.provide(clientKey, client)\n\n if (process.env.NODE_ENV === 'development') {\n setupDevtools(app, client)\n }\n }\n },\n}\n"],"names":["VueQueryPlugin","install","app","options","clientKey","getClientKey","queryClientKey","client","queryClient","clientConfig","queryClientConfig","undefined","QueryClient","isServer","mount","persisterUnmount","clientPersister","isRestoring","value","unmount","promise","then","cleanup","onUnmount","originalUnmount","vueQueryUnmount","isVue2","mixin","beforeCreate","_provided","provideCache","Object","defineProperty","get","set","v","assign","process","env","NODE_ENV","$root","setupDevtools","provide"],"mappings":"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"}
1
+ {"version":3,"file":"vueQueryPlugin.esm.js","sources":["../../src/vueQueryPlugin.ts"],"sourcesContent":["import { isVue2 } from 'vue-demi'\nimport { isServer } from '@tanstack/query-core'\nimport type { QueryClientConfig } from '@tanstack/query-core'\n\nimport { QueryClient } from './queryClient'\nimport { getClientKey } from './utils'\nimport { setupDevtools } from './devtools/devtools'\nimport type { MaybeRefDeep } from './types'\n\ntype ClientPersister = (client: QueryClient) => [() => void, Promise<void>]\n\ninterface CommonOptions {\n queryClientKey?: string\n clientPersister?: ClientPersister\n}\n\ninterface ConfigOptions extends CommonOptions {\n queryClientConfig?: MaybeRefDeep<QueryClientConfig>\n}\n\ninterface ClientOptions extends CommonOptions {\n queryClient?: QueryClient\n}\n\nexport type VueQueryPluginOptions = ConfigOptions | ClientOptions\n\nexport const VueQueryPlugin = {\n install: (app: any, options: VueQueryPluginOptions = {}) => {\n const clientKey = getClientKey(options.queryClientKey)\n let client: QueryClient\n\n if ('queryClient' in options && options.queryClient) {\n client = options.queryClient\n } else {\n const clientConfig =\n 'queryClientConfig' in options ? options.queryClientConfig : undefined\n client = new QueryClient(clientConfig)\n }\n\n if (!isServer) {\n client.mount()\n }\n\n let persisterUnmount = () => {\n // noop\n }\n\n if (options.clientPersister) {\n client.isRestoring.value = true\n const [unmount, promise] = options.clientPersister(client)\n persisterUnmount = unmount\n promise.then(() => {\n client.isRestoring.value = false\n })\n }\n\n const cleanup = () => {\n client.unmount()\n persisterUnmount()\n }\n\n if (app.onUnmount) {\n app.onUnmount(cleanup)\n } else {\n const originalUnmount = app.unmount\n app.unmount = function vueQueryUnmount() {\n cleanup()\n originalUnmount()\n }\n }\n\n if (isVue2) {\n app.mixin({\n beforeCreate() {\n // HACK: taken from provide(): https://github.com/vuejs/composition-api/blob/master/src/apis/inject.ts#L30\n if (!this._provided) {\n const provideCache = {}\n Object.defineProperty(this, '_provided', {\n get: () => provideCache,\n set: (v) => Object.assign(provideCache, v),\n })\n }\n\n this._provided[clientKey] = client\n\n if (process.env.NODE_ENV === 'development') {\n if (this === this.$root) {\n setupDevtools(this, client)\n }\n }\n },\n })\n } else {\n app.provide(clientKey, client)\n\n if (process.env.NODE_ENV === 'development') {\n setupDevtools(app, client)\n }\n }\n },\n}\n"],"names":["VueQueryPlugin","install","app","options","clientKey","getClientKey","queryClientKey","client","queryClient","clientConfig","queryClientConfig","undefined","QueryClient","isServer","mount","persisterUnmount","clientPersister","isRestoring","value","unmount","promise","then","cleanup","onUnmount","originalUnmount","vueQueryUnmount","isVue2","mixin","beforeCreate","_provided","provideCache","Object","defineProperty","get","set","v","assign","process","env","NODE_ENV","$root","setupDevtools","provide"],"mappings":"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"}
@@ -43,8 +43,6 @@ const VueQueryPlugin = {
43
43
  originalUnmount();
44
44
  };
45
45
  }
46
-
47
- /* istanbul ignore next */
48
46
  if (vueDemi.isVue2) {
49
47
  app.mixin({
50
48
  beforeCreate() {
@@ -1 +1 @@
1
- {"version":3,"file":"vueQueryPlugin.js","sources":["../../src/vueQueryPlugin.ts"],"sourcesContent":["import { isVue2 } from 'vue-demi'\nimport { isServer } from '@tanstack/query-core'\nimport type { QueryClientConfig } from '@tanstack/query-core'\n\nimport { QueryClient } from './queryClient'\nimport { getClientKey } from './utils'\nimport { setupDevtools } from './devtools/devtools'\nimport type { MaybeRefDeep } from './types'\n\ntype ClientPersister = (client: QueryClient) => [() => void, Promise<void>]\n\ninterface CommonOptions {\n queryClientKey?: string\n clientPersister?: ClientPersister\n}\n\ninterface ConfigOptions extends CommonOptions {\n queryClientConfig?: MaybeRefDeep<QueryClientConfig>\n}\n\ninterface ClientOptions extends CommonOptions {\n queryClient?: QueryClient\n}\n\nexport type VueQueryPluginOptions = ConfigOptions | ClientOptions\n\nexport const VueQueryPlugin = {\n install: (app: any, options: VueQueryPluginOptions = {}) => {\n const clientKey = getClientKey(options.queryClientKey)\n let client: QueryClient\n\n if ('queryClient' in options && options.queryClient) {\n client = options.queryClient\n } else {\n const clientConfig =\n 'queryClientConfig' in options ? options.queryClientConfig : undefined\n client = new QueryClient(clientConfig)\n }\n\n if (!isServer) {\n client.mount()\n }\n\n let persisterUnmount = () => {\n // noop\n }\n\n if (options.clientPersister) {\n client.isRestoring.value = true\n const [unmount, promise] = options.clientPersister(client)\n persisterUnmount = unmount\n promise.then(() => {\n client.isRestoring.value = false\n })\n }\n\n const cleanup = () => {\n client.unmount()\n persisterUnmount()\n }\n\n if (app.onUnmount) {\n app.onUnmount(cleanup)\n } else {\n const originalUnmount = app.unmount\n app.unmount = function vueQueryUnmount() {\n cleanup()\n originalUnmount()\n }\n }\n\n /* istanbul ignore next */\n if (isVue2) {\n app.mixin({\n beforeCreate() {\n // HACK: taken from provide(): https://github.com/vuejs/composition-api/blob/master/src/apis/inject.ts#L30\n if (!this._provided) {\n const provideCache = {}\n Object.defineProperty(this, '_provided', {\n get: () => provideCache,\n set: (v) => Object.assign(provideCache, v),\n })\n }\n\n this._provided[clientKey] = client\n\n if (process.env.NODE_ENV === 'development') {\n if (this === this.$root) {\n setupDevtools(this, client)\n }\n }\n },\n })\n } else {\n app.provide(clientKey, client)\n\n if (process.env.NODE_ENV === 'development') {\n setupDevtools(app, client)\n }\n }\n },\n}\n"],"names":["VueQueryPlugin","install","app","options","clientKey","getClientKey","queryClientKey","client","queryClient","clientConfig","queryClientConfig","undefined","QueryClient","isServer","mount","persisterUnmount","clientPersister","isRestoring","value","unmount","promise","then","cleanup","onUnmount","originalUnmount","vueQueryUnmount","isVue2","mixin","beforeCreate","_provided","provideCache","Object","defineProperty","get","set","v","assign","process","env","NODE_ENV","$root","setupDevtools","provide"],"mappings":"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"}
1
+ {"version":3,"file":"vueQueryPlugin.js","sources":["../../src/vueQueryPlugin.ts"],"sourcesContent":["import { isVue2 } from 'vue-demi'\nimport { isServer } from '@tanstack/query-core'\nimport type { QueryClientConfig } from '@tanstack/query-core'\n\nimport { QueryClient } from './queryClient'\nimport { getClientKey } from './utils'\nimport { setupDevtools } from './devtools/devtools'\nimport type { MaybeRefDeep } from './types'\n\ntype ClientPersister = (client: QueryClient) => [() => void, Promise<void>]\n\ninterface CommonOptions {\n queryClientKey?: string\n clientPersister?: ClientPersister\n}\n\ninterface ConfigOptions extends CommonOptions {\n queryClientConfig?: MaybeRefDeep<QueryClientConfig>\n}\n\ninterface ClientOptions extends CommonOptions {\n queryClient?: QueryClient\n}\n\nexport type VueQueryPluginOptions = ConfigOptions | ClientOptions\n\nexport const VueQueryPlugin = {\n install: (app: any, options: VueQueryPluginOptions = {}) => {\n const clientKey = getClientKey(options.queryClientKey)\n let client: QueryClient\n\n if ('queryClient' in options && options.queryClient) {\n client = options.queryClient\n } else {\n const clientConfig =\n 'queryClientConfig' in options ? options.queryClientConfig : undefined\n client = new QueryClient(clientConfig)\n }\n\n if (!isServer) {\n client.mount()\n }\n\n let persisterUnmount = () => {\n // noop\n }\n\n if (options.clientPersister) {\n client.isRestoring.value = true\n const [unmount, promise] = options.clientPersister(client)\n persisterUnmount = unmount\n promise.then(() => {\n client.isRestoring.value = false\n })\n }\n\n const cleanup = () => {\n client.unmount()\n persisterUnmount()\n }\n\n if (app.onUnmount) {\n app.onUnmount(cleanup)\n } else {\n const originalUnmount = app.unmount\n app.unmount = function vueQueryUnmount() {\n cleanup()\n originalUnmount()\n }\n }\n\n if (isVue2) {\n app.mixin({\n beforeCreate() {\n // HACK: taken from provide(): https://github.com/vuejs/composition-api/blob/master/src/apis/inject.ts#L30\n if (!this._provided) {\n const provideCache = {}\n Object.defineProperty(this, '_provided', {\n get: () => provideCache,\n set: (v) => Object.assign(provideCache, v),\n })\n }\n\n this._provided[clientKey] = client\n\n if (process.env.NODE_ENV === 'development') {\n if (this === this.$root) {\n setupDevtools(this, client)\n }\n }\n },\n })\n } else {\n app.provide(clientKey, client)\n\n if (process.env.NODE_ENV === 'development') {\n setupDevtools(app, client)\n }\n }\n },\n}\n"],"names":["VueQueryPlugin","install","app","options","clientKey","getClientKey","queryClientKey","client","queryClient","clientConfig","queryClientConfig","undefined","QueryClient","isServer","mount","persisterUnmount","clientPersister","isRestoring","value","unmount","promise","then","cleanup","onUnmount","originalUnmount","vueQueryUnmount","isVue2","mixin","beforeCreate","_provided","provideCache","Object","defineProperty","get","set","v","assign","process","env","NODE_ENV","$root","setupDevtools","provide"],"mappings":"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"}
@@ -41,8 +41,6 @@ const VueQueryPlugin = {
41
41
  originalUnmount();
42
42
  };
43
43
  }
44
-
45
- /* istanbul ignore next */
46
44
  if (isVue2) {
47
45
  app.mixin({
48
46
  beforeCreate() {
@@ -1 +1 @@
1
- {"version":3,"file":"vueQueryPlugin.mjs","sources":["../../src/vueQueryPlugin.ts"],"sourcesContent":["import { isVue2 } from 'vue-demi'\nimport { isServer } from '@tanstack/query-core'\nimport type { QueryClientConfig } from '@tanstack/query-core'\n\nimport { QueryClient } from './queryClient'\nimport { getClientKey } from './utils'\nimport { setupDevtools } from './devtools/devtools'\nimport type { MaybeRefDeep } from './types'\n\ntype ClientPersister = (client: QueryClient) => [() => void, Promise<void>]\n\ninterface CommonOptions {\n queryClientKey?: string\n clientPersister?: ClientPersister\n}\n\ninterface ConfigOptions extends CommonOptions {\n queryClientConfig?: MaybeRefDeep<QueryClientConfig>\n}\n\ninterface ClientOptions extends CommonOptions {\n queryClient?: QueryClient\n}\n\nexport type VueQueryPluginOptions = ConfigOptions | ClientOptions\n\nexport const VueQueryPlugin = {\n install: (app: any, options: VueQueryPluginOptions = {}) => {\n const clientKey = getClientKey(options.queryClientKey)\n let client: QueryClient\n\n if ('queryClient' in options && options.queryClient) {\n client = options.queryClient\n } else {\n const clientConfig =\n 'queryClientConfig' in options ? options.queryClientConfig : undefined\n client = new QueryClient(clientConfig)\n }\n\n if (!isServer) {\n client.mount()\n }\n\n let persisterUnmount = () => {\n // noop\n }\n\n if (options.clientPersister) {\n client.isRestoring.value = true\n const [unmount, promise] = options.clientPersister(client)\n persisterUnmount = unmount\n promise.then(() => {\n client.isRestoring.value = false\n })\n }\n\n const cleanup = () => {\n client.unmount()\n persisterUnmount()\n }\n\n if (app.onUnmount) {\n app.onUnmount(cleanup)\n } else {\n const originalUnmount = app.unmount\n app.unmount = function vueQueryUnmount() {\n cleanup()\n originalUnmount()\n }\n }\n\n /* istanbul ignore next */\n if (isVue2) {\n app.mixin({\n beforeCreate() {\n // HACK: taken from provide(): https://github.com/vuejs/composition-api/blob/master/src/apis/inject.ts#L30\n if (!this._provided) {\n const provideCache = {}\n Object.defineProperty(this, '_provided', {\n get: () => provideCache,\n set: (v) => Object.assign(provideCache, v),\n })\n }\n\n this._provided[clientKey] = client\n\n if (process.env.NODE_ENV === 'development') {\n if (this === this.$root) {\n setupDevtools(this, client)\n }\n }\n },\n })\n } else {\n app.provide(clientKey, client)\n\n if (process.env.NODE_ENV === 'development') {\n setupDevtools(app, client)\n }\n }\n },\n}\n"],"names":["VueQueryPlugin","install","app","options","clientKey","getClientKey","queryClientKey","client","queryClient","clientConfig","queryClientConfig","undefined","QueryClient","isServer","mount","persisterUnmount","clientPersister","isRestoring","value","unmount","promise","then","cleanup","onUnmount","originalUnmount","vueQueryUnmount","isVue2","mixin","beforeCreate","_provided","provideCache","Object","defineProperty","get","set","v","assign","process","env","NODE_ENV","$root","setupDevtools","provide"],"mappings":"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"}
1
+ {"version":3,"file":"vueQueryPlugin.mjs","sources":["../../src/vueQueryPlugin.ts"],"sourcesContent":["import { isVue2 } from 'vue-demi'\nimport { isServer } from '@tanstack/query-core'\nimport type { QueryClientConfig } from '@tanstack/query-core'\n\nimport { QueryClient } from './queryClient'\nimport { getClientKey } from './utils'\nimport { setupDevtools } from './devtools/devtools'\nimport type { MaybeRefDeep } from './types'\n\ntype ClientPersister = (client: QueryClient) => [() => void, Promise<void>]\n\ninterface CommonOptions {\n queryClientKey?: string\n clientPersister?: ClientPersister\n}\n\ninterface ConfigOptions extends CommonOptions {\n queryClientConfig?: MaybeRefDeep<QueryClientConfig>\n}\n\ninterface ClientOptions extends CommonOptions {\n queryClient?: QueryClient\n}\n\nexport type VueQueryPluginOptions = ConfigOptions | ClientOptions\n\nexport const VueQueryPlugin = {\n install: (app: any, options: VueQueryPluginOptions = {}) => {\n const clientKey = getClientKey(options.queryClientKey)\n let client: QueryClient\n\n if ('queryClient' in options && options.queryClient) {\n client = options.queryClient\n } else {\n const clientConfig =\n 'queryClientConfig' in options ? options.queryClientConfig : undefined\n client = new QueryClient(clientConfig)\n }\n\n if (!isServer) {\n client.mount()\n }\n\n let persisterUnmount = () => {\n // noop\n }\n\n if (options.clientPersister) {\n client.isRestoring.value = true\n const [unmount, promise] = options.clientPersister(client)\n persisterUnmount = unmount\n promise.then(() => {\n client.isRestoring.value = false\n })\n }\n\n const cleanup = () => {\n client.unmount()\n persisterUnmount()\n }\n\n if (app.onUnmount) {\n app.onUnmount(cleanup)\n } else {\n const originalUnmount = app.unmount\n app.unmount = function vueQueryUnmount() {\n cleanup()\n originalUnmount()\n }\n }\n\n if (isVue2) {\n app.mixin({\n beforeCreate() {\n // HACK: taken from provide(): https://github.com/vuejs/composition-api/blob/master/src/apis/inject.ts#L30\n if (!this._provided) {\n const provideCache = {}\n Object.defineProperty(this, '_provided', {\n get: () => provideCache,\n set: (v) => Object.assign(provideCache, v),\n })\n }\n\n this._provided[clientKey] = client\n\n if (process.env.NODE_ENV === 'development') {\n if (this === this.$root) {\n setupDevtools(this, client)\n }\n }\n },\n })\n } else {\n app.provide(clientKey, client)\n\n if (process.env.NODE_ENV === 'development') {\n setupDevtools(app, client)\n }\n }\n },\n}\n"],"names":["VueQueryPlugin","install","app","options","clientKey","getClientKey","queryClientKey","client","queryClient","clientConfig","queryClientConfig","undefined","QueryClient","isServer","mount","persisterUnmount","clientPersister","isRestoring","value","unmount","promise","then","cleanup","onUnmount","originalUnmount","vueQueryUnmount","isVue2","mixin","beforeCreate","_provided","provideCache","Object","defineProperty","get","set","v","assign","process","env","NODE_ENV","$root","setupDevtools","provide"],"mappings":"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"}
@@ -3675,7 +3675,6 @@
3675
3675
  };
3676
3676
  }
3677
3677
 
3678
- /* istanbul ignore file */
3679
3678
  // eslint-disable-next-line no-shadow
3680
3679
  var QueryState;
3681
3680
  (function (QueryState) {
@@ -3753,7 +3752,6 @@
3753
3752
  'Last Updated': dateSort
3754
3753
  };
3755
3754
 
3756
- /* istanbul ignore file */
3757
3755
  const pluginId = 'vue-query';
3758
3756
  const pluginName = 'Vue Query';
3759
3757
  function setupDevtools(app, queryClient) {
@@ -3939,8 +3937,6 @@
3939
3937
  originalUnmount();
3940
3938
  };
3941
3939
  }
3942
-
3943
- /* istanbul ignore next */
3944
3940
  if (vueDemi.isVue2) {
3945
3941
  app.mixin({
3946
3942
  beforeCreate() {
@@ -4060,14 +4056,14 @@
4060
4056
  state.value.splice(0, result.length, ...result);
4061
4057
  });
4062
4058
  // Subscription would not fire for persisted results
4063
- state.value.splice(0, state.value.length, ...observer.getOptimisticResult(defaultedQueries.value));
4059
+ state.value = observer.getOptimisticResult(defaultedQueries.value);
4064
4060
  }
4065
4061
  }, {
4066
4062
  immediate: true
4067
4063
  });
4068
4064
  vueDemi.watch(defaultedQueries, () => {
4069
4065
  observer.setQueries(defaultedQueries.value);
4070
- state.value.splice(0, state.value.length, ...observer.getCurrentResult());
4066
+ state.value = observer.getCurrentResult();
4071
4067
  }, {
4072
4068
  deep: true
4073
4069
  });
@@ -4140,22 +4136,31 @@
4140
4136
  return isFetching;
4141
4137
  }
4142
4138
 
4143
- function useIsMutating(mutationFilters = {}, queryClient) {
4144
- const filters = vueDemi.computed(() => cloneDeepUnref(mutationFilters));
4139
+ function useIsMutating(filters = {}, queryClient) {
4145
4140
  const client = queryClient || useQueryClient();
4146
- const isMutating = vueDemi.ref(client.isMutating(filters));
4147
- const unsubscribe = client.getMutationCache().subscribe(() => {
4148
- isMutating.value = client.isMutating(filters);
4149
- });
4150
- vueDemi.watch(filters, () => {
4151
- isMutating.value = client.isMutating(filters);
4152
- }, {
4153
- deep: true
4141
+ const unreffedFilters = vueDemi.computed(() => ({
4142
+ ...cloneDeepUnref(filters),
4143
+ status: 'pending'
4144
+ }));
4145
+ const length = vueDemi.computed(() => useMutationState({
4146
+ filters: unreffedFilters
4147
+ }, client).value.length);
4148
+ return length;
4149
+ }
4150
+ function getResult(mutationCache, options) {
4151
+ return mutationCache.findAll(options.filters).map(mutation => options.select ? options.select(mutation) : mutation.state);
4152
+ }
4153
+ function useMutationState(options = {}, queryClient) {
4154
+ const mutationCache = (queryClient || useQueryClient()).getMutationCache();
4155
+ const state = vueDemi.ref(getResult(mutationCache, options));
4156
+ const unsubscribe = mutationCache.subscribe(() => {
4157
+ const result = getResult(mutationCache, options);
4158
+ state.value = result;
4154
4159
  });
4155
4160
  vueDemi.onScopeDispose(() => {
4156
4161
  unsubscribe();
4157
4162
  });
4158
- return isMutating;
4163
+ return vueDemi.readonly(state);
4159
4164
  }
4160
4165
 
4161
4166
  exports.CancelledError = CancelledError;
@@ -4185,6 +4190,7 @@
4185
4190
  exports.useIsFetching = useIsFetching;
4186
4191
  exports.useIsMutating = useIsMutating;
4187
4192
  exports.useMutation = useMutation;
4193
+ exports.useMutationState = useMutationState;
4188
4194
  exports.useQueries = useQueries;
4189
4195
  exports.useQuery = useQuery;
4190
4196
  exports.useQueryClient = useQueryClient;