MCPcopy
hub / github.com/TanStack/query / useQueries

Function useQueries

packages/solid-query/src/useQueries.ts:187–343  ·  view source on GitHub ↗
(
  queriesOptions: Accessor<{
    queries:
      | readonly [...QueriesOptions<T>]
      | readonly [...{ [K in keyof T]: GetOptions<T[K]> }]
    combine?: (result: QueriesResults<T>) => TCombinedResult
  }>,
  queryClient?: Accessor<QueryClient>,
)

Source from the content-addressed store, hash-verified

185 : { [K in keyof T]: GetResults<T[K]> }
186
187export function useQueries<
188 T extends Array<any>,
189 TCombinedResult extends QueriesResults<T> = QueriesResults<T>,
190>(
191 queriesOptions: Accessor<{
192 queries:
193 | readonly [...QueriesOptions<T>]
194 | readonly [...{ [K in keyof T]: GetOptions<T[K]> }]
195 combine?: (result: QueriesResults<T>) => TCombinedResult
196 }>,
197 queryClient?: Accessor<QueryClient>,
198): TCombinedResult {
199 const client = createMemo(() => useQueryClient(queryClient?.()))
200 const isRestoring = useIsRestoring()
201
202 const defaultedQueries = createMemo(() =>
203 queriesOptions().queries.map((options) =>
204 mergeProps(
205 client().defaultQueryOptions(options as QueryObserverOptions),
206 {
207 get _optimisticResults() {
208 return isRestoring() ? 'isRestoring' : 'optimistic'
209 },
210 },
211 ),
212 ),
213 )
214
215 const observer = new QueriesObserver(
216 client(),
217 defaultedQueries(),
218 queriesOptions().combine
219 ? ({
220 combine: queriesOptions().combine,
221 } as QueriesObserverOptions<TCombinedResult>)
222 : undefined,
223 )
224
225 const [state, setState] = createStore<TCombinedResult>(
226 observer.getOptimisticResult(
227 defaultedQueries(),
228 (queriesOptions() as QueriesObserverOptions<TCombinedResult>).combine,
229 )[1](),
230 )
231
232 createRenderEffect(
233 on(
234 () => queriesOptions().queries.length,
235 () =>
236 setState(
237 observer.getOptimisticResult(
238 defaultedQueries(),
239 (queriesOptions() as QueriesObserverOptions<TCombinedResult>)
240 .combine,
241 )[1](),
242 ),
243 ),
244 )

Callers 5

PageFunction · 0.90
PageFunction · 0.50
useWrappedQueriesFunction · 0.50
QueriesFunction · 0.50

Calls 10

getOptimisticResultMethod · 0.95
setQueriesMethod · 0.95
useQueryClientFunction · 0.90
useIsRestoringFunction · 0.90
cleanupFunction · 0.85
subscribeToObserverFunction · 0.85
getProxiesFunction · 0.85
defaultQueryOptionsMethod · 0.80
refetchMethod · 0.80
mutateMethod · 0.45

Tested by 4

PageFunction · 0.72
PageFunction · 0.40
useWrappedQueriesFunction · 0.40
QueriesFunction · 0.40

Used in the wild real call sites across dependent graphs

searching dependent graphs…