MCPcopy Create free account
hub / github.com/TanStack/query / useQueries

Function useQueries

packages/solid-query/src/useQueries.ts:274–431  ·  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

272 * ```
273 */
274export function useQueries<
275 T extends Array<any>,
276 TCombinedResult extends QueriesResults<T> = QueriesResults<T>,
277>(
278 queriesOptions: Accessor<{
279 queries:
280 | readonly [...QueriesOptions<T>]
281 | readonly [...{ [K in keyof T]: GetOptions<T[K]> }]
282 combine?: (result: QueriesResults<T>) => TCombinedResult
283 }>,
284 queryClient?: Accessor<QueryClient>,
285): TCombinedResult {
286 const resolveClient = useQueryClientResolver(queryClient)
287 const client = createMemo(() => resolveClient())
288 const isRestoring = useIsRestoring()
289
290 const defaultedQueries = createMemo(() =>
291 queriesOptions().queries.map((options) =>
292 mergeProps(
293 client().defaultQueryOptions(options as QueryObserverOptions),
294 {
295 get _optimisticResults() {
296 return isRestoring() ? 'isRestoring' : 'optimistic'
297 },
298 },
299 ),
300 ),
301 )
302
303 const observer = new QueriesObserver(
304 client(),
305 defaultedQueries(),
306 queriesOptions().combine
307 ? ({
308 combine: queriesOptions().combine,
309 } as QueriesObserverOptions<TCombinedResult>)
310 : undefined,
311 )
312
313 const [state, setState] = createStore<TCombinedResult>(
314 observer.getOptimisticResult(
315 defaultedQueries(),
316 (queriesOptions() as QueriesObserverOptions<TCombinedResult>).combine,
317 )[1](),
318 )
319
320 createRenderEffect(
321 on(
322 () => queriesOptions().queries.length,
323 () =>
324 setState(
325 observer.getOptimisticResult(
326 defaultedQueries(),
327 (queriesOptions() as QueriesObserverOptions<TCombinedResult>)
328 .combine,
329 )[1](),
330 ),
331 ),

Callers 7

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

Calls 11

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

Tested by 6

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